/* 模板打印样式 — 参考格式页专用 */
* { box-sizing: border-box; }
body {
  margin: 0; padding: 26px 16px 60px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: #eef2f8; color: #1b2a44; font-size: 14px; line-height: 1.85;
}
.bar {
  max-width: 760px; margin: 0 auto 18px; display: flex; gap: 10px;
  align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.bar a, .bar button {
  font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer;
  padding: 9px 16px; border-radius: 9px; border: 1px solid #d4deec;
  background: #fff; color: #14539f; text-decoration: none;
}
.bar button { background: linear-gradient(135deg, #1d63d1, #2f7bec); color: #fff; border-color: transparent; }
.bar .warnmsg { font-size: 12.5px; color: #a05a12; background: #fdf6e3; border: 1px solid #f2dfae; border-radius: 8px; padding: 7px 12px; }

.sheet {
  max-width: 760px; margin: 0 auto; background: #fff; padding: 46px 52px 54px;
  border-radius: 8px; box-shadow: 0 10px 34px rgba(18,33,58,.12);
}
.sheet h1 { font-size: 23px; text-align: center; margin: 0 0 6px; letter-spacing: 2px; font-weight: 700; color: #10203a; }
.sheet .sub { text-align: center; font-size: 12.5px; color: #6b7a94; margin-bottom: 26px; letter-spacing: .5px; }
.sheet h2 { font-size: 15px; margin: 24px 0 10px; color: #14539f; }
.row { margin-bottom: 13px; }
.line { display: flex; align-items: flex-end; gap: 6px; margin-bottom: 16px; font-size: 14.5px; }
.line .lb { flex: none; }
.line .fill { flex: 1; border-bottom: 1px solid #2a3b57; height: 22px; min-width: 60px; }
.line .fill.short { flex: none; width: 110px; }
.sheet ol, .sheet ul { padding-left: 20px; }
.sheet p { margin: 0 0 10px; }
.box { border: 1px solid #cdd8e8; border-radius: 6px; padding: 14px 16px; background: #fbfcfe; margin: 12px 0; }
.tip { background: #fdf6e3; border: 1px solid #f2dfae; border-radius: 6px; padding: 12px 16px; font-size: 13px; color: #7a5310; margin-top: 22px; }
.sign { margin-top: 34px; display: flex; justify-content: space-between; gap: 30px; font-size: 14.5px; }
.sign .s { flex: 1; }
.stamp { margin-top: 26px; text-align: right; color: #6b7a94; font-size: 13px; }
table.f { width: 100%; border-collapse: collapse; margin: 12px 0; }
table.f th, table.f td { border: 1px solid #cdd8e8; padding: 9px 11px; font-size: 13.5px; text-align: left; vertical-align: top; }
table.f th { background: #f4f7fc; font-weight: 600; color: #10203a; }

@media print {
  body { background: #fff; padding: 0; }
  .bar { display: none !important; }
  .sheet { box-shadow: none; border-radius: 0; max-width: none; padding: 0; }
  @page { margin: 18mm 16mm; }
}
