.activity-page { padding: 16px; max-width: 1100px; margin: 0 auto; }
.activity-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.activity-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; opacity: .6; }
.activity-title { margin: 4px 0 2px; font-size: 20px; }
.activity-description { margin: 0; opacity: .7; font-size: 13px; max-width: 60ch; }
.activity-refresh-btn { padding: 8px 14px; border-radius: 8px; border: 1px solid rgba(128,128,128,.35); background: transparent; color: inherit; cursor: pointer; }
.activity-refresh-btn:hover { background: rgba(128,128,128,.12); }
.activity-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.activity-filter { display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.activity-filter > span { opacity: .65; }
.activity-filter input, .activity-filter select { padding: 7px 9px; border-radius: 8px; border: 1px solid rgba(128,128,128,.35); background: transparent; color: inherit; font-size: 13px; }
.activity-filter--search { flex: 1 1 220px; }
.activity-filter--search input { width: 100%; }
.activity-feed { display: flex; flex-direction: column; gap: 6px; }
.activity-empty { padding: 32px; text-align: center; opacity: .6; }
.activity-row { border: 1px solid rgba(128,128,128,.22); border-radius: 10px; padding: 10px 12px; cursor: pointer; }
.activity-row:hover { border-color: rgba(128,128,128,.45); }
.activity-row__main { display: grid; grid-template-columns: 170px 130px 1fr 1.2fr; gap: 10px; align-items: center; font-size: 13px; }
.activity-when { opacity: .65; font-variant-numeric: tabular-nums; }
.activity-who { font-weight: 600; }
.activity-action { }
.activity-target { opacity: .8; }
.activity-diff { margin-top: 10px; padding-top: 10px; border-top: 1px dashed rgba(128,128,128,.3); display: flex; flex-direction: column; gap: 6px; }
.activity-kv { display: flex; gap: 8px; font-size: 12px; }
.activity-kv__k { min-width: 56px; opacity: .6; }
.activity-kv code { white-space: pre-wrap; word-break: break-word; }
.activity-footer { margin-top: 14px; text-align: center; }
.activity-more-btn { padding: 8px 16px; border-radius: 8px; border: 1px solid rgba(128,128,128,.35); background: transparent; color: inherit; cursor: pointer; }
@media (max-width: 720px) {
  .activity-row__main { grid-template-columns: 1fr 1fr; }
  .activity-target { grid-column: 1 / -1; }
}
