/* Scoped label workspace; the print window uses millimetres independently. */
.labels-workspace { --labels-muted: #506563; }
.labels-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; align-items:start; }
.labels-panel { min-width:0; padding:24px; border:1px solid var(--pdv-line); background:var(--pdv-panel); border-radius:var(--pdv-radius); box-shadow:var(--pdv-shadow-sm); }
.labels-panel h3 { margin:0; font-size:19px; line-height:1.4; }
.labels-panel-head,.labels-panel-head>div,.labels-selection-head,.labels-preview-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.labels-panel-head { justify-content:space-between; margin-bottom:22px; }
.labels-step { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:var(--pdv-primary-soft); color:var(--pdv-primary-dark); font-weight:800; }
.labels-muted,.labels-product small,.labels-queue-item small { color:var(--labels-muted); font-size:13px; line-height:1.5; }
.labels-panel label { display:grid; gap:7px; font-size:14px; font-weight:650; min-width:0; }
.labels-panel input,.labels-panel select { width:100%; min-width:0; max-width:100%; height:46px; padding:10px 12px; font-size:16px; background:var(--pdv-panel); border:1px solid var(--pdv-line); border-radius:10px; color:var(--pdv-ink); }
.labels-panel button { min-height:44px; padding:10px 14px; font-size:14px; border-radius:10px; }
.labels-filters { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:12px; margin-bottom:16px; }
.labels-catalog { max-height:360px; overflow-y:auto; overscroll-behavior:contain; border-block:1px solid var(--pdv-line); }
.labels-product { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--pdv-line); }
.labels-product:last-child { border:0; }
.labels-product>div,.labels-queue-item>div { display:grid; gap:5px; min-width:0; overflow-wrap:anywhere; }
.labels-product strong,.labels-queue-item strong { font-size:15px; line-height:1.4; }
.labels-product-price { font-size:15px; font-weight:750; white-space:nowrap; font-variant-numeric:tabular-nums; }
#label-more { margin-top:12px; width:100%; }
.labels-selection-head { justify-content:space-between; margin:24px 0 8px; }
.labels-queue { max-height:400px; overflow-y:auto; overscroll-behavior:contain; }
.labels-queue-item { display:grid; grid-template-columns:minmax(0,1fr) 78px auto; gap:12px; align-items:center; border-bottom:1px solid var(--pdv-line); padding:14px 0; }
.labels-empty { padding:18px 10px; color:var(--labels-muted); font-size:14px; line-height:1.6; text-align:center; }
.labels-note { font-size:13px; line-height:1.6; padding:12px; background:var(--pdv-primary-soft); color:var(--pdv-primary-dark); border-radius:10px; }
.labels-measures { margin:18px 0; border:1px solid var(--pdv-line); padding:14px; border-radius:10px; }
.labels-measures summary { cursor:pointer; font-weight:650; min-height:24px; font-size:14px; }
.labels-measure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.labels-preview-head { margin:24px 0 12px; justify-content:space-between; }
.labels-panel .labels-border-toggle { display:flex; align-items:center; gap:10px; min-height:44px; margin-top:12px; cursor:pointer; }
.labels-panel #label-border { width:20px; height:20px; accent-color:var(--pdv-primary); }
.labels-preview { padding:24px 12px; min-height:145px; display:grid; place-items:center; background:var(--pdv-panel-soft); border:1px dashed #a2b6b2; border-radius:12px; overflow:hidden; }
.labels-preview svg { max-width:100%; height:auto; background:#fff; outline:1px solid #cad6d3; }
.labels-summary { font-size:14px; font-weight:650; line-height:1.5; min-height:21px; }
.labels-print-actions { display:flex; gap:12px; flex-wrap:wrap; }
.labels-print-actions button { flex:1; }
.labels-workspace .form-error { overflow-wrap:anywhere; }
@media(max-width:1200px) { .labels-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .labels-panel { padding:16px; }.labels-filters { grid-template-columns:minmax(0,1fr); }.labels-product { grid-template-columns:minmax(0,1fr) auto; }.labels-product>div { grid-column:1/-1; }.labels-product>button { justify-self:end; }.labels-queue-item { grid-template-columns:minmax(0,1fr) auto; }.labels-queue-item>div { grid-column:1/-1; }.labels-queue-item label { max-width:95px; } }
