/* AuthPulse design system — email + print/document artefacts.
   Paper ground (the artefact you keep). Table-safe subset for email clients;
   no webfonts (system stack with Plex names first so installed clients get
   brand type), no CSS variables inside the 600px body (Outlook/Lotus strip
   them), no flex/grid inside the body. Document headers/footers, invoice
   tables and print rules for the Protocol/invoice/receipt. */

/* ── Document scaffolding (screen + print, web artefacts) ──────────────── */
.ap-doc { background: var(--paper-100); color: var(--text-primary); font: var(--type-body); padding: var(--space-10) var(--space-4); }
.ap-doc-inner { max-width: 720px; margin: 0 auto; }
.ap-doc header.doc-head { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-6); border-bottom: 2px solid var(--ink-900); padding-bottom: var(--space-5); }
.ap-doc .doc-meta { text-align:right; font: var(--type-label); letter-spacing: var(--tracking-label); text-transform:uppercase; color: var(--text-muted); line-height:1.9; }
.ap-doc .doc-meta strong { color: var(--text-primary); font-weight: var(--weight-semibold); }
.ap-doc h1 { font: var(--type-h2); margin: var(--space-8) 0 var(--space-4); }
.ap-doc h2 { font: var(--type-h3); margin: var(--space-7) 0 var(--space-3); letter-spacing: var(--tracking-snug); }
.ap-doc p { color: var(--text-secondary); }
.ap-doc .doc-footer { border-top: var(--rule); margin-top: var(--space-9); padding-top: var(--space-4); font: var(--type-small); color: var(--text-muted); display:flex; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; }

/* ── Verdict summary strip (records the machine's judgement) ───────────── */
.ap-verdict-strip { display:flex; gap: var(--space-4); flex-wrap:wrap; margin: var(--space-4) 0; }
.ap-verdict-cell { flex:1 1 140px; border: var(--rule); border-radius: var(--radius-sm); padding: var(--space-4); background: var(--paper-000); }
.ap-verdict-cell .ap-verdict { margin-bottom: var(--space-3); }
.ap-verdict-cell .cap { font: var(--type-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--text-muted); margin-bottom: var(--space-2); }
.ap-verdict-cell .note { font: var(--type-small); color: var(--text-secondary); }

/* ── Invoice / receipt tables ──────────────────────────────────────────── */
.ap-invoice-table { width:100%; border-collapse:collapse; margin: var(--space-6) 0; }
.ap-invoice-table th {
  font: var(--type-label); letter-spacing:var(--tracking-label); text-transform:uppercase;
  color: var(--text-muted); text-align:left; padding: var(--space-2) var(--space-3);
  border-bottom: 2px solid var(--ink-900);
}
.ap-invoice-table td { padding: var(--space-3); border-bottom: var(--rule); font: var(--type-body); color: var(--text-secondary); vertical-align: top; }
.ap-invoice-table td.num, .ap-invoice-table th.num { text-align:right; font-variant-numeric: tabular-nums; }
.ap-invoice-table tr.total td { border-top: 2px solid var(--ink-900); border-bottom: 0; color: var(--text-primary); font-weight: var(--weight-semibold); }
.ap-invoice-table td .sub { display:block; font: var(--type-record); color: var(--text-muted); margin-top: var(--space-1); }

/* ── Print (Protocol + invoice to PDF) ─────────────────────────────────── */
@media print {
  .ap-doc { background: #fff; padding: 0; }
  .ap-doc-inner { max-width: none; }
  .ap-record--ink { background: #10151b !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ap-record--ink pre { color: #7fb8a4 !important; }
  .ap-record--ink .ap-record-meta dd { color: #d3dae0 !important; }
  .ap-record--ink .ap-record-meta dt { color: #8a96a1 !important; }
  a { color: inherit; text-decoration: none; }
  h1, h2, h3 { page-break-after: avoid; }
  .ap-record, .ap-invoice-table tr, .ap-callout { page-break-inside: avoid; }
}

/* Line-item tables on invoices (semantic hook; base styling inline in
   invoice.py for email-safe output). */
.ap-invoice-lines th { text-align:left; }
.ap-invoice-lines td.num, .ap-invoice-lines th.num { text-align:right; font-variant-numeric: tabular-nums; }
