.receipt-screen{animation:enter var(--m-panel) var(--ease) both}.receipt-screen .receipt-header h1{margin-bottom:var(--s-3);font-size:var(--t-h1)}.receipt-screen .receipt-pick{gap:var(--s-3);margin-top:var(--s-5);display:grid}.receipt-screen .file-button-primary{color:var(--action-ink);background:var(--action);border-color:#0000}.receipt-screen .receipt-done{margin-bottom:var(--s-4);padding:var(--s-3);border-radius:var(--r-md);color:var(--status-ok-ink);background:var(--status-ok-bg);font-weight:var(--label-weight)}.receipt-screen .receipt-preview{gap:var(--s-4);display:grid}.receipt-screen .receipt-progress label{gap:var(--s-3);color:var(--ink-secondary);font-size:var(--t-small);display:grid}.receipt-screen .review-summary>p{color:var(--muted);font-size:var(--t-small);font-variant-numeric:var(--font-Variant-numeric)}.receipt-screen .review-warnings{margin-top:var(--s-3);padding:0 var(--s-3);border-radius:var(--r-md);color:var(--hint-ink);background:var(--hint-bg);font-size:var(--t-small)}.receipt-screen .review-warnings summary{min-height:var(--tap-min);justify-content:space-between;align-items:center;gap:var(--s-2);font-weight:var(--label-weight);cursor:pointer;list-style:none;display:flex}.receipt-screen .review-warnings ul{margin:var(--s-2) 0 0;padding-left:var(--s-4);line-height:var(--lh-snug)}.receipt-screen .review-list{gap:var(--s-3);margin:var(--s-4) 0;display:grid}.receipt-screen .review-card{padding:var(--s-3) var(--s-4) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);transition:opacity var(--m-in) var(--ease)}.receipt-screen .review-card.low{border-color:var(--status-low-border)}.receipt-screen .review-card.skipped{opacity:.6}.receipt-screen .review-card-head{align-items:center;gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.receipt-screen .receipt-name{overflow-wrap:anywhere;color:var(--ink-secondary);font-family:var(--font-mono);font-size:var(--t-label);margin:0}.receipt-screen .receipt-name span{margin-top:var(--s-1);color:var(--muted);white-space:nowrap;font-variant-numeric:var(--font-Variant-numeric);display:block}.receipt-screen .skip-toggle{min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--s-3);align-items:center;gap:var(--s-2);border-radius:var(--r-pill);color:var(--ink-secondary);background:var(--bg-subtle);font-size:var(--t-label);font-weight:var(--label-weight);cursor:pointer;display:inline-flex}.receipt-screen .skip-toggle input{width:1.25rem;height:1.25rem;accent-color:var(--accent);margin:0}.receipt-screen .review-fields{gap:var(--s-2);margin-top:var(--s-3);display:grid}.receipt-screen .review-row{align-items:end;gap:var(--s-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.receipt-screen .review-row.name-row{grid-template-columns:minmax(0,1fr) 6.5rem}.receipt-screen .review-fields label{gap:var(--s-1);color:var(--ink-secondary);font-size:var(--t-label);font-weight:var(--label-weight);display:grid}.receipt-screen .review-fields input,.receipt-screen .review-fields select{width:100%;min-width:0;min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--ink);background-color:var(--bg-elevated);font-size:var(--t-body);padding:.5rem .65rem}.receipt-screen .review-fields select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%235a5e54' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.25rem}.receipt-screen .qty-input{align-items:center;gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.receipt-screen .qty-input input{font-family:var(--font-mono);font-variant-numeric:var(--font-Variant-numeric)}.receipt-screen .qty-input small{color:var(--muted)}.receipt-screen .match-note{color:var(--status-ok-ink);font-size:var(--t-label);align-self:center;margin:0}.receipt-screen .review-actions{bottom:calc(var(--bar) + var(--s-2));gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);box-shadow:0 .5rem 2rem var(--border-strong);display:grid;position:sticky}.receipt-screen .review-actions .error-message{margin:0}.ocr-details{margin-top:var(--s-5);padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface)}.ocr-details>summary{min-height:var(--tap-lg);color:var(--ink-secondary);font-weight:var(--label-weight);cursor:pointer;align-items:center;display:flex}.ocr-details[open]{padding-bottom:var(--s-4)}.ocr-details>.file-button{width:100%}.ocr-attempt{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border)}.ocr-attempt h3{margin:0 0 var(--s-3);font-family:var(--font-text);font-size:var(--t-card);font-weight:var(--strong-weight)}.ocr-attempt dl{gap:var(--s-1);margin:0 0 var(--s-3);font-size:var(--t-label);display:grid}.ocr-attempt dl div{gap:var(--s-2);grid-template-columns:6.5rem minmax(0,1fr);display:grid}.ocr-attempt dt{color:var(--muted)}.ocr-attempt dd{overflow-wrap:anywhere;font-variant-numeric:var(--font-Variant-numeric);margin:0}.ocr-attempt img{width:100%;margin-bottom:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;display:block}.ocr-attempt pre{max-height:20rem;padding:var(--s-3);border-radius:var(--r-md);color:var(--ink);background:var(--bg-subtle);font-family:var(--font-mono);font-size:var(--t-label);line-height:var(--lh-snug);white-space:pre-wrap;margin:0;overflow:auto}.ocr-agent{margin:var(--s-3) 0 0;overflow-wrap:anywhere;color:var(--muted);font-size:var(--t-label)}.receipt-paste{gap:var(--s-3);display:grid}.receipt-screen .receipt-paste h1{font-size:var(--t-h1);margin:0}.paste-field{gap:var(--s-1);color:var(--ink-secondary);font-size:var(--t-label);font-weight:var(--label-weight);display:grid}.paste-field textarea{width:100%;min-height:12rem;padding:var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--ink);background:var(--bg-elevated);font-family:var(--font-mono);font-size:var(--t-body);line-height:var(--lh-snug);resize:vertical}.receipt-pick .pick-divider{margin:var(--s-2) 0 0;color:var(--muted);font-size:var(--t-label);text-align:center}.receipt-pick .screen-intro{font-size:var(--t-small);margin:0}.receipt-preview>.form-actions,.receipt-paste>.form-actions,.receipt-progress>.form-actions{bottom:calc(var(--bar) + var(--s-2));padding:var(--s-2) 0;background:var(--bg-app);position:sticky}.receipt-progress{gap:var(--s-4);margin-top:var(--s-4);display:grid}.progress-thumb{object-fit:contain;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);opacity:.85;width:100%;max-height:40dvh}.receipt-screen .receipt-progress progress{border-radius:var(--r-pill);background:var(--bg-subtle);appearance:none;border:0;width:100%;height:6px;overflow:hidden}.receipt-progress progress::-webkit-progress-bar{border-radius:var(--r-pill);background:var(--bg-subtle)}.receipt-progress progress::-webkit-progress-value{border-radius:var(--r-pill);background:var(--action)}.receipt-progress progress::-moz-progress-bar{border-radius:var(--r-pill);background:var(--action)}.app-shell:has(.receipt-review) .bottom-navigation{display:none}.app-content:has(.receipt-review){padding-bottom:calc(var(--s-4) + var(--safe-bottom))}.receipt-screen .receipt-review .review-actions{bottom:calc(var(--safe-bottom) + var(--s-2));background:var(--bg-surface)}.review-summary h1{margin-bottom:var(--s-1);font-size:var(--t-h1)}.review-warnings summary::-webkit-details-marker{display:none}.review-warnings .summary-more{color:var(--accent);font-weight:var(--strong-weight)}.review-warnings .summary-more:before{content:"pokaż"}.review-warnings[open] .summary-more:before{content:"ukryj"}.review-warnings .summary-more:after{content:"▾";margin-left:var(--s-1);transition:transform var(--m-in) var(--ease);display:inline-block}.review-warnings[open] .summary-more:after{transform:rotate(180deg)}.receipt-screen .review-warnings[open]{padding-bottom:var(--s-3)}.receipt-done-panel{gap:var(--s-3);margin-top:var(--s-4);display:grid}.receipt-done-panel .receipt-done{margin:0}.receipt-screen .form-actions:has(>button:only-child){grid-template-columns:1fr}.review-fields input[type=number]{appearance:textfield}.review-fields input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.review-fields input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.add-part-button{width:100%;margin-top:var(--s-3)}.parts-banner{gap:var(--s-2);margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);display:grid}.parts-banner>p:first-child{font-weight:var(--strong-weight);margin:0}.parts-banner .screen-intro{font-size:var(--t-small);margin:0}.crop-frame{padding:calc(var(--tap-min) / 2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);justify-content:center;display:flex;overflow:hidden}.crop-stage{touch-action:none;-webkit-user-select:none;user-select:none;display:inline-block;position:relative}.crop-stage img{pointer-events:none;max-width:100%;max-height:45dvh;display:block}.crop-window{outline:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #14181394}.crop-handle{width:var(--tap-min);height:var(--tap-min);touch-action:none;place-items:center;display:grid;position:absolute}.crop-handle.edge{z-index:2}.crop-handle span{border-radius:var(--r-pill);transition:transform var(--m-press) var(--ease);background:#fff;display:block;box-shadow:0 1px 4px #00000073}.crop-handle:active span,.crop-handle:focus-visible span{transform:scale(1.25)}.crop-handle:focus-visible{outline:none}.crop-handle:focus-visible span{outline:2px solid var(--accent);outline-offset:2px}.crop-handle.edge.left,.crop-handle.edge.right{top:calc(50% - var(--tap-min) / 2);cursor:ew-resize}.crop-handle.edge.left{left:calc(var(--tap-min) / -2)}.crop-handle.edge.right{right:calc(var(--tap-min) / -2)}.crop-handle.edge.top,.crop-handle.edge.bottom{left:calc(50% - var(--tap-min) / 2);cursor:ns-resize}.crop-handle.edge.top{top:calc(var(--tap-min) / -2)}.crop-handle.edge.bottom{bottom:calc(var(--tap-min) / -2)}.crop-handle.edge.left span,.crop-handle.edge.right span{width:6px;height:28px}.crop-handle.edge.top span,.crop-handle.edge.bottom span{width:28px;height:6px}.crop-handle.corner span{width:16px;height:16px}.crop-handle.corner.top-left{top:calc(var(--tap-min) / -2);left:calc(var(--tap-min) / -2);cursor:nwse-resize}.crop-handle.corner.top-right{top:calc(var(--tap-min) / -2);right:calc(var(--tap-min) / -2);cursor:nesw-resize}.crop-handle.corner.bottom-left{bottom:calc(var(--tap-min) / -2);left:calc(var(--tap-min) / -2);cursor:nesw-resize}.crop-handle.corner.bottom-right{bottom:calc(var(--tap-min) / -2);right:calc(var(--tap-min) / -2);cursor:nwse-resize}.receipt-preview>.file-button{justify-self:start}.receipt-screen .unit-note,.receipt-screen .field-error{font-size:var(--t-label);line-height:var(--lh-snug);margin:0}.receipt-screen .unit-note{color:var(--hint-ink)}.receipt-screen .field-error{color:var(--status-low-ink);font-weight:var(--label-weight)}.receipt-screen .review-fields input[aria-invalid=true]{border-color:var(--status-low-ink)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--shell-max-w:30rem;--gut:1rem;--nav-h:4.25rem;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--bar:calc(var(--nav-h) + var(--safe-bottom));--tap-min:2.75rem;--tap-lg:3rem;--tap-gap:.5rem;--t-h1:clamp(1.75rem, 6vw, 2.125rem);--t-h2:1.25rem;--t-h3:1.0625rem;--t-lead:1.0625rem;--t-card:1rem;--t-body:1rem;--t-small:.875rem;--t-label:.8125rem;--t-qty:1.125rem;--t-stat:1.75rem;--lh-tight:1.15;--lh-snug:1.35;--lh-body:1.5;--text-weight:400;--label-weight:500;--strong-weight:600;--font-Variant-numeric:tabular-nums lining-nums;--font-feature-numeric:"tnum" 1, "lnum" 1;--ease:cubic-bezier(.2, .8, .2, 1);--m-ease:var(--ease);--m-ease-enter:cubic-bezier(.22, 1, .36, 1);--m-ease-io:cubic-bezier(.65, 0, .35, 1);--m-in:.15s;--m-out:.12s;--m-press:90ms;--m-panel:.2s;--m-close:.12s;--m-slide:.24s;--press-scale:.985;--press-step-scale:.95;--lift-y:-2px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,[data-direction=clay-pine],[data-theme=a]{--font-display:ui-serif, "New York", Georgia, "Times New Roman", serif;--font-text:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--display-weight:500;--display-tracking:-.025em;--display-tracking-xl:-.032em;--r-sm:.5rem;--r-md:.75rem;--r-lg:1.125rem;--r-btn:.75rem;--r-pill:9999px;--p-bg:#f4efe6;--p-surface:#e8e0d2;--p-ink:#1f241d;--p-muted:#5a5e54;--p-accent:#285943;--p-accent-ink:#fff;--p-action:#285943;--p-action-ink:#fff;--p-inv-bg:#1f241d;--p-inv-surface:#2b3229;--p-inv-ink:#f4efe6;--p-inv-muted:#a3a89d;--p-inv-accent:#8ec2a8;--p-inv-accent-ink:#141917;--p-inv-action:#8ec2a8;--p-inv-action-ink:#141917;--bg-canvas:#e2dacb;--bg-app:var(--p-bg);--bg-surface:#fbf8f3;--bg-subtle:var(--p-surface);--bg-elevated:#fff;--ink:var(--p-ink);--ink-secondary:#3b4138;--muted:var(--p-muted);--border:#1f241d1f;--border-strong:#1f241d38;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#dce8e1;--accent-soft-ink:#1c4231;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#f9e6df;--status-low-ink:#8f341b;--status-low-border:#a3472b47;--status-ok-bg:#dce8e1;--status-ok-ink:#1e4634;--hint-bg:#ede5d7;--hint-ink:#49443b;--danger:#a33327;--danger-ink:#fff;--nav-bg:#fbf8f3f0;--nav-border:#1f241d1f;--focus-ring:#a3472b}@media (prefers-color-scheme:dark){:root:not([data-color-scheme=light]),[data-direction=clay-pine]:not([data-color-scheme=light]),[data-theme=a]:not([data-color-scheme=light]){--p-bg:#131816;--p-surface:#1c2421;--p-ink:#eae7df;--p-muted:#98a099;--p-accent:#82bfa0;--p-accent-ink:#111715;--p-action:#82bfa0;--p-action-ink:#111715;--bg-canvas:#0b0e0d;--bg-app:var(--p-bg);--bg-surface:#1b221f;--bg-subtle:#232c28;--bg-elevated:#26302c;--ink:var(--p-ink);--ink-secondary:#c7c5bc;--muted:var(--p-muted);--border:#eae7df1f;--border-strong:#eae7df3d;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#21382d;--accent-soft-ink:#a8dbc0;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#38201a;--status-low-ink:#f4a28c;--status-low-border:#f4a28c4d;--status-ok-bg:#1f352b;--status-ok-ink:#9cd4b7;--hint-bg:#1f2723;--hint-ink:#b9b6ac;--danger:#e56b5d;--danger-ink:#131816;--nav-bg:#181f1cf0;--nav-border:#eae7df1f;--focus-ring:#f09579}}[data-color-scheme=dark],[data-direction=clay-pine][data-color-scheme=dark],[data-theme=a][data-color-scheme=dark]{--p-bg:#131816;--p-surface:#1c2421;--p-ink:#eae7df;--p-muted:#98a099;--p-accent:#82bfa0;--p-accent-ink:#111715;--p-action:#82bfa0;--p-action-ink:#111715;--bg-canvas:#0b0e0d;--bg-app:var(--p-bg);--bg-surface:#1b221f;--bg-subtle:#232c28;--bg-elevated:#26302c;--ink:var(--p-ink);--ink-secondary:#c7c5bc;--muted:var(--p-muted);--border:#eae7df1f;--border-strong:#eae7df3d;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#21382d;--accent-soft-ink:#a8dbc0;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#38201a;--status-low-ink:#f4a28c;--status-low-border:#f4a28c4d;--status-ok-bg:#1f352b;--status-ok-ink:#9cd4b7;--hint-bg:#1f2723;--hint-ink:#b9b6ac;--danger:#e56b5d;--danger-ink:#131816;--nav-bg:#181f1cf0;--nav-border:#eae7df1f;--focus-ring:#f09579}[data-direction=stone-cobalt],[data-theme=b]{--font-display:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-text:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "IBM Plex Mono", Menlo, Consolas, monospace;--display-weight:600;--display-tracking:-.035em;--display-tracking-xl:-.042em;--r-sm:.375rem;--r-md:.5rem;--r-lg:.75rem;--r-btn:.5rem;--r-pill:.375rem;--p-bg:#eff1f3;--p-surface:#e2e5e9;--p-ink:#14171c;--p-muted:#555d69;--p-accent:#1d4ed8;--p-accent-ink:#fff;--p-action:#1d4ed8;--p-action-ink:#fff;--p-inv-bg:#14171c;--p-inv-surface:#1f242d;--p-inv-ink:#eff1f3;--p-inv-muted:#949ca8;--p-inv-accent:#60a5fa;--p-inv-accent-ink:#0c1017;--p-inv-action:#60a5fa;--p-inv-action-ink:#0c1017;--bg-canvas:#dde1e6;--bg-app:var(--p-bg);--bg-surface:#fff;--bg-subtle:var(--p-surface);--bg-elevated:#fff;--ink:var(--p-ink);--ink-secondary:#2c333d;--muted:var(--p-muted);--border:#14171c1f;--border-strong:#14171c3d;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#dbeafe;--accent-soft-ink:#1e3a8a;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#ffedd5;--status-low-ink:#9a3412;--status-low-border:#c2501b52;--status-ok-bg:#e0e7ff;--status-ok-ink:#1e3a8a;--hint-bg:#e5e8ec;--hint-ink:#38414e;--danger:#b91c1c;--danger-ink:#fff;--nav-bg:#fffffff2;--nav-border:#14171c24;--focus-ring:#c2501b}@media (prefers-color-scheme:dark){[data-direction=stone-cobalt]:not([data-color-scheme=light]),[data-theme=b]:not([data-color-scheme=light]){--p-bg:#0c1017;--p-surface:#151c28;--p-ink:#ecf0f6;--p-muted:#8e98a8;--p-accent:#5ab9fc;--p-accent-ink:#0a0d14;--p-action:#5ab9fc;--p-action-ink:#0a0d14;--bg-canvas:#06080c;--bg-app:var(--p-bg);--bg-surface:#141b26;--bg-subtle:#1c2533;--bg-elevated:#202a3a;--ink:var(--p-ink);--ink-secondary:#c5cedb;--muted:var(--p-muted);--border:#ecf0f61f;--border-strong:#ecf0f63d;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#172a45;--accent-soft-ink:#93c5fd;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#3b1d11;--status-low-ink:#fdba74;--status-low-border:#fb923c52;--status-ok-bg:#172a45;--status-ok-ink:#93c5fd;--hint-bg:#18202d;--hint-ink:#b0bac9;--danger:#f87171;--danger-ink:#0c1017;--nav-bg:#121822f2;--nav-border:#ecf0f624;--focus-ring:#fb923c}}[data-direction=stone-cobalt][data-color-scheme=dark],[data-theme=b][data-color-scheme=dark]{--p-bg:#0c1017;--p-surface:#151c28;--p-ink:#ecf0f6;--p-muted:#8e98a8;--p-accent:#5ab9fc;--p-accent-ink:#0a0d14;--p-action:#5ab9fc;--p-action-ink:#0a0d14;--bg-canvas:#06080c;--bg-app:var(--p-bg);--bg-surface:#141b26;--bg-subtle:#1c2533;--bg-elevated:#202a3a;--ink:var(--p-ink);--ink-secondary:#c5cedb;--muted:var(--p-muted);--border:#ecf0f61f;--border-strong:#ecf0f63d;--accent:var(--p-accent);--accent-ink:var(--p-accent-ink);--accent-soft:#172a45;--accent-soft-ink:#93c5fd;--action:var(--p-action);--action-ink:var(--p-action-ink);--status-low-bg:#3b1d11;--status-low-ink:#fdba74;--status-low-border:#fb923c52;--status-ok-bg:#172a45;--status-ok-ink:#93c5fd;--hint-bg:#18202d;--hint-ink:#b0bac9;--danger:#f87171;--danger-ink:#0c1017;--nav-bg:#121822f2;--nav-border:#ecf0f624;--focus-ring:#fb923c}@media (prefers-reduced-motion:reduce){:root{--m-in:.01ms;--m-out:.01ms;--m-press:.01ms;--m-panel:.01ms;--m-close:.01ms;--m-slide:.01ms;--press-scale:1;--press-step-scale:1;--lift-y:0px}}:root{color:var(--ink);background:var(--bg-app);font-family:var(--font-text);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--bg-canvas)}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.app-shell{min-height:100dvh;max-width:var(--shell-max-w);background:var(--bg-app);margin:0 auto;position:relative;overflow:clip}.app-content{min-height:100vh;padding:max(3rem, env(safe-area-inset-top)) 1.5rem calc(7.5rem + env(safe-area-inset-bottom))}.brand-mark{width:2.5rem;height:2.5rem;color:var(--accent-ink);background:var(--accent);font-family:var(--font-display);border-radius:.75rem;place-items:center;margin-bottom:2.25rem;font-size:1.35rem;display:grid}.eyebrow{color:var(--muted);letter-spacing:.02em;margin:0 0 .25rem;font-size:.75rem;font-weight:750}h1,h2,p{margin-top:0}h1{font-family:var(--font-display);font-size:var(--t-h1);letter-spacing:-.045em;margin-bottom:.65rem;font-weight:500;line-height:.98}.intro{max-width:18rem;color:var(--muted);line-height:1.5}.shelf{border-bottom:.3rem solid var(--border-strong);justify-content:center;align-items:end;gap:.45rem;width:9rem;height:5.75rem;margin:0 auto 1.5rem;display:flex}.shelf span{background:var(--hint-bg);border-radius:.45rem .45rem .15rem .15rem;width:1.65rem}.shelf span:first-child{height:3.2rem}.shelf span:nth-child(2){background:var(--accent-soft);height:4.4rem}.shelf span:nth-child(3){background:var(--status-low-bg);height:2.65rem}.bottom-navigation{z-index:10;width:min(100%, var(--shell-max-w));padding:.6rem .75rem max(.6rem, env(safe-area-inset-bottom));border-top:1px solid var(--nav-border);background:var(--nav-bg);box-shadow:0 -.75rem 2rem var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-navigation a{min-height:3.5rem;color:var(--muted);border-radius:.75rem;align-content:center;place-items:center;gap:.3rem;font-size:.7rem;font-weight:650;text-decoration:none;transition:color .16s,background-color .16s,transform .12s;display:grid}.bottom-navigation a:active{transform:scale(.96)}.bottom-navigation a.active{color:var(--accent);background:var(--accent-soft)}.bottom-navigation a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px}.navigation-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}button,input,select{font:inherit}button{color:inherit}.settings-link{border:1px solid var(--border);background:var(--bg-surface);text-align:left;border-radius:1rem;justify-content:space-between;align-items:center;width:100%;min-height:5rem;margin-top:2.5rem;padding:1rem 1.1rem;display:flex}.settings-link span:first-child{gap:.25rem;display:grid}.settings-link small{color:var(--muted)}.settings-screen,.startup-error{max-width:480px;min-height:100dvh;padding:max(2rem, env(safe-area-inset-top)) 1.25rem max(2rem, env(safe-area-inset-bottom));background:var(--bg-app);margin:0 auto}.screen-header{align-items:flex-start;gap:1rem;display:flex}.screen-header h1{margin-bottom:0}.icon-button,.row-actions button{background:var(--accent-soft);border:0;border-radius:.75rem;min-width:2.75rem;min-height:2.75rem}.screen-intro{max-width:22rem;color:var(--muted);margin:1.25rem 0 2rem;line-height:1.5}.location-list{gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.location-list li{border:1px solid var(--border);background:var(--bg-surface);border-radius:1rem;grid-template-columns:2.75rem 1fr;align-items:center;gap:.75rem;padding:.8rem;display:grid}.location-glyph{width:2.75rem;height:2.75rem;color:var(--accent);background:var(--accent-soft);border-radius:.75rem;place-items:center;font-size:1.25rem;display:grid}.location-glyph svg,.row-actions svg,.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.row-actions{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.row-actions button{padding-inline:.75rem;font-size:.78rem}.row-actions button:disabled{opacity:.35}.row-actions .row-delete{color:var(--status-low-ink);background:var(--status-low-bg)}.primary-button,.danger-button,.form-actions>button{border:0;border-radius:.8rem;min-height:3rem;padding:.75rem 1rem;font-weight:700}.primary-button{color:var(--action-ink);background:var(--action)}.danger-button{color:var(--danger-ink);background:var(--danger)}.form-actions>button:not(.primary-button,.danger-button),.sheet>button:not(.primary-button,.danger-button),.clear-done-button{border:1px solid var(--border-strong);color:var(--ink-secondary);background:var(--bg-subtle)}.sheet-layer{z-index:20;background:color-mix(in srgb, var(--ink) 45%, transparent);justify-content:center;align-items:end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,480px);max-height:calc(100dvh - env(safe-area-inset-top));padding:1.5rem 1.25rem max(1.25rem, env(safe-area-inset-bottom));overscroll-behavior-y:contain;border:1px solid var(--border);background:var(--bg-surface);box-shadow:0 -1rem 3rem var(--border-strong);border-radius:1.25rem 1.25rem 0 0;margin:0 auto;position:relative;overflow-y:auto}.sheet h2{margin-bottom:1.25rem}.sheet form,.sheet label{gap:.5rem;display:grid}.sheet form{gap:1rem}.sheet label{color:var(--ink-secondary);font-size:.8rem;font-weight:700}.sheet input,.sheet select{border:1px solid var(--border-strong);width:100%;min-height:3rem;color:var(--ink);background-color:var(--bg-elevated);border-radius:.7rem;padding:.65rem .75rem}@media (prefers-color-scheme:dark){:root:not([data-color-scheme=light]) .sheet select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23c7c5bc' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}[data-color-scheme=dark] .sheet select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23c7c5bc' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.sheet select{min-height:var(--tap-lg);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%235a5e54' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.form-actions{grid-template-columns:1fr 1.5fr;gap:.75rem;display:grid}.error-message{color:var(--status-low-ink);background:var(--status-low-bg);border-radius:.75rem;padding:.8rem}.startup-error{align-content:center;display:grid}.startup-error p:not(.eyebrow){color:var(--muted);line-height:1.55}.startup-error .primary-button{justify-self:start}.shopping-screen{animation:.24s ease-out both enter}.quick-add{gap:.5rem;margin:2rem 0 1.5rem;display:grid}.quick-add>label,.minimum-field{color:var(--ink-secondary);font-size:.8rem;font-weight:700}.quick-add>div{grid-template-columns:1fr auto;gap:.5rem;display:grid}.quick-add input,.minimum-field input{border:1px solid var(--border-strong);min-width:0;min-height:3rem;color:var(--ink);background:var(--bg-elevated);border-radius:.75rem;padding:.7rem .8rem}.shopping-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.shopping-list li{border:1px solid var(--border);background:var(--bg-surface);border-radius:.9rem;min-height:4rem;padding:.75rem;display:grid}.shopping-row{width:100%;min-height:var(--tap-min);cursor:pointer;grid-template-columns:2rem 1fr auto;align-items:center;gap:.75rem;display:grid}.shopping-list input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--accent)}.shopping-list .shopping-row>span:nth-child(2){gap:.2rem;display:grid}.clear-done-button{width:100%;min-height:var(--tap-min);margin-top:var(--s-3);border-radius:var(--r-md);font-weight:var(--strong-weight)}.shopping-list small{color:var(--status-low-ink);font-size:.72rem;font-weight:700}.shopping-list .done strong{color:var(--muted);text-decoration:line-through}.item-quantity{font-variant-numeric:tabular-nums;font-weight:700}.quiet-state{color:var(--muted);text-align:center;margin-top:3rem}.nav-count{min-width:1.1rem;height:1.1rem;color:var(--danger-ink);background:var(--danger);border-radius:999px;place-items:center;margin-left:.25rem;padding:0 .25rem;font-size:.62rem;display:inline-grid}.minimum-field{gap:.45rem;display:grid}.minimum-field small{color:var(--muted);font-weight:400}.minimum-field .minimum-label{justify-content:space-between;gap:var(--s-2);white-space:nowrap;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.inventory-header{justify-content:space-between;align-items:center;gap:var(--s-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.inventory-header>div{min-width:0}.inventory-header p{margin-bottom:var(--s-1);color:var(--muted);font-size:var(--t-small);letter-spacing:-.01em;white-space:nowrap}.inventory-header h1{font-size:var(--t-h1);margin-bottom:0}.add-product-button{flex:none}.search-field{min-height:var(--tap-lg);margin:var(--s-5) 0 var(--s-4);padding:0 var(--s-4);align-items:center;gap:var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-lg);color:var(--muted);background:var(--bg-surface);grid-template-columns:auto 1fr;display:grid}.search-field input{min-width:0;min-height:var(--tap-lg);color:var(--ink);font-size:var(--t-body);background:0 0;border:0;outline:0}:where(button,input,select,a):focus-visible,.search-field:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.file-button:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.location-filters{margin-bottom:var(--s-6);gap:var(--s-2);padding-right:var(--s-6);overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--s-5)), transparent 100%);-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--s-5)), transparent 100%);mask-image:linear-gradient(to right, #000 0, #000 calc(100% - var(--s-5)), transparent 100%);display:flex;overflow-x:auto}.location-filters button,.recent-products button{min-height:var(--tap-min);padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--ink-secondary);background:var(--bg-surface);scroll-snap-align:start;flex:none}.location-filters button.active{color:var(--accent-soft-ink);background:var(--accent-soft);font-weight:var(--strong-weight);border-color:#0000}.inventory-groups{gap:var(--s-6);display:grid}.inventory-group>header{margin-bottom:var(--s-3);justify-content:space-between;align-items:baseline;display:flex}.inventory-group>header h2{font-family:var(--font-display);font-size:var(--t-h2);margin:0}.inventory-group>header small{color:var(--muted)}.inventory-empty{margin-top:var(--s-8);padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);text-align:center}.inventory-empty p{color:var(--muted)}.product-list{gap:var(--s-3);display:grid}.product-card{min-height:7rem;padding:var(--s-4);align-items:center;gap:var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.product-card.low{border-color:var(--status-low-border)}.product-copy h2{margin-bottom:var(--s-2);font-family:var(--font-text);font-size:var(--t-card);font-weight:var(--strong-weight)}.product-name-button{min-height:var(--tap-min);margin:calc(var(--s-2) * -1);padding:var(--s-2);color:inherit;font:inherit;text-align:left;background:0 0;border:0}.product-copy p{margin:var(--s-2) 0 0;color:var(--muted);font-size:var(--t-small);line-height:var(--lh-snug)}.low-badge{padding:var(--s-1) var(--s-2);border-radius:var(--r-pill);color:var(--status-low-ink);background:var(--status-low-bg);font-size:var(--t-label);font-weight:var(--strong-weight);white-space:nowrap;display:inline-block}.quantity-control{grid-template-columns:var(--tap-min) 3.5rem var(--tap-min);align-items:center;gap:var(--tap-gap);display:grid}.quantity-control button{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-md);color:var(--accent-soft-ink);background:var(--accent-soft);transition:transform var(--m-press) var(--ease);border:0;font-size:1.5rem}.quantity-control button:first-child{color:var(--ink-secondary);background:var(--bg-subtle)}.quantity-control button:active{transform:scale(var(--press-step-scale))}.quantity-control label{min-height:var(--tap-min);align-content:center;justify-items:center;display:grid}.quantity-control input{width:100%;color:var(--ink);font-family:var(--font-mono);font-size:var(--t-qty);font-weight:var(--strong-weight);text-align:center;font-variant-numeric:var(--font-Variant-numeric);appearance:textfield;background:0 0;border:0}.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.location-list li.location-moved{border-color:var(--accent);background:var(--accent-soft)}.location-list li.location-moved .row-actions button{background:var(--bg-surface)}.location-list li.location-moved .row-actions .row-delete{background:var(--status-low-bg)}.quantity-control small{color:var(--muted);font-family:var(--font-text);font-size:var(--t-label)}.product-sheet{max-height:92dvh;overflow-y:auto}.delete-product-button{min-height:var(--tap-min);color:var(--danger);font-weight:var(--strong-weight);text-align:left;background:0 0;border:0}.delete-confirmation{padding:var(--s-3);border:1px solid var(--status-low-border);border-radius:var(--r-md);background:var(--status-low-bg)}.delete-confirmation p{color:var(--status-low-ink)}.recent-products{margin-bottom:var(--s-4)}.recent-products>p{color:var(--muted);font-size:var(--t-label);font-weight:var(--label-weight)}.recent-products>div{gap:var(--s-2);display:flex;overflow-x:auto}.form-row{gap:var(--s-3);grid-template-columns:1fr 1.4fr;display:grid}.storage-hint{padding:var(--s-3);border-radius:var(--r-md);color:var(--hint-ink);background:var(--hint-bg);font-size:var(--t-small);line-height:var(--lh-snug)}.storage-hint p{margin:var(--s-1) 0 0}@media (width<=380px){.inventory-header{align-items:flex-start}.add-product-button{padding-inline:var(--s-3)}.product-card{grid-template-columns:1fr}.quantity-control{justify-content:end}}.backup-screen{animation:enter var(--m-panel) var(--ease) both}.backup-card{margin-top:var(--s-4);padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface)}.backup-card h2{margin-bottom:var(--s-2);font-family:var(--font-display);font-size:var(--t-h2)}.backup-card p,.backup-preview>p{color:var(--muted);font-size:var(--t-small);line-height:var(--lh-body)}.file-button{min-height:var(--tap-lg);padding:0 var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-btn);color:var(--accent);background:var(--accent-soft);font-weight:var(--strong-weight);cursor:pointer;place-items:center;display:inline-grid}.file-button input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.success-message{padding:var(--s-3);border-radius:var(--r-md);color:var(--status-ok-ink);background:var(--status-ok-bg)}.backup-preview dl{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.backup-preview dl div{padding:var(--s-3);border-radius:var(--r-md);background:var(--bg-subtle)}.backup-preview dt{color:var(--muted);font-size:var(--t-label)}.backup-preview dd{margin:var(--s-1) 0 0;font-family:var(--font-mono);font-size:var(--t-stat);font-variant-numeric:var(--font-Variant-numeric)}.backup-actions{grid-template-columns:1fr 1fr}.cancel-import-button{width:100%;min-height:var(--tap-min);margin-top:var(--s-3)}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.primary-button:disabled{opacity:.5}@keyframes enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}
