@page { size: auto; margin: 16mm 17mm; }
@media print {
  html, body { background: #fff !important; color: #16271e !important; }
  body > *:not(#print-sheet) { display: none !important; }
  #print-sheet { display: block !important; max-width: 185mm; margin: 0 auto; color: #16271e; background: #fff; font: 10pt/1.5 Arial, sans-serif; overflow-wrap: anywhere; }
  #print-sheet * { box-sizing: border-box; }
  #print-sheet h1, #print-sheet h2, #print-sheet p { margin: 0; }
  #print-sheet .doc-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; border-bottom: 3px solid #227047; padding-bottom: 15px; margin-bottom: 16px; }
  #print-sheet .doc-kicker { display: block; color: #297549; font-size: 8pt; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 7px; }
  #print-sheet .doc-header h1 { color: #153623; font: bold 21pt/1.2 Arial, sans-serif; max-width: 125mm; overflow-wrap: anywhere; }
  #print-sheet .doc-contact { color: #52665a; font-size: 9pt; margin-top: 7px; }
  #print-sheet .doc-mark { background: #eaf3ed; color: #226942; border-radius: 3px; font-size: 8pt; font-weight: bold; letter-spacing: .1em; padding: 8px 10px; }
  #print-sheet .doc-info { display: grid; grid-template-columns: 1fr 1fr; gap: 12mm; margin-bottom: 17px; }
  #print-sheet .doc-info-card { padding: 10px 14px; background: #f2f7f3; border-left: 2px solid #55916b; min-height: 75px; }
  #print-sheet .doc-recipient { display: block; font-size: 11pt; color: #183f2b; }
  #print-sheet .doc-info-card p { font-size: 9pt; color: #40584a; margin-top: 4px; }
  #print-sheet .doc-detail { display: flex; justify-content: space-between; gap: 16px; font-size: 9pt; padding: 3px 0; }
  #print-sheet .doc-detail span { color: #52665a; }
  #print-sheet .doc-detail strong { text-align: right; font-weight: 600; }
  #print-sheet .doc-info-card .doc-detail { padding: 2px 0; }
  #print-sheet .doc-info-card .doc-detail strong { font-weight: 500; max-width: 65%; }
  #print-sheet .doc-section { margin: 14px 0 0; }
  #print-sheet h2 { font: bold 11pt/1.3 Arial, sans-serif; color: #1d5838; margin-bottom: 9px; }
  #print-sheet .doc-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  #print-sheet .doc-table th { text-align: left; color: #315640; background: #eaf3ed; border-bottom: 1px solid #c6d9cc; font-size: 8pt; text-transform: uppercase; letter-spacing: .05em; padding: 8px; }
  #print-sheet .doc-table th:first-child { width: 45%; }
  #print-sheet .doc-table th:nth-child(2) { width: 24%; }
  #print-sheet .doc-table th:nth-child(3) { width: 15%; }
  #print-sheet .doc-table th:last-child { width: 16%; }
  #print-sheet .doc-table td { border-bottom: 1px solid #e0e9e2; padding: 6px 8px; vertical-align: top; font-size: 9pt; overflow-wrap: anywhere; }
  #print-sheet .doc-table td:last-child, #print-sheet .doc-table th:last-child { text-align: right; }
  #print-sheet .doc-table td strong { display: block; font-weight: 600; color: #1c3928; }
  #print-sheet .doc-table td small { display: block; color: #65776a; font-size: 8pt; margin-top: 3px; white-space: pre-wrap; }
  #print-sheet .doc-table thead { display: table-header-group; }
  #print-sheet .doc-table tr, #print-sheet .doc-info, #print-sheet .doc-grand-total, #print-sheet .doc-footer { break-inside: avoid; page-break-inside: avoid; }
  #print-sheet .doc-summary { margin: 17px 0 0 auto; max-width: 95mm; break-inside: avoid; page-break-inside: avoid; }
  #print-sheet .doc-summary .doc-detail { border-bottom: 1px solid #e3ebe5; }
  #print-sheet .doc-grand-total { display: flex; justify-content: space-between; gap: 12px; background: #1b5635; color: #fff; padding: 10px 15px; margin-top: 8px; font-weight: bold; font-size: 11pt; }
  #print-sheet .doc-grand-total strong { font-size: 16pt; }
  #print-sheet .doc-recurring, #print-sheet .doc-notes { border-top: 1px solid #d7e5d9; margin-top: 14px; padding-top: 10px; break-inside: avoid; page-break-inside: avoid; }
  #print-sheet .doc-recurring { max-width: 95mm; margin-left: auto; }
  #print-sheet .doc-recurring p, #print-sheet .doc-notes p { font-size: 9pt; color: #53695a; white-space: pre-wrap; }
  #print-sheet .doc-footer { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid #d7e5d9; margin-top: 12px; padding: 7px 0 0; background: #fff; color: #66786c; font-size: 8pt; }
}