/* Printable A4 sheets. On screen: a page preview with a print button. */
@page { size: A4; margin: 10mm; }
:root { --ink: #20222b; --rule: #b9bcc2; --faint: #8b909a; --ultramarine: #2c4c9c; }
* { box-sizing: border-box; }
body { margin: 0; background: #e9eaec; color: var(--ink); font: 400 11pt/1.4 "Alegreya Sans", "Helvetica Neue", Arial, sans-serif; }
.bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; max-width: 210mm; margin: 0 auto; padding: 1rem 16px; font-size: 1rem; }
.bar a { color: var(--ultramarine); }
.bar button { font: inherit; font-weight: 700; padding: 0.5rem 1.1rem; border: 0; border-radius: 4px; background: var(--ultramarine); color: #fff; cursor: pointer; }
.page { width: 210mm; max-width: 100%; min-height: 297mm; margin: 0 auto 2rem; padding: 10mm; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.page h1 { font: 800 18pt/1.1 "Alegreya", Georgia, serif; margin: 0 0 1mm; }
.page .meta { color: var(--faint); margin: 0 0 6mm; display: flex; gap: 8mm; flex-wrap: wrap; }
.page .meta span { border-bottom: 0.3mm solid var(--rule); min-width: 45mm; padding-bottom: 1mm; }
.page svg { display: block; width: 100%; height: auto; }
table.log { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.log th, table.log td { border: 0.3mm solid var(--rule); padding: 1.5mm 2mm; text-align: left; vertical-align: top; }
table.log th { font-weight: 700; font-size: 10pt; color: var(--ink); background: #f3f4f1; }
table.log td { height: 15mm; }
.fill { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3mm 8mm; margin-bottom: 6mm; }
.fill div { border-bottom: 0.3mm solid var(--rule); padding: 4mm 0 1mm; color: var(--faint); }
@media print {
  body { background: #fff; }
  .bar { display: none; }
  .page { width: auto; min-height: 0; margin: 0; padding: 0; box-shadow: none; }
}
