:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--primary: #2563eb;--primary-soft: #eff6ff;--green: #059669;--green-soft: #ecfdf5;--red: #dc2626;--red-soft: #fef2f2;--amber: #b45309;--amber-soft: #fffbeb;--radius: 12px;--shadow: 0 1px 2px rgb(0 0 0 / .04), 0 1px 8px rgb(0 0 0 / .04);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.muted{color:var(--muted);font-size:.9rem}.center{text-align:center}.pad{padding:28px 12px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand strong{display:block;font-size:1rem}.brand small{color:var(--muted);font-size:.78rem}.logo{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.5px}.nav{display:flex;gap:4px;margin-left:auto}.nav a{position:relative;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:500;font-size:.95rem}.nav a:hover{background:var(--bg);color:var(--text)}.nav a.active{background:var(--primary-soft);color:var(--primary)}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:.7rem;line-height:18px;text-align:center}main{max-width:860px;margin:0 auto;padding:24px 16px 40px}.page{display:flex;flex-direction:column;gap:16px}.page-head h1{font-size:1.5rem;margin-bottom:2px}.row-between{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{font-size:1rem;margin-top:8px;color:var(--muted);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#1d4ed8}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.danger:hover{background:#b91c1c}.btn.ghost{background:var(--surface)}.btn.sm{min-height:34px;padding:0 12px;font-size:.88rem}.btn.lg{min-height:50px;padding:0 24px;font-size:1.05rem}.danger-text{color:var(--red);margin-right:auto}.scanbar{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;background:var(--surface);border:2px solid var(--primary);border-radius:14px;box-shadow:0 0 0 4px var(--primary-soft)}.scanbar-icon{color:var(--primary);width:24px;height:24px}.scanbar input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:1.15rem;padding:10px 0;letter-spacing:.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.alert{background:var(--red-soft);border-color:#fecaca;color:#7f1d1d}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:500;color:var(--muted)}.field input,.field select,.filters input,.filters select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:1rem;color:var(--text);outline:none}.field input:focus,.field select:focus,.filters input:focus,.filters select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field input.big{min-height:56px;font-size:1.5rem;font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.total{font-size:1.1rem;font-weight:600;text-align:right}.new-badge{padding:10px 12px;border-radius:10px;background:var(--amber-soft);color:var(--amber);font-size:.92rem}.picked{display:flex;align-items:center;gap:8px}.picked .pcard{flex:1}.suggest{display:flex;flex-direction:column;gap:4px;margin-top:-6px}.suggest-title{font-size:.8rem;color:var(--muted)}.suggest-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);text-align:left;cursor:pointer}.suggest-item:hover{border-color:var(--primary);background:var(--primary-soft)}.suggest-item small{color:var(--muted)}.more summary{cursor:pointer;color:var(--primary);font-weight:500;font-size:.92rem;padding:4px 0}.more[open] summary{margin-bottom:10px}.pcard{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--bg)}.pcard-name{font-weight:600;font-size:1.1rem}.stock-pill{text-align:right;font-weight:700;font-size:1.15rem;color:var(--green);white-space:nowrap}.stock-pill small{display:block;font-size:.72rem;font-weight:500;color:var(--muted)}.stock-pill.warn{color:var(--red)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters>input[type=search]{flex:2 1 220px}.filters>select{flex:1 1 150px;width:auto}.filters .date{display:flex;flex-direction:column;gap:2px;flex:1 1 140px;font-size:.75rem;color:var(--muted)}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.list>li+li{border-top:1px solid var(--border)}.row{display:flex;align-items:center;gap:12px;padding:12px 14px;width:100%}.row.clickable{border:0;background:none;text-align:left;cursor:pointer}.row.clickable:hover{background:var(--bg)}.row-main{flex:1;min-width:0}.row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin-top:2px}.row-end{text-align:right;flex:none}.row-end .row-sub{justify-content:flex-end}.stock{font-weight:700;font-size:1.05rem;color:var(--green)}.stock small{font-weight:500;color:var(--muted);font-size:.78rem}.stock.warn{color:var(--red)}.qty{font-weight:700}.qty.pos{color:var(--green)}.qty.neg{color:var(--red)}.tag{padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.tag.in{background:var(--green-soft);color:var(--green)}.tag.out{background:var(--red-soft);color:var(--red)}.tag.adjust{background:var(--amber-soft);color:var(--amber)}.backup{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#11182766}.modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border-radius:16px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:1.2rem}.camera{width:min(520px,100%);background:var(--surface);border-radius:16px;overflow:hidden}.camera-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 10px 16px}.camera-view{position:relative;background:#000;aspect-ratio:3 / 4;max-height:70dvh}.camera-view video{width:100%;height:100%;object-fit:cover;display:block}.camera-frame{position:absolute;top:30%;right:10%;bottom:30%;left:10%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px #00000059}.camera-error{padding:24px 16px;color:var(--red)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:var(--text);color:#fff;font-weight:500;box-shadow:0 8px 24px #0000002e;animation:toast-in .18s ease-out}.toast.ok{background:var(--green)}.toast.error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(max-width:720px){.topbar{padding:10px 16px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;gap:0;background:var(--surface);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.nav a{flex:1;flex-direction:column;gap:2px;padding:6px 2px;font-size:.7rem;border-radius:8px}.nav a svg{width:22px;height:22px}.badge{position:absolute;top:2px;left:55%}main{padding:16px 16px calc(88px + env(safe-area-inset-bottom))}.grid2{grid-template-columns:1fr}.page-head h1{font-size:1.3rem}.scanbar .btn span{display:none}.toast{bottom:calc(80px + env(safe-area-inset-bottom))}.actions .btn.lg{flex:1}.modal-backdrop{padding:0;place-items:end stretch}.modal{width:100%;border-radius:16px 16px 0 0;max-height:92dvh}}
