/* Printing & documents: label / document templates, print via agents, imports & exports. Use the tokens from styles.css / docs/DESIGN.md only. */

.prn-screen { padding: 24px; display: grid; gap: 16px; }
.prn-screen > p, .prn-help p, .prn-docinfo p, .prn-result p { margin: 0; }
.prn-imports { display: grid; gap: 16px; }
.prn-form { display: grid; gap: 16px; }
.prn-params:empty { display: none; }
.prn-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.prn-check { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; text-transform: none; letter-spacing: 0; color: var(--text); font-weight: 400; }
.prn-help, .prn-docinfo, .prn-result { display: grid; gap: 8px; }

/* label sketch: white stock with a thin border; barcodes drawn as bars, text as text */
.prn-preview { display: grid; gap: 12px; }
.prn-preview p { margin: 0; }
.prn-label { position: relative; background: var(--bg); border: 1px solid var(--text-muted); border-radius: var(--radius-s); overflow: hidden; }
.prn-item { position: absolute; white-space: nowrap; line-height: 1; color: var(--text); overflow: hidden; }
.prn-text { font-weight: 500; }
.prn-barcode {
  min-width: 40px; display: flex; align-items: flex-end;
  background: repeating-linear-gradient(90deg, var(--text) 0 2px, transparent 2px 4px, var(--text) 4px 5px, transparent 5px 8px);
}
.prn-barcode span { background: var(--bg); font-size: 10px; line-height: 12px; padding: 0 2px; color: var(--text); }
.prn-rot { transform-origin: top left; transform: rotate(90deg); }
.prn-box { border: 1px solid var(--text); }

.prn-fields { border-collapse: collapse; width: 100%; }
.prn-fields th, .prn-fields td { text-align: left; padding: 4px 12px 4px 0; border-bottom: 1px solid var(--border); vertical-align: top; }
.prn-fields th { font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); width: 40%; }
.prn-fields select { width: 100%; }

.prn-errors { max-height: 420px; }
.prn-errors ul { margin: 4px 0 0; padding-left: 18px; }
.prn-error-row td:first-child { color: var(--danger); font-weight: 500; }
.grid tr.prn-failed td { color: var(--danger); }

.prn-print-frame { position: fixed; width: 0; height: 0; border: 0; visibility: hidden; }
