This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch fix/CAMEL-23934
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3e7b0f3a87faed53358e22fe5a163d3eacd1c85b
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jul 8 12:15:22 2026 +0200

    CAMEL-23934: Replace hardcoded Color.GREEN/LIGHT_RED with 
Theme.success()/error()
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../dsl/jbang/core/commands/tui/AiLogPopup.java    |  6 ++--
 .../camel/dsl/jbang/core/commands/tui/AiPanel.java |  2 +-
 .../dsl/jbang/core/commands/tui/CamelMonitor.java  |  6 ++--
 .../jbang/core/commands/tui/CircuitBreakerTab.java | 20 +++++++-------
 .../dsl/jbang/core/commands/tui/ClasspathTab.java  |  3 +-
 .../dsl/jbang/core/commands/tui/ConsumersTab.java  |  8 +++---
 .../dsl/jbang/core/commands/tui/CveAuditTab.java   |  4 +--
 .../dsl/jbang/core/commands/tui/DataSourceTab.java |  2 +-
 .../dsl/jbang/core/commands/tui/DiagramTab.java    | 12 ++++----
 .../jbang/core/commands/tui/DocViewerPopup.java    |  4 +--
 .../dsl/jbang/core/commands/tui/EndpointsTab.java  | 14 +++++-----
 .../dsl/jbang/core/commands/tui/ErrorsTab.java     | 14 +++++-----
 .../dsl/jbang/core/commands/tui/HealthTab.java     |  4 +--
 .../jbang/core/commands/tui/HeapHistogramTab.java  |  6 ++--
 .../camel/dsl/jbang/core/commands/tui/HttpTab.java | 18 ++++++------
 .../dsl/jbang/core/commands/tui/InflightTab.java   | 12 ++++----
 .../camel/dsl/jbang/core/commands/tui/LogTab.java  |  4 +--
 .../core/commands/tui/MavenDependenciesTab.java    |  3 +-
 .../dsl/jbang/core/commands/tui/McpLogPopup.java   |  8 +++---
 .../dsl/jbang/core/commands/tui/MemoryLeakTab.java | 14 +++++-----
 .../dsl/jbang/core/commands/tui/MemoryTab.java     | 24 ++++++++--------
 .../dsl/jbang/core/commands/tui/MetricsTab.java    |  4 +--
 .../dsl/jbang/core/commands/tui/OverviewTab.java   | 10 +++----
 .../dsl/jbang/core/commands/tui/PopupManager.java  |  4 +--
 .../dsl/jbang/core/commands/tui/RoutesTab.java     | 32 +++++++++++-----------
 .../jbang/core/commands/tui/SendMessagePopup.java  |  7 ++---
 .../dsl/jbang/core/commands/tui/SpansTab.java      | 16 +++++------
 .../dsl/jbang/core/commands/tui/SqlQueryTab.java   | 10 ++++---
 .../dsl/jbang/core/commands/tui/SqlTraceTab.java   | 10 +++----
 .../dsl/jbang/core/commands/tui/StartupTab.java    |  3 +-
 .../dsl/jbang/core/commands/tui/ThreadsTab.java    |  4 +--
 .../dsl/jbang/core/commands/tui/TuiHelper.java     |  6 ++--
 .../commands/tui/CircuitBreakerTabRenderTest.java  |  4 +--
 .../core/commands/tui/ConsumersTabRenderTest.java  |  4 +--
 .../core/commands/tui/DataSourceTabRenderTest.java |  2 +-
 .../core/commands/tui/EndpointsTabRenderTest.java  |  2 +-
 .../core/commands/tui/ErrorsTabRenderTest.java     |  4 +--
 .../core/commands/tui/HealthTabRenderTest.java     |  4 +--
 .../jbang/core/commands/tui/HttpTabRenderTest.java |  4 +--
 .../core/commands/tui/InflightTabRenderTest.java   |  4 +--
 .../commands/tui/MonitorContextRenderTest.java     |  2 +-
 .../core/commands/tui/MonitorContextTest.java      |  7 ++---
 .../core/commands/tui/RoutesTabRenderTest.java     |  6 ++--
 .../core/commands/tui/SpansTabRenderTest.java      |  2 +-
 .../core/commands/tui/SqlTraceTabRenderTest.java   |  2 +-
 45 files changed, 168 insertions(+), 173 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java
index a8d78a7f8a99..f7f37200c20d 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java
@@ -134,9 +134,9 @@ class AiLogPopup {
             Style levelStyle = switch (entry.level()) {
                 case QUESTION -> Style.EMPTY.fg(Color.CYAN);
                 case TOOL -> Theme.warning();
-                case RESULT -> Style.EMPTY.fg(Color.GREEN);
+                case RESULT -> Theme.success();
                 case RESPONSE -> Style.EMPTY.fg(Color.MAGENTA);
-                case ERROR -> Style.EMPTY.fg(Color.LIGHT_RED);
+                case ERROR -> Theme.error();
             };
             String levelTag = switch (entry.level()) {
                 case QUESTION -> " ASK      ";
@@ -177,7 +177,7 @@ class AiLogPopup {
                         entry.level() == AiPanel.LogLevel.TOOL
                                 ? TuiIcons.ARROW_RIGHT + " Arguments"
                                 : TuiIcons.ARROW_LEFT + " Result",
-                        (entry.level() == AiPanel.LogLevel.TOOL ? 
Theme.warning() : Style.EMPTY.fg(Color.GREEN)).bold())));
+                        (entry.level() == AiPanel.LogLevel.TOOL ? 
Theme.warning() : Theme.success()).bold())));
                 addJsonLines(lines, detail);
             } else {
                 lines.add(Line.from(Span.styled(TuiIcons.ARROW_RIGHT + " 
Content",
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java
index 0b7ce4c1047f..447032b5701e 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java
@@ -742,7 +742,7 @@ class AiPanel {
                 Span.styled("   Total tokens: ", dimStyle),
                 Span.styled(LlmClient.formatTokens(totalTokens), cyanStyle),
                 Span.styled(" (in: ", dimStyle),
-                Span.styled(LlmClient.formatTokens(totalInput), 
Style.EMPTY.fg(Color.GREEN)),
+                Span.styled(LlmClient.formatTokens(totalInput), 
Theme.success()),
                 Span.styled(" / out: ", dimStyle),
                 Span.styled(LlmClient.formatTokens(totalOutput), 
Theme.label()),
                 Span.styled(")", dimStyle)));
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
index fb4e422bbeeb..97091088e072 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
@@ -1190,8 +1190,8 @@ public class CamelMonitor extends CamelCommand {
                         Paragraph.builder().text(Text.from(titleLine)).build(),
                         leftArea);
                 Color waveColor = activeNotificationError
-                        ? Theme.error().fg().orElse(Color.LIGHT_RED)
-                        : Theme.success().fg().orElse(Color.LIGHT_GREEN);
+                        ? Theme.error().fg().orElse(Color.RED)
+                        : Theme.success().fg().orElse(Color.GREEN);
                 WaveText wave = WaveText.builder()
                         .text(activeNotification)
                         .color(waveColor)
@@ -1395,7 +1395,7 @@ public class CamelMonitor extends CamelCommand {
     private void computeTabBadges(String[] badgeTexts, Style[] badgeStyles) {
         Style yellow = Theme.label();
         Style cyan = Style.EMPTY.fg(Color.CYAN).bold();
-        Style red = Style.EMPTY.fg(Color.LIGHT_RED).bold();
+        Style red = Theme.error().bold();
         for (int j = 0; j < badgeStyles.length; j++) {
             badgeTexts[j] = "";
             badgeStyles[j] = yellow;
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
index c097d8226c14..8abe6e2a7c0a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
@@ -79,8 +79,8 @@ class CircuitBreakerTab extends AbstractTableTab {
         List<Row> rows = new ArrayList<>();
         for (CircuitBreakerInfo cb : sorted) {
             Style stateStyle = switch (cb.state != null ? 
cb.state.toLowerCase() : "") {
-                case "closed" -> Style.EMPTY.fg(Color.GREEN);
-                case "open", "forced_open" -> Style.EMPTY.fg(Color.LIGHT_RED);
+                case "closed" -> Theme.success();
+                case "open", "forced_open" -> Theme.error();
                 default -> Theme.warning();
             };
             String state = cb.state != null ? cb.state : "";
@@ -193,8 +193,8 @@ class CircuitBreakerTab extends AbstractTableTab {
         boolean isClosed = state.equals("closed");
         boolean isOpen = state.equals("open") || state.equals("forced_open");
 
-        Style closedBox = isClosed ? Style.EMPTY.fg(Color.GREEN).bold() : 
Style.EMPTY;
-        Style openBox = isOpen ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : 
Style.EMPTY;
+        Style closedBox = isClosed ? Theme.success().bold() : Style.EMPTY;
+        Style openBox = isOpen ? Theme.error().bold() : Style.EMPTY;
         Style halfOpenBox = !isClosed && !isOpen ? Theme.warning().bold() : 
Style.EMPTY;
         Style lbl = Style.EMPTY.dim();
 
@@ -279,11 +279,11 @@ class CircuitBreakerTab extends AbstractTableTab {
         double rate = cb.failureRate >= 0 ? cb.failureRate : 0;
         Style barColor;
         if (rate >= 80) {
-            barColor = Style.EMPTY.fg(Color.LIGHT_RED);
+            barColor = Theme.error();
         } else if (rate >= 50) {
             barColor = Theme.warning();
         } else {
-            barColor = Style.EMPTY.fg(Color.GREEN);
+            barColor = Theme.success();
         }
         String rateLabel = String.format(" %.0f%%", Math.max(0, 
cb.failureRate));
         int barWidth = MAX_CHART_POINTS;
@@ -324,15 +324,15 @@ class CircuitBreakerTab extends AbstractTableTab {
         long curSuccess = successArr[renderPoints - 1];
         long curFail = failArr[renderPoints - 1];
         Line chartTitle = Line.from(
-                Span.styled("▬", Style.EMPTY.fg(Color.GREEN)),
+                Span.styled("▬", Theme.success()),
                 Span.raw(String.format(" ok:%-4d ", curSuccess)),
-                Span.styled("▬", Style.EMPTY.fg(Color.LIGHT_RED)),
+                Span.styled("▬", Theme.error()),
                 Span.raw(String.format(" fail:%-4d msg/s", curFail)));
         frame.renderWidget(DualSparkline.builder()
                 .topData(successArr)
                 .bottomData(failArr)
-                .topStyle(Style.EMPTY.fg(Color.GREEN))
-                .bottomStyle(Style.EMPTY.fg(Color.LIGHT_RED))
+                .topStyle(Theme.success())
+                .bottomStyle(Theme.error())
                 .showYAxis(true)
                 .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 
4) + "s",
                         "-" + (renderPoints / 2) + "s", "-" + (renderPoints / 
4) + "s", "now")
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java
index eeace73c5f96..1df66be3e012 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import dev.tamboui.layout.Rect;
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Style;
 import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
@@ -216,7 +215,7 @@ class ClasspathTab extends AbstractTab {
             frame.renderWidget(
                     Paragraph.builder()
                             .text(Text.from(Line.from(
-                                    Span.styled("  " + errorMessage, 
Style.EMPTY.fg(Color.LIGHT_RED)))))
+                                    Span.styled("  " + errorMessage, 
Theme.error()))))
                             
.block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL)
                                     .title(" Classpath ").build())
                             .build(),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
index a1185388bdab..236d4442b4c9 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
@@ -87,10 +87,10 @@ class ConsumersTab extends AbstractTableTab {
             HealthCheckInfo hc = consumerHealthCheck(info, ci);
             boolean healthDown = hc != null && "DOWN".equals(hc.state);
             Style statusStyle = healthDown
-                    ? Style.EMPTY.fg(Color.LIGHT_RED)
+                    ? Theme.error()
                     : ("Started".equals(ci.state) || "Polling".equals(status)
-                            ? Style.EMPTY.fg(Color.GREEN)
-                            : Style.EMPTY.fg(Color.LIGHT_RED));
+                            ? Theme.success()
+                            : Theme.error());
             String statusText = healthDown ? TuiIcons.HEALTH_WARN + " " + 
status : status;
             String type = consumerType(ci);
             String schedule = consumerSchedule(ci);
@@ -107,7 +107,7 @@ class ConsumersTab extends AbstractTableTab {
                     rightCell(ci.totalCounter != null ? 
String.valueOf(ci.totalCounter) : "", 8),
                     Cell.from(schedule),
                     Cell.from(sinceLast),
-                    Cell.from(Span.styled(uri, healthDown ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY))));
+                    Cell.from(Span.styled(uri, healthDown ? Theme.error() : 
Style.EMPTY))));
         }
 
         if (rows.isEmpty()) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java
index 09dc5bb02af1..9d321f4d632f 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java
@@ -169,7 +169,7 @@ class CveAuditTab extends AbstractTableTab {
             frame.renderWidget(
                     Paragraph.builder()
                             .text(Text.from(Line.from(
-                                    Span.styled("  " + errorMessage, 
Style.EMPTY.fg(Color.LIGHT_RED)))))
+                                    Span.styled("  " + errorMessage, 
Theme.error()))))
                             
.block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL)
                                     .title(" CVE Audit ").build())
                             .build(),
