.activity-title { align-items: end; }
.activity-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.activity-summary article { background: var(--panel, #fff); border: 1px solid var(--line, #dfe4ea); border-radius: 14px; padding: 1rem; display: grid; gap: .2rem; }
.activity-summary small, .activity-summary span { color: var(--muted, #657080); }
.activity-summary strong { font-size: 1.65rem; }
.activity-filters { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; padding: 1rem; background: var(--panel, #fff); border: 1px solid var(--line, #dfe4ea); border-radius: 14px; }
.activity-filters label { display: grid; gap: .25rem; min-width: 145px; font-size: .8rem; color: var(--muted, #657080); }
.activity-filters select { min-height: 42px; }
.activity-live { margin-left: auto; color: var(--muted, #657080); font-size: .82rem; padding-bottom: .7rem; }
.activity-live i { display: inline-block; width: 8px; height: 8px; margin-right: .35rem; border-radius: 50%; background: #1daf68; }
.activity-log { display: grid; gap: .85rem; margin-top: 1rem; }
.activity-task { min-width: 0; padding: 1rem 1.1rem; background: var(--panel, #fff); border: 1px solid var(--line, #dfe4ea); border-left: 5px solid #5865f2; border-radius: 14px; }
.activity-task.completed { border-left-color: #15965a; }
.activity-task.failed, .activity-task.lease_expired { border-left-color: #dc2626; }
.activity-task.deferred { border-left-color: #d97706; }
.activity-task.retry_queued, .activity-task.queued { border-left-color: #7c3aed; }
.activity-task-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.activity-task-head time { color: var(--muted, #657080); font-size: .76rem; white-space: nowrap; }
.activity-task-actions { display: grid; justify-items: end; gap: .45rem; }
.activity-task-actions a { font-size: .8rem; font-weight: 750; }
.activity-task-title h2 { margin: .4rem 0 .45rem; font-size: 1.08rem; }
.activity-worker-stack { display: flex; flex-wrap: wrap; gap: .35rem; }
.activity-worker-stack span { padding: .2rem .52rem; border-radius: 999px; background: #edf0ff; color: #3e46a8; font-size: .73rem; font-weight: 700; }
.activity-meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.activity-meta span, .activity-attempt-head span { border: 1px solid var(--line, #dfe4ea); border-radius: 999px; padding: .2rem .5rem; color: var(--muted, #657080); font-size: .71rem; text-transform: capitalize; }
.activity-meta .status-pill { color: #243047; font-weight: 700; }
.activity-attempts { display: grid; gap: .65rem; margin-top: .9rem; }
.activity-attempt { min-width: 0; padding: .8rem; background: #f8fafc; border: 1px solid var(--line, #dfe4ea); border-radius: 11px; }
.activity-attempt-head { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.activity-attempt-head strong { margin-right: .2rem; font-size: .84rem; }
.activity-checkpoints { display: flex; gap: .45rem; overflow-x: auto; padding: .12rem 0 .35rem; scrollbar-width: thin; }
.activity-checkpoint { position: relative; display: flex; align-items: flex-start; gap: .42rem; min-width: 142px; max-width: 220px; padding: .55rem .62rem; border-radius: 9px; background: #fff; border: 1px solid #dfe4ea; }
.activity-checkpoint:not(:last-child)::after { content: ""; position: absolute; top: 17px; left: 100%; width: .47rem; height: 2px; background: #cfd6df; }
.checkpoint-icon { display: grid; place-items: center; flex: 0 0 20px; height: 20px; border-radius: 50%; background: #15965a; color: #fff; font-size: .75rem; font-weight: 800; }
.activity-checkpoint.active { border-color: #5865f2; box-shadow: 0 0 0 2px rgba(88,101,242,.12); }
.activity-checkpoint.active .checkpoint-icon { background: #5865f2; animation: activity-pulse 1.25s infinite; }
.activity-checkpoint.failed { border-color: #efb4b4; background: #fff7f7; }
.activity-checkpoint.failed .checkpoint-icon { background: #dc2626; }
.activity-checkpoint.paused .checkpoint-icon { background: #d97706; }
.checkpoint-copy { min-width: 0; display: grid; gap: .15rem; }
.checkpoint-copy strong { font-size: .75rem; }
.checkpoint-copy small { display: -webkit-box; overflow: hidden; color: var(--muted, #657080); font-size: .67rem; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.activity-checkpoint em { margin-left: auto; color: var(--muted, #657080); font-size: .65rem; font-style: normal; }
.activity-error { margin: .55rem 0 0; padding: .55rem .65rem; border-radius: 8px; background: #fff0f0; color: #9c1c1c; font-size: .75rem; overflow-wrap: anywhere; }
.activity-result { margin-top: .75rem; padding: .75rem; border-left: 3px solid #1daf68; background: #f3faf6; border-radius: 8px; }
.activity-result small { display: block; margin-bottom: .25rem; color: #147a49; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.activity-result p { margin: 0; color: var(--muted, #657080); }
.activity-task details { margin-top: .55rem; }
.activity-task summary { cursor: pointer; color: var(--muted, #657080); font-size: .73rem; }
.activity-task code { display: block; overflow-wrap: anywhere; margin-top: .25rem; font-size: .68rem; }
.activity-detail-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.activity-detail-summary article, .activity-detail-card { background: var(--panel, #fff); border: 1px solid var(--line, #dfe4ea); border-radius: 14px; padding: 1rem; }
.activity-detail-summary article { display: grid; gap: .25rem; }
.activity-detail-summary small, .activity-note { color: var(--muted, #657080); }
.activity-detail-card { margin: 1rem 0; }
.activity-detail-card h2 { margin-top: 0; }
.activity-detail-body { white-space: pre-wrap; line-height: 1.55; }
.activity-detail-counts { display: flex; flex-wrap: wrap; gap: .65rem; }
.activity-detail-counts span { padding: .6rem .75rem; border-radius: 10px; background: #f3f5f8; }
.activity-found-list { display: grid; gap: .75rem; }
.activity-found-list article { padding: .8rem; border: 1px solid var(--line, #dfe4ea); border-radius: 10px; }
.activity-found-list h3 { margin: 0 0 .35rem; font-size: 1rem; }
.activity-source-list { display: grid; gap: .45rem; }
.activity-detail-timeline { display: grid; gap: .5rem; margin: 0; padding-left: 1.4rem; }
.activity-detail-timeline li { padding-left: .25rem; }
.activity-detail-timeline li span { display: block; color: var(--muted, #657080); }
.activity-detail-timeline time { color: var(--muted, #657080); font-size: .7rem; }
.activity-raw details + details { margin-top: .8rem; }
.activity-raw pre { max-height: 30rem; overflow: auto; padding: .8rem; border-radius: 9px; background: #111827; color: #e5edf8; white-space: pre-wrap; overflow-wrap: anywhere; }
@keyframes activity-pulse { 50% { opacity: .45; transform: scale(.86); } }
@media (max-width: 900px) { .activity-summary, .activity-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .activity-live { width: 100%; margin-left: 0; } }
@media (max-width: 560px) { .activity-summary, .activity-detail-summary { grid-template-columns: 1fr; } .activity-filters label { width: 100%; } .activity-task-head { flex-direction: column; } .activity-task-actions { justify-items: start; } .activity-task-head time { white-space: normal; } .activity-checkpoint { min-width: 128px; } }
