-
- Step-by-Step
-
-
- {' '}
- Guides
-
+ Step-by-Step
+ Guides
Practical tutorials to help you build and deploy AI bots yourself. From beginner to
@@ -306,13 +296,8 @@ export default function KnowledgeCenterPage() {
-
- Frequently Asked
-
-
- {' '}
- Questions
-
+ Frequently Asked
+ Questions
Quick answers to common questions about AI bots, our platform, and consulting
@@ -379,7 +364,7 @@ export default function KnowledgeCenterPage() {
{/* CTA Section */}
-
+
Still have questions?
Our team is here to help. Whether you want to build it yourself or need expert
@@ -388,7 +373,7 @@ export default function KnowledgeCenterPage() {
Talk to an Expert
diff --git a/app/my-data/page.tsx b/app/my-data/page.tsx
index 31a9479e..93fc577a 100644
--- a/app/my-data/page.tsx
+++ b/app/my-data/page.tsx
@@ -51,7 +51,7 @@ export default function MyDataPage() {
const hasReadyDocuments = (documents || []).some((d) => d.status === DOCUMENT_STATUS.READY);
return (
-
+
{/* Page Header with User Controls */}
@@ -62,7 +62,7 @@ export default function MyDataPage() {
-
+
AI Professionals
@@ -125,11 +125,11 @@ export default function MyDataPage() {
{/* Info Box */}
-
-
+
+
How to personalize your AI Professionals
-
+
Upload your documents (contracts, medical records, research papers, etc.)
Click "Process" to extract and index the content securely
Your AI Professionals will use this knowledge to provide personalized guidance
@@ -137,7 +137,7 @@ export default function MyDataPage() {
Talk to an AI Professional
diff --git a/app/personal/page.tsx b/app/personal/page.tsx
index 33d853a8..33de510c 100644
--- a/app/personal/page.tsx
+++ b/app/personal/page.tsx
@@ -64,11 +64,11 @@ export default function PersonalPage() {
};
return (
-
+
{/* Background Effects */}
@@ -111,9 +111,7 @@ export default function PersonalPage() {
{step === 'pick' && (
-
- Personal AI
-
+ Personal AI
Create memorial bots for loved ones, companion bots, and other personal AI assistants
@@ -125,11 +123,11 @@ export default function PersonalPage() {
{/* Progress Indicator */}
1
@@ -137,17 +135,17 @@ export default function PersonalPage() {
Choose
-
+
@@ -156,14 +154,14 @@ export default function PersonalPage() {
Name
-
+
3
@@ -186,7 +184,7 @@ export default function PersonalPage() {
Looking for professional AI advisors?{' '}
-
+
Visit our AI Professionals
diff --git a/app/professionals/[slug]/page.tsx b/app/professionals/[slug]/page.tsx
index 378cf8df..a4c3a744 100644
--- a/app/professionals/[slug]/page.tsx
+++ b/app/professionals/[slug]/page.tsx
@@ -48,14 +48,12 @@ export default async function ProfessionalPage({ params }: PageProps) {
const colors = getAccentColorClasses(professional.accentColor);
return (
-
+
{/* Navigation Bar */}
-
- Botsmann
-
+
Botsmann
-
- {professional.name}
-
+ {professional.name}
{professional.title}
@@ -193,7 +189,7 @@ export default async function ProfessionalPage({ params }: PageProps) {
{/* How to Get the Most */}
-
+
Get the Most Out of {professional.name}
diff --git a/app/professionals/page.tsx b/app/professionals/page.tsx
index 5b99199c..238e21ac 100644
--- a/app/professionals/page.tsx
+++ b/app/professionals/page.tsx
@@ -15,20 +15,18 @@ export const metadata: Metadata = {
*/
export default function ProfessionalsPage() {
return (
-
+
{/* Background Effects */}
{/* Hero */}
-
- Choose Your AI Professional
-
+ Choose Your AI Professional
Each professional brings specialized knowledge, expert guidance, and a unique approach
@@ -38,7 +36,7 @@ export default function ProfessionalsPage() {
{/* Filter Tabs (future enhancement - for now just show all) */}
-
All
+
All
Advisory
@@ -68,7 +66,7 @@ export default function ProfessionalsPage() {
⚖️
Start with Legal
diff --git a/app/profile/page.tsx b/app/profile/page.tsx
index ed2fca5a..7b27d1be 100644
--- a/app/profile/page.tsx
+++ b/app/profile/page.tsx
@@ -95,7 +95,7 @@ export default function ProfilePage() {
};
return (
-
+
{/* Profile Header */}
@@ -147,10 +147,7 @@ export default function ProfilePage() {
Published Bots
-
+
Create new
@@ -166,7 +163,7 @@ export default function ProfilePage() {
Create Your First Bot
diff --git a/app/settings/page.tsx b/app/settings/page.tsx
index 1f72bbbc..55306675 100644
--- a/app/settings/page.tsx
+++ b/app/settings/page.tsx
@@ -132,7 +132,7 @@ export default function SettingsPage() {
}
return (
-
+
{/* Page Header */}
@@ -147,7 +147,7 @@ export default function SettingsPage() {
{!isEditingProfile && (
setIsEditingProfile(true)}
- className="text-blue-600 hover:text-blue-700 text-sm font-medium"
+ className="text-action hover:text-action text-sm font-medium"
>
Edit
@@ -198,7 +198,7 @@ export default function SettingsPage() {
onChange={(e) => setProfileDisplayName(e.target.value)}
maxLength={DISPLAY_NAME_MAX_LENGTH}
placeholder="Your name"
- className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"
+ className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-action"
/>
{profileDisplayName.length}/{DISPLAY_NAME_MAX_LENGTH} characters
@@ -218,7 +218,7 @@ export default function SettingsPage() {
value={profileAvatarUrl}
onChange={(e) => setProfileAvatarUrl(e.target.value)}
placeholder="https://example.com/avatar.jpg"
- className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"
+ className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-action"
/>
Enter a URL to an image (PNG, JPG, or GIF)
@@ -231,7 +231,7 @@ export default function SettingsPage() {
{profileSaving ? 'Saving...' : 'Save Profile'}
@@ -303,7 +303,7 @@ export default function SettingsPage() {
Go to My Documents
diff --git a/app/try/page.tsx b/app/try/page.tsx
index f9edbcfb..aba856e2 100644
--- a/app/try/page.tsx
+++ b/app/try/page.tsx
@@ -11,14 +11,11 @@ export default function TryPage() {
const [success, setSuccess] = useState('');
return (
-
+
{/* Header */}
-
+
Botsmann
@@ -30,7 +27,7 @@ export default function TryPage() {
Create Account
@@ -42,9 +39,7 @@ export default function TryPage() {
{/* Hero */}
-
- Chat With Your Documents
-
+ Chat With Your Documents
Upload any text document and ask questions about it. No account required. Your documents
@@ -83,19 +78,19 @@ export default function TryPage() {
{/* Info Section */}
-
+
How it works
Upload one or more documents (PDF, TXT, or Markdown)
Ask questions about the content in natural language
Get AI-powered answers based on your documents
-
+
Privacy: Your documents are processed in your browser and sent
directly to the AI. Nothing is stored on our servers. For persistent storage and
advanced features,{' '}
-
+
create a free account
.
diff --git a/components/ErrorBoundary.tsx b/components/ErrorBoundary.tsx
index eed6b0a3..161d0c76 100644
--- a/components/ErrorBoundary.tsx
+++ b/components/ErrorBoundary.tsx
@@ -82,7 +82,7 @@ function ErrorFallback({ onReset, error }: ErrorFallbackProps): ReactNode {
Try Again
diff --git a/components/Navigation.tsx b/components/Navigation.tsx
index b1d506bd..fbcf0e18 100644
--- a/components/Navigation.tsx
+++ b/components/Navigation.tsx
@@ -43,7 +43,7 @@ export function Navigation() {
{/* Mobile Menu Button */}
setMobileMenuOpen(true)}
aria-label="Open menu"
>
diff --git a/components/blog/MDXComponents.tsx b/components/blog/MDXComponents.tsx
index a409ed38..043d78d9 100644
--- a/components/blog/MDXComponents.tsx
+++ b/components/blog/MDXComponents.tsx
@@ -246,7 +246,7 @@ const MDXComponents = {
type?: 'info' | 'warning' | 'success';
}) => {
const styles = {
- info: 'bg-blue-50 border-blue-200 text-blue-800',
+ info: 'bg-action-tint border-edge text-action',
warning: 'bg-yellow-50 border-yellow-200 text-yellow-800',
success: 'bg-green-50 border-green-200 text-green-800',
};
diff --git a/components/blog/ServerMDXContent.tsx b/components/blog/ServerMDXContent.tsx
index 37827c4a..95864086 100644
--- a/components/blog/ServerMDXContent.tsx
+++ b/components/blog/ServerMDXContent.tsx
@@ -113,7 +113,7 @@ const ServerMDXComponents = {
type?: 'info' | 'warning' | 'success';
}) => {
const styles = {
- info: 'bg-blue-50 border-blue-200 text-blue-800',
+ info: 'bg-action-tint border-edge text-action',
warning: 'bg-yellow-50 border-yellow-200 text-yellow-800',
success: 'bg-green-50 border-green-200 text-green-800',
};
diff --git a/components/chat/ChatAuthCTA.tsx b/components/chat/ChatAuthCTA.tsx
index a6dd2507..6b0a93b1 100644
--- a/components/chat/ChatAuthCTA.tsx
+++ b/components/chat/ChatAuthCTA.tsx
@@ -30,9 +30,7 @@ export const ChatAuthCTA: FC = ({ dismissible = true, classNam
}
return (
-
+
{dismissible && (
= ({ dismissible = true, classNam
)}
-
+
= ({ dismissible = true, classNam
{config.primaryAction.label}
diff --git a/components/chat/ModelIndicator.tsx b/components/chat/ModelIndicator.tsx
index 09626fdc..74f8c9b2 100644
--- a/components/chat/ModelIndicator.tsx
+++ b/components/chat/ModelIndicator.tsx
@@ -47,7 +47,7 @@ export const ModelIndicator: FC
= ({
className={`px-2 py-0.5 rounded text-xs font-medium ${
tier.privacyLevel === 'maximum'
? 'bg-green-100 text-green-700'
- : 'bg-blue-100 text-blue-700'
+ : 'bg-action-tint text-action'
}`}
>
{tier.privacyLevel === 'maximum' ? 'Private' : 'Cloud'}
diff --git a/components/chat/ModelSelector.tsx b/components/chat/ModelSelector.tsx
index b1f99aa5..88036c93 100644
--- a/components/chat/ModelSelector.tsx
+++ b/components/chat/ModelSelector.tsx
@@ -81,7 +81,7 @@ export const ModelSelector: FC = ({
className={`px-1.5 py-0.5 rounded text-xs ${
currentTier.privacyLevel === 'maximum'
? 'bg-green-100 text-green-700'
- : 'bg-blue-100 text-blue-700'
+ : 'bg-action-tint text-action'
}`}
>
{currentTier.privacyLevel === 'maximum' ? 'Private' : 'Cloud'}
@@ -145,7 +145,7 @@ export const ModelSelector: FC = ({
className={`px-1.5 py-0.5 rounded text-xs ${
tier.privacyLevel === 'maximum'
? 'bg-green-100 text-green-700'
- : 'bg-blue-100 text-blue-700'
+ : 'bg-action-tint text-action'
}`}
>
{tier.privacyLevel === 'maximum' ? 'Private' : 'Cloud'}
diff --git a/components/chat/PrivacyTierInfo.tsx b/components/chat/PrivacyTierInfo.tsx
index 9b07e691..afac8255 100644
--- a/components/chat/PrivacyTierInfo.tsx
+++ b/components/chat/PrivacyTierInfo.tsx
@@ -124,7 +124,7 @@ const TierCard: FC = ({ tier }) => {
return (
@@ -132,7 +132,7 @@ const TierCard: FC
= ({ tier }) => {
{tier.name}
{tier.costIndicator}
diff --git a/components/conversations/ConversationItem.tsx b/components/conversations/ConversationItem.tsx
index a99bb3da..015a867d 100644
--- a/components/conversations/ConversationItem.tsx
+++ b/components/conversations/ConversationItem.tsx
@@ -28,7 +28,7 @@ export const ConversationItem = ({
onClick={() => onSelect(conversation.id)}
className={`p-3 rounded-lg cursor-pointer transition-colors group ${
isActive
- ? 'bg-blue-100 border-blue-300 border'
+ ? 'bg-action-tint border-edge border'
: 'bg-gray-50 hover:bg-gray-100 border border-transparent'
}`}
>
diff --git a/components/conversations/ConversationList.tsx b/components/conversations/ConversationList.tsx
index c581bc19..3831b45a 100644
--- a/components/conversations/ConversationList.tsx
+++ b/components/conversations/ConversationList.tsx
@@ -98,7 +98,7 @@ export const ConversationList = ({
e.stopPropagation();
onNewConversation();
}}
- className="p-2 text-blue-600 hover:text-blue-700 hover:bg-blue-50 rounded"
+ className="p-2 text-action hover:text-action hover:bg-action-tint rounded"
aria-label="New conversation"
>
@@ -118,7 +118,7 @@ export const ConversationList = ({
No conversations yet
Start a new conversation
diff --git a/components/dashboard/DashboardEmptyState.tsx b/components/dashboard/DashboardEmptyState.tsx
index 7a674c27..7e8e6cdc 100644
--- a/components/dashboard/DashboardEmptyState.tsx
+++ b/components/dashboard/DashboardEmptyState.tsx
@@ -15,8 +15,8 @@ export const DashboardEmptyState: FC = ({ displayName
return (