:root{--bg:#f4f6f5;--card:#fff;--text:#15201b;--muted:#6b7a72;--line:#e2e8e5;--primary:#15803d;--primary-soft:#e3f3e8;--danger:#c2410c;--warn-bg:#fff7e6;--pos:#15803d;--neg:#b42318;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0;font-size:16px}button,input{font:inherit;color:inherit}.page{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex}.content{flex-direction:column;gap:10px;padding:12px 16px 120px;display:flex}.topbar{z-index:5;background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.topbar .grow{flex:1;min-width:0}.title{font-size:18px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}h1{margin:8px 0 4px}h2{color:var(--muted);margin:14px 0 0;font-size:15px;font-weight:600}.btn{background:var(--primary-soft);cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:10px 14px;font-weight:600}.btn:disabled{opacity:.5}.btn-primary{background:var(--primary);color:#fff}.btn-success{color:#fff;background:#0f766e}.btn-soft{background:#eef2f0}.btn-soft.active{background:var(--primary-soft);color:var(--primary)}.btn-ghost{background:0 0;padding:8px 10px;font-size:20px}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-big{width:100%;min-height:54px;font-size:17px}.link{color:var(--primary);background:0 0;border:0;padding:0 4px;font-weight:600;text-decoration:underline}.refresh{align-self:center;font-size:15px}.login{justify-content:center;padding:24px 20px}.login-logo{font-size:48px}.login form{flex-direction:column;gap:14px;margin-top:16px;display:flex}label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}input:not([type=checkbox]){border:1px solid var(--line);background:var(--card);border-radius:12px;outline:none;width:100%;min-height:48px;padding:12px 14px;font-size:17px}input:focus{border-color:var(--primary)}.check{flex-direction:row;align-items:flex-start;font-weight:500}.check input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin:0}.error{color:var(--neg);margin:0}.warn{background:var(--warn-bg);border-radius:10px;margin:0;padding:10px 12px}.banner{background:var(--warn-bg);margin:0;padding:10px 16px;font-size:14px}.error-bar{color:var(--neg);background:#fdecea;padding:10px 16px;font-size:14px}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);text-align:left;padding:14px 16px}.card-btn{cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}.card-muted{opacity:.7}.card-title{font-weight:700}.chev{color:var(--muted);font-size:28px}.badge{border-radius:99px;margin-top:6px;padding:3px 8px;font-size:12px;display:inline-block}.badge-warn{background:var(--warn-bg);color:#8a5300}.sync{font-size:13px}.sync-ok{color:var(--pos)}.sync-syncing{color:var(--muted)}.sync-offline{color:#8a5300}.sync-error{color:var(--neg)}.scanner{border-radius:var(--radius);aspect-ratio:4/3;background:#000;width:100%;max-height:42vh;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{pointer-events:none;border:3px solid #ffffffd9;border-radius:12px;position:absolute;inset:22% 10%;box-shadow:0 0 0 999px #00000040}.scanner-paused video{filter:grayscale()brightness(.6)}.scanner-torch{color:#fff;background:#0000008c;border:0;border-radius:99px;padding:8px 12px;position:absolute;bottom:10px;right:10px}.scanner-error{aspect-ratio:auto;color:#fff;background:#3a2a2a;padding:18px}.search-row{gap:8px;display:flex}.search-row input{flex:1}.quick{font-size:14px}.summary{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pos{color:var(--pos);font-weight:600}.neg{color:var(--neg);font-weight:600}.filter{min-height:42px!important}.items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item{background:var(--card);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.item:disabled{cursor:default}.item-main{min-width:0}.item-name{overflow-wrap:anywhere;font-weight:600}.item-qty{text-align:right;white-space:nowrap}.finish{margin-top:8px}.sheet-backdrop{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:640px;max-height:92dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;gap:12px;animation:.15s ease-out up;display:flex;overflow:auto}@keyframes up{0%{opacity:.6;transform:translateY(30px)}}.sheet-head{justify-content:space-between;gap:8px;display:flex}.sheet-title{overflow-wrap:anywhere;font-size:18px;font-weight:700}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stats>div{background:var(--bg);border-radius:12px;padding:10px 12px}.stat{font-size:22px;font-weight:700}.qty-input{text-align:center;font-weight:700;min-height:64px!important;font-size:32px!important}.bumps{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.bumps .btn{min-height:50px;font-size:18px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:30;color:#fff;border-radius:12px;max-width:calc(100% - 32px);padding:12px 18px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0003}.toast-ok{background:#14532d}.toast-err{background:var(--neg)}
