/* 纸张与留边集中配置；首次试打后只需调整这里。屏幕和打印共用这些尺寸。 */
:root{--paper-width:241mm;--paper-height:93.3mm;--paper-padding-x:12mm;--paper-padding-y:4mm}
@page{size:241mm 93.3mm;margin:0}
.preview-layout-status{padding:12px 26px;border-bottom:1px solid var(--ui-border);font-size:13px;line-height:1.7;color:var(--ui-muted);overflow-wrap:anywhere}
.preview-layout-status[data-tone="warning"]{background:var(--ui-warning-bg);color:var(--ui-warning)}
.preview-layout-status[data-tone="error"]{background:var(--ui-danger-bg);color:var(--ui-danger)}
#preview-dialog .dialog-footer{align-items:center;flex-wrap:wrap}
#preview-dialog .dialog-footer p{flex:1 1 380px;min-width:0;max-width:none;font-size:12px;line-height:1.8;color:var(--ui-muted)}
#preview-dialog .dialog-footer span{max-width:none}
#preview-dialog #print-order{flex:0 0 auto}
.paper-scroll{background:#e8e6e0;padding:20px;overflow:auto}
.paper-pages{display:flex;flex-direction:column;gap:20px;width:max-content;min-width:100%;align-items:center}
.paper.paper-page{
  box-sizing:border-box;display:block;position:relative;flex:none;width:var(--paper-width);min-width:var(--paper-width);max-width:none;
  height:var(--paper-height);min-height:var(--paper-height);max-height:none;margin:0;padding:var(--paper-padding-y) var(--paper-padding-x);
  color:#000;background:#fff;border:0;border-radius:0;overflow:visible;font-family:SimSun,"宋体",serif;font-size:var(--paper-body-size,12pt);
  font-weight:400;font-synthesis:weight;line-height:1.2;letter-spacing:normal;font-variant-numeric:tabular-nums;
}
.paper-page .paper-content{display:block;width:100%;min-width:0;margin:0;padding:0;color:#000;overflow:visible}
.paper-page h3{margin:0 0 .3mm;padding:0;text-align:center;font-size:var(--paper-title-size,23pt);font-weight:400;letter-spacing:.03em;line-height:1.08;overflow-wrap:anywhere}
.paper-page .paper-number{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3mm;margin:0 0 .3mm;padding:0;text-align:left;font-size:var(--paper-number-size,9.5pt);line-height:1.1;overflow-wrap:anywhere}
.paper-page .paper-page-count{min-width:0;white-space:normal}
.paper-page .paper-order-number{max-width:100%;text-align:right;overflow-wrap:anywhere}
.paper-page .paper-meta{display:grid;grid-template-columns:minmax(0,72.2fr) minmax(0,15.3fr) minmax(0,12.5fr);gap:0;align-items:center;margin:0 0 .6mm;padding:0;font-size:var(--paper-meta-size,14.5pt);line-height:1.1;overflow-wrap:anywhere}
.paper-page .paper-customer{padding-right:2mm}
.paper-page .paper-date-label{padding-left:.4mm;white-space:nowrap}
.paper-page .paper-meta .paper-date{white-space:nowrap;text-align:right;font-family:"Times New Roman",SimSun,"宋体",serif}
.paper-page table{width:100%;margin:0;table-layout:fixed;border-collapse:collapse;border-spacing:0;text-align:center;color:#000;font-size:inherit;line-height:1.2}
.paper-page th,.paper-page td{border:.2mm solid #000;padding:var(--paper-cell-y,.35mm) .6mm;vertical-align:middle;color:#000;font-weight:400;line-height:1.1;overflow-wrap:anywhere;word-break:normal;white-space:pre-wrap}
.paper-page thead th{padding:.5mm .4mm;font-family:SimSun,"宋体",serif;font-size:var(--paper-header-size,14.5pt);line-height:1.12}
.paper-page tbody td{font-family:Arial,"Microsoft YaHei","微软雅黑",sans-serif}
/* 仅长备注适度缩字；短件数与产品、数量、金额保持原字号，测量与打印共同生效。 */
.paper-page tbody td.paper-note-long{font-size:clamp(9pt,calc(var(--paper-body-size) - 4pt),12pt);line-height:1.1;padding-inline:.25mm}
.paper-page .paper-item-row{height:var(--paper-row-height,auto)}
.paper-page .paper-seq{width:10.9%}.paper-page .paper-product{width:10.6%}.paper-page .paper-spec{width:23%}.paper-page .paper-unit{width:7.2%}
.paper-page .paper-quantity{width:10.3%}.paper-page .paper-price{width:10.2%}.paper-page .paper-money{width:15.3%}.paper-page .paper-note{width:12.5%}
.paper-page .paper-total{height:var(--paper-total-height,auto)}
.paper-page .paper-total td{text-align:left;padding:var(--paper-total-y,.8mm) .6mm;font-family:Arial,"Microsoft YaHei","微软雅黑",sans-serif;font-size:var(--paper-total-size,15pt);line-height:1.12;overflow-wrap:anywhere}
.paper-page .paper-total .paper-total-label{text-align:center;white-space:nowrap}
.paper-page .paper-total .paper-total-small-label{padding-inline:.3mm;font-size:var(--paper-total-label-size,13pt);white-space:nowrap}
.paper-page .paper-total .paper-total-number{text-align:center}
.paper-page .paper-signatures{display:grid;grid-template-columns:minmax(0,21.5fr) minmax(0,40.5fr) minmax(0,38fr);gap:0;margin:0;padding:var(--paper-signature-y,.7mm) 0;font-size:var(--paper-signature-size,12.5pt);line-height:1.15;overflow-wrap:anywhere}
.paper-page .paper-signatures>span:first-child{padding-left:5mm;padding-right:1mm}
.paper-page .paper-signatures>span:nth-child(2){padding-left:.6mm;padding-right:1mm}
.paper-page .paper-signatures>span:last-child{padding-left:3.5mm;padding-right:1mm}
.paper-page .paper-terms{margin:0;padding:0;color:#000;font-size:var(--paper-terms-size,8.5pt);font-weight:400;line-height:1.15;overflow-wrap:anywhere}
.print-layout-error{width:min(780px,calc(100vw - 110px));min-width:220px;padding:20px;color:var(--ui-ink);background:var(--ui-control);line-height:1.8;overflow-wrap:anywhere}
.print-layout-error h3{margin:0 0 8px;font-size:16px}.print-layout-error p{font-size:13px}.print-layout-error dl{margin:12px 0 0;font-size:13px}.print-layout-error dt{font-weight:600}.print-layout-error dd{margin:0 0 10px;white-space:pre-wrap}
#print-root,#print-measure{position:absolute;left:-100000px;top:0;width:var(--paper-width);visibility:hidden;pointer-events:none;margin:0;padding:0;overflow:visible}
#print-measure{contain:layout style}
@media screen{.paper-pages>.paper-page{box-shadow:0 3px 12px rgba(48,47,43,.16)}}
@media(max-width:600px){
  .preview-layout-status{padding:10px 17px;font-size:12px}
  .paper-scroll{padding:12px}
  #preview-dialog .dialog-footer{gap:12px}
  #preview-dialog #print-order{width:100%}
}
@media print{
  html,body{width:var(--paper-width);min-width:0;height:auto;min-height:0;max-height:none;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;color:#000!important}
  body>*:not(#print-root){display:none!important}
  body::before,body::after,dialog::backdrop{display:none!important;content:none!important}
  #print-root{display:block!important;position:static!important;left:auto;top:auto;width:var(--paper-width);height:auto;visibility:visible!important;pointer-events:auto;overflow:visible!important}
  #print-root .paper-page{break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always;box-shadow:none}
  #print-root .paper-page:last-child{break-after:auto;page-break-after:auto}
  #print-root .paper-page *{visibility:visible}
  .print-blocked{box-sizing:border-box;width:var(--paper-width);padding:12mm;font-family:"Microsoft YaHei",sans-serif;font-size:12pt;line-height:1.8;color:#000}
}
