/* Shared look of the legal pages: an A4-like sheet, numbered clauses, requisites table. */
:root { color-scheme: light; --ink: #121318; --text: #2b2f38; --muted: #6b7280; --line: #e5e7eb; --paper: #ffffff; --bg: #f3f4f6; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.65 "Times New Roman", Times, serif; }
.sheet { max-width: 820px; margin: 32px auto; background: var(--paper); padding: 56px 64px 64px; box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06); }
.approve { width: 300px; margin-left: auto; font-size: 14px; line-height: 1.5; }
.approve .label { font-weight: 700; letter-spacing: .04em; }
.approve .approver { margin-top: 8px; }
h1 { text-align: center; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); margin: 44px 0 4px; }
.subtitle { text-align: center; font-size: 15px; color: var(--ink); margin: 0 0 22px; }
.docs { text-align: center; font-size: 14px; margin: -14px 0 18px; }
.meta { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 8px; }
h2 { font-size: 15px; text-transform: uppercase; letter-spacing: .03em; color: var(--ink); margin: 26px 0 8px; text-align: center; }
p { margin: 0 0 8px; text-align: justify; hyphens: auto; }
.n { font-weight: 700; color: var(--ink); margin-right: 4px; }
ul { margin: 4px 0 10px; padding-left: 28px; }
li { margin-bottom: 4px; text-align: justify; }
a { color: var(--ink); }
table.req { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 8px; }
table.req td { border: 1px solid var(--line); padding: 8px 10px; vertical-align: top; }
table.req td:first-child { width: 34%; color: var(--muted); }
@media (max-width: 720px) {
  .sheet { margin: 0; padding: 28px 18px 48px; box-shadow: none; }
  .approve { width: auto; max-width: 280px; }
  .meta { flex-direction: column; gap: 2px; }
  p, li { text-align: left; }
}
@media print {
  body { background: #fff; font-size: 12pt; }
  .sheet { margin: 0; padding: 0; box-shadow: none; max-width: none; }
  h2 { break-after: avoid; }
  @page { size: A4; margin: 20mm 18mm 20mm 25mm; }
}

@media print { .docs { display: none; } }
