/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}:root{--color-primary:#0d7a5f;--color-primary-hover:#0a6249;--color-primary-soft:#e6f4f0;--color-accent:#f59e0b;--color-bg:#f4f6f8;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-surface-elevated:#fff;--color-border:#d1d9e0;--color-border-strong:#94a3b8;--overlay-scrim:#0f172a94;--color-text:#0f172a;--color-text-muted:#475569;--color-text-inverse:#fff;--color-success:#15803d;--color-success-bg:#dcfce7;--color-warning:#b45309;--color-warning-bg:#fef3c7;--color-danger:#b91c1c;--color-danger-bg:#fee2e2;--color-info:#0369a1;--color-info-bg:#e0f2fe;--touch-min:44px;--register-grid-ratio:60%;--register-cart-ratio:40%;--product-tile-min:140px;--product-tile-min-compact:110px;--register-page-size:36;--sidebar-width:240px;--table-row-height:40px;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-base:var(--space-1);--space-touch-gap:var(--space-3);--space-panel:var(--space-4);--space-container:var(--space-6);--space-inline-tight:var(--space-1);--space-inline:var(--space-2);--space-stack:var(--space-3);--space-section:var(--space-4);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-interactive:8px;--radius-container:12px;--border-width-focus:2px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "Cascadia Code", monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:2rem;--text-3xl:3rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--text-badge:var(--text-xs);--text-body:var(--text-base);--text-product-title:var(--text-lg);--text-input-large:var(--text-2xl);--text-total-display:var(--text-3xl);--category-groceries:#16a34a;--category-drinks:#2563eb;--category-snacks:#d97706;--category-household:#7c3aed;--category-personal:#db2777;--category-stationery:#0891b2;--category-default:#64748b;--tile-press-scale:.97;--cart-pay-height:56px;--status-strip-height:32px;--product-tile-min-speed:160px}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#0d7a5f;--color-accent:#f59e0b;--color-border:#d1d9e0;--color-primary-hover:#0a6249;--color-primary-soft:#e6f4f0;--color-bg:#f4f6f8;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#475569;--color-text-inverse:#fff;--color-success:#15803d;--color-warning:#b45309;--color-danger:#b91c1c}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.\!inset-0{top:0!important;right:0!important;bottom:0!important;left:0!important}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.\!right-\[var\(--register-cart-ratio\,40\%\)\]{right:var(--register-cart-ratio,40%)!important}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-\[var\(--touch-min\,44px\)\]{min-height:var(--touch-min,44px)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-11{width:calc(var(--spacing) * 11)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.w-px{width:1px}.max-w-\[88px\]{max-width:88px}.max-w-\[160px\]{max-width:160px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--color-border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-\[rgba\(15\,23\,42\,0\.12\)\]{background-color:#0f172a1f}.bg-\[rgba\(15\,23\,42\,0\.25\)\]{background-color:#0f172a40}.bg-\[var\(--color-success-bg\)\]{background-color:var(--color-success-bg)}.bg-\[var\(--color-warning-bg\)\]{background-color:var(--color-warning-bg)}.bg-\[var\(--overlay-scrim\)\]{background-color:var(--overlay-scrim)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-warning\)\]{color:var(--color-warning)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\[\.toaster\]\:bg-card:is(:where(.group).toaster *){background-color:var(--card)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive) 80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/80:hover{background-color:#0d7a5fcc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--color-primary) 80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#0d7a5fe6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-primary[data-state=on]{background-color:var(--color-primary)}.data-\[state\=on\]\:text-primary-foreground[data-state=on]{color:var(--primary-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\.absolute\]\:hidden>button.absolute{display:none}}:root{--radius:.625rem;--background:var(--color-bg);--foreground:var(--color-text);--card:var(--color-surface);--card-foreground:var(--color-text);--popover:var(--color-surface);--popover-foreground:var(--color-text);--primary:var(--color-primary);--primary-foreground:var(--color-text-inverse);--secondary:var(--color-surface);--secondary-foreground:var(--color-text);--muted:var(--color-surface-muted);--muted-foreground:var(--color-text-muted);--accent:var(--color-primary-soft);--accent-foreground:var(--color-primary);--destructive:var(--color-danger);--destructive-foreground:var(--color-text-inverse);--border:var(--color-border);--input:var(--color-border);--ring:var(--color-primary)}.screen{flex-direction:column;min-height:100vh;display:flex}.screen[data-page=register]{height:100dvh;min-height:0;overflow:hidden}.register-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.register-header .brand{color:var(--color-primary);white-space:nowrap;font-size:1.1rem;font-weight:800}.register-header .search-wrap{flex:1;align-items:center;max-width:480px;display:flex;position:relative}.register-header .search-wrap .search-icon{color:var(--color-text-muted);pointer-events:none;z-index:1;position:absolute;left:.75rem}.register-header .search-wrap .search-input{padding-left:2.25rem;padding-right:2.5rem}.register-header .search-wrap .search-kbd{color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-bg);pointer-events:none;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-weight:700;position:absolute;right:.65rem}.register-header .header-actions{gap:.5rem;margin-left:auto;display:flex}.register-body{grid-template-columns:calc(100% - var(--register-cart-ratio)) var(--register-cart-ratio);flex:1;min-height:0;display:grid;position:relative}.register-body.payment-open .register-grid-panel.payment-dimmed{pointer-events:none;opacity:.35}.register-body.payment-open .cart-panel.cart-during-pay,.register-body.quick-group-open .cart-panel.cart-during-quick-group{z-index:60;box-shadow:-4px 0 16px #0000000f}.register-grid-panel{padding:var(--space-panel);border-right:1px solid var(--color-border);background:var(--color-surface-muted);flex-direction:column;gap:.75rem;display:flex;overflow:hidden}.category-tabs{-webkit-overflow-scrolling:touch;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.quick-groups-strip{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;align-items:center;gap:.5rem;margin-bottom:.25rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.quick-groups-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;padding-right:.25rem;font-size:.72rem;font-weight:700}.quick-group-modal-card{width:100%;max-width:520px}.quick-group-hint{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.85rem}.quick-group-items{flex-direction:column;gap:.5rem;max-height:50vh;margin-bottom:1rem;display:flex;overflow-y:auto}.quick-group-line{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.quick-group-check{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.quick-group-qty-input{text-align:center;width:3rem;min-height:36px;padding:.25rem}.quick-group-actions{flex-wrap:wrap;gap:.5rem;display:flex}.quick-group-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.product-grid{grid-template-columns:repeat(auto-fill,minmax(var(--product-tile-min,140px),1fr));gap:var(--space-touch-gap);-webkit-overflow-scrolling:touch;flex:1;align-content:start;display:grid;overflow-y:auto}.product-grid.compact{grid-template-columns:repeat(auto-fill,minmax(var(--product-tile-min-compact,110px),1fr));gap:var(--space-touch-gap)}.product-grid .grid-message{color:var(--color-text-muted);grid-column:1/-1;padding:1rem 0}.grid-pagination{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding:.65rem 0 0;display:flex}.grid-pagination-info{color:var(--color-text-muted);font-size:.85rem}.grid-pagination-actions{align-items:center;gap:.5rem;display:flex}.grid-pagination-btn{min-width:72px;min-height:48px;padding:0 1rem;font-weight:600}.grid-pagination-page{text-align:center;min-width:5rem;font-size:.85rem}.stock-error-banner{background:var(--color-danger-bg);color:var(--color-danger);border-radius:0;margin:0 1rem}.hold-message-banner{background:var(--color-info-bg);color:var(--color-info);margin:0 1rem}.api-error-banner{background:var(--color-warning-bg);color:var(--color-warning);margin:0 1rem}.section-heading{margin:0 0 .75rem;font-size:1rem}.table-card{margin-bottom:1.5rem;overflow:auto}.cart-panel{background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.cart-panel-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.5rem;padding:1rem;font-weight:700;display:flex}.cart-lines{padding:0 1rem}.cart-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.cart-summary{border-top:1px solid var(--color-border);background:var(--color-bg);padding:1rem}.summary-row{justify-content:space-between;margin-bottom:.35rem;font-size:.9rem;display:flex}.summary-row.total{border-top:1px dashed var(--color-border);margin-top:.5rem;padding-top:.5rem;font-size:1.15rem;font-weight:700}.pay-bar{border-top:1px solid var(--color-border);padding:1rem}@media(max-width:900px){.register-body{grid-template-columns:1fr 1fr}.register-body.tablet-stack{grid-template-rows:1fr auto;grid-template-columns:1fr}}.office-layout{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.office-sidebar{color:#e2e8f0;background:#0f172a;flex-direction:column;padding:1.25rem 0;display:flex}.office-sidebar .logo{color:#fff;border-bottom:1px solid #ffffff14;margin-bottom:.75rem;padding:0 1.25rem 1.25rem;font-size:1.15rem;font-weight:800}.office-nav a{color:#94a3b8;align-items:center;gap:.65rem;padding:.75rem 1.25rem;font-weight:500;text-decoration:none;display:flex}.office-nav a:hover,.office-nav a.active{color:#fff;background:#ffffff0f}.office-nav a.active{border-left:3px solid var(--color-primary)}.office-main{flex-direction:column;min-width:0;display:flex}.office-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.office-content{flex:1;padding:1.5rem}.page-title{margin:0;font-size:1.35rem}.page-subtitle{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.875rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar .spacer{flex:1}.mockup-hub{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.mockup-hub h1{margin:0 0 .5rem;font-size:1.75rem}.mockup-hub .intro{color:var(--color-text-muted);margin-bottom:2rem}.mockup-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.mockup-card{color:inherit;padding:1.25rem;text-decoration:none;transition:box-shadow .15s,border-color .15s}.mockup-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.mockup-card h2{margin:0 0 .35rem;font-size:1.05rem}.mockup-card p{color:var(--color-text-muted);margin:0;font-size:.875rem}.mockup-card .tag{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-top:.75rem;font-size:.7rem;font-weight:700;display:inline-block}.login-screen{background:linear-gradient(145deg,var(--color-primary-soft),var(--color-bg));place-items:center;min-height:100vh;display:grid}.login-card{width:min(420px,92vw);padding:2rem}.login-card h1{text-align:center;margin:0 0 .25rem}.login-card .sub{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem}.cashier-grid{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem;display:grid}.cashier-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;min-height:64px;font-weight:600}.cashier-btn.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.payment-layout{max-width:720px;margin:0 auto;padding:1.5rem}.payment-total{text-align:center;padding:1.5rem 0}.payment-total .amount{font-size:var(--text-total-display);font-variant-numeric:tabular-nums;font-weight:800}.pay-methods{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.payment-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.payment-sheet-backdrop{top:0;right:0;bottom:0;left:0;right:var(--register-cart-ratio,40%);z-index:50;background:#0f172a40;position:fixed}.payment-sheet{width:min(560px,calc(100% - var(--register-cart-ratio,40%) - 1rem));z-index:55;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;max-width:600px;min-height:0;max-height:100dvh;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px #0000001f}.payment-sheet-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.payment-sheet-title{margin:0;font-size:1.1rem;font-weight:800}.payment-sheet-subtitle{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.78rem}.payment-sheet-summary{line-height:1.35}.payment-sheet-summary strong,.payment-sheet-summary .payment-summary-remaining{color:var(--color-text);font-weight:700}.payment-entry-primary{background:0 0;border:none;margin-bottom:.75rem;padding:0}.pay-methods-prominent{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem;display:grid}.pay-methods-prominent .pay-chip{min-height:64px;font-size:.9rem;font-weight:700}.payment-amount-wrap{margin-bottom:.5rem}.payment-amount-input{width:100%;min-height:56px;font-size:var(--text-input-large);text-align:right;font-variant-numeric:tabular-nums;border-width:var(--border-width-focus);border-color:var(--color-border);padding:.65rem .85rem;font-weight:800}.payment-amount-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.payment-ref-input{margin-bottom:.5rem}.payment-applied-compact{margin-top:.5rem;margin-bottom:.75rem}.payment-applied-compact .payment-applied-row{margin-bottom:.25rem;padding:.45rem .55rem;font-size:.85rem}.payment-keypad-section .keypad{margin-top:0}.payment-sheet-close{min-width:40px;min-height:40px;padding:0}.payment-sheet-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1rem;overflow-y:auto}.payment-sheet-main{min-width:0}@media(min-width:1024px)and (min-height:680px){.payment-sheet-body--keypad{grid-template-columns:1fr 1fr;align-content:start;gap:.75rem;display:grid;overflow:hidden}.payment-sheet-body--keypad .payment-sheet-main{max-height:100%;overflow-y:auto}.payment-sheet-body--keypad .payment-sheet-keypad-col{flex-direction:column;justify-content:flex-start;display:flex}.payment-sheet-body--keypad .payment-keypad-section{margin-bottom:0}}.payment-sheet-body--split .payment-sheet-main{flex-direction:column;gap:.5rem;display:flex}.payment-sheet-footer{border-top:1px solid var(--color-border);flex-shrink:0;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.payment-sheet-footer .btn{flex:1;min-height:48px}.payment-sheet-totals{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);margin-bottom:1rem;padding:.75rem}.payment-sheet-row{justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.9rem;display:flex}.payment-sheet-row.payment-remaining strong{color:var(--color-warning)}.payment-splits,.payment-applied-list{margin-bottom:1rem}.payment-applied-label,.payment-entry-label{margin:0 0 .5rem;font-size:.85rem;font-weight:700}.payment-applied-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:.55rem .65rem;display:flex}.payment-applied-info{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;min-width:0;display:flex}.payment-applied-method{align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:inline-flex}.payment-applied-amount{font-variant-numeric:tabular-nums;font-weight:800}.payment-applied-ref{color:var(--color-text-muted);font-size:.78rem}.payment-applied-remove{flex-shrink:0}.payment-entry{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:1rem;padding:.65rem}.payment-add-btn{width:100%;min-height:44px;margin-top:.35rem;font-weight:800}.payment-splits-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:700;display:flex}.payment-split-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:.5rem;padding:.65rem}.payment-split-row.active{border-color:var(--color-primary);background:#f6fbfa}@supports (color:color-mix(in lab,red,red)){.payment-split-row.active{background:color-mix(in srgb,var(--color-primary-soft) 35%,var(--color-surface))}}.pay-methods-compact{grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:.5rem;display:grid}.pay-methods-compact .pay-chip{min-height:52px;font-size:.75rem}.payment-split-amount-row{align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.payment-split-amount{text-align:right;flex:1;font-size:1.1rem;font-weight:700}.payment-keypad-section{margin-bottom:1rem}.payment-quick-amounts{flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem;display:flex}.payment-quick-amount-btn{font-variant-numeric:tabular-nums;min-height:40px;padding:0 .75rem;font-size:.82rem;font-weight:700}.payment-progress-track{background:var(--color-border);border-radius:999px;height:6px;margin-top:.5rem;overflow:hidden}.payment-progress-fill{background:var(--color-primary);height:100%;transition:width .2s ease-out}.payment-progress-fill.over{background:var(--color-warning)}.payment-cash-tender{border-radius:var(--radius-md);background:var(--color-success-bg);border:1px solid #a2c3b7;padding:.75rem}@supports (color:color-mix(in lab,red,red)){.payment-cash-tender{border:1px solid color-mix(in srgb,var(--color-success) 25%,var(--color-border))}}.btn-sm{min-height:36px;padding:0 .65rem;font-size:.78rem}@media(max-width:768px){.payment-sheet-backdrop{bottom:45%;right:0}.payment-sheet{width:100%;max-width:none;max-height:55vh;bottom:auto}.register-body.payment-open.hub-stack .payment-sheet-backdrop{bottom:55%}}@media(max-width:600px){.pay-methods,.register-body{grid-template-columns:1fr}.payment-sheet-backdrop,.register-body.payment-open.hub-stack .payment-sheet-backdrop{bottom:0}.payment-sheet{max-height:none;bottom:0}}.payment-sheet-v3 .payment-due-hero{flex:1;min-width:0}.payment-due-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;display:block}.payment-due-amount{font-size:var(--text-total-display,2rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.payment-breakdown-toggle{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.35rem;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.payment-breakdown{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);margin-top:.5rem;padding:.5rem .65rem}.payment-breakdown-row{color:var(--color-text-muted);justify-content:space-between;padding:.15rem 0;font-size:.85rem;display:flex}.payment-breakdown-row.discount span:last-child{color:var(--color-success)}.payment-breakdown-row.grand{color:var(--color-text);border-top:1px dashed var(--color-border);margin-top:.25rem;padding-top:.35rem;font-weight:700}.payment-method-row{margin-bottom:.5rem}.payment-split-amount-block{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.payment-split-progress{margin-bottom:.75rem}.payment-split-progress-label{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.85rem;font-weight:700}.payment-remaining-row--covered{background:var(--color-success-bg);border-color:#8fbaa7}@supports (color:color-mix(in lab,red,red)){.payment-remaining-row--covered{border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border))}}.payment-remaining-row--covered strong{color:var(--color-success)}.payment-money-input--active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.payment-split-mode-btn{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.88rem;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:flex}.payment-split-mode-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.payment-split-mode-btn.active,.payment-split-mode-btn[data-state=on]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.pay-chip-icon{border-radius:var(--radius-md);background:var(--color-bg);width:36px;height:36px;color:var(--color-text-muted);justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.pay-chip.selected .pay-chip-icon{background:#d3e7e2}@supports (color:color-mix(in lab,red,red)){.pay-chip.selected .pay-chip-icon{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface))}}.pay-chip.selected .pay-chip-icon{color:var(--color-primary)}.payment-applied-method-icon{border-radius:var(--radius-sm);background:var(--color-bg);width:24px;height:24px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.payment-quick-remaining-btn{align-items:center;gap:.35rem;display:inline-flex}.payment-remaining-row{border-radius:var(--radius-md);background:var(--color-warning-bg,#fffbeb);border:1px solid var(--color-warning,#f59e0b);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.payment-quick-remaining{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.payment-split-entry{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.payment-change-card{border-radius:var(--radius-md);background:var(--color-success-bg);border:1px solid #bbf7d0;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem;font-weight:700;display:flex}.payment-ref-hint{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.8rem}.receipt-total-row.discount span:last-child{color:var(--color-success)}.receipt-line-discount{color:var(--color-success);font-size:.75rem}@media(max-height:800px){.payment-sheet-v3 .payment-due-amount{font-size:1.5rem}.pay-methods-prominent .pay-chip{min-height:48px;font-size:.85rem}.payment-amount-input{min-height:48px}.payment-sheet-header,.payment-sheet-body{padding:.75rem 1rem}.payment-sheet-footer{padding:.5rem 1rem .75rem}.payment-sheet-footer .btn{min-height:44px}.payment-sheet-body--keypad .keypad button{min-height:44px;font-size:1.1rem}}.till-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:1rem;padding:.7rem 1.1rem;display:flex}.till-topbar-dark{color:#fff;background:#0d1420;border-bottom-color:#1e293b}.till-topbar-dark .till-logo,.till-topbar-dark .till-session strong{color:#fff}.till-topbar-dark .till-brand-tag,.till-topbar-dark .till-session{color:#94a3b8}.till-topbar-dark .till-search-input{color:#fff;background:#1e293b;border-color:#334155}.till-topbar-dark .till-search-icon,.till-topbar-dark .till-search-kbd{color:#94a3b8}.till-brand{white-space:nowrap;align-items:baseline;gap:.5rem;display:flex}.till-logo{color:var(--color-primary);letter-spacing:-.01em;font-size:1.08rem;font-weight:800}.till-brand-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.till-order-mode{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;gap:.25rem;padding:.2rem;display:flex}.till-order-mode button{min-height:34px;color:var(--color-text-muted);border-radius:999px;padding:0 .85rem;font-size:.78rem;font-weight:700;transition:background .12s,color .12s}.till-order-mode button.selected{background:var(--color-primary);color:var(--color-text-inverse)}.till-view-mode{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;gap:.25rem;padding:.2rem;display:flex}.till-view-mode button{min-width:34px;min-height:34px;color:var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:0 .65rem;font-size:.78rem;font-weight:700;transition:background .12s,color .12s;display:inline-flex}.till-view-mode button.selected{background:var(--color-primary);color:var(--color-text-inverse)}.till-search-wrap{flex:1;align-items:center;max-width:640px;display:flex;position:relative}.till-search-icon{color:var(--color-text-muted);pointer-events:none;z-index:1;position:absolute;left:.85rem}.till-search-input{min-height:42px;border-radius:var(--radius-lg)!important;border-width:1px!important;padding-left:2.5rem!important;padding-right:2.75rem!important}.till-search-kbd{color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-bg);pointer-events:none;border-radius:4px;padding:.1rem .35rem;font-size:.62rem;font-weight:700;position:absolute;right:.65rem}.till-topbar-spacer{flex:0;min-width:.5rem}.till-session{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.till-session-dot{background:var(--color-success);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-success-bg);border-radius:50%}.till-header-actions{gap:.4rem;display:flex}.till-header-btn{min-height:36px;font-size:.8rem}.till-category-pills{-webkit-overflow-scrolling:touch;gap:.45rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.till-pill{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 1rem;font-size:.82rem;font-weight:600;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.till-pill:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-text)}.till-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.till-product-grid.template-grid-minimart{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.55rem}.product-tile-minimart{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;text-align:left;min-height:84px;box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .12s,box-shadow .12s,transform 60ms;display:flex;overflow:hidden}.product-tile-minimart:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.product-tile-minimart:active{transform:scale(.97)}.product-tile-minimart .tile-name{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:.45rem .55rem;font-size:.78rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.product-tile-minimart .tile-foot{justify-content:space-between;align-items:center;gap:.25rem;margin-top:auto;padding:.4rem .55rem;display:flex}.product-tile-minimart .tile-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:800}.product-tile-minimart .stock-pill{border-radius:999px;padding:.08rem .35rem;font-size:.62rem;font-weight:700}.product-tile-minimart .stock-pill.low{background:var(--color-warning-bg);color:var(--color-warning)}.product-tile-minimart .stock-pill.out{background:var(--color-danger-bg);color:var(--color-danger)}.product-tile-minimart.low-stock{border-color:#c49d7f}@supports (color:color-mix(in lab,red,red)){.product-tile-minimart.low-stock{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border))}}.product-tile-minimart.out-of-stock{opacity:.5;pointer-events:none}.product-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.4rem;display:flex;overflow-y:auto}.product-list-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;box-shadow:var(--shadow-sm);grid-template-columns:44px 1fr auto auto auto;align-items:center;gap:.75rem;padding:.5rem .65rem;transition:border-color .12s,background .12s;display:grid}.product-list-row:hover:not(:disabled){border-color:var(--color-primary);background:#f8fcfb}@supports (color:color-mix(in lab,red,red)){.product-list-row:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary-soft) 30%,var(--color-surface))}}.product-list-row:active:not(:disabled){transform:scale(.995)}.product-list-row .lane-art{color:#fff;border-radius:8px;place-items:center;width:44px;height:44px;font-size:.75rem;font-weight:800;display:grid}.product-list-row .lane-name{font-size:.86rem;font-weight:650;display:block}.product-list-row .lane-sku{color:var(--color-text-muted);font-size:.7rem;font-family:var(--font-mono)}.product-list-row .lane-unit{color:var(--color-text-muted);font-size:.68rem}.product-list-row .lane-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.product-list-row .lane-stock{border-radius:999px;justify-self:end;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.product-list-row .lane-stock.low{background:var(--color-warning-bg);color:var(--color-warning)}.product-list-row .lane-stock.out{background:var(--color-danger-bg);color:var(--color-danger)}.product-list-row.out-of-stock{opacity:.45;pointer-events:none}.product-list-row-skeleton{border-radius:var(--radius-md);border:1px solid var(--color-border);background:linear-gradient(100deg,var(--color-surface) 30%,var(--color-bg) 50%,var(--color-surface) 70%);background-size:200% 100%;height:56px;animation:1.2s ease-in-out infinite skeleton-shimmer}.till-product-grid.template-grid-restaurant{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.9rem}.product-tile-restaurant{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .1s,box-shadow .1s;display:flex;overflow:hidden}.product-tile-restaurant:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.product-tile-restaurant:active{transform:scale(.98)}.product-tile-restaurant .tile-art{color:#fff;letter-spacing:.03em;place-items:center;height:92px;font-size:1.1rem;font-weight:800;display:grid}.product-tile-restaurant .tile-name{padding:.55rem .7rem .15rem;font-size:.86rem;font-weight:700;line-height:1.25}.product-tile-restaurant .tile-tags{gap:.3rem;padding:0 .7rem;display:flex}.product-tile-restaurant .tag{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.product-tile-restaurant .tile-foot{justify-content:space-between;align-items:center;margin-top:auto;padding:.55rem .7rem .7rem;display:flex}.product-tile-restaurant .tile-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.product-tile-restaurant .tile-add{background:var(--color-primary);width:30px;height:30px;color:var(--color-text-inverse);border-radius:50%;place-items:center;display:grid}.product-tile-restaurant.out-of-stock{opacity:.5;pointer-events:none}.till-product-grid.template-grid-boutique{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:1rem}.product-tile-boutique{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;border-radius:4px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.product-tile-boutique:hover{border-color:var(--color-accent)}.product-tile-boutique .tile-art{color:#fff;background:var(--color-surface-muted);letter-spacing:.03em;place-items:center;height:128px;font-size:1.4rem;font-weight:800;display:grid}.product-tile-boutique .tile-name{letter-spacing:.01em;padding:.65rem .75rem .1rem;font-size:.84rem;font-weight:600}.product-tile-boutique .tile-variants{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.35rem;padding:.2rem .75rem 0;font-size:.66rem;display:flex}.product-tile-boutique .swatches{gap:.25rem;display:flex}.product-tile-boutique .swatch{border:1px solid var(--color-border);border-radius:50%;width:12px;height:12px}.product-tile-boutique .tile-foot{margin-top:auto;padding:.6rem .75rem .75rem}.product-tile-boutique .tile-price{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.product-tile-boutique.out-of-stock{opacity:.5;pointer-events:none}.product-tile-counter{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;transition:transform .1s,box-shadow .1s,border-color .12s;display:flex;overflow:hidden}.product-tile-counter:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.product-tile-counter:active:not(:disabled){transform:scale(.98)}.product-tile-counter .tile-art{letter-spacing:.03em;background:var(--color-surface-muted);place-items:center;height:96px;font-size:2rem;font-weight:800;display:grid}.product-tile-counter .tile-name{padding:.55rem .75rem .1rem;font-size:.86rem;font-weight:700;line-height:1.25}.product-tile-counter .tile-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 .75rem;font-size:.7rem;display:-webkit-box;overflow:hidden}.product-tile-counter .tile-foot{justify-content:space-between;align-items:center;gap:.4rem;margin-top:auto;padding:.55rem .75rem .7rem;display:flex}.product-tile-counter .tile-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.product-tile-counter .tile-unit{color:var(--color-text-muted);font-size:.66rem;font-weight:600}.product-tile-counter.out-of-stock{opacity:.5;pointer-events:none}.product-tile-counter.low-stock{border-color:#c49d7f}@supports (color:color-mix(in lab,red,red)){.product-tile-counter.low-stock{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border))}}.till-cart-panel{border-left:1px solid var(--color-border);border-radius:var(--radius-lg) 0 0 0;box-shadow:-4px 0 24px #0f172a0a}.till-cart-head{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.till-cart-title{align-items:center;gap:.35rem;margin:0;font-size:.95rem;font-weight:700;display:flex}.till-cart-clear{color:var(--color-danger);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.8rem;font-weight:600}.till-cart-clear:hover:not(:disabled){background:var(--color-danger-bg)}.till-cart-clear:disabled{opacity:.4;cursor:not-allowed}.till-cart-line{gap:.5rem}.cart-line-thumb{color:#fff;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.7rem;font-weight:800;display:grid}.till-cart-footer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.till-totals{padding:.85rem 1rem .5rem}.till-totals-tablet{border-top:1px solid var(--color-border);padding:.65rem 1rem}.till-total-row{color:var(--color-text-muted);justify-content:space-between;margin-bottom:.3rem;font-size:.88rem;display:flex}.till-total-row span:last-child{color:var(--color-text);font-variant-numeric:tabular-nums}.till-total-row.grand{color:var(--color-text);border-top:1px dashed var(--color-border);margin-top:.35rem;padding-top:.5rem;font-size:1.15rem;font-weight:800}.till-total-row.grand span:last-child{font-size:1.2rem}.till-total-row.discount span:last-child{color:var(--color-success)}.till-discount-btn{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);width:100%;color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.35rem;margin:.25rem 0 .35rem;padding:.4rem .5rem;font-size:.82rem;display:flex}.till-discount-btn.is-active{border-style:solid;border-color:#7cb197}@supports (color:color-mix(in lab,red,red)){.till-discount-btn.is-active{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border))}}.till-discount-btn.is-active{background:#15803d}@supports (color:color-mix(in lab,red,red)){.till-discount-btn.is-active{background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface-muted))}}.till-discount-btn.is-active{color:var(--color-text)}.till-discount-btn-label{text-align:left;color:var(--color-success);flex:1;font-weight:600}.till-discount-active-badge{background:var(--color-success);color:#fff;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.till-discount-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.till-discount-btn.is-active:hover:not(:disabled){border-color:var(--color-success)}.cart-line.has-discount .cart-line-total{color:var(--color-success)}.discount-sheet .discount-sheet-body{flex-direction:column;gap:.75rem;padding:.5rem 0 1rem;display:flex}.discount-mode-toggle{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.discount-mode-toggle button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;min-height:44px;font-weight:600}.discount-mode-toggle button.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.discount-preview{color:var(--color-text-muted);margin:0;font-size:.9rem}.discount-preview strong{color:var(--color-success)}.discount-sheet-footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.till-pay-seg{grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.5rem 1rem;display:grid}.till-pay-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);min-height:52px;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.35rem;font-size:.72rem;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:flex}.till-pay-chip .ico{font-size:1.1rem;line-height:1}.till-pay-chip.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.till-charge-btn{border-radius:var(--radius-lg);background:var(--color-primary);width:calc(100% - 2rem);min-height:52px;color:var(--color-text-inverse);font-variant-numeric:tabular-nums;margin:.5rem 1rem .65rem;font-size:1.05rem;font-weight:800;transition:background .12s,opacity .12s;display:block}.till-charge-btn:hover:not(:disabled){background:var(--color-primary-hover)}.till-charge-btn.is-disabled,.till-charge-btn:disabled{opacity:.45;cursor:not-allowed}.till-cart-aux{gap:.5rem;padding:0 1rem .85rem;display:flex}.till-cart-aux button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);min-height:36px;color:var(--color-text-muted);flex:1;font-size:.78rem;font-weight:600}.till-cart-aux button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.screen.template-minimart{--register-cart-ratio:38%}.screen.template-supermarket{--color-primary:#1d4ed8;--color-primary-hover:#1e40af;--color-primary-soft:#e1e9fc;--register-cart-ratio:42%}.screen.template-restaurant{--color-primary:#c2410c;--color-primary-hover:#9a3412;--color-primary-soft:#ffedd5;--color-accent:#b45309;--color-bg:#fff7ed;--color-surface:#fffbf5;--color-surface-muted:#fff7ed;--color-border:#fed7aa;--register-cart-ratio:40%}.screen.template-restaurant .till-logo{font-family:Georgia,Times New Roman,serif}.screen.template-boutique{--color-primary:#e4e4e7;--color-primary-hover:#d4d4d8;--color-primary-soft:#26262c;--color-accent:#c9a875;--color-bg:#0d0d10;--color-surface:#17171b;--color-surface-muted:#1f1f24;--color-border:#2e2e35;--color-text:#f4f4f5;--color-text-muted:#9a9aa2;--color-text-inverse:#0d0d10;color:var(--color-text);--register-cart-ratio:40%}.screen.template-boutique .till-logo{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);font-family:Georgia,Times New Roman,serif}.screen.template-boutique .till-pill{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text-muted)}.screen.template-boutique .till-pill.active{background:var(--color-primary);color:#0d0d10}.screen.template-hardware{--color-primary:#334155;--color-primary-hover:#1e293b;--color-primary-soft:#e2e8f0;--color-accent:#f59e0b;--color-bg:#eef2f6;--color-surface:#fff;--color-surface-muted:#f5f7fa;--color-border:#d7dee6;--register-cart-ratio:42%}.screen.template-hardware .product-list-row{grid-template-columns:44px minmax(0,1fr) 72px 110px auto}.screen.template-butchery{--color-primary:#9f3722;--color-primary-hover:#7c2a19;--color-primary-soft:#fbe4dc;--color-accent:#b45309;--color-bg:#fbf3ec;--color-surface:#fffdfb;--color-surface-muted:#fbe8dc;--color-border:#f0d3c0;--color-text:#2b1a12;--color-text-muted:#8a6a57;--register-cart-ratio:40%}.till-product-grid.template-grid-butchery{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:.85rem}.screen.template-salon{--color-primary:#be185d;--color-primary-hover:#9d174d;--color-primary-soft:#fce7f3;--color-accent:#f59e0b;--color-bg:#fdf1f6;--color-surface:#fffdfe;--color-surface-muted:#fbe4ef;--color-border:#f0d3df;--color-text:#33111f;--color-text-muted:#995c78;--register-cart-ratio:40%}.till-product-grid.template-grid-salon{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}.screen.template-salon .tile-art{border-radius:50%;width:64px;height:64px;margin:.85rem auto 0;font-size:1.6rem;position:relative}.screen.template-salon .product-tile-counter .tile-name,.screen.template-salon .product-tile-counter .tile-desc{text-align:center}.screen.template-salon .product-tile-counter .tile-foot{justify-content:center}.product-art{overflow:hidden}.product-art.has-image img{object-fit:cover;width:100%;height:100%;display:block}.template-picker{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.template-picker-card{min-height:120px;position:relative;overflow:hidden}.template-picker-preview{border-radius:var(--radius-sm);border:1px solid var(--color-border);height:48px;margin-bottom:.5rem}.template-preview-minimart{background:linear-gradient(135deg,#e6f4f0,#f4f6f8,#fff)}.template-preview-supermarket{background:linear-gradient(135deg,#0d1420,#1d4ed8 40%,#e1e9fc)}.template-preview-restaurant{background:linear-gradient(135deg,#ffedd5,#c2410c 30%,#fff7ed)}.template-preview-boutique{background:linear-gradient(135deg,#0d0d10,#c9a875,#17171b)}.template-preview-hardware{background:linear-gradient(135deg,#eef2f6,#334155,#f59e0b)}.template-preview-butchery{background:linear-gradient(135deg,#fbf3ec,#9f3722 45%,#f6d3bd)}.template-preview-salon{background:linear-gradient(135deg,#fdf1f6,#be185d 45%,#f0c3d5)}@media(max-width:900px){.till-topbar{flex-wrap:wrap}.till-search-wrap{flex:100%;order:3;max-width:none}.till-header-actions{display:none}}.sale-badge{background:var(--color-success);color:#fff;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.05rem .35rem;font-size:.62rem;font-weight:700;display:inline-block}.manager-pin-sheet .pin-display{text-align:center;letter-spacing:.35em;background:var(--color-surface-muted);border-radius:8px;margin:.5rem 0 1rem;padding:1rem;font-size:1.75rem}.manager-pin-sheet .pin-pad{grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:280px;margin:0 auto 1rem;display:grid}.manager-pin-sheet .pin-key{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:8px;min-height:52px;font-size:1.25rem;font-weight:600}.manager-pin-sheet .pin-key:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.office-select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;width:100%;padding:.5rem .65rem;font-size:.875rem}.till-header-icon-btn{justify-content:center;align-items:center;min-width:36px;padding:0 .5rem;display:inline-flex}.till-history-btn{min-width:var(--touch-min,44px);justify-content:center;align-items:center;padding:0;display:inline-flex}.sales-history-backdrop{z-index:80;background:#0f172a59;position:fixed;top:0;right:0;bottom:0;left:0}.sales-history-sheet{z-index:85;background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;width:min(420px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0000001f}.sales-history-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.sales-history-title{margin:0;font-size:1.1rem;font-weight:800}.sales-history-subtitle{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.8rem}.sales-history-close{justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0;display:inline-flex}.sales-history-body{flex:1;min-height:0;padding:.75rem 1rem 1rem;overflow-y:auto}.sales-history-empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.sales-history-list{margin:0;padding:0;list-style:none}.sales-history-list-compact{flex-direction:column;gap:.35rem;display:flex}.sales-history-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);text-align:left;cursor:pointer;flex-direction:column;gap:.25rem;width:100%;padding:.65rem .75rem;display:flex}.sales-history-row:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.sales-history-row:disabled{opacity:.6;cursor:wait}.sales-history-row-main{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sales-history-row-time{color:var(--color-text-muted);font-size:.75rem}.sales-history-row-meta{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.sales-history-detail-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.sales-history-detail-head h2{margin:0;font-size:1rem;font-weight:800}.sales-history-detail-body .data-table{font-size:.85rem}.screen.template-pharmacy{--color-primary:#0e7490;--color-primary-hover:#155e75;--color-primary-soft:#cffafe;--color-bg:#f4f7f8;--color-border:#cbd5e1;--register-cart-ratio:38%}.screen.template-pharmacy .till-search-input{min-height:52px;font-size:.95rem;font-weight:600;border-width:2px!important;border-color:var(--color-primary)!important}.product-list-row-pharmacy{grid-template-columns:44px 1fr 104px 108px 86px 92px}.product-list-row-pharmacy .lane-batch{font-size:.72rem;font-family:var(--font-mono);color:var(--color-text-muted)}.product-list-row-pharmacy .lane-stock-count{color:var(--color-text-muted);text-align:right;font-size:.74rem;font-weight:700}.product-list-row-pharmacy .lane-stock-count.low{color:var(--color-warning)}.product-list-row-pharmacy .lane-price{text-align:right}.product-list-row-pharmacy.expiry-soon{border-color:var(--color-warning)}.product-list-row-pharmacy.expiry-expired{border-color:var(--color-danger)}.product-list-row-pharmacy.expiry-expired .lane-stock-count{color:var(--color-danger)}.rx-badge{letter-spacing:.06em;color:#9d174d;vertical-align:middle;background:#fce7f3;border:1px solid #9d174d;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.6rem;font-weight:800}.exp-tag{border-radius:var(--radius-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-self:start;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.exp-tag.soon{background:var(--color-warning-bg);color:var(--color-warning)}.exp-tag.expired{background:var(--color-danger-bg);color:var(--color-danger)}.template-preview-pharmacy{background:linear-gradient(135deg,#cffafe,#0e7490 45%,#f4f7f8)}.last-sale-bar{background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex;box-shadow:0 -4px 16px #0000000d}.last-sale-bar-body{align-items:center;gap:.65rem;min-width:0;display:flex}.last-sale-badge{background:var(--color-success);width:26px;height:26px;color:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.last-sale-copy{min-width:0}.last-sale-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.last-sale-meta{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.last-sale-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.last-sale-btn{min-height:var(--touch-min,40px);padding:.35rem 1rem}.last-sale-dismiss{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.last-sale-dismiss:hover{background:var(--color-bg);color:var(--color-text)}.btn{min-height:var(--touch-min);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-weight:600;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#fecaca}.btn-lg{min-height:52px;padding:0 1.25rem;font-size:1.05rem}.btn.is-disabled,a.btn.is-disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.modal-overlay{background:var(--overlay-scrim);z-index:100;place-items:center;padding:1rem;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal-overlay[hidden]{display:none!important}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(480px,96vw);max-height:90vh;box-shadow:var(--shadow-md);padding:1.5rem;overflow:auto}.form-error{color:var(--color-danger);margin:.5rem 0 0;font-size:.875rem}.field-label{margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.btn-icon{min-width:var(--touch-min);padding:0}.chip{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;min-height:36px;padding:0 .85rem;font-size:.875rem;font-weight:500;display:inline-flex}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.chip-quick-group{border-color:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.chip-quick-group{border-color:color-mix(in srgb,var(--group-color,var(--color-primary)) 35%,var(--color-border))}}.chip-quick-group{background:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.chip-quick-group{background:color-mix(in srgb,var(--group-color,var(--color-primary)) 8%,var(--color-bg))}}.chip-quick-group{color:var(--color-text);font-weight:600}.chip-quick-group:hover{border-color:var(--group-color,var(--color-primary));background:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.chip-quick-group:hover{background:color-mix(in srgb,var(--group-color,var(--color-primary)) 14%,var(--color-bg))}}.chip-quick-group:focus-visible{outline:2px solid var(--group-color,var(--color-primary));outline-offset:2px}.badge{border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.input,.search-input{width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:0 .85rem}.input:focus,.search-input:focus{border-color:var(--color-primary);border-width:var(--border-width-focus);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.kwacha{font-variant-numeric:tabular-nums;font-weight:600}.kwacha:before{content:"K ";opacity:.85;font-weight:500}.status-strip{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;min-height:36px;padding:0 1rem;font-size:.8125rem;font-weight:500;display:flex}.status-strip.ok{background:var(--color-success-bg);color:var(--color-success)}.status-strip.warn{background:var(--color-warning-bg);color:var(--color-warning)}.status-strip.error{background:var(--color-danger-bg);color:var(--color-danger)}.pwa-install-banner{background:var(--color-primary);color:var(--color-text-inverse);border-bottom:1px solid #0a624c;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}@supports (color:color-mix(in lab,red,red)){.pwa-install-banner{border-bottom:1px solid color-mix(in srgb,var(--color-primary) 80%,black)}}.pwa-install-banner{font-size:.8125rem}.pwa-install-banner p{opacity:.9;margin:.15rem 0 0}.pwa-install-actions{flex-shrink:0;gap:.35rem;display:flex}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.product-tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;min-height:110px;padding:.75rem;transition:border-color .15s,box-shadow .15s;display:flex}.product-tile:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.product-tile .tile-name{margin-bottom:.25rem;font-size:.9rem;font-weight:600}.product-tile .tile-price{color:var(--color-primary);margin-top:auto;font-weight:700}.product-tile .tile-stock{color:var(--color-text-muted);font-size:.75rem}.product-tile.low-stock{border-color:var(--color-warning)}.cart-line{align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.cart-line:last-child{border-bottom:none}.cart-line-info{flex:100%;min-width:0}.cart-line-name{font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cart-line-meta{font-size:var(--text-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qty-stepper{order:2}.cart-line-total{font-variant-numeric:tabular-nums;white-space:nowrap;order:3;margin-left:auto;font-weight:700}.qty-stepper{border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;display:inline-flex;overflow:hidden}.qty-stepper button{min-width:var(--touch-min);background:var(--color-bg);cursor:pointer;border:none;min-height:36px;font-size:1.1rem;font-weight:600}.qty-stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:2rem;font-weight:600}.qty-edit-trigger{text-align:center;font-variant-numeric:tabular-nums;cursor:text;min-width:2rem;min-height:36px;color:var(--color-text);background:0 0;border:none;font-weight:700}.qty-edit-trigger:hover{text-decoration:underline}.qty-edit-input{text-align:center;font-variant-numeric:tabular-nums;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);width:2.75rem;min-height:36px;font-weight:700}.qty-remove-confirm{color:var(--color-danger);padding:0 .5rem;font-size:.72rem;font-weight:700;background:var(--color-danger-bg)!important;min-width:auto!important}.pay-chip{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.35rem;min-height:72px;font-weight:600;display:flex}.pay-chip.selected,.pay-chip[data-state=on]{border-color:var(--color-primary);background:var(--color-primary-soft)}.pay-chip .icon{font-size:1.5rem}.keypad{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.keypad button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;min-height:52px;font-size:1.25rem;font-weight:600}.keypad button:hover{background:var(--color-bg)}.keypad button.keypad-clear{color:var(--color-text-muted);letter-spacing:.02em;font-size:1rem;font-weight:800}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.data-table th{background:var(--color-bg);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.data-table tr:hover td{background:#fafbfc}.stat-card{padding:1.25rem}.stat-card .label{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.8125rem}.stat-card .value{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.stat-card .value.kwacha:before{font-size:1rem}.inline-banner{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;font-size:.875rem;display:flex}.inline-banner.info{background:var(--color-info-bg);color:var(--color-info)}.inline-banner.success{background:var(--color-success-bg);color:var(--color-success)}.wireframe-tag{z-index:9999;color:#fff;pointer-events:none;background:#0f172ad9;border-radius:999px;padding:.35rem .65rem;font-size:.7rem;position:fixed;bottom:12px;right:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.data-table-sort-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;display:inline-flex}.quick-group-count{justify-content:center;min-width:1.25rem;margin-left:.25rem;padding:0 .35rem;font-size:.65rem}.quick-group-backdrop{right:0}@media(min-width:769px){.quick-group-backdrop{right:calc(100% - var(--register-grid-ratio,60%))}}.quick-group-panel{z-index:55;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;position:fixed;overflow:hidden;box-shadow:4px 0 24px #0000001f}:root{--quick-group-cart-gap:1rem}.quick-group-panel-portal{width:calc(var(--register-grid-ratio,60%) - var(--quick-group-cart-gap));max-width:none;position:absolute;top:0;bottom:0;left:0}.quick-group-panel-fixed{width:calc(var(--register-grid-ratio,60%) - var(--quick-group-cart-gap));top:0;bottom:0;left:0}.register-body.quick-group-open .register-grid-panel.payment-dimmed{pointer-events:none;opacity:.45}.quick-group-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);border-left:4px solid var(--group-color,var(--color-primary));background:var(--color-surface);flex-shrink:0}.quick-group-header-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.quick-group-header-text{flex:1;min-width:0}.quick-group-close-btn{flex-shrink:0;min-width:32px;min-height:32px}.quick-group-title{font-size:var(--text-md);font-weight:var(--weight-black);line-height:var(--leading-tight);margin:0}.quick-group-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-2xs);color:var(--color-text-muted)}.quick-group-subtitle-hint{color:var(--color-text-muted);opacity:.7}.quick-group-toolbar{gap:var(--space-inline);margin-top:var(--space-2);flex-shrink:0;display:flex}.quick-group-toolbar-cancel{min-height:38px;font-size:var(--text-sm);flex:none}.quick-group-toolbar-add{min-height:38px;font-weight:var(--weight-bold);font-size:var(--text-sm);flex:1}.quick-group-header-actions{align-items:center;gap:var(--space-inline);margin-top:var(--space-2);flex-direction:row;display:flex}.quick-group-header-actions .quick-group-search{flex:1}@media(max-height:720px){.quick-group-subtitle-hint{display:none}}.quick-group-search{position:relative}.quick-group-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.quick-group-search-input{min-height:36px;padding-left:2rem;font-size:.8125rem}.quick-group-bulk-actions{gap:.4rem;display:flex}.quick-group-bulk-btn{flex:1;min-height:36px;font-size:.8125rem;font-weight:600}.quick-group-list{flex:1;align-content:start;min-height:0;padding:.5rem .65rem;overflow-y:auto}.quick-group-list-grid{gap:.35rem;display:grid}.quick-group-list-minimart{grid-template-columns:repeat(6,minmax(0,1fr))}.quick-group-list-restaurant{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-group-list-boutique{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-group-list-lane{flex-direction:column;gap:.25rem;display:flex}.quick-group-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:1.5rem .5rem;font-size:.875rem}.quick-group-tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;min-height:56px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.quick-group-tile.is-checked{border-color:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.quick-group-tile.is-checked{border-color:color-mix(in srgb,var(--group-color,var(--color-primary)) 45%,var(--color-border))}}.quick-group-tile.is-checked{background:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.quick-group-tile.is-checked{background:color-mix(in srgb,var(--group-color,var(--color-primary)) 5%,var(--color-surface))}}.quick-group-tile.is-just-added{animation:.4s quick-group-add-flash}.quick-group-tile.is-disabled{opacity:.55}.quick-group-tile-checkbox-hit{z-index:2;background:#ffffffd9;border:none;justify-content:center;align-items:center;margin:0;padding:.15rem;display:inline-flex;position:absolute;top:.2rem;left:.2rem}@supports (color:color-mix(in lab,red,red)){.quick-group-tile-checkbox-hit{background:color-mix(in srgb,var(--color-surface) 85%,transparent)}}.quick-group-tile-checkbox-hit{border-radius:var(--radius-sm);cursor:pointer;line-height:0}.quick-group-tile-checkbox-hit:disabled{cursor:not-allowed;opacity:.6}.quick-group-tile-main{cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:.15rem;width:100%;min-height:56px;margin:0;padding:.45rem .4rem .4rem 1.65rem;display:flex}.quick-group-tile-main:disabled{cursor:not-allowed}.quick-group-tile-main:active:not(:disabled){opacity:.88}.quick-group-tile-art{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:100%;height:2rem;margin-bottom:.1rem;font-size:.7rem;font-weight:800;display:flex}.quick-group-tile-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.quick-group-tile-foot{justify-content:space-between;align-items:center;gap:.25rem;margin-top:auto;display:flex}.quick-group-tile-price{font-variant-numeric:tabular-nums;color:var(--color-primary);font-size:.72rem;font-weight:800}.quick-group-tile-qty{border-top:1px dashed var(--color-border);padding:0 .35rem .35rem}.quick-group-tile-boutique .quick-group-tile-art{height:2.5rem}.quick-group-lane-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:auto 1fr auto;align-items:center;gap:0 .35rem;min-height:40px;padding:.2rem .35rem .2rem .25rem;transition:border-color .15s,background .15s;display:grid}.quick-group-lane-row.is-checked{border-color:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.quick-group-lane-row.is-checked{border-color:color-mix(in srgb,var(--group-color,var(--color-primary)) 45%,var(--color-border))}}.quick-group-lane-row.is-checked{background:var(--group-color,#0d7a5f)}@supports (color:color-mix(in lab,red,red)){.quick-group-lane-row.is-checked{background:color-mix(in srgb,var(--group-color,var(--color-primary)) 5%,var(--color-surface))}}.quick-group-lane-row.is-just-added{animation:.4s quick-group-add-flash}.quick-group-lane-row.is-disabled{opacity:.55}.quick-group-lane-checkbox-hit{cursor:pointer;background:0 0;border:none;grid-row:1;justify-content:center;align-items:center;margin:0;padding:.15rem;line-height:0;display:inline-flex}.quick-group-lane-checkbox-hit:disabled{cursor:not-allowed;opacity:.6}.quick-group-lane-main{cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:none;grid-row:1;align-items:center;gap:.5rem;min-width:0;margin:0;padding:.25rem .35rem;display:flex}.quick-group-lane-main:disabled{cursor:not-allowed}.quick-group-lane-main:active:not(:disabled){opacity:.88}.quick-group-lane-art{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.62rem;font-weight:800;display:flex}.quick-group-lane-info{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.quick-group-lane-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;line-height:1.2;overflow:hidden}.quick-group-lane-sku{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.quick-group-lane-price{font-variant-numeric:tabular-nums;color:var(--color-primary);flex-shrink:0;font-size:.8125rem;font-weight:800}.quick-group-lane-qty{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.quick-group-stock-badge{padding:0 .28rem;font-size:.58rem}.quick-group-stock-warn{border-color:var(--color-warning);color:var(--color-warning)}.quick-group-qty .quick-group-qty-btn{width:28px;min-width:28px;height:28px;min-height:28px}.quick-group-qty-compact .quick-group-qty-btn{width:26px;min-width:26px;height:26px;min-height:26px}.quick-group-qty-input{text-align:center;width:1.85rem;min-height:28px;padding:.1rem;font-size:.75rem;font-weight:600}@keyframes quick-group-add-flash{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-success,#16a34a) 70%,transparent)}to{box-shadow:none}}@media(max-width:768px){.register-body.hub-stack .quick-group-backdrop{right:0}.register-body.hub-stack .quick-group-panel-portal,.register-body.hub-stack .quick-group-panel-fixed{width:100%;max-width:none}.quick-group-list-minimart{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-group-list-restaurant,.quick-group-list-boutique{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-group-qty .quick-group-qty-btn{min-width:var(--touch-min,44px);min-height:var(--touch-min,44px);width:auto;height:auto}.quick-group-qty-input{width:2.5rem;min-height:40px}}@media(max-width:480px){.quick-group-list-minimart,.quick-group-list-restaurant,.quick-group-list-boutique{grid-template-columns:repeat(2,minmax(0,1fr))}}.variant-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-direction:column;flex-shrink:0;gap:.7rem;margin:.65rem .75rem 0;padding:.8rem;display:flex}.variant-picker-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.variant-picker-name{font-size:.88rem;font-weight:700}.variant-picker-price{color:var(--color-primary);font-size:.88rem;font-weight:700}.variant-picker-group{flex-direction:column;gap:.35rem;display:flex}.variant-picker-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.62rem;font-weight:700}.variant-picker-row{flex-wrap:wrap;gap:.4rem;display:flex}.variant-size{min-width:46px;min-height:var(--touch-min,44px);border:1px solid var(--color-border);border-radius:var(--radius-interactive);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:0 .6rem;font-size:.82rem;font-weight:700;transition:border-color .12s,background .12s}.variant-size:hover:not(:disabled){border-color:var(--color-primary)}.variant-size.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse,#fff)}.variant-size:disabled{opacity:.35;cursor:not-allowed}.variant-colour{width:var(--touch-min,44px);height:var(--touch-min,44px);border:2px solid var(--color-border);border-radius:var(--radius-interactive);background:var(--color-surface);cursor:pointer;font-size:.7rem;transition:border-color .12s}.variant-colour:hover:not(:disabled){border-color:var(--color-primary)}.variant-colour.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.variant-colour:disabled{opacity:.35;cursor:not-allowed}.variant-picker-stock{color:var(--color-text-muted);font-size:.72rem}.variant-picker-actions{gap:.5rem;display:flex}.variant-cancel{min-height:var(--touch-min,44px);border:1px solid var(--color-border);border-radius:var(--radius-interactive);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;padding:0 .9rem;font-size:.8rem;font-weight:700}.variant-add{min-height:var(--touch-min,44px);border:1px solid var(--color-border);border-radius:var(--radius-interactive);background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed;flex:1;font-size:.82rem;font-weight:800}.variant-add.ready{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse,#fff);cursor:pointer}.cart-line-variant{border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);margin-left:.35rem;padding:.05rem .35rem;font-size:.68rem;font-weight:700}.payment-till-hint{border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);margin:.4rem 0 0;padding:.5rem .7rem;font-size:.8rem;font-weight:600}.status-strip{min-height:var(--status-strip-height,32px);justify-content:space-between}.status-strip .status-segments{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.status-segment{align-items:center;gap:.35rem;display:inline-flex}.status-segment:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-segment-badge{font-size:var(--text-badge);gap:.35rem}.status-segment-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-strip-toggle{height:28px;margin-left:auto;font-size:.75rem;min-height:28px!important;padding:0 .5rem!important}.product-tile-v3{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;flex-direction:column;min-height:96px;padding:0;transition:border-color .15s,box-shadow .15s,transform 80ms;display:flex;position:relative;overflow:hidden}.product-tile-v3:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.product-tile-v3:active{transform:scale(var(--tile-press-scale,.97))}.product-tile-v3 .tile-header{width:100%;font-weight:700;font-size:var(--text-product-title);color:var(--color-text);background:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:.5rem .6rem;line-height:1.25;display:-webkit-box;overflow:hidden}.product-tile-v3 .tile-body{flex:1;justify-content:space-between;align-items:center;gap:.35rem;margin-top:auto;padding:.5rem .6rem .55rem;display:flex}.product-tile-v3 .tile-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.product-tile-v3 .stock-pill{white-space:nowrap;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.product-tile-v3 .stock-pill.low{background:var(--color-warning-bg);color:var(--color-warning)}.product-tile-v3 .stock-pill.out{background:var(--color-danger-bg);color:var(--color-danger)}.product-tile-v3.low-stock{border-color:#c49d7f}@supports (color:color-mix(in lab,red,red)){.product-tile-v3.low-stock{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border))}}.product-tile-v3.out-of-stock{opacity:.55;pointer-events:none}.template-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.template-picker-card{text-align:left;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;flex-direction:column;gap:.35rem;padding:.85rem;transition:border-color .15s,box-shadow .15s;display:flex}.template-picker-card:hover{border-color:var(--color-primary)}.template-picker-card.selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.template-picker-label{font-size:.9rem;font-weight:700}.template-picker-blurb{color:var(--color-text-muted);font-size:.78rem}.cat-groceries{background:var(--category-groceries)}.cat-drinks{background:var(--category-drinks)}.cat-snacks{background:var(--category-snacks)}.cat-household{background:var(--category-household)}.cat-personal{background:var(--category-personal)}.cat-stationery{background:var(--category-stationery)}.cat-default{background:var(--category-default)}.product-tile-v3.image-forward{min-height:132px}.product-tile-v3.image-forward .tile-avatar{color:#fff;letter-spacing:.03em;justify-content:center;align-items:center;height:56px;font-size:1rem;font-weight:800;display:flex}.product-tile-v3.image-forward .tile-header{background:var(--color-surface);border-bottom:none;font-size:.8rem}.product-tile-v2{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;flex-direction:column;min-height:96px;padding:0;transition:border-color .15s,box-shadow .15s,transform 80ms;display:flex;position:relative;overflow:hidden}.product-tile-v2:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.product-tile-v2:active{transform:scale(var(--tile-press-scale,.97))}.product-tile-v2 .tile-header{width:100%;color:var(--color-text);background:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:.5rem .6rem;font-size:.82rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.product-tile-v2 .tile-body{flex:1;justify-content:space-between;align-items:center;gap:.35rem;padding:.5rem .6rem .55rem;display:flex}.product-tile-v2 .tile-price{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.product-tile-v2 .stock-pill{white-space:nowrap;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.product-tile-v2 .stock-pill.low{background:var(--color-warning-bg);color:var(--color-warning)}.product-tile-v2 .stock-pill.out{background:var(--color-danger-bg);color:var(--color-danger)}.product-tile-v2.low-stock{border-color:#c49d7f}@supports (color:color-mix(in lab,red,red)){.product-tile-v2.low-stock{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border))}}.product-tile-v2.out-of-stock{opacity:.55;pointer-events:none}.cart-panel-v2 .cart-panel-header{padding:.85rem 1rem}.cart-item-count{background:var(--color-primary-soft);min-width:1.35rem;height:1.35rem;color:var(--color-primary);border-radius:999px;justify-content:center;align-items:center;margin-left:.35rem;padding:0 .35rem;font-size:.75rem;font-weight:800;display:inline-flex}.cart-summary-bar{border-top:1px solid var(--color-border);background:var(--color-bg);padding:.85rem 1rem}.cart-summary-bar .summary-row{justify-content:space-between;margin-bottom:.35rem;font-size:.9rem;display:flex}.cart-summary-bar .summary-row.total{font-size:var(--text-product-title);border-top:1px dashed var(--color-border);margin-top:.35rem;padding-top:.5rem;font-weight:800}.cart-summary-bar .summary-row.total span:last-child,.cart-summary-bar .summary-row span:last-child{font-variant-numeric:tabular-nums}.pay-bar-v2{border-top:1px solid var(--color-border);background:var(--color-surface);padding:.75rem 1rem 1rem}.pay-bar-v2 .btn-pay{width:100%;min-height:var(--cart-pay-height,56px);font-variant-numeric:tabular-nums;border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:800;display:flex}.pay-bar-v2 .btn-pay .pay-amount{font-size:var(--text-total-display);font-variant-numeric:tabular-nums;line-height:1}.screen.template-restaurant{--color-primary:#c2410c;--color-primary-hover:#9a3412;--color-primary-soft:#ffedd5;--color-accent:#b45309;--color-bg:#fff7ed;--color-surface:#fffbf5;--color-border:#fed7aa}.screen.template-restaurant .product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.screen.template-restaurant .product-tile-v3{border-radius:var(--radius-lg)}.screen.template-boutique{--color-primary:#e4e4e7;--color-primary-hover:#d4d4d8;--color-primary-soft:#26262c;--color-accent:#c9a875;--color-bg:#0d0d10;--color-surface:#17171b;--color-surface-muted:#1f1f24;--color-border:#2e2e35;--color-text:#f4f4f5;--color-text-muted:#9a9aa2;--color-text-inverse:#0d0d10;color:var(--color-text)}.screen.template-boutique .product-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.85rem}.screen.template-boutique .product-tile-v3{border-radius:var(--radius-lg);letter-spacing:.01em}.screen.template-boutique .tile-header{font-size:.88rem}.concept-speed .register-header{flex-wrap:wrap;padding:.5rem .75rem}.concept-speed .register-header .brand,.concept-speed .register-header .header-actions .btn-secondary:not(#hold-sale):not(#recall-sale){display:none}.concept-speed .register-header .search-wrap{flex:100%;order:-1;max-width:none}.concept-speed .search-input-hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h2V3a1 1 0 0 0-2 0v2zm0 16h2v-2a1 1 0 0 0-2 0v2zM3 11h2V9a1 1 0 0 0-2 0v2zm16 10h2v-2a1 1 0 0 0-2 0v2zm0-16h2V3a1 1 0 0 0-2 0v2zm0 8h2V9a1 1 0 0 0-2 0v2zM11 3v2h2V3a1 1 0 0 0-2 0zm-4 16v2h2v-2a1 1 0 0 0-2 0zm8 0v2h2v-2a1 1 0 0 0-2 0zM7 7h10v10H7V7z'/%3E%3C/svg%3E");background-position:.85rem;background-repeat:no-repeat;min-height:56px;padding-left:2.75rem;font-size:1.05rem}.concept-speed .chip-icon{align-items:center;gap:.35rem;display:inline-flex}.concept-speed .chip-icon .chip-emoji{font-size:1rem;line-height:1}.concept-speed .product-grid-speed{grid-template-columns:repeat(auto-fill,minmax(var(--product-tile-min-speed,160px),1fr))}.concept-speed .register-body{grid-template-columns:65% 35%}.concept-speed .pay-bar-v2 .btn-pay .pay-meta{opacity:.9;font-size:.8rem;font-weight:600}.concept-hub .register-body.hub-stack{flex-direction:column;min-height:0;display:flex}.concept-hub .register-grid-panel.hub-grid{border-right:none;border-bottom:1px solid var(--color-border);flex:0 0 45%;max-height:45vh}.concept-hub .cart-panel.hub-cart{flex:1;min-height:0}.concept-hub .product-grid.hub-compact{grid-template-columns:repeat(3,1fr);gap:.5rem}.concept-hub .product-tile-v2,.concept-hub .product-tile-v3{min-height:88px}.concept-hub .qty-stepper.hub-stepper button,.concept-hub .qty-stepper.hub-stepper .qty-edit-trigger,.concept-hub .qty-stepper.hub-stepper .qty-edit-input{min-width:48px;min-height:48px}.concept-hub .hub-thumb-bar{border-top:1px solid var(--color-border);background:var(--color-surface);gap:.5rem;padding:.75rem 1rem;display:flex}.concept-hub .hub-thumb-bar .btn{flex:1}.concept-hub .hub-thumb-bar .btn-pay{flex:2}.low-stock-panel{border:1px solid #c7aa95;margin-bottom:1.25rem;padding:1rem 1.25rem}@supports (color:color-mix(in lab,red,red)){.low-stock-panel{border:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--color-border))}}.low-stock-panel{border-radius:var(--radius-lg);background:var(--color-warning-bg)}@supports (color:color-mix(in lab,red,red)){.low-stock-panel{background:color-mix(in srgb,var(--color-warning-bg) 60%,var(--color-surface))}}.low-stock-panel h3{color:var(--color-warning);margin:0 0 .65rem;font-size:.9rem}.low-stock-list{flex-wrap:wrap;gap:.5rem;display:flex}.low-stock-chip{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.low-stock-chip:hover{border-color:var(--color-warning)}.table-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.table-toolbar .input{max-width:280px}.filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.filter-chips .chip{min-height:32px;font-size:.8rem}.stat-card .sparkline{background:linear-gradient(90deg,var(--color-primary-soft) 0%,transparent 100%);border-radius:var(--radius-sm);opacity:.7;height:28px;margin-top:.5rem}.stat-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card.clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.concept-picker{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.concept-picker-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.concept-card{color:inherit;border:2px solid var(--color-border);padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s}.concept-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.concept-card.recommended{border-color:var(--color-primary);background:#f5fbf9}@supports (color:color-mix(in lab,red,red)){.concept-card.recommended{background:color-mix(in srgb,var(--color-primary-soft) 40%,var(--color-surface))}}.concept-card .tag-rec{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin-bottom:.5rem;font-size:.65rem;font-weight:800;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:-120% 0}to{background-position:120% 0}}.product-tile-skeleton{border-radius:var(--radius-md);border:1px solid var(--color-border);background:linear-gradient(100deg,var(--color-surface) 30%,var(--color-bg) 50%,var(--color-surface) 70%);background-size:200% 100%;min-height:96px;animation:1.2s ease-in-out infinite skeleton-shimmer}.cart-empty-state{color:var(--color-text-muted);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1rem;display:flex}.cart-empty-state p{margin:0;font-size:.9rem}.sale-complete-banner{background:var(--color-success-bg);color:var(--color-success);align-items:center;gap:.6rem;margin:0 1rem;font-weight:600;display:flex}.sale-complete-check{background:var(--color-success);width:1.35rem;height:1.35rem;color:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.sale-complete-receipt-btn{min-height:32px;margin-left:auto;font-size:.8rem}.receipt-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.receipt-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:min(360px,100%);max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.receipt-modal-actions{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;gap:.5rem;padding:.75rem;display:flex}.receipt-paper{padding:1.25rem;font-family:Courier New,ui-monospace,monospace;position:relative;overflow-y:auto}.receipt-header{text-align:center;border-bottom:1px dashed var(--color-border);margin-bottom:.85rem;padding-bottom:.85rem}.receipt-brand{font-size:1.1rem;font-weight:800}.receipt-meta{color:var(--color-text-muted);font-size:.78rem}.receipt-lines{border-bottom:1px dashed var(--color-border);margin-bottom:.85rem;padding-bottom:.85rem}.receipt-line{justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.receipt-line-qty{color:var(--color-text-muted)}.receipt-totals,.receipt-payments{margin-bottom:.85rem}.receipt-total-row{justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}.receipt-total-grand{border-top:1px dashed var(--color-border);padding-top:.35rem;font-size:1rem;font-weight:800}.receipt-footer{text-align:center;color:var(--color-text-muted);border-top:1px dashed var(--color-border);padding-top:.5rem;font-size:.78rem}@media print{body *{visibility:hidden}.receipt-paper,.receipt-paper *{visibility:visible}.receipt-paper{max-height:none;position:fixed;top:0;right:0;bottom:0;left:0}.receipt-modal-actions{display:none}}@keyframes scan-flash{0%{background:var(--color-primary-soft)}to{background:var(--color-surface)}}.search-input.scan-flash,.cart-line.cart-line-flash{animation:.35s ease-out scan-flash}.cart-panel-v2 .cart-panel-header{flex-shrink:0}.cart-panel-v2 .cart-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.cart-panel-v2 .cart-summary-bar,.cart-panel-v2 .pay-bar-v2,.cart-panel-v2 .hub-thumb-bar{flex-shrink:0}@media(max-width:900px){.concept-speed .register-body{grid-template-columns:1fr 1fr}}@media(max-width:768px){.concept-hub .product-grid.hub-compact{grid-template-columns:repeat(2,1fr)}}.screen.theme-dark{--color-bg:#101013;--color-surface:#191920;--color-surface-muted:#22222b;--color-border:#34343f;--color-text:#ececf1;--color-text-muted:#a9a9b6;--color-primary-soft:#0d7a5f}@supports (color:color-mix(in lab,red,red)){.screen.theme-dark{--color-primary-soft:color-mix(in srgb, var(--color-primary) 16%, var(--color-surface-muted))}}.screen.theme-dark{color:var(--color-text)}.screen.theme-clinical{--color-bg:#f2f7fa;--color-surface:#fff;--color-surface-muted:#eef4f8;--color-border:#d6e2ea;--color-text:#0f1b26;--color-text-muted:#5b7282;--color-primary:#0e7490;--color-primary-hover:#155e75;--color-primary-soft:#dff1f6;--color-accent:#0891b2;--color-text-inverse:#fff;color:var(--color-text)}.screen.theme-boutique-dark{--color-bg:#0d0d10;--color-surface:#17171b;--color-surface-muted:#1f1f24;--color-border:#2e2e35;--color-text:#f4f4f5;--color-text-muted:#9a9aa2;--color-primary:#e4e4e7;--color-primary-hover:#fff;--color-primary-soft:#26262c;--color-accent:#c9a875;--color-text-inverse:#0d0d10;color:var(--color-text)}.screen.theme-boutique-light{--color-bg:#f6f3ee;--color-surface:#fff;--color-surface-muted:#f0ece5;--color-border:#e3ddd3;--color-text:#1c1917;--color-text-muted:#78716c;--color-primary:#18181b;--color-primary-hover:#000;--color-primary-soft:#e7e2dc;--color-accent:#a16207;--color-text-inverse:#fff;color:var(--color-text)}.screen.theme-boutique-light .product-tile-boutique .tile-art,.screen.theme-boutique-light .product-tile-counter .tile-art{color:var(--color-text-muted)}.office-scroll-y{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-height:min(320px,45vh);overflow:hidden auto}.office-scroll-y::-webkit-scrollbar{width:8px}.office-scroll-y::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.office-scroll-x{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;overflow-x:auto}.office-scroll-x::-webkit-scrollbar{height:8px}.office-scroll-x::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.stat-skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,#e8edf2 50%,var(--color-bg) 75%);border-radius:var(--radius-md);background-size:200% 100%;min-height:2rem;animation:1.2s ease-in-out infinite stat-pulse}.stat-skeleton.label{width:60%;min-height:.75rem;margin-bottom:.5rem}.stat-skeleton.value{width:80%;min-height:1.75rem}@keyframes stat-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.section-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;min-height:0;margin-bottom:1.25rem;display:flex}.section-panel-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.section-panel-title{margin:0;font-size:.95rem;font-weight:700}.section-panel-actions{align-items:center;gap:.35rem;display:flex}.section-panel-body{min-height:0}.section-panel-fullscreen-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:32px;min-height:32px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.section-panel-fullscreen-btn[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.section-panel.is-fullscreen{z-index:200;border-radius:0;max-height:none;margin:0;position:fixed;top:0;right:0;bottom:0;left:0}.section-panel.is-fullscreen .section-panel-body,.section-panel.is-fullscreen .office-scroll-y{flex:1;max-height:none}.doc-viewer-backdrop{z-index:300;background:#0f172a73;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.doc-viewer{background:var(--color-surface);width:min(720px,100%);max-width:100%;box-shadow:var(--shadow-md);flex-direction:column;min-height:0;display:flex}.doc-viewer.is-expanded{width:100%}.doc-viewer-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.doc-viewer-title{margin:0;font-size:1.1rem;font-weight:700}.doc-viewer-meta{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.8rem}.doc-viewer-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;flex-shrink:0;gap:.5rem;padding:.65rem 1.25rem;display:flex}.doc-viewer-preview{background:#f8fafc;flex:1;min-height:0;padding:1.25rem;position:relative;overflow:auto}.doc-preview-paper{border:1px solid var(--color-border);max-width:480px;box-shadow:var(--shadow-sm);background:#fff;margin:0 auto;padding:1.5rem;position:relative}.doc-watermark{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-success);color:var(--color-success);background:#dcfce7;border-radius:999px;padding:.2rem .5rem;font-size:.65rem;font-weight:800;position:absolute;top:1rem;right:1rem}.doc-watermark.is-copy{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning)}.doc-generating-overlay{background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.doc-generating-bar{background:var(--color-border);border-radius:2px;width:12rem;height:4px;overflow:hidden}.doc-generating-bar:after{content:"";background:var(--color-primary);width:30%;height:100%;animation:1.2s ease-in-out infinite doc-indeterminate;display:block}@keyframes doc-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.office-error-banner{border-radius:var(--radius-md);color:var(--color-danger);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.sales-row-selected{background:var(--color-primary-soft)!important}@media(prefers-reduced-motion:reduce){.stat-skeleton{background:var(--color-bg);animation:none}}@media print{.doc-viewer-backdrop{background:0 0;position:static}.doc-viewer-toolbar,.doc-viewer-header button{display:none!important}}.tax-mode-picker{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.tax-mode-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex-direction:column;gap:.35rem;padding:.85rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.tax-mode-card:hover:not(:disabled){border-color:var(--color-primary)}.tax-mode-card:disabled{opacity:.6;cursor:not-allowed}.tax-mode-card.selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.tax-mode-label{font-size:.9rem;font-weight:700}.tax-mode-blurb{color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.tax-mode-card.selected .tax-mode-blurb{color:var(--color-text)}.field-hint{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.72rem;line-height:1.45}.provider-list{flex-direction:column;gap:.5rem;display:flex}.provider-row{grid-template-columns:minmax(160px,220px) 1fr;align-items:center;gap:.75rem;display:grid}.provider-toggle{min-height:var(--touch-min,44px);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.provider-toggle input{width:18px;height:18px;accent-color:var(--color-primary)}.form-success{border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);margin:0 0 .75rem;padding:.6rem .8rem;font-size:.82rem;font-weight:600}.form-error{border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger);margin:0 0 .75rem;padding:.6rem .8rem;font-size:.82rem;font-weight:600}.product-upload-thumb{border-radius:var(--radius-md);border:1px dashed var(--color-border);background:var(--color-surface);flex:none;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.product-upload-thumb img{object-fit:cover;width:100%;height:100%;display:block}.product-table-art{border-radius:var(--radius-sm);color:#fff;place-items:center;width:34px;height:34px;font-size:.7rem;font-weight:800;display:grid;overflow:hidden}@media(max-width:720px){.provider-row{grid-template-columns:1fr}}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);margin:0}#root{min-height:100vh}.kwacha:before{content:"K "}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}