@@ -183,7 +183,7 @@ class CveAuditTab extends AbstractTableTab {
                             .text(Text.from(
                                     Line.from(Span.raw("")),
                                     Line.from(Span.styled("  No 
vulnerabilities found",
-                                            Style.EMPTY.fg(Color.GREEN))),
+                                            Theme.success())),
                                     Line.from(Span.raw("")),
                                     Line.from(Span.styled(
                                             String.format("  Scanned %d 
dependencies", scannedCount),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java
index 560c9de13ffc..c654b25087d1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java
@@ -85,7 +85,7 @@ class DataSourceTab extends AbstractTableTab {
             boolean waiters = di.waiting > 0;
 
             Style activeStyle = exhausted
-                    ? Style.EMPTY.fg(Color.LIGHT_RED)
+                    ? Theme.error()
                     : Style.EMPTY.fg(Color.CYAN);
             Style waitingStyle = waiters
                     ? Theme.warning()
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java
index d85901a5d735..26729f67f1d6 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java
@@ -432,7 +432,7 @@ class DiagramTab extends AbstractTab {
                     Span.styled(" From:  ", Style.EMPTY.dim()),
                     Span.raw(route.from != null ? route.from : "")));
             String stateLabel = route.state != null ? route.state : "";
-            Style stateStyle = "Started".equals(route.state) ? 
Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED);
+            Style stateStyle = "Started".equals(route.state) ? Theme.success() 
: Theme.error();
             lines.add(Line.from(
                     Span.styled(" State: ", Style.EMPTY.dim()),
                     Span.styled(stateLabel, stateStyle)));
@@ -455,7 +455,7 @@ class DiagramTab extends AbstractTab {
             lines.add(Line.from(
                     Span.styled(" Total:    ", Style.EMPTY.dim()),
                     Span.raw(String.format("%" + w + "d", route.total))));
-            Style failStyle = route.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY;
+            Style failStyle = route.failed > 0 ? Theme.error().bold() : 
Style.EMPTY;
             lines.add(Line.from(
                     Span.styled(" Failed:   ", Style.EMPTY.dim()),
                     Span.styled(String.format("%" + w + "d", route.failed), 
failStyle)));
@@ -490,7 +490,7 @@ class DiagramTab extends AbstractTab {
                     lines.add(Line.from(
                             Span.styled("   fail:    ", Style.EMPTY.dim()),
                             Span.styled(route.sinceLastFailed,
-                                    Style.EMPTY.fg(Color.LIGHT_RED))));
+                                    Theme.error())));
                 }
             }
 
@@ -530,7 +530,7 @@ class DiagramTab extends AbstractTab {
                         lines.add(Line.from(
                                 Span.styled(" Failed: ", Style.EMPTY.dim()),
                                 
Span.styled(String.valueOf(topoNode.exchangesFailed),
-                                        
Style.EMPTY.fg(Color.LIGHT_RED).bold())));
+                                        Theme.error().bold())));
                     }
                 }
             } else {
@@ -595,7 +595,7 @@ class DiagramTab extends AbstractTab {
                         Span.styled(" Total:    ", Style.EMPTY.dim()),
                         Span.raw(String.format("%" + w + "d", 
stat.exchangesTotal))));
                 Style failStyle = stat.exchangesFailed > 0
-                        ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY;
+                        ? Theme.error().bold() : Style.EMPTY;
                 lines.add(Line.from(
                         Span.styled(" Failed:   ", Style.EMPTY.dim()),
                         Span.styled(String.format("%" + w + "d", 
stat.exchangesFailed), failStyle)));
@@ -636,7 +636,7 @@ class DiagramTab extends AbstractTab {
                             lines.add(Line.from(
                                     Span.styled("   fail:    ", 
Style.EMPTY.dim()),
                                     Span.styled(TimeUtils.printDuration(ago, 
false),
-                                            Style.EMPTY.fg(Color.LIGHT_RED))));
+                                            Theme.error())));
                         }
                     }
                 }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java
index 643428ef4c66..ba52a1763926 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java
@@ -25,9 +25,7 @@ import java.util.stream.Collectors;
 
 import dev.tamboui.layout.Rect;
 import dev.tamboui.markdown.MarkdownView;
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Overflow;
-import dev.tamboui.style.Style;
 import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
 import dev.tamboui.text.Span;
