apteva 0.4.44 → 0.4.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/{ActivityPage.c48n83h2.js → ActivityPage.sw9p594m.js} +1 -1
  2. package/dist/{ApiDocsPage.yzcxx5ax.js → ApiDocsPage.90e03bz7.js} +1 -1
  3. package/dist/App.3vnrera5.js +4 -0
  4. package/dist/App.94x6mh7f.js +20 -0
  5. package/dist/{App.qzbx5wtj.js → App.9sryp183.js} +1 -1
  6. package/dist/App.9t1zc5r7.js +53 -0
  7. package/dist/{App.r5serxkt.js → App.jhb45d7r.js} +1 -1
  8. package/dist/App.k4nmqgek.js +221 -0
  9. package/dist/App.p7jjw1zf.js +4 -0
  10. package/dist/App.pfbdzrhh.js +4 -0
  11. package/dist/App.stgng5bx.js +13 -0
  12. package/dist/{App.152mbs1r.js → App.tm3k7h4b.js} +1 -1
  13. package/dist/App.vkg121c6.js +4 -0
  14. package/dist/App.vza4fxg0.js +4 -0
  15. package/dist/App.wghtdzsk.js +1 -0
  16. package/dist/App.xva0tfzh.js +4 -0
  17. package/dist/App.ysxy7akk.js +61 -0
  18. package/dist/App.yzkh4gq2.js +4 -0
  19. package/dist/ConnectionsPage.q5f9fd37.js +3 -0
  20. package/dist/McpPage.f3ccrezb.js +3 -0
  21. package/dist/SettingsPage.q1pqcc93.js +3 -0
  22. package/dist/SkillsPage.whxnez67.js +3 -0
  23. package/dist/TasksPage.zp4jfevw.js +3 -0
  24. package/dist/TelemetryPage.an0ky78c.js +3 -0
  25. package/dist/TestsPage.18krj0d1.js +3 -0
  26. package/dist/ThreadsPage.nnphgy98.js +3 -0
  27. package/dist/apteva-kit.css +1 -1
  28. package/dist/index.html +1 -1
  29. package/dist/styles.css +1 -1
  30. package/package.json +10 -9
  31. package/src/db.ts +60 -22
  32. package/src/providers.ts +14 -9
  33. package/src/routes/api/agent-utils.ts +25 -3
  34. package/src/routes/api/telemetry.ts +21 -2
  35. package/src/server.ts +53 -1
  36. package/src/web/App.tsx +2 -2
  37. package/src/web/components/agents/AgentCard.tsx +9 -7
  38. package/src/web/components/agents/AgentPanel.tsx +205 -44
  39. package/src/web/components/agents/CreateAgentModal.tsx +5 -5
  40. package/src/web/components/auth/LoginPage.tsx +2 -2
  41. package/src/web/components/common/LoadingSpinner.tsx +1 -1
  42. package/src/web/components/common/Modal.tsx +6 -6
  43. package/src/web/components/common/Select.tsx +2 -2
  44. package/src/web/components/connections/ConnectionsPage.tsx +1 -1
  45. package/src/web/components/connections/IntegrationsTab.tsx +3 -3
  46. package/src/web/components/connections/OverviewTab.tsx +3 -3
  47. package/src/web/components/connections/TriggersTab.tsx +8 -8
  48. package/src/web/components/dashboard/Dashboard.tsx +4 -4
  49. package/src/web/components/layout/Header.tsx +3 -3
  50. package/src/web/components/layout/Sidebar.tsx +6 -5
  51. package/src/web/components/mcp/McpPage.tsx +13 -13
  52. package/src/web/components/onboarding/OnboardingWizard.tsx +2 -2
  53. package/src/web/components/settings/SettingsPage.tsx +59 -26
  54. package/src/web/components/skills/SkillsPage.tsx +7 -7
  55. package/src/web/components/tasks/TasksPage.tsx +212 -36
  56. package/src/web/components/telemetry/TelemetryPage.tsx +414 -94
  57. package/src/web/components/tests/TestsPage.tsx +2 -2
  58. package/src/web/components/threads/ThreadsPage.tsx +2 -2
  59. package/src/web/context/TelemetryContext.tsx +1 -0
  60. package/src/web/context/ThemeContext.tsx +31 -10
  61. package/src/web/index.html +1 -6
  62. package/src/web/styles.css +47 -0
  63. package/src/web/themes.ts +68 -5
  64. package/src/web/types.ts +1 -1
  65. package/dist/App.09yb8t0b.js +0 -1
  66. package/dist/App.3a67nx9w.js +0 -4
  67. package/dist/App.9epx6785.js +0 -4
  68. package/dist/App.d8955awp.js +0 -4
  69. package/dist/App.drwb57jq.js +0 -4
  70. package/dist/App.gssbmajb.js +0 -4
  71. package/dist/App.qw70pc29.js +0 -53
  72. package/dist/App.tpmp9020.js +0 -20
  73. package/dist/App.v2wb4d7d.js +0 -61
  74. package/dist/App.vxmaaj0m.js +0 -13
  75. package/dist/App.w4p2tda9.js +0 -4
  76. package/dist/App.wv2ng55q.js +0 -221
  77. package/dist/App.yncnrn0f.js +0 -4
  78. package/dist/ConnectionsPage.k6cspyqq.js +0 -3
  79. package/dist/McpPage.cdxm48xj.js +0 -3
  80. package/dist/SettingsPage.evpv7c2y.js +0 -3
  81. package/dist/SkillsPage.pvzp6c1a.js +0 -3
  82. package/dist/TasksPage.6jnvbpsy.js +0 -3
  83. package/dist/TelemetryPage.t7vk24zc.js +0 -3
  84. package/dist/TestsPage.5x6658aa.js +0 -3
  85. package/dist/ThreadsPage.3fvhtevh.js +0 -3
