/* OpenNash Finance — shared report stylesheet.
   Used by BOTH the on-screen report view and WeasyPrint PDF export (spec §14/§15):
   screen ≡ PDF. */

.report {
  font-family: Georgia, "Times New Roman", serif;
  color: #1a1a1a;
  font-size: 11pt;
  line-height: 1.45;
  max-width: 7.5in;
  margin: 0 auto;
}

.report h1 {
  font-size: 19pt;
  font-weight: 700;
  margin: 0 0 2pt;
  letter-spacing: -0.01em;
}

.report .report-subtitle {
  font-size: 10pt;
  color: #555;
  margin-bottom: 18pt;
}

.report h2 {
  font-size: 13pt;
  font-weight: 700;
  margin: 18pt 0 6pt;
  padding-bottom: 3pt;
  border-bottom: 1.5pt solid #1a1a1a;
}

.report h3 {
  font-size: 11pt;
  font-weight: 700;
  margin: 10pt 0 4pt;
}

.report p {
  margin: 0 0 7pt;
}

.report table {
  width: 100%;
  border-collapse: collapse;
  margin: 8pt 0 12pt;
  font-size: 9.5pt;
  font-family: "Inter", Helvetica, Arial, sans-serif;
}

.report th {
  text-align: left;
  font-weight: 600;
  padding: 4pt 6pt;
  border-top: 1pt solid #1a1a1a;
  border-bottom: 0.75pt solid #1a1a1a;
  background: #f6f6f4;
}

.report td {
  padding: 3.5pt 6pt;
  border-bottom: 0.5pt solid #d8d8d4;
  vertical-align: top;
}

.report th.num,
.report td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.report td.num.neg {
  color: #b91c1c;
}

.report tr.subtotal td {
  font-weight: 600;
  border-top: 0.75pt solid #888;
}

.report tr.total td {
  font-weight: 700;
  border-top: 1pt solid #1a1a1a;
  border-bottom: 2pt double #1a1a1a;
}

.report .kpi-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10pt;
  margin: 10pt 0 14pt;
}

.report .kpi {
  flex: 1 1 110pt;
  border: 0.75pt solid #c9c9c4;
  padding: 8pt 10pt;
  font-family: "Inter", Helvetica, Arial, sans-serif;
}

.report .kpi .kpi-label {
  font-size: 7.5pt;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #666;
}

.report .kpi .kpi-value {
  font-size: 14pt;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  margin-top: 2pt;
}

.report .kpi .kpi-sub {
  font-size: 8pt;
  color: #777;
  margin-top: 1pt;
}

.report .badge {
  display: inline-block;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 8pt;
  font-weight: 700;
  padding: 1.5pt 6pt;
  border-radius: 3pt;
}

.report .badge.pass { background: #dcfce7; color: #166534; }
.report .badge.fail { background: #fee2e2; color: #991b1b; }

.report .chart-block { margin: 8pt 0 12pt; }
.report .chart-block svg { width: 100%; height: auto; }

.report .warning-banner {
  border: 1.5pt solid #b91c1c;
  background: #fef2f2;
  color: #991b1b;
  padding: 8pt 10pt;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 9pt;
  margin: 8pt 0;
}

.report .section { page-break-inside: avoid; }
.report .page-break { page-break-before: always; }

/* PDF-only chrome */
@page {
  size: Letter;
  margin: 0.85in 0.75in;
  @bottom-left {
    content: "Prepared by OpenNash Finance — " string(docstatus);
    font-family: Helvetica, Arial, sans-serif;
    font-size: 7.5pt;
    color: #777;
  }
  @bottom-right {
    content: "Page " counter(page) " of " counter(pages);
    font-family: Helvetica, Arial, sans-serif;
    font-size: 7.5pt;
    color: #777;
  }
}

.report .doc-status { string-set: docstatus content(); display: none; }
