@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.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(/assets/archivo-latin-ext-wght-normal-C4zznr8T.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(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Archivo Variable,Helvetica Neue,Arial,sans-serif;color:#22201e;background:#f6f3ee;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f6f3ee;--surface: #fffdf9;--surface-strong: #ffffff;--ink: #22201e;--ink-soft: #69635d;--line: #ddd7cf;--line-strong: #c6beb4;--tomato: #c9402f;--tomato-dark: #9f2c20;--tomato-soft: #f9e9e5;--green: #246b4d;--green-soft: #e7f3eb;--amber: #8a5a12;--amber-soft: #fff3d6;--blue: #275e8c;--blue-soft: #e8f2fa;--error: #a92f2b;--error-soft: #fbe9e7;--radius-sm: .5rem;--radius: .75rem;--radius-lg: 1rem}*{box-sizing:border-box}html{min-width:20rem;scroll-behavior:smooth}body{margin:0;min-width:20rem;min-height:100vh;background:var(--canvas);color:var(--ink);line-height:1.45;padding-bottom:env(safe-area-inset-bottom)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(201,64,47,.35);outline-offset:2px}a{color:inherit}h1,h2,p{margin:0}h1,h2{text-wrap:balance}h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.05;letter-spacing:-.045em}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-160%);background:var(--ink);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-sm);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.section-wrap{width:min(calc(100% - 2rem),64rem);margin-inline:auto}.site-header{position:sticky;z-index:20;top:0;min-height:4.5rem;padding-inline:max(1rem,calc((100vw - 64rem)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:1rem;background:#fffdf9f5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;gap:.7rem;justify-self:start;min-height:2.75rem;padding:.45rem 0;cursor:pointer;text-align:left}.brand-mark{width:2.25rem;height:2.25rem;border:2px solid var(--ink);border-top:0;position:relative;display:inline-block;background:var(--surface);flex:0 0 auto}.brand-mark:before{content:"";position:absolute;width:1.2rem;height:.65rem;border:2px solid var(--ink);border-bottom:0;border-radius:2rem 2rem 0 0;left:50%;top:-.55rem;transform:translate(-50%)}.brand-mark span{position:absolute;width:1.15rem;height:.35rem;border-radius:100%;background:var(--tomato);left:50%;top:.9rem;transform:translate(-50%) rotate(-4deg)}.brand-mark.large{width:3.75rem;height:3.75rem}.brand-mark.large:before{width:2rem;height:1rem;top:-.8rem}.brand-mark.large span{width:1.9rem;height:.5rem;top:1.55rem}.brand strong{display:block;font-size:1rem;line-height:1.1}.brand small{display:block;margin-top:.15rem;color:var(--ink-soft);font-size:.68rem;font-weight:600;letter-spacing:.02em}.main-nav{display:flex;align-items:stretch;gap:.15rem}.main-nav button{position:relative;min-width:7.25rem;min-height:2.75rem;padding:.2rem .8rem 0;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.84rem;font-weight:650}.main-nav button:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:-1px;height:3px;background:var(--tomato);transform:scaleX(0);transition:transform .15s ease}.main-nav button:hover,.main-nav button.active{color:var(--ink)}.main-nav button.active:after{transform:scaleX(1)}.page{padding-block:clamp(2rem,5vw,3.5rem) 4rem}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.page-title>div>p:last-child{margin-top:.55rem;color:var(--ink-soft)}.week-date{margin-bottom:.45rem;color:var(--tomato-dark);font-size:.76rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.whatsapp-link{min-height:2.75rem;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none}.whatsapp-link:hover{border-color:var(--ink-soft)}.cart-flag{min-height:5.5rem;padding:1rem 1.1rem;border:1px solid currentColor;border-radius:var(--radius);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem}.cart-flag>svg{align-self:start;margin-top:.08rem}.cart-flag div{display:grid;gap:.15rem}.cart-flag strong{font-size:.95rem}.cart-flag span{color:var(--ink-soft);font-size:.82rem}.cart-flag a{min-height:2.65rem;padding:.6rem .8rem;border:1px solid currentColor;border-radius:var(--radius-sm);background:#ffffffad;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem;font-weight:750;text-decoration:none;white-space:nowrap}.cart-flag-ready{color:var(--green);background:var(--green-soft)}.cart-flag-working{color:var(--blue);background:var(--blue-soft)}.cart-flag-stale{color:var(--amber);background:var(--amber-soft)}.cart-flag-failed{color:var(--error);background:var(--error-soft)}.cart-flag-idle{color:var(--ink-soft);background:var(--surface)}.quick-add{margin-top:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.quick-add>label{display:block;margin-bottom:.5rem;font-size:.8rem;font-weight:750}.quick-add>div{display:flex;gap:.55rem}.quick-add input{min-width:0;flex:1;height:2.8rem;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-strong);color:var(--ink)}.quick-add input::placeholder{color:#8c857e}.quick-add>p{margin-top:.55rem;color:var(--ink-soft);font-size:.73rem}.button{min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.82rem;font-weight:750}.button.primary{border-color:var(--tomato);background:var(--tomato);color:#fff}.button.primary:hover{background:var(--tomato-dark)}.button:disabled{opacity:.52;cursor:not-allowed}.current-list{margin-top:2rem}.list-group+.list-group{margin-top:1.8rem}.list-group>h2,.recurring-group>h2{margin-bottom:.55rem;display:flex;align-items:center;gap:.55rem;font-size:.87rem;letter-spacing:.02em}.list-group>h2 span,.recurring-group>h2 span{color:var(--ink-soft);font-size:.7rem;font-weight:600}.list-rows,.recurring-rows{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.list-row{min-height:4rem;padding:.75rem .8rem .75rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.8rem}.list-row+.list-row,.recurring-row+.recurring-row{border-top:1px solid var(--line)}.item-copy{min-width:0;display:grid;gap:.12rem}.item-copy strong{min-width:0;overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.item-copy>span{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.extra-label{padding:.2rem .4rem;border-radius:999px;background:var(--tomato-soft);color:var(--tomato-dark);font-size:.65rem;font-weight:750}.quantity{font-size:.82rem;font-variant-numeric:tabular-nums}.icon-button{width:2.75rem;height:2.75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);cursor:pointer;display:grid;place-items:center}.icon-button:hover{background:var(--error-soft);color:var(--error)}.empty-state{min-height:14rem;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius);display:grid;place-items:center;align-content:center;gap:.5rem;text-align:center;color:var(--ink-soft)}.empty-state h2{color:var(--ink);font-size:1.1rem}.empty-state p{font-size:.82rem}.recurring-page{width:min(calc(100% - 2rem),70rem)}.timing-settings{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;grid-template-columns:minmax(14rem,1fr) auto auto;align-items:end;gap:1.25rem}.timing-settings h2{font-size:.95rem}.timing-settings>div p{margin-top:.25rem;color:var(--ink-soft);font-size:.75rem}.timing-settings>label,.quantity-field,.cadence-field{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.68rem;font-weight:700}.select-wrap{position:relative;display:block}.select-wrap select{width:100%;height:2.75rem;padding:0 2rem 0 .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-strong);color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:650}.select-wrap>svg{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink-soft)}.recurring-list{margin-top:2rem}.recurring-group+.recurring-group{margin-top:1.5rem}.recurring-row{min-height:4.5rem;padding:.7rem .9rem .7rem 1rem;display:grid;grid-template-columns:minmax(12rem,1fr) 4.5rem minmax(9rem,11rem) 4.5rem;align-items:center;gap:.8rem}.recurring-row.paused{background:#f2efea}.recurring-row.paused .item-copy{opacity:.62}.quantity-field input{width:100%;height:2.75rem;padding:0 .55rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-strong);color:var(--ink);font-size:.78rem;font-weight:650}.switch{min-height:2.75rem;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.2rem;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch>span{width:2.45rem;height:1.4rem;padding:.17rem;border-radius:999px;background:#aea8a1;transition:background .14s ease}.switch i{display:block;width:1.06rem;height:1.06rem;border-radius:50%;background:#fff;transition:transform .14s ease}.switch input:checked+span{background:var(--green)}.switch input:checked+span i{transform:translate(1.05rem)}.switch input:focus-visible+span{outline:3px solid rgba(201,64,47,.35);outline-offset:2px}.switch b{font-size:.62rem;color:var(--ink-soft)}.app-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.75rem}.app-footer span{display:flex;align-items:center;gap:.4rem}.app-footer span svg{color:var(--green)}.app-footer button{min-height:2.75rem;padding:0 .75rem;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;text-decoration:underline;text-underline-offset:.2rem}.toast{position:fixed;z-index:50;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));width:min(calc(100% - 2rem),28rem);min-height:3.5rem;padding:.75rem .75rem .75rem .9rem;border:1px solid currentColor;border-radius:var(--radius);background:var(--surface-strong);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;color:var(--green);font-size:.78rem}.toast-duplicate{color:var(--amber)}.toast-error{color:var(--error)}.toast button{width:2.75rem;height:2.75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:currentColor;cursor:pointer;display:grid;place-items:center}.login-page,.loading-state{min-height:100vh;padding:2rem 1rem;display:grid;place-items:center}.login-panel{width:min(100%,24rem);padding:2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.product-name{margin-top:1.25rem;color:var(--tomato-dark);font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.login-panel h1{margin-top:.4rem;font-size:2rem}.login-panel form{margin-top:1.75rem;display:grid;gap:.7rem}.login-panel form>label{font-size:.76rem;font-weight:700}.password-field{position:relative;display:flex;align-items:center}.password-field svg{position:absolute;left:.8rem;color:var(--ink-soft)}.password-field input{width:100%;height:2.9rem;padding:0 .8rem 0 2.5rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-strong)}.form-error{color:var(--error);font-size:.76rem}.login-panel .button{width:100%;margin-top:.3rem}.loading-state{align-content:center;gap:1rem;text-align:center}.loading-state h1{font-size:1.45rem}.loading-state p{max-width:34rem;color:var(--ink-soft)}.loading-line{width:9rem;height:3px;overflow:hidden;background:var(--line)}.loading-line span{display:block;width:45%;height:100%;background:var(--tomato);animation:loading 1s ease-in-out infinite alternate}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading{to{transform:translate(125%)}}@media(max-width:760px){.site-header{position:static;min-height:auto;padding:.6rem 1rem 0;grid-template-columns:1fr auto;gap:.35rem .75rem}.brand{grid-column:1}.main-nav{grid-column:1 / -1;order:3;height:3rem;border-top:1px solid var(--line)}.main-nav button{flex:1;min-width:0}.page{padding-block:1.75rem 3rem}.page-title{align-items:flex-start;margin-bottom:1.25rem}.timing-settings{grid-template-columns:1fr 1fr;gap:1rem .75rem}.timing-settings>div{grid-column:1 / -1}.recurring-row{grid-template-columns:minmax(0,1fr) 4.25rem 3.75rem;gap:.65rem}.recurring-row .item-copy{grid-column:1 / -1}.cadence-field{grid-column:1;grid-row:2}.quantity-field{grid-column:2;grid-row:2}.switch{grid-column:3;grid-row:2}}@media(max-width:520px){.section-wrap,.recurring-page{width:min(calc(100% - 1.25rem),70rem)}.site-header{padding-inline:.65rem}.brand-mark{width:2rem;height:2rem}.brand-mark:before{top:-.5rem}.brand-mark span{top:.78rem}.brand small{display:none}.page-title{display:block}.page-title h1{font-size:2rem}.whatsapp-link{width:100%;margin-top:1rem}.cart-flag{grid-template-columns:auto minmax(0,1fr);gap:.65rem}.cart-flag a{grid-column:1 / -1;width:100%}.quick-add>div{display:grid}.quick-add .button{width:100%}.current-list{margin-top:1.6rem}.list-row{grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;padding-left:.8rem}.extra-label{grid-column:1;width:fit-content;margin-top:-.2rem}.quantity{grid-column:2;grid-row:1 / 3}.icon-button{grid-column:3;grid-row:1 / 3}.timing-settings{grid-template-columns:1fr}.timing-settings>div{grid-column:auto}.recurring-row{padding-left:.8rem}.app-footer{align-items:flex-start;flex-direction:column}.app-footer button{padding:0}.toast{left:.65rem;right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));width:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
