/* ZENCORA HOUSE REPORT STYLESHEET
   Canonical tokens for every human-facing HTML deliverable.
   Existing Zencora house report stylesheet, recovered from the company learning page.
   Link this file. Do not re-invent a <style> block per report.

   Look: instrument-grade. Quiet surface, data in front, one accent doing one job.
   The primary data series is ink — color enters only to separate series or to flag. */

:root{
  /* surface */
  --bg:#0f1216;          /* neutral graphite */
  --panel:#161a1f;
  --panel-2:#12161a;     /* inset blocks: readouts, stats */
  --line:#262c33;

  /* type */
  --ink:#e9ecef;
  --dim:#a3abb4;
  --faint:#8a939d;   /* 6.03:1 on --bg; the old #737d87 was 4.48:1, under AA */

  /* one accent, ~5% of the page */
  --accent:#7f9cc0;

  /* data series, in order. s1 is ink: the data is the hero.
     s5/s6 are desaturated teal + amber — late in the order, never the page identity. */
  --s1:#cbd3db;
  --s2:#7f9cc0;
  --s3:#9d8fb0;
  --s4:#8aa88f;
  --s5:#5f9e98;
  --s6:#b8925f;
  --s7:#4c5f7a;   /* deep steel: dense category fills (deep-sleep bands, stacked strips) */

  /* semantic, small areas only */
  --ok:#7fa88c;
  --warn:#c09a6b;
  --miss:#c58d8d;

  --mono:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;
  --sans:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Helvetica Neue,Arial,sans-serif;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1040px;margin:0 auto;padding:32px 20px 96px}

/* --- headings: ink, never accent ------------------------------------- */
h1{font-size:30px;line-height:1.15;letter-spacing:-.5px;margin:10px 0 10px;font-weight:680}
/* default section head = apparatus: small, mono, quiet. The page should not read as 11 equals. */
h2{font-size:12.5px;margin:44px 0 12px;color:var(--faint);font-weight:600;font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:7px}
/* the one section that carries the finding gets promoted — ink, larger, heavier rule */
h2.major{font-size:19px;color:var(--ink);font-family:var(--sans);text-transform:none;
  letter-spacing:-.2px;font-weight:640;border-bottom:2px solid var(--s7);padding-bottom:10px;
  margin:52px 0 16px}
h3{font-size:14px;margin:22px 0 8px;font-weight:640}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--faint)}
.sub{color:var(--dim);font-size:14.5px;max-width:78ch}
p{max-width:78ch}
a{color:var(--accent);text-underline-offset:3px}

/* --- orientation block: what / who / which program / bottom line ------ */
.orient{border:1px solid var(--line);border-left:2px solid var(--accent);background:var(--panel-2);
  border-radius:0 10px 10px 0;padding:16px 18px;margin:18px 0 26px}
.orient dl{display:grid;grid-template-columns:max-content 1fr;gap:7px 16px;margin:0;font-size:14px}
.orient dt{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;
  color:var(--faint);padding-top:3px}
.orient dd{margin:0;color:var(--dim)}
.orient dd b,.orient dd strong{color:var(--ink);font-weight:620}
.orient dt.lead{padding-top:14px}
.orient dd.lead{font-size:19px;line-height:1.5;color:var(--ink);max-width:62ch;
  border-left:2px solid var(--accent);padding-left:16px;margin-top:10px}
.orient dd.lead b,.orient dd.lead strong{font-weight:640}

/* --- cards, stats ----------------------------------------------------- */
/* enclosure IS hierarchy: default sections sit on the page, key sections get the panel */
.card{background:none;border:0;border-radius:0;padding:0;margin:14px 0}
.card.scan{padding:0;margin:10px 0}
.card.key,.card.study{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:22px 22px 20px;margin:30px 0 38px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:800px){.grid2,.grid3{grid-template-columns:1fr}}
.strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.stat{min-width:104px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.stat .l{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.5px;
  line-height:1.4}
.stat .v{font-size:22px;font-weight:540;color:var(--s1);margin-top:5px;font-variant-numeric:tabular-nums}
.stat .v small{font-size:12.5px;color:var(--dim);font-weight:500}
.hero{font-size:40px;font-weight:700;letter-spacing:-1px;line-height:1.05;font-variant-numeric:tabular-nums}
.hero small{font-size:14px;color:var(--dim);font-weight:500;letter-spacing:0}

/* --- figures ---------------------------------------------------------- */
figure{margin:26px 0 34px;border:1px solid var(--line);background:var(--panel);border-radius:12px;
  padding:16px 18px 14px}
figure.plain{border:0;background:none;padding:0}
figcaption{margin-top:11px;font-size:12.5px;color:var(--dim);line-height:1.6;max-width:88ch}
figcaption .fignum{font-family:var(--mono);font-size:11px;color:var(--faint);text-transform:uppercase;
  letter-spacing:.06em;margin-right:8px}
a.xref{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--s7)}

