@font-face { font-family:'Report Body'; src:url('report-assets/DM-Sans-Regular.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Report Bold'; src:url('report-assets/DM-Sans-Semibold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Report Display'; src:url('report-assets/Fraunces-Medium.ttf') format('truetype'); font-display:swap; }
.report-dialog { border:1px solid var(--line); border-radius:14px; padding:0; width:min(1400px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); background:var(--bg); color:var(--ink); box-shadow:0 20px 100px #0b1f1a50; }
.report-dialog::backdrop { background:#0b1f1aab; backdrop-filter:blur(3px); }
.report-package { padding:28px; }
.report-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.report-toolbar h2 { font-size:clamp(25px,3vw,36px); }
.report-toolbar p { margin:8px 0 0; color:var(--muted); }
.report-toolbar p span { padding:0 7px; color:var(--gp-green); }
.report-close { flex-shrink:0; }
.report-downloads { display:grid; grid-template-columns:1fr 1fr .75fr; gap:14px; margin-bottom:24px; }
.report-download { border:1px solid var(--line); background:white; color:var(--ink); border-radius:9px; padding:20px 18px; display:flex; gap:16px; align-items:center; text-align:left; cursor:pointer; transition:border-color .15s,background .15s; }
.report-download:hover { border-color:var(--gp-green); background:var(--gp-moss); }
.report-download:first-child { background:var(--gp-dark); color:white; border-color:var(--gp-dark); }
.report-download:first-child:hover { background:var(--gp-forest); }
.report-download strong { display:block; font-size:16px; }
.report-download small { display:block; margin-top:5px; font-size:12px; opacity:.85; line-height:1.5; }
.report-download > span:last-child { margin-left:auto; font-size:23px; }
.report-file { border:1px solid currentColor; padding:7px 5px; font-size:10px; font-weight:600; border-radius:3px; }
.report-download-note { color:var(--muted); font-size:12px; align-self:center; padding:0 12px; max-width:260px; }
.report-workspace { display:grid; grid-template-columns:215px minmax(0,1fr); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.report-pages { background:white; padding:20px 12px; max-height:690px; overflow:auto; }
.report-pages > span { margin-left:10px; }
.report-pages button { width:100%; display:flex; gap:10px; border:0; background:transparent; border-radius:5px; padding:11px 10px; text-align:left; font-size:12px; color:var(--muted); cursor:pointer; margin-bottom:3px; }
.report-pages button span { font-size:10px; border:1px solid var(--line); background:white; min-width:25px; height:22px; padding:2px 3px; text-align:center; color:var(--gp-dark); }
.report-pages button[aria-current=page] { background:#dceee4; color:var(--gp-dark); font-weight:600; }
.report-pages button:hover { background:var(--gp-moss); }
.report-preview { min-width:0; background:#e7e9e1; }
.report-preview-tools { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 18px; font-size:12px; color:var(--muted); background:#f3f5ec; border-bottom:1px solid var(--line); }
.report-preview-tools > div { display:flex; gap:6px; }
.report-preview-tools button { font-size:11px; padding:6px 9px; }
.report-stage { height:min(670px,65dvh); overflow:auto; padding:30px; background:radial-gradient(ellipse at top,#f2f3ec,#e0e4d9); }
.report-paper { max-width:735px; margin:0 auto; background:white; box-shadow:0 7px 20px #0b1f1a22; }
.report-paper svg { display:block; width:100%; height:auto; }
.report-bottom-note { font-size:11px; color:var(--muted); margin:14px 0 0; }
.report-loading { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center; }
.report-loading h3 { font-size:23px; margin:22px 0 10px; }
.report-loading p { max-width:480px; color:var(--muted); }
.report-spinner { width:36px; height:36px; border:3px solid var(--line); border-top-color:var(--gp-green); border-radius:50%; animation:report-spin 1s linear infinite; }
.report-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.report-dialog button:focus-visible { outline:3px solid var(--gp-green); outline-offset:3px; }
@keyframes report-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) {
  .report-dialog { width:calc(100% - 12px); max-height:calc(100dvh - 12px); border-radius:8px; }
  .report-package { padding:16px; }
  .report-toolbar { gap:8px; margin-bottom:16px; }
  .report-toolbar h2 { font-size:27px; }
  .report-toolbar p { font-size:12px; word-break:break-word; }
  .report-toolbar .eyebrow { font-size:8px; }
  .report-close { padding:8px 10px; font-size:12px; }
  .report-downloads { grid-template-columns:1fr; gap:8px; margin-bottom:16px; }
  .report-download { padding:13px; }
  .report-download-note { max-width:none; padding:3px; }
  .report-workspace { grid-template-columns:1fr; }
  .report-pages { display:flex; gap:5px; padding:10px; overflow:auto; max-height:none; }
  .report-pages > span { display:none; }
  .report-pages button { width:auto; white-space:nowrap; align-items:center; margin:0; }
  .report-preview-tools { padding:10px; font-size:10px; }
  .report-preview-tools > span { max-width:145px; }
  .report-stage { padding:12px; height:450px; }
}
@media (prefers-reduced-motion:reduce) { .report-spinner { animation:none; } }
@media print { .report-dialog { display:none !important; } }
