/* BDK Label Studio - real-size label canvas (CSS cm/mm/pt units so preview, print and PDF agree). */
.ls-stage{background:var(--bdk-surface-soft);border:1px solid var(--bdk-stroke);border-radius:16px;padding:18px;overflow:auto;min-height:340px;display:grid;place-items:start center}
.ls-zoomwrap{transform-origin:0 0}
.ls-label{position:relative;background:#fff;color:#000;box-shadow:0 0 0 1px rgba(0,0,0,.18),0 10px 28px rgba(0,0,0,.18);overflow:hidden;font-family:Arial,Helvetica,sans-serif;flex:none}
.ls-label.rounded{border-radius:2mm}
.ls-el{position:absolute;box-sizing:border-box;transform-origin:50% 50%;user-select:none;touch-action:none}
.ls-el svg,.ls-el img{display:block;width:100%;height:100%;pointer-events:none}
.ls-el img{object-fit:contain}
.ls-el .ls-t{width:100%;height:100%;overflow:hidden;white-space:pre-wrap;word-break:break-word;line-height:1.12}
.ls-el .ls-bad{width:100%;height:100%;display:grid;place-items:center;border:1px dashed #d14343;color:#b02c2c;font-size:7pt;text-align:center;background:repeating-linear-gradient(45deg,#fff,#fff 4px,#fbeaea 4px,#fbeaea 8px)}
.ls-design .ls-el{cursor:move}
.ls-design .ls-el:hover{outline:1px dashed #2569ed;outline-offset:1px}
.ls-design .ls-el.sel{outline:2px solid #2569ed;outline-offset:1px}
.ls-handle{position:absolute;width:12px;height:12px;background:#2569ed;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.4);display:none;pointer-events:auto;touch-action:none;z-index:3}
.ls-el.sel .ls-handle{display:block}
.ls-handle.br{right:-9px;bottom:-9px;cursor:nwse-resize}
.ls-handle.rot{left:50%;top:-24px;margin-left:-6px;cursor:grab;background:#ff8527}
.ls-tpl{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ls-tpl button{appearance:none;border:1px solid var(--bdk-stroke);background:var(--bdk-bg);color:var(--bdk-ink);border-radius:10px;padding:8px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-align:left;display:grid;gap:5px}
.ls-tpl button:hover{border-color:var(--bdk-brand)}
.ls-tpl i{display:block;background:#fff;border:1px solid #bbb;border-radius:2px;margin:0 auto}
.ls-tpl small{font-weight:600;color:var(--bdk-muted);font-size:11.5px}
.ls-elbtn{display:flex;gap:6px;flex-wrap:wrap}
.ls-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.ls-list li{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:6px 9px;border:1px solid var(--bdk-stroke);border-radius:9px;background:var(--bdk-bg);font-size:14px}
.ls-list li.on{border-color:var(--bdk-brand)}
.ls-list button{font-size:12px}
.ls-pages{display:grid;gap:18px;justify-items:center}
.ls-page{background:#fff;color:#000;width:210mm;height:297mm;position:relative;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.25);flex:none}
.ls-page .ls-label{position:absolute;box-shadow:none}
.ls-page.guides .ls-label{outline:.2mm dashed #aaa}
.ls-pagewrap{transform-origin:0 0}
.ls-sheetinfo{font-size:13px;color:var(--bdk-muted)}
@media print{
  .ls-page{box-shadow:none;margin:0;page-break-after:always;break-after:page}
  .ls-page:last-child{page-break-after:auto;break-after:auto}
  .ls-label{box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .ls-single{page-break-after:always;break-after:page}
  .ls-single:last-child{page-break-after:auto;break-after:auto}
}
