/* Read-only audience uses the runtime page's existing surface and tokens. */
.audience-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 20px 0; }
.audience-facts > div { min-width: 0; }
.audience-facts dt { color: var(--muted); font-size: .8125rem; margin-bottom: 4px; }
.audience-facts dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.audience-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.audience-summary dd { font-weight: 700; }
.audience-summary-more summary, .audience-export summary { cursor: pointer; min-height: 44px; padding: 10px 0; }
.audience-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.audience-filter-grid > label { min-width: 0; }
#audience-filter-form { margin-top: 28px; }
#audience-filter-form .form-actions { margin-top: 16px; }
.audience-list-heading { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; margin-top: 24px; }
.audience-list-heading h3 { margin-bottom: 10px; }
.audience-person { display: grid; grid-template-columns: 1.1fr .9fr 1.2fr; gap: 20px; padding: 18px 0; border-top: 1px solid var(--line); }
.audience-person > div { min-width: 0; overflow-wrap: anywhere; }
.audience-person p { margin: 4px 0; }
.audience-person-button { text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: 1rem; font-weight: 600; max-width: 100%; min-height: 44px; padding: 6px 0; }
.audience-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 12px 0; }
.audience-pagination button { min-height: 44px; }
.audience-export { margin: 24px 0; border-top: 1px solid var(--line); padding-top: 16px; }
#audience-export-form fieldset { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
#audience-export-form label { max-width: 280px; }
.audience-detail { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.audience-detail .section-heading h3 { overflow-wrap: anywhere; }
.audience-gaps { margin: 20px 0 28px; padding-left: 22px; color: var(--muted); font-size: .875rem; }
.audience-gaps li { margin: 8px 0; }
#audience-timeline { list-style: none; padding: 0; margin: 20px 0; }
#audience-timeline li { padding: 16px 0; border-top: 1px solid var(--line); }
#audience-timeline p { margin: 4px 0; overflow-wrap: anywhere; }
#audience-timeline .table-note { margin-top: 10px; }
@media (max-width: 960px) { .audience-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .audience-person { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .audience-filter-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
  .audience-facts { grid-template-columns: minmax(0, 1fr); }
  .audience-list-heading { flex-wrap: wrap; gap: 0; }
  #audience-export-form fieldset, #audience-export-form label { display: block; width: 100%; max-width: none; }
  #audience-export-form button { margin-top: 16px; }
}
