    .activity-section {
      min-height: 0;
      background: transparent;
    }

    .activity-section > .section-head {
      background: transparent;
    }

    .activity-filter-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--sp-3);
      padding: var(--workspace-page-content-space) 0 var(--sp-3);
      border: 0;
      background: transparent;
    }

    .activity-filter-bar > label,
    .activity-filter-bar > .activity-filter-field {
      display: inline-flex;
      min-height: 42px;
      min-width: 0;
      flex: 0 1 auto;
      align-items: center;
      gap: var(--sp-2);
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--r-md);
      background: var(--accent-pale);
      color: var(--muted);
      font-size: var(--fs-caption);
      font-weight: 650;
      letter-spacing: .02em;
      transition: border-color .14s ease, background-color .14s ease;
    }
    .activity-filter-bar > .activity-filter-field { flex-basis: 300px; }
    .activity-filter-bar > label { flex-basis: 190px; }
    .activity-filter-bar > label:hover,
    .activity-filter-bar > .activity-filter-field:hover {
      border-color: var(--accent-border);
      background: var(--accent-soft);
    }
    .activity-filter-bar label > span { white-space: nowrap; }
    .activity-filter-field > span { white-space: nowrap; }

    .activity-folder-picker {
      position: relative;
      min-width: 0;
      flex: 1 1 auto;
      color: var(--accent);
      font-size: var(--fs-label);
      font-weight: 650;
    }
    .activity-folder-picker > summary {
      display: flex;
      min-height: 40px;
      align-items: center;
      padding: 5px 28px 5px 0;
      list-style: none;
      cursor: pointer;
      background-image:
        linear-gradient(45deg, transparent 50%, var(--accent) 50%),
        linear-gradient(135deg, var(--accent) 50%, transparent 50%);
      background-position:
        calc(100% - 13px) calc(50% - 1px),
        calc(100% - 8px) calc(50% - 1px);
      background-size: 5px 5px, 5px 5px;
      background-repeat: no-repeat;
    }
    .activity-folder-picker > summary::-webkit-details-marker { display: none; }
    .activity-folder-picker > summary:focus-visible {
      outline: 3px solid var(--accent-overlay);
      outline-offset: 1px;
    }
    .activity-folder-options {
      position: absolute;
      z-index: 20;
      top: calc(100% + 6px);
      left: 0;
      display: grid;
      min-width: 220px;
      max-height: 280px;
      overflow-y: auto;
      padding: var(--sp-2);
      border: 1px solid var(--accent-border);
      border-radius: var(--r-sm);
      background: var(--panel);
      box-shadow: var(--shadow);
    }
    .activity-folder-options label {
      display: flex;
      flex: none;
      align-items: center;
      gap: var(--sp-2);
      min-height: 34px;
      padding: 5px 8px;
      color: var(--ink);
      font-size: var(--fs-caption);
      font-weight: 500;
      cursor: pointer;
    }
    .activity-folder-options label:hover { background: var(--accent-pale); }
    .activity-folder-options input { accent-color: var(--accent); }

    .activity-filter-bar select {
      width: 100%;
      min-width: 0;
      min-height: 40px;
      padding: 0 28px 0 0;
      border: 0;
      border-radius: 0;
      appearance: none;
      -webkit-appearance: none;
      background-color: transparent;
      background-image:
        linear-gradient(45deg, transparent 50%, var(--accent) 50%),
        linear-gradient(135deg, var(--accent) 50%, transparent 50%);
      background-repeat: no-repeat;
      background-position:
        calc(100% - 13px) calc(50% - 1px),
        calc(100% - 8px) calc(50% - 1px);
      background-size: 5px 5px, 5px 5px;
      color: var(--accent);
      font-size: var(--fs-label);
      font-weight: 650;
      box-shadow: none;
    }

    .activity-filter-bar select:hover { border-color: transparent; background-color: transparent; color: var(--accent-strong); }
    .activity-filter-bar select option { color: var(--ink); }
    .activity-filter-bar select:focus-visible {
      border-color: var(--accent-mid);
      outline: 3px solid var(--accent-overlay);
      outline-offset: 1px;
    }

    .activity-filter-bar > button {
      min-height: 42px;
      margin-left: var(--sp-1);
      padding: 0 16px;
      border-color: var(--accent-border);
      border-radius: var(--r-sm);
      background: var(--panel);
      color: var(--accent);
      font-size: var(--fs-caption);
      font-weight: 650;
    }

    .activity-filter-bar > button:disabled { opacity: .58; cursor: wait; }

    .activity-status {
      min-height: 31px;
      margin: 0;
      padding: 5px 12px 9px;
      border: 0;
      background: transparent;
      color: var(--muted);
      font-size: var(--fs-caption);
      line-height: 1.5;
    }

    .activity-status:empty { display: none; }
    .activity-status.is-loading { color: var(--accent); }
    .activity-status.is-error { color: var(--danger); background: var(--danger-surface); }

    .activity-timeline {
      min-height: 370px;
      padding: var(--sp-5) 0 var(--sp-6);
    }

    .activity-day + .activity-day { margin-top: 30px; }

    .activity-day-head {
      display: grid;
      grid-template-columns: auto auto minmax(30px, 1fr) auto;
      align-items: center;
      gap: var(--sp-3);
      min-height: 32px;
    }

    .activity-date-orb {
      display: grid;
      width: auto;
      height: 32px;
      place-content: center;
      position: relative;
      z-index: 1;
      padding: 0 var(--sp-3);
      border: 0;
      border-radius: var(--r-sm);
      background: var(--espresso);
      text-align: center;
      box-shadow: none;
    }

    .activity-date-orb strong {
      color: var(--on-espresso);
      font-size: var(--fs-label);
      font-variant-numeric: tabular-nums;
      line-height: 1;
      letter-spacing: .04em;
    }

    .activity-weekday { color: var(--muted); font-size: var(--fs-caption); }

    .activity-day-rule {
      height: 1px;
      background: linear-gradient(90deg, var(--line), var(--border-subtle));
    }

    .activity-day-count {
      padding: 4px 8px;
      border-radius: var(--r-full);
      background: var(--accent-surface-strong);
      color: var(--muted);
      font-size: var(--fs-caption);
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }

    .activity-event-list {
      display: grid;
      width: 100%;
      max-width: none;
      gap: var(--sp-2);
      margin: var(--sp-3) 0 0;
    }

    .activity-event {
      --activity-color: var(--accent);
      --activity-soft: var(--accent-soft);
      display: grid;
      grid-template-columns: 52px 28px minmax(0, 1fr);
      align-items: center;
      gap: var(--sp-3);
      min-height: 0;
      padding: 0;
      border: 0;
    }

    .activity-event:last-child { border-bottom: 0; }
    .activity-event.is-create { --activity-color: var(--color-activity-create); --activity-soft: var(--color-activity-create-soft); }
    .activity-event.is-update { --activity-color: var(--color-activity-update); --activity-soft: var(--color-activity-update-soft); }
    .activity-event.is-assign { --activity-color: var(--color-activity-create); --activity-soft: var(--color-activity-create-soft); }
    .activity-event.is-schedule { --activity-color: var(--color-activity-restore); --activity-soft: var(--color-activity-restore-soft); }
    .activity-event.is-priority { --activity-color: var(--accent); --activity-soft: var(--accent-soft); }
    .activity-event.is-move { --activity-color: var(--color-activity-move); --activity-soft: var(--color-activity-move-soft); }
    .activity-event.is-archive { --activity-color: var(--accent); --activity-soft: var(--accent-soft); }
    .activity-event.is-restore { --activity-color: var(--color-activity-restore); --activity-soft: var(--color-activity-restore-soft); }
    .activity-event.is-delete { --activity-color: var(--color-activity-delete); --activity-soft: var(--color-activity-delete-soft); }

    .activity-event-time {
      color: var(--muted);
      font-size: var(--fs-caption);
      font-variant-numeric: tabular-nums;
      text-align: right;
      white-space: nowrap;
    }

    .activity-avatar {
      width: 28px;
      height: 28px;
      border: 0;
      border-radius: var(--r-sm);
      background: var(--avatar-bg, var(--espresso));
      color: var(--avatar-fg, var(--on-espresso));
      box-shadow: none;
    }

    .activity-avatar b { font-size: var(--fs-caption); font-weight: 720; letter-spacing: -.02em; }

    .activity-event-copy {
      display: grid;
      min-width: 0;
      grid-template-columns: max-content minmax(0, 1fr);
      align-items: baseline;
      gap: var(--sp-1) var(--sp-5);
      padding: var(--sp-3) var(--sp-4);
      border-radius: 0;
      background: var(--activity-surface-subtle);
      box-shadow: inset 3px 0 0 var(--activity-border);
    }
    .activity-event-message {
      display: flex;
      min-width: 0;
      flex-wrap: nowrap;
      align-items: baseline;
      gap: var(--sp-1) var(--sp-2);
      color: var(--color-body-warm);
      font-size: var(--fs-label);
      line-height: 1.5;
    }

    .activity-event-message .activity-actor { color: var(--ink); font-size: var(--fs-body); }
    .activity-task-title {
      min-width: 0;
      color: var(--ink);
      font-size: var(--fs-body);
      overflow-wrap: normal;
      white-space: nowrap;
    }
    .activity-event-details {
      display: flex;
      min-width: 0;
      align-items: center;
      flex-wrap: nowrap;
      gap: var(--sp-3);
      margin: 0;
      overflow: visible;
      color: var(--color-text-warm);
      font-size: var(--fs-caption);
      line-height: 1.5;
      white-space: nowrap;
    }
    .activity-event-details .activity-action-label {
      flex: 0 0 auto;
      padding: 2px 6px;
      border-radius: var(--r-full);
      background: var(--activity-surface);
      color: var(--activity-ink);
      font-weight: 700;
      white-space: nowrap;
    }
    .activity-level-label { flex: 0 0 auto; white-space: nowrap; }
    .activity-change-summary {
      flex: 0 1 auto;
      min-width: 0;
      max-width: none;
      overflow: visible;
      color: var(--muted);
      text-overflow: clip;
      white-space: nowrap;
      overflow-wrap: normal;
    }
    .activity-change-summary:last-child {
      flex: 1 1 auto;
      max-width: none;
    }
    .activity-parent-context {
      flex: 1 1 auto;
      min-width: 0;
      padding: 0;
      overflow: visible;
      color: var(--muted);
      text-overflow: clip;
      white-space: nowrap;
      overflow-wrap: normal;
    }

    .activity-load-more {
      display: flex;
      justify-content: center;
      padding: 0 20px 24px;
    }

    .activity-load-more button {
      min-height: 34px;
      padding: 0 18px;
      border-radius: var(--r-full);
      background: var(--accent-surface-strong);
      color: var(--accent);
      font-size: var(--fs-caption);
    }
    .activity-load-more button[hidden] { display: none; }
    .activity-load-more button:disabled { opacity: .58; cursor: wait; }

    .activity-empty,
    .activity-error {
      display: grid;
      min-height: 300px;
      place-content: center;
      justify-items: center;
      gap: var(--sp-2);
      padding: 36px 20px;
      text-align: center;
    }

    .activity-empty-icon {
      display: grid;
      width: 48px;
      height: 48px;
      place-items: center;
      margin-bottom: 4px;
      border: 1px solid var(--line);
      border-radius: var(--r-full);
      background: var(--accent-pale);
      color: var(--accent-mid);
      font-size: var(--fs-h3);
    }

    .activity-empty strong,
    .activity-error strong { color: var(--ink); font-size: var(--fs-body); }
    .activity-empty > span:last-child,
    .activity-error span { max-width: 420px; color: var(--muted); font-size: var(--fs-caption); line-height: 1.5; }
    .activity-error strong { color: var(--danger); }
    .activity-error button { min-height: 32px; margin-top: 5px; border-radius: var(--r-full); font-size: var(--fs-caption); }

    .activity-skeleton {
      display: grid;
      grid-template-columns: 66px minmax(0, 1fr);
      gap: var(--sp-2);
    }

    .activity-skeleton-date,
    .activity-skeleton-row i,
    .activity-skeleton-row b,
    .activity-skeleton-row em {
      position: relative;
      overflow: hidden;
      background: var(--surface-soft);
    }

    .activity-skeleton-date { width: 66px; height: 66px; border-radius: var(--r-full); }
    .activity-skeleton > div { display: grid; gap: var(--sp-4); padding: 9px 0 0 12px; }
    .activity-skeleton-row { display: grid; grid-template-columns: 36px minmax(120px, 1fr) 120px; gap: var(--sp-3); align-items: center; }
    .activity-skeleton-row i { width: 36px; height: 36px; border-radius: var(--r-full); }
    .activity-skeleton-row b { height: 14px; border-radius: var(--r-sm); }
    .activity-skeleton-row em { height: 24px; border-radius: var(--r-full); }
    .activity-skeleton-date::after,
    .activity-skeleton-row i::after,
    .activity-skeleton-row b::after,
    .activity-skeleton-row em::after {
      content: "";
      position: absolute;
      inset: 0;
      transform: translateX(-100%);
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
      animation: activity-shimmer 1.35s ease-in-out infinite;
    }

    @keyframes activity-shimmer { to { transform: translateX(100%); } }

    @media (max-width: 820px) {
      .activity-filter-bar > label,
      .activity-filter-bar > .activity-filter-field { flex: 1 1 calc(33.333% - 9px); }
      .activity-filter-bar > button { margin-left: 0; }
      .activity-event { grid-template-columns: 48px 38px minmax(0, 1fr); }
      .activity-event-copy { grid-template-columns: minmax(0, 1fr); }
      .activity-event-message { flex-wrap: wrap; }
      .activity-task-title {
        overflow-wrap: anywhere;
        white-space: normal;
      }
      .activity-event-details {
        align-items: flex-start;
        flex-wrap: wrap;
        overflow: visible;
        white-space: normal;
      }
      .activity-change-summary,
      .activity-change-summary:last-child,
      .activity-parent-context {
        max-width: 100%;
        flex: 1 1 100%;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        overflow-wrap: anywhere;
      }
    }

    @media (max-width: 640px) {
      .activity-section { min-height: 480px; }
      .activity-section > .section-head { align-items: flex-start; flex-direction: column; }
      .activity-filter-bar {
        align-items: stretch;
        padding: var(--workspace-page-content-space) var(--sp-3) var(--sp-3);
      }
      .activity-filter-bar > label,
      .activity-filter-bar > .activity-filter-field { min-width: 0; flex: 1 1 100%; }
      .activity-filter-bar > button { width: 100%; }
      .activity-status { padding-inline: var(--sp-3); }
      .activity-timeline { min-height: 320px; padding: 18px 14px 24px; }
      .activity-day + .activity-day { margin-top: 24px; }
      .activity-day-head { grid-template-columns: 58px auto minmax(20px, 1fr) auto; min-height: 58px; gap: var(--sp-2); }
      .activity-date-orb { width: 58px; height: 58px; border-width: 3px; }
      .activity-date-orb strong { font-size: var(--fs-title); }
      .activity-event-list { margin-left: 0; padding-top: 6px; }
      .activity-event { grid-template-columns: 42px 34px minmax(0, 1fr); gap: var(--sp-2); min-height: 0; }
      .activity-event-copy { padding: var(--sp-3); }
      .activity-event-time { font-size: var(--fs-caption); }
      .activity-avatar { width: 32px; height: 32px; }
      .activity-event-details { gap: var(--sp-2); }
      .activity-event-message { gap-inline: 5px; }
      .activity-skeleton { grid-template-columns: 58px minmax(0, 1fr); }
      .activity-skeleton-date { width: 58px; height: 58px; }
      .activity-skeleton-row { grid-template-columns: 32px minmax(80px, 1fr); }
      .activity-skeleton-row em { display: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      .activity-skeleton-date::after,
      .activity-skeleton-row i::after,
      .activity-skeleton-row b::after,
      .activity-skeleton-row em::after { animation: none; }
    }
