select{width:100%;border:2px solid #cbd8d1;border-radius:13px;padding:12px 15px;font-size:17px;color:var(--ink);background:#fbfdfc;margin-bottom:17px;outline:none}
select:focus{border-color:var(--green2);box-shadow:0 0 0 4px #0b815c18}
.top-actions{display:flex;align-items:center;gap:10px}.mappings-button{border:1px solid var(--line);background:#fff;color:var(--green);padding:10px 14px;border-radius:999px;font-weight:800;box-shadow:0 8px 25px #153c2c0b}
.mapping-dialog{width:min(620px,calc(100% - 32px));border:0;border-radius:20px;padding:26px 28px;color:var(--ink);box-shadow:0 30px 100px #081d1555}.mapping-dialog::backdrop{background:#071a1288;backdrop-filter:blur(3px)}.mapping-dialog h2{margin:0 0 9px;font-size:24px}.mapping-dialog p{color:var(--muted);line-height:1.45}.mapping-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.mapping-pair span{background:#f3f7f5;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800}.mapping-pair strong{display:block;color:var(--ink);font-size:19px;margin-top:7px;text-transform:none}.mapping-note{font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dialog-actions button,.database-head button,.mapping-delete{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px;font-weight:800}.dialog-actions .primary{background:var(--green);border-color:var(--green);color:#fff}.database-head{display:flex;justify-content:space-between;align-items:flex-start}.database-head h2{margin:0}.mappings-list{margin-top:18px;max-height:55vh;overflow:auto}.mapping-row{display:grid;grid-template-columns:80px 1fr 28px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.mapping-row code{font-size:14px}.mapping-arrow{text-align:center;color:var(--muted)}.mapping-delete{color:var(--red);padding:8px 11px}.mappings-empty{padding:28px;text-align:center;color:var(--muted);background:#f5f8f6;border-radius:14px}
.print-actions{margin-top:20px;padding:16px 18px;border-radius:15px;background:#edf8f3;border:1px solid #c5e2d4;display:flex;align-items:center;justify-content:space-between;gap:18px}
.print-actions.hidden{display:none}.print-actions strong,.print-actions span{display:block}.print-actions span{color:var(--muted);font-size:13px;margin-top:3px}.print-actions button{border:0;border-radius:12px;background:var(--green);color:#fff;padding:13px 18px;font-weight:900}
.labels-sheet{display:none}
.thermal-label{width:58mm;height:40mm;padding:3mm;border:1px solid #000;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:Arial,sans-serif;color:#000;background:#fff;page-break-after:always}
.thermal-label b{font-size:11pt}.thermal-label strong{display:block;font-size:14pt;margin:2mm 0;word-break:break-all}.thermal-label small{font-size:8pt}.fake-barcode{width:47mm;height:12mm;margin:2mm 0;background:repeating-linear-gradient(90deg,#000 0,#000 .45mm,#fff .45mm,#fff .8mm,#000 .8mm,#000 1.5mm,#fff 1.5mm,#fff 2mm)}
.product-label{display:block;text-align:left;padding:2mm 2mm}.product-tech{height:23.5mm;overflow:hidden}.product-tech .label-name{font-size:9pt;line-height:1.02;margin:0 0 .6mm;word-break:normal}.product-tech p{font-size:7.5pt;line-height:1.08;margin:0}.product-tech p b{font-size:7.5pt}.product-barcode{display:block;width:47.8mm;height:11.5mm;margin:.5mm auto 0;object-fit:fill;object-position:center}
.uin-label{position:relative;display:block;text-align:left;padding:2.2mm 2.5mm}.uin-copy{width:39mm}.uin-copy p{font-size:8.4pt;line-height:1.12;margin:0 0 1.2mm}.uin-copy>span{display:block;font-size:8pt}.uin-label .label-uin{font-size:10.5pt;line-height:1.05;letter-spacing:0;margin:.2mm 0 2.4mm;white-space:nowrap;word-break:normal}.uin-meta{display:flex;flex-direction:column;gap:.5mm;font-size:8.3pt}.uin-meta span{display:block}.uin-matrix{position:absolute;right:2.2mm;top:2.5mm;width:15mm;height:15mm;object-fit:contain;image-rendering:pixelated}.camera-label{padding:1.2mm}.camera-label img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.2)}
@media print{
  @page{size:58mm 40mm;margin:0}
  html,body{width:58mm;margin:0;padding:0;background:#fff}
  .shell{display:block!important;width:58mm;margin:0;padding:0}
  .shell>*:not(.labels-sheet){display:none!important}
  .labels-sheet{display:block!important;margin:0;padding:0}
  .thermal-label{border:0;margin:0;break-after:page;page-break-after:always}
  .thermal-label:last-child{break-after:auto;page-break-after:auto}
}
@media(max-width:680px){.top-actions{gap:6px}.mappings-button{font-size:0;width:42px;height:42px;padding:0}.mappings-button:after{content:'⇄';font-size:20px}.mapping-pair{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr auto}.mapping-row .mapping-market,.mapping-row .mapping-arrow{display:none}}

.skip-camera-label .camera-label{display:none!important}
@media print{.skip-camera-label .uin-label{break-after:auto;page-break-after:auto}}
