.activity-explorer { color: var(--ink, #0b1f33); }
.activity-explorer button, .activity-explorer select, #activity-explorer-retry {
  color: #0b1f33; background: #fbfaf6; border: 1px solid #5e6b76; border-radius: 4px;
  font: inherit; min-height: 44px; min-width: 44px; padding: .55rem .75rem;
}
.activity-explorer button:not(:disabled), .activity-explorer summary, #activity-explorer-retry { cursor: pointer; }
.activity-explorer button:disabled { color: #5e6b76; border-style: dashed; cursor: default; }
.activity-explorer button:hover:not(:disabled), .activity-explorer button[aria-pressed="true"] { background: #0b1f33; color: #fbfaf6; }
.activity-explorer :is(button, select, summary):focus-visible, #activity-explorer-retry:focus-visible { outline: 3px solid #315eea; outline-offset: 4px; }
.activity-explorer :is(button, summary):active { outline: 2px solid #315eea; }
.activity-month-summary { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: 1.5rem 0; border-block: 2px solid #0b1f33; }
.activity-month-summary p { margin: 0; }
.activity-month-summary strong { display: block; font-size: clamp(1.5rem, 3vw, 2rem); }
.activity-scope-note { max-width: 78ch; margin: 1.3rem 0; }
.activity-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.activity-controls label { display: grid; gap: .4rem; font-weight: 600; min-width: 0; }
.activity-controls select { width: 100%; }
.activity-reset-controls { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .75rem; }
.activity-target-summary { border-left: 4px solid #315eea; padding: .8rem 1rem; background: #fbfaf6; }
.activity-explorer h3 { margin-top: 2rem; }
.activity-explorer table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.activity-explorer caption { text-align: left; font-size: .95rem; padding: .5rem 0 1rem; }
.activity-explorer th, .activity-explorer td { border-bottom: 1px solid #b8bfc5; padding: .65rem .6rem; text-align: left; vertical-align: top; }
.activity-explorer thead th { border-bottom: 2px solid #0b1f33; }
.activity-outcome-table td button { width: 100%; }
.activity-chart { margin: 2.5rem 0; }
.activity-chart figcaption strong, .activity-chart figcaption span { display: block; }
.activity-chart figcaption span, .activity-chart-note { font-size: .95rem; margin: .4rem 0; }
.activity-chart-plot { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .6rem; }
.activity-chart svg { width: 100%; height: 12rem; display: block; background: #fbfaf6; }
.activity-y-axis, .activity-x-axis { font-size: 1rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.activity-y-axis { display: flex; flex-direction: column; justify-content: space-between; text-align: right; }
.activity-x-axis { grid-column: 2; display: flex; justify-content: space-between; gap: .5rem; }
.activity-x-axis span { white-space: nowrap; }
.activity-gridline { stroke: #b8bfc5; stroke-width: 1; }
.activity-target-line { stroke: #0b1f33; stroke-width: 2; stroke-dasharray: 6 4; }
.activity-trend { stroke: #315eea; stroke-width: 3; fill: none; }
.activity-diagnostics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.activity-diagnostics .activity-chart { margin: 0; }
.activity-daily-values { margin: 2rem 0; }
.activity-explorer summary { min-height: 44px; padding: .65rem .25rem; font-weight: 600; }
.activity-record-detail { margin: .4rem 0; }
.activity-record-detail div { margin-bottom: .65rem; }
.activity-record-detail dt { font-weight: 600; }
.activity-record-detail dd { margin: .1rem 0 0; overflow-wrap: anywhere; }
.activity-record-table td:last-child { min-width: 9rem; }
.activity-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1.25rem 0; }
.activity-empty { padding: 1rem; border: 1px solid #5e6b76; background: #fbfaf6; }
.tableau-static-preview img { display: block; width: 100%; height: auto; }
.tableau-static-preview figcaption { padding-top: .75rem; max-width: 80ch; }
.activity-fallback-table { width: 100%; border-collapse: collapse; }
.activity-fallback-table :is(th, td) { padding: .7rem .4rem; text-align: left; border-bottom: 1px solid #5e6b76; }
.sales-case-page #downloads :is(.scope-card, .scope-note) { min-width: 0; overflow-wrap: anywhere; }
.sales-case-page #downloads .skill-list span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.sales-case-page :is(#downloads, #tableau-review) .button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
@media (max-width: 1000px) {
  .activity-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-diagnostics { grid-template-columns: 1fr; }
  .activity-diagnostics .activity-chart { margin: 1rem 0; }
}
@media (max-width: 1200px) {
  .activity-explorer :is(.activity-record-table, .activity-daily-values table) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .activity-explorer :is(.activity-record-table, .activity-daily-values table) tbody { display: block; }
  .activity-explorer :is(.activity-record-table, .activity-daily-values table) tr { display: block; border-block-end: 2px solid #0b1f33; padding-block: .6rem; }
  .activity-explorer :is(.activity-record-table, .activity-daily-values table) :is(th, td) { display: block; width: 100%; border: 0; padding: .35rem .2rem; overflow-wrap: anywhere; }
  .activity-explorer :is(.activity-record-table, .activity-daily-values table) td::before { content: attr(data-label) ": "; font-weight: 600; }
  .activity-explorer .activity-record-table td:last-child { min-width: 0; }
  .activity-record-table td:last-child::before { display: none; }
}
@media (max-width: 480px) {
  .activity-x-axis span:nth-child(2) { display: none; }
  .activity-controls { grid-template-columns: 1fr; }
  .activity-month-summary { gap: 1rem; padding: 1rem 0; }
  .activity-month-summary p { width: calc(50% - .5rem); }
  .activity-outcome-table th, .activity-outcome-table td { padding: .6rem .2rem; font-size: .88rem; }
  .activity-outcome-table td button { padding: .5rem .15rem; }
  .activity-fallback-table :is(th, td) { font-size: .85rem; padding: .7rem .2rem; }
  .activity-outcome-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .activity-outcome-table tbody { display: block; }
  .activity-outcome-table tr { display: grid; grid-template-columns: 1fr; border-bottom: 1px solid #5e6b76; padding: .5rem 0; }
  .activity-outcome-table :is(th, td) { display: block; border: 0; }
  .activity-outcome-table td { display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem; gap: .5rem; align-items: center; }
  .activity-outcome-table td::before { content: attr(data-label); font-weight: 600; }
  .activity-fallback-table { table-layout: fixed; overflow-wrap: anywhere; }
}
