/**
 * Design tokens — apply on report root or :root.
 */
:root {
  --ere-page-width: 8.5in;
  --ere-page-height: 11in;
  --ere-margin-top: 0.5in;
  --ere-margin-bottom: 0.15in;
  --ere-margin-left: 0.375in;
  --ere-margin-right: 0.375in;
  /** Page-level left/right inset (LAYOUT-STANDARD.md) — applied on .report-page */
  --ere-page-margin-x: 0.375in;
  --ere-content-width: 7.75in;
  --ere-content-height: 8.75in;
  --ere-font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ere-font-family-mono: "Consolas", "Courier New", monospace;
  --ere-font-size-xs: 7.5pt;
  --ere-font-size-sm: 8pt;
  --ere-font-size-base: 10pt;
  --ere-font-size-md: 10.5pt;
  --ere-font-size-lg: 12pt;
  --ere-font-size-xl: 14pt;
  --ere-font-size-xxl: 16pt;
  --ere-line-height-tight: 1.2;
  --ere-line-height-normal: 1.45;
  --ere-line-height-relaxed: 1.6;
  --ere-color-blue: #1F4E79;
  --ere-color-slate: #4F5B66;
  --ere-color-white: #FFFFFF;
  --ere-color-light-gray: #E6E8EB;
  --ere-color-dark-slate: #2D3436;
  --ere-color-copper: #D97706;
  --ere-color-sage: #547D63;
  --ere-color-wood: #8B7355;
  --ere-color-body: #1A2E34;
  --ere-color-muted: #828283;
  --ere-color-border: #C8CDD2;
  --ere-spacing-preview-gap: 1rem;
  --ere-spacing-header-py: 0.35rem;
  --ere-spacing-footer-py: 0.35rem;
  --ere-spacing-body-pt: 0.25rem;
  --ere-spacing-body-pb: 0.35rem;
  --ere-spacing-block-gap: 0.75rem;
  --ere-spacing-section-gap: 1rem;
  --ere-header-rule-width: 3px;
}


/**
 * Legacy `.report-*` layout — matches pre-Engine paginated everroux-report.css
 */

.report-doc {
  font-family: var(--ere-font-family);
  font-size: var(--ere-font-size-base);
  line-height: var(--ere-line-height-normal);
  color: var(--ere-color-body);
  background: #fff;
  box-sizing: border-box;
}

.report-doc--paginated {
  width: auto;
  max-width: none;
  margin: 0;
}

.report-pages {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ere-spacing-preview-gap);
}

/**
 * Self-contained letter page — identical layout regardless of parent container.
 * Preview/PDF capture must not depend on ancestor selectors for geometry.
 */
.report-page,
.everroux-report-page {
  width: var(--ere-page-width);
  height: var(--ere-page-height);
  min-height: var(--ere-page-height);
  max-height: var(--ere-page-height);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding-left: var(--ere-page-margin-x);
  padding-right: var(--ere-page-margin-x);
  font-family: var(--ere-font-family);
  font-size: var(--ere-font-size-base);
  line-height: var(--ere-line-height-normal);
  color: var(--ere-color-body);
  background: var(--ere-color-white);
  border: 1px solid var(--ere-color-border);
  box-shadow: 0 2px 8px rgba(45, 52, 54, 0.12);
  overflow: hidden;
  box-sizing: border-box;
}

.report-page .report-doc__body,
.everroux-report-page .report-doc__body,
.everroux-report-page__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0.35rem 0 0.4rem;
  box-sizing: border-box;
  overflow: hidden;
}

.report-measure-host .report-page,
.report-measure-host .everroux-report-page {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  box-shadow: none !important;
  border: none !important;
}

.report-header {
  flex: 0 0 auto;
  position: relative;
  padding: var(--ere-margin-top) 0 0.5rem;
  border-bottom: 3px solid var(--ere-color-blue);
  box-sizing: border-box;
}

.report-header__logo-wrap {
  position: absolute;
  left: 0;
  top: var(--ere-margin-top);
  z-index: 1;
}

.report-header__logo {
  display: block;
  height: 2.35rem;
  width: auto;
  max-width: 2.35rem;
  object-fit: contain;
  border-radius: 0.35rem;
}

.report-header__page-wrap {
  position: absolute;
  right: 0;
  top: var(--ere-margin-top);
  z-index: 1;
}

.report-header__title {
  font-size: var(--ere-font-size-xl);
  font-weight: 650;
  color: var(--ere-color-blue);
  margin: 0 0 0.35rem;
  line-height: var(--ere-line-height-tight);
  text-align: center;
  padding: 0 3.75rem;
}

.report-header__meta {
  padding-left: calc(2.35rem + 0.65rem);
  max-width: calc(100% - 4.5rem);
}

.report-header__report-type {
  font-size: var(--ere-font-size-sm);
  color: var(--ere-color-slate);
  font-weight: 600;
  margin: 0 0 0.12rem;
  line-height: 1.25;
}

.report-header__subtitle {
  font-size: var(--ere-font-size-sm);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ere-color-sage);
  font-weight: 600;
  margin: 0 0 0.15rem;
}

.report-header__date {
  font-size: var(--ere-font-size-md);
  color: var(--ere-color-muted);
  margin: 0;
}

.report-header__page {
  font-size: var(--ere-font-size-sm);
  font-weight: 600;
  color: var(--ere-color-muted);
  white-space: nowrap;
  margin: 0.15rem 0 0;
}

.report-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.35rem 0 0.35in;
  border-top: 1px solid var(--ere-color-border);
  margin-top: auto;
  font-size: var(--ere-font-size-sm);
  color: var(--ere-color-muted);
  box-sizing: border-box;
}

.report-footer__left {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.report-footer__brand {
  font-weight: 600;
  color: var(--ere-color-sage);
}

.report-footer__note {
  display: block;
}

.report-footer__date {
  text-align: right;
  white-space: nowrap;
  line-height: 1.3;
}

.report-doc__section-title {
  break-after: avoid-page;
  page-break-after: avoid;
  break-inside: avoid;
}

.report-doc__status,
.report-doc__table,
.report-doc__member {
  break-inside: avoid;
  page-break-inside: avoid;
}

.report-doc__detail {
  break-inside: auto;
  page-break-inside: auto;
  white-space: pre-wrap;
}

.report-page-break,
.everroux-report-page-break {
  break-before: page;
  page-break-before: always;
  height: 0;
  margin: 0;
  border: 0;
  visibility: hidden;
}

.report-keep-with-next,
.everroux-report-keep-with-next {
  break-after: avoid;
  page-break-after: avoid;
}

.report-avoid-break-inside,
.everroux-report-avoid-break-inside {
  break-inside: avoid;
  page-break-inside: avoid;
}

.report-heading-group,
.everroux-report-heading-group {
  break-inside: avoid;
  page-break-inside: avoid;
}


/**
 * Report preview surface — viewer chrome only (not page geometry).
 * Page sizing lives on .report-page / .everroux-report-page (legacy-compat.css).
 */

.report-preview-content {
  background: #e8ece9;
  padding: 1rem;
  overflow: auto;
}

.report-preview-content .report-pages,
.report-preview-content .everroux-report-pages {
  gap: 1.25rem;
}

/* Preview-only visual polish — does not affect page box geometry */
.report-preview-content .report-page,
.report-preview-content .everroux-report-page {
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.14);
}
