Files
LocalAI/core/http/react-ui/src/theme.css
Ettore Di Giacinto 09ddaf94b2 feat(ui): move to React for frontend (#8772)
* feat(ui): move to React

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Add import model

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* syntax highlight

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Minor fixups

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-03-05 21:47:12 +01:00

139 lines
4.7 KiB
CSS

/* LocalAI Theme - CSS Variables System */
:root,
[data-theme="dark"] {
--color-bg-primary: #121212;
--color-bg-secondary: #1A1A1A;
--color-bg-tertiary: #222222;
--color-bg-overlay: rgba(18, 18, 18, 0.95);
--color-primary: #38BDF8;
--color-primary-hover: #0EA5E9;
--color-primary-active: #0284C7;
--color-primary-text: #FFFFFF;
--color-primary-light: rgba(56, 189, 248, 0.08);
--color-primary-border: rgba(56, 189, 248, 0.15);
--color-secondary: #14B8A6;
--color-secondary-hover: #0D9488;
--color-secondary-light: rgba(20, 184, 166, 0.1);
--color-accent: #8B5CF6;
--color-accent-hover: #7C3AED;
--color-accent-light: rgba(139, 92, 246, 0.1);
--color-accent-purple: #A78BFA;
--color-accent-teal: #2DD4BF;
--color-text-primary: #E5E7EB;
--color-text-secondary: #94A3B8;
--color-text-muted: #64748B;
--color-text-disabled: #475569;
--color-text-inverse: #FFFFFF;
--color-border-subtle: rgba(255, 255, 255, 0.08);
--color-border-default: rgba(255, 255, 255, 0.12);
--color-border-strong: rgba(56, 189, 248, 0.3);
--color-border-divider: rgba(255, 255, 255, 0.05);
--color-border-primary: rgba(56, 189, 248, 0.2);
--color-border-focus: rgba(56, 189, 248, 0.4);
--color-success: #14B8A6;
--color-success-light: rgba(20, 184, 166, 0.1);
--color-warning: #F59E0B;
--color-warning-light: rgba(245, 158, 11, 0.1);
--color-error: #EF4444;
--color-error-light: rgba(239, 68, 68, 0.1);
--color-info: #38BDF8;
--color-info-light: rgba(56, 189, 248, 0.1);
--gradient-primary: linear-gradient(135deg, #38BDF8 0%, #8B5CF6 50%, #14B8A6 100%);
--gradient-hero: linear-gradient(135deg, #121212 0%, #1A1A1A 50%, #121212 100%);
--gradient-card: linear-gradient(135deg, rgba(56, 189, 248, 0.04) 0%, rgba(139, 92, 246, 0.04) 100%);
--gradient-text: linear-gradient(135deg, #38BDF8 0%, #8B5CF6 50%, #14B8A6 100%);
--shadow-subtle: 0 1px 2px rgba(0, 0, 0, 0.2);
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.25);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.35);
--shadow-glow: 0 0 0 1px rgba(56, 189, 248, 0.15), 0 0 12px rgba(56, 189, 248, 0.2);
--shadow-sidebar: 1px 0 3px rgba(0, 0, 0, 0.25);
--duration-fast: 150ms;
--duration-normal: 200ms;
--duration-slow: 300ms;
--ease-default: cubic-bezier(0.4, 0, 0.2, 1);
--spacing-xs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
--radius-xl: 12px;
--radius-full: 9999px;
--sidebar-width: 220px;
--color-toggle-off: #475569;
}
[data-theme="light"] {
--color-bg-primary: #F8FAFC;
--color-bg-secondary: #FFFFFF;
--color-bg-tertiary: #FFFFFF;
--color-bg-overlay: rgba(248, 250, 252, 0.9);
--color-primary: #0EA5E9;
--color-primary-hover: #0284C7;
--color-primary-active: #0369A1;
--color-primary-text: #FFFFFF;
--color-primary-light: rgba(14, 165, 233, 0.08);
--color-primary-border: rgba(14, 165, 233, 0.2);
--color-secondary: #0D9488;
--color-secondary-hover: #0F766E;
--color-secondary-light: rgba(13, 148, 136, 0.1);
--color-accent: #7C3AED;
--color-accent-hover: #6D28D9;
--color-accent-light: rgba(124, 58, 237, 0.1);
--color-accent-purple: #A78BFA;
--color-accent-teal: #2DD4BF;
--color-text-primary: #1E293B;
--color-text-secondary: #64748B;
--color-text-muted: #94A3B8;
--color-text-disabled: #CBD5E1;
--color-text-inverse: #FFFFFF;
--color-border-subtle: rgba(15, 23, 42, 0.06);
--color-border-default: rgba(15, 23, 42, 0.1);
--color-border-strong: rgba(14, 165, 233, 0.3);
--color-border-divider: rgba(15, 23, 42, 0.04);
--color-border-primary: rgba(14, 165, 233, 0.2);
--color-border-focus: rgba(14, 165, 233, 0.4);
--color-success: #0D9488;
--color-success-light: rgba(13, 148, 136, 0.1);
--color-warning: #D97706;
--color-warning-light: rgba(217, 119, 6, 0.1);
--color-error: #DC2626;
--color-error-light: rgba(220, 38, 38, 0.1);
--color-info: #0EA5E9;
--color-info-light: rgba(14, 165, 233, 0.1);
--gradient-primary: linear-gradient(135deg, #0EA5E9 0%, #7C3AED 50%, #0D9488 100%);
--gradient-hero: linear-gradient(135deg, #F8FAFC 0%, #FFFFFF 50%, #F8FAFC 100%);
--gradient-card: linear-gradient(135deg, rgba(14, 165, 233, 0.03) 0%, rgba(124, 58, 237, 0.03) 100%);
--gradient-text: linear-gradient(135deg, #0EA5E9 0%, #7C3AED 50%, #0D9488 100%);
--shadow-subtle: 0 1px 2px rgba(0, 0, 0, 0.05);
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.08);
--shadow-glow: 0 0 0 1px rgba(14, 165, 233, 0.15), 0 0 8px rgba(14, 165, 233, 0.2);
--shadow-sidebar: 1px 0 3px rgba(0, 0, 0, 0.08);
--color-toggle-off: #CBD5E1;
}