/*
 * How a statement looks — shared by the Books page and the online copy
 * (books-worker), so a report reads the same wherever it is opened. Every
 * colour falls back to a plain value, because the online page has no app.css.
 */
.stamp { font-size: .85rem; margin: 0 0 12px; }
.stamp.old { color: var(--warn, #b45309); }
.checks { margin: 0 0 16px; padding: 10px 14px; border: 1px solid var(--warn, #b45309); border-radius: 8px; background: var(--warn-soft, #fff7ed); }
.checks p { margin: 4px 0; font-size: .88rem; }
.letterhead { text-align: center; margin: 4px 0 18px; }
.letterhead .co { font-size: 1.15rem; font-weight: 700; }
.letterhead .sub { color: var(--muted, #6b7280); font-size: .85rem; }
.letterhead .title { font-size: 1.05rem; font-weight: 600; margin-top: 8px; }
.letterhead .unaudited { font-size: .78rem; color: var(--muted, #6b7280); margin-top: 2px; letter-spacing: .02em; }
.figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.figure { background: var(--surface-2, #f5f5f4); border: 1px solid var(--border, #e5e7eb); border-radius: 8px; padding: 12px 14px; }
.figure .big { font-size: 1.3rem; font-variant-numeric: tabular-nums; margin-top: 4px; }
/* A statement stays a table at any width; app.css turns tables into
   scrolling blocks on narrow screens, which squeezes these to the left. */
table.acc { width: 100%; border-collapse: collapse; display: table !important; font-size: .9rem; }
table.acc th, table.acc td { padding: 5px 8px; border-bottom: 1px solid var(--border-soft, #f0f0f0); text-align: left; }
table.acc th { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted, #6b7280); }
table.acc th.r, table.acc td.r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
table.acc tr.sect td { font-weight: 700; padding-top: 14px; }
table.acc tr.head td { font-weight: 600; }
table.acc tr.sub td:first-child { padding-left: 26px; }
table.acc tr.sub2 td:first-child { padding-left: 46px; color: var(--muted, #6b7280); }
table.acc tr.total td { font-weight: 700; border-top: 1px solid var(--border-strong, #9ca3af); }
table.acc tr.grand td { font-weight: 700; border-top: 2px solid var(--border-strong, #9ca3af); border-bottom: 3px double var(--border-strong, #9ca3af); }
table.acc tr.note td { color: var(--warn, #b45309); }
.statement h3 { margin: 18px 0 8px; font-size: 1rem; }
.statement .fineprint { color: var(--muted, #6b7280); font-size: .8rem; margin-top: 8px; }
.sign { display: none; }
@media print {
  @page { margin: 16mm 14mm; @bottom-right { content: "Page " counter(page) " of " counter(pages); font-size: 9pt; } }
  .no-print { display: none !important; }
  .checks { border-color: #999; background: #fff; }
  .sign { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; font-size: 10pt; }
  .sign div { border-top: 1px solid #000; padding-top: 6px; }
  tr { break-inside: avoid; }
}
