.rdoc{
    --ink: #14191F; --ink-2: #38414d; --emerald: #10A877; --emerald-deep: #0B7E58;
    --emerald-wash: #e9f6f0; --paper: #FAF9F5; --white: #fff; --amber: #E0A11A;
    --amber-deep: #9a6c05; --amber-wash: #fbf3e0; --amber-line: #f0e3c2; --red: #DB4A3D; --grey: #7C8590;
    --n2: #EFEEE8; --n3: #D9D9D1; --n4: #A7ABA2; --n5: #6E746C; --hairline: #e8e7e0;
  }
.rdoc *{ box-sizing: border-box; }
.rdoc{ margin: 0; background: #6b6f75; color: var(--ink); font-family: "Manrope", system-ui, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.rdoc .doc{ background: #fff; width: 794px; max-width: 100%; margin: 26px auto; padding: 40px 50px 28px; box-shadow: 0 16px 50px rgba(0,0,0,0.3); }
.rdoc.embed{ background: #fff; }
.rdoc.embed .toolbar{ display: none; }
.rdoc.embed .doc{ margin: 0 auto; box-shadow: none; padding: 34px 40px; }
.rdoc /* letterhead */
  .letterhead{ display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
.rdoc .lockup{ display: inline-flex; align-items: center; gap: 11px; }
.rdoc .lockup .wm{ font-weight: 600; letter-spacing: -0.02em; font-size: 19px; }
.rdoc .lh-right{ text-align: right; font-family: "DM Mono", monospace; font-size: 11px; line-height: 1.7; color: var(--n5); }
.rdoc .lh-right b{ display: block; color: var(--ink); font-size: 11px; letter-spacing: 0.1em; white-space: nowrap; }
/* v2 letterhead — lockup-doc + report-type label */
.rdoc .lh-left .lockup-doc{ display: inline-flex; align-items: center; gap: 11px; }
.rdoc .lh-left .lockup-doc .wm{ font-weight: 600; letter-spacing: -0.02em; font-size: 19px; }
.rdoc .lh-right .report-type{ display: block; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 2px; }
.rdoc .subject{ margin: 11px 0 9px; }
.rdoc .subject .kl{ font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--n5); margin: 0; }
.rdoc .subject h1{ font-size: 27px; font-weight: 700; letter-spacing: -0.025em; margin: 0; }
.rdoc .subject .meta{ font-size: 12px; color: var(--n5); margin: 0; }
.rdoc .subject-top{ display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.rdoc /* HERO VERDICT */
  .hero-verdict{ background: var(--amber-wash); border-radius: 16px; padding: 22px 26px 0; }
.rdoc .hv-top{ display: flex; gap: 30px; align-items: flex-start; padding-bottom: 13px; }
.rdoc .hv-left{ flex: 0 0 38%; }
.rdoc .hv-kicker{ font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber-deep); margin: 0 0 9px; }
.rdoc .hv-word{ display: flex; align-items: center; gap: 12px; font-size: 33px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); line-height: 1; }
.rdoc .hv-word .hv-dot{ width: 16px; height: 16px; border-radius: 50%; background: var(--amber); flex: none; }
.rdoc .hv-sum{ flex: 1; margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.rdoc .hv-sum b{ color: var(--ink); font-weight: 700; }
.rdoc .hv-dash{ display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--amber-line); }
.rdoc .hv-cell{ padding: 10px 14px 11px; border-right: 1px solid var(--amber-line); }
.rdoc .hv-cell:last-child{ border-right: none; }
.rdoc .hv-cell .pl{ font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--amber-deep); margin: 0 0 8px; }
.rdoc .hv-cell .ps{ display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; margin: 0; }
.rdoc .hv-cell .ps .gdot{ width: 9px; height: 9px; border-radius: 50%; flex: none; }
.rdoc .hv-cell .pc{ font-size: 11px; color: var(--n5); margin: 4px 0 0; }
.rdoc .hv-note{ font-size: 10.5px; color: var(--amber-deep); margin: 0; padding: 9px 0 13px; line-height: 1.4; }
.rdoc .subnote{ font-size: 11px; color: var(--n5); line-height: 1.45; margin: 9px 0 0; }
.rdoc .qv{ display: flex; flex-direction: column; gap: 6px; margin-bottom: 11px; }
.rdoc .qv .kv{ grid-template-columns: 152px 1fr; }
.rdoc .g-ok{ background: var(--emerald); }
.rdoc .g-warn{ background: var(--amber); }
.rdoc /* ===== ZONES ===== */
  .zone{ margin-top: 13px; break-inside: avoid; }
