:root{--bg:#f4f4f2;--card:#fff;--ink:#171814;--muted:#6e7069;--line:#dedfd9;--accent:#d9ff43;--danger:#b64332;--green:#28704a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}:is(button,label:has(input[type=file])){cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;padding-bottom:24px}.topbar{background:var(--ink);color:#fff;align-items:center;gap:18px;min-height:64px;padding:0 max(24px,50vw - 660px);display:flex}.brand{align-items:center;gap:8px;display:flex}.brand strong{letter-spacing:.04em;font-size:18px}.brand span{color:var(--accent);letter-spacing:.13em;border:1px solid #55574f;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800}.bling-status{color:#b8bab2;align-items:center;gap:7px;font-size:11px;display:flex}.bling-status i{background:#43bd78;border-radius:50%;width:8px;height:8px}.bling-status.checking i{background:#e1a21a}.bling-status.error i{background:#d85745}.total-badge{background:var(--accent);color:var(--ink);border-radius:999px;margin-left:auto;padding:7px 11px;font-size:11px}.card{border:1px solid var(--line);background:var(--card);border-radius:10px}.controls{grid-template-columns:1.1fr 1.2fr 1fr;gap:18px;max-width:1320px;margin:20px auto 12px;padding:18px;display:grid}.quick-entry>label,.bulk-box>label,.compact-settings>label{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.quick-entry>div,.bulk-box>div{grid-template-columns:1fr auto;display:grid}.quick-entry input,.bulk-box textarea,.compact-settings select{width:100%;color:var(--ink);background:#fff;border:1px solid #bfc1ba}.quick-entry input{text-transform:uppercase;border-radius:6px 0 0 6px;height:44px;padding:0 12px;font-weight:800}.quick-entry button,.bulk-box button{background:var(--accent);text-transform:uppercase;border:0;border-radius:0 6px 6px 0;padding:0 16px;font-size:10px;font-weight:800}.bulk-box textarea{resize:vertical;text-transform:uppercase;border-radius:6px 0 0 6px;height:44px;min-height:44px;padding:12px;font-family:Consolas,monospace;font-size:12px}.bulk-box button:disabled{cursor:not-allowed;opacity:.4}.compact-settings{grid-template-columns:1fr auto;column-gap:12px;display:grid;position:relative}.compact-settings>label:first-child{grid-column:1/-1}.compact-settings select{text-transform:none;border-radius:6px;height:34px;margin-top:7px;padding:0 8px;font-size:11px;display:block}.checks{align-items:center;gap:12px;display:flex}.checks label{align-items:center;gap:5px;font-size:11px;display:flex}.checks input{width:15px;height:15px;accent-color:var(--ink)}.csv-button{border:1px solid var(--line);border-radius:6px;place-items:center;min-width:44px;height:30px;color:var(--ink)!important;margin:0!important;display:grid!important}.csv-button input{opacity:0;width:1px;height:1px;position:absolute}.error-message{color:var(--danger);grid-column:1/-1;margin:0;font-size:11px}.main-grid{grid-template-columns:minmax(430px,.9fr) minmax(480px,1.1fr);gap:12px;max-width:1320px;margin:0 auto;display:grid}.queue,.preview{min-width:0;padding:18px}.section-title{justify-content:space-between;align-items:center;gap:16px;min-height:38px;margin-bottom:12px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.section-title>button:not(.print-button){color:var(--muted);background:0 0;border:0;border-bottom:1px solid #aaa;padding:3px 0;font-size:10px}.queue-list{border-top:1px solid var(--line)}.queue-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:12px;min-height:78px;display:grid}.queue-product{min-width:0}.queue-product strong,.queue-product span,.queue-product small{display:block}.queue-product strong{font-family:Consolas,monospace;font-size:14px}.queue-product span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.queue-product span.missing{color:var(--danger)}.queue-product span.checking{color:#a46a0c}.queue-product small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.queue-product .queue-location{color:var(--green);font-weight:800}.quantity-control{border:1px solid #c8c9c3;border-radius:6px;grid-template-columns:30px 40px 30px;height:32px;display:grid;overflow:hidden}.quantity-control button,.quantity-control input{text-align:center;background:#fff;border:0;min-width:0}.quantity-control button{font-size:16px}.quantity-control input{border-right:1px solid var(--line);border-left:1px solid var(--line);appearance:textfield;font-weight:800}.quantity-control input::-webkit-inner-spin-button{appearance:none}.remove-item{color:#92948d;background:0 0;border:0;font-size:20px}.empty-state{color:#a0a29b;place-items:center;min-height:350px;font-size:12px;display:grid}.missing-warning{color:var(--danger);background:#fff0eb;border-radius:6px;margin:12px 0 0;padding:9px 11px;font-size:10px}.print-button{background:var(--ink);color:#fff;border:0;border-radius:6px;min-height:38px;padding:0 16px;font-size:11px;font-weight:800}.print-button:hover:not(:disabled){background:#33352f}.print-button:disabled{cursor:not-allowed;opacity:.3}.preview-canvas{background:#252621;border-radius:7px;place-content:start center;gap:10px;min-height:430px;max-height:calc(100vh - 220px);padding:24px;display:grid;overflow:auto}.preview-canvas.a4{grid-template-columns:repeat(3,minmax(150px,185px))}.preview-canvas:not(.a4){grid-template-columns:minmax(260px,390px)}.preview-placeholder{color:#777970;place-items:center;min-height:360px;font-size:11px;display:grid}.product-label{color:#000;background:#fff;border:1px solid #d0d0ca;width:100%;min-width:0;height:100%;padding:0;font-family:Helvetica,Arial,sans-serif;display:block;position:relative;overflow:hidden}.preview-canvas .product-label{aspect-ratio:2;min-height:195px}.preview-canvas.roll-50x30 .product-label{aspect-ratio:5/3}.preview-canvas.roll-60x40 .product-label{aspect-ratio:3/2}.preview-canvas.a4 .product-label{min-height:112px}.label-name{text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;width:84%;height:29%;margin:0;font-size:8pt;font-weight:400;line-height:1.05;display:flex;position:absolute;top:43%;left:8%;overflow:hidden}.label-location{z-index:2;text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;width:84%;height:14%;margin:0;font-size:8pt;font-weight:400;line-height:1;display:flex;position:absolute;bottom:4%;left:8%;overflow:hidden}.barcode{text-align:center;flex-direction:column;width:47%;height:24%;min-height:0;margin:0;padding:0;display:flex;position:absolute;top:15%;left:28%}.barcode-bars{flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.barcode-bars i{min-width:0;display:block}.barcode-bars .bar{background:#000}.barcode-bars .space{background:#fff}.barcode>span{letter-spacing:.04em;flex:none;margin-top:.3mm;font-size:6pt;line-height:1;display:block}.reference-only{text-align:center;justify-content:center;align-items:center;width:47%;height:24%;font-size:10pt;display:flex;position:absolute;top:15%;left:28%;overflow:hidden}.toast{z-index:50;background:var(--accent);opacity:0;border-radius:6px;padding:12px 16px;font-size:11px;font-weight:800;transition:all .16s;position:fixed;bottom:18px;right:18px;transform:translateY(130%)}.toast.visible{opacity:1;transform:translateY(0)}.print-root{display:none}@media (width<=980px){.controls{grid-template-columns:1fr 1fr;margin-inline:12px}.compact-settings{grid-column:1/-1}.main-grid{grid-template-columns:1fr;margin-inline:12px}.preview-canvas{max-height:none}}@media (width<=620px){.topbar{padding:0 14px}.bling-status{display:none}.controls{grid-template-columns:1fr;padding:14px}.compact-settings{grid-column:auto}.queue,.preview{padding:14px}.queue-item{grid-template-columns:minmax(0,1fr) 28px;padding:11px 0}.quantity-control{grid-column:1;margin-top:2px}.remove-item{grid-area:1/2/3}.preview-canvas.a4{grid-template-columns:1fr}}@media print{html,body,main{background:#fff!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important}main>:not(.print-root):not(style){display:none!important}.print-root{background:#fff;width:100%;min-height:0;margin:0!important;padding:0!important;display:block!important;position:static!important}.print-root:not(.a4) .product-label{break-after:page;page-break-after:always;border:0;overflow:hidden}.print-root:not(.a4) .product-label:last-child{break-after:auto;page-break-after:auto}.print-root.roll-60x30 .product-label{width:60mm;height:30mm}.print-root.roll-50x30 .product-label{width:50mm;height:30mm}.print-root.roll-60x40 .product-label{width:60mm;height:40mm}.print-root.roll-100x50 .product-label{width:100mm;height:50mm}.print-root.a4{grid-template-columns:repeat(3,63.5mm);grid-auto-rows:38.1mm;place-content:start center;gap:0;display:grid!important}.print-root.a4 .product-label{width:63.5mm;height:38.1mm}.product-label{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}
