/* Shared print-first stylesheet for the Nigeria demonstration document pack.
   Kept as one file so the four documents stay visually identical, and sized in
   pt on print so a buyer's print-to-PDF produces something a procurement file
   can actually hold. */
:root { --red:#dc2626; --ink:#0f172a; --body:#334155; --muted:#64748b; --line:#e2e8f0; }
* { box-sizing:border-box; }
body {
  margin:0; padding:0;
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--body); background:#f1f5f9; line-height:1.7;
}
.sheet {
  max-width:860px; margin:32px auto; background:#fff; padding:56px 64px;
  box-shadow:0 12px 40px rgba(0,0,0,.08);
}
header.doc { border-bottom:4px solid var(--red); padding-bottom:22px; margin-bottom:34px; }
.brand { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; }
.brand strong { font-size:1.05rem; font-weight:900; color:var(--ink); letter-spacing:-.01em; }
.brand span { font-size:.75rem; font-weight:800; color:var(--red); letter-spacing:.08em; text-transform:uppercase; }
h1 { font-size:2rem; font-weight:900; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin:18px 0 8px; }
.sub { color:var(--muted); font-size:.95rem; margin:0; }
h2 { font-size:1.25rem; font-weight:900; color:var(--ink); letter-spacing:-.01em; margin:38px 0 12px;
     padding-top:20px; border-top:1px solid var(--line); }
h3 { font-size:1rem; font-weight:800; color:var(--ink); margin:24px 0 8px; }
p, li { font-size:.95rem; }
ul, ol { padding-left:22px; }
li { margin-bottom:8px; }
table { width:100%; border-collapse:collapse; margin:16px 0; font-size:.88rem; }
th, td { text-align:left; padding:11px 13px; border:1px solid var(--line); vertical-align:top; }
th { background:#f8fafc; font-weight:800; color:var(--ink); }
.note { background:#fffbeb; border:1px solid #fde68a; border-left:5px solid #f59e0b;
        border-radius:8px; padding:16px 20px; margin:22px 0; font-size:.9rem; color:#78350f; }
.note strong { color:#78350f; }
.warn { background:#fef2f2; border:1px solid #fecaca; border-left:5px solid var(--red);
        border-radius:8px; padding:16px 20px; margin:22px 0; font-size:.9rem; color:#7f1d1d; }
.ok { background:#ecfdf5; border:1px solid #a7f3d0; border-left:5px solid #059669;
      border-radius:8px; padding:16px 20px; margin:22px 0; font-size:.9rem; color:#065f46; }
.fill { background:#eef2ff; border-bottom:2px solid #6366f1; padding:1px 8px;
        font-weight:700; color:#3730a3; border-radius:3px; }
.tbc { background:#fff7ed; border:1px dashed #fb923c; padding:1px 8px; border-radius:3px;
       font-weight:700; color:#9a3412; font-size:.85em; }
.status { display:inline-block; border-radius:50px; padding:3px 11px; font-size:.68rem;
          font-weight:900; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.s-held { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.s-target { background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; }
.s-review { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
.s-config { background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe; }
.s-contract { background:#eff6ff; color:#1e3a8a; border:1px solid #bfdbfe; }
footer.doc { margin-top:48px; padding-top:22px; border-top:1px solid var(--line);
             font-size:.8rem; color:var(--muted); }
a { color:var(--red); font-weight:700; }
.actions { text-align:center; margin:24px auto; max-width:860px; }
.actions button { background:var(--red); color:#fff; border:0; border-radius:30px;
                  padding:12px 28px; font-weight:800; font-size:.95rem; cursor:pointer;
                  font-family:inherit; box-shadow:0 6px 20px rgba(220,38,38,.3); }
/* A4 is the standard paper size in Nigeria; without this the headless print
   and most local printers default to US Letter and reflow every page break. */
@page { size:A4; margin:16mm 14mm; }
@media print {
  body { background:#fff; }
  /* The tinted blocks ARE the honesty signal — the "To be confirmed" markers and
     the status badges. Browsers drop background colour when printing by default,
     which would silently erase exactly the qualifications we need a reader to
     see, so force them to survive the print. */
  .warn, .note, .ok, .status, .fill, .tbc {
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
  .sheet { box-shadow:none; margin:0; max-width:none; padding:0; }
  .actions { display:none; }
  h2 { page-break-after:avoid; }
  table, .note, .warn, .ok { page-break-inside:avoid; }
}
@media (max-width:700px) { .sheet { padding:32px 24px; margin:0; } }
