:root{--bg: #f6f7f4;--surface: #ffffff;--text: #1c2420;--muted: #65706a;--accent: #1f6f4a;--accent-text: #ffffff;--border: #dde2dc;--danger: #b3261e;--ok: #1baf7a;--saved-bg: #dff1e7;--saved-text: #1f6f4a;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-other: #898781;--grid: #e1e0d9;--axis-ink: #898781;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #111613;--surface: #1a211d;--text: #e8ece9;--muted: #9aa59f;--accent: #3fae7d;--accent-text: #0d1310;--border: #2c3530;--danger: #f2827a;--saved-bg: #173226;--saved-text: #7fd6aa;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--grid: #2c3530}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:17px/1.4 -apple-system,system-ui,sans-serif}main{padding:16px 16px calc(32px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}.welcome{padding-top:max(18vh,env(safe-area-inset-top))}h1{font-size:1.6rem;margin:.2rem 0}h2{font-size:1.15rem;margin:1.6rem 0 .6rem}a{color:var(--accent);text-decoration:none}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.splash{display:grid;place-items:center;height:100vh;margin:0;font-size:2rem;color:var(--accent)}.crumbs{margin:0 0 .4rem}.top{display:flex;justify-content:space-between;align-items:baseline}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}button,.button{font:inherit;border:0;border-radius:12px;padding:12px 16px;background:var(--accent);color:var(--accent-text);cursor:pointer;display:inline-block;text-align:center;touch-action:manipulation}button:disabled{opacity:.5}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}button.danger{color:var(--danger);margin-top:24px}button.small{padding:6px 10px;font-size:.9rem}button.link{background:none;padding:0;color:var(--accent);font-size:inherit}label.button.secondary{display:block;background:transparent;color:var(--accent);border:1px solid var(--border);margin:8px 0}.big{display:block;width:100%;padding:16px;font-size:1.1rem;font-weight:600;margin:12px 0}input{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}label{display:block;margin:10px 0}label.check{display:flex;gap:10px;align-items:center}label.check input{width:auto}.welcome{text-align:center;padding-top:18vh}.welcome h1{font-size:2.6rem;color:var(--accent)}.sync{position:sticky;top:0;z-index:2;width:100%;border-radius:0;padding:calc(6px + env(safe-area-inset-top)) 8px 6px;font-size:.85rem}.sync.ok{background:var(--saved-bg);color:var(--saved-text)}.sync.waiting,.sync.offline{background:#e8a33d;color:#1c1300}.sync.busy{background:var(--border);color:var(--text)}.saved{color:var(--saved-text);margin:4px 0}.unsaved{color:#b86e00;margin:4px 0}.problems{background:var(--surface);border:1px solid var(--danger);border-radius:12px;margin:8px 16px;padding:10px;font-size:.85rem}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;margin:12px 0}.choices,.trips,.items,.receipts{list-style:none;padding:0;margin:0}.choices button,.trips a{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px;margin:6px 0}.trips a{color:var(--text)}.scanner{margin:12px 0}.camera{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:4 / 3;outline:4px solid transparent;transition:outline-color .1s}.camera.flash{outline-color:var(--ok)}.camera video{width:100%;height:100%;object-fit:cover;display:block}.camera .aim{position:absolute;left:5%;right:5%;top:25%;bottom:25%;border:2px solid rgba(255,255,255,.8);border-radius:10px}.camera .last{position:absolute;bottom:8px;left:8px;background:#0009;color:#fff;padding:2px 8px;border-radius:8px;font-size:.85rem}.item{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;margin:6px 0}.item img,.item .noimage{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;flex:none}.item .noimage{background:var(--border)}.item .what{flex:1;min-width:0;display:flex;flex-direction:column}.item .what strong{overflow:hidden;text-overflow:ellipsis}.item .what form{display:grid;gap:6px}.quantity{display:flex;align-items:center;gap:6px}.quantity button{width:40px;height:40px;padding:0;font-size:1.3rem}.quantity span{min-width:1.5em;text-align:center;font-weight:600}.receipts li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;margin:6px 0}.receipts pre{white-space:pre-wrap;font-size:.8rem}.link-text{word-break:break-all}.reading .warning{background:#fff4e0;color:#6b4300;border-radius:10px;padding:8px 10px;margin:6px 0;font-size:.9rem}.lines{list-style:none;padding:0;margin:8px 0}.lines li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin:6px 0}.lines li.discount{color:var(--saved-text)}.line-head{display:flex;justify-content:space-between;gap:8px;font-size:.95rem}.line-head .num{white-space:nowrap;font-variant-numeric:tabular-nums}.line-product{display:flex;align-items:center;gap:8px;margin-top:6px}.line-product select{flex:1;min-width:0;font:inherit;font-size:.9rem;padding:6px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}button.link.left,a.left{text-align:left;color:var(--text)}.prices{list-style:none;padding:0;margin:4px 0 0}@media (prefers-color-scheme: dark){.reading .warning{background:#3a2a10;color:#f3c27a}}.hint{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;padding:8px 12px;margin:8px 0;font-size:.9rem}.hint p{margin:0 0 8px}.chart{margin:.6rem 0 1rem;padding:10px 10px 6px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.chart .plot{position:relative}.chart svg{display:block;width:100%;height:auto;touch-action:pan-y;outline:none}.chart svg:focus-visible{outline:2px solid var(--accent);border-radius:6px}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .tick{fill:var(--axis-ink);font-size:11px}.chart .end{fill:var(--text);font-size:11px;font-weight:600}.chart .crosshair{stroke:var(--axis-ink);stroke-width:1}.chart .dot{stroke:var(--surface);stroke-width:2}.chart .legend{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;margin:0 0 6px;padding:0;color:var(--muted)}.chart .legend .key,.chart .line-key{display:inline-block;width:14px;height:2px;border-radius:1px;vertical-align:middle;margin-right:6px}.chart .tip{position:absolute;top:0;transform:translate(-50%);pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 8px;box-shadow:0 2px 8px #0000001f;white-space:nowrap}.chart figcaption{margin-top:2px}.products{list-style:none;padding:0;margin:0}.products li a{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);color:var(--text)}.products img,.products .noimage,.product-head img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:var(--surface);flex:none}.products .what{flex:1;min-width:0;display:flex;flex-direction:column}.products .price{text-align:right;white-space:nowrap}.product-head{display:flex;gap:12px;align-items:center}.product-head img{width:72px;height:72px}.best{background:var(--saved-bg);color:var(--saved-text);border-radius:10px;padding:8px 12px;margin:.8rem 0}.search{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
