diff --git a/apps/web/src/components/chat/ComposerActionResume.test.tsx b/apps/web/src/components/chat/ComposerActionResume.test.tsx
index 1cc0c6f8548e..92647a8e7b18 100644
--- a/apps/web/src/components/chat/ComposerActionResume.test.tsx
+++ b/apps/web/src/components/chat/ComposerActionResume.test.tsx
@@ -33,7 +33,9 @@ describe("ComposerActionResumeBadge", () => {
);
expect(markup).toContain('data-composer-action-resume-badge="true"');
+ expect(markup).toContain('data-variant="warning"');
expect(markup).toContain("chat-composer-shoulder-tab");
+ expect(markup).toContain("text-warning-foreground");
expect(markup).toContain("lucide-rotate-ccw-clock");
expect(markup).toContain("Deploy preview");
expect(markup).toContain("Running");
@@ -85,6 +87,7 @@ describe("ComposerActionResumeDrawer", () => {
expect(markup).toContain('data-chat-composer-action-resume-drawer="true"');
expect(markup).toContain('data-variant="warning"');
+ expect(markup).toContain("bg-warning");
expect(markup).toContain("vp run deploy:preview");
expect(markup).toContain(
"When it finishes, LastCode resumes the agent once this thread is idle",
diff --git a/apps/web/src/components/chat/ComposerActionResume.tsx b/apps/web/src/components/chat/ComposerActionResume.tsx
index 98991bdba607..58789f6d5327 100644
--- a/apps/web/src/components/chat/ComposerActionResume.tsx
+++ b/apps/web/src/components/chat/ComposerActionResume.tsx
@@ -52,7 +52,7 @@ export const ComposerActionResumeBadge = memo(function ComposerActionResumeBadge
aria-expanded={expanded}
aria-label={label}
disabled={disabled}
- className="shrink-0 gap-1 px-1.5 text-yellow-700 dark:text-yellow-300"
+ className="shrink-0 gap-1 px-1.5 text-warning-foreground"
onClick={onToggle}
onPointerDown={(event) => event.preventDefault()}
>
@@ -65,14 +65,15 @@ export const ComposerActionResumeBadge = memo(function ComposerActionResumeBadge
return (
diff --git a/apps/web/src/components/chat/MessagesTimeline.test.tsx b/apps/web/src/components/chat/MessagesTimeline.test.tsx
index beec7fbb4d75..cadcebe97a4f 100644
--- a/apps/web/src/components/chat/MessagesTimeline.test.tsx
+++ b/apps/web/src/components/chat/MessagesTimeline.test.tsx
@@ -258,6 +258,8 @@ describe("MessagesTimeline", () => {
expect(markup).toContain("[lastcode:ci] Summary: all checks passed");
expect(markup).not.toContain("full output hidden while collapsed");
expect(markup).toContain('aria-expanded="false"');
+ expect(markup).toContain("border-warning/28 bg-warning/8");
+ expect(markup).toContain("text-warning-foreground");
});
it("shows the validated outcome when an Action has no exit code", () => {
diff --git a/apps/web/src/components/chat/MessagesTimeline.tsx b/apps/web/src/components/chat/MessagesTimeline.tsx
index 920f32f6adcb..289f2c9bd5c1 100644
--- a/apps/web/src/components/chat/MessagesTimeline.tsx
+++ b/apps/web/src/components/chat/MessagesTimeline.tsx
@@ -1408,11 +1408,11 @@ function SystemTimelineRow({ row }: { row: Extract
+