:root{--bg: #f5f7f6;--surface: #ffffff;--surface-alt: #eef3f1;--text: #1b2626;--muted: #4a5a59;--border: #cfd9d6;--accent: #0b6e65;--accent-strong: #08524b;--accent-soft: #e2f1ee;--warn-bg: #fff6e0;--warn-text: #5c4300;--focus: #1a4fd6;--radius: 10px;--gap: 1rem;--touch: 44px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:2px}.calc{display:grid;gap:var(--gap)}.calc-results{display:grid;gap:var(--gap);align-content:start}@media(min-width:900px){.calc{grid-template-columns:minmax(280px,360px) 1fr;align-items:start}.household{position:sticky;top:1rem}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.panel h2{margin:0 0 .75rem;font-size:1.2rem}.btn,.stepper-btn,.preset{min-height:var(--touch);min-width:var(--touch);padding:.5rem .9rem;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--accent-strong);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.25rem}.btn:hover,.stepper-btn:hover,.preset:hover{background:var(--accent-soft)}.btn-buy{background:var(--accent);color:#fff}.btn-buy:hover{background:var(--accent-strong)}button:disabled,button[aria-disabled=true]{border-color:var(--border);color:var(--muted);background:var(--surface-alt);cursor:not-allowed}input[type=number]{min-height:var(--touch);width:4.5rem;padding:.4rem;border:1px solid var(--muted);border-radius:8px;font:inherit;text-align:center;color:var(--text);background:var(--surface)}input[type=checkbox]{width:1.4rem;height:1.4rem;margin:0;accent-color:var(--accent);flex:none}.print-only{display:none}.share-url{flex:1 1 100%;min-height:var(--touch);padding:.4rem .6rem;border:1px solid var(--muted);border-radius:8px;font:inherit;color:var(--text);background:var(--surface)}.steppers{display:grid;gap:.6rem}.stepper{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.stepper-controls{display:flex;align-items:center;gap:.35rem}.toggles{display:grid;gap:.25rem;margin:1rem 0}.toggle,.have{display:flex;align-items:center;gap:.6rem;min-height:var(--touch);cursor:pointer}.days{border:0;margin:0;padding:0}.days legend{font-weight:600;margin-bottom:.5rem;padding:0}.presets{display:flex;flex-wrap:wrap;gap:.5rem}.preset[aria-pressed=true]{background:var(--accent);color:#fff}.preset.is-official{border-width:2px}.hint{color:var(--muted);font-size:.9rem;margin:.5rem 0}.custom-days{display:flex;align-items:center;gap:.75rem}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:0}.total{background:var(--surface-alt);border-radius:8px;padding:.75rem}.total dt{color:var(--muted);font-size:.9rem}.total dd{margin:0}.total-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.total-sub{color:var(--muted);font-size:.9rem}.estimate{color:var(--muted);font-size:.9rem;margin:.75rem 0 0}.unpriced,.notes{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;padding:.5rem .75rem;margin:.75rem 0 0;font-size:.9rem}.notes{padding-left:1.75rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.action-status{color:var(--accent-strong);font-weight:600}.group+.group{margin-top:1.25rem}.group h3{font-size:1.05rem;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:2px solid var(--accent-soft)}.basket-label{color:var(--muted);font-size:.9rem;margin:0 0 .5rem}.lines{list-style:none;margin:0;padding:0}.line{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.line:last-child{border-bottom:0}.line-main{display:flex;flex-direction:column}.line-name{font-weight:600}.line-qty,.line-shelf,.line-unit{color:var(--muted);font-size:.9rem}.line-note{margin:.35rem 0 0;font-size:.9rem;color:var(--warn-text);background:var(--warn-bg);border-radius:6px;padding:.35rem .5rem}.line-price{text-align:right;display:flex;flex-direction:column}.line-cost{font-weight:700;font-variant-numeric:tabular-nums}.line-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.line-extra{grid-template-columns:1fr}.line.is-owned .line-name,.line.is-owned .line-cost{text-decoration:line-through;color:var(--muted)}.line.is-owned .btn-buy{background:var(--surface);color:var(--accent-strong)}.bars{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.bar-row{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr auto;align-items:center;gap:.75rem}.bar-track{height:.8rem;background:var(--surface-alt);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.bar-value{font-variant-numeric:tabular-nums;font-weight:600}@media(max-width:480px){.bar-row{grid-template-columns:1fr auto}.bar-track{grid-column:1 / -1;grid-row:2}}@media(prefers-reduced-motion:no-preference){.bar-fill{transition:width .2s ease}}@media print{:root{--bg: #fff;--border: #999}body{background:#fff;color:#000}.household,.actions,.line-actions,.bar-track,input,button,.btn{display:none!important}.calc,.print-only{display:block}.print-summary{font-weight:600;margin:0 0 .75rem}.panel{border:0;padding:0;margin-bottom:1rem}.line,.bar-row{break-inside:avoid}.bar-row{grid-template-columns:1fr auto}a{color:inherit;text-decoration:none}}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 1rem}main.wrap{display:grid;gap:var(--gap);padding-top:1.25rem;padding-bottom:2rem}main:focus{outline:none}h1{margin:0;font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.2}.lead{margin:0;max-width:70ch;color:var(--muted)}.skip-link{position:absolute;left:.5rem;top:-4rem;z-index:10;padding:.6rem 1rem;background:var(--accent);color:#fff;border-radius:8px;font-weight:600}.skip-link:focus{top:.5rem}a{color:var(--accent-strong)}.site-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.5rem 0}.switcher{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.switcher label{font-weight:600}.switcher select{min-height:var(--touch);max-width:100%;padding:.4rem .6rem;border:1px solid var(--muted);border-radius:8px;font:inherit;color:var(--text);background:var(--surface)}.notice{margin:0;padding:.75rem 1rem;border-radius:var(--radius);background:var(--warn-bg);color:var(--warn-text)}.disclosure{margin:0;font-size:.9rem;color:var(--muted)}.trust h3,.faq h3{margin:1rem 0 .4rem;font-size:1.05rem}.trust p{margin:.4rem 0}.sources{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}.sources time,.last-checked{color:var(--muted)}.faq h2{margin:.5rem 0 0;font-size:1.2rem}.faq-item p{margin:0;max-width:70ch}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:1rem 0 1.5rem;font-size:.9rem;color:var(--muted)}.disclaimer{margin:0}.suggestion{margin:0;padding:.75rem 1rem;border-radius:var(--radius);background:var(--accent-soft);font-weight:600}.picker,.picker ul{list-style:none;margin:0;padding:0}.picker{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.picker-group h2{margin:0 0 .35rem;font-size:1.05rem}.picker-group a{display:flex;align-items:center;min-height:var(--touch);padding:.25rem .6rem;border-radius:8px}.picker-group a.is-suggested{background:var(--accent-soft);outline:2px solid var(--accent);font-weight:600}@media print{.site-header,.skip-link,.faq,.notice{display:none!important}.site-footer{border:0;background:#fff;color:#000}}