.rdoc .zhead{ display: flex; align-items: center; gap: 11px; padding-bottom: 7px; border-bottom: 2px solid; margin-bottom: 13px; }
.rdoc .zhead.green{ border-color: var(--emerald); }
.rdoc .zhead.amber{ border-color: var(--amber); }
.rdoc .zhead .zdot{ width: 12px; height: 12px; border-radius: 50%; flex: none; }
.rdoc .zhead.green .zdot{ background: var(--emerald); }
.rdoc .zhead.amber .zdot{ background: var(--amber); }
.rdoc .zhead .zt{ font-size: 18px; font-weight: 800; letter-spacing: -0.03em; }
.rdoc .zhead .zc{ margin-left: auto; font-size: 11.5px; font-weight: 600; color: var(--n5); }
.rdoc /* sub-section header: label left, .rdoc source pills far right */
  .subhead{ display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 9px; }
.rdoc .sub{ font-size: 10.5px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--n5); margin: 0; }
.rdoc .srcpill-row{ display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.rdoc .srcpill{ font-family: "DM Mono", monospace; font-size: 9.5px; color: var(--emerald-deep); background: var(--emerald-wash); border-radius: 999px; padding: 3px 9px; text-decoration: none; white-space: nowrap; }
.rdoc .subblock{ background: #fff; border: 1px solid var(--hairline); border-radius: 12px; padding: 9px 14px; margin-bottom: 8px; }
.rdoc .subblock:last-child{ margin-bottom: 0; }
.rdoc /* key-value record data — the only place DM Mono carries content */
  .kv-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 6px 26px; }
.rdoc .kv{ display: grid; grid-template-columns: 92px 1fr; align-items: baseline; }
.rdoc .kv .k{ font-family: "DM Mono", monospace; font-size: 10.5px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--n5); }
.rdoc .kv .v{ font-family: "DM Mono", monospace; font-size: 12.5px; color: var(--ink); }
.rdoc .kv .v::before{ content: "· "; color: var(--n4); }
.rdoc .kv .v small{ color: var(--n5); }
.rdoc /* descriptive rows / flags — Manrope */
  .rows{ display: flex; flex-direction: column; gap: 6px; }
.rdoc .row{ display: flex; gap: 11px; font-size: 13px; line-height: 1.5; color: var(--ink-2); }
.rdoc .row .ic{ flex: none; font-weight: 700; width: 13px; font-family: "DM Mono", monospace; }
.rdoc .row.ok .ic{ color: var(--emerald); }
.rdoc .row.warn .ic{ color: var(--amber); }
.rdoc .row.info .ic{ color: var(--n4); }
.rdoc .flags{ display: flex; flex-direction: column; gap: 8px; }
.rdoc .flag{ display: grid; grid-template-columns: 13px 1fr; gap: 11px; }
.rdoc .flag .fic{ color: var(--amber); font-family: "DM Mono", monospace; font-weight: 700; }
.rdoc .flag .fh{ font-size: 13.5px; color: var(--ink); font-weight: 700; letter-spacing: -0.01em; margin: 0 0 3px; }
.rdoc .flag .fctx{ font-size: 12.5px; line-height: 1.5; color: var(--ink-2); margin: 0; }
.rdoc .cant{ display: grid; grid-template-columns: 13px 1fr; gap: 11px; margin-bottom: 11px; }
.rdoc .cant:last-child{ margin-bottom: 0; }
.rdoc .cant .cic{ color: var(--n4); font-family: "DM Mono", monospace; font-weight: 700; }
.rdoc .cant .ch{ font-size: 13.5px; color: var(--ink); font-weight: 700; letter-spacing: -0.01em; margin: 0 0 3px; }
.rdoc .cant .ca{ font-size: 12.5px; line-height: 1.5; color: var(--ink-2); margin: 0; }
.rdoc .cant .ca b{ color: var(--ink); font-weight: 700; }
.rdoc /* news card */
  .news{ background: var(--paper); border: 1px solid var(--hairline); border-radius: 10px; padding: 11px 13px; margin-top: 9px; }
