:root{--color-bg: #FAF6EF;--color-surface: #FFFFFF;--color-surface-warm: #F3ECDF;--color-border: #E5DCCB;--color-ink: #2D2A26;--color-ink-soft: #6B6459;--color-ink-faint: #9A9184;--color-primary: #2E7D4F;--color-primary-soft: #E3F0E8;--color-accent: #E8743B;--color-accent-soft: #FBE8DD;--color-basket: #C89B5E;--color-success: #2E7D4F;--color-warning: #B9741A;--color-warning-soft: #F8ECD9;--color-danger: #C4453C;--color-danger-soft: #F9E4E2;--store-walmart: #1B75BC;--store-maxipali: #F5B90F;--store-masxmenos: #00833E;--store-pricesmart: #24245C;--store-automercado: #7A1F2B;--store-perimercados: #C8102E;--store-megasuper: #E4002B;--store-other: #8A8177;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-s: 8px;--radius-m: 12px;--radius-l: 20px;--radius-full: 999px;--shadow-card: 0 1px 3px rgba(45, 42, 38, .08);--shadow-float: 0 4px 16px rgba(45, 42, 38, .16);--motion-fast: .15s ease-out;--motion-med: .25s ease-out}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition-duration:1ms!important}}*{box-sizing:border-box}.offline-bar{background:var(--color-ink);color:var(--color-bg);text-align:center;font:500 .8125rem/1.3 var(--font-sans);padding:var(--space-2) var(--space-4)}.route-fade{animation:route-fade var(--motion-med)}.loading-mark{animation:loading-pulse 1.4s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.4;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@keyframes route-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body{margin:0;font:400 1rem/1.5 var(--font-sans);background:var(--color-bg);color:var(--color-ink)}#root{max-width:560px;margin-inline:auto;min-height:100dvh;padding-bottom:calc(80px + env(safe-area-inset-bottom))}h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,select{font:inherit}a{color:var(--color-primary);text-decoration:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.price,.num{font-variant-numeric:tabular-nums}.app-header{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:var(--space-2);padding-inline:var(--space-4);background:var(--color-bg)}.app-header h1{font:800 1.375rem/1.25 var(--font-sans);letter-spacing:-.02em;flex:1}.app-header .back{width:44px;height:44px;margin-left:-12px;display:grid;place-items:center;font-size:1.4rem;color:var(--color-ink)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;margin-inline:auto}.bottom-nav a,.bottom-nav button.fab-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:500 .75rem/1.3 var(--font-sans);color:var(--color-ink-soft);position:relative}.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a.active:before{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;background:var(--color-primary);border-radius:0 0 3px 3px}.bottom-nav .icon{display:flex}.bottom-nav a.active .icon{color:var(--color-primary)}.fab{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-float);margin-top:-20px}.page{padding-inline:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.card{background:var(--color-surface);border-radius:var(--radius-m);box-shadow:var(--shadow-card);padding:var(--space-4)}.card.warm{background:var(--color-surface-warm);box-shadow:none}.quiz-option{width:100%;text-align:left;display:flex;align-items:center;gap:var(--space-3);font:600 1rem/1.4 var(--font-sans);color:var(--color-ink);border:1px solid var(--color-border);transition:border-color var(--motion-fast),background var(--motion-fast)}.quiz-option:active,.quiz-option.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.quiz-option .check{flex-shrink:0;width:22px;height:22px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);display:grid;place-items:center;color:#fff;transition:background var(--motion-fast),border-color var(--motion-fast)}.quiz-option.selected .check{background:var(--color-primary);border-color:var(--color-primary)}.quiz-page{padding-top:8vh}.quiz-page-centered{text-align:center}.quiz-title{font:800 1.5rem/1.3 var(--font-sans);text-align:center;margin-bottom:var(--space-1)}.quiz-subtitle{text-align:center;margin-bottom:var(--space-5)}.quiz-options{display:flex;flex-direction:column;gap:var(--space-3)}.quiz-actions{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.quiz-actions .btn.secondary{flex:1}.quiz-actions .btn.primary{flex:2}.quiz-actions-centered{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-6)}.quiz-skip{margin-top:var(--space-3);width:100%}.section-title{font:700 1.125rem/1.3 var(--font-sans);margin-top:var(--space-3);display:flex;justify-content:space-between;align-items:baseline}.section-title a{font:400 .875rem/1.4 var(--font-sans)}.stat-label{font:500 .75rem/1.3 var(--font-sans);color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.04em}.stat-value{font:800 2.125rem/1.05 var(--font-sans);letter-spacing:-.03em}.stat-value.small{font:800 1.125rem/1.2 var(--font-sans);letter-spacing:-.02em}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.row-list{display:flex;flex-direction:column}.row-list>*{border-bottom:1px solid var(--color-border)}.row-list>*:last-child{border-bottom:none}.staple-row,.receipt-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding-block:var(--space-2);width:100%;text-align:left;color:inherit}.receipt-row{min-height:72px}.row-main{flex:1;min-width:0;display:flex;flex-direction:column}.row-title{display:block;font:600 1rem/1.5 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-caption{font:400 .875rem/1.4 var(--font-sans);color:var(--color-ink-soft)}.row-price{font:700 1.125rem/1.2 var(--font-sans);text-align:right}.chevron{color:var(--color-ink-faint)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);font:500 .75rem/1.3 var(--font-sans);border-radius:var(--radius-full);padding:3px 10px}.chip .dot{width:7px;height:7px;border-radius:50%}.chip.pending{background:var(--color-surface-warm)}.chip.pending .dot{background:var(--color-basket)}.chip.processed{background:var(--color-primary-soft)}.chip.processed .dot{background:var(--color-primary)}.chip.failed{background:var(--color-danger-soft)}.chip.failed .dot{background:var(--color-danger)}.chip.best{background:var(--color-primary);color:#fff}.chip.warn{background:var(--color-warning-soft);color:var(--color-warning)}.store-badge{display:inline-flex;align-items:center;height:24px;padding-inline:10px;border-radius:var(--radius-full);font:700 .75rem/1 var(--font-sans);color:#fff;white-space:nowrap}.store-badge.walmart{background:var(--store-walmart)}.store-badge.maxipali{background:var(--store-maxipali);color:var(--color-ink)}.store-badge.masxmenos{background:var(--store-masxmenos)}.store-badge.pricesmart{background:var(--store-pricesmart)}.store-badge.automercado{background:var(--store-automercado)}.store-badge.perimercados{background:var(--store-perimercados)}.store-badge.megasuper{background:var(--store-megasuper)}.store-badge.other{background:var(--store-other)}.tag{display:inline-flex;align-items:center;gap:3px;font:500 .75rem/1.3 var(--font-sans);color:var(--color-ink-soft)}.tag.fresh{color:var(--color-primary);font-weight:600}.tag.stale{color:var(--color-warning)}.tag.faint{color:var(--color-ink-soft)}.search-bar{display:flex;align-items:center;gap:var(--space-2);height:48px;padding-inline:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-s)}.search-bar input{flex:1;border:none;outline:none;background:none;min-width:0}.search-bar input::placeholder{color:var(--color-ink-faint)}.search-bar-icon{display:flex;color:var(--color-ink-faint);flex-shrink:0}.icon-label{display:flex;align-items:center;gap:6px}.chip-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip-row .chip{background:var(--color-surface);border:1px solid var(--color-border)}.chip-row .chip.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.lang-switch-float{position:fixed;top:calc(var(--space-3) + env(safe-area-inset-top));right:var(--space-4);z-index:25}.lang-switch-float .chip{box-shadow:var(--shadow-card)}.result-card{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.result-card.best{background:var(--color-primary-soft);border:1px solid var(--color-primary)}.result-card.best:before{content:"";position:absolute;left:0;top:var(--space-3);bottom:var(--space-3);width:3px;border-radius:var(--radius-full);background:var(--color-primary)}.result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.unit-price{font:800 1.875rem/1.05 var(--font-sans);letter-spacing:-.03em}.unit-price .suffix{font:600 .75rem/1.3 var(--font-sans);color:var(--color-ink-soft);margin-left:4px;letter-spacing:0}.result-name{font:600 1rem/1.4 var(--font-sans);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-meta{font:400 .875rem/1.4 var(--font-sans);color:var(--color-ink-soft)}.tag-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.btn{height:48px;border-radius:var(--radius-s);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:600 1.125rem/1 var(--font-sans);padding-inline:var(--space-5);transition:filter var(--motion-fast)}.btn:active{filter:brightness(.92)}.btn:disabled{opacity:.4;pointer-events:none}.btn.primary{background:var(--color-accent);color:#fff;width:100%;font-weight:700;font-size:1.1875rem}.btn.secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary)}.btn.ghost{color:var(--color-primary);font-size:1rem;height:40px}.btn.danger-text{color:var(--color-danger);background:var(--color-surface);border:1px solid var(--color-border)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font:400 .875rem/1.4 var(--font-sans);color:var(--color-ink-soft)}.field input,.field select,.item-entry input,.item-entry select{height:48px;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-s);background:var(--color-surface);color:var(--color-ink)}.field input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.field.error input{border-color:var(--color-danger)}.field .error-text{font:500 .75rem/1.3 var(--font-sans);color:var(--color-danger)}.item-entry{display:flex;gap:var(--space-2);align-items:flex-start}.item-entry input.name{flex:1;min-width:0}.item-entry input.price{width:96px}.item-entry.compact input,.item-entry.compact select{height:40px}.item-entry.compact input{width:120px}.remove{width:44px;height:44px;display:grid;place-items:center;color:var(--color-ink-soft);font-size:1.2rem}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#2d2a2666;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--color-surface);border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%;max-width:560px;padding:var(--space-3) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);animation:sheet-up var(--motion-med);max-height:80dvh;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(40%);opacity:.5}}.sheet .handle{width:36px;height:4px;border-radius:2px;background:var(--color-border);margin:0 auto var(--space-3)}.sheet-option{display:flex;align-items:center;gap:var(--space-3);min-height:64px;width:100%;text-align:left;border-radius:var(--radius-m);padding-inline:var(--space-2)}.sheet-option:active{background:var(--color-surface-warm)}.sheet-option .sheet-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-surface-warm);color:var(--color-primary)}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);font:400 .875rem/1.4 var(--font-sans)}.banner.info{background:var(--color-surface-warm)}.banner.error{background:var(--color-danger-soft)}.toast{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:50;background:var(--color-ink);color:var(--color-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);box-shadow:var(--shadow-float);font:400 .875rem/1.4 var(--font-sans);max-width:min(90vw,480px);white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);max-width:280px;margin-inline:auto}.empty-state .art{color:var(--color-basket);display:flex;justify-content:center}.empty-state h2{font:700 1.125rem/1.3 var(--font-sans)}.empty-state p{color:var(--color-ink-soft)}.skeleton{border-radius:var(--radius-m);background:linear-gradient(90deg,var(--color-surface-warm) 25%,#EFE6D6 50%,var(--color-surface-warm) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton.row{height:56px;margin-bottom:var(--space-2)}.skeleton.card{height:110px;margin-bottom:var(--space-3)}.muted{color:var(--color-ink-soft);font-size:.875rem}.delta-down{color:var(--color-primary);font:500 .875rem/1.4 var(--font-sans)}.delta-up{color:var(--color-danger);font:500 .875rem/1.4 var(--font-sans)}.delta-flat{color:var(--color-ink-soft);font:500 .875rem/1.4 var(--font-sans)}.lp{width:100vw;margin-inline:calc(50% - 50vw);background:var(--color-bg);color:var(--color-ink);overflow-x:clip;text-align:left}.lp section,.lp .lp-nav,.lp .lp-footer,.lp .lp-install-inner{max-width:1120px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.lp-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4)}.lp-brand{display:flex;align-items:center;gap:var(--space-2)}.lp-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary)}.lp-brand-word{font:800 1.375rem/1 var(--font-sans);letter-spacing:-.02em}.lp-nav-right{display:flex;align-items:center;gap:var(--space-3)}.lp-lang{display:inline-flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);overflow:hidden}.lp-lang button{padding:6px 12px;font:700 .8125rem/1 var(--font-sans);color:var(--color-ink-soft)}.lp-lang button.active{background:var(--color-primary);color:#fff}.lp-login-link{font:600 .9375rem/1 var(--font-sans);color:var(--color-primary)}@media (max-width: 480px){.lp-login-link{display:none}}.lp-hero{display:grid;grid-template-columns:1fr;gap:var(--space-6);padding-block:clamp(var(--space-6),7vw,72px);align-items:center;animation:route-fade var(--motion-med)}.lp-eyebrow{font:700 .8125rem/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}.lp-h1{font:800 clamp(2.05rem,6.2vw,3.4rem)/1.06 var(--font-sans);letter-spacing:-.035em;max-width:15ch}.lp-sub{font:400 clamp(1.0625rem,2.4vw,1.25rem)/1.5 var(--font-sans);color:var(--color-ink-soft);max-width:46ch;margin-top:var(--space-4)}.lp-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.lp-cta-caption{margin-top:var(--space-3);font-size:.875rem;color:var(--color-ink-soft)}.btn.lp-cta{width:auto;padding-inline:var(--space-6)}.btn.lp-cta-lg{width:auto;height:54px;font-size:1.1875rem;padding-inline:var(--space-6)}@media (max-width: 520px){.lp-cta-row{flex-direction:column}.lp-cta-row .btn.lp-cta{width:100%}}.lp-hero-art{position:relative;display:grid;place-items:center;padding-block:var(--space-4)}.lp-receipt-stack{position:relative;width:min(300px,82%)}.lp-receipt{width:100%;background:var(--color-surface);border-radius:var(--radius-s);box-shadow:var(--shadow-float);padding:var(--space-5) var(--space-5) var(--space-6);transform:rotate(-2.5deg);animation:lp-float 6s ease-in-out infinite;--tear: 8px;-webkit-mask:radial-gradient(var(--tear) at 50% 0,#0000 98%,#000) 0 0 / calc(var(--tear) * 2) 100% repeat-x,radial-gradient(var(--tear) at 50% 100%,#0000 98%,#000) 0 100% / calc(var(--tear) * 2) 100% repeat-x,linear-gradient(#000 0 0);-webkit-mask-composite:source-out;mask-composite:subtract}.lp-receipt-head{display:flex;align-items:center;gap:6px;color:var(--color-ink-soft);font:700 .75rem/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding-bottom:var(--space-3);border-bottom:1px dashed var(--color-border)}.lp-receipt-rows{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.lp-rrow{display:flex;justify-content:space-between;gap:var(--space-4);font:500 .9375rem/1.2 var(--font-sans)}.lp-rrow .num{color:var(--color-ink-soft)}.lp-save-badge{position:absolute;right:-12px;bottom:-56px;background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-m);box-shadow:var(--shadow-float);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);transform:rotate(2deg);animation:lp-float 6s ease-in-out infinite reverse}.lp-save-cheapest,.lp-save-amount{display:flex;align-items:center;gap:6px}.lp-save-label{font:500 .75rem/1 var(--font-sans);color:var(--color-ink-faint)}.lp-save-amount strong{font:800 1.375rem/1 var(--font-sans);letter-spacing:-.02em;color:var(--color-accent)}.lp-save-month{font:500 .75rem/1 var(--font-sans);color:var(--color-ink-faint)}.lp-save-badge .store-badge{font-size:.75rem;padding:2px 8px}@keyframes lp-float{0%,to{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-2.5deg) translateY(-8px)}}.lp-section{padding-block:clamp(var(--space-6),5vw,56px)}.lp-h2{font:800 clamp(1.5rem,3.6vw,2rem)/1.15 var(--font-sans);letter-spacing:-.025em;margin-bottom:var(--space-5)}.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--space-4)}.lp-step{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);padding:var(--space-5)}.lp-step-num{position:absolute;top:var(--space-4);right:var(--space-5);font:800 2.25rem/1 var(--font-sans);color:var(--color-surface-warm);letter-spacing:-.03em}.lp-step-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-m);background:var(--color-primary-soft);color:var(--color-primary);margin-bottom:var(--space-4)}.lp-step-title{font:700 1.1875rem/1.25 var(--font-sans);margin-bottom:var(--space-2)}.lp-step-body{color:var(--color-ink-soft);font-size:.9375rem;line-height:1.5;max-width:34ch}.lp-benefits{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.lp-benefit{display:flex;gap:var(--space-3);align-items:flex-start}.lp-benefit-icon{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-m);background:var(--color-accent-soft);color:var(--color-accent)}.lp-benefit-title{font:700 1.0625rem/1.3 var(--font-sans);margin-bottom:2px}.lp-benefit-body{color:var(--color-ink-soft);font-size:.9375rem;line-height:1.5}.lp-chains-section{text-align:center;padding-block:clamp(var(--space-5),4vw,40px)}.lp-chains-line{color:var(--color-ink-soft);font-size:.9375rem;margin-bottom:var(--space-4)}.lp-chains{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.lp-install-band{background:var(--color-surface-warm);padding-block:clamp(var(--space-6),5vw,56px)}.lp-install-inner{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.lp-install-icon{flex-shrink:0;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-l);background:var(--color-bg);color:var(--color-basket)}.lp-install-copy{flex:1;min-width:220px}.lp-install-title{margin-bottom:var(--space-2)}.lp-install-body{color:var(--color-ink-soft);line-height:1.5;max-width:52ch}.lp-installed{display:inline-flex;align-items:center;gap:6px;color:var(--color-primary);font-weight:700}.lp-final{text-align:center;padding-block:clamp(56px,8vw,96px)}.lp-final-title{font:800 clamp(1.75rem,4.5vw,2.5rem)/1.1 var(--font-sans);letter-spacing:-.03em}.lp-final-sub{color:var(--color-ink-soft);margin:var(--space-3) 0 var(--space-5);font-size:1.0625rem}.lp-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-ink-soft)}.lp-footer-links{display:flex;align-items:center;gap:var(--space-4);font-size:.875rem}.lp-made{color:var(--color-ink-faint)}@media (min-width: 720px){.lp-hero{grid-template-columns:1.05fr .95fr}.lp-steps{grid-template-columns:repeat(3,1fr)}.lp-benefits{grid-template-columns:repeat(2,1fr)}}
