:root{--ink:#16352f;--muted:#6d7d78;--cream:#f5f1e8;--green:#1f6b56;--lime:#d9f28a;--line:#d9e0dc;--white:#fff;--red:#bd2f35}*{box-sizing:border-box}html{background:#e7ebe8}body{color:var(--ink);background:#e7ebe8;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen{background:var(--cream);place-content:center;justify-items:center;gap:12px;min-height:100dvh;display:grid}.loading-screen p{color:var(--muted);margin:0;font-weight:700}.app-shell{background:var(--cream);max-width:620px;min-height:100dvh;margin:0 auto;padding:0 20px 112px;box-shadow:0 0 50px #16352f1a}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 0 12px;display:grid}.brand-mark{color:#fff;background:var(--ink);letter-spacing:-.04em;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.eyebrow,.step-label{color:var(--green);text-transform:uppercase;letter-spacing:.1em;margin:0 0 3px;font-size:11px;font-weight:900}h1{letter-spacing:-.02em;margin:0;font-size:20px}h2{letter-spacing:-.035em;margin:0}.session-pill{border:1px solid var(--line);color:var(--muted);background:#fff9;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:800;display:flex}.session-pill i{background:#62a86d;border-radius:50%;width:7px;height:7px}.session-pill.offline{color:#8d4545;background:#fff0ed;border-color:#efc5c0}.session-pill.offline i{background:#d65d5d}.session-switcher{padding:9px 0 3px}.session-switcher>label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.session-controls{grid-template-columns:1fr auto;gap:8px;display:grid}.session-controls select{border:1px solid var(--line);min-width:0;height:43px;color:var(--ink);background:#fff;border-radius:12px;padding:0 36px 0 12px;font-weight:800}.session-controls button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:12px;padding:0 15px;font-weight:900}.install-card{background:#eff7d5;border:1px solid #b9d16f;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:10px;padding:10px;display:grid}.install-icon{background:var(--ink);width:43px;height:43px;color:var(--lime);border-radius:12px;place-items:center;font-weight:900;display:grid}.install-card strong,.install-card span{display:block}.install-card strong{font-size:13px}.install-card span{color:#5e6f4b;margin-top:3px;font-size:10px;font-weight:700}.install-card>button{background:var(--green);color:#fff;border:0;border-radius:10px;min-height:38px;padding:0 13px;font-size:12px;font-weight:900}.scan-panel{background:var(--ink);color:#fff;border-radius:24px;margin-top:16px;padding:24px 21px 22px;box-shadow:0 18px 34px #16352f2e}.scan-panel .step-label{color:var(--lime)}.scan-heading-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.scan-panel h2{margin:5px 0 7px;font-size:clamp(28px,8vw,37px);line-height:1.05}.catalog-count{color:#bcd0c9;border:1px solid #ffffff29;border-radius:999px;flex:none;padding:7px 9px;font-size:10px;font-weight:800}.helper{color:#bed0c9;margin:0 0 20px;font-size:14px;line-height:1.45}.scan-panel label{color:#dce7e3;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.scan-row{grid-template-columns:1fr auto;gap:8px;display:grid}.scan-row input{min-width:0;height:57px;color:var(--ink);background:#fff;border:2px solid #0000;border-radius:14px;outline:none;padding:0 15px;font-size:18px}.scan-row input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #d9f28a2e}.scan-row button{background:var(--lime);color:var(--ink);border:0;border-radius:14px;padding:0 17px;font-weight:900}.unknown-card{text-align:center;background:#fff1ef;border:2px solid #ec9898;border-radius:22px;margin-top:16px;padding:22px}.warning-icon{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:29px;font-weight:900;display:grid}.unknown-card .step-label{color:var(--red)}.unknown-card h2{color:var(--red);margin:3px 0 8px;font-size:clamp(31px,10vw,42px)}.unknown-card code{color:#682125;background:#fff;border-radius:8px;padding:7px 10px;font-size:16px;font-weight:900;display:inline-block}.unknown-card p:not(.step-label){color:#82474a;max-width:380px;margin:12px auto 17px;font-size:13px;line-height:1.4}.unknown-actions{gap:8px;display:grid}.unknown-actions button{color:#7b3438;background:#fff;border:1px solid #ddb4b4;border-radius:13px;min-height:48px;padding:0 15px;font-weight:900}.unknown-actions .primary-button{border-color:var(--green);background:var(--green);color:#fff}.primary-button{background:var(--green);color:#fff;border:0;border-radius:13px;min-height:48px;padding:0 18px;font-weight:900}.product-card{border:1px solid var(--line);background:#fff;border-radius:22px;margin-top:16px;overflow:hidden;box-shadow:0 10px 25px #16352f12}.product-card-head{justify-content:space-between;align-items:start;gap:12px;padding:21px 20px 15px;display:flex}.product-card h2{max-width:420px;margin-top:5px;font-size:25px;line-height:1.08}.product-meta{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.product-meta span{color:var(--green);background:#edf4ef;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.edit-button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:10px;flex:none;padding:8px 12px;font-size:12px;font-weight:900}.upc-line{border-top:1px solid #edf0ee;justify-content:space-between;align-items:start;gap:16px;margin:0 20px;padding:13px 0;display:flex}.upc-line span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.upc-line code{overflow-wrap:anywhere;text-align:right;font-size:13px;font-weight:900;line-height:1.45}.aliases{color:var(--muted);margin:0 20px 15px;font-size:12px;line-height:1.45}.notes{border-left:3px solid var(--lime);color:var(--muted);margin:0 20px 15px;padding-left:10px;font-size:13px;line-height:1.4}.last-scanned{background:#f5faf7;border:1px solid #cfe0d8;border-radius:13px;gap:3px;margin:0 20px 16px;padding:11px 12px;display:grid}.last-scanned span,.latest-session-scan>span{color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.last-scanned strong{font-size:14px}.last-scanned small,.latest-session-scan small{color:var(--muted);font-size:10px;line-height:1.35}.last-scanned.never{border-color:var(--line);background:#f7f8f7}.last-scanned.never strong{color:var(--muted)}.quantity-block{background:#edf4ef;justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.quantity-block span{color:var(--green);font-size:13px;font-weight:800}.quantity-block strong{font-size:41px;line-height:1}.quantity-actions{grid-template-columns:1fr 1.4fr 1fr;gap:8px;padding:11px;display:grid}.quantity-actions button{border:1px solid var(--line);min-height:51px;color:var(--ink);background:#fff;border-radius:12px;font-weight:900}.quantity-actions .plus{border-color:var(--green);background:var(--green);color:#fff}.count-summary{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.count-summary>div,.count-summary>button{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#ffffffb3;border-radius:15px;justify-content:space-between;align-items:end;gap:7px;padding:13px 14px;display:flex}.count-summary>button{cursor:pointer;position:relative}.count-summary>button:not(:disabled){background:#fff;border-color:#a8c5b8;box-shadow:0 6px 16px #16352f0f}.count-summary>button:active:not(:disabled){background:#f1f6f2;transform:translateY(1px)}.count-summary>button:disabled{cursor:default;opacity:.72}.count-summary span{color:var(--muted);font-size:11px;font-weight:700}.count-summary strong{font-size:23px}.count-summary small{color:var(--green);text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:900;position:absolute;bottom:4px;right:13px}.latest-session-scan{border:1px solid var(--line);background:#ffffffb3;border-radius:15px;gap:4px;margin-top:9px;padding:13px 14px;display:grid}.latest-session-scan strong{font-size:14px}.undo-button{border:1px solid var(--line);width:100%;color:var(--green);background:0 0;border-radius:13px;margin-top:9px;padding:13px;font-weight:900}.directory,.export-panel{margin-top:22px}.directory>h2,.export-panel>h2{margin:5px 0 14px;font-size:31px}.search-row{grid-template-columns:1fr auto;gap:8px;display:grid}.search-row input{border:1px solid var(--line);background:#fff;border-radius:13px;outline:none;min-width:0;height:50px;padding:0 14px}.search-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6b561a}.search-row button{background:var(--green);color:#fff;border:0;border-radius:13px;padding:0 16px;font-weight:900}.result-note{color:var(--muted);margin:12px 2px 8px;font-size:11px}.product-list{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.product-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 15px;display:flex}.product-row:last-child{border-bottom:0}.product-row:active{background:#f1f6f2}.product-row span{min-width:0}.product-row strong,.product-row small{display:block}.product-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.product-row small{color:var(--muted);margin-top:4px;font-size:11px}.product-row b{color:var(--green);flex:none;font-size:13px}.export-panel{border:1px solid var(--line);background:#fff;border-radius:22px;padding:23px 20px}.export-panel>p:not(.step-label):not(.privacy-note){color:var(--muted);margin:-5px 0 20px;font-size:14px;line-height:1.5}.export-stats{grid-template-columns:1fr 1fr;gap:9px;display:grid}.export-stats div{background:#edf4ef;border-radius:15px;place-items:center;padding:16px;display:grid}.export-stats strong{font-size:33px}.export-stats span{color:var(--green);font-size:11px;font-weight:800}.export-panel dl{margin:18px 0}.export-panel dl div{border-bottom:1px solid #edf0ee;justify-content:space-between;gap:16px;padding:11px 0;display:flex}.export-panel dt{color:var(--muted);font-size:12px}.export-panel dd{text-align:right;margin:0;font-size:12px;font-weight:800}.export-button{background:var(--green);color:#fff;border:0;border-radius:14px;width:100%;min-height:54px;font-weight:900}.privacy-note{color:var(--muted);text-align:center;margin:13px 8px 0;font-size:10px;line-height:1.4}.danger-zone{background:#fff7f6;border:1px solid #e5b7b7;border-radius:15px;margin-top:22px;padding:15px}.danger-zone>strong{color:#8b3034;font-size:13px}.danger-zone>p{color:#875b5d;margin:5px 0 12px;font-size:11px;line-height:1.45}.danger-zone>button{color:#a53d42;background:#fff;border:1px solid #c85c61;border-radius:11px;width:100%;min-height:45px;font-weight:900}.bottom-nav{z-index:20;border-top:1px solid var(--line);width:min(620px,100%);padding:8px 14px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#82908b;background:0 0;border:0;justify-items:center;gap:3px;padding:5px;font-size:11px;font-weight:800;display:grid}.bottom-nav button span{font-size:22px;line-height:1}.bottom-nav button.active{color:var(--green)}.modal-backdrop{z-index:50;padding:16px 16px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#091c188c;justify-content:center;align-items:end;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:23px;width:min(540px,100%);max-height:92dvh;padding:21px;overflow:auto;box-shadow:0 22px 60px #00000042}.modal-head{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.modal-head h2,.quantity-modal h2{margin-top:3px;font-size:27px}.modal-head>button{width:38px;height:38px;color:var(--ink);background:#eef2ef;border:0;border-radius:50%;font-size:24px}.modal form>label,.two-columns label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;margin-bottom:13px;font-size:11px;font-weight:800;display:grid}.modal input,.modal textarea{border:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;letter-spacing:normal;background:#fff;border-radius:12px;outline:none;padding:12px 13px}.modal input:focus,.modal textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6b561a}.two-columns{grid-template-columns:1.4fr .8fr;gap:10px;display:grid}.form-error{color:var(--red);background:#fff0f0;border-radius:10px;margin:3px 0 12px;padding:10px;font-size:12px;font-weight:800}.form-note{color:var(--muted);background:#edf4ef;border-radius:10px;margin:-2px 0 13px;padding:10px 11px;font-size:11px;line-height:1.45}.count-product-button{border:1px solid var(--green);width:100%;min-height:44px;color:var(--green);background:#fff;border-radius:11px;margin:0 0 13px;font-size:12px;font-weight:900}.link-upc{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#edf4ef;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:-5px 0 13px;padding:11px 12px;font-size:11px;font-weight:900;display:flex}.link-upc code{color:var(--ink);letter-spacing:normal;font-size:14px}.link-search{margin-bottom:10px}.link-results{border:1px solid var(--line);border-radius:15px;max-height:48dvh;overflow:auto}.modal-actions{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:6px;display:grid}.modal-actions button{border:1px solid var(--line);min-height:49px;color:var(--ink);background:#fff;border-radius:12px;font-weight:900}.modal-actions .primary-button{border-color:var(--green);background:var(--green);color:#fff}.quantity-modal>p:not(.step-label){color:var(--muted);margin:7px 0 17px}.quantity-modal form>input{text-align:center;height:72px;font-size:34px;font-weight:900}.counted-products-modal{padding-bottom:12px}.counted-product-list{border:1px solid var(--line);border-radius:15px;max-height:60dvh;overflow:auto}.counted-product-row{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.counted-product-row:last-child{border-bottom:0}.counted-product-row:active{background:#f1f6f2}.counted-product-row>span{min-width:0}.counted-product-row>span strong,.counted-product-row>span small{display:block}.counted-product-row>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.counted-product-row>span small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.35}.counted-product-row>b{min-width:42px;color:var(--green);text-align:center;flex:none;font-size:22px}.counted-product-row>b small{color:var(--muted);text-transform:uppercase;font-size:8px;display:block}.wipe-modal>p:not(.step-label){color:var(--muted);margin:8px 0 18px;font-size:13px;line-height:1.5}.danger-label{color:var(--red)}.danger-confirm{border-color:var(--red)!important;background:var(--red)!important;color:#fff!important}.install-modal ol{color:var(--ink);gap:13px;margin:5px 0 18px;padding-left:25px;display:grid}.install-modal li{padding-left:5px;font-size:14px;line-height:1.45}.install-note{color:var(--muted);background:#edf4ef;border-radius:12px;padding:12px;font-size:12px;line-height:1.45}.full-button{width:100%;margin-top:8px}.auth-shell{background:linear-gradient(155deg, var(--ink) 0 38%, #e9eee9 38% 100%);place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-card{background:#fff;border-radius:28px;width:min(460px,100%);padding:25px;box-shadow:0 26px 70px #0415114d}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand>span{background:var(--ink);width:50px;height:50px;color:var(--lime);border-radius:15px;place-items:center;font-size:18px;font-weight:900;display:grid}.auth-brand p,.auth-brand h1{margin:0}.auth-brand p{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900}.auth-brand h1{margin-top:2px;font-size:21px}.auth-hero{margin:33px 0 25px}.auth-hero h2{margin:4px 0 9px;font-size:34px}.auth-hero>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.auth-card form>label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:7px;margin-bottom:14px;font-size:11px;font-weight:900;display:grid}.auth-card input{border:1px solid var(--line);width:100%;height:53px;color:var(--ink);text-transform:none;letter-spacing:normal;border-radius:13px;outline:none;padding:0 14px}.auth-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6b561a}.scanner-keyboard-help{color:var(--muted);text-align:center;margin:12px 6px 8px;font-size:11px;line-height:1.4}.security-note{color:var(--muted);text-align:center;margin:15px 8px 0;font-size:10px;line-height:1.4}.toast{z-index:100;top:calc(12px + env(safe-area-inset-top));background:var(--ink);color:#fff;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:11px 17px;font-size:12px;font-weight:900;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.disconnect-button{color:#8b4a4a;background:0 0;border:0;width:100%;margin-top:20px;padding:10px;font-size:11px;font-weight:800}@media (width>=621px){.modal-backdrop{align-items:center}}@media (width<=430px){.session-pill{display:none}.scan-heading-row{display:block}.catalog-count{margin-bottom:8px;display:inline-block}.scan-row{grid-template-columns:1fr}.scan-row button{height:50px}.count-summary div{display:grid}}.scanner-setup-row{justify-content:flex-end;margin-top:9px;display:flex}.scan-row,.search-row{align-items:start}.scan-row>button{min-height:57px}.search-row>button{min-height:50px}.weighted-modal .weight-instruction,.weighted-modal .weight-note,.scale-code-editor p{color:var(--muted);font-size:14px;line-height:1.5}.weighted-modal form>label{letter-spacing:0;text-transform:none;font-size:14px}.weighted-modal input{font-size:22px}.weight-label-details{background:#edf4ef;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;font-size:16px;display:flex}.weight-label-details span{width:100%;color:var(--muted);font-size:14px}.weight-preview{border:1px solid var(--green);border-radius:12px;padding:14px;font-size:16px}.weight-preview strong{overflow-wrap:anywhere;margin-top:4px;font-size:21px;display:block}.weight-totals{grid-template-columns:1.5fr 1fr;gap:12px;margin:20px 0;display:grid}.weight-totals>div{background:#edf4ef;border-radius:14px;padding:14px}.weight-totals span{color:var(--muted);font-size:14px}.weight-totals strong{color:var(--green);overflow-wrap:anywhere;font-size:clamp(24px,6vw,38px);display:block}.weight-totals small{font-size:16px}.weight-missing,.sync-notice{color:#64421a;background:#fff7e7;border:1px solid #b47725;border-radius:12px;padding:12px;font-size:14px;line-height:1.5}.session-weight{text-align:center;color:var(--green);padding:12px;font-size:16px}.scale-code-editor{border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:12px}.scale-code-editor legend{font-size:16px;font-weight:800}.scale-code-editor label{gap:6px;margin:12px 0;font-size:14px;display:grid}.scale-code-chip{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.scale-code-chip button{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:40px;padding:8px}.modal select{border:1px solid var(--line);max-width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:12px;font-size:16px}.weighted-modal .form-error{font-size:14px}@media (width<=360px){.modal-backdrop{padding-inline:8px}.weighted-modal{padding:16px}.weight-totals{gap:8px}.weight-totals>div{padding:10px}}.product-save-fields{border:0;min-width:0;margin:0;padding:0}.product-save-fields>label{color:var(--muted);gap:6px;margin-bottom:13px;font-size:14px;font-weight:700;display:grid}.weighted-modal:has(.touch-field-open){padding:14px}.weighted-modal:has(.touch-field-open) .modal-head{margin-bottom:8px}.weighted-modal:has(.touch-field-open) .modal-head h2{font-size:22px}:is(.weighted-modal:has(.touch-field-open) .weight-instruction,.weighted-modal:has(.touch-field-open) .weight-label-details,.weighted-modal:has(.touch-field-open) .weight-note,.weighted-modal:has(.touch-field-open) .weight-preview){display:none}.weighted-modal:has(.touch-field-open) form>label{margin-bottom:8px}.weighted-modal .touch-field-open>input{padding:6px 10px;font-size:20px}.weighted-modal .touch-keyboard{margin:5px 0;padding:7px}.weighted-modal .touch-keyboard .touch-key{min-height:32px}.weighted-modal .touch-keyboard .touch-key-done,.weighted-modal .touch-selection-tools .touch-key{min-height:25px}.weighted-modal .touch-keyboard-value{min-height:32px;padding:5px 8px}.weighted-modal .modal-actions{z-index:2;background:#fff;padding:8px 0;position:sticky;bottom:-14px}.touch-field{text-transform:none;letter-spacing:normal;width:100%;min-width:0;display:block}.touch-field>input,.touch-field>textarea{width:100%;min-width:0;font-size:max(16px,1em)}.touch-field>.touch-keyboard-toggle{width:auto;height:auto;min-height:28px;color:var(--green,#1f6b56);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:5px;margin:4px 0 0 auto;padding:3px 7px;font-size:11px;font-weight:700;line-height:1.3;display:flex}.touch-field>.touch-keyboard-toggle:hover,.touch-field>.touch-keyboard-toggle:focus-visible{border-color:currentColor}.scan-panel .touch-field>.touch-keyboard-toggle{color:var(--lime,#d9f28a)}.touch-keyboard{min-width:0;color:var(--ink,#16352f);text-transform:none;letter-spacing:normal;background:#f0f5f1;border:1px solid #c4d4ca;border-radius:12px;margin:5px 0 8px;padding:9px;font-size:14px;font-weight:400;line-height:1.3;display:block}.touch-keyboard-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.touch-keyboard-heading>strong{overflow-wrap:anywhere;font-size:12px}.touch-keyboard-context{color:#53675e;overflow-wrap:anywhere;margin:2px 0 6px;font-size:11px;line-height:1.3;display:block}.touch-keyboard-value{width:100%;min-height:36px;color:var(--ink,#16352f);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#fff;border:1px solid #c4d4ca;border-radius:7px;padding:7px 8px;font-size:17px;font-weight:700;line-height:1.35;display:block}.touch-keyboard-value mark{color:inherit;background:#d9f28a;padding:0}.touch-value-placeholder{color:#7b8982;font-size:13px;font-weight:400}.touch-caret{border-left:2px solid #1f6b56;margin-left:-1px;margin-right:-1px;display:inline}.touch-keyboard .touch-key{width:auto;min-width:0;height:auto;min-height:40px;color:var(--ink,#16352f);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #c9d7ce;border-radius:7px;justify-content:center;align-items:center;margin:0;padding:3px 0;font-size:16px;font-weight:700;line-height:1;display:flex;box-shadow:0 1px #c9d7ce}.touch-keyboard .touch-key:active{box-shadow:none;background:#d9f28a;transform:translateY(1px)}.touch-keyboard .touch-key:focus-visible{outline-offset:1px;outline:2px solid #1f6b56}.touch-keyboard .touch-key-done{color:#fff;min-height:27px;box-shadow:none;background:#1f6b56;border-color:#1f6b56;padding:4px 12px;font-size:12px}.touch-selection-tools{gap:5px;margin:5px 0;display:flex}.touch-selection-tools .touch-key{min-height:27px;box-shadow:none;background:0 0;padding:4px 10px;font-size:11px}.touch-selection-tools .touch-key-arrow{min-width:34px;font-size:17px}.touch-selection-tools .touch-key:last-child{margin-left:auto}.touch-letter-keys{gap:5px;display:grid}.touch-key-row{gap:4px;display:flex}.touch-key-row>.touch-key{flex:1}.touch-key-row-1{padding:0 3%}.touch-key-row-2{padding:0 9%}.touch-keyboard .touch-key-row-bottom .touch-key{font-size:12px}.touch-keyboard .touch-key-row-bottom .touch-key-space{flex:3}.touch-keyboard .touch-key-backspace{font-size:21px}.touch-keyboard .touch-key-active{background:#d9f28a;border-color:#1f6b56}.touch-number-keys{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.touch-number-keys .touch-key{min-height:36px;font-size:19px}.touch-number-keys .touch-key-newline{grid-column:1/-1;min-height:30px;font-size:12px}.touch-keyboard-numeric .touch-keyboard-value{font-size:21px}.quantity-modal .touch-field>input{text-align:center;height:62px;font-size:32px;font-weight:900}.quantity-modal:has(.touch-field-open){padding:16px}.quantity-modal:has(.touch-field-open)>h2{font-size:23px}.quantity-modal:has(.touch-field-open)>p:not(.step-label){margin:5px 0 8px}.quantity-modal .touch-field-open>input{height:44px;font-size:27px}.quantity-modal .touch-keyboard{margin-bottom:4px}.quantity-modal .touch-keyboard-value{min-height:34px;padding:4px 8px}.quantity-modal .touch-keyboard .touch-key{min-height:32px}.quantity-modal .touch-keyboard .touch-key-done,.quantity-modal .touch-selection-tools .touch-key{min-height:25px}.quantity-modal:has(.touch-field-open) .modal-actions>button{min-height:42px}@media (width>=560px) and (height<=520px){.quantity-modal:has(.touch-field-open){width:min(760px,100%);padding:12px 15px}.quantity-modal:has(.touch-field-open)>h2{font-size:20px}.quantity-modal:has(.touch-field-open)>p:not(.step-label){margin:3px 0 6px;font-size:12px}.quantity-modal:has(.touch-field-open) form{grid-template:"entry keyboard""toggle keyboard""actions keyboard"1fr/minmax(0,.9fr) minmax(260px,1.1fr);align-items:start;column-gap:14px;display:grid}.quantity-modal .touch-field-open{display:contents}.quantity-modal .touch-field-open>input{grid-area:entry;height:58px;margin-top:8px;font-size:34px}.quantity-modal .touch-field-open>.touch-keyboard-toggle{grid-area:toggle}.quantity-modal .touch-field-open>.touch-keyboard{grid-area:keyboard;margin:0;padding:6px}.quantity-modal:has(.touch-field-open) .modal-actions{grid-area:actions;align-self:end}.quantity-modal .touch-keyboard-context{margin-bottom:3px}.quantity-modal .touch-keyboard .touch-key{min-height:29px}.quantity-modal .touch-selection-tools{margin:4px 0}}@media (width<=360px){.touch-keyboard{padding:6px}.touch-key-row{gap:3px}.touch-keyboard .touch-key-row-bottom .touch-key{font-size:10px}}.two-columns:has(.touch-field-open){grid-template-columns:1fr}.scanner-help-button{border:1px solid var(--line,#d9e0dc);min-height:40px;color:var(--green,#1f6b56);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.scanner-help-button svg{flex:none}.scanner-help-dialog{width:min(520px,100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));color:var(--ink,#16352f);overscroll-behavior:contain;background:#fff;border:0;border-radius:23px;padding:0;overflow:auto;box-shadow:0 22px 60px #00000042}.scanner-help-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#091c188c}.scanner-help-heading{z-index:1;border-bottom:1px solid var(--line,#d9e0dc);background:#fff;justify-content:space-between;align-items:start;gap:12px;padding:18px 20px 14px;display:flex;position:sticky;top:0}.scanner-help-heading h2{margin:4px 0 0;font-size:24px;line-height:1.1}.scanner-help-close{width:40px;height:40px;color:var(--ink,#16352f);background:#eef2ef;border:0;border-radius:50%;flex:none;font-size:25px}.scanner-help-content{padding:0 20px 2px}.scanner-help-intro{margin:15px 0 12px;font-size:14px;line-height:1.5}.scanner-help-models{color:#546b60;background:#edf4ef;border-radius:11px;margin:0 0 16px;padding:11px;font-size:12px;line-height:1.45}.scanner-help-views{background:#edf4ef;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.scanner-help-views button{min-height:40px;color:var(--green,#1f6b56);background:0 0;border:0;border-radius:9px;padding:7px;font-size:12px;font-weight:800}.scanner-help-views button[aria-pressed=true]{color:var(--ink,#16352f);background:#fff;box-shadow:0 2px 6px #16352f1a}.scanner-help-code{text-align:center;justify-items:center;margin:15px 0 10px;display:grid}.scanner-help-code figcaption{gap:4px;font-size:15px;display:grid}.scanner-help-code figcaption span{color:var(--muted,#6d7d78);font-size:12px}.scanner-help-code img{width:min(232px,100%);height:auto;image-rendering:pixelated;background:#fff;margin-top:5px;display:block}.scanner-help-code p{max-width:310px;color:var(--muted,#6d7d78);margin:0;font-size:12px;line-height:1.45}.scanner-help-source{text-align:center;margin:10px 0;font-size:12px;line-height:1.8}.scanner-help-source a{color:var(--green,#1f6b56);text-underline-offset:3px}.scanner-help-tip{color:var(--muted,#6d7d78);margin:12px 0 4px;font-size:12px;line-height:1.45}.scanner-help-footer{border-top:1px solid var(--line,#d9e0dc);padding:10px 20px max(12px, env(safe-area-inset-bottom));background:#fff;position:sticky;bottom:0}.scanner-help-footer .full-button{margin-top:0}.scanner-help-dialog button:focus-visible,.scanner-help-button:focus-visible,.scanner-help-dialog a:focus-visible{outline-offset:3px;outline:3px solid #90b934}@media (width<=360px){.scanner-help-heading,.scanner-help-content,.scanner-help-footer{padding-left:14px;padding-right:14px}.scanner-help-heading h2{font-size:21px}}