.rdoc .news .nh{ font-size: 13px; font-weight: 700; color: var(--ink); margin: 0 0 4px; line-height: 1.35; letter-spacing: -0.01em; }
.rdoc .news .nm{ font-size: 11.5px; color: var(--n5); font-weight: 600; margin: 0 0 6px; }
.rdoc .news .nu{ display: inline-block; font-family: "DM Mono", monospace; font-size: 9.5px; color: var(--emerald-deep); background: var(--emerald-wash); border-radius: 999px; padding: 3px 9px; text-decoration: none; word-break: break-all; margin: 0 0 8px; }
.rdoc .news .nn{ font-size: 11px; line-height: 1.45; color: var(--n5); margin: 0; }
.rdoc /* closing checklist (dark finale) */
  .closing{ margin-top: 12px; background: var(--ink); color: #fff; border-radius: 16px; padding: 15px 24px; break-inside: avoid; }
.rdoc .closing .ctop{ display: flex; align-items: center; gap: 11px; margin-bottom: 3px; }
.rdoc .closing .ctop .zdot{ width: 12px; height: 12px; border-radius: 50%; background: #fff; flex: none; }
.rdoc .closing h3{ font-size: 18px; font-weight: 800; letter-spacing: -0.03em; margin: 0; }
.rdoc .closing .csub{ font-size: 12.5px; color: #aeb6c0; margin: 5px 0 12px; }
.rdoc .checklist{ display: flex; flex-direction: column; gap: 7px; }
.rdoc .checklist .ci{ display: flex; gap: 13px; align-items: flex-start; font-size: 13.5px; line-height: 1.4; }
.rdoc .checklist .box{ width: 19px; height: 19px; border: 2px solid #46505d; border-radius: 5px; flex: none; margin-top: 1px; }
.rdoc .closing .cfoot{ margin-top: 14px; padding-top: 12px; border-top: 1px solid #2b3542; font-size: 13px; font-weight: 600; color: #fff; }
.rdoc .closing .cfoot span{ color: #43d39e; }
.rdoc .docfoot{ margin-top: 11px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.rdoc .docfoot .fine{ font-size: 9.5px; line-height: 1.55; color: var(--n5); max-width: 80%; margin: 0; }
.rdoc .docfoot .site{ font-family: "DM Mono", monospace; font-size: 11px; color: var(--emerald-deep); font-weight: 500; white-space: nowrap; }
@media print{.rdoc{ background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rdoc .doc{ width: 100%; margin: 0; padding: 0; box-shadow: none; }
.rdoc .zone, .rdoc .hero-verdict, .rdoc .closing, .rdoc .flag, .rdoc .cant, .rdoc .kv, .rdoc .subblock, .rdoc .news{ break-inside: avoid; }
}

/* embed overrides */
.rdoc { background:#fff; }
.rdoc .doc { box-shadow:none; margin:0 auto; width:100%; max-width:100%; padding:30px 36px; }
/* document-viewer chrome (used on the landing) */
.report-embed { margin:36px auto 0; background:#fff; border:1px solid var(--hairline); border-radius:16px; overflow:hidden; box-shadow:0 26px 64px -38px rgba(20,25,31,0.4); }
.re-bar { display:flex; align-items:center; gap:7px; padding:11px 16px; background:var(--n2); border-bottom:1px solid var(--hairline); }
.re-dot { width:10px; height:10px; border-radius:50%; background:var(--n3); flex:none; }
.re-title { font-family:"DM Mono",monospace; font-size:12px; color:var(--n5); margin-left:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.re-open { margin-left:auto; font-size:13px; font-weight:700; color:var(--emerald-deep); text-decoration:none; white-space:nowrap; }
.re-open:hover { text-decoration:underline; }
.re-foot { padding:12px 16px; border-top:1px solid var(--hairline); font-size:12.5px; color:var(--n5); text-align:center; background:#fff; }
.re-scroll { max-height:600px; overflow-y:auto; background:#fff; }
@media (max-width:620px){ .re-scroll{max-height:460px} .rdoc .doc{padding:20px 18px} .re-title{font-size:10.5px} }

/* ===== mobile report ===== */
@media (max-width:560px){
  .rdoc .doc{ padding:22px 16px; }
  .rdoc .letterhead{ flex-wrap:wrap; gap:12px; }
  .rdoc .lh-right{ text-align:left; }
  .rdoc .subject-top{ flex-direction:column; gap:2px; }
  .rdoc .subject h1{ font-size:22px; }
  /* hero verdict stacks */
  .rdoc .hero-verdict{ padding:16px 16px 0; }
  .rdoc .hv-top{ flex-direction:column; gap:12px; padding-bottom:12px; }
  .rdoc .hv-left{ flex:none; width:100%; }
  .rdoc .hv-sum{ font-size:13px; }
  .rdoc .hv-word{ font-size:26px; }
  /* 4-col → 2×2 grid */
  .rdoc .hv-dash{ grid-template-columns:1fr 1fr; }
  .rdoc .hv-cell{ border-bottom:1px solid var(--amber-line); padding:9px 12px; }
  .rdoc .hv-cell:nth-child(2n){ border-right:none; }
  .rdoc .hv-cell:nth-child(n+3){ border-bottom:none; }
  .rdoc .hv-cell .pl{ font-size:9px; }
  .rdoc .hv-cell .ps{ font-size:13px; word-break:break-word; overflow-wrap:anywhere; }
  .rdoc .hv-cell .pc{ font-size:10px; }
  /* zone headers */
  .rdoc .zhead .zt{ font-size:16px; }
  .rdoc .zhead{ flex-wrap:wrap; gap:6px; }
  .rdoc .zhead .zc{ margin-left:0; flex-basis:100%; font-size:11px; }
  /* sub-headers + source pills stack */
  .rdoc .subhead{ flex-direction:column; align-items:flex-start; gap:7px; }
  .rdoc .srcpill-row{ justify-content:flex-start; }
  /* key-value record → single column */
  .rdoc .kv-grid{ grid-template-columns:1fr; gap:7px; }
  .rdoc .kv{ grid-template-columns:104px 1fr; }
  /* closing checklist */
  .rdoc .closing{ padding:14px 16px; }
  .rdoc .closing h3{ font-size:16px; }
  /* footer stacks */
  .rdoc .docfoot{ flex-direction:column; gap:10px; }
  .rdoc .docfoot .fine{ max-width:100%; }
}

/* ── Verdict colour variants on .hero-verdict ──────────────────────────────── */
/* Default (needs_checks) uses amber vars already declared above */
.rdoc .hero-verdict.lc { background: var(--emerald-wash); }
.rdoc .hero-verdict.lc .hv-kicker { color: var(--emerald-deep); }
.rdoc .hero-verdict.lc .hv-word .hv-dot { background: var(--emerald); }
.rdoc .hero-verdict.lc .hv-dash { border-top-color: #c0e8d8; }
.rdoc .hero-verdict.lc .hv-cell { border-right-color: #c0e8d8; }
.rdoc .hero-verdict.lc .hv-cell .pl { color: var(--emerald-deep); }
.rdoc .hero-verdict.lc .hv-note { color: var(--emerald-deep); }

.rdoc .hero-verdict.hc { background: #fdf0ef; }
.rdoc .hero-verdict.hc .hv-kicker { color: #9b2b21; }
.rdoc .hero-verdict.hc .hv-word .hv-dot { background: #DB4A3D; }
.rdoc .hero-verdict.hc .hv-dash { border-top-color: #f5c9c4; }
.rdoc .hero-verdict.hc .hv-cell { border-right-color: #f5c9c4; }
.rdoc .hero-verdict.hc .hv-cell .pl { color: #9b2b21; }
.rdoc .hero-verdict.hc .hv-note { color: #9b2b21; }

/* v2 aliases: green = lc, red = hc, amber = default (already amber) */
.rdoc .hero-verdict.green { background: var(--emerald-wash); }
.rdoc .hero-verdict.green .hv-kicker { color: var(--emerald-deep); }
.rdoc .hero-verdict.green .hv-word .hv-dot { background: var(--emerald); }
.rdoc .hero-verdict.green .hv-dash { border-top-color: #c0e8d8; }
.rdoc .hero-verdict.green .hv-cell { border-right-color: #c0e8d8; }
.rdoc .hero-verdict.green .hv-cell .pl { color: var(--emerald-deep); }
.rdoc .hero-verdict.green .hv-note { color: var(--emerald-deep); }
.rdoc .hero-verdict.red { background: #fdf0ef; }
.rdoc .hero-verdict.red .hv-kicker { color: #9b2b21; }
.rdoc .hero-verdict.red .hv-word .hv-dot { background: #DB4A3D; }
.rdoc .hero-verdict.red .hv-dash { border-top-color: #f5c9c4; }
.rdoc .hero-verdict.red .hv-cell { border-right-color: #f5c9c4; }
.rdoc .hero-verdict.red .hv-cell .pl { color: #9b2b21; }
.rdoc .hero-verdict.red .hv-note { color: #9b2b21; }

.rdoc .g-red { background: #DB4A3D; }
.rdoc .g-grey { background: var(--grey); }

/* ── Zone red variant (high caution findings) ──────────────────────────────── */
.rdoc .zhead.red { border-color: #DB4A3D; }
.rdoc .zhead.red .zdot { background: #DB4A3D; }

/* ── flag severity colour ──────────────────────────────────────────────────── */
.rdoc .flag.high .fic { color: #DB4A3D; }
.rdoc .flag.high .fh  { color: #9b2b21; }

/* ── Sole trader info zone (neutral — not amber/red) ───────────────────────── */
.rdoc .zone.info { border-color: var(--n3); }
.rdoc .zhead.info { border-color: var(--n3); }
.rdoc .zhead.info .zdot { background: var(--n4); }
.rdoc .zhead.info .zt { color: var(--ink); }
.rdoc .zhead.info .zc { color: var(--n5); }
.rdoc .sole-intro { font-size: 13.5px; color: var(--ink-2); line-height: 1.6; margin: 0 0 16px; }
.rdoc .sole-intro b { color: var(--ink); font-weight: 700; }
.rdoc .ip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rdoc .ip-list li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--ink-2); }
.rdoc .ip-list li .ipn { font-family: "DM Mono", monospace; font-size: 11px; font-weight: 600; color: var(--emerald-deep); background: var(--emerald-wash); width: 22px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex: none; margin-top: 1px; }
/* ip-list inside the dark .closing block — override colours for readability */
.rdoc .closing .ip-list li { color: #c8d0d8; }
.rdoc .closing .ip-list li .ipn { color: #43d39e; background: rgba(67,211,158,0.12); }
.rdoc .closing .ip-list a { color: #43d39e; }
