/* ============================================================
   Report Visual Language — presentation-ready business document.
   Used by the Reports Center preview AND the print/PDF output, so what you
   preview is exactly what exports (WYSIWYG → dashboard & PDF numbers match).
   More whitespace + stronger section rhythm than the dashboard.
   ============================================================ */

.rc { font-family: 'Satoshi', system-ui, sans-serif; max-width: 1180px; margin: 0 auto; }

/* ── Reports Center chrome ── */
.rc-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.rc-head h1 { font-size:20px; font-weight:680; margin:0; color:var(--text); letter-spacing:-0.02em; }
.rc-head p { margin:5px 0 0; font-size:13px; color:var(--text-muted); }

.rc-presets { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; margin-bottom:20px; }
.rc-preset { text-align:left; cursor:pointer; padding:15px 16px; border-radius:13px; border:1px solid var(--exec-border, #e5e7eb33); background:var(--surface,#fff); transition:border-color .15s, box-shadow .15s; }
.rc-preset:hover { border-color:var(--exec-border-strong,#cbd5e1); }
.rc-preset.active { border-color:var(--color-primary); box-shadow:0 0 0 1px var(--color-primary) inset; }
.rc-preset .ic { font-size:20px; }
.rc-preset .nm { font-size:14px; font-weight:650; color:var(--text); margin-top:8px; }
.rc-preset .aud { font-size:11.5px; color:var(--text-muted); margin-top:3px; }
.rc-preset .tag { display:inline-block; margin-top:9px; font-size:10px; font-weight:600; padding:2px 8px; border-radius:999px; background:color-mix(in srgb,var(--text) 6%,transparent); color:var(--text-muted); }

.rc-config { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:13px 15px; border-radius:12px; border:1px solid var(--exec-border,#e5e7eb33); background:var(--surface-2,var(--surface)); margin-bottom:18px; }
.rc-config .lbl { font-size:12px; color:var(--text-muted); font-weight:600; }
.rc-config select { padding:6px 10px; border-radius:8px; border:1px solid var(--exec-border,#e5e7eb55); background:var(--surface,#fff); color:var(--text); font-size:12.5px; }
.rc-actions { display:flex; gap:8px; margin-left:auto; flex-wrap:wrap; }

/* ── The report DOCUMENT (also the print surface) ── */
.rdoc {
  --accent: #6C5CE7;
  background:#ffffff; color:#101828;
  border:1px solid #e9ecf2; border-radius:16px; overflow:hidden;
  box-shadow:0 1px 3px rgba(16,24,40,.04);
}
.rdoc * { box-sizing:border-box; }
.rdoc-cover { padding:46px 52px 34px; border-bottom:1px solid #eef0f4; position:relative; }
.rdoc-cover::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--accent); }
.rdoc-eyebrow { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.rdoc-cover h1 { font-size:30px; font-weight:760; margin:10px 0 6px; letter-spacing:-0.025em; color:#0b1220; line-height:1.1; }
.rdoc-cover .scope { font-size:13px; color:#667085; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.rdoc-cover .scope b { color:#1d2939; font-weight:600; }
.rdoc-cover .scope .sep { opacity:.4; }

.rdoc-section { padding:26px 52px; border-bottom:1px solid #f2f4f7; }
.rdoc-section:last-child { border-bottom:none; }
.rdoc-h2 { font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#98a2b3; margin:0 0 16px; }

.rdoc-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid #eef0f4; border-radius:12px; overflow:hidden; }
.rdoc-kpi { padding:16px 18px; border-right:1px solid #eef0f4; }
.rdoc-kpi:last-child { border-right:none; }
.rdoc-kpi .l { font-size:11.5px; color:#667085; font-weight:550; }
.rdoc-kpi .v { font-size:25px; font-weight:720; color:#0b1220; margin-top:6px; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.rdoc-kpi .d { font-size:11.5px; font-weight:650; margin-top:5px; }
.rdoc-kpi .d.up { color:#067647; } .rdoc-kpi .d.down { color:#b42318; } .rdoc-kpi .d.flat { color:#98a2b3; }

.rdoc-chart { height:260px; }
.rdoc-rank { display:flex; flex-direction:column; }
.rdoc-rank .row { display:flex; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid #f2f4f7; }
.rdoc-rank .row:last-child { border-bottom:none; }
.rdoc-rank .rk { width:22px; font-weight:700; color:#98a2b3; font-size:13px; }
.rdoc-rank .ti { flex:1; min-width:0; font-size:13px; font-weight:550; color:#1d2939; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rdoc-rank .mt { font-size:13px; font-weight:700; color:var(--accent); flex:0 0 auto; }

.rdoc-ai { background:#fbfbfd; border:1px solid #eef0f4; border-radius:12px; padding:18px 20px; }
.rdoc-ai .badge { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#6941c6; background:#f4f0ff; padding:3px 9px; border-radius:999px; }
.rdoc-ai ul { margin:12px 0 0; padding-left:18px; }
.rdoc-ai li { font-size:13px; color:#344054; line-height:1.6; margin-bottom:5px; }

.rdoc-notes { font-size:11.5px; color:#98a2b3; line-height:1.6; }
.rdoc-notes b { color:#667085; }
.rdoc-trustline { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px; }
.rdoc-trustline.ok { color:#067647; background:#ecfdf3; } .rdoc-trustline.stale { color:#b54708; background:#fffaeb; }

.rdoc-foot { padding:18px 52px; background:#fafbfc; font-size:11px; color:#98a2b3; display:flex; justify-content:space-between; }

/* ── Print / PDF: render ONLY the document, clean and full-bleed ── */
@media print {
  @page { margin: 14mm; }
  body { background:#fff !important; }
  .rdoc { border:none !important; border-radius:0 !important; box-shadow:none !important; }
  .rdoc-section { break-inside: avoid; }
  .rdoc-kpis, .rdoc-ai, .rdoc-rank { break-inside: avoid; }
}

@media (max-width:720px) {
  .rdoc-cover, .rdoc-section, .rdoc-foot { padding-left:24px; padding-right:24px; }
  .rdoc-kpis { grid-template-columns:1fr 1fr; }
  .rdoc-kpi:nth-child(2) { border-right:none; }
}
