/* ================= 打印样式（A4 单据 / 对账单） ================= */
/* 三种纸张：竖向 A4（默认） / 横向 A4 / 80mm 小票，由 #printArea 的 class 切换 */
@page { size: A4 portrait; margin: 10mm 12mm 12mm 12mm; }
@page landscape { size: A4 landscape; margin: 8mm 10mm 10mm 10mm; }
@page receipt { size: 80mm auto; margin: 4mm 3mm; }
#printArea.page-landscape { page: landscape; }
#printArea.page-receipt { page: receipt; }

html, body { margin: 0; padding: 0; }
body { background: #fff !important; }

/* 打印时隐藏应用主体 */
.app, .modal-mask, .toast-wrap { display: none !important; }

#printArea {
  display: block !important;
  font: 12px/1.6 "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: #1c1c1c;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
#printArea:empty { display: none !important; }

/* 小票格式：窄幅小字 */
#printArea.page-receipt { font-size: 10px; line-height: 1.45; }
#printArea.page-receipt .sheet { width: 100%; }
#printArea.page-receipt .sheet-title { font-size: 14px; letter-spacing: 1px; }
#printArea.page-receipt .sheet-sub { font-size: 9px; margin-bottom: 6px; }
#printArea.page-receipt .sheet-meta { gap: 2px 10px; padding: 5px 0 6px; font-size: 9.5px; }
#printArea.page-receipt .sheet-meta .m { min-width: 0; }
#printArea.page-receipt .sheet-foot { flex-direction: column; gap: 8px; }
#printArea.page-receipt .sheet-foot .sum { min-width: 0; width: 100%; padding: 6px 8px; }
#printArea.page-receipt .sheet-sign { margin-top: 16px; gap: 12px; }
#printArea.page-receipt .sheet table th, #printArea.page-receipt .sheet table td {
  padding: 3px 5px; font-size: 9.5px;
}

/* 打印时不隐藏的应用内容（用于直接打印当前页） */
body.print-page .app { display: flex !important; }

/* ---------- 单据页 ---------- */
.sheet { width: 100%; margin: 0 auto; }

/* 文档头：主标题 + 副标题 */
.sheet-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 4px; }
.sheet-title {
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 5px;
  padding-bottom: 7px;
}
.sheet-head .sheet-title { text-align: left; letter-spacing: 3px; }
.sheet-sub { text-align: center; font-size: 11.5px; color: #666; margin: -2px 0 10px; }

/* 单据信息条：顶底细线，字距舒展 */
.sheet-meta {
  display: flex; flex-wrap: wrap;
  gap: 3px 34px;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #d5d5d5;
  padding: 8px 2px 9px;
  margin-bottom: 10px;
  font-size: 12px;
}
.sheet-meta .m { min-width: 150px; color: #1c1c1c; }
.sheet-meta .m span {
  color: #777;
  margin-right: 7px;
  font-size: 11px;
}

/* 表格：细边框 + 斑马纹，数据右对齐更易读。
   行高自适应：不锁列宽，长文本自动换行，避免内容被截断看不全 */
.sheet table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  table-layout: auto;
}
.sheet table th, .sheet table td {
  border: 1px solid #c9c9c9;
  padding: 6px 8px;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}
.sheet table th {
  background: #f2f2f2 !important;
  font-weight: 700;
  color: #222;
  border-bottom: 1.5px solid #9a9a9a;
}
.sheet table tbody tr:nth-child(even) { background: #fafafa; }
.sheet table td.num, .sheet table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.sheet table td.center, .sheet table th.center { text-align: center; }

/* 底部：说明 + 金额汇总 */
.sheet-foot {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  font-size: 12px;
}
.sheet-foot > div:first-child { color: #555; max-width: 52%; }
.sheet-foot .sum {
  min-width: 250px;
  border: 1px solid #333;
  padding: 9px 14px 8px;
  background: #fff;
}
.sheet-foot .sum div { display: flex; justify-content: space-between; gap: 24px; line-height: 1.95; }
.sheet-foot .sum div span { color: #555; }
.sheet-foot .sum .big {
  font-size: 14.5px;
  font-weight: 700;
  color: #111;
  border-top: 1px dashed #999;
  padding-top: 5px;
  margin-top: 4px;
}
.sheet-foot .sum .big span { color: #111; }

/* 签名栏：名称居中，线下留白 */
.sheet-sign {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 30px;
  font-size: 12px;
}
.sheet-sign div { flex: 1; border-top: 1px solid #000; padding-top: 6px; text-align: center; }

/* 通用列表打印页脚注释 */
.sheet-note {
  margin-top: 14px;
  font-size: 11px;
  color: #666;
  border-top: 1px dashed #bbb;
  padding-top: 8px;
  line-height: 1.7;
}

/* 多页对账单分页 */
.page-break { page-break-after: always; break-after: page; }
.sheet + .sheet { margin-top: 9mm; }
