@layer components {
  .report {
    font-size: 1.0625rem;
    line-height: 1.5;
  }
  :where(.report) :where(strong) { font-weight: 600; }

  .report__inner { display: flex; flex-direction: column; gap: var(--space-xl); padding-block: clamp(1.5rem, 6vw, 3rem) 4.5rem; }
  .report-sections { display: flex; flex-direction: column; gap: var(--space-xl); }
  .report-sections > * { min-width: 0; scroll-margin-top: var(--space-md); }
  .report-block__title { font-size: clamp(1.375rem, 4vw, 1.625rem); line-height: 1.15; }
  .report-block__subtitle { margin-top: var(--space-xs); color: var(--xf-ink-soft); font-size: var(--text-sm); }

  .report-section__pending { display: flex; flex-direction: column; align-items: flex-start; gap: 0.625rem; padding: var(--space-md); border: 2px dashed var(--xf-line-muted); border-radius: var(--xf-radius-sm); color: var(--xf-ink-muted); }
  .report-progress:not(:has(*)) { display: none; }

  /* Report Hero */
  .report-hero { display: flex; flex-direction: column; gap: var(--space-lg); }
  .report-hero__info { display: flex; flex-direction: column; gap: var(--space-sm); min-width: 0; }
  .report-hero__badge { display: flex; align-items: center; gap: var(--space-sm); }
  .report-hero__badge .icon { color: var(--xf-green); }
  .report-hero__phone { font-family: var(--xf-font-mono); font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 600; line-height: 1; letter-spacing: -0.02em; overflow-wrap: anywhere; }
  .report-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
  .report-hero__actions:not(:has(a)) { display: none; }

  .report-verdict { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border: var(--xf-border); border-radius: var(--xf-radius-lg); background: var(--xf-surface); box-shadow: var(--xf-shadow-xl); }
  .report-score--low { background: var(--xf-green-soft); }
  .report-score--medium { background: var(--xf-amber); }
  .report-score--high { background: var(--xf-red-soft); }
  .report-verdict__summary,
  .report-verdict__factors { display: flex; flex-direction: column; gap: var(--space-sm); padding: clamp(1.25rem, 5vw, 2.25rem); }
  .report-verdict__summary { justify-content: center; }
  .report-score__value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.625rem; font-family: var(--xf-font-display); line-height: 0.85; }
  .report-score__number { font-size: clamp(5rem, 18vw, 8.75rem); font-weight: 800; letter-spacing: -0.04em; }
  .report-score__scale { font-size: 2rem; font-weight: 600; }
  .report-score__level { font-family: var(--xf-font-display); font-size: clamp(1.75rem, 4vw, 2.125rem); font-weight: 800; line-height: 1.05; }
  .report-verdict__explanation { max-width: 26rem; }
  .report-score__pending { color: var(--xf-ink-soft); font-weight: 600; }

  .report-verdict__factors { gap: 0.875rem; border-top: var(--xf-border); background: var(--xf-surface); }
  .report-verdict__factors-title { font-family: var(--xf-font-body); font-size: 1.125rem; font-weight: 600; }
  .report-verdict__factor-list { display: flex; flex-direction: column; gap: 0.75rem; }
  .report-score__factor { display: flex; align-items: flex-start; gap: 0.75rem; }
  .report-score__points { flex: none; min-width: 3rem; padding-inline: 0.5rem; border: var(--xf-border-thin); border-radius: var(--xf-radius-sm); background: var(--xf-red-soft); font-weight: 600; text-align: center; }
  .report-score__points--zero { background: var(--xf-surface); }
  .report-score__recycling-alert { margin-top: var(--space-xs); padding: 0.75rem 0.875rem; border: var(--xf-border); border-radius: var(--xf-radius-sm); background: var(--xf-amber); font-weight: 600; }

  .report-signals { display: flex; flex-direction: column; gap: var(--space-md); }
  .report-signals__title { font-size: clamp(1.625rem, 4vw, 1.875rem); line-height: 1.1; }
  .report-signals__empty { padding: var(--space-md) 1.25rem; border: var(--xf-border); border-radius: var(--xf-radius-md); background: var(--xf-green-soft); font-weight: 600; }
  .report-signals__unavailable,
  .report-web-findings__unavailable { padding: var(--space-md) 1.25rem; border: 2px dashed var(--xf-line-muted); border-radius: var(--xf-radius-md); color: var(--xf-ink-soft); font-weight: 600; }
  .report-attention { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: 1.25rem; }
  .report-attention__item { display: flex; flex-direction: column; gap: var(--space-sm); padding: 1.375rem; box-shadow: var(--xf-shadow-md); }
  .report-attention__title { font-family: var(--xf-font-body); font-size: 1.125rem; font-weight: 600; }
  .report-attention__disclaimer { color: var(--xf-ink-soft); font-size: var(--text-sm); }
  .report-attention__findings { display: flex; flex-direction: column; gap: var(--space-xs); padding-left: 1.125rem; color: var(--xf-ink-soft); list-style: square; }
  .report-attention__link { align-self: flex-start; margin-top: auto; padding-top: var(--space-xs); font-size: 0.9375rem; font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
  .report-attention__link:hover { color: var(--xf-ink-hover); }
  .report-attention__link:focus-visible { outline: var(--xf-focus-ring); outline-offset: var(--xf-focus-offset); }

  .report-numbers { padding: 1.5rem clamp(1.25rem, 4vw, 1.75rem); border-radius: var(--xf-radius-md); background: var(--xf-ink); color: var(--xf-paper); }
  .report-headline { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(7.5rem, 100%), 1fr)); gap: 1.25rem; }
  .stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; min-width: 0; }
  .stat__value { font-family: var(--xf-font-display); font-size: clamp(1.75rem, 6vw, 2.75rem); font-weight: 800; line-height: 1; overflow-wrap: anywhere; }
  .stat__label { font-size: 0.9375rem; }
  .report-numbers .report-section__pending { border-color: var(--xf-paper); color: var(--xf-paper); }

  .report-index__list { display: flex; flex-wrap: wrap; gap: 0.625rem; }
  .report-index__link { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.5rem var(--space-md); border: var(--xf-border-thin); border-radius: var(--xf-radius-sm); background: var(--xf-surface); font-size: 0.9375rem; font-weight: 600; }
  .report-index__link:hover { color: var(--xf-ink-hover); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
  .report-index__link:focus-visible { outline: var(--xf-focus-ring); outline-offset: var(--xf-focus-offset); }

  .report-block__empty { color: var(--xf-ink-soft); }

  .report-links { padding: 1.25rem var(--space-lg); }
  .report-links:has(.report-table-scroll) { padding: 0; }
  .report-table-scroll { overflow-x: auto; }
  .report-table-scroll:focus-visible { outline: var(--xf-focus-ring); outline-offset: calc(-1 * var(--xf-focus-offset)); }
  .report-table { width: 100%; min-width: 45rem; text-align: left; }
  .report-table th { padding: 0.875rem var(--space-md); border-bottom: var(--xf-border-thin); }
  .report-table td { padding: var(--space-md); border-bottom: 2px dashed var(--xf-ink); vertical-align: top; }
  .report-table td.xf-mono { white-space: nowrap; }
  .report-table tr:last-child td { border-bottom: 0; }
  .report-table :is(th, td):first-child { padding-left: var(--space-lg); }
  .report-table :is(th, td):last-child { padding-right: var(--space-lg); }
  .report-table__company [data-field] { display: block; }
  .report-table__company [data-field="name"] { font-weight: 600; }
  .report-table__company [data-field="legal_name"] { color: var(--xf-ink-soft); font-size: var(--text-sm); }

  .report-identity { display: flex; flex-direction: column; gap: var(--space-lg); padding: 1.25rem var(--space-lg); border-top: var(--xf-border); }
  .report-identity__group { display: flex; flex-direction: column; gap: 0.75rem; }
  .report-identity__title { font-family: var(--xf-font-body); font-size: 1.125rem; font-weight: 600; }
  .report-identity__item { display: flex; flex-direction: column; gap: var(--space-xs); padding-top: 0.75rem; border-top: 2px dashed var(--xf-ink); color: var(--xf-ink-soft); }
  .report-identity__name { color: var(--xf-ink); font-family: var(--xf-font-body); font-size: 1.0625rem; font-weight: 600; }
  .report-identity__name small { color: var(--xf-ink-soft); font-size: var(--text-sm); font-weight: 400; }

  .report-audit__body { display: flex; flex-direction: column; gap: var(--space-xs); }
  .report-audit__sources { font-weight: 600; }
  .report-audit__time { color: var(--xf-ink-soft); font-size: var(--text-sm); }

  @media (min-width: 768px) {
    .report-hero { flex-direction: row; justify-content: space-between; align-items: flex-end; }
    .report-verdict.report-score { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-verdict__factors { border-top: 0; border-left: var(--xf-border); }
  }
}

@layer modules {
  .report-numbers .locked { background: var(--xf-paper); }

  .report-carrier .carrier-card { padding: 0; border: 0; background: none; box-shadow: none; }
  .report-carrier .carrier-card__info > .mono--label { display: none; }

  @media (forced-colors: active) {
    .report-numbers .locked { background: CanvasText; }
  }

  @media (max-width: 767px) {
    .report-hero__actions > .btn { flex: 1 1 auto; }
  }
}
