@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=Inter:wght@400;500;600;700&display=swap');

/* ═══════════════════════════════════════════════════════════════════
   ALL REPORT STYLES SCOPED TO #report-output
   These rules MUST NOT leak into the app UI (sidebar, overlay, etc.)
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --navy:#0F2044;
  --blue:#1A4A8C;
  --blue-mid:#2563EB;
  --blue-light:#EFF6FF;
  --gold:#C8860A;
  --gold-light:#FEF3C7;
  --ink:#1C1C1C;
  --mid:#4B5563;
  --muted:#9CA3AF;
  --rule:#D1D9E6;
  --rule-light:#EBF0F8;
  --bg:#F3F6FB;
  --paper:#FFFFFF;
  --green:#0D6E4F;
  --green-light:#ECFDF5;
  --red:#B91C1C;
  --red-light:#FEF2F2;

  --chart-1:#1A4A8C;
  --chart-2:#C8860A;
  --chart-3:#0D6E4F;
  --chart-4:#7C3AED;
  --chart-5:#B91C1C;
  --chart-6:#0891B2;
}

/* ── Global reset — ONLY inside #report-output ── */
#report-output *{box-sizing:border-box;margin:0;padding:0}
#report-output{font-family:'Crimson Pro',Georgia,serif;color:var(--ink);font-size:11pt;line-height:1.75;background:var(--bg);padding:10mm 0 24mm}

/* ── PAGE ── */
#report-output .page{width:210mm;margin:0 auto 10mm;background:var(--paper);position:relative;overflow:hidden}
@media screen{
  #report-output .page{box-shadow:0 4px 40px rgba(15,32,68,.14),0 0 0 0.5pt rgba(15,32,68,.08)}
}

/* ══ COVER ══ */
#report-output .cover{min-height:297mm;display:flex;flex-direction:column;padding:0}

#report-output .cover-stripe{height:8mm;background:var(--navy);width:100%}
#report-output .cover-stripe-gold{height:2mm;background:linear-gradient(90deg,var(--gold),#E8A020,var(--gold));width:100%}

#report-output .cover-inner{flex:1;padding:14mm 20mm 10mm;display:flex;flex-direction:column}

#report-output .cover-toprow{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14mm}
#report-output .org-logo{display:flex;align-items:center;gap:10pt}
#report-output .org-badge{width:42pt;height:42pt;background:var(--navy);border-radius:6pt;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:9pt;font-weight:700;color:#fff;letter-spacing:.04em;line-height:1.2;text-align:center}
#report-output .org-info{display:flex;flex-direction:column;gap:2pt}
#report-output .org-name{font-family:'Inter',sans-serif;font-size:9pt;font-weight:600;color:var(--navy);letter-spacing:.02em}
#report-output .org-dept{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted)}

#report-output .doc-meta{text-align:right;font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted);line-height:1.7}
#report-output .doc-meta strong{color:var(--ink);font-weight:600}

#report-output .cover-hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8mm 0}
#report-output .cover-tag{display:inline-flex;align-items:center;gap:6pt;background:var(--blue-light);border:0.5pt solid #BFDBFE;border-radius:3pt;padding:3pt 10pt;margin-bottom:8mm;font-family:'Inter',sans-serif;font-size:7.5pt;font-weight:600;color:var(--blue-mid);letter-spacing:.08em;text-transform:uppercase}
#report-output .cover-tag::before{content:'';width:6pt;height:6pt;border-radius:50%;background:var(--blue-mid)}

#report-output .cover-title{font-size:30pt;font-weight:700;line-height:1.15;color:var(--navy);margin-bottom:4mm;letter-spacing:-.01em}
#report-output .cover-subtitle{font-size:13pt;font-weight:300;font-style:italic;color:var(--mid);margin-bottom:10mm;line-height:1.55}

#report-output .cover-divider{width:50mm;height:2.5pt;background:linear-gradient(90deg,var(--navy),var(--blue-mid));border-radius:2pt;margin-bottom:10mm}

#report-output .cover-metarow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:0.5pt solid var(--rule);border-radius:6pt;overflow:hidden;margin-bottom:12mm}
#report-output .cover-metaitem{padding:5mm 5mm 4mm;border-right:0.5pt solid var(--rule)}
#report-output .cover-metaitem:last-child{border-right:none}
#report-output .cover-metalabel{font-family:'Inter',sans-serif;font-size:7pt;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:3pt}
#report-output .cover-metaval{font-family:'Inter',sans-serif;font-size:9.5pt;font-weight:600;color:var(--navy)}

#report-output .cover-footer{border-top:0.5pt solid var(--rule);padding-top:5mm;display:flex;justify-content:space-between;align-items:center}
#report-output .cover-footer-note{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted);font-style:italic}
#report-output .cover-stamp{font-family:'Inter',sans-serif;font-size:7pt;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--paper);background:var(--navy);padding:3pt 10pt;border-radius:2pt}

