@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2")}:root{--font-sans: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--font-display: "Fraunces", "Iowan Old Style", "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 1.875rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.7;--weight-normal: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--sp-0: 0;--sp-1: .25rem;--sp-1h: .375rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1.125rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-normal: .2s;--dur-slow: .35s;--z-base: 1;--z-dropdown: 50;--z-sticky: 100;--z-modal: 200;--z-toast: 300;--z-skip: 9999;--header-h: 3.5rem;--bottom-nav-h: 3.75rem;--content-max: 72rem;--sidebar-w: 260px;color-scheme:light;--c-bg: #f6f2e9;--c-bg-raised: #fffaf3;--c-surface: rgba(32, 53, 40, .05);--c-surface-hover: rgba(32, 53, 40, .09);--c-surface-active: rgba(32, 53, 40, .14);--c-card: rgba(255, 255, 255, .86);--c-card-border: rgba(32, 53, 40, .12);--c-input: rgba(255, 255, 255, .95);--c-input-border: rgba(32, 53, 40, .2);--c-input-focus: rgba(31, 90, 65, .26);--c-topbar: rgba(246, 242, 233, .84);--c-text: #213127;--c-text-secondary: #445746;--c-text-muted: #6f7f71;--c-text-inverse: #f6f2e9;--c-text-on-primary: #f6f2e9;--c-border: rgba(32, 53, 40, .11);--c-border-strong: rgba(32, 53, 40, .2);--c-divider: rgba(32, 53, 40, .1);--c-primary: #1f5a41;--c-primary-hover: #174934;--c-primary-soft: rgba(31, 90, 65, .15);--c-secondary: #2b7f5d;--c-secondary-hover: #23694d;--c-secondary-soft: rgba(43, 127, 93, .12);--c-accent: #c66a3d;--c-accent-soft: rgba(198, 106, 61, .14);--c-success: #2e8e4e;--c-success-soft: rgba(46, 142, 78, .12);--c-warning: #b8782f;--c-warning-soft: rgba(184, 120, 47, .16);--c-error: #b94a42;--c-error-soft: rgba(185, 74, 66, .16);--c-info: #2f6f7d;--c-info-soft: rgba(47, 111, 125, .14);--shadow-sm: 0 1px 3px rgba(21, 29, 22, .08), 0 1px 2px rgba(21, 29, 22, .05);--shadow-md: 0 7px 18px rgba(21, 29, 22, .11);--shadow-lg: 0 14px 42px rgba(21, 29, 22, .16);--shadow-glow: 0 0 24px rgba(31, 90, 65, .16);--skeleton-from: rgba(32, 53, 40, .05);--skeleton-to: rgba(32, 53, 40, .11)}:root.dark,.dark{color-scheme:dark;--c-bg: #111713;--c-bg-raised: #18211b;--c-surface: rgba(246, 242, 233, .05);--c-surface-hover: rgba(246, 242, 233, .09);--c-surface-active: rgba(246, 242, 233, .13);--c-card: rgba(24, 33, 27, .88);--c-card-border: rgba(246, 242, 233, .08);--c-input: rgba(11, 16, 12, .58);--c-input-border: rgba(246, 242, 233, .14);--c-input-focus: rgba(120, 176, 141, .34);--c-topbar: rgba(17, 23, 19, .82);--c-text: #f6f2e9;--c-text-secondary: #c6d4c8;--c-text-muted: #9db09f;--c-text-inverse: #172017;--c-text-on-primary: #0f1612;--c-border: rgba(246, 242, 233, .08);--c-border-strong: rgba(246, 242, 233, .18);--c-divider: rgba(246, 242, 233, .1);--c-primary: #78b08d;--c-primary-hover: #8fbe9e;--c-primary-soft: rgba(120, 176, 141, .2);--c-secondary: #6bb093;--c-secondary-hover: #7fc2a5;--c-secondary-soft: rgba(107, 176, 147, .2);--c-accent: #e39a74;--c-accent-soft: rgba(227, 154, 116, .2);--c-success: #78c692;--c-success-soft: rgba(120, 198, 146, .19);--c-warning: #e0ac66;--c-warning-soft: rgba(224, 172, 102, .2);--c-error: #ee8a82;--c-error-soft: rgba(238, 138, 130, .19);--c-info: #7fb7c7;--c-info-soft: rgba(127, 183, 199, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .34);--shadow-md: 0 7px 20px rgba(0, 0, 0, .36);--shadow-lg: 0 14px 44px rgba(0, 0, 0, .42);--shadow-glow: 0 0 24px rgba(120, 176, 141, .2);--skeleton-from: rgba(246, 242, 233, .05);--skeleton-to: rgba(246, 242, 233, .1)}@media(prefers-color-scheme:dark){:root:not(.dark):not(.light){color-scheme:dark;--c-bg: #111713;--c-bg-raised: #18211b;--c-surface: rgba(246, 242, 233, .05);--c-surface-hover: rgba(246, 242, 233, .09);--c-surface-active: rgba(246, 242, 233, .13);--c-card: rgba(24, 33, 27, .88);--c-card-border: rgba(246, 242, 233, .08);--c-input: rgba(11, 16, 12, .58);--c-input-border: rgba(246, 242, 233, .14);--c-input-focus: rgba(120, 176, 141, .34);--c-topbar: rgba(17, 23, 19, .82);--c-text: #f6f2e9;--c-text-secondary: #c6d4c8;--c-text-muted: #9db09f;--c-text-inverse: #172017;--c-text-on-primary: #0f1612;--c-border: rgba(246, 242, 233, .08);--c-border-strong: rgba(246, 242, 233, .18);--c-divider: rgba(246, 242, 233, .1);--c-primary: #78b08d;--c-primary-hover: #8fbe9e;--c-primary-soft: rgba(120, 176, 141, .2);--c-secondary: #6bb093;--c-secondary-hover: #7fc2a5;--c-secondary-soft: rgba(107, 176, 147, .2);--c-accent: #e39a74;--c-accent-soft: rgba(227, 154, 116, .2);--c-success: #78c692;--c-success-soft: rgba(120, 198, 146, .19);--c-warning: #e0ac66;--c-warning-soft: rgba(224, 172, 102, .2);--c-error: #ee8a82;--c-error-soft: rgba(238, 138, 130, .19);--c-info: #7fb7c7;--c-info-soft: rgba(127, 183, 199, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .34);--shadow-md: 0 7px 20px rgba(0, 0, 0, .36);--shadow-lg: 0 14px 44px rgba(0, 0, 0, .42);--shadow-glow: 0 0 24px rgba(120, 176, 141, .2);--skeleton-from: rgba(246, 242, 233, .05);--skeleton-to: rgba(246, 242, 233, .1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-normal);color:var(--c-text);background:radial-gradient(110% 85% at 6% -15%,var(--c-primary-soft),transparent 54%),radial-gradient(100% 80% at 95% 5%,var(--c-accent-soft),transparent 60%),var(--c-bg);width:100%;max-width:100%;min-height:100dvh;overflow-x:hidden}#root{min-width:0;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight);font-weight:var(--weight-semi);color:var(--c-text);font-family:var(--font-display)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{line-height:var(--leading-normal)}a{color:var(--c-primary);text-decoration:none;font-weight:var(--weight-medium);transition:color var(--dur-fast) ease}a:hover{color:var(--c-primary-hover)}a:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:var(--text-base);color:var(--c-text)}ul,ol{list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}::selection{background:var(--c-primary-soft);color:var(--c-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--c-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.96)}}.barcode-scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--c-bg);display:flex;flex-direction:column;align-items:center;padding:var(--sp-4)}.barcode-scanner-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin-bottom:var(--sp-3);font-weight:600}.priceBreakdownTable{width:100%;border-collapse:collapse}.priceBreakdownTable th,.priceBreakdownTable td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border)}.priceBreakdownTable thead th{font-size:var(--text-sm);color:var(--c-text-muted);font-weight:500}.priceBreakdownTable tfoot td{border-bottom:none;padding-top:var(--sp-3)}.offline-banner{position:fixed;bottom:0;left:0;right:0;z-index:900;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--c-warning);color:#000;font-size:var(--text-sm);font-weight:500}.offline-banner--synced{background:var(--c-success);color:#fff}.spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.brand{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--c-primary);display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap;font-family:var(--font-display)}.brand svg{width:22px;height:22px}.brandMark{filter:drop-shadow(0 2px 8px rgba(31,90,65,.25))}.card{background:var(--c-card);border:1px solid var(--c-card-border);border-radius:var(--radius-xl);padding:var(--sp-5);box-shadow:var(--shadow-sm);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:cardReveal var(--dur-slow) var(--ease-out);transition:background-color var(--dur-normal) ease,box-shadow var(--dur-normal) ease,border-color var(--dur-normal) ease}.cardHover:hover{background:var(--c-bg-raised);box-shadow:var(--shadow-md);border-color:var(--c-border-strong)}.cardStack{margin-top:var(--sp-4)}.cardHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4)}.cardTitle{font-size:var(--text-xl);font-weight:var(--weight-semi)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);min-height:40px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:inherit;cursor:pointer;transition:all var(--dur-fast) ease;white-space:nowrap;border:1px solid transparent;text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--c-primary);color:var(--c-text-on-primary);border-color:var(--c-primary);box-shadow:0 1px 3px #10b98133}.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);box-shadow:0 2px 8px #10b98140}.btn-secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn-secondary:hover{background:var(--c-surface-hover);border-color:var(--c-text-muted)}.btn-ghost{background:transparent;color:var(--c-text-secondary)}.btn-ghost:hover{background:var(--c-surface-hover);color:var(--c-text)}.btn-danger{background:var(--c-error);color:#fff;border-color:var(--c-error)}.btn-danger:hover{opacity:.9}.btn-outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}.btn-outline:hover{background:var(--c-primary-soft)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{background:inherit;border-color:inherit;box-shadow:none;opacity:.5}.btn-primary:disabled:hover{background:var(--c-primary);border-color:var(--c-primary)}.btnSmall{padding:var(--sp-1) var(--sp-3);min-height:32px;font-size:var(--text-xs)}.btnLg{padding:var(--sp-3) var(--sp-6);min-height:48px;font-size:var(--text-md);border-radius:var(--radius-lg)}.btnIcon{width:36px;height:36px;padding:0;min-height:0}.btnIcon svg{width:18px;height:18px}.pill{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.01em;white-space:nowrap;background:var(--c-surface);color:var(--c-text-secondary);border:1px solid var(--c-border)}.pill-success{background:var(--c-success-soft);color:var(--c-success);border-color:transparent}.pill-warning{background:var(--c-warning-soft);color:var(--c-warning);border-color:transparent}.pill-error{background:var(--c-error-soft);color:var(--c-error);border-color:transparent}.pill-info{background:var(--c-info-soft);color:var(--c-info);border-color:transparent}.pill-primary{background:var(--c-primary-soft);color:var(--c-primary);border-color:transparent}.sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.sectionHeaderCopy{min-width:0;display:grid;gap:4px}.sectionHeaderTitleRow{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.sectionHeaderTitle{margin:0;font-size:var(--text-xl);line-height:var(--leading-snug)}.sectionHeaderSubtitle{margin:0;font-size:var(--text-sm);color:var(--c-text-secondary)}.sectionHeaderAction{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.mb4{margin-bottom:var(--sp-4)}.btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes cardReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.card{padding:var(--sp-4);border-radius:var(--radius-lg)}.btn,.btnSmall{min-height:44px}}
