
.report {
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px clamp(20px, 5vw, 72px) 88px;
}

.brand small {
  display: block;
  color: var(--muted);
  font-family: var(--body-font);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
}

.report-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 30px;
}
.report-title { max-width: 760px; margin-top: 10px; font: 600 var(--type-report-title)/1.16 var(--heading); letter-spacing: -.025em; }
.report-meta { max-width: 430px; color: var(--muted); text-align: right; font: 500 11px/1.7 var(--caption-font); }
.report-head-meta { max-width: 430px; text-align: right; }
.report-identity { display: inline-flex; padding: 7px 10px; border: 1px solid var(--plum); border-radius: 999px; background: var(--plum-soft); color: var(--plum); font: 700 11px var(--label-font); }

.audit {
  display: grid;
  gap: 22px;
  padding: 30px 0 42px;
  border-top: 1px solid var(--line);
}
.audit + .audit { margin-top: 30px; }

.claim-band {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 250, 240, .74);
}
.claim-label { margin-bottom: 12px; color: var(--sage-dark); font: 500 10px var(--label-font); letter-spacing: .1em; text-transform: uppercase; }
.claim-copy { max-width: 920px; color: var(--ink); font: 600 var(--type-claim)/1.4 var(--body-font); }
.report-provenance { margin-top: 12px; color: var(--muted); font: 500 11px/1.7 var(--caption-font); }

.action-layer {
  padding: clamp(24px, 3.5vw, 36px);
  border-radius: 24px;
  border: 1px solid rgba(111, 45, 97, .22);
  background: linear-gradient(135deg, rgba(238, 225, 234, .8), rgba(255, 250, 240, .82));
  box-shadow: var(--cea-paper-shadow-soft);
}
.action-label { color: var(--sage-dark); font: 500 10px var(--label-font); letter-spacing: .1em; text-transform: uppercase; }
.action-state { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.action-state .status { margin-top: 4px; }
.action-layer h2 { max-width: 900px; color: var(--ink); font: 600 var(--type-decision-title)/1.18 var(--heading); letter-spacing: -.025em; }
.action-layer p { max-width: 760px; margin-top: 12px; color: #443b31; font-size: 15px; line-height: 1.58; }
.action-layer .action-why, .action-layer .action-next { margin-top: 10px; font-size: 14px; }
.action-layer b { color: var(--ink); }
.action-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.explanation-layer {
  display: grid;
  grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  padding: 30px 0 10px;
}
.layer-label { color: var(--sage-dark); font: 500 11px var(--label-font); letter-spacing: .12em; text-transform: uppercase; }
.explanation-layer h3, .audit-layer h3 { margin-top: 8px; color: var(--ink); font: 600 var(--type-heading)/1.2 var(--heading); }
.why-list { display: grid; gap: 12px; }
.why-item {
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 250, 240, .74);
}
.why-item b { display: block; color: var(--ink); }
.why-item span { display: block; margin-top: 5px; color: var(--muted); }

.narrow-suggestion {
  max-width: 880px;
  padding: 18px 20px;
  border-left: 4px solid var(--sage);
  border-radius: 0 20px 20px 0;
  background: var(--paper-sage);
}
.narrow-suggestion h4 { color: var(--ink); font: 600 18px/1.2 var(--heading); }
.narrow-suggestion p { margin-top: 7px; color: #443b31; line-height: 1.58; }

.audit-layer {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.audit-layer > p { margin-top: 7px; color: var(--muted); }
.audit-original { padding: 10px 12px; border-left: 3px solid var(--line-strong); font: 500 11px var(--caption-font); }
.records { display: grid; gap: 14px; margin-top: 20px; }
.evidence-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 250, 240, .74);
}
.card-top { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.card-top .eyebrow { color: var(--muted); }
/* Adopted/dismissed badges sit next to the assessment chip when a run is reopened. */
.card-top .status + .status { margin-left: -4px; }

.user-state { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.user-state-note { color: var(--muted); font: 500 12px/1.6 var(--caption-font); }
.evidence-text {
  position: relative;
  max-width: 940px;
  padding: 18px 20px;
  border-left: 4px solid var(--sage);
  border-radius: 0 18px 18px 0;
  background: var(--paper-sage);
  color: var(--ink);
  font: 600 var(--type-subheading)/1.5 var(--body-font);
}
.evidence-text.none {
  border: 1px dashed var(--line-strong);
  background: transparent;
  color: var(--muted);
  font-family: var(--body-font);
  font-size: 15px;
  font-weight: 400;
}
.source-meta {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.source-meta strong { display: block; margin-bottom: 3px; color: var(--ink); font-weight: 700; }
.source-meta small { color: var(--muted); font: 500 10px var(--caption-font); }
.card-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.receipt-line { color: var(--muted); font: 500 10px/1.6 var(--caption-font); }

.proposal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 28px;
  align-items: start;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(255, 250, 240, .68);
}
.proposal h3 { color: var(--ink); font: 600 var(--type-heading)/1.2 var(--heading); }
.proposal .meta { margin-top: 8px; color: var(--muted); font: 500 11px/1.7 var(--caption-font); }
.tabs { display: flex; gap: 10px; margin-bottom: 12px; }
.tab {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: 700 11px var(--label-font);
}
.tab.active { border-color: var(--plum); background: var(--plum-soft); color: var(--plum); }
.citation-box {
  min-height: 118px;
  max-width: 100%;
  padding: 15px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--paper);
  color: var(--ink);
  white-space: pre-wrap;
  font: 500 11px/1.7 var(--caption-font);
}
.copy-cite { margin-top: 10px; }

.no-records {
  padding: 22px;
  border: 1px dashed var(--line-strong);
  border-radius: 22px;
  color: var(--muted);
  background: rgba(255, 250, 240, .55);
}
.proposal-unavailable, .proposal-reject { display: block; }
.proposal-unavailable p, .proposal-reject p { max-width: 760px; margin-top: 8px; color: var(--muted); line-height: 1.6; }
.proposal-reject .meta { font: 500 11px/1.7 var(--caption-font); }
.review-copy { border-color: var(--ochre); color: #76541f; }

.report-empty {
  max-width: 760px;
  padding: 38px 28px;
  border: 1px dashed var(--line-strong);
  border-radius: 28px;
  background: rgba(255, 250, 240, .62);
}
.report-empty h2 { margin-top: 9px; color: var(--ink); font: 600 var(--type-report-title)/1.16 var(--heading); }
.report-empty p:not(.eyebrow) { margin-top: 10px; color: var(--muted); }
.report-empty .button { margin-top: 22px; margin-right: 8px; }

@media (max-width: 880px) {
  .report-head, .explanation-layer, .proposal { display: block; }
  .report-head-meta { margin-top: 12px; text-align: left; }
  .report-meta { margin-top: 8px; text-align: left; }
  .why-list, .proposal-side { margin-top: 18px; }
  .source-meta { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .report { padding-inline: 18px; }
  .report-title, .report-empty h2 { font-size: 24px; line-height: 1.2; }
  .action-layer h2 { font-size: 23px; line-height: 1.22; }
  .claim-band, .action-layer, .proposal, .evidence-card { padding: 20px; border-radius: 22px; }
  .action-layer p { font-size: 14px; }
  .source-meta { grid-template-columns: 1fr; }
  .action-buttons { flex-direction: column; }
}
