.inv-view{padding-bottom:calc(var(--tap) + var(--s2) * 2 + 1px + var(--s3))}.inv-searchbar{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:20;background:var(--bg);border-top:1px solid var(--line);padding:var(--s2) calc(var(--s4) + env(safe-area-inset-right)) var(--s2) calc(var(--s4) + env(safe-area-inset-left))}.inv-search{width:100%;min-height:var(--tap);padding:0 var(--s4);border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:16px}.inv-search:focus{outline:none;border-color:var(--accent)}.inv-summary{font-size:14px;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s1);margin-bottom:var(--s2)}.inv-summary .flag-dot{margin-right:var(--s1)}.inv-stale{background:none;border:none;padding:0 var(--s1);min-height:var(--tap);color:var(--accent);font-size:14px;font-weight:600}.inv-loc{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:capitalize;color:var(--muted);margin-top:var(--s4)}.inv-list{list-style:none;margin:0;padding:0}.inv-open{background:none;border:none;padding:var(--s1) 0;min-height:var(--tap);text-align:left;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.inv-view .row-title,.inv-view .row-sub{display:block}.inv-create{color:var(--accent)}.inv-deleted{color:var(--muted)}.inv-more{background:none;border:none;color:var(--muted);width:36px;min-height:var(--tap);font-size:20px;flex-shrink:0;padding:0}.item-name-btn{background:none;border:none;padding:0;min-height:var(--tap);width:100%;text-align:left;font-size:22px;font-weight:700;color:var(--ink)}.item-name-pen{font-size:15px;font-weight:400}.item-name-form .field-input{font-size:20px;font-weight:700}.item-aliases{font-size:13px;margin-top:var(--s1)}.item-section{margin-top:var(--s5);display:flex;flex-direction:column;gap:var(--s3)}.item-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.item-qty-block{align-items:flex-start}.item-qty-block .qty-value,.item-qty-block .stepper-value{font-size:22px}.item-wide{width:100%}.item-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.item-field{display:flex;flex-direction:column;gap:var(--s2)}.item-label{font-size:14px;font-weight:600}.item-hint{font-size:13px}.item-num{max-width:130px;text-align:right;font-variant-numeric:tabular-nums}.item-date{max-width:190px}.item-notes{min-height:64px;padding:var(--s2) var(--s3);resize:vertical;font-family:inherit}.item-toggle{display:flex;align-items:center;gap:var(--s2);min-height:var(--tap)}.item-toggle input{width:22px;height:22px;accent-color:var(--accent)}.item-history{list-style:none;margin:0;padding:0}.item-event{display:flex;align-items:center;gap:var(--s2);min-height:36px;padding:var(--s1) 0;border-bottom:1px solid var(--line);font-size:14px}.item-event-glyph{width:24px;text-align:center;flex-shrink:0}.item-event-qty{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.item-event-age{flex-shrink:0;font-size:13px}.item-preview{margin:0;padding-left:var(--s4);display:flex;flex-direction:column;gap:var(--s1)}.item-danger{border-top:1px solid var(--line);padding-top:var(--s4)}.item-pick,.dupe-row{background:none;border:none;border-bottom:1px solid var(--line);text-align:left;width:100%;padding:var(--s2) 0;color:var(--ink)}.dupe-guard{display:flex;flex-direction:column}.recon-pick{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:56px;padding:var(--s2) 0;border:none;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink)}.recon-pick .row-title,.recon-pick .row-sub{display:block}.recon-chevron{color:var(--muted);font-size:20px;flex-shrink:0}.recon-head{display:flex;align-items:baseline;gap:var(--s3)}.recon-head .view-title{flex:1;min-width:0;margin-bottom:0}.recon-switch{background:none;border:none;color:var(--accent);font-weight:600;min-height:var(--tap);flex-shrink:0}.recon-progress{color:var(--muted);font-size:14px;margin:var(--s1) 0 var(--s3)}.recon-list{list-style:none;margin:0;padding:0}.recon-row{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.recon-touched{opacity:.45}.recon-check{color:var(--ok)}.recon-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.recon-row-head .row-title{min-width:0}.recon-row-head .row-sub{flex-shrink:0}.recon-row-acts{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}.recon-ok{border-color:var(--ok);color:var(--ok);font-weight:600;flex-shrink:0}.recon-finish{margin-top:var(--s4)}.recon-sweep-acts{display:flex;flex-wrap:wrap;gap:var(--s2)}.recon-delete{color:var(--danger)}.recon-move{display:flex;flex-direction:column;gap:var(--s3)}.recon-move-new{display:flex;gap:var(--s2)}.recon-move-new .field-input{flex:1;min-width:0}.recon-done{text-align:center;padding-top:var(--s5)}.recon-done-mark{width:64px;height:64px;margin:0 auto var(--s4);border-radius:50%;background:var(--ok);color:#fff;font-size:32px;line-height:64px}.recon-done-acts{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s5)}.settings-section{margin-bottom:var(--s5)}.settings-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:var(--s2)}.settings-stack{display:flex;flex-direction:column;gap:var(--s3)}.settings-note{font-size:14px;color:var(--muted)}.settings-error{font-size:14px;font-weight:600;color:var(--danger)}.settings-field{display:block}.settings-field-label{display:block;font-size:14px;color:var(--muted);margin-bottom:var(--s1)}.settings-kv{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);min-height:28px;font-size:15px}.settings-kv-label{color:var(--muted)}.settings-snap{margin-bottom:var(--s3)}.settings-snap-acts{display:flex;flex-wrap:wrap;gap:var(--s2)}.settings-snap-delete{color:var(--danger)}.settings-import-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.settings-import-stale{border:2px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);font-size:14px}.settings-import-card .btn:disabled{opacity:.45}.shop-section{margin-top:var(--s4)}.shop-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:var(--s1)}.shop-empty{color:var(--muted);padding:var(--s3) 0}.shop-check{flex-shrink:0;width:52px;height:52px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ok);font-size:24px;line-height:1}.shop-check:active{background:var(--accent-soft)}.shop-actions{display:flex;align-items:center;gap:var(--s2);margin:calc(-1 * var(--s1)) 0 calc(-1 * var(--s1)) calc(-1 * var(--s2))}.shop-amt{background:none;border:none;color:var(--accent);font-size:14px;font-weight:600;min-height:var(--tap);padding:0 var(--s2)}.shop-quiet{background:none;border:none;color:var(--muted);font-size:14px;min-height:var(--tap);padding:0 var(--s2);text-decoration:underline;text-underline-offset:2px}.shop-cart-row{opacity:.55}.shop-cart-mark{color:var(--ok);font-size:20px;padding:0 var(--s3)}.shop-prompt{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);margin:var(--s2) 0;background:var(--accent-soft);border-radius:var(--radius);font-size:14px}.shop-prompt-text{flex:1;min-width:0}.shop-add{display:flex;gap:var(--s2);margin-top:var(--s3)}:root{--bg: #faf6f0;--ink: #2b2015;--accent: #8a5a2b;--danger: #b3372c;--ok: #3d7a3d;--muted: #8c7f6f;--card: #ffffff;--line: #e6dccc;--accent-soft: #f1e6d7;--warn-soft: #f7ecd2;--danger-soft: #f6ded9;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--radius: 10px;--tap: 44px;--tabbar-h: 56px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,system-ui,Segoe UI,sans-serif;min-height:100dvh;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}input,select,textarea,button{font:inherit;font-size:16px;color:inherit}h1,h2,h3,p{margin:0}.app{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.content{padding:var(--s4);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s5))}.banners{display:flex;flex-direction:column}.view-title{font-size:22px;font-weight:700;margin-bottom:var(--s3)}.screen-head{display:flex;align-items:center;gap:var(--s2);min-height:var(--tap);margin-bottom:var(--s2)}.back-btn{background:none;border:none;color:var(--accent);font-weight:600;min-height:var(--tap);padding:0 var(--s2) 0 0}.screen-title{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay{position:fixed;inset:0;z-index:40;background:var(--bg);overflow-y:auto;padding:env(safe-area-inset-top) var(--s4) calc(env(safe-area-inset-bottom) + var(--s5))}.overlay-body{padding-top:var(--s2)}.btn{min-height:var(--tap);padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink)}.btn:active{filter:brightness(.95)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn-big{width:100%;min-height:52px}.chip{min-height:var(--tap);padding:0 var(--s3);border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);white-space:nowrap}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.row{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s2) 0;border-bottom:1px solid var(--line)}.row-main{flex:1;min-width:0}.row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:14px;color:var(--muted)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--ink)}.badge-out{background:var(--danger-soft);color:var(--danger)}.flag-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent)}.nobell{opacity:.45;font-size:14px}.muted{color:var(--muted)}.banner{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);font-size:14px}.banner-info{background:var(--accent-soft)}.banner-warn{background:var(--warn-soft)}.banner-body{flex:1;min-width:0}.banner-actions{display:flex;gap:var(--s2);flex-shrink:0}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#2b201573;display:flex;align-items:flex-end}.sheet{width:100%;max-height:85dvh;overflow-y:auto;background:var(--card);border-radius:16px 16px 0 0;padding:var(--s4);padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:center;margin-bottom:var(--s3)}.sheet-title{flex:1;font-size:18px;font-weight:700}.sheet-close{background:none;border:none;color:var(--muted);width:var(--tap);height:var(--tap);margin:calc(-1 * var(--s2))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.tab{flex:1;min-height:var(--tabbar-h);background:none;border:none;color:var(--muted);font-size:15px;display:flex;align-items:center;justify-content:center;gap:var(--s1)}.tab-active{color:var(--accent);font-weight:700}.tab-badge{min-width:20px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center}.tab-dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.toast{position:fixed;left:var(--s4);right:var(--s4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s4));z-index:60;display:flex;align-items:center;gap:var(--s3);background:var(--ink);color:var(--bg);padding:var(--s3) var(--s4);border-radius:var(--radius);box-shadow:0 4px 16px #2b20154d}.toast-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-undo{background:none;border:none;color:#eec388;font-weight:700;min-height:var(--tap);padding:0 var(--s2);flex-shrink:0}.qty{display:inline-flex;align-items:center;gap:var(--s2)}.qty-marks{display:inline-flex;align-items:center;gap:var(--s1)}.qty-value{background:none;border:none;color:var(--ink);font-weight:600;min-height:var(--tap);padding:0 var(--s2);display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.2}.qty-sub{font-size:12px;font-weight:400}.qty-form{display:inline-flex}.qty-input{width:96px;min-height:var(--tap);padding:0 var(--s2);border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);text-align:right;font-variant-numeric:tabular-nums}.stepper{display:inline-flex;align-items:center;gap:var(--s1)}.stepper-btn{width:var(--tap);height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-size:22px;line-height:1}.stepper-btn:active{filter:brightness(.95)}.stepper-value{min-width:56px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;background:none;border:none;min-height:var(--tap);padding:0 var(--s1)}.ladder{display:inline-flex;gap:var(--s1)}.field-input{width:100%;min-height:var(--tap);padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.field-input:focus{outline:none;border-color:var(--accent)}.create-form{display:flex;flex-direction:column;gap:var(--s4)}.boot{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--s4);padding:var(--s5);padding-top:calc(env(safe-area-inset-top) + var(--s5));padding-bottom:calc(env(safe-area-inset-bottom) + var(--s5));max-width:28rem;margin:0 auto}.boot-title{font-size:28px;font-weight:800}.boot-msg{color:var(--ink)}.boot-error{color:var(--danger);font-weight:600}.boot-actions,.boot-preview{display:flex;flex-direction:column;gap:var(--s3)}
