/* ============================================================
   Report export overlay + print (Save as PDF)
   ============================================================ */
.report-overlay{ position:fixed; inset:0; z-index:85; background:var(--raised); display:flex; flex-direction:column; }
.report-bar{ display:flex; align-items:center; gap:14px; padding:12px 18px; background:var(--surface); border-bottom:1px solid var(--line); }
.report-bar .rb-title{ flex:1; font-family:var(--serif); font-size:16px; font-weight:600; text-align:center; }
.report-scroll{ flex:1; overflow-y:auto; padding:26px 16px 60px; }
.report-page{ max-width:820px; margin:0 auto; background:#FFFEFB; color:#23211B; border:1px solid var(--line);
  border-radius:8px; box-shadow:var(--shadow-lg); padding:0; overflow:hidden; }
[data-theme="dark"] .report-page{ background:#FFFEFB; }

/* the document itself — fixed light palette so PDF always reads clean */
.rdoc{ --r-ink:#23211B; --r-mut:#6E6757; --r-line:#E8E2D5; --r-acc:#2F5D50; color:var(--r-ink);
  font-family:var(--sans); font-size:13px; line-height:1.55; }
.rdoc-cover{ padding:48px 48px 36px; border-bottom:3px solid var(--r-acc); }
.rdoc-brand{ display:flex; align-items:center; gap:12px; margin-bottom:40px; }
.rdoc-mark{ width:40px; height:40px; border-radius:9px; background:#000; color:#fff; display:grid; place-items:center; font-family:var(--serif); font-weight:700; font-size:17px; }
.rdoc-brand b{ font-family:var(--serif); font-size:18px; font-weight:600; display:block; }
.rdoc-brand span{ font-size:11.5px; color:var(--r-mut); }
.rdoc-kind{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--r-acc); }
.rdoc-cover h1{ font-family:var(--serif); font-size:30px; font-weight:600; margin-top:8px; line-height:1.25; }
.rdoc-period{ font-size:14px; color:var(--r-mut); margin-top:10px; }
.rdoc-meta{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:26px; font-size:11.5px; color:var(--r-mut); }
.rdoc-meta span{ position:relative; }
.rdoc-sec{ padding:28px 48px; border-bottom:1px solid var(--r-line); }
.rdoc-sec:last-of-type{ border-bottom:0; }
.rdoc-sec h2{ font-family:var(--serif); font-size:18px; font-weight:600; margin-bottom:16px; }
.rdoc-kpis{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.rdoc-kpis .rk{ border:1px solid var(--r-line); border-radius:9px; padding:14px; text-align:center; }
.rdoc-kpis .rk b{ font-family:var(--num); font-variant-numeric:tabular-nums; font-size:27px; font-weight:700; display:block; line-height:1; }
.rdoc-kpis .rk span{ font-size:11px; color:var(--r-mut); display:block; margin-top:7px; }
.rdoc-note{ font-size:12.5px; color:var(--r-mut); margin-top:16px; line-height:1.6; }
.rdoc-table{ width:100%; border-collapse:collapse; font-size:12px; }
.rdoc-table th{ text-align:left; font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--r-mut); padding:8px 10px; border-bottom:1.5px solid var(--r-line); }
.rdoc-table td{ padding:10px; border-bottom:1px solid var(--r-line); vertical-align:top; }
.rdoc-table tr:last-child td{ border-bottom:0; }
.rmono{ font-family:var(--mono); font-size:11px; color:var(--r-mut); }
.rdot{ display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:6px; }
.rdot.ok{ background:#3C6B3E; } .rdot.warn{ background:#98610F; } .rdot.danger{ background:#9E3329; }
.rdoc-bud{ margin-bottom:13px; }
.rdoc-bud .rb-top{ display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:6px; }
.rdoc-bud .rb-track{ height:9px; border-radius:99px; background:#F0EBE0; overflow:hidden; position:relative; }
.rdoc-bud .rb-track i{ display:block; height:100%; border-radius:99px; }
.rdoc-dec{ padding:11px 0; border-bottom:1px solid var(--r-line); }
.rdoc-dec:last-child{ border-bottom:0; }
.rdoc-dec .rd-h{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; }
.rdoc-dec .rd-m{ font-size:12px; color:var(--r-mut); margin-top:4px; }
.rdoc-foot{ padding:20px 48px 34px; font-size:10.5px; color:var(--r-mut); text-align:center; }

@media (max-width:680px){
  .rdoc-cover{ padding:30px 24px 24px; } .rdoc-sec{ padding:22px 24px; } .rdoc-foot{ padding:18px 24px 26px; }
  .rdoc-cover h1{ font-size:23px; } .rdoc-kpis{ grid-template-columns:repeat(2,1fr); }
  .report-scroll{ padding:14px 8px 50px; }
  .rdoc-table{ font-size:11px; } .rdoc-table th, .rdoc-table td{ padding:7px 6px; }
}

/* ---- PRINT: show only the report document ---- */
@media print {
  @page { size:A4; margin:14mm 12mm; }
  html, body { background:#fff !important; }
  body * { visibility:hidden !important; }
  .report-overlay, .report-overlay * { visibility:visible !important; }
  .report-overlay{ position:static !important; inset:auto !important; background:#fff !important; display:block !important; }
  .no-print{ display:none !important; }
  .report-scroll{ overflow:visible !important; padding:0 !important; }
  .report-page{ max-width:none !important; margin:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
  .rdoc-sec{ break-inside:avoid; }
  .rdoc-cover{ break-after:avoid; }
  .rdoc-table tr, .rdoc-bud, .rdoc-dec{ break-inside:avoid; }
}