/* cover decorative shapes */
#report-output .cover-deco{position:absolute;right:-30mm;top:60mm;width:100mm;height:100mm;border-radius:50%;border:20pt solid rgba(37,99,235,.05);pointer-events:none}
#report-output .cover-deco2{position:absolute;right:-10mm;top:100mm;width:60mm;height:60mm;border-radius:50%;background:rgba(26,74,140,.04);pointer-events:none}

/* ══ CONTENT PAGES ══ */
#report-output .cp{padding:14mm 20mm 12mm;page-break-before:always}

/* running header */
#report-output .rh{display:flex;justify-content:space-between;align-items:center;padding-bottom:4mm;border-bottom:1.5pt solid var(--navy);margin-bottom:9mm}
#report-output .rh-left{font-family:'Inter',sans-serif;font-size:8pt;color:var(--mid);font-style:normal;display:flex;align-items:center;gap:6pt}
#report-output .rh-dot{width:4pt;height:4pt;border-radius:50%;background:var(--blue-mid)}
#report-output .rh-right{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted)}

/* headings */
#report-output h1{font-size:20pt;font-weight:700;color:var(--navy);margin-bottom:5mm;letter-spacing:-.02em;line-height:1.2}
#report-output h2{font-size:13.5pt;font-weight:600;color:var(--navy);margin:8mm 0 3mm;display:flex;align-items:center;gap:8pt}
#report-output h2::before{content:attr(data-n);font-family:'Inter',sans-serif;font-size:8pt;font-weight:700;color:var(--paper);background:var(--navy);width:18pt;height:18pt;border-radius:3pt;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}
#report-output h3{font-size:11.5pt;font-weight:600;color:var(--blue);margin:5mm 0 2mm;font-style:italic}

#report-output p{margin-bottom:4mm;text-align:justify}
#report-output .lead{font-size:12pt;font-weight:300;color:var(--mid);margin-bottom:6mm;line-height:1.8}

/* executive summary */
#report-output .esbox{border-left:3pt solid var(--navy);background:var(--blue-light);padding:6mm 8mm;margin:5mm 0 7mm;border-radius:0 6pt 6pt 0}
#report-output .esbox-label{font-family:'Inter',sans-serif;font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--blue-mid);margin-bottom:4mm}
#report-output .esbox p{margin-bottom:3mm;font-size:10.5pt}
#report-output .esbox p:last-child{margin-bottom:0}

/* kpi grid */
#report-output .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10pt;margin:5mm 0 7mm}
#report-output .kpi{background:var(--paper);border:0.5pt solid var(--rule);border-radius:8pt;padding:5mm;position:relative;overflow:hidden}
#report-output .kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:3pt;background:var(--kpi-accent,var(--navy))}
#report-output .kpi-label{font-family:'Inter',sans-serif;font-size:7.5pt;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);display:block;margin-bottom:4pt}
#report-output .kpi-value{font-size:22pt;font-weight:700;color:var(--navy);line-height:1;display:block;margin-bottom:4pt;letter-spacing:-.02em}
#report-output .kpi-unit{font-size:9pt;font-weight:400;color:var(--muted);margin-left:2pt}
#report-output .kpi-change{font-family:'Inter',sans-serif;font-size:8.5pt;font-weight:600;display:inline-flex;align-items:center;gap:3pt;padding:2pt 7pt;border-radius:100pt}
#report-output .kpi-change.up{background:var(--green-light);color:var(--green)}
#report-output .kpi-change.dn{background:var(--red-light);color:var(--red)}
#report-output .kpi-change.nt{background:#F3F4F6;color:var(--muted)}

/* figure */
#report-output .fig{margin:6mm 0 4mm;page-break-inside:avoid}
#report-output .fig-header{display:flex;align-items:center;gap:7pt;margin-bottom:4mm}
#report-output .fig-num{font-family:'Inter',sans-serif;font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--paper);background:var(--blue-mid);padding:2pt 7pt;border-radius:3pt;white-space:nowrap}
#report-output .fig-title{font-family:'Inter',sans-serif;font-size:9pt;font-weight:600;color:var(--navy)}
#report-output .fig-wrap{background:#FAFCFF;border:0.5pt solid var(--rule);border-radius:8pt;padding:6mm}
#report-output .fig-cap{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted);margin-top:3mm;font-style:italic;line-height:1.5}
#report-output .fig-cap strong{font-style:normal;color:var(--mid)}

