/* Shared MOM register print styles — matches proceedings-*-mom-pad.html */
@page { size: A4 portrait; margin: 0; }
* { box-sizing: border-box; }
:root {
  --navy: #0b2a56;
  --navy-2: #143a6e;
  --green: #1a6b3a;
  --gold: #c9a227;
  --ink: #12233f;
  --muted: #5a6a80;
  --paper: #ffffff;
  --line: rgba(11, 42, 86, 0.10);
  --mom-page-h: 297mm;
  /* Print/PDF: stay inside the paper box. 297mm + Chrome rounding overflows onto the next page and clips the following header. */
  --mom-print-h: 277mm;
  --mom-print-w: 210mm;
}
html[data-paper="a4"] { --mom-print-w: 210mm; --mom-print-h: 277mm; }
html[data-paper="a5"] { --mom-print-w: 148mm; --mom-print-h: 196mm; }
html[data-paper="letter"] { --mom-print-w: 215.9mm; --mom-print-h: 269mm; }
html[data-paper="legal"] { --mom-print-w: 215.9mm; --mom-print-h: 345mm; }
body {
  margin: 0;
  color: var(--ink);
  background: #cfd8e6;
  font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
}
.screen-hint {
  text-align: center;
  padding: 10px 14px;
  font: 500 13px/1.45 system-ui, sans-serif;
  color: #445;
  max-width: 210mm;
  margin: 0 auto;
}
.mom-print-root { max-width: 210mm; margin: 0 auto; }
.sheet {
  position: relative;
  isolation: isolate;
  width: 210mm;
  min-height: var(--mom-page-h);
  height: var(--mom-page-h);
  margin: 0 auto 16px;
  padding: 0;
  background: var(--paper);
  border: 1pt solid rgba(11, 42, 86, 0.55);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.accent-edge {
  display: grid;
  grid-template-columns: 1fr 7mm 1fr;
  height: 2.4mm;
  flex: 0 0 auto;
}
.accent-edge .n { background: var(--navy); }
.accent-edge .g { background: var(--gold); }
.accent-edge .e { background: var(--green); }
.accent-edge-thin {
  height: 0.35mm;
  background: rgba(11, 42, 86, 0.12);
  flex: 0 0 auto;
}
.wm {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: min(112mm, 70%);
  max-height: 46%;
  height: auto;
  object-fit: contain;
  opacity: 0.72;
  pointer-events: none;
  z-index: 3;
  mix-blend-mode: multiply;
}
.pad {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 4mm 11mm 2.5mm;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.brand {
  display: grid;
  grid-template-columns: 20mm 1fr auto;
  gap: 4mm;
  align-items: center;
  padding: 0 0 2mm;
  flex: 0 0 auto;
}
.brand .logo { width: 20mm; height: auto; display: block; border: 0; outline: 0; box-shadow: none; background: transparent; }
.brand h1 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 14pt;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--navy);
  line-height: 1.05;
  text-transform: uppercase;
}
.brand .colony {
  margin: 0.6mm 0 0;
  font-size: 9pt;
  font-weight: 700;
  color: var(--navy-2);
}
.brand .addr {
  margin: 0.6mm 0 0;
  font-size: 7.8pt;
  font-weight: 600;
  color: var(--green);
}
.brand .reg-no {
  margin: 0.5mm 0 0;
  font-size: 6.8pt;
  font-weight: 700;
  color: var(--muted, #5a6a80);
  letter-spacing: 0.02em;
}
.reg-box {
  border: 1pt solid rgba(11, 42, 86, 0.4);
  padding: 1.8mm 2.4mm;
  min-width: 36mm;
  font-size: 8pt;
}
.reg-box strong {
  display: block;
  font-size: 6.6pt;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green);
}
.reg-box .line {
  border-bottom: 1px solid rgba(11, 42, 86, 0.35);
  min-height: 4.5mm;
  margin-top: 0.8mm;
  font-weight: 600;
  color: var(--navy);
  padding-top: 0.3mm;
}
.page-tag {
  position: absolute;
  top: 3.2mm;
  right: 12mm;
  z-index: 2;
  font-size: 7pt;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.banner {
  text-align: center;
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy-2) 48%, #124a38 100%);
  color: #f7f3ea;
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2.2mm 3mm;
  margin: 1.5mm 0 3mm;
  flex: 0 0 auto;
}
.banner .sep { color: var(--gold); margin: 0 1.2mm; letter-spacing: 0; }
.meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2mm 4mm;
  font-size: 8.8pt;
  margin-bottom: 2.5mm;
}
.field label {
  display: block;
  font-size: 6.8pt;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 0.4mm;
}
.field .ruled {
  border-bottom: 1px solid rgba(11, 42, 86, 0.35);
  min-height: 5.5mm;
  padding: 0.5mm 0;
  line-height: 1.35;
}
.field.span-2 { grid-column: 1 / -1; }
.section { margin: 2.2mm 0; }
.section h2 {
  margin: 0 0 1.2mm;
  font-size: 7.6pt;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--navy);
  border-bottom: 1pt solid rgba(11, 42, 86, 0.35);
  padding-bottom: 0.8mm;
}
.ruled-block {
  background: repeating-linear-gradient(
    transparent,
    transparent calc(7mm - 0.25px),
    var(--line) calc(7mm - 0.25px),
    var(--line) 7mm
  );
  border-left: 1px solid rgba(11, 42, 86, 0.12);
  padding: 1mm 2mm;
  font-size: 8.8pt;
  line-height: 1.45;
  white-space: pre-wrap;
}
.ruled-block.sm { min-height: 12mm; max-height: 18mm; overflow: hidden; }
.ruled-block.md { min-height: 14mm; max-height: 24mm; overflow: hidden; }
.ruled-block.lg { min-height: 14mm; max-height: 28mm; overflow: hidden; }
.ruled-block.xl { min-height: 0; }
.ruled-block.xxl { min-height: 0; }
.grow { flex: 1 1 0; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.grow .ruled-block.xl,
.grow .ruled-block.xxl { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.grow .ruled-block.xxl {
  flex: 1 1 0;
  height: 0;
  column-count: 3;
  column-gap: 3.5mm;
  column-fill: auto;
}
table.res-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 8.4pt;
  margin-top: 1.5mm;
  background: transparent;
  background-color: transparent;
}
table.res-table thead,
table.res-table tbody,
table.res-table tr {
  background: transparent;
  background-color: transparent;
}
table.res-table th, table.res-table td {
  border: 1px solid rgba(11, 42, 86, 0.12);
  padding: 1.4mm 2mm;
  vertical-align: top;
  background: transparent;
  background-color: transparent;
}
table.res-table th {
  background: rgba(11, 42, 86, 0.78);
  color: #f7f3ea;
  font-size: 7.2pt;
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.sign-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8mm;
  margin-top: 6mm;
  font-size: 8.4pt;
  flex: 0 0 auto;
}
.sign-row .sig {
  border-top: 1pt solid rgba(11, 42, 86, 0.45);
  padding-top: 1.4mm;
  text-align: center;
  color: var(--navy);
  font-weight: 600;
}
.sign-stamp {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8mm;
  margin-top: auto;
  padding-top: 4mm;
  flex: 0 0 auto;
}
.sign-stamp .box {
  min-height: 32mm;
  border: 0.7pt dashed rgba(11, 42, 86, 0.38);
  padding: 3mm 3mm 2.2mm;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
}
.sign-stamp .box .space {
  flex: 1 1 auto;
  min-height: 18mm;
}
.sign-stamp .box .lbl {
  font-size: 7.4pt;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--navy);
  text-align: center;
  border-top: 0.7pt solid rgba(11, 42, 86, 0.45);
  padding-top: 1.6mm;
}
.foot-bar {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: 100%;
  margin: 0;
  flex: 0 0 auto;
  z-index: 2;
  box-sizing: border-box;
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy-2) 48%, #124a38 100%);
  color: #f7f3ea;
  text-align: center;
  padding: 1.5mm 8mm;
  font-size: 7.4pt;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.foot-bar .sep { color: var(--gold); margin: 0 1.2mm; letter-spacing: 0; }
