@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-vietnamese-wght-normal-HM2SI5GO.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-latin-ext-wght-normal-DJDR5FSA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-latin-wght-normal-FAU44YVK.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/public-sans-vietnamese-wght-normal-PMH2QVIM.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/public-sans-latin-ext-wght-normal-BL5AXJGA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/public-sans-latin-wght-normal-ANOH7ZEW.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-400-normal-A2WATXFY.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-normal-4MWPPJAM.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-latin-500-normal-33HAQIPI.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-500-normal-EJMP6L36.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-mono-latin-600-normal-IIV3OB4N.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-600-normal-BXFNGPE3.woff") format("woff")}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/fraunces-vietnamese-opsz-normal-ZVI2WK73.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/fraunces-latin-ext-opsz-normal-KIF4LF64.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/fraunces-latin-opsz-normal-5YJQ66G4.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-vietnamese-opsz-normal-6OAODYXI.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-ext-opsz-normal-FVLOWDEN.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-opsz-normal-XV2ZJLIL.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-900: #14201c;--ink-800: #1e2e28;--ink-700: #2a3b35;--ink-500: #4e635c;--ink-300: #8fa39b;--ink-150: #d8dfdb;--ink-100: #e4e9e6;--ink-50: #eff2f0;--paper: #fafaf8;--surface: #ffffff;--chrome: var(--ink-900);--on-chrome: var(--surface);--on-chrome-muted: var(--ink-300);--veil: 255 255 255;--brass: #9a7b23;--brass-strong: #7d631b;--brass-50: #f5edd9;--profit: #1b7a4b;--profit-50: #e6f4ec;--loss: #b3261e;--loss-strong: #8f1e18;--loss-50: #fbeceb;--warn: #c2410c;--warn-50: #fdefe7;--info: #2563a8;--money-lit: #58e39b;--change-lit: #f5a95f;--take: #17753f;--take-strong: #125f33;--cat-1: #5f8a2f;--cat-2: #7d5bbe;--cat-3: #b23c74;--cat-4: #3d6fb4;--cat-5: #17807a;--cat-6: #9a5228;--cat-7: #6b6f76;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%234e635c' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--chevron-on-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%238fa39b' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--font-display: "Archivo Variable", "Segoe UI", system-ui, sans-serif;--font-ui: "Public Sans Variable", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.5rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--label-case: uppercase;--label-tracking: .08em;--label-caps: normal;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(20 32 28 / 6%);--shadow-md: 0 4px 12px rgb(20 32 28 / 8%);--shadow-lg: 0 12px 32px rgb(20 32 28 / 12%);--focus-ring: 0 0 0 3px rgb(154 123 35 / 30%);--scrim: rgb(20 32 28 / 45%);--sidebar-width: 15rem;--header-height: 3.5rem;--content-max: 68rem;--tap-target: 44px;--tap-text: 16px;--transition-fast: .12s ease;--transition-base: .18s ease}.receipt{--ink-900: #14201c;--ink-700: #2a3b35;--ink-500: #4e635c;--ink-150: #d8dfdb;--surface: #ffffff;--brass: #9a7b23;--loss: #b3261e;--loss-50: #fbeceb;--warn: #c2410c;--warn-50: #fdefe7;--font-display: "Archivo Variable", "Segoe UI", system-ui, sans-serif;--font-ui: "Public Sans Variable", "Segoe UI", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 6px;--shadow-sm: 0 1px 2px rgb(20 32 28 / 6%);font-family:var(--font-ui)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--content-max)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-head__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--ink-900)}.page-head__subtitle{margin:var(--space-1) 0 0;min-height:1lh;font-size:var(--text-sm);color:var(--ink-500)}.page-head__actions{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap}.eyebrow{display:block;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:var(--label-case);font-variant-caps:var(--label-caps);color:var(--ink-300)}.app-bar{display:flex;align-items:center;gap:var(--space-4);height:var(--header-height);flex-shrink:0;padding:0 var(--space-5);background:var(--chrome);color:var(--on-chrome)}@media(max-width:768px){.app-bar{gap:var(--space-2);padding:0 var(--space-3)}}.language-switcher .select,.theme-switcher .select{width:auto;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:var(--text-xs)}.app-bar .language-switcher .select,.app-bar .theme-switcher .select{border-color:rgb(var(--veil)/22%);background-color:transparent;background-image:var(--chevron-on-dark);color:var(--on-chrome)}.app-bar .language-switcher .select:hover,.app-bar .theme-switcher .select:hover{border-color:rgb(var(--veil)/40%)}.app-bar .language-switcher .select option,.app-bar .theme-switcher .select option{color:var(--ink-900);background:var(--surface)}.card{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--ink-150)}.card__title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-900)}.card__body{padding:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-700)}.search{display:flex;align-items:flex-end;gap:var(--space-3)}.search__field{flex:1;max-width:24rem}.field__hint{font-size:var(--text-xs);color:var(--ink-500)}.input,.select{width:100%;padding:var(--space-3);border:1px solid var(--ink-150);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:var(--text-base);color:var(--ink-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder,.select::placeholder{color:var(--ink-300)}.input:focus,.select:focus{outline:none;border-color:var(--brass);box-shadow:var(--focus-ring)}.select{appearance:none;padding-right:var(--space-8);background-image:var(--chevron);background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:.7rem}.input--num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.password{position:relative;display:flex}.password__input{padding-right:var(--space-8)}.password__toggle{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:var(--space-8);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-500);cursor:pointer;transition:color var(--transition-fast)}.password__toggle:hover{color:var(--ink-900)}.password__toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.password__toggle svg{width:1.15rem;height:1.15rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4)}.form-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--ink-900);color:var(--surface)}.btn--primary:hover:not(:disabled){background:var(--ink-700)}.btn--ghost{border-color:var(--ink-150);background:var(--surface);color:var(--ink-700)}.btn--ghost:hover:not(:disabled){border-color:var(--ink-300);background:var(--ink-50)}.btn--quiet{background:transparent;color:var(--ink-500)}.btn--quiet:hover:not(:disabled){background:var(--ink-50);color:var(--ink-900)}.btn--danger{border-color:var(--ink-150);background:var(--surface);color:var(--ink-700)}.btn--danger:hover:not(:disabled){border-color:var(--loss);background:var(--loss-50);color:var(--loss)}.btn--destructive{background:var(--loss);color:var(--on-chrome)}.btn--destructive:hover:not(:disabled){background:var(--loss-strong)}.btn--on-dark{border-color:rgb(var(--veil)/22%);background:transparent;color:var(--on-chrome)}.btn--on-dark:hover:not(:disabled){background:rgb(var(--veil)/12%)}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn.low-stock-toggle--on{border-color:var(--warn);background:var(--warn-50);color:var(--warn)}.btn.low-stock-toggle--on:hover:not(:disabled){border-color:var(--warn);background:var(--warn-50);color:var(--warn)}.add-stock{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.add-stock .field{flex:1 1 7rem}.add-stock__preview{flex:1 1 100%;margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--ink-500)}.low-stock-toggle__count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--warn)}@media(pointer:coarse){.btn,.input,.select,.password__toggle{min-height:var(--tap-target)}.password__toggle{width:var(--tap-target)}.password__input{padding-right:var(--tap-target)}.input,.select,.language-switcher .select,.theme-switcher .select{font-size:var(--tap-text)}}.btn--block{width:100%}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);color:var(--ink-900);white-space:nowrap}.figure--xl{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em}.figure--profit{color:var(--profit)}.figure--loss{color:var(--loss)}.figure--muted{color:var(--ink-500);font-weight:var(--weight-regular)}.sort-select{display:none}.table-wrap{overflow-x:auto;border:1px solid var(--ink-150);border-radius:var(--radius-lg);background:var(--surface);position:relative}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle}.table th{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:var(--label-case);font-variant-caps:var(--label-caps);color:var(--ink-300);white-space:nowrap;border-bottom:1px solid var(--ink-150)}.table tbody tr+tr td{border-top:1px solid var(--ink-100)}.table tbody tr:hover td{background:var(--ink-50)}.table__sort{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.table__sort:hover{color:var(--ink-700)}.table__sort:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:var(--radius-sm)}.table__sort-arrow{flex-shrink:0;color:var(--brass);transition:transform var(--transition-fast)}.table__sort-arrow--desc{transform:rotate(180deg)}.table .table__num .table__sort{justify-content:flex-end;width:100%}.table .table__num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.table .table__actions{width:1%;text-align:right;white-space:nowrap}.table .table__actions>*+*{margin-left:var(--space-2)}.table .table__name{font-weight:var(--weight-semibold);color:var(--ink-900)}@media(max-width:768px){.sort-select{display:flex;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3)}.sort-select__field{flex:1}.table-wrap{border:none;border-radius:0;background:none;overflow-x:visible}.table{display:block}.table thead{display:none}.table tbody,.table tfoot,.table tr,.table td{display:block}.table tbody tr{display:flex;flex-direction:column;padding:var(--space-4);border:1px solid var(--ink-150);border-radius:var(--radius-lg);background:var(--surface)}.table tbody tr+tr{margin-top:var(--space-3)}.table tbody tr+tr td,.table tbody tr:hover td{border-top:none;background:none}.table tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-1) 0;text-align:right}.table tbody td:before{content:attr(data-label);flex-shrink:0;font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:var(--label-case);font-variant-caps:var(--label-caps);color:var(--ink-300);text-align:left}.table tbody td:not([data-label]):not(.table__actions){order:-1;display:block;padding:0 0 var(--space-2);text-align:left;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-900)}.table tfoot tr{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-3) var(--space-4) 0;border:none;border-radius:0;background:none}.table tfoot td{padding:0;font-size:var(--text-sm)}.table .table__actions{justify-content:flex-end;flex-wrap:wrap;width:auto;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--ink-100)}.table .table__actions:before{content:none}}.total-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:2px solid var(--brass)}.total-row__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500)}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.pagination__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pagination__count{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-500)}app-page-jump{display:contents}.page-jump{position:sticky;bottom:var(--space-2);z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--ink-150);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.page-jump .btn svg{width:.9rem;height:.9rem;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stat{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--radius-lg)}.stat__label{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:var(--label-case);font-variant-caps:var(--label-caps);color:var(--ink-300)}.stat__value{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--ink-900)}.stat__value--loss{color:var(--loss)}.stat__value--profit{color:var(--profit)}.stat__value--warn{color:var(--warn)}.stat--action{text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.stat--action:hover,.stat--action:focus-visible{border-color:var(--warn);background:var(--warn-50)}.stat--action:hover .stat__hint,.stat--action:focus-visible .stat__hint{color:var(--warn)}.stat__hint{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--ink-500);transition:color var(--transition-fast)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--ink-50);color:var(--ink-500);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;white-space:nowrap}.badge--warn{background:var(--warn-50);color:var(--warn)}.badge--loss{background:var(--loss-50);color:var(--loss)}.badge--profit{background:var(--profit-50);color:var(--profit)}.badge--brass{background:var(--brass-50);color:var(--brass-strong)}.alert{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--loss);border-left-width:3px;border-radius:var(--radius-sm);background:var(--loss-50);color:var(--loss);font-size:var(--text-sm)}.alert--success{border-color:var(--profit);background:var(--profit-50);color:var(--profit)}.loading{margin:0;padding:var(--space-10) var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--ink-500);animation:loading-appear 1ms linear .2s both}@keyframes loading-appear{0%{visibility:hidden}to{visibility:visible}}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);border:1px dashed var(--ink-150);border-radius:var(--radius-lg);background:var(--surface);text-align:center}.empty__title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-900)}.empty__text{margin:0;max-width:32rem;font-size:var(--text-sm);color:var(--ink-500)}.dialog{padding:0;border:1px solid var(--ink-150);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink-900);width:min(28rem,100vw - var(--space-8));min-width:0}.dialog::backdrop{background:var(--scrim)}.dialog__panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}.dialog__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.3;color:var(--ink-900)}.dialog__body{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-500)}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.dialog__actions .btn{min-height:var(--tap-target)}@media(max-width:480px){.dialog__actions{flex-direction:column-reverse}.dialog__actions .btn{width:100%}}.auth{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:var(--space-6);background:var(--chrome)}.auth__card{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:24rem;padding:var(--space-8);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}@media(max-width:480px){.auth__card{padding:var(--space-6)}}.auth__brand{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-900)}.auth__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--ink-900)}.auth__subtitle{margin:calc(var(--space-2) * -1) 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-500)}.auth__note{margin:0;text-align:center;font-size:var(--text-xs);color:var(--ink-500)}.auth__note a{color:var(--brass-strong);font-weight:var(--weight-medium)}.auth__language{display:flex;justify-content:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--ink-100)}.pick-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;max-height:22rem;overflow-y:auto}.pick-list__row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.pick-list__row:hover{background:var(--paper)}.pick-list__row--all{padding-bottom:var(--space-2);border-bottom:1px solid var(--ink-150);border-radius:0;font-weight:var(--weight-medium)}.pick-list__name{flex:1;min-width:0;font-size:var(--text-base);color:var(--ink-900);overflow-wrap:anywhere}.till{display:grid;grid-template-columns:minmax(0,1fr) 21rem;grid-template-areas:"catalogue machine";align-items:start;gap:var(--space-4)}.till__catalogue{grid-area:catalogue}.till__machine{grid-area:machine;display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:var(--space-4);max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8))}.till__catalogue-body,.till__filters{display:flex;flex-direction:column;gap:var(--space-4)}@media(min-width:1025px){.till__filters{position:sticky;top:0;z-index:1;margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) 0;padding:var(--space-5) var(--space-5) var(--space-4);background:var(--surface);border-bottom:1px solid var(--ink-100)}}.till__none{margin:0;padding:var(--space-6);border:1px dashed var(--ink-150);border-radius:var(--radius-md);text-align:center;font-size:var(--text-sm);color:var(--ink-500)}.till__none--dark{border-color:rgb(var(--veil)/18%);color:var(--on-chrome-muted)}[data-tone="1"]{--cat: var(--cat-1)}[data-tone="2"]{--cat: var(--cat-2)}[data-tone="3"]{--cat: var(--cat-3)}[data-tone="4"]{--cat: var(--cat-4)}[data-tone="5"]{--cat: var(--cat-5)}[data-tone="6"]{--cat: var(--cat-6)}[data-tone="7"]{--cat: var(--cat-7)}.till__cats{display:flex;flex-wrap:wrap;gap:var(--space-2)}.till__cat{min-height:var(--tap-target);padding:var(--space-2) var(--space-4);border:1px solid var(--ink-150);border-radius:var(--radius-full);background:var(--surface);font:inherit;font-size:var(--text-sm);color:var(--ink-700);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.till__cat:hover{border-color:var(--ink-300)}.till__cat--active{border-color:var(--brass);background:var(--brass-50);color:var(--ink-900);font-weight:var(--weight-semibold)}.till__cat[data-tone]:before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-right:var(--space-2);border-radius:var(--radius-full);background:var(--cat);vertical-align:baseline}.till__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.till__tile{position:relative;display:flex;flex-direction:column;gap:var(--space-1);width:100%;height:100%;min-height:5.5rem;padding:var(--space-4);border:1px solid var(--ink-150);border-top:3px solid var(--cat, var(--ink-150));border-radius:var(--radius-md);background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.till__tile:hover:not(:disabled){border-color:var(--ink-300);border-top-color:var(--cat, var(--ink-300));box-shadow:var(--shadow-sm)}.till__tile:disabled{opacity:.55;cursor:not-allowed}.till__tile--active{border-color:var(--brass);border-top-color:var(--cat, var(--brass));box-shadow:var(--focus-ring)}.till__tile-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink-900);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.till__tile:has(.till__tile-count) .till__tile-name{padding-right:4rem}.till__tile-price{font-size:var(--text-xs);color:var(--ink-700)}.till__tile-was{margin-right:var(--space-1);color:var(--ink-300);text-decoration:line-through}.till__tile-sale{align-self:flex-start;padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--profit-50);color:var(--profit);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.till__tile-stock{margin-top:auto;font-size:var(--text-2xs);color:var(--ink-500)}.till__tile-count{position:absolute;top:var(--space-2);right:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--brass-50);color:var(--brass-strong);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.till__display{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--chrome);box-shadow:var(--shadow-md)}.till__display .figure{color:var(--on-chrome)}.till__display-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--brass);font-size:var(--text-xs);color:var(--on-chrome-muted)}.till__display-item-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.till__display-item-qty{flex-shrink:0;font-size:var(--text-xs)}.till__display-total,.till__display-change{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0}.till__display-change{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--brass)}.till__display-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-2);color:var(--on-chrome-muted);font-size:var(--text-sm)}.till__display-line--discount{color:var(--warn);margin-bottom:var(--space-3)}.till__display-amount{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.1}.till__display-total .figure{color:var(--money-lit)}.till__display-change .figure{color:var(--change-lit)}.till__display-change .till__display-amount{font-size:var(--text-xl)}.till__terminal{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--chrome);box-shadow:var(--shadow-md);min-height:0;overflow-y:auto}.till__terminal .figure{color:var(--on-chrome)}.till__terminal .field__label{color:var(--on-chrome-muted)}.till__lines{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.till__line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2);border-left:2px solid transparent;border-radius:var(--radius-sm)}.till__line--active{border-left-color:var(--brass);background:rgb(var(--veil)/8%)}.till__line-pick{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.till__line-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--on-chrome);overflow-wrap:anywhere}.till__line-qty{font-size:var(--text-2xs);color:var(--on-chrome-muted)}.till__line-qty--adjusted{color:var(--warn)}.till__line-total{font-size:var(--text-sm)}.till__line-remove{display:flex;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--on-chrome-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.till__line-remove svg{width:.85rem;height:.85rem;stroke-width:2;stroke-linecap:round}.till__line-remove:hover:not(:disabled){background:rgb(var(--veil)/12%);color:var(--on-chrome)}.till__line-remove:disabled{opacity:.4;cursor:not-allowed}.till__pad{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid rgb(var(--veil)/12%)}.till__pad-readout{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0}.till__pad-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:var(--label-case);font-variant-caps:var(--label-caps);color:var(--on-chrome-muted)}.till__pad-value{font-size:var(--text-lg)}.till__keys{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.till__key{display:flex;align-items:center;justify-content:center;min-height:var(--tap-target);border:1px solid rgb(var(--veil)/12%);border-radius:var(--radius-sm);background:rgb(var(--veil)/8%);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--on-chrome);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.till__key svg{width:1.1rem;height:1.1rem;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.till__key:hover:not(:disabled){border-color:rgb(var(--veil)/30%);background:rgb(var(--veil)/16%)}.till__key:active:not(:disabled){transform:translateY(1px);background:rgb(var(--veil)/24%)}.till__key:disabled{opacity:.35;cursor:not-allowed}.till__error,.till__notice{margin:0;padding:var(--space-2) var(--space-3);border-left:2px solid;border-radius:var(--radius-sm);background:rgb(var(--veil)/6%);font-size:var(--text-xs);overflow-wrap:anywhere}.till__error{border-left-color:var(--loss);color:var(--loss-50)}.till__notice{border-left-color:var(--warn);color:var(--warn-50)}.till__price .input,.till__discount .input,.till__split .input{border-color:rgb(var(--veil)/22%);background:rgb(var(--veil)/6%);color:var(--on-chrome)}.till__price .field__label,.till__discount .field__label,.till__split .field__label{color:var(--on-chrome-muted)}.till__price{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgb(var(--veil)/12%)}.till__price-field{flex:1 1 8rem}.till__price-reset,.till__discount-clear,.till__discount-open,.till__split-clear,.till__split-open,.till__pay-later-clear,.till__pay-later-open{min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:1px solid rgb(var(--veil)/22%);border-radius:var(--radius-sm);background:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--on-chrome-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.till__price-reset:hover,.till__discount-clear:hover,.till__discount-open:hover,.till__split-clear:hover,.till__split-open:hover,.till__pay-later-clear:hover,.till__pay-later-open:hover{border-color:rgb(var(--veil)/40%);color:var(--on-chrome)}.till__discount-open,.till__split-open,.till__pay-later-open{width:100%}.till__discount{margin:0;padding:var(--space-4) 0 0;border:0;border-top:1px solid rgb(var(--veil)/12%)}.till__discount-fields{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-2) 0 var(--space-3)}.till__discount-fields .field{flex:1 1 7rem}.till__pay-later{margin:0 0 var(--space-4);padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--warn)}.till__pay-later .field{margin-top:var(--space-3)}.till__pay-later-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--on-chrome-muted)}.till__pay-later-clear{margin-top:var(--space-4)}.till__split{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgb(var(--veil)/12%)}.till__split-rest{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--on-chrome-muted)}.till__split-clear{margin-top:var(--space-3)}.till__payment{margin:0;padding:var(--space-4) 0 0;border:0;border-top:1px solid rgb(var(--veil)/12%)}.till__payment-options{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.till__pay{flex:1}.till__pay input{position:absolute;opacity:0;pointer-events:none}.till__pay span{display:flex;align-items:center;justify-content:center;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:1px solid rgb(var(--veil)/12%);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--on-chrome-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.till__pay:hover span{border-color:rgb(var(--veil)/30%)}.till__pay input:checked+span{border-color:var(--brass);background:rgb(var(--veil)/12%);color:var(--on-chrome);font-weight:var(--weight-semibold)}.till__pay input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}.till__tender{display:flex;flex-direction:column;gap:var(--space-3)}.till__tender .input{border-color:rgb(var(--veil)/22%);background:rgb(var(--veil)/6%);color:var(--on-chrome)}.till__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.till__chip{padding:var(--space-2) var(--space-3);border:1px solid rgb(var(--veil)/12%);border-radius:var(--radius-full);background:rgb(var(--veil)/6%);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--on-chrome);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.till__chip:hover{border-color:rgb(var(--veil)/30%);background:rgb(var(--veil)/16%)}.till__complete{display:flex;align-items:center;justify-content:center;width:100%;min-height:3.25rem;border:0;border-radius:var(--radius-sm);background:var(--take);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--on-chrome);cursor:pointer;transition:background var(--transition-fast)}.till__complete:hover:not(:disabled){background:var(--take-strong)}.till__complete:disabled{opacity:.4;cursor:not-allowed}.till__jump{display:none}.till__jump-count{margin-left:auto;font-size:var(--text-xs);color:var(--ink-500);white-space:nowrap}@media(max-width:1024px){.till{display:flex;flex-direction:column;align-items:stretch}.till__machine{display:contents}.till__display{order:-1;position:sticky;top:0;z-index:1}.till__terminal{scroll-margin-top:12rem}.till__jump{position:sticky;bottom:var(--space-2);z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--ink-150);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.till__jump .btn svg{width:.9rem;height:.9rem;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}}.receipt{display:block;width:100%;max-width:24rem;margin-inline:auto;padding:var(--space-6);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.receipt__head{text-align:center}.receipt__logo{display:block;max-width:8rem;max-height:4rem;margin:0 auto var(--space-3);object-fit:contain}.receipt__shop{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--ink-900)}.receipt__address{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--ink-500)}.receipt__void{margin:var(--space-5) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--loss);border-radius:var(--radius-sm);background:var(--loss-50);text-align:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--loss)}.receipt__void-reason,.receipt__owed-detail{margin:var(--space-2) 0 0;text-align:center;font-size:var(--text-xs);color:var(--ink-500)}.receipt__owed{margin:var(--space-5) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-50);text-align:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}.receipt__meta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px dashed var(--ink-150);font-size:var(--text-xs)}.receipt__meta dt{color:var(--ink-500)}.receipt__meta dd{margin:0;text-align:right;color:var(--ink-900);overflow-wrap:anywhere}.receipt__lines{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0 0;padding:var(--space-4) 0 0;list-style:none;border-top:1px dashed var(--ink-150)}.receipt__item{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-900);overflow-wrap:anywhere}.receipt__detail{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin:0;font-size:var(--text-xs)}.receipt__adjust{margin-bottom:var(--space-2);color:var(--ink-500)}.receipt__count{margin:var(--space-4) 0 var(--space-3);font-size:var(--text-xs);color:var(--ink-500)}.receipt__paid{margin:var(--space-4) 0 0;text-align:center;font-size:var(--text-sm);color:var(--ink-500)}.receipt__paid strong{color:var(--ink-900)}.receipt__signature{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px dashed var(--ink-150);text-align:center}.receipt__signature-label{margin:0;font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-500)}.receipt__qr{display:block;width:14ch;max-width:60%;height:auto;margin:var(--space-3) auto var(--space-2);color:var(--ink-900)}.receipt__signature-scan{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--ink-500)}.receipt__signature-value{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--ink-700);overflow-wrap:anywhere;word-break:break-all}.receipt__signature-verify{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500)}.receipt__thanks{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px dashed var(--ink-150);text-align:center;font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-500)}.receipt__promo{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px dashed var(--ink-150);text-align:center}.receipt__promo-line{margin:0;font-size:var(--text-2xs);line-height:1.5;color:var(--ink-500)}.receipt__promo-line--contact{font-weight:600;color:var(--ink-700);font-family:var(--font-mono);overflow-wrap:anywhere}.receipt-actions{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.sale-cancel{max-width:32rem;margin:var(--space-6) auto 0}.sale-cancel__intro{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-500)}.shopfront{min-height:100dvh;min-height:100vh;background:var(--paper);display:flex;flex-direction:column}.shopfront__closed{margin:auto;padding:var(--space-8);text-align:center;max-width:28rem}.shopfront__closed-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-2)}.shopfront__closed-hint{color:var(--ink-500);font-size:var(--text-base);line-height:1.6}.sign{background:var(--chrome);color:var(--on-chrome);border-bottom:3px solid var(--brass)}.sign__inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-10) var(--space-6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.sign__identity{display:flex;align-items:center;gap:var(--space-5);min-width:0}.sign__logo{width:4.5rem;height:4.5rem;object-fit:contain;flex-shrink:0;background:var(--surface);border-radius:var(--radius-md);padding:var(--space-2)}.sign__name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.05;color:var(--on-chrome)}.sign__description{margin-top:var(--space-2);font-size:var(--text-md);color:var(--on-chrome-muted);max-width:34rem}.sign__aside{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3);flex-shrink:0}.sign__address{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--brass-50);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px;text-align:right}.sign__address:hover{color:var(--on-chrome)}.shelf{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-12)}.shelf__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.shelf__count{color:var(--ink-500)}.shelf__search{flex:0 1 18rem;min-width:12rem}.shelf__cats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8)}.shelf__cat{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2) var(--space-4);border:1px solid var(--ink-150);border-radius:var(--radius-full);background:var(--surface);color:var(--ink-700);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.shelf__cat:hover{border-color:var(--ink-300)}.shelf__cat:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shelf__cat--on{border-color:var(--brass);color:var(--ink-900);background:var(--brass-50)}.shelf__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--ink-300)}.shelf__empty{padding:var(--space-12) 0;text-align:center;color:var(--ink-500);font-size:var(--text-md)}.shelf__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--space-5)}.good{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.good:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.good__flash{position:absolute;top:var(--space-2);left:var(--space-2);z-index:1;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--brass);color:var(--paper);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.02em}.good__photo,.good__stand-in{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--ink-50)}.good__stand-in{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tone) 12%,var(--surface))}.good__initial{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:color-mix(in srgb,var(--tone) 55%,var(--surface));-webkit-user-select:none;user-select:none}.good__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);flex:1}.good__cat{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:var(--label-case);font-variant-caps:var(--label-caps);letter-spacing:var(--label-tracking);color:var(--ink-500)}.good__name{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-900);line-height:1.25}.good__price{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--brass);display:flex;align-items:baseline;gap:var(--space-1)}.good__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--ink-900)}.good__was{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--ink-300);text-decoration:line-through}.good__amount--sale{color:var(--profit);font-weight:var(--weight-bold)}.good__per{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500)}.good__gone{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-500)}.good--gone .good__photo,.good--gone .good__stand-in{opacity:.45}.good--gone .good__name{color:var(--ink-500)}[data-tone="1"]{--tone: var(--cat-1)}[data-tone="2"]{--tone: var(--cat-2)}[data-tone="3"]{--tone: var(--cat-3)}[data-tone="4"]{--tone: var(--cat-4)}[data-tone="5"]{--tone: var(--cat-5)}[data-tone="6"]{--tone: var(--cat-6)}[data-tone="7"]{--tone: var(--cat-7)}.shelf__cat[data-tone] .shelf__dot{background:var(--tone)}@media(max-width:768px){.sign__inner{flex-direction:column;padding:var(--space-6) var(--space-4);gap:var(--space-4)}.sign__aside{align-items:flex-start;flex-direction:row-reverse;justify-content:space-between;width:100%}.sign__address{text-align:left}.sign__name{font-size:var(--text-2xl)}.sign__logo{width:3.5rem;height:3.5rem}.shelf{padding:var(--space-6) var(--space-4) var(--space-10)}.shelf__grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--space-4)}.shelf__search{flex-basis:100%}}:root[data-theme=fancy]{color-scheme:dark;--ink-900: #f1e9f4;--ink-800: #e2d7e8;--ink-700: #cfc1d6;--ink-500: #a898b3;--ink-300: #998ba5;--ink-150: #3b2c47;--ink-100: #33263e;--ink-50: #2a1e34;--paper: #160f1d;--surface: #221729;--chrome: #0e0913;--on-chrome: #f1e9f4;--on-chrome-muted: #a898b3;--veil: 232 200 130;--brass: #d4b15f;--brass-strong: #e8cd82;--brass-50: #2f2618;--profit: #4fd39a;--profit-50: #163127;--loss: #f26b81;--loss-strong: #f58a9c;--loss-50: #3a1a24;--warn: #f0a057;--warn-50: #3a2718;--info: #b8a6ff;--money-lit: #7ef0b5;--change-lit: #f5c26b;--take: #4fd39a;--take-strong: #6be3ad;--cat-1: #7bc36c;--cat-2: #b48cff;--cat-3: #ff7ab8;--cat-4: #6f9dff;--cat-5: #4fd0d6;--cat-6: #e0a26b;--cat-7: #a49bb0;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a898b3' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--chevron-on-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a898b3' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-ui: "Fraunces Variable", Georgia, "Times New Roman", serif;--label-case: none;--label-caps: all-small-caps;--label-tracking: .06em;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 3px rgb(0 0 0 / 40%);--shadow-md: 0 8px 24px rgb(0 0 0 / 45%);--shadow-lg: 0 24px 60px rgb(0 0 0 / 55%);--focus-ring: 0 0 0 3px rgba(212, 177, 95, .4);--scrim: rgb(6 3 9 / 65%);--hairline: linear-gradient(90deg, transparent, var(--brass) 18%, var(--brass) 82%, transparent);--bloom: 0 0 0 1px rgba(212, 177, 95, .45);--edge: rgba(212, 177, 95, .16);--gloss: linear-gradient(180deg, rgb(255 255 255 / 5%), transparent 38%)}:root[data-theme=fancy] h1,:root[data-theme=fancy] h2,:root[data-theme=fancy] h3,:root[data-theme=fancy] h4,:root[data-theme=fancy] .page-head__title,:root[data-theme=fancy] .auth__title,:root[data-theme=fancy] .card__title,:root[data-theme=fancy] .dialog__title,:root[data-theme=fancy] .sign__name{letter-spacing:0;font-weight:var(--weight-semibold);font-variation-settings:"opsz" 72}:root[data-theme=fancy] .shell__brand,:root[data-theme=fancy] .auth__brand,:root[data-theme=fancy] .verify__wordmark,:root[data-theme=fancy] .admin-shell__wordmark{text-transform:none;letter-spacing:.01em;font-weight:var(--weight-medium)}:root[data-theme=fancy] .shell__brand{border-bottom-width:1px}:root[data-theme=fancy] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:180px 180px}:root[data-theme=fancy] .card,:root[data-theme=fancy] .stat,:root[data-theme=fancy] .dialog,:root[data-theme=fancy] .table-wrap,:root[data-theme=fancy] .auth__card,:root[data-theme=fancy] .good{border-color:var(--edge);background-image:var(--gloss)}:root[data-theme=fancy] .card__head{border-bottom-color:var(--edge)}:root[data-theme=fancy] .app-bar,:root[data-theme=fancy] .auth__card{position:relative}:root[data-theme=fancy] .auth__card{overflow:hidden}:root[data-theme=fancy] .app-bar:after,:root[data-theme=fancy] .auth__card:before{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--hairline)}:root[data-theme=fancy] .auth__card:before{inset:0 0 auto}:root[data-theme=fancy] .app-bar:after{transform-origin:left;animation:fancy-draw .9s cubic-bezier(.2,.7,.2,1) both}:root[data-theme=fancy] .shell__nav-item--active{border-left-color:transparent;box-shadow:inset 0 0 0 1px #d4b15f4d}:root[data-theme=fancy] .btn{border-radius:var(--radius-full)}:root[data-theme=fancy] .btn--ghost:hover:not(:disabled),:root[data-theme=fancy] .btn--quiet:hover:not(:disabled),:root[data-theme=fancy] .btn--danger:hover:not(:disabled),:root[data-theme=fancy] .btn--on-dark:hover:not(:disabled){box-shadow:var(--bloom)}:root[data-theme=fancy] .btn--primary:hover:not(:disabled){background:var(--ink-800)}:root[data-theme=fancy] .btn--destructive,:root[data-theme=fancy] .till__complete{color:var(--chrome)}:root[data-theme=fancy] .till__tile{border-top-width:1px;box-shadow:inset 0 12px 16px -14px var(--cat, transparent)}:root[data-theme=fancy] .till__tile:hover:not(:disabled){border-color:var(--ink-150);border-top-color:var(--cat, var(--ink-150));box-shadow:inset 0 12px 16px -14px var(--cat, transparent),var(--bloom)}:root[data-theme=fancy] .till__tile--active,:root[data-theme=fancy] .till__tile--active:hover:not(:disabled){border-color:var(--brass);border-top-color:var(--cat, var(--brass));box-shadow:inset 0 12px 16px -14px var(--cat, transparent),0 0 0 1px var(--brass),0 0 18px #d4b15f40}:root[data-theme=fancy] .till__display,:root[data-theme=fancy] .till__terminal{border:1px solid rgba(212,177,95,.22);background-image:linear-gradient(160deg,rgba(255,255,255,.06),transparent 45%)}:root[data-theme=fancy] .till__display-total .figure{text-shadow:0 0 14px rgba(126,240,181,.35)}:root[data-theme=fancy] .till__display-change .figure{text-shadow:0 0 14px rgba(245,194,107,.35)}:root[data-theme=fancy] .till__key{border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff14}:root[data-theme=fancy] .till__key:active:not(:disabled){transform:scale(.97)}:root[data-theme=fancy] .till__complete{border-radius:var(--radius-full);background-image:var(--gloss)}:root[data-theme=fancy] .till__error{color:var(--loss)}:root[data-theme=fancy] .till__notice{color:var(--warn)}:root[data-theme=fancy] .sign{position:relative;border-bottom:0}:root[data-theme=fancy] .sign:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--hairline)}:root[data-theme=fancy] .sign__address{color:var(--brass-strong)}:root[data-theme=fancy] .good:hover{transform:none;box-shadow:var(--bloom),var(--shadow-md)}:root[data-theme=fancy]::view-transition-old(root){animation:fancy-lights-down .5s ease-in both}:root[data-theme=fancy]::view-transition-new(root){animation:fancy-lights-up .7s ease-out both}@keyframes fancy-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fancy-lights-down{to{opacity:0;filter:brightness(.4)}}@keyframes fancy-lights-up{0%{opacity:0;filter:brightness(.4)}}:root[data-theme=africa]{--ink-900: #2b2118;--ink-800: #3a2d22;--ink-700: #4a3b2e;--ink-500: #6f5f50;--ink-300: #7c6a58;--ink-150: #e2d3b6;--ink-100: #eaddc4;--ink-50: #f5ecd8;--paper: #f3e4c8;--surface: #fffaf0;--chrome: #1f2550;--chrome-strong: #2b3268;--on-chrome: #fff8ea;--on-chrome-muted: #b9bbd6;--veil: 249 184 88;--brass: #c9931a;--brass-strong: #7a580d;--brass-50: #f8ecd0;--profit: #2a7335;--profit-50: #e6f3e2;--loss: #a8291f;--loss-strong: #832019;--loss-50: #f6e3dd;--warn: #c2410c;--warn-50: #fdf0e6;--info: #1f5f8b;--money-lit: #79e08f;--change-lit: #f5b64f;--take: #2a7a3a;--take-strong: #215f2d;--cat-1: #5c8f2a;--cat-2: #4c4fb0;--cat-3: #c23d6f;--cat-4: #2f6aa6;--cat-5: #177c74;--cat-6: #8d5a2b;--cat-7: #6f6a5d;--terracotta: #c8552b;--market-green: #3e8b3a;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%236f5f50' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--chevron-on-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23b9bbd6' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");--font-display: "Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--font-ui: "Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--label-case: none;--label-tracking: .02em;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 22px;--shadow-sm: 2px 2px 0 rgba(31, 37, 80, .18);--shadow-md: 3px 3px 0 rgba(31, 37, 80, .22);--shadow-lg: 5px 5px 0 rgba(31, 37, 80, .25);--focus-ring: 0 0 0 3px rgb(201 147 26 / 35%);--scrim: rgba(31, 37, 80, .5);--band: linear-gradient(135deg, var(--paper) 25%, transparent 25%) 0 0 / 12px 8px, linear-gradient(225deg, var(--paper) 25%, transparent 25%) 0 0 / 12px 8px, linear-gradient(315deg, var(--paper) 25%, transparent 25%) 0 0 / 12px 8px, linear-gradient(45deg, var(--paper) 25%, transparent 25%) 0 0 / 12px 8px, repeating-linear-gradient( 90deg, var(--brass) 0 12px, var(--terracotta) 12px 24px, var(--market-green) 24px 36px, var(--chrome) 36px 48px ) 0 0 / 48px 8px}:root[data-theme=africa] h1,:root[data-theme=africa] h2,:root[data-theme=africa] h3,:root[data-theme=africa] h4,:root[data-theme=africa] .page-head__title,:root[data-theme=africa] .auth__title,:root[data-theme=africa] .card__title,:root[data-theme=africa] .dialog__title,:root[data-theme=africa] .sign__name{font-weight:var(--weight-bold);font-variation-settings:"opsz" 72;letter-spacing:-.01em}:root[data-theme=africa] .shell__brand,:root[data-theme=africa] .auth__brand,:root[data-theme=africa] .verify__wordmark,:root[data-theme=africa] .admin-shell__wordmark{text-transform:none;letter-spacing:0;font-weight:var(--weight-bold)}:root[data-theme=africa] body{background-image:radial-gradient(rgba(43,33,24,.07) 1px,transparent 1.4px);background-size:14px 14px}:root[data-theme=africa] .card,:root[data-theme=africa] .stat,:root[data-theme=africa] .dialog,:root[data-theme=africa] .table-wrap,:root[data-theme=africa] .auth__card,:root[data-theme=africa] .good{border-color:#2b211840}:root[data-theme=africa] .stat,:root[data-theme=africa] .table-wrap,:root[data-theme=africa] .good{box-shadow:var(--shadow-sm)}:root[data-theme=africa] .app-bar,:root[data-theme=africa] .sign{position:relative}:root[data-theme=africa] .sign{border-bottom:0}:root[data-theme=africa] .app-bar:after,:root[data-theme=africa] .sign:after{content:"";position:absolute;inset:auto 0 0;height:8px;background:var(--band)}:root[data-theme=africa] .app-bar:after{animation:africa-weave 1.2s cubic-bezier(.2,.7,.2,1) both}:root[data-theme=africa] .auth__card{position:relative;overflow:hidden}:root[data-theme=africa] .auth__card:before{content:"";position:absolute;inset:0 0 auto;height:8px;background:var(--band)}:root[data-theme=africa] .shell__nav-item--active{box-shadow:var(--shadow-sm)}:root[data-theme=africa] .btn{transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}:root[data-theme=africa] .btn--primary:hover:not(:disabled),:root[data-theme=africa] .btn--ghost:hover:not(:disabled),:root[data-theme=africa] .btn--danger:hover:not(:disabled),:root[data-theme=africa] .btn--destructive:hover:not(:disabled),:root[data-theme=africa] .till__complete:hover:not(:disabled),:root[data-theme=africa] .till__cat:hover,:root[data-theme=africa] .shelf__cat:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-md)}:root[data-theme=africa] .btn:active:not(:disabled),:root[data-theme=africa] .till__complete:active:not(:disabled),:root[data-theme=africa] .till__cat:active,:root[data-theme=africa] .shelf__cat:active{transform:none;box-shadow:none}:root[data-theme=africa] .btn--primary{background:var(--chrome);box-shadow:inset 0 -3px 0 var(--brass)}:root[data-theme=africa] .btn--primary:hover:not(:disabled){background:var(--chrome-strong)}:root[data-theme=africa] .till__cat,:root[data-theme=africa] .shelf__cat{transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}:root[data-theme=africa] .till__tile{transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}:root[data-theme=africa] .till__tile:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:var(--shadow-md)}:root[data-theme=africa] .till__tile--active,:root[data-theme=africa] .till__tile--active:hover:not(:disabled){transform:none;box-shadow:3px 3px 0 var(--brass)}:root[data-theme=africa] .till__key{border-radius:var(--radius-md);box-shadow:2px 2px #00000059;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}:root[data-theme=africa] .till__key:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}:root[data-theme=africa] .till__complete{border-radius:var(--radius-md);box-shadow:3px 3px 0 var(--brass);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}:root[data-theme=africa] .till__complete:hover:not(:disabled){box-shadow:4px 4px 0 var(--brass)}:root[data-theme=africa] .good{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}:root[data-theme=africa] .good:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}:root[data-theme=africa] .good__flash{color:var(--ink-900)}:root[data-theme=africa]::view-transition-old(root){animation:none}:root[data-theme=africa]::view-transition-new(root){animation:africa-sunrise .7s cubic-bezier(.2,.7,.2,1) both}@keyframes africa-weave{0%{opacity:0;background-position-x:-48px}to{opacity:1;background-position-x:0}}@keyframes africa-sunrise{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;color:var(--ink-700);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:1.2;letter-spacing:-.015em;color:var(--ink-900)}a{color:var(--info)}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
