@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');

*{box-sizing:border-box;margin:0;padding:0}
: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;
}

html{background:var(--bg)}
body{font-family:'Crimson Pro',Georgia,serif;color:var(--ink);font-size:11pt;line-height:1.75;background:var(--bg)}

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

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

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

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

.cover-toprow{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14mm}
.org-logo{display:flex;align-items:center;gap:10pt}
.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}
.org-info{display:flex;flex-direction:column;gap:2pt}
.org-name{font-family:'Inter',sans-serif;font-size:9pt;font-weight:600;color:var(--navy);letter-spacing:.02em}
.org-dept{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted)}

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

.cover-hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8mm 0}
.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}
.cover-tag::before{content:'';width:6pt;height:6pt;border-radius:50%;background:var(--blue-mid)}

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

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

.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}
.cover-metaitem{padding:5mm 5mm 4mm;border-right:0.5pt solid var(--rule)}
.cover-metaitem:last-child{border-right:none}
.cover-metalabel{font-family:'Inter',sans-serif;font-size:7pt;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:3pt}
.cover-metaval{font-family:'Inter',sans-serif;font-size:9.5pt;font-weight:600;color:var(--navy)}

.cover-footer{border-top:0.5pt solid var(--rule);padding-top:5mm;display:flex;justify-content:space-between;align-items:center}
.cover-footer-note{font-family:'Inter',sans-serif;font-size:7.5pt;color:var(--muted);font-style:italic}
.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 */
.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}
.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 ══ */
.cp{padding:14mm 20mm 12mm;page-break-before:always}

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

/* headings */
h1{font-size:20pt;font-weight:700;color:var(--navy);margin-bottom:5mm;letter-spacing:-.02em;line-height:1.2}
h2{font-size:13.5pt;font-weight:600;color:var(--navy);margin:8mm 0 3mm;display:flex;align-items:center;gap:8pt}
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}
h3{font-size:11.5pt;font-weight:600;color:var(--blue);margin:5mm 0 2mm;font-style:italic}

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

/* executive summary */
.esbox{border-left:3pt solid var(--navy);background:var(--blue-light);padding:6mm 8mm;margin:5mm 0 7mm;border-radius:0 6pt 6pt 0}
.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}
.esbox p{margin-bottom:3mm;font-size:10.5pt}
.esbox p:last-child{margin-bottom:0}

/* kpi grid */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10pt;margin:5mm 0 7mm}
.kpi{background:var(--paper);border:0.5pt solid var(--rule);border-radius:8pt;padding:5mm;position:relative;overflow:hidden}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:3pt;background:var(--kpi-accent,var(--navy))}
.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}
.kpi-value{font-size:22pt;font-weight:700;color:var(--navy);line-height:1;display:block;margin-bottom:4pt;letter-spacing:-.02em}
.kpi-unit{font-size:9pt;font-weight:400;color:var(--muted);margin-left:2pt}
.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}
.kpi-change.up{background:var(--green-light);color:var(--green)}
.kpi-change.dn{background:var(--red-light);color:var(--red)}
.kpi-change.nt{background:#F3F4F6;color:var(--muted)}

/* figure */
.fig{margin:6mm 0 4mm;page-break-inside:avoid}
.fig-header{display:flex;align-items:center;gap:7pt;margin-bottom:4mm}
.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}
.fig-title{font-family:'Inter',sans-serif;font-size:9pt;font-weight:600;color:var(--navy)}
.fig-wrap{background:#FAFCFF;border:0.5pt solid var(--rule);border-radius:8pt;padding:6mm}
.fig-cap{font-family:'Inter',sans-serif;font-size:8pt;color:var(--muted);margin-top:3mm;font-style:italic;line-height:1.5}
.fig-cap strong{font-style:normal;color:var(--mid)}

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

/* note/callout */
.note{display:flex;gap:8pt;align-items:flex-start;padding:4mm 5mm;border-radius:6pt;margin:4mm 0}
.note.info{background:var(--blue-light);border:0.5pt solid #BFDBFE}
.note.warn{background:var(--gold-light);border:0.5pt solid #FDE68A}
.note.success{background:var(--green-light);border:0.5pt solid #A7F3D0}
.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}
.note.info .note-icon{background:#DBEAFE;color:var(--blue-mid)}
.note.warn .note-icon{background:#FDE68A;color:var(--gold)}
.note.success .note-icon{background:#A7F3D0;color:var(--green)}
.note p{margin:0;font-size:10pt;line-height:1.6}
.note.info p{color:#1E40AF}
.note.warn p{color:#78350F}
.note.success p{color:#065F46}

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

/* recs */
.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)}
.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}
.rec-text{font-size:10.5pt;line-height:1.65}

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

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

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

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

/* print btn */
.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}
.print-btn:hover{background:var(--blue);transform:translateY(-1px)}