@@ -406,7 +404,7 @@ class DocViewerPopup {
         if (docTitle != null && docTitle.startsWith("Failed:")) {
             String rest = docTitle.substring("Failed:".length());
             title = Title.from(Line.from(
-                    Span.styled(" Failed:", 
Style.EMPTY.fg(Color.LIGHT_RED).bold()),
+                    Span.styled(" Failed:", Theme.error().bold()),
                     Span.raw(rest + " ")));
         } else {
             title = Title.from(" " + docTitle + " ");
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
index 2849b3340af5..647d144bd2fe 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
@@ -218,7 +218,7 @@ class EndpointsTab extends AbstractTableTab {
         for (EndpointInfo ep : sortedEndpoints) {
             String dir = ep.direction != null ? ep.direction : "";
             Style dirStyle = switch (dir) {
-                case "in" -> Style.EMPTY.fg(Color.GREEN);
+                case "in" -> Theme.success();
                 case "out" -> Style.EMPTY.fg(Color.CYAN);
                 default -> Theme.label();
             };
@@ -465,7 +465,7 @@ class EndpointsTab extends AbstractTableTab {
         String inLabelStr = " ".repeat(inLabelPad) + "in" + " ".repeat(sideLen 
- inLabelPad - 2);
         String outLabelStr = " ".repeat(outLabelPad) + "out";
 
-        Style inStyle = Style.EMPTY.fg(Color.GREEN);
+        Style inStyle = Theme.success();
         Style outStyle = Style.EMPTY.fg(Color.CYAN);
         Style dimStyle = Style.EMPTY.dim();
 
@@ -522,7 +522,7 @@ class EndpointsTab extends AbstractTableTab {
         long curOut = outArr[renderPoints - 1];
 
         Line chartTitle = Line.from(
-                Span.styled("▬", Style.EMPTY.fg(Color.GREEN)),
+                Span.styled("▬", Theme.success()),
                 Span.raw(String.format(" in:%-4s ", 
MetricsCollector.formatThroughput(curIn))),
                 Span.styled("▬", Style.EMPTY.fg(Color.CYAN)),
                 Span.raw(String.format(" out:%-4s msg/s", 
MetricsCollector.formatThroughput(curOut))));
@@ -531,7 +531,7 @@ class EndpointsTab extends AbstractTableTab {
         frame.renderWidget(DualSparkline.builder()
                 .topData(inArr)
                 .bottomData(outArr)
-                .topStyle(Style.EMPTY.fg(Color.GREEN))
+                .topStyle(Theme.success())
                 .bottomStyle(Style.EMPTY.fg(Color.CYAN))
                 .showYAxis(true)
                 .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 
4) + "s",
@@ -578,7 +578,7 @@ class EndpointsTab extends AbstractTableTab {
         String inLabelStr = " ".repeat(inLabelPad) + "in" + " ".repeat(sideLen 
- inLabelPad - 2);
         String outLabelStr = " ".repeat(outLabelPad) + "out";
 
-        Style inStyle = Style.EMPTY.fg(Color.GREEN);
+        Style inStyle = Theme.success();
         Style outStyle = Style.EMPTY.fg(Color.CYAN);
         Style dimStyle = Style.EMPTY.dim();
 
@@ -635,7 +635,7 @@ class EndpointsTab extends AbstractTableTab {
                 Span.raw(" ["),
                 Span.styled(uriLabel, Theme.label().bold()),
                 Span.raw("] "),
-                Span.styled("▬", Style.EMPTY.fg(Color.GREEN)),
+                Span.styled("▬", Theme.success()),
                 Span.raw(String.format(" in:%-4s ", 
MetricsCollector.formatThroughput(curIn))),
                 Span.styled("▬", Style.EMPTY.fg(Color.CYAN)),
                 Span.raw(String.format(" out:%-4s msg/s", 
MetricsCollector.formatThroughput(curOut))));
@@ -643,7 +643,7 @@ class EndpointsTab extends AbstractTableTab {
         frame.renderWidget(DualSparkline.builder()
                 .topData(inArr)
                 .bottomData(outArr)
-                .topStyle(Style.EMPTY.fg(Color.GREEN))
+                .topStyle(Theme.success())
                 .bottomStyle(Style.EMPTY.fg(Color.CYAN))
                 .showYAxis(true)
                 .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 
4) + "s",
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
index 78e432b9f48a..d49796fcc1fd 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
@@ -335,7 +335,7 @@ class ErrorsTab extends AbstractTableTab {
                     ? org.apache.camel.util.TimeUtils.printSince(ei.timestamp) 
: "";
             String handledStr = ei.handled ? "true" : "false";
             Style handledStyle = ei.handled
-                    ? Style.EMPTY.fg(Color.GREEN) : 
Style.EMPTY.fg(Color.LIGHT_RED);
+                    ? Theme.success() : Theme.error();
             String shortException = shortExceptionType(ei.exceptionType);
 
             rows.add(Row.from(
@@ -624,14 +624,14 @@ class ErrorsTab extends AbstractTableTab {
                     Span.styled(" Thread:   ", Theme.label().bold()),
                     Span.raw(ei.threadName)));
         }
-        Style handledStyle = ei.handled ? Style.EMPTY.fg(Color.GREEN) : 
Style.EMPTY.fg(Color.LIGHT_RED).bold();
+        Style handledStyle = ei.handled ? Theme.success() : 
Theme.error().bold();
         lines.add(Line.from(
                 Span.styled(" Handled:  ", Theme.label().bold()),
                 Span.styled(ei.handled ? "true" : "false", handledStyle)));
 
         if (ei.exceptionType != null) {
             lines.add(Line.from(Span.raw("")));
-            lines.add(Line.from(Span.styled(" Exception", 
Style.EMPTY.fg(Color.LIGHT_RED).bold())));
+            lines.add(Line.from(Span.styled(" Exception", 
Theme.error().bold())));
             lines.add(Line.from(Span.raw(" " + ei.exceptionType)));
             if (ei.exceptionMessage != null) {
                 lines.add(Line.from(Span.raw(" " + ei.exceptionMessage)));
@@ -641,7 +641,7 @@ class ErrorsTab extends AbstractTableTab {
         if (showBody && ei.body != null) {
             lines.add(Line.from(Span.raw("")));
             lines.add(Line.from(
-                    Span.styled(" Body", Style.EMPTY.fg(Color.GREEN).bold()),
+                    Span.styled(" Body", Theme.success().bold()),
                     ei.bodyType != null ? Span.styled(" (" + ei.bodyType + 
")", Style.EMPTY.dim()) : Span.raw("")));
             for (String line : ei.body.split("\n")) {
                 lines.add(Line.from(Span.raw(" " + line)));
@@ -650,19 +650,19 @@ class ErrorsTab extends AbstractTableTab {
 
         if (showHeaders && !ei.headers.isEmpty()) {
             lines.add(Line.from(Span.raw("")));
-            lines.add(Line.from(Span.styled(" Headers", 
Style.EMPTY.fg(Color.GREEN).bold())));
+            lines.add(Line.from(Span.styled(" Headers", 
Theme.success().bold())));
             addKvLines(lines, ei.headers);
         }
 
         if (showProperties && !ei.properties.isEmpty()) {
             lines.add(Line.from(Span.raw("")));
-            lines.add(Line.from(Span.styled(" Properties", 
Style.EMPTY.fg(Color.GREEN).bold())));
+            lines.add(Line.from(Span.styled(" Properties", 
Theme.success().bold())));
             addKvLines(lines, ei.properties);
         }
 
         if (showVariables && !ei.variables.isEmpty()) {
             lines.add(Line.from(Span.raw("")));
-            lines.add(Line.from(Span.styled(" Variables", 
Style.EMPTY.fg(Color.GREEN).bold())));
+            lines.add(Line.from(Span.styled(" Variables", 
Theme.success().bold())));
             addKvLines(lines, ei.variables);
         }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
index ed50832c1ad3..1fada0b8eba9 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
@@ -97,10 +97,10 @@ class HealthTab extends AbstractTableTab {
             Style stateStyle;
             String icon;
             if ("UP".equals(hc.state)) {
-                stateStyle = Style.EMPTY.fg(Color.GREEN);
+                stateStyle = Theme.success();
                 icon = TuiIcons.HEALTH_UP + " ";
             } else if ("DOWN".equals(hc.state)) {
-                stateStyle = Style.EMPTY.fg(Color.LIGHT_RED);
+                stateStyle = Theme.error();
                 icon = TuiIcons.HEALTH_DOWN + " ";
             } else {
                 stateStyle = Theme.warning();
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java
index 9f4aee91ba31..b514cc96ec8c 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java
@@ -238,11 +238,11 @@ class HeapHistogramTab extends AbstractTableTab {
                 lines.add(Line.from(
                         Span.styled("  JAR:        ", Theme.label().bold()),
                         Span.styled(jar.groupId() + ":" + jar.artifactId() + 
":" + jar.version(),
-                                Style.EMPTY.fg(Color.GREEN))));
+                                Theme.success())));
             } else {
                 lines.add(Line.from(
                         Span.styled("  JAR:        ", Theme.label().bold()),
-                        Span.styled(jar.display(), 
Style.EMPTY.fg(Color.GREEN))));
+                        Span.styled(jar.display(), Theme.success())));
             }
             if (jar.fullPath() != null) {
                 String path = jar.fullPath();
@@ -258,7 +258,7 @@ class HeapHistogramTab extends AbstractTableTab {
             lines.add(Line.from(Span.raw("")));
             lines.add(Line.from(
                     Span.styled("  JAR:        ", Theme.label().bold()),
-                    Span.styled("JDK (built-in)", 
Style.EMPTY.fg(Color.GREEN))));
+                    Span.styled("JDK (built-in)", Theme.success())));
         }
 
         String title = " Detail: " + TuiHelper.truncate(className, 
area.width() - 14) + " ";
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
index 40124a1356fc..64087e6263fa 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
@@ -1028,7 +1028,7 @@ class HttpTab extends AbstractTableTab {
             titleStr = " Response ";
         } else if (probeResponseError) {
             titleStr = " Response " + probeResponseStatus + " ";
-            titleStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold();
+            titleStyle = Theme.error().bold();
         } else if ("Sending...".equals(probeResponseStatus)) {
             titleStr = " Sending... ";
             titleStyle = Theme.warning().bold();
@@ -1152,7 +1152,7 @@ class HttpTab extends AbstractTableTab {
         try {
             int code = Integer.parseInt(status);
             if (code >= 200 && code < 300) {
-                return Style.EMPTY.fg(Color.GREEN).bold();
+                return Theme.success().bold();
             }
             if (code >= 300 && code < 400) {
                 return Style.EMPTY.fg(Color.CYAN).bold();
@@ -1161,12 +1161,12 @@ class HttpTab extends AbstractTableTab {
                 return Theme.warning().bold();
             }
             if (code >= 500) {
-                return Style.EMPTY.fg(Color.LIGHT_RED).bold();
+                return Theme.error().bold();
             }
         } catch (NumberFormatException e) {
             // not a number — treat as error
         }
-        return Style.EMPTY.fg(Color.LIGHT_RED).bold();
+        return Theme.error().bold();
     }
 
     // ---- Existing table/spec methods ----
@@ -1213,10 +1213,10 @@ class HttpTab extends AbstractTableTab {
         }
         String m = method.split(",")[0].trim().toUpperCase(Locale.ENGLISH);
         return switch (m) {
-            case "GET" -> Style.EMPTY.fg(Color.GREEN);
+            case "GET" -> Theme.success();
             case "POST" -> Theme.label();
             case "PUT" -> Style.EMPTY.fg(Color.CYAN);
-            case "DELETE" -> Style.EMPTY.fg(Color.LIGHT_RED);
+            case "DELETE" -> Theme.error();
             case "PATCH" -> Style.EMPTY.fg(Color.rgb(0xFF, 0x80, 0x00));
             default -> Style.EMPTY.dim();
         };
@@ -1236,7 +1236,7 @@ class HttpTab extends AbstractTableTab {
         long mgmtCount = info.httpEndpoints.stream().filter(e -> 
e.management).count();
         if (restCount > 0) {
             spans.add(Span.raw("  "));
-            spans.add(Span.styled("REST: ", Style.EMPTY.fg(Color.GREEN)));
+            spans.add(Span.styled("REST: ", Theme.success()));
             spans.add(Span.raw(restCount + ""));
         }
         if (specCount > 0) {
@@ -1285,10 +1285,10 @@ class HttpTab extends AbstractTableTab {
                     Cell.from(produces),
                     Cell.from(Span.styled(source,
                             ep.specification ? Style.EMPTY.fg(Color.MAGENTA)
-                                    : ep.fromRest ? Style.EMPTY.fg(Color.GREEN)
+                                    : ep.fromRest ? Theme.success()
                                     : Style.EMPTY.fg(Color.CYAN))),
                     Cell.from(Span.styled(state,
-                            "Stopped".equals(state) ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY))));
+                            "Stopped".equals(state) ? Theme.error() : 
Style.EMPTY))));
         }
 
         Title title = buildTableTitle(info, visible);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
index a86f58beb4d4..98673ed959c5 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
@@ -103,8 +103,8 @@ class InflightTab extends AbstractTableTab {
         for (InflightInfo ii : sorted) {
             String status = ii.blocked ? "blocked" : "inflight";
             Style statusStyle = ii.blocked
-                    ? Style.EMPTY.fg(Color.LIGHT_RED).bold()
-                    : Style.EMPTY.fg(Color.GREEN);
+                    ? Theme.error().bold()
+                    : Theme.success();
 
             String duration = TimeUtils.printDuration(ii.duration, true);
             Style durationStyle = durationColor(ii.duration);
@@ -166,11 +166,11 @@ class InflightTab extends AbstractTableTab {
 
     private Style durationColor(long durationMs) {
         if (durationMs >= THRESHOLD_RED) {
-            return Style.EMPTY.fg(Color.LIGHT_RED).bold();
+            return Theme.error().bold();
         } else if (durationMs >= THRESHOLD_YELLOW) {
             return Theme.warning();
         }
-        return Style.EMPTY.fg(Color.GREEN);
+        return Theme.success();
     }
 
     private Span buildDurationBar(long duration, long maxDuration, int 
barWidth) {
@@ -193,11 +193,11 @@ class InflightTab extends AbstractTableTab {
 
         Style barStyle;
         if (duration >= THRESHOLD_RED) {
-            barStyle = Style.EMPTY.fg(Color.LIGHT_RED);
+            barStyle = Theme.error();
         } else if (duration >= THRESHOLD_YELLOW) {
             barStyle = Theme.warning();
         } else {
-            barStyle = Style.EMPTY.fg(Color.GREEN);
+            barStyle = Theme.success();
         }
 
         return Span.styled(sb.toString(), barStyle);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
index c31d393e8637..4afe91f96c8c 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
@@ -438,7 +438,7 @@ class LogTab extends AbstractTab {
 
         ListWidget list = ListWidget.builder()
                 .items(
-                        ListItem.from("  ERROR  
").style(Style.EMPTY.fg(Color.LIGHT_RED)),
+                        ListItem.from("  ERROR  ").style(Theme.error()),
                         ListItem.from("  WARN   ").style(Theme.warning()),
                         ListItem.from("  INFO   ").style(Style.EMPTY),
                         ListItem.from("  DEBUG  
").style(Style.EMPTY.fg(Color.CYAN)),
@@ -645,7 +645,7 @@ class LogTab extends AbstractTab {
         Style levelStyle = switch (level) {
             case "ERROR", "FATAL" -> Style.EMPTY.fg(Color.RED);
             case "WARN" -> Theme.warning();
-            case "INFO" -> Style.EMPTY.fg(Color.GREEN);
+            case "INFO" -> Theme.success();
             case "DEBUG" -> Style.EMPTY.fg(Color.CYAN);
             case "TRACE" -> Style.EMPTY.dim();
             default -> Style.EMPTY;
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java
index 03d586e783c8..ad309649aa5a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java
@@ -26,7 +26,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import dev.tamboui.layout.Constraint;
 import dev.tamboui.layout.Rect;
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Style;
 import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
@@ -202,7 +201,7 @@ class MavenDependenciesTab extends AbstractTableTab {
             frame.renderWidget(
                     Paragraph.builder()
                             .text(Text.from(Line.from(
-                                    Span.styled("  " + errorMessage, 
Style.EMPTY.fg(Color.LIGHT_RED)))))
+                                    Span.styled("  " + errorMessage, 
Theme.error()))))
                             
.block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL)
                                     .title(" Maven Dependencies ").build())
                             .build(),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
index d702ae611343..43c771414259 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
@@ -136,10 +136,10 @@ class McpLogPopup {
         List<ListItem> items = new ArrayList<>();
         for (TuiMcpServer.LogEntry entry : entries) {
             Style levelStyle = switch (entry.level()) {
-                case CONNECT -> Style.EMPTY.fg(Color.GREEN);
+                case CONNECT -> Theme.success();
                 case TOOL -> Style.EMPTY.fg(Color.CYAN);
-                case ERROR -> Style.EMPTY.fg(Color.LIGHT_RED);
-                default -> Style.EMPTY.fg(Color.GREEN);
+                case ERROR -> Theme.error();
+                default -> Theme.success();
             };
             String levelTag = switch (entry.level()) {
                 case CONNECT -> " CONNECT ";
@@ -187,7 +187,7 @@ class McpLogPopup {
             lines.add(Line.from(Span.raw("")));
         }
         if (entry.responseBody() != null) {
-            lines.add(Line.from(Span.styled(TuiIcons.ARROW_LEFT + " Response", 
Style.EMPTY.fg(Color.GREEN).bold())));
+            lines.add(Line.from(Span.styled(TuiIcons.ARROW_LEFT + " Response", 
Theme.success().bold())));
             addJsonLines(lines, entry.responseBody());
         }
         if (entry.requestBody() == null && entry.responseBody() == null) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java
index e2c0e49e29b0..f0b3100f98b6 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java
@@ -262,7 +262,7 @@ class MemoryLeakTab extends AbstractTab {
             if (recordingMode == RecordingMode.DUAL) {
                 lines.add(Line.from(
                         Span.styled("  Dual mode ", Style.EMPTY.dim()),
-                        Span.styled("(recommended)", 
Style.EMPTY.fg(Color.GREEN))));
+                        Span.styled("(recommended)", Theme.success())));
                 lines.add(Line.from(
                         Span.styled("  Runs two sequential JFR recordings:", 
Style.EMPTY.dim())));
                 lines.add(Line.from(
@@ -311,10 +311,10 @@ class MemoryLeakTab extends AbstractTab {
                     ? "Recording 2 of 2 (" + currentRecordingDuration + "s)..."
                     : "Recording 1 of 2 (" + currentRecordingDuration + 
"s)...";
             lines.add(Line.from(
-                    Span.styled("  " + recLabel, 
Style.EMPTY.fg(Color.GREEN).bold())));
+                    Span.styled("  " + recLabel, Theme.success().bold())));
         } else {
             lines.add(Line.from(
-                    Span.styled("  Memory leak recording in progress...", 
Style.EMPTY.fg(Color.GREEN).bold())));
+                    Span.styled("  Memory leak recording in progress...", 
Theme.success().bold())));
         }
 
         lines.add(Line.from(Span.raw("")));
@@ -344,7 +344,7 @@ class MemoryLeakTab extends AbstractTab {
             bar.append(i < filled ? '█' : '░');
         }
         lines.add(Line.from(Span.raw("")));
-        lines.add(Line.from(Span.styled(bar.toString(), 
Style.EMPTY.fg(Color.GREEN))));
+        lines.add(Line.from(Span.styled(bar.toString(), Theme.success())));
 
         String title = recordingMode == RecordingMode.DUAL
                 ? " Memory Leak Recording [dual] "
@@ -501,7 +501,7 @@ class MemoryLeakTab extends AbstractTab {
                 lines.add(Line.from(
                         Span.styled(prefix, Style.EMPTY.fg(Color.BLUE)),
                         Span.styled(typeName, Style.EMPTY.fg(Color.CYAN)),
-                        Span.styled(fieldInfo, Style.EMPTY.fg(Color.GREEN)),
+                        Span.styled(fieldInfo, Theme.success()),
                         Span.styled(descInfo, Style.EMPTY.dim())));
             }
         }
@@ -664,7 +664,7 @@ class MemoryLeakTab extends AbstractTab {
                 lines.add(Line.from(
                         Span.styled(prefix, Style.EMPTY.fg(Color.BLUE)),
                         Span.styled(typeName, Style.EMPTY.fg(Color.CYAN)),
-                        Span.styled(fieldInfo, Style.EMPTY.fg(Color.GREEN)),
+                        Span.styled(fieldInfo, Theme.success()),
                         Span.styled(descInfo, Style.EMPTY.dim())));
             }
         }
@@ -709,7 +709,7 @@ class MemoryLeakTab extends AbstractTab {
         return switch (trend) {
             case "growing" -> Span.styled(TuiIcons.ARROW_UP + " leak!", 
Style.EMPTY.fg(Color.RED).bold());
             case "suspicious" -> Span.styled(TuiIcons.ARROW_UP + " leak?", 
Theme.warning());
-            case "stable" -> Span.styled(TuiIcons.ARROW_STABLE + " stable", 
Style.EMPTY.fg(Color.GREEN));
+            case "stable" -> Span.styled(TuiIcons.ARROW_STABLE + " stable", 
Theme.success());
             case "shrinking" -> Span.styled(TuiIcons.ARROW_DOWN, 
Style.EMPTY.dim());
             case "new" -> Span.styled("new", Theme.warning());
             case "gone" -> Span.styled("gone", Style.EMPTY.dim());
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
index f12a948ab9f7..60bb1991e7ef 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
@@ -140,8 +140,8 @@ class MemoryTab extends AbstractTab {
             if (info.heapMemCommitted > 0) {
                 long pctComm = info.heapMemUsed * 100 / info.heapMemCommitted;
                 String gaugeComm = buildGaugeBar(pctComm, 30);
-                Style colorComm = pctComm >= 80 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : pctComm >= 60 ? Theme.warning()
-                        : Style.EMPTY.fg(Color.GREEN);
+                Style colorComm = pctComm >= 80 ? Theme.error() : pctComm >= 
60 ? Theme.warning()
+                        : Theme.success();
                 List<Span> commSpans = new ArrayList<>();
                 commSpans.add(Span.styled("  committed: ", Style.EMPTY.dim()));
                 commSpans.add(Span.styled(String.format("%-10s", 
formatBytes(info.heapMemCommitted)), Style.EMPTY));
@@ -156,8 +156,8 @@ class MemoryTab extends AbstractTab {
             if (info.heapMemMax > 0) {
                 long pctMax = info.heapMemUsed * 100 / info.heapMemMax;
                 String gaugeMax = buildGaugeBar(pctMax, 30);
-                Style colorMax = pctMax >= 80 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : pctMax >= 60 ? Theme.warning()
-                        : Style.EMPTY.fg(Color.GREEN);
+                Style colorMax = pctMax >= 80 ? Theme.error() : pctMax >= 60 ? 
Theme.warning()
+                        : Theme.success();
                 List<Span> maxSpans = new ArrayList<>();
                 maxSpans.add(Span.styled("  max:       ", Style.EMPTY.dim()));
                 maxSpans.add(Span.styled(String.format("%-10s", 
formatBytes(info.heapMemMax)), Style.EMPTY));
@@ -175,8 +175,8 @@ class MemoryTab extends AbstractTab {
         if (info.oldGenUsed > 0) {
             long oldPct = info.oldGenMax > 0 ? info.oldGenUsed * 100 / 
info.oldGenMax : 0;
             String oldGauge = buildGaugeBar(oldPct, 30);
-            Style oldColor = oldPct >= 80 ? Style.EMPTY.fg(Color.LIGHT_RED) : 
oldPct >= 60 ? Theme.warning()
-                    : Style.EMPTY.fg(Color.GREEN);
+            Style oldColor = oldPct >= 80 ? Theme.error() : oldPct >= 60 ? 
Theme.warning()
+                    : Theme.success();
 
             lines.add(Line.from(
                     Span.styled("  Old Gen:   ", Style.EMPTY.dim()),
@@ -297,9 +297,9 @@ class MemoryTab extends AbstractTab {
         // Precompute eighths thresholds for the color bands
         int greenEighths = (int) Math.round(0.6 * chartH * 8.0);
         int yellowEighths = (int) Math.round(0.8 * chartH * 8.0);
-        Style greenStyle = Style.EMPTY.fg(Color.GREEN);
+        Style greenStyle = Theme.success();
         Style yellowStyle = Theme.warning();
-        Style redStyle = Style.EMPTY.fg(Color.LIGHT_RED);
+        Style redStyle = Theme.error();
 
         for (int col = 0; col < chartW; col++) {
             double ratio = (double) data[col] / ceiling;
@@ -417,20 +417,20 @@ class MemoryTab extends AbstractTab {
         // ignore small fluctuations relative to heap capacity (at least 5M or 
1% of ceiling)
         long threshold = Math.max(5 * 1024 * 1024, (long) (heapCeiling * 
0.01));
         if (Math.abs(diff) < threshold) {
-            return Span.styled("  → stable over last " + period, 
Style.EMPTY.fg(Color.GREEN));
+            return Span.styled("  → stable over last " + period, 
Theme.success());
         }
 
         if (change > 0.05) {
             return Span.styled(
                     String.format("  %s growing by %d%% (%s) over last %s", 
TuiIcons.ARROW_UP, pct, formatBytes(diff), period),
-                    Style.EMPTY.fg(Color.LIGHT_RED).bold());
+                    Theme.error().bold());
         } else if (change < -0.05) {
             return Span.styled(
                     String.format("  %s shrinking by %d%% (%s) over last %s", 
TuiIcons.ARROW_DOWN,
                             Math.abs(pct), formatBytes(Math.abs(diff)), 
period),
-                    Style.EMPTY.fg(Color.GREEN));
+                    Theme.success());
         } else {
-            return Span.styled("  " + TuiIcons.ARROW_STABLE + " stable over 
last " + period, Style.EMPTY.fg(Color.GREEN));
+            return Span.styled("  " + TuiIcons.ARROW_STABLE + " stable over 
last " + period, Theme.success());
         }
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
index 9e57bbe9adbf..ef45636357f0 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
@@ -62,8 +62,8 @@ class MetricsTab extends AbstractTableTab {
 
     private static final Style LABEL = Style.EMPTY.dim();
     private static final Style VALUE = Style.EMPTY.fg(Theme.baseFg()).bold();
-    private static final Style GOOD = Style.EMPTY.fg(Color.GREEN);
-    private static final Style BAD = Style.EMPTY.fg(Color.LIGHT_RED);
+    private static final Style GOOD = Theme.success();
+    private static final Style BAD = Theme.error();
 
     private final ScrollbarState scrollbarState = new ScrollbarState();
     private final ScrollbarState rawScrollbarState = new ScrollbarState();
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
index cc7d5f7f3f15..1e5f54d6a8c8 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
@@ -293,7 +293,7 @@ class OverviewTab extends AbstractTab {
                         Cell.from(Span.styled(vanishName, dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
-                        Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", 
Style.EMPTY.fg(Color.LIGHT_RED).dim())),
+                        Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", 
Theme.error().dim())),
                         Cell.from(Span.styled(info.ago != null ? info.ago : 
"", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
@@ -400,7 +400,7 @@ class OverviewTab extends AbstractTab {
                         Cell.from(Span.styled(vanishAlias, dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
-                        Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", 
Style.EMPTY.fg(Color.LIGHT_RED).dim())),
+                        Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", 
Theme.error().dim())),
                         Cell.from(Span.styled("", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
                         Cell.from(Span.styled("", dimStyle)),
@@ -524,14 +524,14 @@ class OverviewTab extends AbstractTab {
                         Span.raw(" ["),
                         Span.styled(chartName, Theme.label().bold()),
                         Span.raw(String.format("] Throughput: %s msg/s  ", 
curTpFmt)),
-                        Span.styled("■", Style.EMPTY.fg(Color.GREEN)),
+                        Span.styled("■", Theme.success()),
                         Span.raw(String.format(" ok:%s  ", curOkFmt)),
                         Span.styled("■", Style.EMPTY.fg(Color.RED)),
                         Span.raw(String.format(" fail:%s ", curFailFmt)));
             } else {
                 titleLine = Line.from(
                         Span.raw(String.format(" [All] Throughput: %s msg/s  
", curTpFmt)),
-                        Span.styled("■", Style.EMPTY.fg(Color.GREEN)),
+                        Span.styled("■", Theme.success()),
                         Span.raw(String.format(" ok:%s  ", curOkFmt)),
                         Span.styled("■", Style.EMPTY.fg(Color.RED)),
                         Span.raw(String.format(" fail:%s ", curFailFmt)));
@@ -546,7 +546,7 @@ class OverviewTab extends AbstractTab {
                 long failed = Math.min(mergedFailed[i], mergedTotal[i]);
                 long ok = Math.max(0, mergedTotal[i] - failed);
                 groups.add(BarGroup.of(
-                        
Bar.builder().value(ok).textValue("").style(Style.EMPTY.fg(Color.GREEN))
+                        
Bar.builder().value(ok).textValue("").style(Theme.success())
                                 .build(),
                         
Bar.builder().value(failed).textValue("").style(Style.EMPTY.fg(Color.RED)).build()));
             }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java
index 9070d677be89..0419fbcb3cff 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java
@@ -510,7 +510,7 @@ class PopupManager {
         frame.renderWidget(Clear.INSTANCE, popup);
         Block block = Block.builder()
                 .borderType(BorderType.ROUNDED).borders(Borders.ALL)
-                .borderStyle(Style.EMPTY.fg(Color.LIGHT_RED))
+                .borderStyle(Theme.error())
                 .title(" Confirm Kill ")
                 .build();
         frame.renderWidget(block, popup);
@@ -519,7 +519,7 @@ class PopupManager {
                 Paragraph.builder()
                         .text(Text.from(
                                 Line.from(Span.raw("")),
-                                Line.from(Span.styled(msg, 
Style.EMPTY.fg(Color.LIGHT_RED).bold())),
+                                Line.from(Span.styled(msg, 
Theme.error().bold())),
                                 Line.from(Span.raw("")),
                                 Line.from(
                                         Span.raw("  "),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
index f936d99691d8..33198fdfca82 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
@@ -565,7 +565,7 @@ class RoutesTab extends AbstractTab {
             List<Row> routeRows = new ArrayList<>();
             for (RouteInfo route : sortedRoutes) {
                 Style failStyle = route.failed > 0
-                        ? Style.EMPTY.fg(Color.LIGHT_RED).bold()
+                        ? Theme.error().bold()
                         : Style.EMPTY;
 
                 routeRows.add(Row.from(
@@ -621,11 +621,11 @@ class RoutesTab extends AbstractTab {
             List<Row> routeRows = new ArrayList<>();
             for (RouteInfo route : sortedRoutes) {
                 Style stateStyle = "Started".equals(route.state)
-                        ? Style.EMPTY.fg(Color.GREEN)
-                        : Style.EMPTY.fg(Color.LIGHT_RED);
+                        ? Theme.success()
+                        : Theme.error();
 
                 Style failStyle = route.failed > 0
-                        ? Style.EMPTY.fg(Color.LIGHT_RED).bold()
+                        ? Theme.error().bold()
                         : Style.EMPTY;
 
                 String sinceLastRoute = formatSinceLastRoute(route);
@@ -842,7 +842,7 @@ class RoutesTab extends AbstractTab {
                     Span.styled(" From:  ", Style.EMPTY.dim()),
                     Span.raw(route.from != null ? route.from : "")));
             String stateLabel = route.state != null ? route.state : "";
-            Style stateStyle = "Started".equals(route.state) ? 
Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED);
+            Style stateStyle = "Started".equals(route.state) ? Theme.success() 
: Theme.error();
             lines.add(Line.from(
                     Span.styled(" State: ", Style.EMPTY.dim()),
                     Span.styled(stateLabel, stateStyle)));
@@ -865,7 +865,7 @@ class RoutesTab extends AbstractTab {
             lines.add(Line.from(
                     Span.styled(" Total:    ", Style.EMPTY.dim()),
                     Span.raw(String.format("%" + w + "d", route.total))));
-            Style failStyle = route.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY;
+            Style failStyle = route.failed > 0 ? Theme.error().bold() : 
Style.EMPTY;
             lines.add(Line.from(
                     Span.styled(" Failed:   ", Style.EMPTY.dim()),
                     Span.styled(String.format("%" + w + "d", route.failed), 
failStyle)));
@@ -900,7 +900,7 @@ class RoutesTab extends AbstractTab {
                     lines.add(Line.from(
                             Span.styled("   fail:    ", Style.EMPTY.dim()),
                             Span.styled(route.sinceLastFailed,
-                                    Style.EMPTY.fg(Color.LIGHT_RED))));
+                                    Theme.error())));
                 }
             }
 
@@ -936,7 +936,7 @@ class RoutesTab extends AbstractTab {
                         lines.add(Line.from(
                                 Span.styled(" Failed: ", Style.EMPTY.dim()),
                                 
Span.styled(String.valueOf(topoNode.exchangesFailed),
-                                        
Style.EMPTY.fg(Color.LIGHT_RED).bold())));
+                                        Theme.error().bold())));
                     }
                 }
             } else {
@@ -1001,7 +1001,7 @@ class RoutesTab extends AbstractTab {
                         Span.styled(" Total:    ", Style.EMPTY.dim()),
                         Span.raw(String.format("%" + w + "d", 
stat.exchangesTotal))));
                 Style failStyle = stat.exchangesFailed > 0
-                        ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY;
+                        ? Theme.error().bold() : Style.EMPTY;
                 lines.add(Line.from(
                         Span.styled(" Failed:   ", Style.EMPTY.dim()),
                         Span.styled(String.format("%" + w + "d", 
stat.exchangesFailed), failStyle)));
@@ -1042,7 +1042,7 @@ class RoutesTab extends AbstractTab {
                             lines.add(Line.from(
                                     Span.styled("   fail:    ", 
Style.EMPTY.dim()),
                                     Span.styled(TimeUtils.printDuration(ago, 
false),
-                                            Style.EMPTY.fg(Color.LIGHT_RED))));
+                                            Theme.error())));
                         }
                     }
                 }
@@ -1093,7 +1093,7 @@ class RoutesTab extends AbstractTab {
             }
 
             for (ProcessorInfo proc : sorted) {
-                Style nameStyle = proc.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN);
+                Style nameStyle = proc.failed > 0 ? Theme.error() : 
Style.EMPTY.fg(Color.CYAN);
                 long chartVal = procChartValue(proc);
                 String bar;
                 if (chartVal > 0) {
@@ -1120,7 +1120,7 @@ class RoutesTab extends AbstractTab {
                                 topDeltaStyle(proc.deltaTime)),
                         rightCell(String.valueOf(proc.total), 8),
                         rightCell(String.valueOf(proc.failed), 6,
-                                proc.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY),
+                                proc.failed > 0 ? Theme.error() : Style.EMPTY),
                         rightCell(String.valueOf(proc.inflight), 8)));
             }
 
@@ -1157,14 +1157,14 @@ class RoutesTab extends AbstractTab {
             List<Row> rows = new ArrayList<>();
 
             // Synthetic top row representing the route itself
-            Style routeStyle = route.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN);
+            Style routeStyle = route.failed > 0 ? Theme.error() : 
Style.EMPTY.fg(Color.CYAN);
             rows.add(Row.from(
                     Cell.from("   route"),
                     Cell.from(Span.styled(route.from != null ? route.from : 
route.routeId, routeStyle)),
                     Cell.from(""), Cell.from(""), Cell.from(""), Cell.from(""),
                     rightCell(String.valueOf(route.total), 8),
                     rightCell(String.valueOf(route.failed), 6,
-                            route.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) 
: Style.EMPTY),
+                            route.failed > 0 ? Theme.error() : Style.EMPTY),
                     rightCell(String.valueOf(route.inflight), 8),
                     rightCell(route.total > 0
                             ? route.minTime + "/" + route.maxTime + "/" + 
route.meanTime
@@ -1173,7 +1173,7 @@ class RoutesTab extends AbstractTab {
 
             for (ProcessorInfo proc : route.processors) {
                 String indent = "  ".repeat(proc.level);
-                Style nameStyle = proc.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN);
+                Style nameStyle = proc.failed > 0 ? Theme.error() : 
Style.EMPTY.fg(Color.CYAN);
 
                 rows.add(Row.from(
                         Cell.from("   " + (proc.processor != null ? 
proc.processor : "")),
@@ -1181,7 +1181,7 @@ class RoutesTab extends AbstractTab {
                         Cell.from(""), Cell.from(""), Cell.from(""), 
Cell.from(""),
                         rightCell(String.valueOf(proc.total), 8),
                         rightCell(String.valueOf(proc.failed), 6,
-                                proc.failed > 0 ? 
Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY),
+                                proc.failed > 0 ? Theme.error() : Style.EMPTY),
                         rightCell(String.valueOf(proc.inflight), 8),
                         rightCell(proc.total > 0
                                 ? proc.minTime + "/" + proc.maxTime + "/" + 
proc.meanTime
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java
index 3c6f8023ee72..00c845dc6991 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java
@@ -26,7 +26,6 @@ import java.util.concurrent.ScheduledExecutorService;
 import dev.tamboui.layout.Constraint;
 import dev.tamboui.layout.Layout;
 import dev.tamboui.layout.Rect;
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Style;
 import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
@@ -827,14 +826,14 @@ class SendMessagePopup {
             if (responseElapsed > 0) {
                 titleStr = " Response — Error (" + responseElapsed + "ms) ";
             }
-            titleStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold();
+            titleStyle = Theme.error().bold();
         } else {
             titleStr = " Response — " + (inOut ? "InOut" : "InOnly");
             if (responseElapsed > 0) {
                 titleStr += " (" + responseElapsed + "ms)";
             }
             titleStr += " ";
-            titleStyle = Style.EMPTY.fg(Color.GREEN).bold();
+            titleStyle = Theme.success().bold();
         }
 
         Title title = Title.from(Line.from(Span.styled(titleStr, titleStyle)));
@@ -923,7 +922,7 @@ class SendMessagePopup {
                     : "";
 
             Style lineStyle = selected ? Style.EMPTY.bold() : Style.EMPTY;
-            Style statusStyle = entry.error ? Style.EMPTY.fg(Color.LIGHT_RED) 
: Style.EMPTY.fg(Color.GREEN);
+            Style statusStyle = entry.error ? Theme.error() : Theme.success();
             if (!selected) {
                 statusStyle = statusStyle.dim();
             }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java
index f8eb5ed9ca39..ea0211e7f1b5 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java
@@ -367,9 +367,9 @@ class SpansTab extends AbstractTab {
         for (TraceSummary ts : summaries) {
             Style statusStyle;
             if (ts.hasError) {
-                statusStyle = Style.EMPTY.fg(Color.LIGHT_RED);
+                statusStyle = Theme.error();
             } else {
-                statusStyle = Style.EMPTY.fg(Color.GREEN);
+                statusStyle = Theme.success();
             }
 
             rows.add(Row.from(
@@ -551,8 +551,8 @@ class SpansTab extends AbstractTab {
         Style labelStyle;
         Style bandStyle;
         if (error) {
-            labelStyle = selected ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : 
Style.EMPTY.fg(Color.LIGHT_RED);
-            bandStyle = Style.EMPTY.fg(Color.LIGHT_RED);
+            labelStyle = selected ? Theme.error().bold() : Theme.error();
+            bandStyle = Theme.error();
         } else if (!camelSpan) {
             labelStyle = selected ? Style.EMPTY.fg(Color.LIGHT_MAGENTA).bold() 
: Style.EMPTY.fg(Color.LIGHT_MAGENTA);
             bandStyle = Style.EMPTY.fg(Color.LIGHT_MAGENTA);
@@ -568,10 +568,10 @@ class SpansTab extends AbstractTab {
                 Span.styled(label, labelStyle),
                 Span.raw(gap),
                 Span.styled(bar, bandStyle),
-                Span.styled(errorTag, Style.EMPTY.fg(Color.LIGHT_RED).bold()),
+                Span.styled(errorTag, Theme.error().bold()),
                 Span.raw(" ".repeat(pad)),
                 Span.styled(durationStr, error
-                        ? Style.EMPTY.fg(Color.LIGHT_RED).bold()
+                        ? Theme.error().bold()
                         : Style.EMPTY.fg(Theme.baseFg()).bold()));
     }
 
@@ -584,7 +584,7 @@ class SpansTab extends AbstractTab {
         List<Line> lines = new ArrayList<>();
 
         // Row 1: span identity
-        Style statusStyle = span.isError() ? 
Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY.fg(Color.GREEN);
+        Style statusStyle = span.isError() ? Theme.error().bold() : 
Theme.success();
         lines.add(Line.from(
                 Span.styled(" Span:   ", Style.EMPTY.dim()),
                 Span.styled(span.spanId(), 
Style.EMPTY.fg(Theme.baseFg()).bold()),
@@ -628,7 +628,7 @@ class SpansTab extends AbstractTab {
             }
         }
 
-        Style titleStyle = span.isError() ? Style.EMPTY.fg(Color.LIGHT_RED) : 
Style.EMPTY.fg(Color.CYAN);
+        Style titleStyle = span.isError() ? Theme.error() : 
Style.EMPTY.fg(Color.CYAN);
         frame.renderWidget(
                 Paragraph.builder()
                         .text(Text.from(lines))
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
index 656aa87b62aa..c8d9a56421fa 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
@@ -442,13 +442,13 @@ class SqlQueryTab extends AbstractTab {
                     .title(Title.from(" Result "))
                     .borders(Borders.ALL)
                     .borderType(BorderType.ROUNDED)
-                    .borderStyle(Style.EMPTY.fg(Color.GREEN))
+                    .borderStyle(Theme.success())
                     .build();
             Rect inner = ucBlock.inner(area);
             frame.renderWidget(ucBlock, area);
             String msg = String.format("Update count: %d  (%dms)", 
updateCount, elapsed);
             Paragraph ucText = Paragraph.builder()
-                    .text(Text.from(Line.from(Span.styled(msg, 
Style.EMPTY.fg(Color.GREEN)))))
+                    .text(Text.from(Line.from(Span.styled(msg, 
Theme.success()))))
                     .build();
             frame.renderWidget(ucText, inner);
             return;
@@ -788,7 +788,9 @@ class SqlQueryTab extends AbstractTab {
                         Span.styled(val.isEmpty() ? "null" : val, 
Style.EMPTY.fg(Color.DARK_GRAY)))), valArea);
             } else if (isFocused) {
                 boolean changed = 
!editInputs[i].text().equals(editOriginalValues[i]);
-                Style cursorStyle = changed ? 
Style.EMPTY.reversed().fg(Color.GREEN) : Style.EMPTY.reversed();
+                Style cursorStyle = changed
+                        ? 
Style.EMPTY.reversed().fg(Theme.success().fg().orElse(Color.GREEN))
+                        : Style.EMPTY.reversed();
                 TextInput input = TextInput.builder()
                         .cursorStyle(cursorStyle)
                         .build();
@@ -796,7 +798,7 @@ class SqlQueryTab extends AbstractTab {
             } else {
                 String val = editInputs[i].text();
                 boolean changed = !val.equals(editOriginalValues[i]);
-                Style valStyle = changed ? Style.EMPTY.fg(Color.GREEN) : 
Style.EMPTY;
+                Style valStyle = changed ? Theme.success() : Style.EMPTY;
                 frame.renderWidget(Paragraph.from(Line.from(
                         Span.styled(val.isEmpty() ? "null" : val, valStyle))), 
valArea);
             }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
index 4724385ae31b..e04f92c3bebf 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
@@ -147,7 +147,7 @@ class SqlTraceTab extends AbstractTableTab {
         Style labelStyle = Style.EMPTY.dim();
         Style valueStyle = Style.EMPTY.fg(Color.CYAN).bold();
         Style warnStyle = Theme.warning().bold();
-        Style errorStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold();
+        Style errorStyle = Theme.error().bold();
 
         List<Span> spans = new ArrayList<>();
         spans.add(Span.styled("  Total: ", labelStyle));
@@ -234,7 +234,7 @@ class SqlTraceTab extends AbstractTableTab {
         List<Row> rows = new ArrayList<>();
         for (SqlTraceInfo si : sorted) {
             Style durStyle = si.duration >= 100 ? Theme.warning() : 
Style.EMPTY;
-            Style statusStyle = si.failed ? Style.EMPTY.fg(Color.LIGHT_RED) : 
Style.EMPTY.fg(Color.GREEN);
+            Style statusStyle = si.failed ? Theme.error() : Theme.success();
             String status = si.failed ? "FAIL" : "OK";
 
             String time = "";
@@ -340,7 +340,7 @@ class SqlTraceTab extends AbstractTableTab {
                     .format(TIME_FMT);
         }
         Style durStyle = si.duration >= 100 ? Theme.warning() : Style.EMPTY;
-        Style statusStyle = si.failed ? Style.EMPTY.fg(Color.LIGHT_RED) : 
Style.EMPTY.fg(Color.GREEN);
+        Style statusStyle = si.failed ? Theme.error() : Theme.success();
         lines.add(Line.from(
                 Span.styled(" Time: ", labelStyle),
                 Span.styled(time, valueStyle),
@@ -377,9 +377,9 @@ class SqlTraceTab extends AbstractTableTab {
         }
         return switch (category) {
             case "SELECT" -> Style.EMPTY.fg(Color.CYAN);
-            case "INSERT" -> Style.EMPTY.fg(Color.GREEN);
+            case "INSERT" -> Theme.success();
             case "UPDATE" -> Theme.label();
-            case "DELETE" -> Style.EMPTY.fg(Color.LIGHT_RED);
+            case "DELETE" -> Theme.error();
             default -> Style.EMPTY;
         };
     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java
index 8e00b74c7aa7..09c96e1ef82b 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java
@@ -25,7 +25,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import dev.tamboui.layout.Constraint;
 import dev.tamboui.layout.Layout;
 import dev.tamboui.layout.Rect;
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Style;
 import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
@@ -159,7 +158,7 @@ class StartupTab extends AbstractTab {
             frame.renderWidget(
                     Paragraph.builder()
                             .text(Text.from(Line.from(
-                                    Span.styled("  " + errorMessage, 
Style.EMPTY.fg(Color.LIGHT_RED)))))
+                                    Span.styled("  " + errorMessage, 
Theme.error()))))
                             
.block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL)
                                     .title(" Startup Timeline ").build())
                             .build(),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java
index b6a20ff40245..efb7edb16f53 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java
@@ -316,8 +316,8 @@ class ThreadsTab extends AbstractTableTab {
             return Style.EMPTY;
         }
         return switch (state) {
-            case "RUNNABLE" -> Style.EMPTY.fg(Color.GREEN);
-            case "BLOCKED" -> Style.EMPTY.fg(Color.LIGHT_RED);
+            case "RUNNABLE" -> Theme.success();
+            case "BLOCKED" -> Theme.error();
             case "WAITING" -> Theme.warning();
             case "TIMED_WAITING" -> Style.EMPTY.fg(Color.CYAN);
             default -> Style.EMPTY;
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java
index 5c4fe9f8c885..4f7e9cfca111 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java
@@ -569,7 +569,7 @@ final class TuiHelper {
 
     static Style topTimeStyle(long ms) {
         if (ms >= 1000) {
-            return Style.EMPTY.fg(Color.LIGHT_RED).bold();
+            return Theme.error().bold();
         } else if (ms >= 100) {
             return Theme.warning();
         }
@@ -578,9 +578,9 @@ final class TuiHelper {
 
     static Style topDeltaStyle(long delta) {
         if (delta > 0) {
-            return Style.EMPTY.fg(Color.LIGHT_RED);
+            return Theme.error();
         } else if (delta < 0) {
-            return Style.EMPTY.fg(Color.GREEN);
+            return Theme.success();
         }
         return Style.EMPTY;
     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java
index 2d2af443aafa..8968120fbfe1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java
@@ -105,7 +105,7 @@ class CircuitBreakerTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "c", 
Color.GREEN);
+        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "c", 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreen, "closed state should be rendered in GREEN");
     }
 
@@ -120,7 +120,7 @@ class CircuitBreakerTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "o", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "o", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "open state should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java
index 849b3a2d88bf..7c88142ffb0f 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java
@@ -107,7 +107,7 @@ class ConsumersTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", Color.GREEN),
+        assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", 
Theme.success().fg().orElse(Color.GREEN)),
                 "Started status should be rendered in GREEN");
     }
 
@@ -123,7 +123,7 @@ class ConsumersTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", 
Color.LIGHT_RED),
+        assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", 
Theme.error().fg().orElse(Color.LIGHT_RED)),
                 "Stopped status should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java
index 83b4ee9613c7..cef3a9ae4193 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java
@@ -106,7 +106,7 @@ class DataSourceTabRenderTest {
         tab.render(frame, area);
 
         // active (10) >= maxPoolSize (10), so active column should be 
LIGHT_RED
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "1", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "1", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "Exhausted pool active count should be rendered 
in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java
index 1bbb543e2a1d..f2bdd995a18f 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java
@@ -107,7 +107,7 @@ class EndpointsTabRenderTest {
         tab.render(frame, area);
 
         boolean foundGreen
-                = TuiTestHelper.findCellWithColor(buffer, TuiIcons.KEY_RIGHT, 
Color.GREEN);
+                = TuiTestHelper.findCellWithColor(buffer, TuiIcons.KEY_RIGHT, 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreen, "In-direction arrow should be rendered in 
GREEN");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java
index ea395c6ba878..6735257c5f59 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java
@@ -116,7 +116,7 @@ class ErrorsTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundGreen = findCellWithColor(buffer, "t", Color.GREEN);
+        boolean foundGreen = findCellWithColor(buffer, "t", 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreen, "handled=true should be rendered in GREEN");
     }
 
@@ -131,7 +131,7 @@ class ErrorsTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = findCellWithColor(buffer, "f", Color.LIGHT_RED);
+        boolean foundRed = findCellWithColor(buffer, "f", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "handled=false should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java
index 6b0a199a367a..2eb1fd32269e 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java
@@ -113,7 +113,7 @@ class HealthTabRenderTest {
                 var cell = buffer.get(x, y);
                 if (TuiIcons.HEALTH_DOWN.equals(cell.symbol()) || 
"D".equals(cell.symbol())) {
                     var fg = cell.style().fg().orElse(null);
-                    if (Color.LIGHT_RED.equals(fg)) {
+                    if (Theme.error().fg().orElse(Color.LIGHT_RED).equals(fg)) 
{
                         foundRedDown = true;
                         break;
                     }
@@ -150,7 +150,7 @@ class HealthTabRenderTest {
                 var cell = buffer.get(x, y);
                 if (TuiIcons.HEALTH_UP.equals(cell.symbol())) {
                     var fg = cell.style().fg().orElse(null);
-                    if (Color.GREEN.equals(fg)) {
+                    if (Theme.success().fg().orElse(Color.GREEN).equals(fg)) {
                         foundGreenUp = true;
                         break;
                     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java
index 925c53eb3079..978e06f304f6 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java
@@ -87,7 +87,7 @@ class HttpTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "G", 
Color.GREEN);
+        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "G", 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreen, "GET method should be rendered in GREEN");
     }
 
@@ -118,7 +118,7 @@ class HttpTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "D", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "D", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "DELETE method should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java
index 717e89e08731..99fcd4d0a1d1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java
@@ -89,7 +89,7 @@ class InflightTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "i", 
Color.GREEN);
+        boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "i", 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreen, "Inflight status should be rendered in GREEN");
     }
 
@@ -104,7 +104,7 @@ class InflightTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "b", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "b", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "Blocked status should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java
index e15331b32844..26eefb95032a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java
@@ -146,7 +146,7 @@ class MonitorContextRenderTest {
 
     @Test
     void rightCellWithStyleAppliesStyle() {
-        var cell = AbstractTab.rightCell("5", 6, 
dev.tamboui.style.Style.EMPTY.fg(Color.LIGHT_RED));
+        var cell = AbstractTab.rightCell("5", 6, Theme.error());
         // The cell should have styled content
         String content = extractCellContent(cell);
         assertTrue(content.contains("5"), "Should contain the value");
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java
index 6108ad33e7e7..475fac80b6b1 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.dsl.jbang.core.commands.tui;
 
-import dev.tamboui.style.Color;
 import dev.tamboui.style.Modifier;
 import dev.tamboui.style.Style;
 import org.junit.jupiter.api.BeforeEach;
@@ -180,7 +179,7 @@ class MonitorContextTest {
     void topTimeStyleOver1000ms() {
         Style style = TuiHelper.topTimeStyle(1000);
         assertTrue(style.effectiveModifiers().contains(Modifier.BOLD));
-        assertEquals(Color.LIGHT_RED, style.fg().orElse(null));
+        assertEquals(Theme.error().fg().orElse(null), style.fg().orElse(null));
     }
 
     @Test
@@ -200,13 +199,13 @@ class MonitorContextTest {
     @Test
     void topDeltaStylePositive() {
         Style style = TuiHelper.topDeltaStyle(10);
-        assertEquals(Color.LIGHT_RED, style.fg().orElse(null));
+        assertEquals(Theme.error().fg().orElse(null), style.fg().orElse(null));
     }
 
     @Test
     void topDeltaStyleNegative() {
         Style style = TuiHelper.topDeltaStyle(-5);
-        assertEquals(Color.GREEN, style.fg().orElse(null));
+        assertEquals(Theme.success().fg().orElse(null), 
style.fg().orElse(null));
     }
 
     @Test
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java
index 7ca0c40eaeaa..46ae81677d9f 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java
@@ -90,7 +90,7 @@ class RoutesTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundGreenStarted = findCellWithColorContaining(buffer, "S", 
Color.GREEN);
+        boolean foundGreenStarted = findCellWithColorContaining(buffer, "S", 
Theme.success().fg().orElse(Color.GREEN));
         assertTrue(foundGreenStarted, "Started status should be rendered in 
GREEN");
     }
 
@@ -105,7 +105,7 @@ class RoutesTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRedStopped = findCellWithColorContaining(buffer, "S", 
Color.LIGHT_RED);
+        boolean foundRedStopped = findCellWithColorContaining(buffer, "S", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRedStopped, "Stopped status should be rendered in 
LIGHT_RED");
     }
 
@@ -151,7 +151,7 @@ class RoutesTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRedFailed = findCellWithColorContaining(buffer, "5", 
Color.LIGHT_RED);
+        boolean foundRedFailed = findCellWithColorContaining(buffer, "5", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRedFailed, "Failed count should be rendered in 
LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java
index 6430b2393b74..88d5e1dd603b 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java
@@ -109,7 +109,7 @@ class SpansTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "E", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "E", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "ERROR status should be rendered in LIGHT_RED");
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java
index d649b4924e25..12ec668df1f4 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java
@@ -120,7 +120,7 @@ class SqlTraceTabRenderTest {
         Frame frame = Frame.forTesting(buffer);
         tab.render(frame, area);
 
-        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "F", 
Color.LIGHT_RED);
+        boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "F", 
Theme.error().fg().orElse(Color.LIGHT_RED));
         assertTrue(foundRed, "Failed status should be rendered in LIGHT_RED");
     }
 


Reply via email to