@font-face{font-family:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-arabic-wght-normal-BGhPlozT.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-latin-ext-wght-normal-Dt0qcNQU.woff2) format("woff2-variations");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:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-latin-wght-normal-B08XF_rv.woff2) format("woff2-variations");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{--font-sans: "Cairo Variable", "Cairo", "Segoe UI", Tahoma, sans-serif;--font-mono: "Cascadia Mono", "Consolas", "Segoe UI Mono", monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-base: .9375rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.625rem;--fs-3xl: 2rem;--fs-display: 2.5rem;--lh-tight: 1.25;--lh-normal: 1.55;--fw-regular: 450;--fw-medium: 550;--fw-semibold: 650;--fw-bold: 750;--fw-heavy: 850;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--ctl-sm: 32px;--ctl-md: 40px;--ctl-lg: 48px;--ctl-xl: 56px;--sidebar-w: 240px;--sidebar-w-compact: 72px;--topbar-h: 56px;--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .16s;--dur-slow: .22s;--z-sidebar: 20;--z-topbar: 15;--z-popover: 500;--z-modal: 1000;--z-toast: 3000;--brand: #153b32;--brand-2: #1c4a3f;--brand-emerald: #159a72;--brand-emerald-bright: #2fc08e;--brand-cream: #f4f6f3}:root,:root[data-theme=light]{color-scheme:light;--bg: #f4f6f3;--surface: #fbfcfa;--surface-raised: #ffffff;--surface-sunken: #edf1ec;--surface-hover: #eef3ef;--surface-selected: #e3f4ec;--overlay: rgba(12, 22, 19, .48);--border: #dce3dd;--border-strong: #c3cdc5;--border-focus: #12825f;--text: #17231f;--text-2: #4a5953;--text-3: #5f6e67;--text-disabled: #98a59f;--text-inverse: #ffffff;--accent: #12825f;--accent-hover: #0e6e50;--accent-pressed: #0b5c43;--on-accent: #ffffff;--accent-soft: #e3f4ec;--accent-soft-hover: #d3ede1;--accent-text: #0e6b4f;--accent-border: #9fd6bf;--success: #1f8a4c;--success-soft: #e4f4ea;--success-text: #17703d;--success-border: #a8d9b8;--warning: #b8650b;--warning-soft: #fcf1e3;--warning-text: #9a5a0b;--warning-border: #efc58f;--danger: #c2362b;--danger-hover: #a92d23;--danger-soft: #fbeae8;--danger-text: #a23b2e;--danger-border: #f0b7b0;--info: #2563a6;--info-soft: #e6eff8;--info-text: #1f5590;--info-border: #b3cbe6;--purple-soft: #efeafa;--purple-text: #5b3fa6;--on-solid: #ffffff;--shadow-1: 0 1px 2px rgba(16, 32, 26, .05), 0 1px 1px rgba(16, 32, 26, .03);--shadow-2: 0 6px 18px rgba(16, 32, 26, .1), 0 2px 4px rgba(16, 32, 26, .05);--shadow-3: 0 24px 48px rgba(10, 24, 19, .2), 0 4px 12px rgba(10, 24, 19, .08);--focus-ring: 0 0 0 3px rgba(21, 154, 114, .38);--sidebar-bg: #153b32;--sidebar-border: #10302a;--sidebar-text: #c2d3cb;--sidebar-text-strong: #ffffff;--sidebar-muted: #86a398;--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-active-bg: rgba(47, 192, 142, .16);--sidebar-active-text: #ffffff;--sidebar-active-bar: #2fc08e;--scrollbar: rgba(23, 35, 31, .18);--scrollbar-hover: rgba(23, 35, 31, .32);--chart-1: #12825f;--chart-2: #2563a6;--chart-3: #b8650b;--chart-4: #5b3fa6;--chart-5: #c2362b;--chart-track: #e5ebe6}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1412;--surface: #131c19;--surface-raised: #18231f;--surface-sunken: #0f1714;--surface-hover: #1d2a25;--surface-selected: #133328;--overlay: rgba(2, 6, 5, .66);--border: #26332e;--border-strong: #35463f;--border-focus: #34c391;--text: #e7eeea;--text-2: #a9b7b0;--text-3: #8a9993;--text-disabled: #5d6b65;--text-inverse: #0d1412;--accent: #34c391;--accent-hover: #4bd3a2;--accent-pressed: #27a97b;--on-accent: #06231a;--accent-soft: #123329;--accent-soft-hover: #164135;--accent-text: #5fd3a6;--accent-border: #23624d;--success: #2c9a5b;--success-soft: #11291c;--success-text: #6cd497;--success-border: #245c3b;--warning: #c27a1f;--warning-soft: #2b2112;--warning-text: #e9a64b;--warning-border: #5f4420;--danger: #c9473c;--danger-hover: #d9584c;--danger-soft: #2e1715;--danger-text: #f08a7e;--danger-border: #6b2c26;--info: #3a7cc2;--info-soft: #132233;--info-text: #86b6ea;--info-border: #284868;--purple-soft: #221b33;--purple-text: #b9a3f0;--on-solid: #ffffff;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 22px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--shadow-3: 0 28px 56px rgba(0, 0, 0, .6), 0 6px 16px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(52, 195, 145, .42);--sidebar-bg: #0a110f;--sidebar-border: #1c2723;--sidebar-text: #a9b9b2;--sidebar-text-strong: #f0f5f2;--sidebar-muted: #6f817a;--sidebar-hover: rgba(255, 255, 255, .05);--sidebar-active-bg: rgba(52, 195, 145, .14);--sidebar-active-text: #ffffff;--sidebar-active-bar: #34c391;--scrollbar: rgba(231, 238, 234, .16);--scrollbar-hover: rgba(231, 238, 234, .3);--chart-1: #34c391;--chart-2: #6aa6e6;--chart-3: #e9a64b;--chart-4: #b9a3f0;--chart-5: #f08a7e;--chart-track: #22302b}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #0d1412;--surface: #131c19;--surface-raised: #18231f;--surface-sunken: #0f1714;--border: #26332e;--border-strong: #35463f;--text: #e7eeea;--text-2: #a9b7b0;--text-3: #8a9993}}:root{--bg-primary: var(--surface-sunken);--bg-secondary: var(--surface-raised);--bg-card: var(--surface-raised);--bg-main: var(--surface-sunken);--bg-input: var(--surface-raised);--border-color: var(--border);--border-active: var(--border-focus);--text-primary: var(--text);--text-main: var(--text);--text-secondary: var(--text-2);--text-muted: var(--text-3);--accent-blue: var(--info-text);--accent-blue-hover: var(--info);--accent-emerald: var(--accent-text);--accent-rose: var(--danger-text);--accent-amber: var(--warning-text);--accent-purple: var(--purple-text);--accent-primary: var(--accent);--accent-danger: var(--danger);--glass-bg: var(--surface-raised);--glass-border: var(--border);--glass-shadow: var(--shadow-1);--blur-effect: none;--font-family: var(--font-sans);--transition-smooth: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{height:100vh;overflow:hidden;direction:rtl;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}h1,h2,h3,h4{font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea{line-height:1.4}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}::placeholder{color:var(--text-3);opacity:.85}::selection{background:var(--accent-soft-hover);color:var(--text)}:focus{outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}tr[tabindex]:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}table{border-collapse:collapse}.num,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;unicode-bidi:isolate}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:.01em;unicode-bidi:isolate;direction:ltr}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--r-pill);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),fill var(--dur-base) var(--ease-out)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ltr{direction:ltr;unicode-bidi:isolate}.ltr-id{direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums}.btn{--btn-bg: var(--surface-raised);--btn-fg: var(--text);--btn-border: var(--border-strong);--btn-bg-hover: var(--surface-hover);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--ctl-md);padding:0 var(--sp-4);border:1px solid var(--btn-border);border-radius:var(--r-sm);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.2;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-smooth)}.btn:hover:not(:disabled){background:var(--btn-bg-hover)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{--btn-bg: var(--accent);--btn-fg: var(--on-accent);--btn-border: var(--accent);--btn-bg-hover: var(--accent-hover)}.btn-secondary{--btn-bg: var(--surface-raised);--btn-fg: var(--text);--btn-border: var(--border-strong);--btn-bg-hover: var(--surface-hover)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--text-2);--btn-border: transparent;--btn-bg-hover: var(--surface-hover)}.btn-ghost:hover:not(:disabled){color:var(--text)}.btn-success{--btn-bg: var(--success);--btn-fg: var(--on-solid);--btn-border: var(--success);--btn-bg-hover: color-mix(in srgb, var(--success) 88%, black)}.btn-danger{--btn-bg: var(--danger);--btn-fg: var(--on-solid);--btn-border: var(--danger);--btn-bg-hover: var(--danger-hover)}.btn-danger-soft{--btn-bg: var(--danger-soft);--btn-fg: var(--danger-text);--btn-border: var(--danger-border);--btn-bg-hover: color-mix(in srgb, var(--danger-soft) 80%, var(--danger) 20%)}.btn-warning-soft{--btn-bg: var(--warning-soft);--btn-fg: var(--warning-text);--btn-border: var(--warning-border);--btn-bg-hover: color-mix(in srgb, var(--warning-soft) 82%, var(--warning) 18%)}.btn-accent-soft{--btn-bg: var(--accent-soft);--btn-fg: var(--accent-text);--btn-border: var(--accent-border);--btn-bg-hover: var(--accent-soft-hover)}.btn-sm{min-height:var(--ctl-sm);padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{min-height:var(--ctl-lg);padding:0 var(--sp-5);font-size:var(--fs-lg)}.btn-block{width:100%}.btn-icon{width:var(--ctl-md);min-width:var(--ctl-md);padding:0}.btn-icon.btn-sm{width:var(--ctl-sm);min-width:var(--ctl-sm)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ctl-sm);height:var(--ctl-sm);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-3);transition:var(--transition-smooth)}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.form-group,.field{display:flex;flex-direction:column;gap:6px}.form-group label,.field-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2)}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.field-hint.is-warning{color:var(--warning-text);font-weight:var(--fw-semibold)}.field-error{font-size:var(--fs-xs);color:var(--danger-text);font-weight:var(--fw-semibold)}.form-input,.form-control,.input,.admin-search-input,select.form-input{width:100%;min-height:var(--ctl-md);padding:8px 12px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-md);transition:var(--transition-smooth)}textarea.form-input,textarea.form-control,textarea.input{min-height:72px;resize:vertical}.form-input:hover,.form-control:hover,.input:hover,.admin-search-input:hover{border-color:color-mix(in srgb,var(--border-strong) 60%,var(--text-3))}.form-input:focus,.form-control:focus,.input:focus,.admin-search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.form-input:disabled,.input:disabled{background:var(--surface-sunken);color:var(--text-3);cursor:not-allowed}.input-lg{min-height:var(--ctl-lg);font-size:var(--fs-lg)}.input-money{font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);text-align:center;font-size:var(--fs-xl)}.input-invalid{border-color:var(--danger)!important}select{background-color:var(--surface-raised);color:var(--text)}.search-field{position:relative;display:flex;align-items:center;width:100%}.search-field>svg{position:absolute;inset-inline-start:12px;color:var(--text-3);pointer-events:none}.search-field>input{padding-inline-start:38px}.card,.admin-card,.panel-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.admin-card{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.card-subtitle{font-size:var(--fs-sm);color:var(--text-3)}.card-body{padding:var(--sp-5)}.card-footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}.card-flush{padding:0;overflow:hidden}.stat-grid,.stats-grid,.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-4)}.stat-card,.admin-stat-card{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);min-width:0}.stat-icon,.admin-stat-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-text)}.stat-info,.admin-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label,.admin-stat-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3)}.stat-value,.admin-stat-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-meta{font-size:var(--fs-xs);color:var(--text-3)}.tone-accent{--tone-bg: var(--accent-soft);--tone-fg: var(--accent-text)}.tone-success{--tone-bg: var(--success-soft);--tone-fg: var(--success-text)}.tone-warning{--tone-bg: var(--warning-soft);--tone-fg: var(--warning-text)}.tone-danger{--tone-bg: var(--danger-soft);--tone-fg: var(--danger-text)}.tone-info{--tone-bg: var(--info-soft);--tone-fg: var(--info-text)}.tone-purple{--tone-bg: var(--purple-soft);--tone-fg: var(--purple-text)}.tone-neutral{--tone-bg: var(--surface-sunken);--tone-fg: var(--text-2)}[class*=tone-] .stat-icon,.stat-icon[class*=tone-]{background:var(--tone-bg);color:var(--tone-fg)}.table-wrap,.admin-table-wrapper,.table-responsive{width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised)}.table,.admin-table,.data-table{color:var(--text);width:100%;border-collapse:separate;border-spacing:0;text-align:start;font-size:var(--fs-md)}.table th,.admin-table th,.data-table th{position:sticky;top:0;z-index:1;padding:10px 14px;background:var(--surface-sunken);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-align:start;white-space:nowrap;border-bottom:1px solid var(--border)}.table td,.admin-table td,.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td,.admin-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td,.admin-table tbody tr:hover td,.data-table tbody tr:hover td{background:var(--surface-hover)}.table tr.is-selected td,.admin-table tr.is-selected td{background:var(--surface-selected)}.table td.num,.table th.num,.admin-table td.num,.admin-table th.num{text-align:end;white-space:nowrap}.admin-table td.actions{display:flex;gap:var(--sp-2)}.table-empty{padding:var(--sp-8) var(--sp-4)!important;text-align:center!important;color:var(--text-3)!important}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-3)}.pagination-info{font-size:var(--fs-sm);color:var(--text-3)}.pagination-buttons{display:flex;gap:var(--sp-2)}.badge,.badge-role,.bs-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1;white-space:nowrap;background:var(--surface-sunken);color:var(--text-2);border:1px solid var(--border)}.badge-accent,.badge-role.cashier{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-border)}.badge-success{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.badge-warning{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.badge-danger{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.badge-info,.badge-role.admin,.bs-badge-blue{background:var(--info-soft);color:var(--info-text);border-color:var(--info-border)}.badge-purple,.badge-role.manager{background:var(--purple-soft);color:var(--purple-text);border-color:transparent}.bs-badge-gray{background:var(--surface-sunken);color:var(--text-2)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.kbd,.shortcut-key,.shortcut-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--r-xs);background:var(--surface-raised);color:var(--text-2);font-family:var(--font-mono);font-size:11px;font-weight:700;direction:ltr;white-space:nowrap}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-sm)}.segmented button{min-height:30px;padding:0 var(--sp-3);border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:var(--transition-smooth)}.segmented button:hover{color:var(--text)}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--accent-text);box-shadow:var(--shadow-1)}.admin-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:3px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-sm);width:fit-content}.admin-tab-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 var(--sp-3);border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:var(--transition-smooth)}.admin-tab-btn:hover{color:var(--text)}.admin-tab-btn.active{background:var(--surface-raised);color:var(--accent-text);box-shadow:var(--shadow-1)}.notice{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-2);font-size:var(--fs-sm)}.notice>svg{flex-shrink:0;margin-top:2px}.notice-info{background:var(--info-soft);border-color:var(--info-border);color:var(--info-text)}.notice-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success-text)}.notice-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text)}.notice-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-6);text-align:center;color:var(--text-3)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--sp-2);border-radius:50%;background:var(--surface-sunken);color:var(--text-3)}.empty-state-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.empty-state-text{max-width:420px;font-size:var(--fs-md)}.spinner,.spin{animation:hm-spin .8s linear infinite}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%}@keyframes hm-spin{to{transform:rotate(360deg)}}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-8);color:var(--text-3);font-size:var(--fs-md)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:6vh var(--sp-4) var(--sp-6);overflow-y:auto;background:var(--overlay);animation:hm-fade var(--dur-base) var(--ease-out)}.modal-content{position:relative;display:flex;flex-direction:column;gap:var(--sp-4);width:480px;max-width:100%;margin:0 auto;padding:var(--sp-6);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);animation:hm-rise var(--dur-base) var(--ease-out)}.modal-content.modal-wide{width:720px}.modal-content.modal-xl{width:960px}.modal-header{display:flex;flex-direction:column;gap:4px;text-align:start}.modal-header h2,.modal-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text)}.modal-header p,.modal-description{font-size:var(--fs-md);color:var(--text-3)}.modal-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--sp-2);border-radius:var(--r-md);background:var(--tone-bg, var(--accent-soft));color:var(--tone-fg, var(--accent-text))}.modal-body{display:flex;flex-direction:column;gap:var(--sp-4)}.modal-footer{display:flex;gap:var(--sp-3);justify-content:flex-end;padding-top:var(--sp-4);border-top:1px solid var(--border)}.modal-footer .btn{min-width:112px}.modal-close{position:absolute;top:var(--sp-4);inset-inline-end:var(--sp-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.form-grid .span-2{grid-column:1 / -1}@keyframes hm-fade{0%{opacity:0}to{opacity:1}}@keyframes hm-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;top:16px;left:50%;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--sp-3);max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:var(--r-md);border:1px solid var(--success-border);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);transform:translate(-50%);animation:hm-toast var(--dur-slow) var(--ease-out)}.toast-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--success-soft);color:var(--success-text)}.toast.toast-error{border-color:var(--danger-border)}.toast.toast-error .toast-icon{background:var(--danger-soft);color:var(--danger-text)}.toast.toast-warning{border-color:var(--warning-border)}.toast.toast-warning .toast-icon{background:var(--warning-soft);color:var(--warning-text)}.toast-text{white-space:pre-line}@keyframes hm-toast{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.popover,.dropdown-menu{position:absolute;z-index:var(--z-popover);min-width:220px;padding:var(--sp-1);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);animation:hm-pop var(--dur-fast) var(--ease-out)}.dropdown-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:38px;padding:6px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--fs-md);text-align:start;cursor:pointer}.dropdown-item:hover,.dropdown-item.is-active{background:var(--surface-hover)}.dropdown-item.danger{color:var(--danger-text)}.dropdown-sep{height:1px;margin:4px 6px;background:var(--border)}@keyframes hm-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-muted{color:var(--text-3)}.text-2{color:var(--text-2)}.text-success{color:var(--success-text)}.text-danger{color:var(--danger-text)}.text-warning{color:var(--warning-text)}.text-accent{color:var(--accent-text)}.text-center{text-align:center}.fw-bold{font-weight:var(--fw-bold)}.row{display:flex;align-items:center;gap:var(--sp-3)}.row-wrap{flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.divider{height:1px;background:var(--border);border:none}.dialog-message{font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:1.7;color:var(--text);white-space:pre-line}.dialog-alert .modal-footer{border-top:none;padding-top:0}.btn .kbd{height:20px;min-width:0;font-size:10px;background:color-mix(in srgb,currentColor 12%,transparent);border-color:color-mix(in srgb,currentColor 30%,transparent);color:inherit}.audit-summary{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-sunken);border:1px solid var(--border)}.audit-expected{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--border-strong);font-weight:var(--fw-semibold);color:var(--text-2)}.audit-expected strong{font-size:var(--fs-xl);color:var(--accent-text)}.th-sort{display:inline-flex;align-items:center;gap:4px}.sort-indicator{font-size:9px;color:var(--accent-text)}th.sortable:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.pagination-page{align-self:center;padding:0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.cell-actions{display:flex;gap:var(--sp-1);justify-content:flex-end}.cell-strong{font-weight:var(--fw-semibold);color:var(--text)}.cell-muted{color:var(--text-3)}.money-strong{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.cell-sub{display:block;font-size:var(--fs-xs);color:var(--text-3)}td.mono{text-align:start}.segmented.segmented-lg button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--sp-4);font-size:var(--fs-md)}.segmented{width:fit-content;max-width:100%;flex-wrap:wrap}.table td.table-separator{padding:10px 14px;background:var(--warning-soft)!important;color:var(--warning-text);font-size:var(--fs-sm);border-top:1px dashed var(--warning-border);border-bottom:1px dashed var(--warning-border)}.table td.table-separator>*{vertical-align:middle;margin-inline-end:8px}.modal-overlay{align-items:center;padding:var(--sp-4)}.modal-content{max-height:calc(100vh - 2 * var(--sp-4));overflow-y:auto;overscroll-behavior:contain}.modal-content.modal-scroll:has(>.modal-body),.modal-content.modal-scroll:has(>form>.modal-body){overflow:hidden}.modal-content.modal-scroll .modal-body{overflow-y:auto;min-height:0;flex:1;padding-inline-end:2px}.till-section{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-sunken)}.till-section[class*=tone-]{background:var(--tone-bg);border-color:color-mix(in srgb,var(--tone-fg) 25%,transparent)}.till-section-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--tone-fg, var(--text))}.grand-total{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--brand);color:#d4e5dd}[data-theme=dark] .grand-total{background:#0f2a23;border:1px solid var(--border)}.grand-total>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm)}.grand-total strong{font-size:var(--fs-2xl);color:#fff}.grand-total .btn{flex:1}.kv dt .check-row{font-weight:var(--fw-medium)}.pin-field{text-align:center;letter-spacing:.4em;font-weight:var(--fw-bold)}input[data-computed=true]{background:var(--surface-sunken);font-weight:var(--fw-bold)}.modal-content.modal-auto-scroll{max-height:calc(100vh - 48px);overflow-y:auto}.stat-card.is-text .stat-value{font-size:var(--fs-lg);white-space:normal;line-height:1.35}.phone-fields{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.phone-fields legend{font-weight:600;margin-bottom:4px}.phone-row{display:flex;align-items:center;gap:8px}.phone-row .form-input{flex:1}.phone-add{align-self:flex-start}.password-input{position:relative;display:flex}.password-input .input{flex:1;padding-inline-start:40px}.password-toggle{position:absolute;inset-inline-start:6px;top:50%;transform:translateY(-50%)}.recovery-code{display:block;padding:var(--sp-4);border:2px dashed var(--accent-border);border-radius:var(--r-md);background:var(--surface-sunken);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.35rem;font-weight:var(--fw-bold);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all}.recovery-tips{margin:0;padding-inline-start:1.2em;color:var(--text-2);font-size:var(--fs-sm)}.recovery-notice h1{display:flex;align-items:center;gap:8px}.recovery-input{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.05em}.invoice-action-page{max-width:720px}.return-lookup{display:flex;align-items:flex-end;gap:var(--sp-2)}.return-lookup .field{flex:1}.return-sale{margin:0;color:var(--text-2)}.return-items{max-height:220px;overflow:auto}.return-items tr.is-muted{opacity:.5}.address-fields{display:flex;flex-direction:column;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3)}.address-fields legend{padding:0 var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2)}.address-row{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-sunken)}.address-row.is-default{border-color:var(--accent-border)}.address-row-head{display:flex;align-items:center;gap:var(--sp-2)}.address-row-head .address-label{flex:0 0 auto;width:auto}.address-row-head .icon-btn{margin-inline-start:auto}.address-add{align-self:flex-start}.address-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.address-list li{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.categories-page{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:1100px){.categories-page{grid-template-columns:1fr}}.category-form{display:flex;flex-direction:column;gap:var(--sp-2);border-bottom:1px solid var(--border)}.category-items{list-style:none;margin:0;padding:var(--sp-2);display:flex;flex-direction:column;gap:2px;max-height:65vh;overflow:auto}.category-item{display:flex;align-items:center;gap:var(--sp-1);border-radius:var(--r-sm)}.category-item.is-selected{background:var(--accent-soft)}.category-item.is-stopped .category-name{color:var(--text-3);text-decoration:line-through}.category-pick{flex:1;display:flex;align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2);border:none;background:transparent;color:var(--text);text-align:start;border-radius:var(--r-sm)}.category-pick:focus-visible{outline:none;box-shadow:var(--focus-ring)}.category-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold)}.found-products{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.found-products li{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--surface-sunken)}.category-actions{flex-wrap:wrap;align-items:center}.category-actions .form-input{width:auto}.store-problem{display:flex;flex-direction:column;gap:var(--sp-3)}.store-problem .lock-title{display:flex;align-items:center;gap:var(--sp-2);color:var(--warning-text)}.store-problem-steps{margin:0;padding-inline-start:var(--sp-5);display:grid;gap:var(--sp-2);line-height:1.6}.store-problem-path{text-align:left;font-family:var(--font-mono, monospace);margin-top:calc(-1 * var(--sp-2))}.product-picker{display:flex;flex-direction:column;gap:var(--sp-2)}.product-picker-field{position:relative}.product-picker-field svg{position:absolute;top:50%;inset-inline-start:var(--sp-3);transform:translateY(-50%);color:var(--text-3);pointer-events:none}.product-picker-field .form-input{padding-inline-start:calc(var(--sp-3) + 24px)}.product-picker-list{max-height:232px;margin:0;padding:var(--sp-1);overflow-y:auto;overscroll-behavior:contain;list-style:none;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.product-picker-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer}.product-picker-item.is-active{background:var(--surface-hover)}.product-picker-item.is-added{cursor:default;opacity:.55}.product-picker-name{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.product-picker-empty{padding:var(--sp-3);color:var(--text-3);text-align:center}.shift-roles{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md)}.shift-roles legend{padding-inline:var(--sp-1)}.shift-roles .check-row.is-disabled{color:var(--text-3)}.kind-select{align-items:stretch}.kind-select select{flex:1;min-width:0}.measure-kinds-table tr.is-muted td{color:var(--text-3)}.measure-kinds-table .row-actions{white-space:nowrap;text-align:end}.import-steps{margin:0;padding-inline-start:20px;line-height:1.9}.import-errors{max-height:360px;overflow-y:auto}label.btn.is-disabled{pointer-events:none;opacity:.6}.stat-value.is-long{font-size:var(--fs-xl)}.stat-value.is-longer{font-size:var(--fs-lg)}.stat-value.is-longest{font-size:var(--fs-md)}.purchase-lines,.fit-table{width:100%;table-layout:fixed}.purchase-lines th,.purchase-lines td,.fit-table th,.fit-table td{overflow-wrap:anywhere;vertical-align:top}.purchase-lines input,.purchase-lines select,.fit-table input:not([type=checkbox]),.fit-table select{width:100%;min-width:0}.purchase-lines .price-pair-label{display:block;font-size:var(--fs-xs, .75rem);color:var(--text-3);margin-top:2px}@media(max-width:1280px){.table th,.admin-table th,.data-table th{white-space:normal;padding:8px}.table td,.admin-table td,.data-table td{padding:8px;font-size:var(--fs-sm)}.table td.nowrap,.admin-table td.nowrap,.data-table td.nowrap,.table th.num,.admin-table th.num,.data-table th.num{white-space:normal}}@media(max-width:1280px){.label-wide{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-width:1100px){.table th,.admin-table th,.data-table th,.table td,.admin-table td,.data-table td{padding:6px}}.row-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.unit-auto{display:flex;align-items:center;gap:4px;margin-bottom:4px;font-size:var(--fs-xs)}.row-reserved td{background:var(--info-soft, rgba(59, 130, 246, .08))}.reserved-why{max-width:260px;margin-top:4px;font-size:var(--fs-xs);white-space:normal}.app-shell{display:flex;height:100vh;background:var(--bg);overflow:hidden}.sidebar{position:relative;z-index:var(--z-sidebar);display:flex;flex-direction:column;flex-shrink:0;width:var(--sidebar-w);height:100%;background:var(--sidebar-bg);border-inline-end:1px solid var(--sidebar-border);color:var(--sidebar-text);transition:width var(--dur-slow) var(--ease-out)}.sidebar.is-compact{width:var(--sidebar-w-compact)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-4);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar.is-compact .sidebar-brand{justify-content:center;padding:0}.sidebar-brand .brand-mark{flex-shrink:0;border-radius:10px;box-shadow:0 0 0 1px #ffffff14}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.sidebar-brand-sub{font-size:var(--fs-xs);color:var(--sidebar-muted)}.wordmark{display:inline-flex;align-items:baseline;gap:1px;font-size:1.125rem;color:var(--sidebar-text-strong);letter-spacing:-.01em;white-space:nowrap}.wordmark-hero{font-weight:850}.wordmark-market{font-weight:500}.wordmark-tag{margin-inline-start:6px;padding:1px 5px;border-radius:4px;background:var(--brand-emerald-bright);color:#06231a;font-size:.625rem;font-weight:800;letter-spacing:.06em;transform:translateY(-2px)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-2) var(--sp-3) var(--sp-4);scrollbar-width:thin}.sidebar.is-compact .sidebar-nav{padding-inline:var(--sp-2)}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff24;border:3px solid transparent;background-clip:content-box}.sidebar-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:2px}.nav-group-label{padding:var(--sp-3) var(--sp-3) 6px;font-size:.6875rem;font-weight:var(--fw-bold);color:var(--sidebar-muted);letter-spacing:.02em}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-2) var(--sp-3) 4px;border:none;border-radius:var(--r-xs);background:transparent;color:var(--sidebar-muted);font-size:.6875rem;font-weight:var(--fw-bold);letter-spacing:.02em;text-align:start;cursor:pointer}.nav-group-toggle:hover:not(:disabled){color:var(--sidebar-text-strong)}.nav-group-toggle:disabled{cursor:default}.nav-group-toggle:focus-visible{outline:2px solid var(--sidebar-active-bar);outline-offset:-2px}.nav-group-chevron{transition:transform var(--dur-fast) var(--ease-out)}.nav-group-chevron.is-folded{transform:rotate(90deg)}.nav-group-sep{height:1px;margin:var(--sp-2) var(--sp-3);background:#ffffff14}.nav-group:first-child .nav-group-sep{display:none}.nav-item{position:relative;display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:36px;padding:0 var(--sp-3);border:none;border-radius:var(--r-sm);background:transparent;color:var(--sidebar-text);font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:start;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-item svg{flex-shrink:0;opacity:.9}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.nav-item:focus-visible{outline:2px solid var(--sidebar-active-bar);outline-offset:-2px}.nav-item.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--fw-bold)}.nav-item.is-active:before{content:"";position:absolute;inset-inline-start:-12px;top:8px;bottom:8px;width:4px;border-radius:4px;background:var(--sidebar-active-bar)}.nav-item.is-active svg{color:var(--sidebar-active-bar);opacity:1}.nav-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.is-compact .nav-item{justify-content:center;padding:0;min-height:44px}.sidebar.is-compact .nav-item.is-active:before{inset-inline-start:-8px}.sidebar-footer{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);border-top:1px solid rgba(255,255,255,.06)}.sidebar.is-compact .sidebar-footer{align-items:center;padding:var(--sp-3) var(--sp-2)}.theme-toggle,.sidebar-collapse{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:38px;padding:0 var(--sp-3);border:none;border-radius:var(--r-sm);background:transparent;color:var(--sidebar-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background-color var(--dur-fast) var(--ease-out)}.theme-toggle:hover,.sidebar-collapse:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.theme-toggle:focus-visible,.sidebar-collapse:focus-visible{outline:2px solid var(--sidebar-active-bar);outline-offset:-2px}.theme-toggle.is-compact,.sidebar.is-compact .sidebar-collapse{justify-content:center;width:44px;padding:0}.theme-toggle-icon{display:inline-flex}.sidebar-version{padding:4px var(--sp-3) 0;font-size:var(--fs-xs);color:var(--sidebar-muted);font-variant-numeric:tabular-nums}.app-main{display:flex;flex-direction:column;flex:1;min-width:0;height:100%}.topbar{position:relative;z-index:var(--z-topbar);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--topbar-h);padding:0 var(--sp-5);flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.topbar-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-text);flex-shrink:0}.topbar-title-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.topbar-crumb{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3)}.topbar-title h1{font-size:var(--fs-lg);font-weight:var(--fw-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.topbar-clock{display:flex;flex-direction:column;align-items:flex-end;padding-inline-end:var(--sp-3);margin-inline-end:var(--sp-1);border-inline-end:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);line-height:1.2}.topbar-clock strong{font-size:var(--fs-md);color:var(--text)}.shift-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.shift-chip.is-open{background:var(--success-soft);color:var(--success-text)}.shift-chip.is-open .dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent)}.shift-chip.is-closed{background:var(--warning-soft);color:var(--warning-text)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-2) 0 var(--sp-2);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);transition:var(--transition-smooth)}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:var(--surface-hover);border-color:var(--border)}.user-menu-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.user-menu-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.user-menu-name{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-role{font-size:var(--fs-xs);color:var(--text-3)}.user-menu-dropdown{top:calc(100% + 6px);inset-inline-end:0;min-width:260px}.app-content{position:relative;flex:1;min-height:0;overflow:auto}.page{display:flex;flex-direction:column;gap:var(--sp-5);max-width:1480px;margin:0 auto;padding:var(--sp-6)}@media(max-width:1180px){.topbar{padding:0 var(--sp-4)}.topbar-clock{display:none}.page{padding:var(--sp-4);gap:var(--sp-4)}}@media(max-width:1060px){.hide-sm,.user-menu-text{display:none}}.sidebar-nav{scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.18) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:transparent;border:none}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:6px}.pos{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,30vw,380px);grid-template-rows:minmax(0,1fr);gap:var(--sp-4);height:100%;padding:var(--sp-4);min-height:0}.pos-main{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0;min-height:0}.pos-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3);flex-shrink:0}.scan-field{position:relative;display:flex;align-items:center}.scan-icon{position:absolute;inset-inline-start:14px;color:var(--accent-text);pointer-events:none}.scan-input{width:100%;height:var(--ctl-xl);padding-inline:48px 176px;border:2px solid var(--accent-border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:.02em;box-shadow:var(--shadow-1);transition:var(--transition-smooth)}.scan-input::placeholder{font-weight:var(--fw-medium);letter-spacing:0}.scan-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.scan-enter{position:absolute;inset-inline-end:12px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--text-3)}.scan-input:focus~.scan-enter{background:var(--accent-soft);color:var(--accent-text)}.product-search{position:relative}.product-search .search-input{height:var(--ctl-xl);border-radius:var(--r-md);padding-inline-end:132px;font-size:var(--fs-base);box-shadow:var(--shadow-1)}.search-meta{position:absolute;inset-inline-end:46px;display:flex;align-items:center;gap:var(--sp-2);pointer-events:none}.search-count{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}.search-results{top:calc(100% + 6px);inset-inline:0;max-height:min(420px,60vh);overflow-y:auto;padding:6px}.results-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:4px 6px 8px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--warning-text)}.results-empty{padding:var(--sp-6) var(--sp-3);text-align:center;font-size:var(--fs-md);color:var(--text-3)}.result-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:9px 10px;border-radius:var(--r-sm);cursor:pointer}.result-item+.result-item{margin-top:2px}.result-item:hover{background:var(--surface-hover)}.result-item.is-active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border)}.result-info,.result-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.result-meta{align-items:flex-end;flex-shrink:0}.result-name{font-weight:var(--fw-semibold);color:var(--text)}.result-code{font-size:var(--fs-xs);color:var(--text-3);text-align:start}.result-price{font-weight:var(--fw-bold);color:var(--accent-text)}.result-stock{font-size:var(--fs-xs);color:var(--text-3)}.result-stock.is-low{color:var(--danger-text);font-weight:var(--fw-bold)}.cart{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.cart-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.cart-title h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);white-space:nowrap}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:color-mix(in srgb,currentColor 14%,transparent);font-size:var(--fs-xs)}.cart-scroll{flex:1;min-height:0;overflow-y:auto}.cart-table{width:100%;border-collapse:separate;border-spacing:0}.cart-table th{position:sticky;top:0;z-index:1;padding:8px 12px;background:var(--surface-sunken);border-bottom:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:start;white-space:nowrap}.cart-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.cart-table tbody tr:hover td{background:var(--surface-hover)}.cart-table .col-idx{width:40px;color:var(--text-3);font-size:var(--fs-sm)}.cart-table .col-name{min-width:0}.line-name{display:block;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);line-height:1.35}.line-code{display:block;font-size:var(--fs-xs);color:var(--text-3);text-align:start}.cart-table .col-price,.cart-table .col-total{width:1%;white-space:nowrap;text-align:end}.cart-table th.col-price,.cart-table th.col-total{text-align:end}.cart-table td.col-price{color:var(--text-2)}.cart-table td.col-total{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.cart-table .col-qty{width:1%;white-space:nowrap;text-align:center}.cart-table .col-del{width:44px;text-align:center}.qty-stepper{display:inline-flex;align-items:stretch;height:36px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);overflow:hidden}.qty-stepper:focus-within{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.qty-btn{display:flex;align-items:center;justify-content:center;width:30px;border:none;background:var(--surface-sunken);color:var(--text-2);transition:var(--transition-smooth)}.qty-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.qty-btn:disabled{opacity:.35;cursor:not-allowed}.qty-input{width:64px;border:none;border-inline:1px solid var(--border);background:transparent;color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-bold);text-align:center}.qty-input:focus{outline:none;background:var(--accent-soft)}.line-unit{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-3)}.line-weight-btn{display:block;margin:3px auto 0;padding:1px 8px;font:inherit;font-size:var(--fs-xs);color:var(--accent);background:var(--accent-soft);border:0;border-radius:var(--r-pill);cursor:pointer}.line-weight-btn:hover{background:var(--accent-soft-hover)}.line-weight-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.line-unit-select{display:block;margin:3px auto 0;max-width:120px;padding:1px 4px;font:inherit;font-size:var(--fs-xs);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xs)}.line-unit-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;min-height:180px;padding:var(--sp-6);text-align:center;color:var(--text-3)}.cart-empty strong{font-size:var(--fs-lg);color:var(--text-2)}.cart-empty-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--sp-2);border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.pos-hints{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-4);padding:8px var(--sp-4);border-top:1px solid var(--border);background:var(--surface);font-size:var(--fs-xs);color:var(--text-3);flex-shrink:0}.pos-hints span{display:inline-flex;align-items:center;gap:6px}.shortages{position:relative}.shortages-popover{top:calc(100% + 6px);inset-inline-end:0;width:340px;padding:var(--sp-3)}.shortages-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2);font-size:var(--fs-md)}.shortages-list{list-style:none;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-sm)}.shortages-list li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:7px 10px;font-size:var(--fs-sm)}.shortages-list li+li{border-top:1px solid var(--border)}.shortages-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.shortages-actions .btn{flex:1}.shortages-ok{padding:var(--sp-3) 0;color:var(--success-text);font-size:var(--fs-sm)}.pos-checkout{display:flex;flex-direction:column;min-height:0;overflow:hidden}.due{padding:var(--sp-4) var(--sp-5) var(--sp-3);background:var(--brand);color:#e9f2ee;flex-shrink:0}[data-theme=dark] .due{background:#0f2a23;border-bottom:1px solid var(--border)}.due-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:#a9c8bc}.due-amount{display:flex;align-items:baseline;gap:8px;margin-top:2px;font-size:var(--fs-display);font-weight:var(--fw-heavy);line-height:1.1;color:#fff;letter-spacing:-.01em}.due-amount small{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:#a9c8bc}.due-breakdown{display:flex;flex-wrap:wrap;gap:2px var(--sp-4);margin-top:6px;font-size:var(--fs-sm);color:#c4dad1}.due-breakdown div{display:flex;gap:6px}.due-breakdown dd.text-danger{color:#ffb4a9}.due-breakdown dd.text-accent{color:#8ee6c3}.checkout-body{display:flex;flex-direction:column;gap:var(--sp-4);flex:1;min-height:0;overflow-y:auto;padding:var(--sp-4) var(--sp-5)}.section-label{display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-2)}.section-label .text-muted{font-weight:var(--fw-medium);font-size:var(--fs-xs)}.pay-methods{border:none;min-width:0}.pay-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.pay-grid .pay-option{grid-column:span 3}.pay-grid .pay-option:nth-child(n+5){grid-column:span 6;flex-direction:row;gap:8px;min-height:44px}.pay-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 4px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.2;transition:var(--transition-smooth)}.pay-option:hover{border-color:var(--accent-border);color:var(--text)}.pay-option:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pay-option.is-selected{border:2px solid var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:var(--fw-bold)}.money-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.input-amount{min-height:44px;font-size:var(--fs-lg);font-weight:var(--fw-bold);text-align:center}.change-due{display:flex;align-items:center;justify-content:space-between;padding:10px var(--sp-4);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-2);font-size:var(--fs-md)}.change-due strong{font-size:var(--fs-xl);color:var(--text)}.change-due.is-positive{background:var(--warning-soft);color:var(--warning-text)}.change-due.is-positive strong{color:var(--warning-text)}.checkout-note{display:flex;gap:6px;align-items:flex-start;margin-top:calc(var(--sp-2) * -1);font-size:var(--fs-xs);color:var(--info-text)}.checkout-note svg{flex-shrink:0;margin-top:2px}.customer{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px dashed var(--border-strong)}.customer .section-label{margin-bottom:2px}.customer-fields{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.customer .search-field>svg{inset-inline-start:10px}.customer .search-field>input{flex:1;min-width:0;padding-inline-start:32px;min-height:38px}.customer .saved-phones-btn{position:absolute;inset-inline-end:4px;width:30px;height:30px}.customer .search-field:has(.saved-phones-btn)>input{padding-inline-end:36px}.customer-fields>.field-hint{grid-column:1 / -1}.client-results{top:calc(100% + 4px);inset-inline:0;max-height:240px;overflow-y:auto}.client-result{flex-direction:column;align-items:flex-start;gap:2px}.client-result-name{font-weight:var(--fw-bold)}.client-result-meta{display:flex;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-3)}.check-row{display:inline-flex;align-items:center;gap:var(--sp-2);width:fit-content;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2);cursor:pointer}.client-balance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:8px 10px;border-radius:var(--r-sm);background:var(--surface-sunken);font-size:var(--fs-sm)}.deposit-row{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:4px var(--sp-2);padding:8px 10px;border-radius:var(--r-sm);background:var(--warning-soft);color:var(--warning-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.deposit-row .input{min-height:34px;text-align:center}.deposit-row .text-muted{grid-column:1 / -1;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.checkout-actions{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.pay-button{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex:1;min-height:var(--ctl-xl);padding:0 var(--sp-4);border:none;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:var(--fs-lg);font-weight:var(--fw-heavy);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 30%,transparent);transition:var(--transition-smooth)}.pay-button:hover{background:var(--accent-hover)}.pay-button:active{transform:scale(.985)}.pay-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pay-button .kbd{background:transparent;border-color:color-mix(in srgb,var(--on-accent) 55%,transparent);color:var(--on-accent)}.pay-button.is-no-receipt{background:var(--warning);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--warning) 30%,transparent)}.pay-button.is-no-receipt .kbd{color:#fff;border-color:#ffffff59;background:#ffffff24}.receipt-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:74px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);transition:var(--transition-smooth)}.receipt-toggle:hover{background:var(--surface-hover)}.receipt-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.receipt-toggle.is-off{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning-text)}@media(max-width:1180px){.pos{gap:var(--sp-3);padding:var(--sp-3)}.pos-entry{grid-template-columns:1fr 1fr;gap:var(--sp-2)}.scan-input,.product-search .search-input{height:var(--ctl-lg)}.due{padding:var(--sp-3) var(--sp-4) var(--sp-2)}.due-amount{font-size:var(--fs-3xl)}.checkout-body{padding:var(--sp-3) var(--sp-4);gap:var(--sp-3)}.checkout-actions{padding:var(--sp-3) var(--sp-4)}.pay-option{min-height:48px}.cart-table th,.cart-table td{padding-inline:8px}.hide-md{display:none!important}}@media(max-height:700px){.pos-hints{padding-block:5px}.due-breakdown{margin-top:2px}.cart-head{padding-block:6px}}@media(max-height:720px){.due{padding-block:10px 8px}.due-amount{font-size:1.875rem}.checkout-body{gap:10px;padding-block:10px}.section-label{margin-bottom:6px}.pay-grid .pay-option{flex-direction:row;gap:6px;min-height:40px}.input-amount{min-height:38px}.change-due{padding-block:6px}.change-due strong{font-size:var(--fs-lg)}.checkout-actions{padding-block:10px}.pay-button{min-height:var(--ctl-lg)}}.pos-main{position:relative}.category-browser{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-2);animation:browser-in var(--dur-fast) var(--ease-out)}@keyframes browser-in{0%{opacity:0;transform:translateY(6px)}}.browser-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.browser-title{display:inline-flex;align-items:center;gap:var(--sp-1);font-weight:var(--fw-bold)}.browser-cart{margin-inline-start:auto;color:var(--text-2);font-size:var(--fs-sm)}.browser-body{flex:1;min-height:0;display:flex;gap:var(--sp-3)}.browser-cats{display:flex;flex-direction:column;gap:var(--sp-1);width:190px;flex-shrink:0;overflow-y:auto;padding-inline-end:var(--sp-2);border-inline-end:1px solid var(--border);scrollbar-width:thin}.browser-products{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}.cat-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex:0 0 auto;width:100%;min-height:42px;padding:0 var(--sp-3);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);font-weight:var(--fw-semibold);text-align:start;transition:var(--transition-smooth)}.cat-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-chip:hover{background:var(--surface-sunken)}.cat-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.cat-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cat-count{flex-shrink:0;font-size:var(--fs-xs);opacity:.75}.browser-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:min-content;gap:var(--sp-2);align-content:start}.product-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-1);min-height:86px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);text-align:start;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.product-card:hover{border-color:var(--accent-border)}.product-card:active{transform:scale(.98)}.product-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.product-card.in-cart{border-color:var(--accent-border);background:var(--accent-soft)}.product-card.is-added{animation:card-added .42s var(--ease-out)}@keyframes card-added{30%{box-shadow:0 0 0 3px var(--accent)}}.product-card-name{font-weight:var(--fw-semibold);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-1)}.product-card-meta .money{font-weight:var(--fw-bold);color:var(--accent-text)}.product-card-unit{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-xs);color:var(--text-3)}.product-card-packs{position:absolute;top:var(--sp-1);inset-inline-start:var(--sp-1);display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-xs);color:var(--text-3)}.product-card-qty,.product-card-plus{position:absolute;top:var(--sp-1);inset-inline-end:var(--sp-1)}.product-card-qty{min-width:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center}.product-card-plus{color:var(--text-3)}.browser-empty{grid-column:1 / -1;text-align:center;padding:var(--sp-6)}.browser-more{align-self:center}@media(prefers-reduced-motion:reduce){.category-browser,.product-card.is-added{animation:none}}.search-field>select{padding-inline-start:38px}.customer .search-field>select{padding-inline-start:32px;min-height:38px}.cart-head{flex-wrap:wrap;row-gap:var(--sp-2)}.cart-head>.row{flex-wrap:wrap;justify-content:flex-end;margin-inline-start:auto}.product-card{padding-top:26px}.manual-discount-actions{display:flex;gap:var(--sp-2);justify-content:flex-start;margin-top:var(--sp-2)}@media(max-width:720px){.scan-input{padding-inline-end:44px}.scan-field .search-meta{display:none}}.lock{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(1200px 600px at 85% -10%,color-mix(in srgb,var(--brand-emerald) 10%,transparent),transparent 60%),var(--bg);overflow:auto}.lock-theme{position:absolute;top:var(--sp-4);inset-inline-end:var(--sp-4);width:40px!important;min-height:40px!important;border:1px solid var(--border)!important;background:var(--surface-raised)!important;color:var(--text-2)!important}.lock-theme:hover{color:var(--text)!important;background:var(--surface-hover)!important}.lock-card{display:grid;grid-template-columns:1fr 1.1fr;width:min(820px,100%);min-height:520px;background:var(--surface-raised);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-3);overflow:hidden;animation:hm-rise var(--dur-slow) var(--ease-out)}.lock-brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--sp-4);padding:var(--sp-10) var(--sp-8);background:var(--brand);color:#e3eee9;overflow:hidden}.lock-brand:after{content:"";position:absolute;inset-inline-start:-40px;bottom:-30px;width:260px;height:180px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0 6px,transparent 6px 34px);transform:rotate(-8deg);pointer-events:none}.lock-brand .brand-mark{border-radius:18px;box-shadow:0 0 0 1px #ffffff1a,0 12px 28px #00000040}.lock-brand .wordmark{font-size:2rem;color:#fff}.lock-brand .wordmark-tag{font-size:.75rem}.lock-tagline{font-size:var(--fs-lg);color:#b5cec4;max-width:280px}.lock-brand-foot{display:flex;align-items:center;gap:8px;margin-top:auto;font-size:var(--fs-sm);color:#94b3a7}.lock-form{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-5);padding:var(--sp-8) var(--sp-10)}.lock-head h1{font-size:var(--fs-2xl);font-weight:var(--fw-heavy)}.lock-head p{margin-top:4px;color:var(--text-3)}.lock-pin-form{position:relative;display:flex;flex-direction:column;gap:var(--sp-5)}.lock-pin-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pin-dots{display:flex;justify-content:center;gap:18px;padding:var(--sp-3) 0;border-radius:var(--r-md);background:var(--surface-sunken)}.lock-pin-form:focus-within .pin-dots{box-shadow:inset 0 0 0 2px var(--accent-border)}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.pin-dot.is-filled{background:var(--accent);border-color:var(--accent);transform:scale(1.12)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;direction:ltr}.key{display:flex;align-items:center;justify-content:center;height:56px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:1.375rem;font-weight:var(--fw-bold);transition:var(--transition-smooth)}.key:hover{background:var(--surface-hover);border-color:var(--border-strong)}.key:active{transform:scale(.96)}.key:focus-visible{outline:none;box-shadow:var(--focus-ring)}.key-muted{color:var(--text-3)}.key-submit{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.key-submit:hover{background:var(--accent-soft-hover)}.lock-submit{display:none}@media(max-width:860px),(max-height:600px){.lock-card{grid-template-columns:1fr;min-height:0;width:min(440px,100%)}.lock-brand{flex-direction:row;align-items:center;padding:var(--sp-5) var(--sp-6)}.lock-brand .brand-mark{width:44px;height:44px;border-radius:12px}.lock-brand .wordmark{font-size:1.375rem}.lock-tagline,.lock-brand-foot{display:none}.lock-form{padding:var(--sp-6);gap:var(--sp-4)}.key{height:50px}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-header-main{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.page-header-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-text);flex-shrink:0}.page-title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.page-description{margin-top:2px;font-size:var(--fs-md);color:var(--text-3)}.page-header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.toolbar .search-field{max-width:420px;flex:1 1 260px}.overview-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);background:var(--brand);color:#e3eee9;overflow:hidden;position:relative}[data-theme=dark] .overview-hero{background:#0f2a23;border:1px solid var(--border)}.overview-hero h1{color:#fff;font-size:var(--fs-2xl)}.overview-hero p{color:#b5cec4;margin-top:4px}.overview-hero-meta{display:flex;gap:var(--sp-2);flex-wrap:wrap}.hero-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:#ffffff1a;color:#e9f2ee;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.hero-chip.is-alert{background:#e9a64b33;color:#ffd79b}.overview-section-title{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-3)}.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--sp-3)}.shortcut-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);text-align:start;box-shadow:var(--shadow-1);transition:var(--transition-smooth)}.shortcut-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-2);transform:translateY(-1px)}.shortcut-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shortcut-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-text);flex-shrink:0}.shortcut-card-title{display:block;font-size:var(--fs-base);font-weight:var(--fw-bold)}.shortcut-card-desc{display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--text-3);line-height:1.45}.stat-card.is-clickable{cursor:pointer;text-align:start;transition:var(--transition-smooth)}.stat-card.is-clickable:hover{border-color:var(--accent-border)}.admin-container{display:flex;flex-direction:column;gap:var(--sp-5);width:100%;max-width:1480px;margin:0 auto;padding:var(--sp-6)}@media(max-width:1180px){.admin-container{padding:var(--sp-4);gap:var(--sp-4)}}.split{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:1100px){.split{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px var(--sp-4);font-size:var(--fs-md)}.kv dt{color:var(--text-3)}.kv dd{font-weight:var(--fw-semibold);text-align:end;font-variant-numeric:tabular-nums}.subnav{display:flex;gap:var(--sp-2);flex-wrap:wrap}button.hero-chip{border:none;cursor:pointer;font-family:inherit}button.hero-chip:hover{filter:brightness(1.15)}.split.split-wide{grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr)}.split.split-narrow-list{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}@media(max-width:1180px){.split.split-wide,.split.split-narrow-list{grid-template-columns:1fr}}.sticky-panel{position:sticky;top:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-sunken)}.detail-grid dt{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3)}.detail-grid dd{margin-top:2px;font-weight:var(--fw-semibold);color:var(--text)}.subsection-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-2)}.table-clickable tbody tr{cursor:pointer}.table-clickable tbody tr:focus-visible td{outline:none;background:var(--surface-hover)}.table tr.is-selected td:first-child{box-shadow:inset -3px 0 0 var(--accent)}.is-muted-row td{background:color-mix(in srgb,var(--danger-soft) 40%,transparent)}.strike{text-decoration:line-through}.ms-2{margin-inline-start:var(--sp-2)}.stat-grid.stat-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.stat-grid.stat-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.card-toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface)}.profile-head{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.avatar-lg{width:44px;height:44px;font-size:var(--fs-lg);flex-shrink:0}.contact-row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);font-size:var(--fs-md);color:var(--text-2)}.contact-row>span{display:inline-flex;align-items:center;gap:6px}.contact-row svg{color:var(--text-3)}.repay-form{display:flex;align-items:flex-end;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--warning-soft);border:1px solid var(--warning-border)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}@media(max-width:1100px){.two-col{grid-template-columns:1fr}}.inset{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-sunken);border:1px solid var(--border)}.rank-list{list-style:none;counter-reset:rank;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.rank-list li{counter-increment:rank;display:flex;justify-content:space-between;gap:var(--sp-3);min-width:0}.rank-list li:before{content:counter(rank);flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--surface-raised);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;line-height:18px}.rank-list li>span:first-child{flex:1}.rank{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--surface-sunken);color:var(--text-2);font-weight:var(--fw-bold);font-size:var(--fs-sm)}.rank-1{background:#f6d27a;color:#5c3d00}.rank-2{background:#d9dee3;color:#2f3a44}.rank-3{background:#e7b98c;color:#4d2a08}.points{display:inline-flex;align-items:center;gap:4px;color:var(--warning-text);font-weight:var(--fw-bold)}.table-compact th,.table-compact td{padding:8px 10px;font-size:var(--fs-sm)}.kv.totals{padding-top:var(--sp-3);border-top:1px solid var(--border)}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.balance-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-weight:var(--fw-semibold)}.balance-banner strong{font-size:var(--fs-2xl)}.balance-banner.is-owed{background:var(--danger-soft);color:var(--danger-text)}.balance-banner.is-clear{background:var(--success-soft);color:var(--success-text)}.is-alert-row td{background:color-mix(in srgb,var(--danger-soft) 55%,transparent)}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-intro p{max-width:760px;color:var(--text-2);font-size:var(--fs-md)}.field-resolve{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--success-text)}.field-resolve.is-missing{color:var(--danger-text)}.mono-input{font-family:var(--font-mono);direction:ltr;text-align:right}.field.field-inline{flex-direction:row;align-items:center;gap:var(--sp-2)}.field.field-inline .field-label{white-space:nowrap}.field.field-inline .input{min-width:150px;min-height:36px}.danger-zone{border-color:var(--danger-border)}.danger-zone .card-header{background:var(--danger-soft);border-top-left-radius:inherit;border-top-right-radius:inherit}.danger-zone .card-title{color:var(--danger-text)}.action-card .card-body{height:100%}.action-card .btn{margin-top:auto;align-self:stretch}.action-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--tone-bg);color:var(--tone-fg)}.bullet-list{margin:6px 0 0;padding-inline-start:18px;line-height:1.8}.two-col.two-col-top{align-items:start}.meta-row{display:flex;flex-wrap:wrap;gap:2px var(--sp-3);margin-top:2px;font-size:var(--fs-xs);color:var(--text-3)}.bar{display:block;height:4px;margin-top:6px;border-radius:var(--r-pill);background:var(--chart-track);overflow:hidden}.bar>span{display:block;height:100%;border-radius:inherit;background:var(--chart-1)}.loading-inline{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-3)}.vbar-chart{display:flex;align-items:flex-end;gap:var(--sp-2);overflow-x:auto;padding:var(--sp-2) 2px var(--sp-1)}.vbar{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto;min-width:44px}.vbar-track{display:flex;align-items:flex-end;width:30px;height:140px;border-radius:6px 6px 2px 2px;background:var(--chart-track);overflow:hidden}.vbar-fill{width:100%;border-radius:6px 6px 0 0;transition:height var(--dur-slow) var(--ease-out)}.vbar-value{font-size:10px;font-weight:var(--fw-bold);color:var(--text-2)}.vbar-label{max-width:64px;font-size:10px;color:var(--text-3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-empty{padding:var(--sp-6);text-align:center;color:var(--text-3);font-size:var(--fs-sm)}.bar.bar-lg{height:8px;margin-top:0}.hbar-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}.hbar-head{display:flex;justify-content:space-between;gap:var(--sp-3);margin-bottom:4px;font-size:var(--fs-sm);min-width:0}.stars{display:inline-flex;gap:1px;color:var(--warning-text)}.range-row{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}.range-row .field{min-width:220px}.summary-text{font-size:var(--fs-base);line-height:1.9;color:var(--text)}.vbar-chart.is-wide .vbar{flex:1 1 0;min-width:64px}.vbar-chart.is-wide .vbar-track{width:min(56px,100%)}.cashier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-4)}.cashier-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--sp-5) var(--sp-4) var(--sp-4);border:1px solid var(--border);border-top:3px solid var(--tone-fg);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);text-align:center;transition:var(--transition-smooth)}.cashier-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.cashier-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cashier-rank{position:absolute;top:var(--sp-3);inset-inline-end:var(--sp-3)}.cashier-avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--tone-bg);color:var(--tone-fg);font-size:var(--fs-xl);font-weight:var(--fw-heavy)}.cashier-name{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.cashier-score strong{font-size:var(--fs-3xl);font-weight:var(--fw-heavy);color:var(--tone-fg)}.cashier-card .bar{width:100%}.cashier-kpis{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;margin-top:var(--sp-2)}.cashier-kpi{display:flex;flex-direction:column;padding:6px 8px;border-radius:var(--r-sm);background:var(--surface-sunken);text-align:start;font-size:var(--fs-xs);color:var(--text-3)}.cashier-kpi strong{font-size:var(--fs-sm);color:var(--text)}.cashier-more{margin-top:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text)}.kpi-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--sp-3)}.kpi-tile{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--surface-sunken);font-size:var(--fs-xs);color:var(--text-3)}.kpi-tile strong{font-size:var(--fs-lg);color:var(--text)}.score-pill{display:inline-flex;align-items:center;gap:var(--sp-2);padding:6px 14px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-sm)}.score-pill strong{font-size:var(--fs-lg)}.text-info{color:var(--info-text)}.crash-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--sp-5);background:var(--bg);color:var(--text);text-align:center}.crash-card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);width:100%;max-width:500px;padding:var(--sp-10) var(--sp-8);box-shadow:var(--shadow-2)}.crash-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--r-pill);background:var(--danger-soft);color:var(--danger-text)}.crash-card h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--danger-text)}.crash-card p{color:var(--text-3);line-height:1.7}.crash-details{width:100%;max-height:150px;overflow:auto;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-sm);text-align:start;white-space:pre-wrap}.setup-form{display:flex;flex-direction:column;gap:var(--sp-4)}.setup-modes{display:grid;grid-template-columns:1fr;gap:var(--sp-2)}.setup-mode{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--sp-3);row-gap:2px;align-items:center;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);text-align:start;cursor:pointer;transition:border-color var(--dur-1, .12s) ease,background var(--dur-1, .12s) ease}.setup-mode span{font-size:var(--fs-xs);color:var(--text-3);line-height:1.6}.setup-mode svg{color:var(--accent);grid-row:span 2}.setup-mode span{grid-column:2}.setup-mode.is-active{border-color:var(--accent);background:var(--accent-soft)}.setup-checking{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-10) 0;color:var(--text-3);text-align:center}.setup-checking-hint{font-size:var(--fs-xs);max-width:36ch;line-height:1.7}.btn-xs{height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs);gap:4px}.loading-block{padding:var(--sp-10);text-align:center;color:var(--text-3)}.roles-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--sp-4);align-items:start}.role-items{list-style:none;margin:0;padding:var(--sp-2);display:flex;flex-direction:column;gap:4px}.role-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--sp-3);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);text-align:start;cursor:pointer}.role-item:hover{background:var(--surface-sunken)}.role-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.role-item-name{display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-bold)}.role-item-meta{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-3)}.role-editor-body{display:flex;flex-direction:column;gap:var(--sp-4)}.perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-3)}.perm-group{margin:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--sp-2)}.perm-group legend{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-1);font-weight:var(--fw-bold)}.perm-row{display:flex;align-items:flex-start;gap:var(--sp-2);cursor:pointer}.perm-row input{margin-top:4px;accent-color:var(--accent)}.perm-row span{display:flex;flex-direction:column}.perm-row small{color:var(--text-3);font-size:var(--fs-xs)}.perm-row.is-disabled{opacity:.55;cursor:not-allowed}.settings-page{display:flex;flex-direction:column;gap:var(--sp-4)}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);position:sticky;top:0;z-index:2;padding:var(--sp-2) 0;background:var(--bg)}.settings-actions p{display:inline-flex;align-items:center;gap:6px;margin:0}.logo-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.logo-preview{display:grid;place-items:center;width:140px;height:72px;border:1px dashed var(--border-strong, var(--border));border-radius:var(--r-sm);background:var(--surface-sunken);overflow:hidden;font-size:var(--fs-xs);text-align:center}.logo-preview img{max-width:100%;max-height:100%}.designer{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(300px,380px);gap:var(--sp-4);align-items:start}.designer-empty{grid-column:span 2}.designer-paper{padding:var(--sp-3) var(--sp-3) 0}.designer-paper-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.designer-paper ul{list-style:none;margin:0;padding:0 0 var(--sp-2);display:flex;flex-direction:column;gap:2px}.designer-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:6px var(--sp-2);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);text-align:start;font-size:var(--fs-sm);cursor:pointer}.designer-item.is-static{cursor:default;color:var(--text-2)}.designer-item.is-selected{border-color:var(--accent);background:var(--accent-soft)}.designer-name{max-width:260px;font-weight:var(--fw-bold)}.designer-form{display:flex;flex-direction:column;gap:var(--sp-3);max-height:calc(100vh - 210px);overflow-y:auto}.designer-group{margin:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--sp-2)}.designer-group legend,.designer-group summary{font-weight:var(--fw-bold);padding:0 var(--sp-1);cursor:pointer}.designer-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px var(--sp-3)}.designer-preview{position:sticky;top:0}.designer-preview-body{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);background:var(--surface-sunken);max-height:calc(100vh - 210px);overflow:auto}.paper{background:#fff;color:#000;font-family:Arial,Cairo,sans-serif;padding:10px 8px 16px;box-shadow:var(--shadow-2);line-height:1.5;direction:rtl}.paper-80mm{width:80mm}.paper-58mm{width:58mm}.pl-logo{margin:2px 0 6px}.pl-logo img{display:inline-block;height:auto;filter:grayscale(1)}.pl-logo-small{width:30%}.pl-logo-medium{width:45%}.pl-logo-large{width:64%}.paper-58mm .pl-logo-small{width:45%}.paper-58mm .pl-logo-medium{width:67%}.paper-58mm .pl-logo-large{width:95%}.pl-center{text-align:center}.pl-right{text-align:right}.pl-left{text-align:left}.pl-line{white-space:pre;overflow:hidden}.paper .is-bold{font-weight:700}.paper .is-big{font-size:1.45em}.pl-sep{overflow:hidden;white-space:nowrap;letter-spacing:-.5px}.pl-box{border:1px solid #000;padding:2px 4px;margin:2px 0;font-weight:700}.pl-box.is-regular{font-weight:400}.pl-row4{display:grid;grid-template-columns:minmax(0,1fr) 2.4em 3.6em 4.2em}.pl-row4 span:nth-child(2),.pl-row4 span:nth-child(3){text-align:center}.pl-row4 span:nth-child(4){text-align:left}.pl-row2{display:flex;justify-content:space-between}.zone{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3) var(--sp-3);background:var(--surface-raised);transition:border-color var(--dur-1, .12s) ease,background var(--dur-1, .12s) ease}.zone.is-drop{border-color:var(--accent);background:var(--accent-soft)}.zone-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.zone-head h3{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.zone-empty{margin:0;padding:var(--sp-3);border:1px dashed var(--border-strong, var(--border));border-radius:var(--r-sm);color:var(--text-3);font-size:var(--fs-xs);text-align:center}.zone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.blk{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:6px var(--sp-2);display:flex;flex-direction:column;gap:6px}.blk.is-hidden{opacity:.6;background:var(--surface-sunken)}.blk.is-drop{box-shadow:0 -3px 0 var(--accent)}.blk-main{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.blk-grip{display:inline-flex;color:var(--text-3);cursor:grab;flex:none}.blk-grip:active{cursor:grabbing}.blk-visible{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0;cursor:pointer}.blk-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blk-muted{color:var(--text-3);font-weight:var(--fw-medium, 500)}.blk-text{flex:1;min-width:0}.blk-actions{margin-inline-start:auto;display:inline-flex;gap:2px;flex:none}.blk-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-2);padding-inline-start:24px}.blk-zone,.blk-size{width:auto}.blk-option{font-size:var(--fs-xs)}.designer .input-sm{height:var(--ctl-sm);padding:0 var(--sp-2);font-size:var(--fs-sm)}.designer .icon-btn.is-on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.designer .icon-btn:disabled{opacity:.35;cursor:not-allowed}.seg{display:inline-flex;gap:2px;padding:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-sm)}.seg button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-3);cursor:pointer}.seg button:hover{color:var(--text)}.seg button.is-on{background:var(--surface-raised);color:var(--accent-text);box-shadow:var(--shadow-1)}.seg button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.a4-preview{width:100%;height:520px;border:1px solid var(--border);background:#fff}@media(max-width:1280px){.designer{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.designer-preview{grid-column:1 / -1;position:static}.designer-empty{grid-column:auto}}@media(max-width:1100px){.roles-layout{grid-template-columns:1fr}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.page-subtitle{margin-top:2px;font-size:var(--fs-sm);color:var(--text-muted)}.shift-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.shift-filters .field{min-width:200px}.link-btn{border:0;background:none;padding:0;color:var(--info);font:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.text-end{text-align:end}.shift-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--surface-sunken);color:var(--text-muted);white-space:nowrap}.shift-pill.is-open,.shift-pill.tone-cash{background:var(--success-soft);color:var(--success-text)}.shift-pill.tone-visa{background:var(--info-soft);color:var(--info-text)}.shift-pill.tone-instapay{background:var(--purple-soft);color:var(--purple-text)}.shift-pill.tone-wallet,.shift-pill.tone-account{background:var(--warning-soft);color:var(--warning-text)}.shift-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.shift-kpi{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px}.shift-kpi span{font-size:var(--fs-sm);color:var(--text-muted)}.shift-kpi strong{font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.shift-kpi.tone-blue strong{color:var(--info)}.shift-kpi.tone-green strong{color:var(--success)}.shift-kpi.tone-red strong{color:var(--danger)}.method-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--success-border);border-radius:10px;background:var(--success-soft);color:var(--success-text);font:inherit;cursor:pointer}.method-chip.is-all{border-color:transparent;background:var(--sidebar-bg);color:var(--on-solid)}.method-chip.is-all .cell-muted{color:var(--sidebar-text)}.method-chip.tone-visa{border-color:var(--info-border);background:var(--info-soft);color:var(--info-text)}.method-chip.tone-instapay{border-color:transparent;background:var(--purple-soft);color:var(--purple-text)}.method-chip.tone-wallet,.method-chip.tone-account{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning-text)}.method-chip.is-active{box-shadow:var(--focus-ring)}.method-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid var(--border)}.method-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border-radius:8px}.method-tile span{font-size:var(--fs-sm)}.method-tile strong{font-variant-numeric:tabular-nums}.method-tile.tone-cash{background:var(--success-soft);color:var(--success-text)}.method-tile.tone-visa{background:var(--info-soft);color:var(--info-text)}.method-tile.tone-instapay{background:var(--purple-soft);color:var(--purple-text)}.method-tile.tone-wallet{background:var(--warning-soft);color:var(--warning-text)}.shift-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.shift-info span{color:var(--text-muted)}@media(max-width:900px){.shift-kpis,.method-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-info{grid-template-columns:1fr}}.dash-chart svg{width:100%;height:auto}.dash-axis{font-size:10px;fill:var(--text-muted)}.dash-legend{display:flex;gap:14px;font-size:var(--fs-sm);color:var(--text-muted)}.dash-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.dash-share{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dash-share li{display:grid;grid-template-columns:minmax(80px,30%) 1fr auto;align-items:center;gap:10px}.dash-share-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-share-track{height:10px;border-radius:5px;background:var(--chart-track);overflow:hidden}.dash-share-bar{display:block;height:100%;background:var(--chart-1);border-radius:5px}.vbar-chart{overflow-x:hidden;gap:2px}.vbar-chart .vbar{flex:1 1 0;min-width:0}.vbar-chart .vbar-track{width:min(30px,100%)}.vbar-chart .vbar-value,.vbar-chart .vbar-label{max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}.inventory-actions-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--danger-text);transition:var(--transition-smooth)}.delete-btn:hover{background:var(--danger-soft)}.glassmorphism-card{background:var(--surface-raised)}.bs-item{display:flex;align-items:center;gap:var(--sp-3)}.badge-status{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--r-pill);background:var(--success-soft);color:var(--success-text);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.btn-refresh{display:inline-flex;align-items:center;gap:6px}.loading{color:var(--text-3)}.app-container{display:flex;flex-direction:column;height:100vh;background-color:var(--bg);overflow:hidden}.link-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 16px;font-size:.85rem;border-bottom:1px solid var(--border)}.link-status.is-live{background:color-mix(in srgb,var(--success, #15803d) 10%,var(--surface));color:var(--success, #15803d)}.link-status.is-delayed{background:color-mix(in srgb,var(--warning, #b45309) 12%,var(--surface));color:var(--warning, #b45309)}.link-status.is-off{background:color-mix(in srgb,var(--danger, #b91c1c) 12%,var(--surface));color:var(--danger, #b91c1c);font-weight:600}.link-status-waiting{border:1px solid currentColor;border-radius:999px;background:none;color:inherit;font:inherit;font-weight:700;padding:2px 10px;min-height:32px;cursor:pointer}.waiting-ops{list-style:none;margin:0;padding:0;display:grid;gap:10px}.waiting-ops li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.product-search:has(.camera-scan-btn){display:flex;gap:8px;align-items:stretch}.product-search:has(.camera-scan-btn)>.scan-field{flex:1 1 auto;min-width:0}.camera-scan-btn{flex-shrink:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;font-size:.75rem}.camera-scan-video{width:100%;max-height:60dvh;border-radius:12px;background:#000;object-fit:cover}.attention-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.attention-item{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--border);border-inline-start:4px solid var(--warning, #b45309);border-radius:10px}.attention-item.resolved{border-inline-start-color:var(--success, #15803d);opacity:.85}.attention-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.attention-cols{margin:0;padding-inline-start:18px}.attention-item .btn{justify-self:start}.phone-bar,.phone-menu-backdrop{display:none}@media(max-width:759px){html,body{overflow-x:hidden}.app-shell.is-phone{height:100dvh}.app-shell.is-phone .sidebar{position:fixed;top:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));height:auto;inset-inline-start:0;z-index:calc(var(--z-modal) - 10);width:min(86vw,320px);transform:translate(105%);transition:transform var(--dur-slow) var(--ease-out);box-shadow:0 0 40px #00000059}[dir=ltr] .app-shell.is-phone .sidebar{transform:translate(-105%)}.app-shell.is-phone.menu-open .sidebar{transform:none}.phone-menu-backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-modal) - 11);border:0;background:#00000073}.app-shell.is-phone .nav-item{min-height:48px;font-size:1rem}.app-shell.is-phone .app-main{min-width:0;width:100%}.app-shell.is-phone .app-content{padding:12px;overflow-x:hidden}.app-shell.is-phone .topbar{padding-inline:12px;gap:8px}.app-shell.is-phone .topbar-clock,.app-shell.is-phone .topbar-crumb,.app-shell.is-phone .user-menu-text,.app-shell.is-phone .hide-sm{display:none}.app-shell.is-phone .topbar-title h1{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.is-phone .topbar-title{min-width:0}.app-shell.is-phone .topbar-actions{gap:6px;flex-shrink:0}.phone-bar{position:relative;z-index:calc(var(--z-modal) - 9);display:flex;flex-shrink:0;border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0)}.phone-bar-item{flex:1 1 0;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--text-muted);font:inherit;font-size:.72rem;cursor:pointer}.phone-bar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:2px}.phone-bar-item.is-active{color:var(--primary);font-weight:700}.app-shell.is-phone .btn,.app-shell.is-phone .input,.app-shell.is-phone select,.modal-overlay .btn,.modal-overlay .input,.modal-overlay select{min-height:44px}.app-shell.is-phone .btn-sm{min-height:40px;padding-inline:12px}.app-shell.is-phone input,.app-shell.is-phone select,.app-shell.is-phone textarea,.modal-overlay input,.modal-overlay select,.modal-overlay textarea{font-size:16px}.app-shell.is-phone .app-content>*,.app-shell.is-phone .card,.app-shell.is-phone .card-header,.app-shell.is-phone .card-body,.app-shell.is-phone .toolbar,.app-shell.is-phone .toolbar>*{min-width:0;max-width:100%}.app-shell.is-phone .card-body{overflow-x:auto}.app-shell.is-phone .app-content select,.app-shell.is-phone .app-content input,.app-shell.is-phone .filters,.app-shell.is-phone .filter-bar{max-width:100%}.app-shell.is-phone .filters,.app-shell.is-phone .filter-bar,.app-shell.is-phone .logs-filters{flex-wrap:wrap}.app-shell.is-phone .toolbar>*{flex:1 1 140px}.app-shell.is-phone .field-inline{flex:1 1 100%;flex-direction:column;align-items:stretch;min-width:0}.app-shell.is-phone .field-inline>select,.app-shell.is-phone .field-inline>.input{width:100%!important;min-width:0}.app-shell.is-phone .toolbar>.spacer{display:none}.app-shell.is-phone .toolbar>select,.app-shell.is-phone .toolbar>.input,.app-shell.is-phone .toolbar>input{flex:1 1 100%;width:100%!important}.app-shell.is-phone .card-header>*{flex-shrink:1}.app-shell.is-phone .icon-btn,.modal-overlay .icon-btn,.app-shell.is-phone .category-pick,.app-shell.is-phone .segmented button{min-width:44px;min-height:44px}.app-shell.is-phone .card-header,.app-shell.is-phone .page-header,.app-shell.is-phone .toolbar{flex-wrap:wrap;gap:8px}.app-shell.is-phone .form-grid,.app-shell.is-phone .grid-2,.app-shell.is-phone .grid-3,.app-shell.is-phone .grid-4,.modal-overlay .form-grid,.modal-overlay .grid-2,.modal-overlay .grid-3{grid-template-columns:minmax(0,1fr)!important}.app-shell.is-phone .stat-grid,.app-shell.is-phone .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app-shell.is-phone .segmented{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.app-shell.is-phone .table-wrap,.modal-overlay .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.app-shell.is-phone .table-wrap>table,.modal-overlay .table-wrap>table{min-width:520px}.modal-overlay{padding:0!important;align-items:stretch!important}.modal-overlay .modal-content{width:100%!important;max-width:100%!important;max-height:100dvh!important;height:100dvh;border-radius:0!important;display:flex;flex-direction:column}.modal-overlay .modal-body{flex:1 1 auto;overflow-y:auto;min-height:0}.modal-overlay .modal-footer{flex-shrink:0;flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.modal-overlay .modal-footer .btn{flex:1 1 auto}.app-shell.is-phone kbd,.app-shell.is-phone .kbd,.app-shell.is-phone .shortcut-hints,.app-shell.is-phone .cart-shortcuts{display:none}.app-shell.is-phone .pos{display:flex;flex-direction:column;height:auto;gap:12px}.app-shell.is-phone[data-view=pos] .app-content{overflow-y:auto}.app-shell.is-phone .pos-main,.app-shell.is-phone .pos>*{min-width:0;width:100%}.app-shell.is-phone .cart-scroll{max-height:none;overflow-x:auto}}
