/* Ampacities — shared "Electrical Calculation Sheet" print kit.
   Extracted from cable-sizing 2026-06-06. Scoped under .cahier-print + @media print.
   Per-report @page margin-box CONTENT (doc no / project / page counters) is injected
   inline by each calc's buildReport(); this file is the static component kit.

   Restyled 2026-07-03 to the landing design language (PDF_REPORT_RESTYLE_PLAN
   PR-B): Poppins display · Lora accents · JetBrains Mono data · ink #141413 ramp ·
   ivory panel fills · scarce AA clay (#b0512f) · FAIL red #d23b2e (shape coding
   retained — grayscale-safe). Faces are the self-hosted latin set @font-face'd in
   site-chrome.css (/assets/landing/fonts/); calc-shell.js preloadPrintFonts()
   force-loads EXACTLY the faces named here — the two must move in lockstep or
   the PDF silently falls back to Arial/Georgia/Menlo. Poppins ships 500/600 only
   (400→500, 700→600 by CSS nearest-weight matching); JetBrains Mono is one
   variable file declared 400–500. */

/* Screen: the report is print-only. Hidden on screen; @media print re-shows it
   via `body > .cahier-print { display:block !important }` below. Without this the
   injected report falls into normal flow as a tall blank block at the page bottom. */
.cahier-print { display: none; }

