:root{color-scheme:dark;--bg: #0e1013;--card: #171a1f;--field: #22262d;--sheet: #2a2f37;--text: #eef0f3;--muted: #99a1ac;--line: #2a2f37;--outline: #3a404a;--accent: #9d7bff;--on-accent: #120a2e;--accent-soft: #2a2440;--accent-text: #d9ccff;--danger: #ff7b7b;--store-anonima: #5c8dff;--store-cordiez: #2ec27e;--font: Inter, system-ui, sans-serif;font-family:var(--font);background:var(--bg);color:var(--text);font-feature-settings:"tnum"}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg: #f6f7f9;--card: #ffffff;--field: #eceef2;--sheet: #e2e5ea;--text: #111318;--muted: #5a616c;--line: #e2e5ea;--outline: #c3c8d0;--accent: #6e4bea;--on-accent: #ffffff;--accent-soft: #ece6ff;--accent-text: #2a1480;--danger: #c93636}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{color:#bba8ff}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--bg);color:var(--text)}.sidebar{flex:1 1 200px;max-width:220px;padding:26px 14px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);min-height:100vh;position:sticky;top:0;align-self:flex-start}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 26px;font-size:18px;font-weight:600}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:14px}.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:14px}.side-link.on{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.side-link.on svg{stroke:var(--accent)}.side-foot{margin-top:auto;padding:18px 10px 0;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.avatars{display:flex}.avatar{width:28px;height:28px;border-radius:50%;background:var(--sheet);color:var(--text);font-size:12px;font-weight:600;display:grid;place-items:center;border:2px solid var(--bg)}.avatar+.avatar{margin-left:-9px}.page{flex:999 1 560px;min-width:0;padding:28px 36px 40px;position:relative}.page-inner{max-width:1120px;display:flex;flex-direction:column;gap:20px}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.overline{font-size:13px;color:var(--muted);margin:0}h1,.title{margin:2px 0 0;font-size:34px;font-weight:600;letter-spacing:-.8px}.tabs{display:inline-flex;background:var(--card);border-radius:12px;padding:4px;gap:2px}.tabs button{border:0;background:transparent;color:var(--muted);font-size:14px;padding:8px 16px;border-radius:9px;font-weight:500}.tabs button.on{background:var(--accent-soft);color:var(--accent-text)}.quick-add{background:var(--card);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px}.quick-add input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:18px;color:var(--text);padding:0}.mic{width:44px;height:44px;border-radius:50%;border:0;background:var(--field);color:var(--accent);display:grid;place-items:center;flex:none}.hint{font-size:12px;color:var(--muted);white-space:nowrap}.btn{border:0;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14px;padding:12px 18px;border-radius:12px;white-space:nowrap}.btn-line{border:1px solid var(--outline);background:transparent;color:var(--text);font-size:14px;padding:8px 14px;border-radius:20px}.btn-tonal{border:0;background:var(--field);color:var(--text);font-size:13px;padding:7px 12px;border-radius:10px}.btn-danger{border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:13px;padding:7px 12px;border-radius:10px}.btn:disabled{opacity:.45;cursor:default}.icon-btn{border:0;background:transparent;color:var(--muted);width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search-pill{flex:1 1 260px;display:flex;align-items:center;gap:8px;background:var(--field);border-radius:20px;padding:9px 14px;color:var(--muted);font-size:14px}.search-pill input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text)}.split{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}.split-main{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px;padding-bottom:76px}.split-aside{flex:1 1 260px;max-width:320px;display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border-radius:16px;padding:14px 18px}.card.selected{box-shadow:inset 0 0 0 1.5px var(--accent);padding:6px 16px 4px}.card.pad-list{padding:6px 16px 4px}.group-head{margin:0;padding:8px 0 4px;font-size:13px;font-weight:500;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.group-head.accent{color:var(--accent);font-weight:600;font-size:14px}.columns-2{columns:2 260px;column-gap:24px}.break-card{break-inside:avoid;margin-bottom:18px}.item-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.item-row:first-of-type{border-top:0}.item-row.to-buy{background:color-mix(in srgb,var(--accent) 12%,transparent);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}.check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--muted);background:transparent;flex:none;padding:0;display:grid;place-items:center;color:var(--on-accent)}.check.on{background:var(--accent);border-color:var(--accent)}.item-name{font-size:15px;font-weight:500}.item-name.done{text-decoration:line-through;color:var(--muted)}.item-detail{font-size:12px;color:var(--muted)}.item-price{font-size:13px;color:var(--muted);margin-left:auto;white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:8px;background:var(--field);color:var(--muted)}.chip.accent{background:var(--accent-soft);color:var(--accent-text)}.chip.badge{background:var(--accent);color:var(--on-accent);border-radius:8px;padding:0 6px;font-size:12px;font-weight:600}.store-row{display:flex;align-items:center;gap:10px;padding:6px 0}.tool-row{display:flex;flex-wrap:wrap;gap:8px}.tool-row>*{flex:0 0 auto}.detail-section{padding-bottom:10px}.detail-section .bare-btn:disabled{opacity:1;cursor:default}.dot{width:8px;height:8px;border-radius:50%;flex:none}.store-total{font-size:20px;font-weight:600}.store-total.best{color:var(--accent)}.selection-bar{position:sticky;bottom:18px;margin-top:-60px;max-width:640px;z-index:20;background:var(--sheet);border-radius:18px;padding:10px 12px 10px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;box-shadow:0 10px 30px #00000080}.selection-bar .count{flex:1;font-weight:600;font-size:14px}.selection-bar button{border:0;background:transparent;color:var(--text);font-size:13px;padding:8px 12px;border-radius:10px}.selection-bar button.danger{border:1px solid var(--danger);color:var(--danger);padding:7px 12px}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(560px,100%);max-height:88vh;background:var(--bg);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden}.sheet-body{overflow:auto;padding:16px;flex:1}.sheet-foot{padding:12px 16px 16px;background:var(--sheet);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.sheet-foot .pair{display:flex;gap:8px}.sheet-foot .pair>*{flex:1}.field,.area{width:100%;background:var(--field);color:var(--text);border:0;border-radius:12px;min-height:48px;padding:0 12px}.area{min-height:96px;padding:12px;resize:vertical}.stack{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:8px}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:12px}.error{color:var(--danger)}.hero-promo{background:var(--accent);color:var(--on-accent);border-radius:18px;padding:18px 22px}.fab-assist{position:fixed;right:24px;bottom:24px;z-index:30;width:56px;height:56px;border-radius:999px;border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:22px}.gate{min-height:100vh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:24px 16px}.gate h1{font-size:34px;font-weight:600}.snack{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;background:var(--sheet);border-radius:12px;padding:12px 16px;display:flex;gap:12px;align-items:center;border:1px solid var(--line);min-width:260px}.snack button{border:0;background:transparent;color:var(--accent);font-weight:500}@media(max-width:860px){.sidebar{position:fixed;inset:auto 0 0;max-width:none;min-height:0;height:auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;border-right:0;border-top:1px solid var(--line);padding:8px;z-index:40;background:var(--bg)}.brand,.side-foot{display:none}.side-link{flex-direction:column;gap:2px;font-size:11px;padding:8px 10px;white-space:nowrap}.page{padding:20px 16px 96px}.columns-2{columns:1}h1{font-size:28px}}.btn-tonal,.btn-line,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-line.small{font-size:12px;padding:5px 10px;border-radius:16px}.btn-tonal:disabled{opacity:.45;cursor:default}.mic.live{background:var(--accent);color:var(--on-accent);animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}.square-btn{width:36px;height:36px;border-radius:10px;border:0;background:var(--field);color:var(--accent);display:grid;place-items:center;flex:none}.chip-input{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--field);color:var(--text);font-size:13px;padding:6px 10px;border-radius:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips.tight{gap:4px;margin-top:4px}.chip.soft{background:color-mix(in srgb,var(--accent) 22%,transparent)}.chip.price{font-size:13px;padding:4px 8px;font-weight:600}.chip.big{font-size:13px;padding:7px 10px;border-radius:10px;align-self:flex-start}.filter-chip{border:1px solid var(--outline);background:transparent;color:var(--text);font-size:13px;padding:6px 12px;border-radius:10px}.filter-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.sheet-label{margin:8px 0 0;font-size:13px;font-weight:500;color:var(--muted)}.field-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.field.slim{min-height:38px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-pill{font-size:12px;color:var(--muted);background:var(--field);border-radius:10px;padding:1px 8px}.group-head.strong{font-size:15px;font-weight:600;color:var(--text)}.group-toggle{width:100%;border:0;background:transparent;cursor:pointer;padding:8px 0 6px}.mini-row{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);padding:6px 0;text-align:left;font-size:14px}.mini-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:8px}.item-row.two-line{align-items:center;transition:background-color .25s ease,transform .15s ease}.item-row.two-line:active{transform:scale(.99)}.item-row.is-selected{background:color-mix(in srgb,var(--accent) 18%,transparent);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}.row-body{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.row-text{display:flex;flex-direction:column;min-width:0}.row-text .item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-col{min-width:88px;display:flex;justify-content:flex-end}.item-price.strong{color:var(--text);font-weight:600;font-size:14px;margin:0}.check{transition:background-color .2s ease,border-color .2s ease}.check.ring{border-color:var(--accent)}.check-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:pop .3s cubic-bezier(.2,.8,.2,1.4)}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.reminder-card{width:100%;border:0;color:var(--text);gap:12px;cursor:pointer;text-align:left}.stepper{display:inline-flex;align-items:center;gap:6px;background:var(--field);border-radius:10px;padding:2px}.stepper button{border:0;background:transparent;color:var(--text);width:28px;height:28px;border-radius:8px;display:grid;place-items:center}.stepper span{min-width:36px;text-align:center;font-size:13px}.variant{padding:12px 14px}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-top:10px}.offer{display:flex;align-items:center;gap:8px;background:var(--field);color:var(--text);border-radius:10px;padding:7px 10px;font-size:13px}.offer.mine{background:var(--accent-soft);color:var(--accent-text)}.fade-in{animation:fadeUp .35s cubic-bezier(.2,.8,.2,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet{animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}@keyframes sheetUp{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.page-inner{animation:fadeUp .3s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.fab-assist svg{width:24px;height:24px}.reminder{padding:14px 16px}.reminder-body{width:100%;display:flex;flex-direction:column;gap:2px;border:0;background:transparent;color:var(--text);padding:0;text-align:left;cursor:pointer}.reminder-when{font-size:13px;font-weight:600}.reminder-big{font-size:22px;font-weight:600;text-transform:capitalize}.row.wrap{flex-wrap:wrap}.bare{border:0;outline:none;background:transparent;color:var(--text);font-size:15px;min-width:0}.bare-btn{border:0;background:transparent;color:var(--text);padding:0;text-align:left;cursor:pointer}.dashed{border:1.5px dashed var(--outline);background:transparent;color:var(--muted);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13px;text-align:left}.wish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.wish-card{background:var(--card);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease}.wish-card:hover{transform:translateY(-2px)}.wish-media{position:relative;border:0;padding:0;background:var(--field);cursor:pointer;display:block}.wish-change{position:absolute;top:10px;left:10px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:8px}.wish-change.down{background:var(--accent-soft);color:var(--accent-text)}.wish-change.up{background:color-mix(in srgb,var(--danger) 20%,var(--card));color:var(--danger)}.wish-source{position:absolute;top:10px;right:10px;font-size:11px;padding:3px 8px;border-radius:8px;background:var(--sheet);color:var(--muted)}.wish-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.wish-price{font-size:22px;font-weight:600;letter-spacing:-.4px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-cell{border:0;background:var(--card);color:var(--text);border-radius:14px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px}.day-cell strong{font-size:20px}.day-cell.today{box-shadow:inset 0 0 0 1px var(--outline)}.day-cell.on{background:var(--accent);color:var(--on-accent)}.day-cell.on .muted{color:var(--on-accent)}.merchant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.merchant{display:flex;flex-direction:column}.merchant-mark{width:34px;height:34px;border-radius:10px;background:var(--field);display:grid;place-items:center;font-weight:600}.more-link{margin-top:10px;padding-top:8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--accent);text-align:left;font-size:13px}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.stat-num{font-size:26px;font-weight:600;letter-spacing:-.5px;margin-top:4px}.stat-num.small{font-size:17px;padding:6px 0}.brand-row{display:grid;grid-template-columns:120px 1fr 48px;gap:10px;align-items:center;padding:5px 0;font-size:13px}.bar-track{height:9px;border-radius:5px;background:var(--field);overflow:hidden}.bar-fill{display:block;height:9px;border-radius:5px;transform-origin:left;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.pair{display:flex;gap:8px}.pair>*{flex:1}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.chip.up{background:color-mix(in srgb,var(--danger) 20%,var(--card));color:var(--danger)}.bars{position:relative;display:flex;align-items:flex-end;gap:8px;height:170px;margin:12px 0 8px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;padding:0}.bar-v{width:100%;max-width:46px;border-radius:6px 6px 3px 3px;background:var(--accent-soft);transform-origin:bottom;animation:rise .7s cubic-bezier(.2,.8,.2,1) both;transition:background-color .2s}.bar-col.on .bar-v,.bar-col:hover .bar-v{background:var(--accent)}.bar-l{font-size:11px;color:var(--muted);height:16px}@keyframes rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bar-budget{position:absolute;left:0;right:0;border-top:1.5px dashed var(--danger);pointer-events:none}.ring-arc{transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}.product-row{width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;color:var(--text);cursor:pointer}.draw-line{stroke-dasharray:2000;stroke-dashoffset:2000;animation:draw 1.2s ease-out .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}.timeline{border-left:2px solid var(--line);margin-left:6px;padding-left:14px;display:flex;flex-direction:column;gap:10px}.tl-item{position:relative;display:flex;gap:10px;font-size:14px}.tl-dot{position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.small{font-size:13px;padding:7px 14px;border-radius:16px}.btn-line.listening{border-color:var(--accent);color:var(--accent);animation:pulse 1.2s ease-in-out infinite}.kind-badge{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}.bill-row{gap:12px;min-height:64px;animation:fadeUp .3s ease both}.bill-amount{display:flex;flex-direction:column;align-items:flex-end;min-width:92px}.errand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}.errand-card{transition:opacity .25s,transform .2s;animation:fadeUp .3s ease both}.errand-card.done{opacity:.55}.errand-card.done .item-name{text-decoration:line-through}.check-circle{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);background:transparent;color:transparent;display:grid;place-items:center;flex:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.check-circle.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.step-row{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 0;cursor:pointer}.step-row.done{color:var(--muted);text-decoration:line-through}.step-row input,.row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.draft-card{display:flex;flex-direction:column;gap:6px;background:var(--field);animation:fadeUp .25s ease both}.space-chip{margin-top:8px;display:inline-flex;align-items:center;gap:6px}.list-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.list-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;padding:6px 12px;font-size:14px;cursor:pointer;transition:background-color .2s,border-color .2s}.list-chip.on{border-color:var(--list-color);background:color-mix(in srgb,var(--list-color) 24%,var(--card))}.list-chip .list-count{font-size:12px;color:var(--muted)}.list-chip .list-edit{display:inline-grid;place-items:center;margin-left:2px;color:var(--muted)}.color-row{display:flex;flex-wrap:wrap;gap:10px}.color-dot{width:36px;height:36px;border-radius:50%;border:0;display:grid;place-items:center;color:#120a2e;cursor:pointer}.color-dot.on{outline:3px solid var(--text);outline-offset:2px}