.cont-note {
  font-size: 7.4pt;
  color: var(--muted);
  font-style: italic;
  margin: 1mm 0 0;
  text-align: right;
}
@media print {
  html, body {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .screen-hint { display: none !important; }
  .mom-print-root {
    max-width: none;
    margin: 0;
  }
  .sheet {
    width: var(--mom-print-w) !important;
    height: var(--mom-print-h) !important;
    min-height: var(--mom-print-h) !important;
    max-height: var(--mom-print-h) !important;
    margin: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    page-break-after: auto;
    break-after: auto;
    page-break-before: always;
    break-before: page;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .sheet:first-of-type {
    page-break-before: auto;
    break-before: auto;
  }
  .accent-edge,
  .accent-edge-thin,
  .brand,
  .banner,
  .foot-bar,
  .sign-stamp,
  .meta-grid {
    flex-shrink: 0 !important;
  }
  .pad {
    padding: 2mm 8mm 2mm !important;
    box-sizing: border-box !important;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
  }
  .foot-bar {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1.2mm 8mm !important;
  }
  .page-tag { top: 2.4mm !important; }
  .grow {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  .ruled-block.sm { min-height: 8mm !important; max-height: 16mm !important; overflow: hidden !important; }
  .ruled-block.md { min-height: 10mm !important; max-height: 22mm !important; overflow: hidden !important; }
  .ruled-block.lg { min-height: 12mm !important; max-height: 24mm !important; overflow: hidden !important; }
  .ruled-block.xl,
  .ruled-block.xxl { min-height: 0 !important; }
  .grow .ruled-block.xl,
  .grow .ruled-block.xxl {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  .grow .ruled-block.xxl {
    flex: 1 1 0 !important;
    height: 0 !important;
    column-count: 3 !important;
    column-gap: 3.5mm !important;
    column-fill: auto !important;
  }
  .section { margin: 1mm 0; }
  .sign-row { margin-top: 2.5mm; }
  .sign-row .sig {
    min-height: 22mm;
    padding-top: 14mm;
  }
  .sign-stamp {
    margin-top: auto !important;
    padding-top: 3mm !important;
    flex-shrink: 0 !important;
  }
  .sign-stamp .box {
    min-height: 20mm !important;
  }
  .sign-stamp .box .space { min-height: 10mm !important; }
  .banner { margin: 1mm 0 1.6mm; padding: 1.4mm 3mm; }
  .brand { padding-bottom: 1mm; }
  .meta-grid { margin-bottom: 1.2mm; gap: 1.2mm 3mm; }
  .sheet { isolation: isolate; }
  .wm {
    opacity: 0.7;
    mix-blend-mode: multiply;
    z-index: 3;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .pad, .section, .grow, .sign-stamp .box,
  .ruled-block, .reg-box, .meta-grid, .field .ruled {
    background: transparent !important;
  }
  table.res-table,
  table.res-table thead,
  table.res-table tbody,
  table.res-table tfoot,
  table.res-table tr,
  table.res-table td {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #12233f !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  table.res-table th {
    background: rgba(232, 238, 246, 0.35) !important;
    background-color: rgba(232, 238, 246, 0.35) !important;
    color: var(--navy) !important;
  }
  .accent-edge, .foot-bar, .banner, table.res-table th {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