@media print {
    @page { size: A4 portrait; margin: 14mm 15mm 16mm; }
    @page :first { @top-left { content: "" } @top-right { content: "" } }
    html, body { background:#fff !important; color:#141413 !important; }
    body::before { display:none !important; }
    body > * { display:none !important; }
    body > .cahier-print { display:block !important; }

    .cahier-print{
      --ink:#141413; --ink2:#3d3d3a; --ink3:#5e5d59;
      --rule:#14141333; --rule-soft:#1414131a; --heavy:#141413;
      --fill:#f0eee6; --fill-soft:#faf9f5;
      --clay:#b0512f; --clay-large:#cc6a47; --fail:#d23b2e;
      /* 'JetBrains Mono' sits in the sans/serif stacks as the ENGINEERING-SYMBOL
         fallback: Poppins/Lora carry full latin but lack the Greek/math/mark
         glyphs that land in label & criteria text (cos φ, ΔV, ρ, ≤, ≥, →, ✓), so
         those render in the report's own mono instead of the system Arial.
         It MUST precede 'Poppins-fb'/'Lora-fb' — those are local('Arial')/
         local('Georgia') CLS metric-guards, and Arial/Georgia cover Greek, so
         they would otherwise catch the symbols first. Order is print-safe: the
         kit is @media-print-scoped and print always has the webfonts preloaded,
         so the fb guards never actually paint here. Latin still wins on Poppins/
         Lora (first match), so body text is untouched. */
      --sans:'Poppins','JetBrains Mono','Poppins-fb',Arial,sans-serif;
      --serif:'Lora','JetBrains Mono','Lora-fb',Georgia,serif;
      --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
      font-family:var(--sans); font-size:9pt; line-height:1.4; color:var(--ink);
      -webkit-print-color-adjust:exact; print-color-adjust:exact;
    }
    .cahier-print *{ box-sizing:border-box; }

    .cahier-print .mast{display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:1.8mm;}
    /* ── Phase D masthead band (restyle plan PR-C) — ONE RULE; delete it to turn
       the texture OFF. Derived from the Higgsfield panel-stock seed master,
       luminance-gated to the landing spec (mean ~235, σ 2.2, excursion ±7 —
       ink text stays fully legible, survives grayscale/toner-saver), 19 KB JPEG,
       2126 px ≈ 300 dpi across the A4 content width. Filename-versioned
       (build-site.sh never ?v=-stamps images). */
    .cahier-print .mast{background:url('/assets/landing/cahier-mast-kraft.2026-07.jpg') center / cover no-repeat; padding:2.6mm 3mm 1.8mm;}
    .cahier-print .mark{display:flex; align-items:center; gap:3mm;}
    /* typeset letterhead (landing D5): the geometric mark is retired site-wide */
    .cahier-print .mark .mk{display:none;}
    .cahier-print .mark .wm{font-weight:600; font-size:13pt; letter-spacing:.08em; line-height:1;}
    .cahier-print .mark .wm small{display:block; font-family:var(--mono); font-weight:400; font-size:5.5pt; letter-spacing:.34em; color:var(--ink3); margin-top:1.2mm;}
    .cahier-print .mast .doc{text-align:right; font-family:var(--mono); font-size:6.5pt; letter-spacing:.2em; color:var(--ink3); line-height:1.7;}
    .cahier-print .mast .doc b{color:var(--ink); font-weight:500;}
    .cahier-print .rule-heavy{height:0; border-top:1.4mm solid var(--heavy);}

    .cahier-print .doctitle{display:flex; align-items:baseline; justify-content:space-between; gap:8mm; padding:2.6mm 0 2.2mm;}
    .cahier-print .doctitle h1{margin:0; font-size:17pt; font-weight:600; letter-spacing:-.015em; line-height:1.06;}
    .cahier-print .doctitle .std{font-family:var(--mono); font-size:6.5pt; letter-spacing:.16em; color:var(--ink3); text-align:right; white-space:nowrap; line-height:1.6;}

    .cahier-print .tblock{border:0.5mm solid var(--heavy); display:grid; grid-template-columns:repeat(12,1fr); margin-bottom:2.8mm; background:var(--fill-soft);}
    .cahier-print .tblock .c{border-right:0.2mm solid var(--rule); border-top:0.2mm solid var(--rule); padding:1.2mm 2.2mm 1.5mm;}
    .cahier-print .tblock .c:first-child, .cahier-print .tblock .r1{border-top:0;}
    .cahier-print .tblock .c.last{border-right:0;}
    .cahier-print .tblock .lab{font-family:var(--mono); font-size:5.6pt; letter-spacing:.18em; color:var(--ink3); text-transform:uppercase; margin-bottom:1.2mm;}
    .cahier-print .tblock .val{font-size:8.8pt; font-weight:500; color:var(--ink); line-height:1.15;}
    .cahier-print .tblock .val.mono{font-family:var(--mono); font-weight:500;}
    .cahier-print .sp2{grid-column:span 2;} .cahier-print .sp3{grid-column:span 3;} .cahier-print .sp4{grid-column:span 4;}
    .cahier-print .sp5{grid-column:span 5;} .cahier-print .sp6{grid-column:span 6;} .cahier-print .sp7{grid-column:span 7;}

    /* the landing's ink pill — one clay keyline is the single colour moment on p.1 */
    .cahier-print .result{background:var(--ink); color:#fff; padding:3.5mm 5mm; margin-bottom:3.8mm; border-bottom:0.6mm solid var(--clay-large);}
    .cahier-print .result .top{display:flex; align-items:center; justify-content:space-between; gap:6mm;}
    .cahier-print .result .lhs .kk{font-family:var(--mono); font-size:6pt; letter-spacing:.34em; color:#ffffff8c; text-transform:uppercase; margin-bottom:1.5mm;}
    .cahier-print .result .lhs .vv{font-size:18pt; font-weight:600; letter-spacing:.01em; line-height:1;}
    .cahier-print .result .lhs .vv .u{font-weight:500; color:#ffffffcc;}
    .cahier-print .result .stamp{border:0.45mm solid #fff; padding:2mm 5mm; font-family:var(--mono); font-size:9pt; font-weight:500; letter-spacing:.26em; white-space:nowrap;}
    .cahier-print .result .checks{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:3mm; border-top:0.2mm solid #ffffff3a; padding-top:2.4mm;}
    .cahier-print .result .checks .ck{font-family:var(--mono); font-size:6.2pt; letter-spacing:.12em; color:#fff; text-transform:uppercase; display:flex; align-items:center; gap:1.6mm;}
    .cahier-print .result .checks .ck b{font-weight:500;}
    .cahier-print .result .checks .tick{width:3mm; height:3mm; border:0.3mm solid #fff; display:inline-flex; align-items:center; justify-content:center; font-size:5.5pt; line-height:1;}

    .cahier-print .sec{display:grid; grid-template-columns:11mm 1fr; column-gap:4mm; margin-top:2.6mm;} /* bw3 applied */
    .cahier-print .sec .sn{font-family:var(--mono); font-size:11pt; font-weight:500; color:var(--clay); line-height:1; padding-top:0.4mm;}
    .cahier-print .sec .body{min-width:0;}
    .cahier-print .sec .hd{display:flex; align-items:baseline; justify-content:space-between; gap:6mm; border-bottom:0.7mm solid var(--heavy); padding-bottom:1.4mm; margin-bottom:2.4mm; break-after:avoid;}
    .cahier-print .sec .hd h2{margin:0; font-size:10pt; font-weight:600; letter-spacing:.14em; text-transform:uppercase;}
    .cahier-print .sec .hd .ref{font-family:var(--mono); font-size:6pt; letter-spacing:.14em; color:var(--ink3); white-space:nowrap;}

    .cahier-print .kv{display:grid; grid-template-columns:1fr 1fr; column-gap:10mm;}
    .cahier-print .kv .row{display:grid; grid-template-columns:1fr auto; align-items:baseline; column-gap:2mm; padding:0.9mm 0; border-bottom:0.2mm dotted var(--rule);}
    .cahier-print .kv .row .k{font-size:7.2pt; letter-spacing:.04em; color:var(--ink2); text-transform:uppercase;}
    .cahier-print .kv .row .v{font-family:var(--mono); font-size:8.2pt; font-weight:500; color:var(--ink); text-align:right; white-space:nowrap;}
    .cahier-print .kv .row .v .u{color:var(--ink3); font-weight:400;}

    .cahier-print .calc{font-family:var(--mono); font-size:8.4pt; color:var(--ink2); padding:1.4mm 0 0.6mm; display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:4mm;}
    .cahier-print .calc .ln{line-height:1.7;}
    .cahier-print .calc .ln .sym{color:var(--ink);}
    .cahier-print .calc .ln .res{color:var(--ink); font-weight:500; border-bottom:0.5mm solid var(--ink);}
    .cahier-print .calc .cl{font-size:6pt; letter-spacing:.14em; color:var(--ink3); text-align:right; white-space:nowrap;}
    .cahier-print sub{font-size:.74em;} .cahier-print sup{font-size:.74em;}

    .cahier-print table.dt{width:100%; border-collapse:collapse; font-family:var(--mono); font-size:7.8pt; margin-top:2mm;}
    .cahier-print table.dt thead{display:table-header-group;}
    .cahier-print table.dt tr{break-inside:avoid;}
    .cahier-print table.dt th{text-align:right; font-weight:500; font-size:6pt; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); padding:1.4mm 2mm; border-bottom:0.5mm solid var(--heavy);}
    .cahier-print table.dt th:first-child{text-align:left;}
    .cahier-print table.dt td{text-align:right; padding:1.3mm 2mm; border-bottom:0.2mm solid var(--rule);}
    .cahier-print table.dt td:first-child{text-align:left;}
    .cahier-print table.dt tbody tr:nth-child(even){background:var(--fill);}
    .cahier-print table.dt tr.sel td{font-weight:600; color:var(--ink);}
    .cahier-print table.dt tr.sel td:first-child{position:relative; padding-left:4mm;}
    .cahier-print table.dt tr.sel td:first-child::before{content:"\25B6"; position:absolute; left:1mm; font-size:6pt; top:50%; transform:translateY(-50%);}

    .cahier-print table.cm{width:100%; border-collapse:collapse; font-size:7.8pt; margin-top:1mm;}
    .cahier-print table.cm th{font-family:var(--mono); text-align:left; font-weight:500; font-size:6pt; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); padding:1.6mm 2.4mm; border-bottom:0.5mm solid var(--heavy);}
    .cahier-print table.cm td{padding:1.5mm 2.4mm; border-bottom:0.2mm solid var(--rule); vertical-align:top;}
    .cahier-print table.cm td.nc{font-family:var(--mono); color:var(--ink3); width:6mm;}
    .cahier-print table.cm td.crit{font-weight:500;}
    .cahier-print table.cm td.numc{font-family:var(--mono); white-space:nowrap;}
    .cahier-print table.cm td.clc{font-family:var(--mono); font-size:6.6pt; color:var(--ink3); white-space:nowrap;}
    .cahier-print table.cm td.rs{text-align:right;}
    /* verdict pills: PASS keeps the ink pill; FAIL gains red but KEEPS the outline
       coding (grayscale-safe); WARN unchanged grey */
    .cahier-print .verdict{font-family:var(--mono); font-size:6.6pt; font-weight:600; letter-spacing:.18em; background:var(--ink); color:#fff; padding:0.8mm 2.4mm; white-space:nowrap;}
    .cahier-print .verdict.fail{background:#fff; color:var(--fail); outline:0.3mm solid var(--fail); outline-offset:-0.3mm;}
    .cahier-print .verdict.warn{background:#fff; color:#5e5d59; outline:0.3mm solid #b8b4aa; outline-offset:-0.3mm;}

    .cahier-print .sign{display:grid; grid-template-columns:repeat(3,1fr); gap:8mm; margin-top:3.5mm; break-inside:avoid;}
    .cahier-print .sign .so .role{font-family:var(--mono); font-size:6.2pt; letter-spacing:.24em; text-transform:uppercase; color:var(--ink3);}
    .cahier-print .sign .so .nm{font-family:var(--serif); font-style:italic; font-weight:500; font-size:10pt; margin-top:1.4mm; min-height:5mm;}
    .cahier-print .sign .so .sig{margin-top:5.5mm; border-top:0.4mm solid var(--ink);}
    .cahier-print .sign .so .meta{font-family:var(--mono); font-size:6pt; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin-top:1.2mm;}

    .cahier-print .refs{margin-top:3.5mm; border-top:0.5mm solid var(--heavy); padding-top:2.2mm; break-inside:avoid;}
    .cahier-print .refs .h{font-family:var(--mono); font-size:6pt; letter-spacing:.22em; text-transform:uppercase; color:var(--ink3); margin-bottom:1.8mm;}
    .cahier-print .refs .grid{display:grid; grid-template-columns:1fr 1fr; gap:2mm 8mm;}
    .cahier-print .refs .n{font-family:var(--serif); font-size:7.4pt; line-height:1.5; color:var(--ink2);}
    .cahier-print .refs .n b{font-family:var(--mono); font-weight:600; color:var(--ink); margin-right:1.4mm;}

    .cahier-print .revhist{margin-top:3mm; break-inside:avoid;}
    .cahier-print .revhist .h{font-family:var(--mono); font-size:6pt; letter-spacing:.22em; text-transform:uppercase; color:var(--ink3); margin-bottom:1.6mm;}
    .cahier-print table.rh{width:100%; border-collapse:collapse; font-family:var(--mono); font-size:7.2pt;}
    .cahier-print table.rh th{text-align:left; font-weight:500; font-size:5.6pt; letter-spacing:.16em; text-transform:uppercase; color:var(--ink3); padding:1.2mm 2.4mm; border-top:0.4mm solid var(--heavy); border-bottom:0.4mm solid var(--heavy);}
    .cahier-print table.rh th:first-child{width:9mm;} .cahier-print table.rh th:nth-child(2){width:24mm;} .cahier-print table.rh th:nth-child(4),.cahier-print table.rh th:nth-child(5){width:13mm;}
    .cahier-print table.rh td{padding:1.4mm 2.4mm; border-bottom:0.2mm solid var(--rule); color:var(--ink2); vertical-align:top;}
    .cahier-print table.rh tbody tr:last-child td{font-weight:600; color:var(--ink);}
    .cahier-print .endmark{margin-top:3.2mm; padding-top:2mm; border-top:0.5mm solid var(--heavy); text-align:center; font-family:var(--mono); font-size:6pt; letter-spacing:.34em; text-transform:uppercase; color:var(--ink3); break-before:avoid;}
    .cahier-print .pagebreak{break-before:page;}

    /* Status watermark (Phase 7): calc-save.js sets the body class from SERVER
       truth — a saved-but-not-issued document prints DRAFT, a superseded revision
       prints SUPERSEDED; an issued document (or a bench sheet) prints clean.
       position:fixed repeats on every printed page in Chromium — the same engine
       assumption the @page margin boxes already make. */
    body.amp-wm-draft > .cahier-print::before,
    body.amp-wm-superseded > .cahier-print::before{
      position:fixed; top:42%; left:0; right:0; z-index:10; pointer-events:none;
      transform:rotate(-28deg); transform-origin:center;
      font-family:var(--mono); font-weight:700; letter-spacing:.18em;
      text-align:center; color:var(--ink); opacity:.075;
    }
    body.amp-wm-draft > .cahier-print::before{content:"DRAFT — NOT ISSUED"; font-size:52pt;}
    body.amp-wm-superseded > .cahier-print::before{content:"SUPERSEDED"; font-size:64pt;}
  }
