- Remove notebook mode, add RAG + Personal Assistant dual-bot setup - Add knowledge base management (upload, URL scraping, document processing) - Add user feature access control (allowed_features, features_override) - Update admin dashboard with knowledge base tab - Redesign login page, sidebar, and profile - Add Celery tasks for async document processing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
135 lines
3.3 KiB
CSS
135 lines
3.3 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer utilities {
|
|
.text-balance {
|
|
text-wrap: balance;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 0 0% 98%;
|
|
--foreground: 222 47% 11%;
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222 47% 11%;
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222 47% 11%;
|
|
--primary: 221 83% 53%;
|
|
--primary-foreground: 210 40% 98%;
|
|
--secondary: 210 40% 96%;
|
|
--secondary-foreground: 222 47% 11%;
|
|
--muted: 210 40% 96%;
|
|
--muted-foreground: 215 16% 47%;
|
|
--accent: 262 83% 58%;
|
|
--accent-foreground: 210 40% 98%;
|
|
--destructive: 0 84% 60%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--border: 214 32% 91%;
|
|
--input: 214 32% 91%;
|
|
--ring: 221 83% 53%;
|
|
--chart-1: 221 83% 53%;
|
|
--chart-2: 262 83% 58%;
|
|
--chart-3: 142 71% 45%;
|
|
--chart-4: 43 96% 56%;
|
|
--chart-5: 0 84% 60%;
|
|
--radius: 0.75rem;
|
|
|
|
/* Custom brand tokens */
|
|
--brand-rag: 221 83% 53%;
|
|
--brand-assistant: 262 83% 58%;
|
|
--brand-gradient-from: 221 83% 53%;
|
|
--brand-gradient-to: 262 83% 58%;
|
|
--sidebar-width: 280px;
|
|
}
|
|
|
|
.dark {
|
|
--background: 222 47% 5%;
|
|
--foreground: 210 40% 98%;
|
|
--card: 222 47% 8%;
|
|
--card-foreground: 210 40% 98%;
|
|
--popover: 222 47% 8%;
|
|
--popover-foreground: 210 40% 98%;
|
|
--primary: 217 91% 60%;
|
|
--primary-foreground: 222 47% 5%;
|
|
--secondary: 217 33% 17%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
--muted: 217 33% 17%;
|
|
--muted-foreground: 215 20% 65%;
|
|
--accent: 263 70% 50%;
|
|
--accent-foreground: 210 40% 98%;
|
|
--destructive: 0 63% 31%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--border: 217 33% 17%;
|
|
--input: 217 33% 17%;
|
|
--ring: 217 91% 60%;
|
|
--chart-1: 217 91% 60%;
|
|
--chart-2: 263 70% 50%;
|
|
--chart-3: 142 71% 45%;
|
|
--chart-4: 43 96% 56%;
|
|
--chart-5: 0 63% 31%;
|
|
|
|
--brand-rag: 217 91% 60%;
|
|
--brand-assistant: 263 70% 50%;
|
|
--brand-gradient-from: 217 91% 60%;
|
|
--brand-gradient-to: 263 70% 50%;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground antialiased;
|
|
font-feature-settings: "rlig" 1, "calt" 1;
|
|
}
|
|
}
|
|
|
|
/* Scrollbar styling */
|
|
@layer utilities {
|
|
.scrollbar-thin::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
.scrollbar-thin::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.scrollbar-thin::-webkit-scrollbar-thumb {
|
|
background-color: hsl(var(--border));
|
|
border-radius: 3px;
|
|
}
|
|
.scrollbar-thin::-webkit-scrollbar-thumb:hover {
|
|
background-color: hsl(var(--muted-foreground));
|
|
}
|
|
}
|
|
|
|
/* Typing indicator animation */
|
|
@keyframes typing-dot {
|
|
0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
|
|
30% { opacity: 1; transform: translateY(-4px); }
|
|
}
|
|
|
|
.typing-dot {
|
|
animation: typing-dot 1.4s infinite ease-in-out;
|
|
}
|
|
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
|
|
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
|
|
|
|
/* Gradient text */
|
|
.text-gradient {
|
|
background: linear-gradient(135deg, hsl(var(--brand-gradient-from)), hsl(var(--brand-gradient-to)));
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
/* Smooth page transitions */
|
|
.page-transition {
|
|
animation: fadeIn 0.2s ease-in-out;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(4px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|