/* --- charts ----------------------------------------------------------- */
.chart-block{margin:18px 0 22px}
.chart-title{font-size:14.5px;font-weight:640;margin:0 0 10px;color:var(--ink)}
svg.chart{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;display:block;
  width:100%;height:auto}
.readout{margin-top:12px;padding:13px 16px;background:var(--panel-2);border-left:2px solid var(--accent);
  border-radius:0 8px 8px 0;font-size:13.5px;color:var(--dim);line-height:1.62}
.readout b{color:var(--ink);font-weight:620}

/* --- translated numbers ----------------------------------------------- */
.translate{margin:14px 0 16px;padding:15px 17px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:10px}
.t-row{margin:0 0 11px;font-size:13.5px;color:var(--dim);line-height:1.6}
.t-row:last-child{margin-bottom:0}
.t-row b{color:var(--ink);font-weight:620}
.t-row .big{font-size:22px;font-weight:700;color:var(--ink);margin:0 4px;font-variant-numeric:tabular-nums}

/* --- verdicts + the missing-data section ------------------------------ */
.verdict{font-size:14.5px;padding:15px 17px;border-radius:10px;margin:14px 0;line-height:1.6;
  border:1px solid var(--line);background:var(--panel-2);color:var(--dim)}
.verdict b{color:var(--ink)}
.verdict-ok{border-color:rgba(127,168,140,.42)}
.verdict-warn{border-color:rgba(192,154,107,.42)}
.verdict-miss{border-color:rgba(197,141,141,.42)}
.gap{border:1px solid var(--miss);background:var(--panel-2);border-radius:10px;
  padding:15px 17px;margin:20px 0 24px}
.gap h3{margin:0 0 8px;color:var(--miss);font-size:13px;font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.8px;font-weight:600}
.miss{color:var(--miss)}.ok{color:var(--ok)}.warn{color:var(--warn)}

/* --- tables ----------------------------------------------------------- */
table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--faint);font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:.5px}
td.num{font-variant-numeric:tabular-nums;text-align:right}

/* legend swatches are LINE SAMPLES: they show the dash pattern, which is what identifies
   a series in grayscale. A filled chip only communicates hue. */
.leg-sample{width:26px;height:10px;flex:0 0 26px}

/* --- legends, paths, footer ------------------------------------------- */
.leg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media(max-width:700px){.leg-grid{grid-template-columns:1fr}}
.leg{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--dim)}
.leg i{width:11px;height:11px;border-radius:2px;display:inline-block;margin-top:5px;flex-shrink:0}
.leg b{color:var(--ink);font-size:12.5px;font-weight:620}
.leg-exp{font-size:12px;color:var(--faint);margin-top:2px}
.leg-inline{display:inline-flex;align-items:center;gap:6px;margin-right:16px;font-size:13px;color:var(--dim)}
.leg-inline i{width:10px;height:10px;border-radius:2px;display:inline-block}
.path{font-family:var(--mono);font-size:11px;color:var(--faint);word-break:break-all}
.provenance{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
.provenance code{font-family:var(--mono);color:var(--dim)}

/* --- timeline boxes (same-clock comparison) --------------------------- */
.tl{display:flex;gap:12px;align-items:stretch;margin:12px 0;flex-wrap:wrap}
.tl .box{flex:1;min-width:220px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:15px}
.tl .box .who{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:1px}
.tl .box .when{font-size:20px;font-weight:700;margin:7px 0;font-variant-numeric:tabular-nums}
.tl .box .what{font-size:13px;color:var(--dim);line-height:1.55}

/* --- print: multipanel figures must not break; grayscale must still rank --- */
@media print{
  body{background:#fff;color:#11151a}
  .wrap{max-width:none;padding:0}
  .card,.stat,figure,.readout,.translate,.gap,.tl .box{background:#fff;border-color:#c8cdd3}
  h2{color:#4a535c}h2.major,h1,.orient dd.lead{color:#11151a}
  .sub,.readout,figcaption,.t-row{color:#3d454d}
  figure,.chart-block,table,.gap{break-inside:avoid}
  a.xref{color:#11151a}
  .provenance{border-top-color:#c8cdd3}
}
