diff --git a/frontend/src/app.css b/frontend/src/app.css
index d717db5..079ba0b 100644
--- a/frontend/src/app.css
+++ b/frontend/src/app.css
@@ -3,6 +3,22 @@
@custom-variant dark (&:is(.dark *));
+:root {
+ --app-bg: #110f0d;
+ --app-bg-soft: #181513;
+ --app-panel: #1d1a1f;
+ --app-panel-strong: #221e24;
+ --app-panel-muted: #171419;
+ --app-border: rgba(255, 255, 255, 0.08);
+ --app-border-strong: rgba(255, 166, 77, 0.22);
+ --app-text: #f6f2ee;
+ --app-text-muted: #b8aca1;
+ --app-accent: #ff8a3d;
+ --app-accent-strong: #ff6a00;
+ --app-accent-soft: rgba(255, 138, 61, 0.14);
+ --app-accent-glow: rgba(255, 138, 61, 0.28);
+}
+
html, body, #root {
min-height: 100%;
}
@@ -10,8 +26,11 @@ html, body, #root {
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
- background: #111111;
- color: #f5f5f7;
+ background:
+ radial-gradient(circle at top left, rgba(255, 106, 0, 0.12), transparent 22%),
+ radial-gradient(circle at top right, rgba(255, 138, 61, 0.08), transparent 18%),
+ linear-gradient(180deg, #0f0d0c 0%, #141110 100%);
+ color: var(--app-text);
}
* {
@@ -56,8 +75,8 @@ input:focus,
textarea:focus,
select:focus {
outline: none;
- border-color: rgba(58, 150, 255, 0.9);
- box-shadow: 0 0 0 3px rgba(58, 150, 255, 0.18);
+ border-color: var(--app-accent);
+ box-shadow: 0 0 0 3px rgba(255, 138, 61, 0.16);
background: rgba(255, 255, 255, 0.08);
}
@@ -68,6 +87,88 @@ label {
font-weight: 600;
}
+.surface-card {
+ background: linear-gradient(180deg, rgba(31, 27, 33, 0.96), rgba(23, 20, 25, 0.96));
+ border: 1px solid var(--app-border);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
+}
+
+.surface-card-strong {
+ background: linear-gradient(180deg, rgba(36, 30, 24, 0.98), rgba(25, 21, 18, 0.98));
+ border: 1px solid var(--app-border-strong);
+ box-shadow:
+ inset 0 1px 0 rgba(255, 255, 255, 0.03),
+ 0 18px 50px rgba(0, 0, 0, 0.28);
+}
+
+.surface-card-muted {
+ background: rgba(255, 255, 255, 0.025);
+ border: 1px solid rgba(255, 255, 255, 0.06);
+}
+
+.accent-text {
+ color: var(--app-accent);
+}
+
+.accent-chip {
+ background: var(--app-accent-soft);
+ color: #ffb37f;
+ border: 1px solid rgba(255, 138, 61, 0.18);
+}
+
+.accent-button {
+ background: linear-gradient(135deg, var(--app-accent) 0%, var(--app-accent-strong) 100%);
+ color: white;
+ border: 1px solid rgba(255, 166, 77, 0.45);
+ box-shadow: 0 10px 24px rgba(255, 106, 0, 0.18);
+}
+
+.accent-button:hover {
+ filter: brightness(1.06);
+}
+
+.accent-button-soft {
+ background: var(--app-accent-soft);
+ color: #ffbc8e;
+ border: 1px solid rgba(255, 138, 61, 0.18);
+}
+
+.ghost-button {
+ background: rgba(255, 255, 255, 0.03);
+ border: 1px solid rgba(255, 255, 255, 0.09);
+ color: var(--app-text);
+}
+
+.nav-button {
+ color: var(--app-text-muted);
+}
+
+.nav-button:hover {
+ background: rgba(255, 138, 61, 0.08);
+ color: var(--app-text);
+}
+
+.nav-button-active {
+ background: linear-gradient(135deg, rgba(255, 138, 61, 0.22), rgba(255, 106, 0, 0.24));
+ color: white;
+ border: 1px solid rgba(255, 138, 61, 0.28);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
+}
+
+.sidebar-shell {
+ background: linear-gradient(180deg, rgba(16, 14, 13, 0.98), rgba(18, 15, 14, 0.98));
+ border-right: 1px solid rgba(255, 255, 255, 0.05);
+}
+
+.brand-mark {
+ background: linear-gradient(135deg, var(--app-accent) 0%, var(--app-accent-strong) 100%);
+ box-shadow: 0 12px 30px rgba(255, 106, 0, 0.22);
+}
+
+.section-subtle {
+ color: var(--app-text-muted);
+}
+
.scrollbar-thin {
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
diff --git a/frontend/src/components/layout/Header.tsx b/frontend/src/components/layout/Header.tsx
index ee511a3..c777222 100644
--- a/frontend/src/components/layout/Header.tsx
+++ b/frontend/src/components/layout/Header.tsx
@@ -1,5 +1,5 @@
import { Button, Chip, Tooltip, Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, Avatar } from '@heroui/react';
-import { Moon, Sun, Bell, ChevronDown, LogOut, Settings } from 'lucide-react';
+import { Moon, Sun, ChevronDown, LogOut, Settings } from 'lucide-react';
import { useTheme } from '../../hooks/useTheme';
import { useApp } from '../../context/AppContext';
@@ -30,14 +30,14 @@ export function Header() {
return (
-
-