/* DiffeRENT HMO health check - report template (sample). Screen: dark, matches site. Print: A4, light. No inline styles (strict CSP). */
:root{--r-red:#E8573F;--r-amber:#F2B544;--r-green:#3CCB95}
[hidden]{display:none !important}
body.rp{background:var(--ink);color:var(--fg)}
.rp-top{position:sticky;top:0;z-index:30;background:rgba(7,12,28,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.rp-top-in{display:flex;align-items:center;gap:10px;height:64px}
.rp-top .brand img{height:32px;width:auto}
.rp-top-actions{margin-left:auto;display:flex;gap:8px}
.rp-banner{background:var(--warn-soft);border-bottom:1px solid rgba(242,181,68,.4);color:#FFE2A6;text-align:center;font:600 13px/1.4 var(--mono);letter-spacing:.06em;padding:10px var(--gutter);text-transform:uppercase}
.report{position:relative;max-width:980px;margin:0 auto;padding:28px var(--gutter) 64px;display:grid;gap:28px;overflow:hidden}
/* watermark */
.report::before{content:"SAMPLE - fictional data";position:absolute;left:50%;top:420px;transform:translateX(-50%) rotate(-24deg);font:800 clamp(48px,11vw,128px)/1 var(--display);letter-spacing:-.03em;color:rgba(255,140,116,.10);white-space:nowrap;pointer-events:none;z-index:5}
.report>*{position:relative;z-index:1}
.rp-sec{display:grid;gap:16px}
.rp-h2{font-size:clamp(24px,3.4vw,34px);font-weight:700}
.rp-h2 small{display:block;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-text);margin-bottom:10px}
.rp-card{border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(18,28,62,.9),rgba(10,16,38,.94));padding:20px}
.rp-muted{color:var(--muted)}
.rp-small{font-size:13px;color:var(--muted-2);line-height:1.55}

/* cover */
.rp-cover{overflow:hidden;position:relative;border-radius:var(--r-xl);border:1px solid var(--line-2);background:linear-gradient(135deg,#0E1733,#070C1C 60%);padding:26px 20px;display:grid;gap:26px}
.rp-cover::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(closest-side,rgba(76,134,255,.35),transparent);pointer-events:none}
@media (min-width:760px){.rp-cover{padding:40px;grid-template-columns:1.1fr .9fr;align-items:center}}
.rp-cover h1{font-size:clamp(32px,5.4vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.02}
.rp-cover .eyebrow{margin-bottom:14px}
.rp-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:18px 0 0;font-size:14.5px}
.rp-meta dt{color:var(--muted-2);font:500 12px/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.rp-meta dd{margin:0;color:var(--fg);font-weight:600}
.rp-gauge-wrap{display:grid;justify-items:center;gap:6px;position:relative;z-index:1}
.rp-gauge{width:100%;max-width:340px;height:auto;overflow:visible}
.g-track{stroke:rgba(160,185,255,.16);stroke-width:14;stroke-linecap:round;fill:none}
.g-fill{stroke-width:14;stroke-linecap:round;fill:none}
.g-num{font:700 46px var(--display);fill:var(--fg)}
.g-lbl{font:600 9px var(--mono);fill:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.rp-verdict{font:700 22px/1.1 var(--display);text-align:center}
.rp-note{font-size:13px;color:var(--muted);text-align:center;max-width:36ch}

/* RAG */
.rag{display:inline-flex;align-items:center;gap:7px;font:600 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.rag::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.rag-red{color:#FF8C74;background:var(--red-soft);border-color:rgba(232,87,63,.45)}
.rag-amber{color:#F7CB72;background:var(--warn-soft);border-color:rgba(242,181,68,.45)}
.rag-green{color:#6FE0B5;background:var(--ok-soft);border-color:rgba(60,203,149,.45)}
.stroke-red{stroke:var(--r-red)}.stroke-amber{stroke:var(--r-amber)}.stroke-green{stroke:var(--r-green)}
.fill-red{fill:var(--r-red)}.fill-amber{fill:var(--r-amber)}.fill-green{fill:var(--r-green)}

/* section summary */
.rp-secs{display:grid;gap:10px;list-style:none}
@media (min-width:760px){.rp-secs{grid-template-columns:1fr 1fr}}
.rp-secrow{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:rgba(255,255,255,.02)}
.rp-secrow b{font-weight:700}
.rp-secrow .bar{grid-column:1/-1;width:100%;height:6px}
.rp-secrow .score{font:600 12px var(--mono);color:var(--muted)}
.bar-bg{fill:rgba(160,185,255,.14)}
.rp-counts{display:flex;flex-wrap:wrap;gap:10px}
.rp-count{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;min-width:120px}
.rp-count b{font:700 28px/1 var(--display)}
.rp-count span{font-size:12.5px;color:var(--muted)}

/* priorities */
.rp-prio{display:grid;gap:10px;list-style:none;counter-reset:p}
.rp-prio li{counter-increment:p;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line-2);border-radius:var(--r);padding:14px 16px;background:rgba(255,255,255,.03)}
.rp-prio li::before{content:counter(p);font:700 22px var(--display);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue-pale)}
.rp-prio b{display:block}
.rp-prio span.s{font-size:13.5px;color:var(--muted)}
@media (max-width:560px){.rp-prio li{grid-template-columns:auto 1fr}.rp-prio li .rag{grid-column:2}}

/* findings */
.rp-find{display:grid;gap:14px;break-inside:avoid}
.rp-find-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.rp-find h3{font-size:19px;line-height:1.25;max-width:60ch}
.rp-find-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rp-tag{font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-pale);border:1px solid rgba(76,134,255,.35);border-radius:999px;padding:6px 10px}
.rp-grid{display:grid;gap:12px}
@media (min-width:760px){.rp-grid{grid-template-columns:1fr 1fr}}
.rp-cell{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.02);display:grid;gap:4px;align-content:start}
.rp-cell h4{font:500 11.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-text)}
.rp-cell p,.rp-cell a{font-size:14.5px;line-height:1.55}
.rp-cell a{color:var(--blue-text);overflow-wrap:anywhere}
.rp-cell.exposure{border-color:rgba(232,87,63,.4);background:var(--red-soft)}
.rp-cell.wide{grid-column:1/-1}
.rp-told{font-size:14px;color:var(--muted);border-left:3px solid var(--line-3);padding-left:12px}

/* tables */
.rp-table-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r)}
.rp-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.rp-table th,.rp-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.rp-table th{font:500 11.5px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);background:rgba(255,255,255,.03)}
.rp-table tr:last-child td{border-bottom:0}

/* good practice, plans */
.rp-tips{display:grid;gap:10px;list-style:none}
@media (min-width:760px){.rp-tips{grid-template-columns:1fr 1fr}}
.rp-tips li{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:rgba(255,255,255,.02);display:grid;gap:4px}
.rp-tips b{font-weight:700}
.rp-tips span{font-size:14px;color:var(--muted)}
.rp-plans{display:grid;gap:12px}
@media (min-width:760px){.rp-plans{grid-template-columns:repeat(3,1fr)}}
.rp-plan{border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px;display:grid;gap:8px;align-content:start;background:rgba(255,255,255,.03)}
.rp-plan.hi{border-color:rgba(232,87,63,.55);background:var(--red-soft)}
.rp-plan h3{font-size:18px}
.rp-plan .price{font:700 30px/1 var(--display)}
.rp-plan .unit{font-size:13px;color:var(--muted-2)}
.rp-plan p{font-size:14px;color:var(--muted)}
.rp-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rp-disc{border:1px solid var(--line-2);border-radius:var(--r-lg);padding:20px;display:grid;gap:10px}
.rp-disc ul{display:grid;gap:8px;padding-left:20px;font-size:13.5px;color:var(--muted);line-height:1.6}
.rp-foot{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;color:var(--muted-2)}

/* print: A4, light, may be printed */
@page{size:A4;margin:14mm}
@media print{
  :root{color-scheme:light}
  html,body.rp{background:#fff !important;color:#10162B !important;font-size:10.5pt}
  .rp-top,.rp-banner-screen,.rp-cta,.noprint{display:none !important}
  .report{max-width:none;padding:0;gap:16pt;overflow:visible}
  .report::before{position:fixed;color:rgba(200,60,40,.10);top:120mm;left:50%;font-size:80pt;z-index:5}
  .rp-cover,.rp-card,.rp-cell,.rp-secrow,.rp-count,.rp-tips li,.rp-plan,.rp-disc,.rp-prio li,.rp-table-wrap{background:#fff !important;border-color:#C9D0E3 !important;box-shadow:none !important;color:#10162B !important}
  .rp-cover::after{display:none}
  .rp-cover{background:#F4F6FC !important}
  .rp-muted,.rp-small,.rp-cell p,.rp-note,.rp-tips span,.rp-plan p,.rp-disc ul,.rp-told,.rp-prio span.s,.rp-meta dt,.rp-count span,.rp-secrow .score,.rp-foot,.rp-plan .unit{color:#3B4566 !important}
  .rp-meta dd,.g-num{color:#10162B !important;fill:#10162B}
  .g-lbl{fill:#3B4566}
  .rp-h2 small,.rp-cell h4,.eyebrow,.rp-cell a,.rp-tag{color:#2D5BD6 !important}
  .rp-tag{border-color:#2D5BD6 !important}
  .rag-red{color:#A42A14 !important;background:#FDE9E5 !important;border-color:#E8573F !important}
  .rag-amber{color:#7A5200 !important;background:#FFF1D1 !important;border-color:#D9A021 !important}
  .rag-green{color:#0C6B49 !important;background:#DCF6EC !important;border-color:#2FA97B !important}
  .rp-cell.exposure{background:#FDE9E5 !important}
  .rp-plan.hi{background:#FDE9E5 !important}
  .rp-prio li::before{background:#E4ECFF;color:#1A3FA3}
  .bar-bg{fill:#E1E6F4}.g-track{stroke:#E1E6F4}
  .rp-table th{background:#EEF1FA !important;color:#3B4566 !important}
  .rp-table th,.rp-table td{border-color:#D8DEEE !important}
  .rp-table-wrap{overflow:visible}
  .rp-table{min-width:0}
  .rp-sec{break-inside:auto}
  .rp-h2,.rp-find,.rp-cell,.rp-secrow,.rp-plan,.rp-tips li,.rp-table tr{break-inside:avoid}
  .rp-pb{break-before:page}
  a{color:inherit;text-decoration:none}
}
.rp-next-list{padding-left:20px;display:grid;gap:6px;font-size:15px;color:var(--muted)}

/* teaser: blurred remainder with neutral filler, veil and unlock card */
.rp-lock{position:relative;display:grid;gap:14px;margin-top:6px}
.rp-blurred{display:grid;gap:14px;filter:blur(7px);pointer-events:none;user-select:none;max-height:760px;overflow:hidden}
.rp-fill{gap:10px}
.rp-fill .rp-cell{gap:8px}
.rp-bl{display:block;font-size:14.5px;line-height:1.5;color:rgba(190,205,240,.55);background:rgba(160,185,255,.14);border-radius:6px;overflow:hidden;white-space:nowrap}
.rp-bl.w20{width:20%}.rp-bl.w30{width:30%}.rp-bl.w40{width:40%}.rp-bl.w60{width:60%}.rp-bl.w80{width:80%}
.rp-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,12,28,0) 0,rgba(7,12,28,.72) 38%,var(--ink) 92%)}
.rp-unlock{position:absolute;left:50%;top:clamp(24px,8vw,70px);transform:translateX(-50%);width:min(560px,calc(100% - 2*var(--gutter)));text-align:center;display:grid;gap:12px;justify-items:center;border-color:rgba(76,134,255,.5);box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 60px -20px rgba(76,134,255,.6);z-index:2}
.rp-unlock h2{font-size:clamp(22px,3.4vw,30px)}
.rp-unlock .rp-cta{justify-content:center}
.rp-unlock .btn{white-space:normal;text-align:center}
@media print{.rp-lock .rp-veil{display:none}.rp-blurred{filter:none}.rp-unlock{position:static;transform:none;width:auto}}