/* table */
#report-output .tbl-wrap{margin:5mm 0 3mm;overflow:hidden;border:0.5pt solid var(--rule);border-radius:8pt}
#report-output .tbl-cap{font-family:'Inter',sans-serif;font-size:8pt;font-weight:600;color:var(--navy);padding:4mm 5mm 3mm;background:#F8FAFF;border-bottom:0.5pt solid var(--rule)}
#report-output table{width:100%;border-collapse:collapse;font-size:9.5pt}
#report-output thead tr{background:var(--navy)}
#report-output thead th{padding:3mm 4mm;text-align:left;font-family:'Inter',sans-serif;font-size:8pt;font-weight:600;color:#fff;letter-spacing:.02em}
#report-output thead th.r{text-align:right}
#report-output tbody td{padding:2.5mm 4mm;border-bottom:0.5pt solid var(--rule-light);vertical-align:middle}
#report-output tbody td.r{text-align:right;font-family:'Inter',sans-serif;font-size:9pt}
#report-output tbody tr:last-child td{border-bottom:none}
#report-output tbody tr:hover{background:#F8FAFF}
#report-output .trow-total td{background:#F0F6FF;font-family:'Inter',sans-serif;font-weight:700;color:var(--navy);border-top:0.5pt solid var(--rule)!important}
#report-output .badge{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-size:8pt;font-weight:600;padding:1.5pt 7pt;border-radius:100pt}
#report-output .badge.up{background:var(--green-light);color:var(--green)}
#report-output .badge.dn{background:var(--red-light);color:var(--red)}
#report-output .badge.nt{background:#F3F4F6;color:var(--muted)}

/* note/callout */
#report-output .note{display:flex;gap:8pt;align-items:flex-start;padding:4mm 5mm;border-radius:6pt;margin:4mm 0}
#report-output .note.info{background:var(--blue-light);border:0.5pt solid #BFDBFE}
#report-output .note.warn{background:var(--gold-light);border:0.5pt solid #FDE68A}
#report-output .note.success{background:var(--green-light);border:0.5pt solid #A7F3D0}
#report-output .note-icon{width:18pt;height:18pt;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:9pt;font-weight:700;flex-shrink:0;margin-top:1pt}
#report-output .note.info .note-icon{background:#DBEAFE;color:var(--blue-mid)}
#report-output .note.warn .note-icon{background:#FDE68A;color:var(--gold)}
#report-output .note.success .note-icon{background:#A7F3D0;color:var(--green)}
#report-output .note p{margin:0;font-size:10pt;line-height:1.6}
#report-output .note.info p{color:#1E40AF}
#report-output .note.warn p{color:#78350F}
#report-output .note.success p{color:#065F46}

/* toc */
#report-output .toc-item{display:flex;align-items:baseline;gap:6pt;margin-bottom:3mm;font-size:10.5pt}
#report-output .toc-num{font-family:'Inter',sans-serif;font-weight:700;font-size:9pt;color:var(--blue-mid);min-width:18pt}
#report-output .toc-text{flex:1}
#report-output .toc-dots{flex:1;border-bottom:0.5pt dotted var(--rule);margin:0 5pt 3pt}
#report-output .toc-pg{font-family:'Inter',sans-serif;font-size:9pt;color:var(--muted);min-width:12pt;text-align:right}
#report-output .toc-sub{padding-left:18pt;font-size:10pt;color:var(--mid)}

/* recs */
#report-output .rec-item{display:flex;gap:10pt;align-items:flex-start;margin-bottom:4mm;padding:4mm 5mm;background:#FAFBFF;border-radius:6pt;border:0.5pt solid var(--rule)}
#report-output .rec-n{font-family:'Inter',sans-serif;font-size:8.5pt;font-weight:700;color:var(--paper);background:var(--navy);width:20pt;height:20pt;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1pt}
#report-output .rec-text{font-size:10.5pt;line-height:1.65}

/* sig block */
#report-output .sigblock{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm;margin-top:9mm;padding-top:6mm;border-top:0.5pt solid var(--rule)}
#report-output .sig-item{display:block}
#report-output .sig-label{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted);margin-bottom:10mm}
#report-output .sig-line{border-bottom:0.5pt solid var(--ink);margin-bottom:3mm}
#report-output .sig-name{font-family:'Inter',sans-serif;font-size:9.5pt;font-weight:600;color:var(--navy)}
#report-output .sig-role{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted);font-style:italic}

/* footnotes */
#report-output .fn-rule{border:none;border-top:0.5pt solid var(--rule);margin:8mm 0 4mm;width:45%}
#report-output .fn{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted);line-height:1.55;margin-bottom:2mm}

/* page footer */
#report-output .pf{border-top:0.5pt solid var(--rule);padding-top:4mm;margin-top:8mm;display:flex;justify-content:space-between;align-items:center}
#report-output .pf-left{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted)}
#report-output .pf-right{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted)}
#report-output .pf-center{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--navy);font-weight:600}

/* ── PRINT ── */
@media print{
  html,body{background:white}
  #report-output .page{box-shadow:none;margin:0}
  .no-print{display:none!important}
  @page{size:A4;margin:0}
}

/* print btn */
#report-output .print-btn{position:fixed;bottom:22px;right:22px;background:var(--navy);color:white;border:none;border-radius:8pt;padding:9pt 20pt;font-family:'Inter',sans-serif;font-size:10pt;font-weight:600;cursor:pointer;box-shadow:0 4px 20px rgba(15,32,68,.35);z-index:999;letter-spacing:.03em;transition:all .2s}
#report-output .print-btn:hover{background:var(--blue);transform:translateY(-1px)}

/* followup section */
#report-output .followup-section{border-top:2pt solid var(--blue-mid);margin-top:8mm;padding-top:6mm}
