288 lines
6.4 KiB
CSS
288 lines
6.4 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@font-face {
|
|
font-family: "Fredoka";
|
|
src: url("/fonts/fredoka-variable.ttf") format("truetype");
|
|
}
|
|
|
|
@layer base {
|
|
:root {
|
|
/* Backgrounds - Clean neutral grays */
|
|
--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 - Modern slate/blue (Stripe-inspired) */
|
|
--primary: 221 83% 53%;
|
|
--primary-foreground: 0 0% 100%;
|
|
|
|
/* Secondary - Soft gray-blue */
|
|
--secondary: 214 32% 91%;
|
|
--secondary-foreground: 222 47% 11%;
|
|
|
|
/* Muted - Light grays */
|
|
--muted: 210 40% 96%;
|
|
--muted-foreground: 215 16% 47%;
|
|
|
|
/* Accent - Vibrant blue */
|
|
--accent: 217 91% 60%;
|
|
--accent-foreground: 0 0% 100%;
|
|
|
|
/* Destructive - Red for errors */
|
|
--destructive: 0 84% 60%;
|
|
--destructive-foreground: 0 0% 100%;
|
|
|
|
/* Borders & Inputs - Subtle gray */
|
|
--border: 214 32% 91%;
|
|
--input: 214 32% 91%;
|
|
--ring: 221 83% 53%;
|
|
|
|
/* Charts - Modern palette */
|
|
--chart-1: 221 83% 53%;
|
|
--chart-2: 142 76% 36%;
|
|
--chart-3: 262 83% 58%;
|
|
--chart-4: 41 96% 50%;
|
|
--chart-5: 0 84% 60%;
|
|
|
|
/* Sidebar */
|
|
--sidebar: 0 0% 98%;
|
|
--sidebar-foreground: 222 47% 11%;
|
|
--sidebar-primary: 221 83% 53%;
|
|
--sidebar-primary-foreground: 0 0% 100%;
|
|
--sidebar-accent: 214 32% 91%;
|
|
--sidebar-accent-foreground: 222 47% 11%;
|
|
--sidebar-border: 214 32% 91%;
|
|
--sidebar-ring: 221 83% 53%;
|
|
|
|
/* Typography */
|
|
--font-sans: Fredoka, sans-serif;
|
|
--font-serif: Georgia, serif;
|
|
--font-mono: ui-monospace, monospace;
|
|
|
|
/* Design tokens */
|
|
--radius: 0.5rem;
|
|
|
|
/* Shadows - Neutral */
|
|
--shadow-color: 220 9% 46%;
|
|
--shadow-2xs: 0 1px 2px 0 hsl(220 9% 46% / 0.05);
|
|
--shadow-xs: 0 1px 3px 0 hsl(220 9% 46% / 0.1);
|
|
--shadow-sm: 0 2px 4px 0 hsl(220 9% 46% / 0.1);
|
|
--shadow: 0 4px 6px -1px hsl(220 9% 46% / 0.1);
|
|
--shadow-md: 0 6px 12px -2px hsl(220 9% 46% / 0.15);
|
|
--shadow-lg: 0 10px 20px -5px hsl(220 9% 46% / 0.2);
|
|
--shadow-xl: 0 20px 25px -5px hsl(220 9% 46% / 0.25);
|
|
--shadow-2xl: 0 25px 50px -12px hsl(220 9% 46% / 0.3);
|
|
}
|
|
|
|
.dark {
|
|
/* Backgrounds - Dark mode */
|
|
--background: 222 47% 11%;
|
|
--foreground: 210 40% 98%;
|
|
--card: 222 47% 15%;
|
|
--card-foreground: 210 40% 98%;
|
|
--popover: 222 47% 15%;
|
|
--popover-foreground: 210 40% 98%;
|
|
|
|
/* Primary - Brighter blue for dark mode */
|
|
--primary: 217 91% 60%;
|
|
--primary-foreground: 222 47% 11%;
|
|
|
|
/* Secondary */
|
|
--secondary: 217 33% 17%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
|
|
/* Muted */
|
|
--muted: 223 47% 11%;
|
|
--muted-foreground: 215 20% 65%;
|
|
|
|
/* Accent */
|
|
--accent: 217 91% 60%;
|
|
--accent-foreground: 222 47% 11%;
|
|
|
|
/* Destructive */
|
|
--destructive: 0 63% 50%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
/* Borders & Inputs */
|
|
--border: 217 33% 17%;
|
|
--input: 217 33% 17%;
|
|
--ring: 217 91% 60%;
|
|
|
|
/* Charts */
|
|
--chart-1: 217 91% 60%;
|
|
--chart-2: 142 76% 36%;
|
|
--chart-3: 262 83% 58%;
|
|
--chart-4: 41 96% 50%;
|
|
--chart-5: 0 84% 60%;
|
|
|
|
/* Sidebar */
|
|
--sidebar: 222 47% 11%;
|
|
--sidebar-foreground: 210 40% 98%;
|
|
--sidebar-primary: 217 91% 60%;
|
|
--sidebar-primary-foreground: 222 47% 11%;
|
|
--sidebar-accent: 217 33% 17%;
|
|
--sidebar-accent-foreground: 210 40% 98%;
|
|
--sidebar-border: 217 33% 17%;
|
|
--sidebar-ring: 217 91% 60%;
|
|
|
|
/* Typography */
|
|
--font-sans: Fredoka, sans-serif;
|
|
--font-serif: Georgia, serif;
|
|
--font-mono: ui-monospace, monospace;
|
|
|
|
/* Design tokens */
|
|
--radius: 0.5rem;
|
|
|
|
/* Shadows - Dark mode */
|
|
--shadow-color: 0 0% 0%;
|
|
--shadow-2xs: 0 1px 2px 0 hsl(0 0% 0% / 0.3);
|
|
--shadow-xs: 0 1px 3px 0 hsl(0 0% 0% / 0.4);
|
|
--shadow-sm: 0 2px 4px 0 hsl(0 0% 0% / 0.4);
|
|
--shadow: 0 4px 6px -1px hsl(0 0% 0% / 0.4);
|
|
--shadow-md: 0 6px 12px -2px hsl(0 0% 0% / 0.5);
|
|
--shadow-lg: 0 10px 20px -5px hsl(0 0% 0% / 0.6);
|
|
--shadow-xl: 0 20px 25px -5px hsl(0 0% 0% / 0.7);
|
|
--shadow-2xl: 0 25px 50px -12px hsl(0 0% 0% / 0.75);
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
scroll-behavior: smooth;
|
|
font-family:
|
|
"Fredoka",
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
"Segoe UI",
|
|
Roboto,
|
|
"Helvetica Neue",
|
|
Arial,
|
|
sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-weight: 400;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
}
|
|
|
|
/* add the code bellow */
|
|
@layer utilities {
|
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
.no-scrollbar::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
/* Hide scrollbar for IE, Edge and Firefox */
|
|
.no-scrollbar {
|
|
-ms-overflow-style: none; /* IE and Edge */
|
|
scrollbar-width: none; /* Firefox */
|
|
}
|
|
|
|
/* Stripe-inspired gradients */
|
|
.gradient-mesh {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
}
|
|
|
|
.gradient-success {
|
|
background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
|
|
}
|
|
|
|
.gradient-error {
|
|
background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
|
|
}
|
|
|
|
/* Smooth transitions */
|
|
.transition-smooth {
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
/* Glass morphism effect */
|
|
.glass {
|
|
background: rgba(255, 255, 255, 0.7);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
}
|
|
}
|
|
|
|
/* Custom Scrollbar Styling */
|
|
@layer base {
|
|
/* For Webkit browsers (Chrome, Safari, Edge) */
|
|
::-webkit-scrollbar {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: white;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: hsl(var(--primary));
|
|
border-radius: 10px;
|
|
border: 3px solid white;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: hsl(var(--primary) / 0.8);
|
|
}
|
|
|
|
/* For Firefox */
|
|
* {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: hsl(var(--primary)) white;
|
|
}
|
|
|
|
/* Thin scrollbar for command lists */
|
|
.command-scrollbar::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
|
|
.command-scrollbar::-webkit-scrollbar-track {
|
|
background: hsl(var(--muted));
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.command-scrollbar::-webkit-scrollbar-thumb {
|
|
background: hsl(var(--primary));
|
|
border-radius: 10px;
|
|
border: 2px solid hsl(var(--muted));
|
|
}
|
|
|
|
.command-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
background: hsl(var(--primary) / 0.8);
|
|
}
|
|
}
|
|
|
|
.all-reset {
|
|
all: unset;
|
|
}
|
|
|
|
/* Custom focus styles for better accessibility */
|
|
@layer base {
|
|
*:focus-visible {
|
|
@apply outline-none ring-2 ring-primary ring-offset-2;
|
|
}
|
|
}
|
|
|
|
/* Smooth page transitions */
|
|
@layer base {
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
}
|
|
}
|