:root{--ink:#151515;--code:#000;--backdrop:#000c;--muted:#656565;--paper:#fff;--gray:#dadada;--light:#f3f5f3;--line:#b6b6b6;--blue:#168bea;--green:#24684e;--green-bg:#e1f0e6;--orange:#995000;--orange-bg:#fff1db;--red:#b52424;--red-bg:#fff0f0}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.5 Arial,"Microsoft YaHei",sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{min-height:44px;padding:8px 20px;border:1px solid var(--line);background:var(--gray);color:var(--ink);cursor:pointer;border-radius:2px}button:hover{filter:brightness(.95)}button:disabled{cursor:default;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.site-header{border-bottom:1px solid var(--gray);margin-bottom:30px}.site-header nav{max-width:1200px;margin:auto;display:flex;gap:12px;padding:12px 0}.site-header a{padding:8px 30px;text-decoration:none;min-height:44px}.site-header a[aria-current]{background:var(--gray);font-weight:bold}main{max-width:1200px;margin:0 auto;padding-bottom:24px}footer{text-align:center;font-size:14px;color:var(--muted);padding:24px}.storage-message{max-width:1200px;margin:12px auto;color:var(--orange);font-size:16px}.storage-message:empty{display:none}.code-block{border:4px solid var(--blue);padding:24px 30px;display:flex;align-items:center;gap:24px;background:var(--light);width:100%}.barcode-list{flex:1;min-width:0}.barcode-entry+.barcode-entry{margin-top:24px}.barcode-image{display:block;max-width:100%;height:auto;margin:0 auto;background:white}.barcode-text{font:700 30px/1.5 ui-monospace,Consolas,monospace;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.barcode-date{text-align:center;color:var(--muted);font-size:18px}.count-row{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:30px 0}.count-label{font-size:30px;font-weight:bold;margin-right:auto}.actual-count{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actual-count input{width:100px;min-height:48px;border:1px solid var(--line);padding:6px 12px;background:var(--light)}.count-status{flex-basis:100%;margin:0}.count-status:empty{display:none}.success{color:var(--green)}.warning{color:var(--orange)}.pickup-list{background:var(--gray);padding:28px;display:grid;gap:18px;margin:0 0 36px}.pickup-row{background:var(--paper);display:flex;gap:20px;align-items:center;min-width:0;height:108px;padding:10px 18px}.thumb{width:70px;height:88px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--gray);color:var(--muted);font-size:14px;text-align:center}.thumb img{width:100%;height:100%;object-fit:contain}.pickup-info{min-width:0}.product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:20px}.order-id{font-size:15px;color:var(--muted);overflow-wrap:anywhere}.history{margin-top:14px}.history summary{list-style:none;background:var(--gray);padding:14px 18px;display:flex;gap:18px;align-items:center;cursor:pointer;min-height:56px;flex-wrap:wrap}.history summary::-webkit-details-marker{display:none}.history-code{font-family:ui-monospace,Consolas,monospace;font-size:18px}.toggle-label{margin-left:auto}.history .code-block{margin-top:16px}.history .pickup-list{margin-top:18px}.empty{padding:30px;background:var(--gray)}.batch{margin-bottom:24px}.batch-heading{background:var(--gray);padding:10px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.batch-heading.shipped{background:var(--green-bg);border-left:6px solid var(--green)}.batch-toggle{flex:1 1 650px;min-width:0;text-align:left;padding:4px 0;border:0;background:transparent;font-size:22px;overflow-wrap:anywhere}.batch-toggle::after{content:'展开';font-size:16px;color:var(--muted);display:inline-block;margin-left:16px}.batch-toggle[aria-expanded=true]::after{content:'折叠'}.batch-actions{display:flex;gap:10px;flex-wrap:wrap}.print-note{flex-basis:100%;font-size:15px;color:var(--muted)}.batch-status{font-size:17px;display:flex;flex-wrap:wrap;gap:16px}.batch-status:empty{display:none}.batch-body{padding:20px 14px 0}.confirmation{background:var(--green-bg);padding:18px;margin-bottom:18px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.confirmation p{margin:0;flex:1 1 100%}.goods-table{width:100%}.goods-head{background:var(--green);color:white;font-weight:bold;display:grid;grid-template-columns:280px 1fr;padding:8px 18px;text-align:center}.goods-row{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:24px;padding:16px 18px;border:2px solid transparent;min-height:360px}.goods-row:nth-child(even){background:var(--light)}.goods-row.cancelled{background:var(--red-bg)}.goods-row.has-note{border-color:var(--orange)}.product-image-button{border:0;padding:0;width:240px;min-height:320px;background:transparent;justify-self:center}.product-image{display:block;width:240px;height:auto;object-fit:contain}.image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--gray);color:var(--muted);width:240px;min-height:320px;font-size:18px}.item-code{font:700 44px/1.25 ui-monospace,Consolas,"Courier New",monospace;font-variant-numeric:tabular-nums;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--code)}.cancel-label{font-size:20px;font-weight:bold;color:var(--red);margin-bottom:10px}.note-display{font-size:19px;color:var(--orange);white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0}.note-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.note-form label{width:100%;font-size:18px}.note-form input{min-width:0;flex:1 1 180px;padding:10px;background:var(--gray);border:1px solid var(--line);min-height:48px;width:100%}.exception-mode .goods-row{grid-template-columns:280px minmax(0,1fr) minmax(200px,280px)}.exception-mode .note-form{margin:0}.note-feedback{font-size:15px;color:var(--green);min-height:22px}.viewer-close{position:fixed;right:24px;top:20px;z-index:1}#image-viewer{border:0;padding:64px 20px 20px;background:var(--paper);max-width:100vw;width:100vw;height:100vh;max-height:100vh;margin:0;cursor:zoom-out}#image-viewer::backdrop{background:var(--backdrop)}#image-viewer img{display:block;max-width:100%;max-height:calc(100vh - 84px);width:auto;height:auto;object-fit:contain;margin:auto}.pdf-print-frame{position:fixed;width:1px;height:1px;bottom:0;left:0;border:0;opacity:0;pointer-events:none}[hidden]{display:none!important}
@media(max-width:1240px){main,.site-header nav,.storage-message{margin-left:20px;margin-right:20px}}
@media(max-width:900px){.exception-mode .goods-row{grid-template-columns:260px minmax(0,1fr)}.exception-mode .note-form{grid-column:1/-1}.goods-head{grid-template-columns:260px 1fr}.goods-row{grid-template-columns:260px minmax(0,1fr);gap:12px;padding:12px}.code-block{padding:20px;flex-wrap:wrap}.barcode-list{flex-basis:100%}}
@media(max-width:600px){body{font-size:18px}main,.site-header nav,.storage-message{margin-left:12px;margin-right:12px}.site-header{margin-bottom:20px}.code-block{padding:12px}.barcode-text{font-size:24px}.count-label{font-size:26px}.pickup-list{padding:14px;gap:12px}.pickup-row{padding:8px;gap:12px;height:120px}.product-name{font-size:18px}.history summary{gap:8px 14px}.history-code{flex-basis:100%}.goods-head{display:none}.goods-row,.exception-mode .goods-row{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px 4px}.item-data{text-align:center}.item-code{font-size:44px}.exception-mode .note-form{grid-column:auto}.batch-body{padding:16px 0 0}.batch-toggle{font-size:20px}.batch-heading{padding:12px}.code-block button{width:100%}}
@media print{body>*{display:none!important}body>#app{display:block!important;max-width:none;margin:0;padding:0}#app *{display:none!important}#app .print-target,#app .print-target .barcode-list,#app .print-target .barcode-entry,#app .print-target .barcode-entry *{display:block!important}#app .print-target{border:0;padding:0;background:white}#app .print-target .barcode-image{max-width:100%;height:auto}#app details:has(.print-target){display:block!important}#app .print-target button{display:none!important}@page{margin:12mm}}

.count-row.confirmed{background:var(--green-bg);color:var(--green);padding:16px}.count-row.confirmed input{border-color:var(--green)}

/* 图片大小选择 */
.image-size{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:18px}
.image-size button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
body[data-image-size="small"]{--img-w:130px}
body[data-image-size="medium"]{--img-w:180px}
body[data-image-size="large"]{--img-w:240px}
.product-image-button{width:var(--img-w,180px);min-height:0}
.product-image{width:var(--img-w,180px)}
.image-placeholder{width:var(--img-w,180px);min-height:calc(var(--img-w,180px)*1.33)}
.goods-row{min-height:0}
@media(min-width:721px){
.goods-head{grid-template-columns:calc(var(--img-w,180px) + 40px) 1fr}
.goods-row{grid-template-columns:calc(var(--img-w,180px) + 40px) minmax(0,1fr)}
.exception-mode .goods-row{grid-template-columns:calc(var(--img-w,180px) + 40px) minmax(0,1fr) minmax(200px,280px)}
}

.code-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.code-download{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border:1px solid var(--line);background:var(--gray);color:var(--ink);text-decoration:none;border-radius:2px}
.code-download:hover{filter:brightness(.95)}

.sync-status{padding:12px 18px;margin-bottom:20px;background:var(--orange-bg);font-size:16px}.sync-status p{margin:4px 0}