@@ -342,7 +342,7 @@ export function TestsPage() {
342
342
  ) : (
343
343
  <div className="space-y-3">
344
344
  {tests.map(tc => (
345
- <div key={tc.id} className="bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg p-4">
345
+ <div key={tc.id} className="bg-[var(--color-surface)] card p-4">
346
346
  <div className="flex items-start justify-between">
347
347
  <div className="flex-1 min-w-0">
348
348
  <div className="flex items-center gap-2 mb-1">
@@ -515,7 +515,7 @@ export function TestsPage() {
515
515
  {/* Create/Edit Form Modal */}
516
516
  {showForm && (
517
517
  <div className="fixed inset-0 bg-black/60 z-50 flex items-center justify-center" onClick={() => setShowForm(false)}>
518
- <div className="bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg w-full max-w-lg mx-4 p-6" onClick={e => e.stopPropagation()}>
518
+ <div className="bg-[var(--color-surface)] card w-full max-w-lg mx-4 p-6" onClick={e => e.stopPropagation()}>
519
519
  <h2 className="text-lg font-bold mb-4">{editingTest ? "Edit Test" : "New Test"}</h2>
520
520
 
521
521
  <div className="space-y-4">
@@ -163,7 +163,7 @@ export function ThreadsPage({ agents, onNavigate }: ThreadsPageProps) {
163
163
  <button
164
164
  onClick={() => setShowAgentPicker(!showAgentPicker)}
165
165
  disabled={runningAgents.length === 0}
166
- className="w-full flex items-center justify-center gap-2 px-3 py-2 rounded-lg bg-[var(--color-accent-10)] text-[var(--color-accent)] text-sm font-medium hover:bg-[var(--color-accent-20)] transition disabled:opacity-30 disabled:cursor-not-allowed"
166
+ className="w-full flex items-center justify-center gap-2 px-3 py-2 btn bg-[var(--color-accent-10)] text-[var(--color-accent)] text-sm font-medium hover:bg-[var(--color-accent-20)] transition disabled:opacity-30 disabled:cursor-not-allowed"
167
167
  >
168
168
  <svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
169
169
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 4v16m8-8H4" />
@@ -175,7 +175,7 @@ export function ThreadsPage({ agents, onNavigate }: ThreadsPageProps) {
175
175
  {showAgentPicker && (
176
176
  <>
177
177
  <div className="fixed inset-0 z-40" onClick={() => setShowAgentPicker(false)} />
178
- <div className="absolute top-full left-0 right-0 mt-1 bg-[var(--color-surface)] border border-[var(--color-border-light)] rounded-lg shadow-xl z-50 max-h-60 overflow-auto">
178
+ <div className="absolute top-full left-0 right-0 mt-1 bg-[var(--color-surface)] card shadow-xl z-50 max-h-60 overflow-auto">
179
179
  {runningAgents.map(agent => (
180
180
  <button
181
181
  key={agent.id}
@@ -12,6 +12,7 @@ export interface TelemetryEvent {
12
12
  data?: Record<string, unknown>;
13
13
  duration_ms?: number;
14
14
  error?: string;
15
+ cost?: number;
15
16
  }
16
17
 
17
18
  interface TelemetryContextValue {
@@ -1,10 +1,12 @@
1
1
  import React, { createContext, useContext, useState, useEffect, useCallback, useMemo, type ReactNode } from "react";
2
- import { themes, resolveTheme, type ThemeMode, type Theme } from "../themes";
2
+ import { themes, resolveTheme, type ThemeMode, type ThemeStyle, type Theme } from "../themes";
3
3
 
4
4
  interface ThemeContextValue {
5
5
  mode: ThemeMode;
6
+ style: ThemeStyle;
6
7
  theme: Theme; // resolved theme
7
8
  setMode: (mode: ThemeMode) => void;
9
+ setStyle: (style: ThemeStyle) => void;
8
10
  }
9
11
 
10
12
  const ThemeContext = createContext<ThemeContextValue | null>(null);
@@ -17,30 +19,44 @@ export function useTheme(): ThemeContextValue {
17
19
  return context;
18
20
  }
19
21
 
20
- const STORAGE_KEY = "apteva_theme_mode";
22
+ const MODE_KEY = "apteva_theme_mode";
23
+ const STYLE_KEY = "apteva_theme_style";
21
24
 
22
25
  function getSystemPrefersDark(): boolean {
23
26
  if (typeof window === "undefined") return true;
24
27
  return window.matchMedia("(prefers-color-scheme: dark)").matches;
25
28
  }
26
29
 
27
- function applyTheme(theme: Theme) {
30
+ function applyTheme(theme: Theme, style: ThemeStyle) {
28
31
  const root = document.documentElement;
29
32
  for (const [key, value] of Object.entries(theme.colors)) {
30
33
  root.style.setProperty(key, value);
31
34
  }
32
35
  root.setAttribute("data-theme", theme.id);
36
+ root.setAttribute("data-style", style);
37
+ // Set font directly as inline style — CSS variable alone gets overridden by Tailwind base
38
+ document.body.style.fontFamily = style === "professional"
39
+ ? "'Inter', system-ui, -apple-system, sans-serif"
40
+ : "'JetBrains Mono', monospace";
33
41
  }
34
42
 
35
43
  export function ThemeProvider({ children }: { children: ReactNode }) {
36
44
  const [mode, setModeState] = useState<ThemeMode>(() => {
37
45
  if (typeof window !== "undefined") {
38
- const stored = localStorage.getItem(STORAGE_KEY);
46
+ const stored = localStorage.getItem(MODE_KEY);
39
47
  if (stored === "dark" || stored === "light" || stored === "auto") return stored;
40
48
  }
41
49
  return "auto";
42
50
  });
43
51
 
52
+ const [style, setStyleState] = useState<ThemeStyle>(() => {
53
+ if (typeof window !== "undefined") {
54
+ const stored = localStorage.getItem(STYLE_KEY);
55
+ if (stored === "classic" || stored === "professional") return stored;
56
+ }
57
+ return "classic";
58
+ });
59
+
44
60
  const [prefersDark, setPrefersDark] = useState(getSystemPrefersDark);
45
61
 
46
62
  // Listen for system theme changes
@@ -51,19 +67,24 @@ export function ThemeProvider({ children }: { children: ReactNode }) {
51
67
  return () => mq.removeEventListener("change", handler);
52
68
  }, []);
53
69
 
54
- const theme = useMemo(() => resolveTheme(mode, prefersDark), [mode, prefersDark]);
70
+ const theme = useMemo(() => resolveTheme(mode, style, prefersDark), [mode, style, prefersDark]);
55
71
 
56
- // Apply CSS variables whenever theme changes
72
+ // Apply CSS variables + style attribute whenever theme or style changes
57
73
  useEffect(() => {
58
- applyTheme(theme);
59
- }, [theme]);
74
+ applyTheme(theme, style);
75
+ }, [theme, style]);
60
76
 
61
77
  const setMode = useCallback((newMode: ThemeMode) => {
62
78
  setModeState(newMode);
63
- localStorage.setItem(STORAGE_KEY, newMode);
79
+ localStorage.setItem(MODE_KEY, newMode);
80
+ }, []);
81
+
82
+ const setStyle = useCallback((newStyle: ThemeStyle) => {
83
+ setStyleState(newStyle);
84
+ localStorage.setItem(STYLE_KEY, newStyle);
64
85
  }, []);
65
86
 
66
- const value = useMemo(() => ({ mode, theme, setMode }), [mode, theme, setMode]);
87
+ const value = useMemo(() => ({ mode, style, theme, setMode, setStyle }), [mode, style, theme, setMode, setStyle]);
67
88
 
68
89
  return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;
69
90
  }
@@ -6,13 +6,8 @@
6
6
  <title>Apteva</title>
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com">
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
- <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
10
10
  <link rel="stylesheet" href="./styles.css">
11
- <style>
12
- body {
13
- font-family: 'JetBrains Mono', monospace;
14
- }
15
- </style>
16
11
  </head>
17
12
  <body>
18
13
  <div id="root"></div>
@@ -2,9 +2,56 @@
2
2
  @tailwind components;
3
3
  @tailwind utilities;
4
4
 
5
+ /* ── Style variables (classic vs professional) ── */
6
+ :root, [data-style="classic"] {
7
+ --font-family: 'JetBrains Mono', monospace;
8
+ --radius-card: 8px;
9
+ --radius-button: 6px;
10
+ --radius-badge: 4px;
11
+ --shadow-card: none;
12
+ --shadow-card-hover: none;
13
+ --border-card: 1px solid var(--color-border);
14
+ --spacing-card: 1rem;
15
+ }
16
+
17
+ [data-style="professional"] {
18
+ --font-family: 'Inter', system-ui, -apple-system, sans-serif;
19
+ --radius-card: 14px;
20
+ --radius-button: 10px;
21
+ --radius-badge: 8px;
22
+ --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
23
+ --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
24
+ --border-card: 1px solid var(--color-border);
25
+ --spacing-card: 1.25rem;
26
+ }
27
+
28
+ /* Dark professional gets stronger shadows */
29
+ [data-style="professional"][data-theme="professional-dark"] {
30
+ --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.12);
31
+ --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.15);
32
+ }
33
+
34
+ /* ── Utility class for cards ── */
35
+ .card {
36
+ border-radius: var(--radius-card);
37
+ border: var(--border-card);
38
+ box-shadow: var(--shadow-card);
39
+ transition: box-shadow 0.2s ease;
40
+ }
41
+
42
+ .card:hover {
43
+ box-shadow: var(--shadow-card-hover);
44
+ }
45
+
46
+ /* ── Utility for buttons ── */
47
+ .btn {
48
+ border-radius: var(--radius-button);
49
+ }
50
+
5
51
  html, body {
6
52
  background-color: var(--color-bg, #0a0a0a);
7
53
  color: var(--color-text, #e0e0e0);
54
+ font-family: var(--font-family, 'JetBrains Mono', monospace);
8
55
  min-height: 100%;
9
56
  margin: 0;
10
57
  -webkit-font-smoothing: antialiased;
package/src/web/themes.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /** Theme system — extensible for future custom themes */
2
2
 
3
3
  export type ThemeMode = "auto" | "dark" | "light";
4
+ export type ThemeStyle = "classic" | "professional";
4
5
 
5
6
  export interface ThemeColors {
6
7
  "--color-bg": string;
@@ -30,6 +31,7 @@ export interface Theme {
30
31
  }
31
32
 
32
33
  export const themes: Record<string, Theme> = {
34
+ // ── Classic (terminal/hacker) ──────────────────────────
33
35
  dark: {
34
36
  id: "dark",
35
37
  name: "Dark",
@@ -88,12 +90,73 @@ export const themes: Record<string, Theme> = {
88
90
  "--color-scrollbar-hover": "#aaaaaa",
89
91
  },
90
92
  },
93
+
94
+ // ── Professional (enterprise/SaaS) ────────────────────
95
+ "professional-dark": {
96
+ id: "professional-dark",
97
+ name: "Professional Dark",
98
+ colors: {
99
+ "--color-bg": "#0f1117",
100
+ "--color-bg-secondary": "#131520",
101
+ "--color-surface": "#181a24",
102
+ "--color-surface-hover": "#1e2030",
103
+ "--color-surface-raised": "#232636",
104
+ "--color-border": "#252838",
105
+ "--color-border-light": "#2d3044",
106
+ "--color-text": "#d4d7e0",
107
+ "--color-text-secondary": "#8b8fa3",
108
+ "--color-text-muted": "#6b6f83",
109
+ "--color-text-faint": "#4e5266",
110
+ "--color-accent": "#7c3aed",
111
+ "--color-accent-hover": "#6d28d9",
112
+ "--color-accent-5": "rgba(124, 58, 237, 0.05)",
113
+ "--color-accent-10": "rgba(124, 58, 237, 0.1)",
114
+ "--color-accent-15": "rgba(124, 58, 237, 0.15)",
115
+ "--color-accent-20": "rgba(124, 58, 237, 0.2)",
116
+ "--color-accent-30": "rgba(124, 58, 237, 0.3)",
117
+ "--color-accent-70": "rgba(124, 58, 237, 0.7)",
118
+ "--color-selection-bg": "#7c3aed",
119
+ "--color-selection-text": "#ffffff",
120
+ "--color-scrollbar": "#2d3044",
121
+ "--color-scrollbar-hover": "#3d4058",
122
+ },
123
+ },
124
+ "professional-light": {
125
+ id: "professional-light",
126
+ name: "Professional Light",
127
+ colors: {
128
+ "--color-bg": "#f8f9fb",
129
+ "--color-bg-secondary": "#f0f2f5",
130
+ "--color-surface": "#ffffff",
131
+ "--color-surface-hover": "#f5f6f8",
132
+ "--color-surface-raised": "#eef0f4",
133
+ "--color-border": "#e2e4ea",
134
+ "--color-border-light": "#e8eaef",
135
+ "--color-text": "#1a1d2b",
136
+ "--color-text-secondary": "#4b5066",
137
+ "--color-text-muted": "#6b7088",
138
+ "--color-text-faint": "#9298ac",
139
+ "--color-accent": "#6d28d9",
140
+ "--color-accent-hover": "#5b21b6",
141
+ "--color-accent-5": "rgba(109, 40, 217, 0.05)",
142
+ "--color-accent-10": "rgba(109, 40, 217, 0.1)",
143
+ "--color-accent-15": "rgba(109, 40, 217, 0.15)",
144
+ "--color-accent-20": "rgba(109, 40, 217, 0.2)",
145
+ "--color-accent-30": "rgba(109, 40, 217, 0.3)",
146
+ "--color-accent-70": "rgba(109, 40, 217, 0.7)",
147
+ "--color-selection-bg": "#6d28d9",
148
+ "--color-selection-text": "#ffffff",
149
+ "--color-scrollbar": "#cdd0d8",
150
+ "--color-scrollbar-hover": "#b0b4c0",
151
+ },
152
+ },
91
153
  };
92
154
 
93
- /** Resolve the effective theme ID from a mode + system preference */
94
- export function resolveTheme(mode: ThemeMode, prefersDark: boolean): Theme {
95
- if (mode === "auto") {
96
- return prefersDark ? themes.dark : themes.light;
155
+ /** Resolve the effective theme from mode + style + system preference */
156
+ export function resolveTheme(mode: ThemeMode, style: ThemeStyle, prefersDark: boolean): Theme {
157
+ const isDark = mode === "auto" ? prefersDark : mode === "dark";
158
+ if (style === "professional") {
159
+ return isDark ? themes["professional-dark"] : themes["professional-light"];
97
160
  }
98
- return themes[mode] || themes.dark;
161
+ return isDark ? themes.dark : themes.light;
99
162
  }
package/src/web/types.ts CHANGED
@@ -158,7 +158,7 @@ export interface OnboardingStatus {
158
158
  has_any_keys: boolean;
159
159
  }
160
160
 
161
- export type Route = "dashboard" | "threads" | "agents" | "activity" | "tasks" | "connections" | "mcp" | "skills" | "tests" | "telemetry" | "settings" | "api";
161
+ export type Route = "dashboard" | "threads" | "agents" | "activity" | "tasks" | "connections" | "mcp" | "skills" | "tests" | "analytics" | "settings" | "api";
162
162
 
163
163
  // Tool use content block in trajectory
164
164
  export interface ToolUseBlock {
@@ -1 +0,0 @@
1
- @layer components{@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slideUp{animation:.2s ease-out slideUp}.apteva-scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.apteva-scrollbar-hidden::-webkit-scrollbar{display:none}.apteva-md{white-space:pre-wrap!important;color:inherit!important;word-wrap:break-word!important;overflow-wrap:break-word!important;font-size:.875rem!important;line-height:1.625!important}.apteva-md-h2{all:unset!important;display:block!important;margin-top:.75rem!important;margin-bottom:.25rem!important;font-size:1.125rem!important;font-weight:600!important;line-height:1.3!important}.apteva-md-h3{all:unset!important;display:block!important;margin-top:.5rem!important;margin-bottom:.125rem!important;font-size:1rem!important;font-weight:600!important;line-height:1.3!important}.apteva-md-ul{all:unset!important;list-style-type:disc!important;list-style-position:outside!important;display:block!important;margin-top:.5rem!important;margin-bottom:.5rem!important;padding-left:1.5rem!important}.apteva-md-ol{all:unset!important;list-style-type:decimal!important;list-style-position:outside!important;display:block!important;margin-top:.5rem!important;margin-bottom:.5rem!important;padding-left:1.5rem!important}.apteva-md-li{all:unset!important;display:list-item!important;margin-bottom:.25rem!important;padding-left:.25rem!important}.apteva-tool-call{all:unset!important;display:flex!important;background-color:#8080801a!important;border:1px solid #80808033!important;border-radius:.5rem!important;align-items: center!important;gap:.5rem!important;margin:.5rem 0!important;padding:.5rem .75rem!important;font-size:.875rem!important}.apteva-tool-call-dot{all:unset!important;display:block!important;border-radius:50%!important;flex-shrink:0!important;width:.5rem!important;height:.5rem!important}.apteva-tool-call-dot-running{animation:1s infinite blink!important;background-color:#3b82f6!important}.apteva-tool-call-dot-completed{background-color:#22c55e!important}.apteva-tool-call-dot-error{background-color:#ef4444!important}.apteva-tool-call-name{all:unset!important;color:inherit!important;font-family:ui-monospace,monospace!important}.apteva-tool-call-status{all:unset!important;color:#808080cc!important;margin-left:auto!important}.apteva-tool-call-status-completed{color:#22c55e!important}.apteva-tool-call-status-error{color:#ef4444!important}.apteva-md-table-wrapper{overflow-x:auto!important;margin:.75rem 0!important}.apteva-md-table{border-collapse:collapse!important;width:100%!important;font-size:.8125rem!important;line-height:1.4!important}.apteva-md-th{text-align:left!important;white-space:nowrap!important;border-bottom:2px solid #8080804d!important;padding:.5rem .75rem!important;font-weight:600!important}.apteva-md-td{border-bottom:1px solid #80808026!important;padding:.5rem .75rem!important}.apteva-md-table tbody tr:hover{background-color:#8080800d!important}.apteva-md-table tbody tr:last-child .apteva-md-td{border-bottom:none!important}.apteva-md-img{display:block!important;border-radius:.5rem!important;max-width:100%!important;height:auto!important;margin:.5rem 0!important}.apteva-md-link{color:#3b82f6!important;text-underline-offset:2px!important;text-decoration:underline!important}.apteva-md-link:hover{color:#2563eb!important}.apteva-md-inline-code{background-color:#80808026!important;border-radius:.25rem!important;padding:.125rem .375rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.8125rem!important}.apteva-typing-indicator{display:inline-flex!important;align-items: center!important;gap:2px!important}.apteva-typing-indicator span{opacity:.4!important;animation:1.4s infinite both apteva-typing-blink!important;background-color:currentColor!important;border-radius:50%!important;width:6px!important;height:6px!important}.apteva-typing-indicator span:nth-child(2){animation-delay:.2s!important}.apteva-typing-indicator span:nth-child(3){animation-delay:.4s!important}@keyframes apteva-typing-blink{0%,80%,to{opacity:.4}40%{opacity:1}}.apteva-chat-header{all:unset!important;box-sizing:border-box!important;display:flex!important;justify-content:space-between!important;align-items: center!important;padding:.75rem 1rem!important}.apteva-chat-title{all:unset!important;color:#111827!important;display:block!important;font-size:1.125rem!important;font-weight:600!important;line-height:1.4!important}@media (prefers-color-scheme:dark){.apteva-chat-title{color:#fff!important}}.dark .apteva-chat-title{color:#fff!important}.apteva-chat-status{all:unset!important;display:block!important;margin-top:.125rem!important;font-size:.75rem!important;line-height:1.4!important}.apteva-chat-status-ready,.apteva-chat-status-thinking{color:#737373!important}.apteva-chat-status-tool{color:#3b82f6!important}@media (prefers-color-scheme:dark){.apteva-chat-status-ready,.apteva-chat-status-thinking{color:#525252!important}.apteva-chat-status-tool{color:#60a5fa!important}}.dark .apteva-chat-status-ready,.dark .apteva-chat-status-thinking{color:#525252!important}.dark .apteva-chat-status-tool{color:#60a5fa!important}.apteva-message-list{box-sizing:border-box!important;display:block!important;overflow-y:auto!important;flex:1!important;padding:1rem!important}.apteva-message-row-user{display:flex!important;justify-content:flex-end!important;margin-bottom:.75rem!important}.apteva-message-row-assistant{display:flex!important;justify-content:flex-start!important;margin-bottom:.75rem!important}.apteva-message-bubble{box-sizing:border-box!important;display:block!important;border-radius:1rem!important;max-width:95%!important;padding:.625rem 1rem!important;font-size:.875rem!important;line-height:1.5!important}.apteva-message-user{color:#fff!important;background-color:#2563eb!important;border-bottom-right-radius:.375rem!important}.apteva-message-assistant{color:#0a0a0a!important;background-color:#fafafa!important;border-bottom-left-radius:.375rem!important}@media (prefers-color-scheme:dark){.apteva-message-assistant{color:#fafafa!important;background-color:#262626!important}}.dark .apteva-message-assistant{color:#fafafa!important;background-color:#262626!important}.apteva-message-content-user,.apteva-message-content-assistant{display:block!important}.apteva-message-text{white-space:pre-wrap!important;color:inherit!important;display:block!important;font-size:.875rem!important;line-height:1.625!important}.apteva-message-widgets{display:block!important;margin-top:.5rem!important}.apteva-message-timestamp{display:block!important;margin-top:.375rem!important;font-size:.75rem!important}.apteva-message-timestamp-user{color:#bfdbfe!important}.apteva-message-timestamp-assistant,.apteva-welcome-empty{color:#737373!important}.apteva-welcome-icon{color:#a3a3a3!important}.apteva-welcome-title{color:#111827!important}.apteva-welcome-subtitle{color:#737373!important}.apteva-prompt-card{background-color:#fff!important;border-color:#e5e5e5!important}.apteva-prompt-card:hover{background-color:#fafafa!important;border-color:#93c5fd!important}.apteva-prompt-text{color:#111827!important}.apteva-prompt-desc{color:#737373!important}.apteva-prompt-icon{color:#a3a3a3!important}.group:hover .apteva-prompt-icon{color:#3b82f6!important}.apteva-prompt-icon-box{color:#737373!important;background-color:#f5f5f5!important}.group:hover .apteva-prompt-icon-box{color:#2563eb!important;background-color:#dbeafe!important}.apteva-prompt-chevron{color:#a3a3a3!important}.group:hover .apteva-prompt-chevron{color:#3b82f6!important}@media (prefers-color-scheme:dark){.apteva-welcome-empty{color:#a3a3a3!important}.apteva-welcome-icon{color:#525252!important}.apteva-welcome-title{color:#fff!important}.apteva-welcome-subtitle{color:#a3a3a3!important}.apteva-prompt-card{background-color:#262626!important;border-color:#404040!important}.apteva-prompt-card:hover{background-color:#1f1f1f!important;border-color:#3b82f6!important}.apteva-prompt-text{color:#fff!important}.apteva-prompt-desc{color:#a3a3a3!important}.apteva-prompt-icon{color:#525252!important}.group:hover .apteva-prompt-icon{color:#60a5fa!important}.apteva-prompt-icon-box{color:#a3a3a3!important;background-color:#404040!important}.group:hover .apteva-prompt-icon-box{color:#60a5fa!important;background-color:#3b82f626!important}.apteva-prompt-chevron{color:#525252!important}.group:hover .apteva-prompt-chevron{color:#60a5fa!important}}.dark .apteva-welcome-empty{color:#a3a3a3!important}.dark .apteva-welcome-icon{color:#525252!important}.dark .apteva-welcome-title{color:#fff!important}.dark .apteva-welcome-subtitle{color:#a3a3a3!important}.dark .apteva-prompt-card{background-color:#262626!important;border-color:#404040!important}.dark .apteva-prompt-card:hover{background-color:#1f1f1f!important;border-color:#3b82f6!important}.dark .apteva-prompt-text{color:#fff!important}.dark .apteva-prompt-desc{color:#a3a3a3!important}.dark .apteva-prompt-icon{color:#525252!important}.dark .group:hover .apteva-prompt-icon{color:#60a5fa!important}.dark .apteva-prompt-icon-box{color:#a3a3a3!important;background-color:#404040!important}.dark .group:hover .apteva-prompt-icon-box{color:#60a5fa!important;background-color:#3b82f626!important}.dark .apteva-prompt-chevron{color:#525252!important}.dark .group:hover .apteva-prompt-chevron{color:#60a5fa!important}.apteva-message-segmented{display:flex!important;flex-direction:column!important;gap:.5rem!important;width:95%!important;max-width:95%!important}.apteva-message-segmented .apteva-message-bubble{width:-moz-fit-content!important;width:fit-content!important;max-width:100%!important}.apteva-tool-call-standalone,.apteva-widget-standalone{display:block!important}.apteva-widget{--aw-bg:#fff;--aw-bg-subtle:#fafafa;--aw-bg-muted:#f5f5f5;--aw-bg-input:#fafafa;--aw-border:#e5e5e5;--aw-border-focus:#3b82f6;--aw-text:#171717;--aw-text-heading:#171717;--aw-text-body:#525252;--aw-text-muted:#737373;--aw-text-placeholder:#a3a3a3;--aw-text-on-primary:#fff;--aw-primary:#3b82f6;--aw-primary-hover:#2563eb;--aw-hover-bg:#fafafa;--aw-danger:#ef4444;color:var(--aw-text)!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important;font-size:.875rem!important;line-height:1.5!important}@media (prefers-color-scheme:dark){.apteva-widget{--aw-bg:#171717;--aw-bg-subtle:#1a1a1a;--aw-bg-muted:#262626;--aw-bg-input:#262626;--aw-border:#333;--aw-border-focus:#3b82f6;--aw-text:#fafafa;--aw-text-heading:#fff;--aw-text-body:#a3a3a3;--aw-text-muted:#737373;--aw-text-placeholder:#525252;--aw-primary:#3b82f6;--aw-primary-hover:#60a5fa;--aw-hover-bg:#262626;--aw-danger:#f87171}}.dark .apteva-widget,.apteva-widget.apteva-dark{--aw-bg:#171717;--aw-bg-subtle:#1a1a1a;--aw-bg-muted:#262626;--aw-bg-input:#262626;--aw-border:#333;--aw-border-focus:#3b82f6;--aw-text:#fafafa;--aw-text-heading:#fff;--aw-text-body:#a3a3a3;--aw-text-muted:#737373;--aw-text-placeholder:#525252;--aw-primary:#3b82f6;--aw-primary-hover:#60a5fa;--aw-hover-bg:#262626;--aw-danger:#f87171}.apteva-widget *,.apteva-widget :before,.apteva-widget :after{box-sizing:border-box!important}.apteva-widget h1,.apteva-widget h2,.apteva-widget h3,.apteva-widget h4,.apteva-widget p,.apteva-widget ul,.apteva-widget ol,.apteva-widget li,.apteva-widget figure,.apteva-widget figcaption,.apteva-widget table,.apteva-widget caption,.apteva-widget th,.apteva-widget td{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;margin:0!important;padding:0!important}.apteva-widget input,.apteva-widget select,.apteva-widget textarea,.apteva-widget button{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}.apteva-widget table{border-collapse:collapse!important;border-spacing:0!important}.apteva-widget img{display:block!important;max-width:100%!important}.apteva-widget>div,.apteva-widget>form,.apteva-widget>figure{background-color:var(--aw-bg)!important;border-color:var(--aw-border)!important;color:var(--aw-text)!important}.apteva-widget h3,.apteva-widget h4{color:var(--aw-text-heading)!important}.apteva-widget p,.apteva-widget label{color:var(--aw-text-body)!important}.apteva-widget span{color:inherit!important}.apteva-widget input,.apteva-widget select,.apteva-widget textarea{background-color:var(--aw-bg-input)!important;border-color:var(--aw-border)!important;color:var(--aw-text)!important}.apteva-widget input::placeholder,.apteva-widget textarea::placeholder{color:var(--aw-text-placeholder)!important}.apteva-widget input:focus,.apteva-widget select:focus,.apteva-widget textarea:focus{border-color:var(--aw-border-focus)!important}.apteva-widget .apteva-kpi-value{color:var(--aw-text-heading)!important}.apteva-widget thead tr{background-color:var(--aw-bg-muted)!important}.apteva-widget th{color:var(--aw-text-heading)!important}.apteva-widget td{color:var(--aw-text-body)!important}.apteva-widget caption{background-color:var(--aw-bg-muted)!important;color:var(--aw-text-body)!important}.apteva-widget tbody tr{border-color:var(--aw-border)!important}.apteva-widget .apteva-list-item:hover{background-color:var(--aw-hover-bg)!important}.apteva-widget button[type=submit]{background-color:var(--aw-primary)!important;color:var(--aw-text-on-primary)!important}.apteva-widget button[type=submit]:hover{background-color:var(--aw-primary-hover)!important}.apteva-widget .apteva-file-drop{border-color:var(--aw-border)!important;background-color:var(--aw-bg-muted)!important;color:var(--aw-text-muted)!important}.apteva-widget .apteva-file-drop:hover{border-color:var(--aw-primary)!important;color:var(--aw-primary)!important}.apteva-widget .apteva-file-item-row{background-color:var(--aw-bg-muted)!important;color:var(--aw-text-body)!important}.apteva-widget .apteva-file-remove-btn{color:var(--aw-text-muted)!important}.apteva-widget .apteva-file-remove-btn:hover{color:var(--aw-danger)!important}.apteva-widget .apteva-select-trigger,.apteva-widget .apteva-datepicker-trigger{background-color:var(--aw-bg-input)!important;border-color:var(--aw-border)!important;color:var(--aw-text)!important;cursor:pointer!important}.apteva-widget .apteva-select-trigger:hover,.apteva-widget .apteva-datepicker-trigger:hover{border-color:var(--aw-text-muted)!important}.apteva-widget .apteva-select-placeholder{color:var(--aw-text-placeholder)!important}.apteva-widget .apteva-select-value,.apteva-widget .apteva-datepicker-value{color:var(--aw-text)!important}.apteva-widget .apteva-select-chevron{color:var(--aw-text-muted)!important}.apteva-widget .apteva-select-dropdown,.apteva-widget .apteva-datepicker-dropdown{background-color:var(--aw-bg)!important;border-color:var(--aw-border)!important}.apteva-widget .apteva-select-option{color:var(--aw-text)!important;background-color:#0000!important}.apteva-widget .apteva-select-option:hover{background-color:var(--aw-bg-muted)!important}.apteva-widget .apteva-select-option-active{background-color:var(--aw-primary)!important;color:var(--aw-text-on-primary)!important}.apteva-widget .apteva-select-option-active:hover{background-color:var(--aw-primary-hover)!important}.apteva-widget .apteva-datepicker-dropdown{min-width:280px!important}.apteva-widget .apteva-datepicker-header{background-color:var(--aw-bg-muted)!important;border-bottom:1px solid var(--aw-border)!important}.apteva-widget .apteva-datepicker-title{color:var(--aw-text-heading)!important}.apteva-widget .apteva-datepicker-nav{color:var(--aw-text-muted)!important;cursor:pointer!important;background-color:#0000!important;border:none!important}.apteva-widget .apteva-datepicker-nav:hover{color:var(--aw-text)!important;background-color:var(--aw-bg-muted)!important}.apteva-widget .apteva-datepicker-daylabel{color:var(--aw-text-muted)!important}.apteva-widget .apteva-datepicker-day{color:var(--aw-text)!important;cursor:pointer!important;background-color:#0000!important;border:none!important}.apteva-widget .apteva-datepicker-day:hover{background-color:var(--aw-bg-muted)!important}.apteva-widget .apteva-datepicker-day-selected{background-color:var(--aw-primary)!important;color:var(--aw-text-on-primary)!important}.apteva-widget .apteva-datepicker-day-selected:hover{background-color:var(--aw-primary-hover)!important}.apteva-widget .apteva-datepicker-day-today{text-underline-offset:2px!important;text-decoration:underline!important;font-weight:700!important}.apteva-widget .apteva-field-label,.apteva-widget .apteva-checkbox span{color:var(--aw-text-body)!important}.apteva-widget-skeleton{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.apteva-widget-skeleton *{box-sizing:border-box!important}@media (prefers-color-scheme:dark){.apteva-message-timestamp-assistant{color:#525252!important}}.dark .apteva-message-timestamp-assistant{color:#525252!important}.apteva-tool-card{box-sizing:border-box!important;display:flex!important;border-style:solid!important;border-width:1px!important;border-radius:.75rem!important;align-items: center!important;gap:.5rem!important;padding:.5rem .75rem!important;font-size:.875rem!important}.apteva-tool-card-running{color:#1d4ed8!important;background-color:#eff6ff!important;border-color:#bfdbfe!important}.apteva-tool-card-completed{color:#15803d!important;background-color:#f0fdf4!important;border-color:#bbf7d0!important}.apteva-tool-card-error{color:#b91c1c!important;background-color:#fef2f2!important;border-color:#fecaca!important}@media (prefers-color-scheme:dark){.apteva-tool-card-running{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#3b82f64d!important}.apteva-tool-card-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.apteva-tool-card-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}}.dark .apteva-tool-card-running{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#3b82f64d!important}.dark .apteva-tool-card-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.dark .apteva-tool-card-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}.apteva-tool-icon{flex-shrink:0!important;width:1rem!important;height:1rem!important}.apteva-tool-icon-spin{animation:1s linear infinite apteva-spin!important}.apteva-tool-spinner-track{opacity:.25!important}.apteva-tool-spinner-fill{opacity:.75!important}.apteva-tool-label{font-size:inherit!important}.apteva-tool-label strong{font-weight:600!important}@keyframes apteva-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.apteva-tool-card-preparing{color:#92400e!important;background-color:#fef3c7!important;border-color:#fcd34d!important}@media (prefers-color-scheme:dark){.apteva-tool-card-preparing{color:#fbbf24!important;background-color:#fbbf2426!important;border-color:#fbbf2466!important}}.dark .apteva-tool-card-preparing{color:#fbbf24!important;background-color:#fbbf2426!important;border-color:#fbbf2466!important}@keyframes apteva-pulse-glow{0%,to{box-shadow:0 0 #fbbf2400}50%{box-shadow:0 0 8px 2px #fbbf2480}}.apteva-tool-receiving{animation:.4s ease-in-out apteva-pulse-glow!important}.apteva-tool-status-text{opacity:.7!important;font-weight:400!important}.apteva-tool-char-count{opacity:.6!important;font-variant-numeric:tabular-nums!important;font-size:.85em!important;font-weight:400!important}.apteva-tool-dots{display:inline-flex!important;margin-left:1px!important}.apteva-tool-dots span{opacity:.3!important;animation:1.4s ease-in-out infinite apteva-dot-pulse!important}.apteva-tool-dots span:first-child{animation-delay:0s!important}.apteva-tool-dots span:nth-child(2){animation-delay:.2s!important}.apteva-tool-dots span:nth-child(3){animation-delay:.4s!important}@keyframes apteva-dot-pulse{0%,60%,to{opacity:.3}30%{opacity:1}}.apteva-tool-stream-separator{opacity:.5!important}.apteva-tool-stream-output{opacity:.85!important;white-space:nowrap!important;text-overflow:ellipsis!important;vertical-align:bottom!important;display:inline-block!important;overflow:hidden!important;max-width:300px!important;font-weight:400!important}.apteva-tool-inline{display:flex!important;align-items: center!important;gap:0!important;width:100%!important;padding:.25rem 0!important}.apteva-tool-inline-line{background-color:#d4d4d4!important;flex:1!important;height:1px!important}.apteva-tool-inline-content{display:flex!important;flex-shrink:0!important;align-items: center!important;gap:.375rem!important;padding:0 .75rem!important}.apteva-tool-inline-icon{color:#7c3aed!important;flex-shrink:0!important;width:.875rem!important;height:.875rem!important}.apteva-tool-inline-text{color:#9ca3af!important;white-space:nowrap!important;font-size:.8125rem!important}@media (prefers-color-scheme:dark){.apteva-tool-inline-line{background-color:#404040!important}.apteva-tool-inline-icon{color:#a78bfa!important}.apteva-tool-inline-text{color:#6b7280!important}}.dark .apteva-tool-inline-line{background-color:#404040!important}.dark .apteva-tool-inline-icon{color:#a78bfa!important}.dark .apteva-tool-inline-text{color:#6b7280!important}.apteva-tool-group{overflow:hidden!important;border:1px solid!important;border-radius:.5rem!important;font-size:.8125rem!important}.apteva-tool-group-running{color:#1d4ed8!important;background-color:#eff6ff!important;border-color:#bfdbfe!important}.apteva-tool-group-completed{color:#15803d!important;background-color:#f0fdf4!important;border-color:#bbf7d0!important}.apteva-tool-group-error{color:#b91c1c!important;background-color:#fef2f2!important;border-color:#fecaca!important}.apteva-tool-group-header{color:inherit!important;font:inherit!important;cursor:pointer!important;display:flex!important;background:0 0!important;border:none!important;justify-content:space-between!important;align-items: center!important;width:100%!important;padding:.375rem .625rem!important}.apteva-tool-group-header:hover{opacity:.8!important}.apteva-tool-group-header-left{display:flex!important;align-items: center!important;gap:.375rem!important}.apteva-tool-group-icon{flex-shrink:0!important}.apteva-tool-group-status{font-weight:600!important}.apteva-tool-group-chevron{opacity:.6!important;flex-shrink:0!important;transition:transform .2s!important}.apteva-tool-group-chevron-open{transform:rotate(180deg)!important}.apteva-tool-group-stream{opacity:.8!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;padding:0 .625rem .375rem!important;font-size:.75rem!important}.apteva-tool-group-stream-name{margin-right:.25rem!important;font-weight:600!important}.apteva-tool-group-list{display:flex!important;border-top:1px solid #00000014!important;flex-direction:column!important;gap:.125rem!important;padding:.25rem .625rem .375rem!important}.apteva-tool-group-item{display:flex!important;align-items: center!important;gap:.375rem!important;padding:.125rem 0!important;font-size:.75rem!important}.apteva-tool-group-item-icon{flex-shrink:0!important}.apteva-tool-group-item-done{color:#16a34a!important}.apteva-tool-group-item-error{color:#dc2626!important}.apteva-tool-group-item-spinner{opacity:.6!important;animation:.8s linear infinite apteva-tool-spin!important;border:2px solid!important;border-top-color:#0000!important;border-radius:50%!important;width:10px!important;height:10px!important}.apteva-tool-group-item-name{font-weight:500!important}.apteva-tool-group-item-stream{opacity:.7!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;flex:1!important;min-width:0!important}@keyframes apteva-tool-spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){.apteva-tool-group-running{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#3b82f64d!important}.apteva-tool-group-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.apteva-tool-group-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}.apteva-tool-group-list{border-top-color:#ffffff1a!important}.apteva-tool-group-item-done{color:#4ade80!important}.apteva-tool-group-item-error{color:#f87171!important}}.dark .apteva-tool-group-running{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#3b82f64d!important}.dark .apteva-tool-group-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.dark .apteva-tool-group-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}.dark .apteva-tool-group-list{border-top-color:#ffffff1a!important}.dark .apteva-tool-group-item-done{color:#4ade80!important}.dark .apteva-tool-group-item-error{color:#f87171!important}.apteva-composer{display:grid!important;position:relative!important;background-color:#fff!important;border:2px solid #d4d4d4!important;border-radius:1rem!important;gap:.5rem .75rem!important;padding:.5rem .75rem!important;transition:all .3s!important}.apteva-composer textarea{color:#171717!important;background-color:#0000!important}.apteva-composer textarea::placeholder{color:#a3a3a3!important}button.apteva-composer-menu-btn{color:#404040!important;background:0 0!important;border:none!important}button.apteva-composer-menu-btn:hover{background-color:#f5f5f5!important}.apteva-composer-menu{background-color:#262626!important}.apteva-composer-menu-item{color:#fff!important;background-color:#0000!important}.apteva-composer-menu-item:hover{background-color:#404040!important}.apteva-composer-menu-item-border{border-top:1px solid #404040!important}.apteva-composer-send-btn{color:#404040!important;background-color:#fff!important;border:1px solid #d4d4d4!important}.apteva-composer-send-btn svg{stroke:currentColor!important}.apteva-composer-stop-btn{all:unset!important;box-sizing:border-box!important;cursor:pointer!important;color:#dc2626!important;display:flex!important;background-color:#fef2f2!important;border:1px solid #f87171!important;border-radius:.5rem!important;flex-shrink:0!important;justify-content:center!important;align-items: center!important;width:2rem!important;height:2rem!important;margin:0!important;padding:0!important;transition:background-color .15s!important}.apteva-composer-stop-btn:hover{background-color:#fee2e2!important}.apteva-composer-stop-btn svg{fill:currentColor!important;width:14px!important;height:14px!important}@media (prefers-color-scheme:dark){.apteva-composer{background-color:#171717!important;border-color:#404040!important}.apteva-composer textarea{color:#fafafa!important}.apteva-composer textarea::placeholder{color:#525252!important}button.apteva-composer-menu-btn{color:#d4d4d4!important;background:0 0!important}button.apteva-composer-menu-btn:hover{background-color:#262626!important}.apteva-composer-send-btn{color:#d4d4d4!important;background-color:#262626!important;border-color:#404040!important}.apteva-composer-stop-btn{color:#f87171!important;background-color:#7f1d1d4d!important;border-color:#f87171!important}.apteva-composer-stop-btn:hover{background-color:#7f1d1d80!important}}.dark .apteva-composer{background-color:#171717!important;border-color:#404040!important}.dark .apteva-composer textarea{color:#fafafa!important}.dark .apteva-composer textarea::placeholder{color:#525252!important}.dark button.apteva-composer-menu-btn{color:#d4d4d4!important;background:0 0!important}.dark button.apteva-composer-menu-btn:hover{background-color:#262626!important}.dark .apteva-composer-send-btn{color:#d4d4d4!important;background-color:#262626!important;border-color:#404040!important}.dark .apteva-composer-stop-btn{color:#f87171!important;background-color:#7f1d1d4d!important;border-color:#f87171!important}.dark .apteva-composer-stop-btn:hover{background-color:#7f1d1d80!important}.apteva-file-preview{display:flex!important;flex-wrap:wrap!important;gap:.5rem!important;margin-bottom:.5rem!important}.apteva-file-item{all:unset!important;box-sizing:border-box!important;display:flex!important;position:relative!important;background-color:#f5f5f5!important;border:1px solid #e5e5e5!important;border-radius:.5rem!important;align-items: center!important;gap:.5rem!important;padding:.5rem .75rem!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.apteva-file-item:hover .apteva-file-remove{opacity:1!important}.apteva-file-thumb{object-fit:cover!important;border-radius:.25rem!important;flex-shrink:0!important;width:2rem!important;height:2rem!important}.apteva-file-icon{color:#737373!important;display:flex!important;background-color:#e5e5e5!important;border-radius:.25rem!important;flex-shrink:0!important;justify-content:center!important;align-items: center!important;width:2rem!important;height:2rem!important}.apteva-file-icon svg{width:1rem!important;height:1rem!important}.apteva-file-info{display:flex!important;flex-direction:column!important;min-width:0!important}.apteva-file-name{color:#404040!important;text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;max-width:120px!important;font-size:.75rem!important;font-weight:500!important}.apteva-file-size{color:#737373!important;font-size:.75rem!important}.apteva-file-remove{all:unset!important;box-sizing:border-box!important;color:#fff!important;opacity:0!important;cursor:pointer!important;display:flex!important;position:absolute!important;background-color:#737373!important;border-radius:50%!important;justify-content:center!important;align-items: center!important;width:1.25rem!important;height:1.25rem!important;transition:opacity .15s,background-color .15s!important;top:-.375rem!important;right:-.375rem!important}.apteva-file-remove:hover{background-color:#ef4444!important}.apteva-file-remove svg{width:.75rem!important;height:.75rem!important}.apteva-file-error{all:unset!important;box-sizing:border-box!important;z-index:20!important;position:absolute!important;background-color:#fef2f2!important;border:1px solid #fecaca!important;border-radius:.5rem!important;margin-bottom:.5rem!important;padding:.75rem!important;bottom:100%!important;left:1rem!important;right:1rem!important}.apteva-file-error-content{color:#b91c1c!important;display:flex!important;align-items: center!important;gap:.5rem!important;font-size:.875rem!important}.apteva-file-error-content svg{flex-shrink:0!important;width:1rem!important;height:1rem!important}@media (prefers-color-scheme:dark){.apteva-file-item{background-color:#262626!important;border-color:#404040!important}.apteva-file-icon{color:#a3a3a3!important;background-color:#404040!important}.apteva-file-name{color:#d4d4d4!important}.apteva-file-size{color:#a3a3a3!important}.apteva-file-error{background-color:#7f1d1d4d!important;border-color:#f87171!important}.apteva-file-error-content{color:#fca5a5!important}}.dark .apteva-file-item{background-color:#262626!important;border-color:#404040!important}.dark .apteva-file-icon{color:#a3a3a3!important;background-color:#404040!important}.dark .apteva-file-name{color:#d4d4d4!important}.dark .apteva-file-size{color:#a3a3a3!important}.dark .apteva-file-error{background-color:#7f1d1d4d!important;border-color:#f87171!important}.dark .apteva-file-error-content{color:#fca5a5!important}.apteva-file-badges{display:flex!important;flex-shrink:0!important;align-items: center!important;gap:.25rem!important}.apteva-file-badge{all:unset!important;box-sizing:border-box!important;display:flex!important;position:relative!important;overflow:hidden!important;background-color:#f5f5f5!important;border-radius:.25rem!important;justify-content:center!important;align-items: center!important;width:1.5rem!important;height:1.5rem!important}.apteva-file-badge:hover .apteva-file-badge-remove{opacity:1!important}.apteva-file-badge-img{object-fit:cover!important;width:1.5rem!important;height:1.5rem!important}.apteva-file-badge-icon{color:#737373!important;font-size:.75rem!important}.apteva-file-badge-icon svg{width:1rem!important;height:1rem!important}.apteva-file-badge-remove{all:unset!important;box-sizing:border-box!important;opacity:0!important;cursor:pointer!important;display:flex!important;position:absolute!important;background-color:#00000080!important;justify-content:center!important;align-items: center!important;transition:opacity .15s!important;inset:0!important}.apteva-file-badge-remove svg{color:#fff!important;width:.75rem!important;height:.75rem!important}@media (prefers-color-scheme:dark){.apteva-file-badge{background-color:#262626!important}.apteva-file-badge-icon{color:#a3a3a3!important}}.dark .apteva-file-badge{background-color:#262626!important}.dark .apteva-file-badge-icon{color:#a3a3a3!important}.apteva-composer-textarea{-ms-overflow-style:none!important;scrollbar-width:none!important}.apteva-composer-textarea::-webkit-scrollbar{display:none!important}.apteva-composer-mic-btn{all:unset!important;box-sizing:border-box!important;cursor:pointer!important;color:#737373!important;display:flex!important;background-color:#0000!important;border-radius:.5rem!important;flex-shrink:0!important;justify-content:center!important;align-items: center!important;width:2rem!important;height:2rem!important;transition:all .15s!important}.apteva-composer-mic-btn:hover{color:#3b82f6!important;background-color:#3b82f614!important}.apteva-composer-mic-btn:disabled{opacity:.3!important;cursor:not-allowed!important}.apteva-composer-mic-btn svg{width:16px!important;height:16px!important}.apteva-composer-rec-dot{display:flex!important;justify-content:center!important;align-items: center!important;width:2rem!important;height:2rem!important}.apteva-composer-rec-dot span{animation:1.2s ease-in-out infinite apteva-rec-pulse!important;display:block!important;background-color:#ef4444!important;border-radius:50%!important;width:10px!important;height:10px!important}@keyframes apteva-rec-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #ef444466}50%{opacity:.8;transform:scale(1.15);box-shadow:0 0 8px 3px #ef44444d}}.apteva-composer-waveform{display:flex!important;overflow:hidden!important;align-items: center!important;gap:.75rem!important;height:32px!important}.apteva-composer-waveform-canvas{display:block!important;flex:1!important;min-width:0!important;height:32px!important}.apteva-composer-recording-timer{font-variant-numeric:tabular-nums!important;color:#ef4444!important;text-align:right!important;flex-shrink:0!important;min-width:3rem!important;font-size:.8125rem!important;font-weight:500!important}.apteva-transcript-flash{z-index:20!important;animation:.3s ease-out apteva-flash-in!important;position:absolute!important;background-color:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:.75rem!important;margin-bottom:.5rem!important;padding:.625rem 1rem!important;bottom:100%!important;left:1rem!important;right:1rem!important}.apteva-transcript-flash span{color:#1d4ed8!important;font-size:.875rem!important;font-style:italic!important}@keyframes apteva-flash-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){.apteva-composer-mic-btn{color:#a3a3a3!important}.apteva-composer-mic-btn:hover{color:#60a5fa!important;background-color:#60a5fa1a!important}.apteva-transcript-flash{background-color:#3b82f626!important;border-color:#3b82f64d!important}.apteva-transcript-flash span{color:#93c5fd!important}}.dark .apteva-composer-mic-btn{color:#a3a3a3!important}.dark .apteva-composer-mic-btn:hover{color:#60a5fa!important;background-color:#60a5fa1a!important}.dark .apteva-transcript-flash{background-color:#3b82f626!important;border-color:#3b82f64d!important}.dark .apteva-transcript-flash span{color:#93c5fd!important}.apteva-chat-terminal .apteva-composer-mic-btn{color:#666!important}.apteva-chat-terminal .apteva-composer-mic-btn:hover{color:#f97316!important;background-color:#f973161a!important}.apteva-chat{background-color:#fff!important}.apteva-chat-header{background-color:#fff!important;border-color:#e5e5e5!important}.apteva-message-list{background-color:#f5f5f5!important}@media (prefers-color-scheme:dark){.apteva-chat{background-color:#0a0a0a!important}.apteva-chat-header{background-color:#171717!important;border-color:#262626!important}.apteva-message-list{background-color:#0a0a0a!important}}.dark .apteva-chat,.apteva-chat.dark{background-color:#0a0a0a!important}.dark .apteva-chat-header,.apteva-chat.dark .apteva-chat-header{background-color:#171717!important;border-color:#262626!important}.dark .apteva-message-list,.apteva-chat.dark .apteva-message-list,.apteva-force-dark.apteva-chat{background-color:#0a0a0a!important}.apteva-chat.apteva-force-dark .apteva-chat-header{background-color:#171717!important;border-color:#262626!important}.apteva-chat.apteva-force-dark .apteva-chat-title{color:#fff!important}.apteva-chat.apteva-force-dark .apteva-chat-status-ready,.apteva-chat.apteva-force-dark .apteva-chat-status-thinking{color:#525252!important}.apteva-chat.apteva-force-dark .apteva-chat-status-tool{color:#60a5fa!important}.apteva-chat.apteva-force-dark .apteva-message-list{background-color:#0a0a0a!important}.apteva-chat.apteva-force-dark .apteva-message-assistant{color:#fafafa!important;background-color:#262626!important}.apteva-chat.apteva-force-dark .apteva-message-timestamp-assistant{color:#525252!important}.apteva-chat.apteva-force-dark .apteva-composer{background-color:#171717!important;border-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-composer textarea{color:#fafafa!important}.apteva-chat.apteva-force-dark .apteva-composer textarea::placeholder{color:#525252!important}.apteva-chat.apteva-force-dark .apteva-composer-send-btn{color:#d4d4d4!important;background-color:#262626!important;border-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-composer-stop-btn{color:#f87171!important;background-color:#7f1d1d4d!important;border-color:#f87171!important}.apteva-chat.apteva-force-dark button.apteva-composer-menu-btn{background:0 0!important}.apteva-chat.apteva-force-dark .apteva-composer-mic-btn{color:#a3a3a3!important}.apteva-chat.apteva-force-dark .apteva-composer-mic-btn:hover{color:#60a5fa!important;background-color:#60a5fa1a!important}.apteva-chat.apteva-force-dark .apteva-file-item{background-color:#262626!important;border-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-file-icon{color:#a3a3a3!important;background-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-file-name{color:#d4d4d4!important}.apteva-chat.apteva-force-dark .apteva-file-size{color:#a3a3a3!important}.apteva-chat.apteva-force-dark .apteva-transcript-flash{background-color:#3b82f626!important;border-color:#3b82f64d!important}.apteva-chat.apteva-force-dark .apteva-transcript-flash span{color:#93c5fd!important}.apteva-chat.apteva-force-dark .apteva-widget,.apteva-widget.apteva-force-dark{--aw-bg:#171717;--aw-bg-subtle:#1a1a1a;--aw-bg-muted:#262626;--aw-bg-input:#262626;--aw-border:#333;--aw-border-focus:#3b82f6;--aw-text:#fafafa;--aw-text-heading:#fff;--aw-text-body:#a3a3a3;--aw-text-muted:#737373;--aw-text-placeholder:#525252;--aw-primary:#3b82f6;--aw-primary-hover:#60a5fa;--aw-hover-bg:#262626;--aw-danger:#f87171}.apteva-chat.apteva-force-dark .apteva-tool-card-running{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#3b82f64d!important}.apteva-chat.apteva-force-dark .apteva-tool-card-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.apteva-chat.apteva-force-dark .apteva-tool-card-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}.apteva-chat.apteva-force-dark .apteva-tool-card-preparing{color:#fbbf24!important;background-color:#fbbf2426!important;border-color:#fbbf2466!important}.apteva-chat.apteva-force-dark .apteva-tool-inline-line{background-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-tool-inline-icon{color:#a78bfa!important}.apteva-chat.apteva-force-dark .apteva-tool-inline-text{color:#6b7280!important}.apteva-chat.apteva-force-dark .apteva-file-badge{background-color:#262626!important}.apteva-chat.apteva-force-dark .apteva-file-badge-icon,.apteva-chat.apteva-force-dark .apteva-welcome-empty{color:#a3a3a3!important}.apteva-chat.apteva-force-dark .apteva-welcome-icon{color:#525252!important}.apteva-chat.apteva-force-dark .apteva-welcome-title{color:#fff!important}.apteva-chat.apteva-force-dark .apteva-welcome-subtitle{color:#a3a3a3!important}.apteva-chat.apteva-force-dark .apteva-prompt-card{background-color:#262626!important;border-color:#404040!important}.apteva-chat.apteva-force-dark .apteva-prompt-card:hover{background-color:#1f1f1f!important;border-color:#3b82f6!important}.apteva-chat.apteva-force-dark .apteva-prompt-text{color:#fff!important}.apteva-chat.apteva-force-dark .apteva-prompt-desc{color:#a3a3a3!important}.apteva-chat.apteva-force-dark .apteva-prompt-icon-box{color:#a3a3a3!important;background-color:#404040!important}.apteva-chat.apteva-force-dark .group:hover .apteva-prompt-icon-box{color:#60a5fa!important;background-color:#3b82f626!important}.apteva-force-light.apteva-chat{background-color:#fff!important}.apteva-chat.apteva-force-light .apteva-chat-header{background-color:#fff!important;border-color:#e5e5e5!important}.apteva-chat.apteva-force-light .apteva-chat-title{color:#111827!important}.apteva-chat.apteva-force-light .apteva-chat-status-ready,.apteva-chat.apteva-force-light .apteva-chat-status-thinking{color:#737373!important}.apteva-chat.apteva-force-light .apteva-chat-status-tool{color:#3b82f6!important}.apteva-chat.apteva-force-light .apteva-message-list{background-color:#fff!important}.apteva-chat.apteva-force-light .apteva-message-user{color:#fff!important;background-color:#2563eb!important}.apteva-chat.apteva-force-light .apteva-message-assistant{color:#0a0a0a!important;background-color:#fff!important;border:1px solid #e5e7eb!important}.apteva-chat.apteva-force-light .apteva-message-timestamp-user{color:#bfdbfe!important}.apteva-chat.apteva-force-light .apteva-message-timestamp-assistant{color:#737373!important}.apteva-chat.apteva-force-light .apteva-composer{background-color:#fff!important;border-color:#d4d4d4!important}.apteva-chat.apteva-force-light .apteva-composer textarea{color:#171717!important}.apteva-chat.apteva-force-light .apteva-composer textarea::placeholder{color:#a3a3a3!important}.apteva-chat.apteva-force-light .apteva-composer-send-btn{color:#404040!important;background-color:#fff!important;border-color:#d4d4d4!important}.apteva-chat.apteva-force-light .apteva-composer-stop-btn{color:#dc2626!important;background-color:#fef2f2!important;border-color:#f87171!important}.apteva-chat.apteva-force-light button.apteva-composer-menu-btn{color:#404040!important;background:0 0!important}.apteva-chat.apteva-force-light button.apteva-composer-menu-btn:hover{background-color:#f5f5f5!important}.apteva-chat.apteva-force-light .apteva-composer-menu{background-color:#fff!important;border:1px solid #e5e5e5!important}.apteva-chat.apteva-force-light .apteva-composer-menu-item{color:#171717!important}.apteva-chat.apteva-force-light .apteva-composer-menu-item:hover{background-color:#f5f5f5!important}.apteva-chat.apteva-force-light .apteva-composer-menu-item-border{border-top-color:#e5e5e5!important}.apteva-chat.apteva-force-light .apteva-composer-mic-btn{color:#737373!important}.apteva-chat.apteva-force-light .apteva-composer-mic-btn:hover{color:#3b82f6!important;background-color:#3b82f614!important}.apteva-chat.apteva-force-light .apteva-file-item{background-color:#f5f5f5!important;border-color:#e5e5e5!important}.apteva-chat.apteva-force-light .apteva-file-icon{color:#737373!important;background-color:#e5e5e5!important}.apteva-chat.apteva-force-light .apteva-file-name{color:#404040!important}.apteva-chat.apteva-force-light .apteva-file-size{color:#737373!important}.apteva-chat.apteva-force-light .apteva-transcript-flash{background-color:#eff6ff!important;border-color:#bfdbfe!important}.apteva-chat.apteva-force-light .apteva-transcript-flash span{color:#1d4ed8!important}.apteva-chat.apteva-force-light .apteva-widget,.apteva-widget.apteva-force-light{--aw-bg:#fff;--aw-bg-subtle:#fafafa;--aw-bg-muted:#f5f5f5;--aw-bg-input:#fafafa;--aw-border:#e5e5e5;--aw-border-focus:#3b82f6;--aw-text:#171717;--aw-text-heading:#171717;--aw-text-body:#525252;--aw-text-muted:#737373;--aw-text-placeholder:#a3a3a3;--aw-primary:#3b82f6;--aw-primary-hover:#2563eb;--aw-hover-bg:#fafafa;--aw-danger:#ef4444}.apteva-chat.apteva-force-light .apteva-tool-card-running{color:#1d4ed8!important;background-color:#eff6ff!important;border-color:#bfdbfe!important}.apteva-chat.apteva-force-light .apteva-tool-card-completed{color:#15803d!important;background-color:#f0fdf4!important;border-color:#bbf7d0!important}.apteva-chat.apteva-force-light .apteva-tool-card-error{color:#b91c1c!important;background-color:#fef2f2!important;border-color:#fecaca!important}.apteva-chat.apteva-force-light .apteva-tool-card-preparing{color:#92400e!important;background-color:#fef3c7!important;border-color:#fcd34d!important}.apteva-chat.apteva-force-light .apteva-tool-inline-line{background-color:#d4d4d4!important}.apteva-chat.apteva-force-light .apteva-tool-inline-icon{color:#7c3aed!important}.apteva-chat.apteva-force-light .apteva-tool-inline-text{color:#9ca3af!important}.apteva-chat.apteva-force-light .apteva-file-badge{background-color:#f5f5f5!important}.apteva-chat.apteva-force-light .apteva-file-badge-icon,.apteva-chat.apteva-force-light .apteva-welcome-empty{color:#737373!important}.apteva-chat.apteva-force-light .apteva-welcome-icon{color:#a3a3a3!important}.apteva-chat.apteva-force-light .apteva-welcome-title{color:#111827!important}.apteva-chat.apteva-force-light .apteva-welcome-subtitle{color:#737373!important}.apteva-chat.apteva-force-light .apteva-prompt-card{background-color:#fff!important;border-color:#e5e5e5!important}.apteva-chat.apteva-force-light .apteva-prompt-card:hover{background-color:#fafafa!important;border-color:#93c5fd!important}.apteva-chat.apteva-force-light .apteva-prompt-text{color:#111827!important}.apteva-chat.apteva-force-light .apteva-prompt-desc{color:#737373!important}.apteva-chat.apteva-force-light .apteva-prompt-icon-box{color:#737373!important;background-color:#f5f5f5!important}.apteva-chat.apteva-force-light .group:hover .apteva-prompt-icon-box{color:#2563eb!important;background-color:#dbeafe!important}@keyframes apteva-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes apteva-highlight-fade{0%{background-color:#3b82f626}to{background-color:#0000}}.apteva-list-item-new,.apteva-table-row-new{animation:.3s ease-out apteva-slide-in,.5s ease-out .3s apteva-highlight-fade!important}.apteva-table-row-new td{background-color:#3b82f61a!important}.apteva-list-streaming,.apteva-table-streaming{border-top:1px dashed #8080804d!important}@media (prefers-color-scheme:dark){.apteva-list-item-new,.apteva-table-row-new{animation:.3s ease-out apteva-slide-in,.5s ease-out .3s apteva-highlight-fade-dark!important}.apteva-table-row-new td{background-color:#3b82f626!important}}.dark .apteva-list-item-new,.dark .apteva-table-row-new{animation:.3s ease-out apteva-slide-in,.5s ease-out .3s apteva-highlight-fade-dark!important}.dark .apteva-table-row-new td{background-color:#3b82f626!important}@keyframes apteva-highlight-fade-dark{0%{background-color:#3b82f633}to{background-color:#0000}}.apteva-chat-minimal{background-color:#0000!important}.apteva-chat-minimal .apteva-chat-header{background-color:#0000!important;border:none!important}.apteva-chat-minimal .apteva-message-list{background-color:#0000!important}.apteva-chat-minimal .apteva-composer{background-color:#0000!important;border:1px solid #80808033!important}.apteva-chat-minimal .apteva-message-assistant{background-color:#80808014!important}.apteva-chat-minimal .apteva-message-user{color:inherit!important;background-color:#3b82f626!important}.apteva-chat-terminal{background-color:#0a0a0a!important;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace!important}.apteva-chat-terminal *{font-family:inherit!important}.apteva-chat-terminal .apteva-chat-header,.apteva-chat-terminal.apteva-force-dark .apteva-chat-header{background-color:#0a0a0a!important;border-color:#1a1a1a!important}.apteva-chat-terminal .apteva-chat-title,.apteva-chat-terminal.apteva-force-dark .apteva-chat-title{color:#e0e0e0!important;font-size:.875rem!important}.apteva-chat-terminal .apteva-chat-status,.apteva-chat-terminal.apteva-force-dark .apteva-chat-status{color:#666!important}.apteva-chat-terminal .apteva-chat-status-tool,.apteva-chat-terminal.apteva-force-dark .apteva-chat-status-tool{color:#f97316!important}.apteva-chat-terminal .apteva-message-list,.apteva-chat-terminal.apteva-force-dark .apteva-message-list{background-color:#0a0a0a!important}.apteva-chat-terminal .apteva-message-user,.apteva-chat-terminal.apteva-force-dark .apteva-message-user{color:#e0e0e0!important;background-color:#1a1a1a!important;border-radius:4px!important}.apteva-chat-terminal .apteva-message-assistant,.apteva-chat-terminal.apteva-force-dark .apteva-message-assistant{color:#e0e0e0!important;background-color:#111!important;border:1px solid #1a1a1a!important;border-radius:4px!important}.apteva-chat-terminal .apteva-message-timestamp,.apteva-chat-terminal.apteva-force-dark .apteva-message-timestamp-assistant{color:#444!important}.apteva-chat-terminal .apteva-message-timestamp-user{color:#666!important}.apteva-chat-terminal .apteva-composer,.apteva-chat-terminal.apteva-force-dark .apteva-composer{background-color:#111!important;border:1px solid #1a1a1a!important;border-radius:4px!important}.apteva-chat-terminal .apteva-composer textarea,.apteva-chat-terminal.apteva-force-dark .apteva-composer textarea{color:#e0e0e0!important}.apteva-chat-terminal .apteva-composer textarea::placeholder,.apteva-chat-terminal.apteva-force-dark .apteva-composer textarea::placeholder{color:#666!important}.apteva-chat-terminal .apteva-composer-send-btn,.apteva-chat-terminal.apteva-force-dark .apteva-composer-send-btn{color:#888!important;background-color:#1a1a1a!important;border-color:#333!important}.apteva-chat-terminal .apteva-composer-send-btn:hover{color:#f97316!important;border-color:#f97316!important}.apteva-chat-terminal .apteva-composer-stop-btn{color:#f97316!important;background-color:#f9731626!important;border-color:#f97316!important}.apteva-chat-terminal .apteva-composer-menu-btn{color:#666!important}.apteva-chat-terminal .apteva-composer-menu-btn:hover{color:#f97316!important;background-color:#1a1a1a!important}.apteva-chat-terminal .apteva-tool-card,.apteva-chat-terminal .apteva-tool-group{border-radius:4px!important}.apteva-chat-terminal .apteva-tool-card-running{color:#f97316!important;background-color:#f973161a!important;border-color:#f973164d!important}.apteva-chat-terminal .apteva-tool-card-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.apteva-chat-terminal .apteva-tool-card-preparing,.apteva-chat-terminal .apteva-tool-group-running{color:#f97316!important;background-color:#f973161a!important;border-color:#f973164d!important}.apteva-chat-terminal .apteva-tool-group-completed{color:#4ade80!important;background-color:#22c55e1a!important;border-color:#22c55e4d!important}.apteva-chat-terminal .apteva-tool-group-error{color:#f87171!important;background-color:#ef44441a!important;border-color:#ef44444d!important}.apteva-chat-terminal .apteva-tool-group-list{border-top-color:#ffffff1a!important}.apteva-chat-terminal .apteva-tool-group-item-done{color:#4ade80!important}.apteva-chat-terminal .apteva-tool-group-item-error{color:#f87171!important}.apteva-chat-terminal .apteva-md-link{color:#f97316!important}.apteva-chat-terminal .apteva-md-link:hover{color:#fb923c!important}.apteva-chat-terminal .apteva-md-inline-code{color:#3b82f6!important;background-color:#1a1a1a!important}}