:root{--ink:#111;--muted:#6b6b6b;--faint:#a3a3a3;--line:#d4d4d4;--hair:#eee;--surface:#f7f7f7;--photo:#f3f3f3;--bg:#fff;--green:#1e8e3e;--green-bg:#e8f5ec;--red:#d93025;--red-bg:#fdecea;--radius:12px;--tabbar:calc(64px + env(safe-area-inset-bottom));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"tnum" 1;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.4}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}.page{max-width:560px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) 20px calc(var(--tabbar) + 24px);margin:0 auto}.page.wide{max-width:960px}.page.no-tabs{padding-bottom:calc(env(safe-area-inset-bottom) + 120px)}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.topbar h1{text-align:center;flex:1;margin:0;font-size:17px;font-weight:600}.topbar .side{cursor:pointer;text-align:left;background:0 0;border:0;min-width:64px;padding:8px 0;font-weight:500}.topbar .side.right{text-align:right}.title{margin:0;font-size:22px;font-weight:600}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:13px}.red{color:var(--red)}.green{color:var(--green)}.faint{color:var(--faint)}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}.label{color:var(--muted);margin:0 0 6px;font-size:14px;font-weight:500}.section-label{color:var(--muted);margin:28px 0 8px;font-size:14px;font-weight:500}.btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;padding:0 16px;font-size:16px;font-weight:500;display:flex}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.btn.danger{color:var(--red)}.btn.small{width:auto;height:40px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.btn:active:not(:disabled){transform:scale(.99)}.linkbtn{cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.scan-hero{background:var(--ink);color:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:200px;margin-top:32px;display:flex}.scan-hero strong{font-size:20px;font-weight:600}.scan-hero span{color:var(--faint);font-size:14px}.actions{z-index:20;padding:16px 20px calc(env(safe-area-inset-bottom) + 20px);background:var(--bg);border-top:1px solid var(--hair);position:fixed;bottom:0;left:0;right:0}.actions>div{flex-direction:column;gap:10px;max-width:520px;margin:0 auto;display:flex}.actions .row{gap:10px}.list{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--hair);cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:14px 0;display:flex}.list-row .value{font-weight:500}.chev{color:var(--faint);flex-shrink:0}.field{flex-direction:column;display:flex}.input,select.input,textarea.input{border-radius:var(--radius);border:1px solid var(--line);width:100%;font:inherit;background:var(--bg);color:var(--ink);outline:none;padding:14px 16px;font-size:16px}.input:focus{border-color:var(--ink)}.input.qty{text-align:center;height:44px;padding:10px 4px}.error{color:var(--red);margin-top:8px;font-size:14px}.notice{border-radius:var(--radius);background:var(--surface);padding:12px 14px;font-size:14px}.notice.red{background:var(--red-bg);color:var(--red)}.notice.green{background:var(--green-bg);color:var(--green)}.choice{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;padding:16px;font-size:16px;display:flex}.choice .dot{border:1.5px solid var(--faint);border-radius:10px;flex-shrink:0;width:20px;height:20px}.choice.on{border:1.5px solid var(--ink);padding:15.5px}.choice.on .dot{border:6px solid var(--ink)}.segment{border-radius:var(--radius);background:var(--surface);gap:4px;padding:4px;display:flex}.segment button{height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:15px;font-weight:500}.segment button.on{background:var(--bg);color:var(--ink);box-shadow:0 1px 3px #0000001f}.segment button.on.keep{background:var(--green);color:#fff}.segment button.on.back{background:var(--red);color:#fff}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);cursor:pointer;color:var(--faint);border-radius:20px;padding:8px 14px;font-size:15px}.chip.on{border:1.5px solid var(--ink);color:var(--ink);padding:7.5px 13.5px}.chip.add{color:var(--muted);border-style:dashed}.switch{cursor:pointer;background:#e5e5e5;border:0;border-radius:14px;flex-shrink:0;width:48px;height:28px;padding:3px}.switch span{background:#fff;border-radius:11px;width:22px;height:22px;transition:transform .15s;display:block;box-shadow:0 1px 2px #0003}.switch.on{background:var(--ink)}.switch.on span{transform:translate(20px)}.photo{background:var(--photo);border-radius:var(--radius);color:var(--faint);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo.hero{aspect-ratio:5/4;width:100%;margin-top:16px}.photo.thumb{border-radius:8px;width:48px;height:60px}.stat{border-radius:var(--radius);background:var(--surface);justify-content:space-between;padding:14px 16px;display:flex}.stat strong{font-weight:600}.table{border-collapse:collapse;width:100%;font-size:16px}.table th{color:var(--muted);text-align:center;border-bottom:1px solid #e5e5e5;padding:8px 4px;font-size:14px;font-weight:500}.table th:first-child,.table td:first-child{text-align:left}.table td{border-bottom:1px solid var(--hair);text-align:center;padding:14px 4px}.tabbar{z-index:10;padding:8px 8px calc(env(safe-area-inset-bottom) + 8px);border-top:1px solid var(--hair);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{width:72px;color:var(--faint);flex-direction:column;align-items:center;gap:2px;padding-top:2px;font-size:11px;font-weight:500;display:flex}.tabbar a.active{color:var(--ink)}.badge{background:var(--red);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.scanner-page{color:#fff;z-index:30;background:#1c1c1c;flex-direction:column;display:flex;position:fixed;inset:0}.scanner-page .topbar{padding:calc(env(safe-area-inset-top) + 8px) 20px 0}.scanner-page .topbar .side{color:#fff}.scanner-view{flex:1;position:relative;overflow:hidden}.scanner-view video{object-fit:cover;width:100%!important;height:100%!important}.scanner-frame{pointer-events:none;border:2px solid #fff;border-radius:20px;width:250px;height:250px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.scanner-hint{text-align:center;color:#d4d4d4;padding:0 20px;font-size:15px;position:absolute;top:calc(45% + 145px);left:0;right:0}.scanner-bottom{padding:16px 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:10px;display:flex}.scanner-bottom .btn{color:#fff;background:#ffffff1f;border-color:#0000}.scanner-bottom .input{color:#fff;background:#2a2a2a;border-color:#3a3a3a}.done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:120px;display:flex}.done .tick{background:var(--green-bg);border-radius:32px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.labels{flex-wrap:wrap;gap:8px;display:flex}.label-card{border:1px dashed var(--line);break-inside:avoid;background:#fff;border-radius:2mm;align-items:center;gap:2.5mm;width:50mm;height:30mm;padding:2mm 2.5mm;display:flex;overflow:hidden}.label-card img{flex-shrink:0;width:24mm;height:24mm}.label-card .t{min-width:0;font-size:8.5pt;line-height:1.2}.label-card .t b{white-space:nowrap;text-overflow:ellipsis;font-size:9pt;font-weight:600;display:block;overflow:hidden}.label-card .t small{color:#444;word-break:break-all;margin-top:1mm;font-size:6.5pt;display:block}@media print{@page{margin:8mm}body{background:#fff}.no-print,.tabbar,.actions{display:none!important}.page{max-width:none;padding:0}.label-card{border-color:#ccc}}@media (width>=900px){.page.wide .grid2{grid-template-columns:1fr 1fr;gap:24px;display:grid}}
