.studio-audience {
  min-width: 0;
}
.studio-audience .studio-heading {
  margin-bottom: 28px;
}
.studio-audience .studio-heading-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.audience-data-context {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
}
.audience-data-context > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.audience-sample-label {
  background: var(--subtle,#f3f3f3);
  color: var(--ink-secondary,#525252);
  padding: 5px 10px;
  border-radius: 7px;
  white-space: nowrap;
}
.audience-data-context select {
  border: 0;
  border-radius: var(--control-radius);
  background: var(--subtle,#f6f6f6);
  padding: 10px var(--control-padding-x);
  min-height: var(--control-height);
  max-width: 100%;

  font-size: var(--control-font-size);
}
.audience-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 10px;
}
.audience-filter {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.audience-filter > span {
  color: var(--muted,#6e6e6e);
  font-size: 13px;
}
.audience-filter select {
  width: 100%;
  min-width: 0;
  min-height: var(--control-height);
  border: 1px solid var(--line,#dedede);
  border-radius: var(--control-radius);
  padding: 10px var(--control-padding-x);
  background: var(--surface,#fff);
  font-size: var(--control-font-size);
}
.audience-filter select:hover {
  border-color: var(--line-strong,#b7b7b7);
}
.audience-tabs {
  display: flex;
  gap: 27px;
  border-bottom: 1px solid var(--line,#e7e7e7);
  margin: 16px 0 26px;
  overflow: auto;
  scrollbar-width: thin;
}
.audience-tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--muted,#6e6e6e);
  background: none;
  padding: 15px 0 13px;
  min-height: 46px;
  font: inherit;
  font-size: 14px;
  flex-shrink: 0;
}
.audience-tabs button:hover {
  color: var(--ink,#0d0d0d);
}
.audience-tabs [aria-current=page] {
  color: var(--ink,#0d0d0d);
  border-bottom-color: var(--ink,#0d0d0d);
  font-weight: 500;
}
.audience-mobile-report,
.audience-scroll-hint {
  display: none;
}
.audience-setup-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 18px;
  font-size: 13px;
  color: var(--muted,#6e6e6e);
  margin-bottom: 24px;
}
.audience-setup-status > span:last-child {
  margin-left: auto;
}
.audience-setup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 23px 24px;
}
.audience-setup-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  align-content: start;
}
.audience-setup-field > span,
.audience-setup-static > span {
  font-size: 14px;
  color: var(--ink-secondary,#525252);
}
.audience-setup-field input,
.audience-setup-field select {
  border: 1px solid var(--line,#dedede);
  border-radius: var(--control-radius);
  min-height: var(--control-height);
  padding: 10px var(--control-padding-x);
  background: var(--surface,#fff);
  width: 100%;
  min-width: 0;
  font-size: var(--control-font-size);
}
.audience-setup-field select {
  padding-right: var(--control-padding-x);
}
.audience-setup-field small,
.audience-setup-static small {
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  line-height: 1.55;
}
.audience-setup-static {
  display: grid;
  gap: 11px;
  align-content: start;
}
.audience-setup-static strong {
  font-size: 16px;
  font-weight: 500;
  min-height: 34px;
  padding-top: 6px;
}
.audience-identity-rules {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--line,#ededed);
}
.audience-identity-rules h3 {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.2px;
  margin: 0 0 10px;
}
.audience-identity-rules p {
  color: var(--muted,#6e6e6e);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.audience-setup-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 44px;
  margin-top: 25px;
  cursor: pointer;
  font-size: 14px;
}
.audience-setup-check input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--ink,#171717);
}
.audience-setup-check small {
  display: block;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  line-height: 1.6;
  margin-top: 6px;
}
.audience-setup-event-toggle {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}
.audience-setup-event-toggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--ink,#171717);
}
.audience-setup-validation h3 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 500;
}
.audience-setup-validation p {
  color: var(--muted,#6e6e6e);
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 22px;
  max-width: 660px;
}
.audience-panel > [data-audience-setup-validate] {
  margin-top: 20px;
}
.audience-setup-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}
.audience-setup-error {
  margin: 0 0 20px;
  padding: 14px 18px;
  background: var(--subtle,#f7f7f7);
  border-left: 2px solid var(--ink,#444);
  font-size: 14px;
}
.audience-report {
  min-width: 0;
}
.studio-audience .data-chart svg {
  height: auto;
}
.audience-report > .data-metrics {
  margin-top: 0;
}
.audience-report > .data-metrics:has(> div:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.audience-panel {
  border: 1px solid var(--line,#e7e7e7);
  border-radius: 16px;
  padding: 24px;
  min-width: 0;
  background: var(--surface,#fff);
  margin-bottom: 24px;
}
.audience-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.audience-panel-head h2 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -.25px;
  margin: 0 0 7px;
  line-height: 1.35;
}
.audience-panel-head p {
  font-size: 14px;
  color: var(--muted,#6e6e6e);
  margin: 0;
  max-width: 690px;
  line-height: 1.55;
}
.audience-two-up {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
  min-width: 0;
}
.audience-two-up > .audience-panel {
  margin-bottom: 0;
}
.audience-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 20px;
  margin: 0;
}
.audience-detail-grid > div {
  min-width: 0;
}
.audience-detail-grid dt {
  font-size: 14px;
  color: var(--muted,#6e6e6e);
  margin-bottom: 7px;
}
.audience-detail-grid dd {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.5px;
  font-variant-numeric: tabular-nums;
}
.audience-detail-grid small {
  display: block;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  line-height: 1.55;
  margin-top: 5px;
}
.audience-detail-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 23px 15px;
}
.audience-note {
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  line-height: 1.6;
  margin: 18px 0 0;
}
.audience-table-wrap {
  overflow: auto;
  width: 100%;
  scrollbar-width: thin;
}
.audience-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
  white-space: nowrap;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.audience-table caption {
  text-align: left;
  font-size: 13px;
  color: var(--muted,#6e6e6e);
  padding-bottom: 16px;
}
.audience-table thead th {
  padding: 14px 15px;
  border-top: 1px solid var(--line,#e7e7e7);
  border-bottom: 1px solid var(--line,#e7e7e7);
  font-weight: 400;
  color: var(--muted,#6e6e6e);
  background: var(--surface,#fafafa);
}
.audience-table tbody th,
.audience-table tbody td {
  padding: 16px 15px;
  border-bottom: 1px solid var(--line,#ededed);
  font-weight: 400;
}
.audience-table th:first-child,
.audience-table td:first-child {
  padding-left: 0;
}
.audience-table th:last-child,
.audience-table td:last-child {
  padding-right: 0;
}
.audience-table tbody tr:last-child th,
.audience-table tbody tr:last-child td {
  border-bottom: 0;
}
.audience-table tbody tr:hover {
  background: var(--surface,#fafafa);
}
.audience-table small {
  display: block;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  margin-top: 4px;
}
.audience-table strong {
  font-weight: 500;
}
.audience-table-empty {
  color: var(--muted,#6e6e6e);
  padding: 28px 0 !important;
}
.audience-text-button {
  border: 0;
  background: none;
  font: inherit;
  font-size: 14px;
  min-height: 44px;
  padding: 3px 0;
  text-decoration: underline;
  text-decoration-color: var(--muted,#b7b7b7);
  text-underline-offset: 4px;
}
.audience-text-button:hover {
  text-decoration-color: var(--ink,#0d0d0d);
}
.audience-status {
  color: var(--muted,#6e6e6e);
}
.audience-status.active {
  color: var(--ink,#0d0d0d);
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.audience-status.active:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4f6f5a;
}
.audience-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
}
.audience-pagination > div {
  display: flex;
  gap: 8px;
}
.audience-pagination .studio-button {
  font-size: 13px;
  padding: 8px 17px;
  min-height: 44px;
}
.audience-live-list {
  display: grid;
}
.audience-live-list > button {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--line,#ededed);
  background: none;
  padding: 15px 0;
  text-align: left;
  min-height: 64px;
  width: 100%;
}
.audience-live-list > button:first-child {
  padding-top: 0;
}
.audience-live-list > button:last-child {
  border: 0;
  padding-bottom: 0;
}
.audience-live-list > button > span:nth-last-child(2) {
  margin-left: auto;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
}
.audience-live-list strong {
  font-size: 14px;
  font-weight: 500;
}
.audience-live-list small {
  display: block;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  margin-top: 3px;
}
.audience-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4f6f5a;
  flex-shrink: 0;
}
.audience-live-list svg {
  width: 18px;
  height: 18px;
}
.audience-cohort {
  table-layout: auto;
}
.audience-cohort thead th {
  text-align: center;
  min-width: 106px;
}
.audience-cohort thead th:first-child {
  text-align: left;
}
.audience-cohort th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--surface,#fff);
}
.audience-cohort thead th:first-child {
  background: var(--surface,#fafafa);
  z-index: 2;
}
.audience-cohort thead th:nth-child(2) {
  min-width: 68px;
}
.audience-cohort td {
  text-align: center;
  padding: 14px 10px;
  border: 3px solid var(--line,#fff) !important;
}
.audience-cohort td:last-child {
  padding-right: 10px;
}
.audience-cohort .mature {
  background: rgba(20, 20, 20, var(--cohort-alpha));
}
.audience-cohort .immature {
  background: var(--surface,#fafafa);
  color: var(--muted,#8d8d8d);
}
.audience-cohort strong {
  font-size: 14px;
}
.audience-cohort small {
  font-size: 12px;
}
.audience-explanation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.audience-explanation p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: var(--muted,#6e6e6e);
}
.audience-explanation strong {
  color: var(--ink,#0d0d0d);
  font-weight: 500;
}
.audience-funnel {
  display: grid;
  gap: 23px;
  margin-bottom: 32px;
}
.audience-funnel-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 55px 120px;
  gap: 16px;
  align-items: center;
}
.audience-funnel-row > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--subtle,#f2f2f2);
  font-size: 13px;
  color: var(--muted,#6e6e6e);
}
.audience-funnel-row strong {
  font-size: 14px;
  font-weight: 500;
}
.audience-funnel-row > strong {
  font-size: 18px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.audience-funnel-row > small {
  color: var(--muted,#6e6e6e);
  text-align: right;
  font-size: 13px;
}
.audience-funnel-track {
  height: 10px;
  margin-top: 11px;
  background: var(--subtle,#f3f3f3);
  border-radius: 6px;
  overflow: hidden;
}
.audience-funnel-track i {
  height: 100%;
  display: block;
  background: var(--ink,#272727);
  border-radius: 6px;
}
.audience-event-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
  font-size: 13px;
  color: var(--muted,#6e6e6e);
}
.audience-event-search {
  flex: 1;
  max-width: 440px;
}
.audience-event-search input {
  width: 100%;
  border: 1px solid var(--line,#dedede);
  border-radius: var(--control-radius);
  padding: 10px var(--control-padding-x);
  min-height: var(--control-height);
  background: var(--surface,#fff);
  font-size: var(--control-font-size);
}
.audience-event-toolbar + .audience-table-wrap td:nth-child(3) {
  white-space: normal;
  min-width: 230px;
}
.audience-panel > [data-audience-event-export] {
  margin-top: 18px;
}
.audience-evaluation h3 {
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -.45px;
  line-height: 1.35;
  margin: 0 0 14px;
}
.audience-evaluation p {
  color: var(--muted,#6e6e6e);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}
.audience-empty {
  border: 1px solid var(--line,#ededed);
  border-radius: 16px;
  background: var(--surface,#fafafa);
  padding: 66px 24px;
  text-align: center;
}
.audience-empty-mark {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--line,#e7e7e7);
  border-radius: 14px;
  background: var(--surface,#fff);
}
.audience-empty h2 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.5px;
  margin: 24px 0 12px;
}
.audience-empty p {
  color: var(--muted,#6e6e6e);
  font-size: 14px;
  line-height: 1.65;
  max-width: 480px;
  margin: 0 auto 24px;
}
.audience-session-detail,
.audience-definitions {
  padding: 24px 30px 30px;
  min-width: 0;
}
.audience-modal-meta {
  margin: 0 0 22px;
  font-size: 13px;
  color: var(--muted,#6e6e6e);
}
.audience-session-detail h3,
.audience-definitions h3 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -.3px;
  margin: 0 0 20px;
}
.audience-session-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  margin: 24px 0 32px;
}
.audience-session-facts dt {
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  margin-bottom: 6px;
}
.audience-session-facts dd {
  font-size: 14px;
  margin: 0;
  overflow-wrap: anywhere;
}
.audience-event-timeline {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}
.audience-event-timeline li {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 20px;
  position: relative;
  padding: 0 0 24px;
}
.audience-event-timeline time {
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.audience-event-timeline strong {
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.audience-event-timeline p {
  margin: 6px 0 0;
  color: var(--muted,#6e6e6e);
  font-size: 13px;
  line-height: 1.6;
}
.audience-definitions {
  display: grid;
  gap: 24px;
}
.audience-definitions h3 {
  margin: 0 0 8px;
}
.audience-definitions p {
  margin: 0;
  color: var(--muted,#6e6e6e);
  font-size: 14px;
  line-height: 1.65;
}
@media (min-width: 1500px) {
  .audience-filters {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 1150px) {
  .audience-two-up {
    grid-template-columns: 1fr;
  }
  .studio-audience .studio-heading {
    flex-wrap: wrap;
  }
  .studio-audience .studio-heading-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 650px) {
  .audience-mobile-report {
    display: grid;
    gap: 7px;
    margin-top: 20px;
    font-size: 13px;
    color: var(--muted,#6e6e6e);
  }
  .audience-mobile-report select {
    min-height: var(--control-height);
    border: 1px solid var(--line,#dedede);
    background: var(--surface,#fff);
    color: var(--ink,#0d0d0d);
    border-radius: var(--control-radius);
    font-size: var(--control-font-size);
    padding: 10px var(--control-padding-x);
    width: 100%;
  }
  .audience-scroll-hint {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: var(--muted,#6e6e6e);
    margin: -5px 0 18px;
  }
  .audience-cohort th:nth-child(3),
  .audience-cohort td:nth-child(3) {
    display: none;
  }
  .audience-cohort thead th:first-child {
    min-width: 88px;
  }
  .audience-cohort thead th:nth-child(2) {
    min-width: 58px;
  }
  .audience-cohort thead th {
    min-width: 96px;
  }
  .audience-setup-status {
    align-items: flex-start;
    gap: 10px;
  }
  .audience-setup-status > span:last-child {
    margin-left: 0;
    flex-basis: 100%;
  }
  .audience-setup-grid,
  .audience-identity-rules {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .audience-setup-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .audience-setup-actions .studio-button {
    justify-content: center;
  }
  .audience-setup-actions .audience-text-button {
    align-self: flex-start;
  }
  .audience-data-context {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 14px;
  }
  .audience-data-context > div {
    display: grid;
    justify-items: start;
    gap: 9px;
  }
  .audience-data-context label {
    width: 100%;
  }
  .audience-data-context select {
    width: 100%;

  font-size: var(--control-font-size);

  min-height: var(--control-height);
}
  .audience-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 12px;
  }
  .audience-tabs {
    gap: 23px;
    margin-bottom: 24px;
  }
  .audience-panel {
    padding: 20px 18px;
  }
  .audience-panel-head {
    margin-bottom: 22px;
  }
  .audience-panel-head p {
    font-size: 13px;
  }
  .audience-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
  }
  .audience-report > .data-metrics:has(> div:nth-child(3):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .audience-pagination {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .audience-pagination > div {
    width: 100%;
    justify-content: space-between;
  }
  .audience-explanation {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .audience-funnel-row {
    grid-template-columns: 24px minmax(0, 1fr) 43px;
    gap: 12px;
  }
  .audience-funnel-row > small {
    grid-column: 2 / 4;
    text-align: left;
    margin-top: -4px;
  }
  .audience-event-toolbar {
    flex-wrap: wrap;
    gap: 11px;
  }
  .audience-event-search {
    flex-basis: 100%;
    max-width: none;
  }
  .audience-live-list > button {
    gap: 10px;
  }
  .audience-live-list > button > span:nth-last-child(2) {
    display: none;
  }
  .audience-session-detail,
  .audience-definitions {
    padding: 20px;
  }
  .audience-session-facts {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .audience-event-timeline li {
    grid-template-columns: 65px minmax(0, 1fr);
    gap: 13px;
  }
  .studio-audience .studio-heading-actions {
    gap: 8px;
  }
  .studio-audience .studio-heading-actions .studio-button {
    padding: 9px 16px;
    font-size: 13px;
  }
  .audience-panel .data-bar {
    grid-template-columns: minmax(83px, 115px) minmax(24px, 1fr) 72px;
    gap: 10px;
  }
}
.audience-example-scope {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted,#6e6e6e);
  margin: 0 0 24px;
}

/* Counts stay explicit while a return-day picker avoids a cropped phone matrix. */
.audience-cohort-picker { display: none; }
.audience-cohort caption { white-space: normal; font-size: 13px; line-height: 1.6; }
.audience-cohort .mature { background: var(--subtle,#f5f5f5); background: color-mix(in srgb, var(--ink,#141414) calc(var(--cohort-alpha) * 100%), var(--surface,#fff)); }
.audience-funnel-row > small { line-height: 1.5; }
@media(max-width:650px) {
  .audience-cohort-picker { display: grid; gap: 7px; margin: 0 0 16px; max-width: 280px; }
  .audience-cohort:not([data-cohort-day="all"]) { width: 100%; min-width: 0; }
  .audience-cohort:not([data-cohort-day="all"]) [data-return-day] { display: none; }
  .audience-cohort[data-cohort-day="1"] [data-return-day="1"],
  .audience-cohort[data-cohort-day="3"] [data-return-day="3"],
  .audience-cohort[data-cohort-day="7"] [data-return-day="7"],
  .audience-cohort[data-cohort-day="14"] [data-return-day="14"] { display: table-cell; }
  .audience-cohort[data-cohort-day="all"] [data-return-day="0"] { display: none; }
}
@media(max-width:600px) {
  .audience-panel .data-bar { grid-template-columns: minmax(0,1fr) max-content; gap: 8px 14px; }
}

/* Explorer controls and session reports share compact, responsive measurement UI. */
.audience-explorer-toolbar { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:0 0 22px; }
.audience-explorer-toolbar label { display:grid; gap:7px; color:var(--muted); font-size:13px; min-width:0; }
.audience-explorer-search { flex:1 1 230px; }
.audience-explorer-toolbar input,.audience-explorer-toolbar select { width:100%; min-height:var(--control-height,44px); font:inherit; font-size:var(--control-font-size,14px); color:var(--ink); background:var(--surface); border:1px solid var(--control-border,var(--line)); border-radius:var(--control-radius,12px); padding:10px var(--control-padding-x,14px); }
.audience-explorer-toolbar select { min-width:150px; }
.audience-explorer-toolbar .studio-button { flex-shrink:0; }
#studio-dialog:has(.audience-session-detail) { width:min(820px,calc(100vw - 40px)); }
#studio-dialog:has(.audience-session-detail) > .studio-dialog-head { padding:20px 26px; }
.audience-session-detail { padding:24px 26px; }
.audience-session-summary { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:24px; }
.audience-session-summary h3 { font-size:28px; letter-spacing:-.6px; line-height:1.25; margin:0 0 8px; }
.audience-session-summary p { color:var(--muted); font-size:14px; margin:0; }
.audience-session-summary .audience-modal-meta { margin-bottom:10px; }
.audience-session-summary .audience-sample-label { white-space:nowrap; }
.audience-session-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 24px; gap:18px; }
.audience-session-metrics > div { min-width:0; }
.audience-session-metrics dt { color:var(--muted); font-size:12px; margin-bottom:8px; }
.audience-session-metrics dd { margin:0; font-size:22px; font-variant-numeric:tabular-nums; letter-spacing:-.3px; }
.audience-session-metrics small { font-size:13px; color:var(--muted); }
.audience-session-nav { display:flex; gap:22px; border-bottom:1px solid var(--line); margin:0 0 24px; }
.audience-session-nav a { color:var(--ink-secondary); min-height:44px; display:inline-flex; align-items:center; text-decoration:none; font-size:14px; }
.audience-session-nav a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.audience-session-section { scroll-margin-top:16px; margin-bottom:26px; }
.audience-session-section > h3 { margin:0 0 18px; font-size:17px; }
.audience-session-section > h3 > span { font-size:12px; color:var(--muted); font-weight:400; margin-left:8px; }
.audience-session-facts { margin:0; gap:16px 24px; }
.audience-session-facts > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; }
.audience-session-facts dt { margin:0; font-size:13px; }
.audience-session-facts dd { font-size:13px; line-height:1.5; }
.audience-session-section .audience-note { margin:0 0 14px; }
.audience-seat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.audience-seat-card { border:1px solid var(--line); border-radius:14px; padding:16px; min-width:0; }
.audience-seat-card strong,.audience-seat-card small { display:block; overflow-wrap:anywhere; }
.audience-seat-card strong { font-size:15px; font-weight:500; margin:8px 0 5px; }
.audience-seat-card small,.audience-session-label { color:var(--muted); font-size:12px; }
.audience-seat-card dl { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:14px; margin:14px 0 0; border-top:1px solid var(--line); }
.audience-seat-card dt { color:var(--muted); font-size:11px; margin-bottom:6px; }
.audience-seat-card dd { margin:0; font-size:15px; font-variant-numeric:tabular-nums; }
.audience-event-timeline { margin:0; }
.audience-event-timeline li { grid-template-columns:68px minmax(0,1fr); gap:18px; padding-bottom:20px; }
.audience-event-timeline li > div { padding-left:16px; border-left:1px solid var(--line); }
.audience-event-timeline li:last-child { padding-bottom:0; }
.audience-event-timeline strong { font-size:13px; }
.audience-event-timeline p { margin-top:4px; font-size:12px; }
.audience-session-privacy { border-top:1px solid var(--line); padding-top:18px; color:var(--muted); line-height:1.6; font-size:12px; margin:0; }
.audience-session-actions { display:flex; justify-content:space-between; gap:12px; padding:12px 26px; }
@media(max-width:650px) {
  .audience-explorer-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .audience-explorer-search { grid-column:1 / -1; }
  .audience-explorer-toolbar select { min-width:0; }
  .audience-explorer-toolbar .studio-button { grid-column:1 / -1; justify-content:center; }
  #studio-dialog:has(.audience-session-detail) { width:calc(100vw - 24px); }
  #studio-dialog:has(.audience-session-detail) > .studio-dialog-head { padding:18px; }
  .audience-session-detail { padding:20px 18px; }
  .audience-session-summary h3 { font-size:24px; }
  .audience-session-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .audience-session-facts { grid-template-columns:1fr; gap:14px; }
  .audience-seat-grid { grid-template-columns:1fr; }
  .audience-session-actions { padding:12px 18px; flex-wrap:wrap; }
  .audience-session-actions .studio-button { flex:1 1 160px; justify-content:center; }
}
.studio-dialog > .audience-session-actions.studio-dialog-actions { padding:12px 26px; justify-content:space-between; }
.audience-explorer-toolbar select { padding-inline-end:calc(var(--control-padding-x,14px) + 24px); }
@media(max-width:620px) { .studio-dialog > .audience-session-actions.studio-dialog-actions { padding-inline:18px; } }
