.screen{display:flex;flex-direction:column;height:100dvh;font-size:1.125rem;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);user-select:none;-webkit-user-select:none}:where(.screen button){font:inherit;color:inherit;background:none;border:0;cursor:pointer}.screen>header{background:var(--panel);border-bottom:1px solid var(--line);padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brandmark{height:2.25rem;width:auto;flex:none}.store{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.store select{font:inherit;padding:.75rem 2.75rem .75rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--panel-2) var(--caret) no-repeat right 14px center;appearance:none;-webkit-appearance:none;min-width:16.25rem;max-width:100%;color:var(--ink)}.store .lock,.store select{font-weight:700;font-size:1.25rem}.store .lock{padding:.75rem .25rem;overflow:hidden;text-overflow:ellipsis}.btn,.store .lock{white-space:nowrap}.btn{padding:.75rem 1.125rem;border-radius:12px;font-weight:700;min-height:52px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{background:#d9c9a8;color:#7a6844;cursor:default}.btn-ghost{color:var(--accent-text)}.btn-outline{border:1.5px solid var(--line);background:var(--panel-2)}.date,.sync{color:var(--ink-2);font-size:.9375rem}.sync{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.sync i{width:10px;height:10px;border-radius:50%;background:var(--ok);display:inline-block;flex:none}.sync.pending i{background:var(--gold)}.sync.failed i{background:var(--bad)}.screen>nav{padding:.875rem 1.25rem 0;display:flex;flex-wrap:wrap;gap:.625rem;flex:none}.sup{flex:0 0 auto;padding:.625rem 1.125rem;border-radius:var(--radius);background:var(--panel);border:2px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.3125rem;font-weight:700;justify-content:flex-start;min-height:68px;box-shadow:var(--shadow-sm)}.sup-name{font-size:1.0625rem;line-height:1.2;white-space:nowrap}.sup-state{font-family:var(--font-label);font-size:.625rem;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:4px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}.sup-state.draft{background:var(--warn-soft);color:var(--warn)}.sup-state.sent{background:var(--sky);color:var(--ink)}.sup-state.none{background:none;color:var(--ink-2);opacity:.45;padding-left:0;font-size:.6875rem;letter-spacing:.2em}.sup.active{border-color:var(--accent-hover);background:var(--accent-soft);color:var(--accent-text)}.screen>main{flex:1;display:grid;grid-template-columns:1fr 20rem;gap:1rem;padding:.875rem 1.25rem 1.25rem;min-height:0}.list{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:0}.list-head{padding:.875rem 1.125rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.list-head h1{font-family:var(--font-display);font-size:1.375rem;font-weight:700;flex:1;min-width:0}.search{display:flex;align-items:center;gap:.5rem;background:var(--key);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:0 .875rem;height:46px;min-width:13.75rem}.search input{border:0;background:none;font:inherit;font-size:1.0625rem;outline:0;width:100%;color:var(--ink)}.rows{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.row{display:grid;grid-template-columns:1fr 5.625rem 8.125rem;align-items:center;gap:.75rem;padding:0 1.125rem;min-height:64px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .name{font-size:1.0625rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .unit{color:var(--ink-2);font-size:.9375rem}.row .last{font-size:.875rem;margin-top:2px}.qty,.row .last{color:var(--ink-2)}.qty{height:50px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--key);font-size:1.375rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;padding:0 .875rem;width:100%}.qty.filled{background:var(--panel);color:var(--ink);border-color:#cdb98a}.row.selected .qty{border-color:var(--accent-hover);border-width:2px;box-shadow:0 0 0 3px var(--accent-ring);color:var(--accent-text)}.list.locked .qty{pointer-events:none;opacity:.6}.empty{padding:3.75rem 1.25rem;text-align:center;color:var(--ink-2);line-height:1.5}.screen aside{gap:.75rem}.pad,.screen aside{display:flex;flex-direction:column;min-height:0}.pad{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:.875rem;gap:.625rem;flex:0 1 auto}.pad .target{flex:none;background:var(--key);border-radius:var(--radius-sm);padding:.75rem .875rem;min-height:64px}.pad .target .n{font-size:.9375rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pad .target .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:700;text-align:right;min-height:36px}.keys{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(52px,64px)) minmax(48px,56px);gap:.5rem;flex:1 1 auto;min-height:0}.keys button{height:100%;min-height:52px;border-radius:12px;background:var(--key);font-family:var(--font-display);font-size:1.625rem;font-weight:700;border:1.5px solid var(--line)}.keys button:active{background:var(--accent-soft);border-color:var(--accent-hover);color:var(--accent-text)}.keys button:disabled{opacity:.4;cursor:default}.keys .k-del{font-size:1.25rem}.keys .k-next{grid-column:1/-1;background:var(--side);color:var(--side-ink);font-family:var(--font-body);font-size:1.125rem;height:100%;min-height:48px;border:0}.save{margin-top:auto;flex:none;background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:.875rem;display:flex;flex-direction:column;gap:.625rem}.save .sum{color:var(--ink-2);font-size:.9375rem}.save .sum b{color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.375rem;display:block;font-weight:700}.save .btn-primary{height:60px;font-size:1.1875rem;width:100%}.save.done{background:var(--sky);border-color:var(--sky-line)}.save.done .sum,.save.done .sum b{color:var(--ink)}.veil{position:fixed;inset:0;background:rgba(39,22,15,.5);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:10}.modal{background:var(--panel);border-radius:18px;box-shadow:var(--shadow-lg);padding:1.625rem;width:min(32.5rem,100%);display:flex;flex-direction:column;gap:1.125rem;max-height:90dvh}.modal h2{font-family:var(--font-display);font-size:1.375rem}.modal p{color:var(--ink-2);line-height:1.5}.modal ul{list-style:none;max-height:13.75rem;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modal li{display:flex;justify-content:space-between;gap:1rem;padding:.625rem .25rem;font-size:1.0625rem}.modal li b{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.modal .actions{display:flex;gap:.625rem}.modal .actions .btn{flex:1;height:56px;font-size:1.125rem}.toast{position:fixed;left:50%;bottom:1.75rem;transform:translate(-50%,20px);background:var(--side);color:var(--side-ink);padding:.875rem 1.375rem;border-radius:12px;font-weight:700;opacity:0;transition:.25s;pointer-events:none;z-index:11;box-shadow:var(--shadow-lg)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:900px){.screen>main{grid-template-columns:1fr}.screen aside{position:sticky;bottom:0}.row{grid-template-columns:1fr 4.375rem 6.875rem}}@media (max-height:900px){.screen>header{padding:.5rem 1.25rem}.brandmark{height:1.75rem}.store .lock,.store select{font-size:1.0625rem}.screen>nav{padding-top:.625rem;gap:.5rem}.sup{min-height:58px;padding:.4375rem .875rem;gap:.1875rem}.sup-name{font-size:1rem}.screen>main{padding:.625rem 1.25rem .875rem;gap:.75rem}.row{min-height:56px}.pad,.save{padding:.625rem;gap:.5rem}.pad .target{min-height:52px;padding:.5rem .75rem}.pad .target .v{font-size:1.5rem;min-height:28px}.keys{gap:.375rem;grid-template-rows:repeat(4,minmax(52px,56px)) minmax(46px,48px)}.save .btn-primary{height:52px;font-size:1.0625rem}}