/* Review the buyer first, then its derived discussion behavior and deeper detail. */
@layer components {
  :root[data-register] .persona-review.page { gap: var(--space-3); }
  :root[data-register] .persona-review .page-head { gap: var(--space-1); }
  .persona-review .readiness-panel { gap: var(--space-2); }
  .persona-review .readiness-panel:has(.research-entry) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .persona-review .readiness-panel:has(.research-entry) .section__head { grid-column: 1; }
  .persona-review .readiness-panel:has(.research-entry) > p { grid-column: 1; }
  .persona-review .research-entry { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; }
  .persona-characteristics { display: grid; gap: var(--space-2); }
  .persona-characteristics__head { display: grid; gap: var(--space-1); }
  .persona-characteristics__head p, .source-legend { font-size: var(--text-sm); }
  .source-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); padding-block: var(--space-2); }
  .source-legend > div { min-width: 0; display: grid; align-content: start; gap: var(--space-1); }
  .source-legend .field__source { font-size: var(--text-sm); font-weight: 600; color: var(--on-surface); }
  .source-legend p { color: var(--on-surface-muted); margin: 0; }
  .persona-review .attribute-value dd .field__source { display: block; width: fit-content; margin-top: var(--space-1); white-space: normal; }
  .persona-review .attribute-grid { gap: var(--space-2) var(--space-3); padding-block: var(--space-2); }
  .persona-details { border-top: 1px solid var(--line); }
  .persona-details > summary, .profile-review > summary { cursor: pointer; padding-block: var(--space-2); font-weight: 700; }
  .persona-details > summary .field__hint { display: block; font-weight: 400; margin-inline-start: var(--space-3); }
  .persona-details__groups { display: grid; gap: var(--space-2); padding-top: var(--space-2); }
  .profile-review > summary h2 { display: inline; }
  .profile-review > summary .field__hint { display: block; margin-top: var(--space-1); margin-inline-start: var(--space-3); font-weight: 400; }
  .profile-review[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: var(--space-2); }
  .profile-review .profile-sections { margin-top: var(--space-3); }
  .persona-approval { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding-block: var(--space-3); border-block: 1px solid var(--line-strong); }
  .persona-approval .toolbar { flex-direction: column; align-items: stretch; }
  .persona-approval .button_to .btn { width: 100%; }
  :root[data-register='card'] .persona-approval { padding: 28px 32px; border: 0; border-radius: 24px; background: var(--surface-raised); }
  .persona-approval p { max-width: 75ch; margin-top: var(--space-1); font-size: var(--text-sm); }
  .persona-review summary:hover { color: var(--accent); }
}

@media (max-width: 40rem) {
  .source-legend { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .source-legend > div { grid-template-columns: 10rem minmax(0, 1fr); gap: var(--space-2); align-items: baseline; }
  .source-legend .field__source { font-size: var(--text-sm); }
  .persona-approval { grid-template-columns: minmax(0, 1fr); }
  :root[data-register='card'] .persona-approval { padding: var(--space-3); }
  .persona-review .readiness-panel:has(.research-entry) { grid-template-columns: minmax(0, 1fr); }
  .persona-review .research-entry { grid-column: 1; grid-row: auto; justify-content: flex-start; }
  .persona-characteristics__head p, .source-legend, .persona-approval p { font-size: var(--text-md); }
  .research-entry, .persona-approval .toolbar { align-items: stretch; }
  .research-entry > .btn, .persona-approval .button_to { flex: 1 1 100%; }
  .persona-approval .button_to .btn { width: 100%; }
}
