mirror of
https://github.com/soconnor0919/hristudio.git
synced 2025-12-11 14:44:44 -05:00
- Updated .rules to enforce stricter UI/UX standards, including exclusive use of Lucide icons and consistent patterns for entity view pages. - Added new UI components for entity views, including headers, sections, and quick actions to improve layout and reusability. - Refactored existing pages (experiments, participants, studies, trials) to utilize the new entity view components, enhancing consistency across the dashboard. - Improved accessibility and user experience by implementing loading states and error boundaries in async operations. - Updated package dependencies to ensure compatibility and performance improvements. Features: - Comprehensive guidelines for component reusability and visual consistency. - Enhanced user interface with new entity view components for better organization and navigation. Breaking Changes: None - existing functionality remains intact.
348 lines
8.7 KiB
CSS
348 lines
8.7 KiB
CSS
@import "tailwindcss";
|
|
@import "tw-animate-css";
|
|
|
|
@custom-variant dark (&:is(.dark *));
|
|
|
|
@theme {
|
|
--font-sans:
|
|
var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif,
|
|
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
}
|
|
|
|
@theme inline {
|
|
--radius-sm: calc(var(--radius) - 4px);
|
|
--radius-md: calc(var(--radius) - 2px);
|
|
--radius-lg: var(--radius);
|
|
--radius-xl: calc(var(--radius) + 4px);
|
|
--color-background: var(--background);
|
|
--color-foreground: var(--foreground);
|
|
--color-card: var(--card);
|
|
--color-card-foreground: var(--card-foreground);
|
|
--color-popover: var(--popover);
|
|
--color-popover-foreground: var(--popover-foreground);
|
|
--color-primary: var(--primary);
|
|
--color-primary-foreground: var(--primary-foreground);
|
|
--color-secondary: var(--secondary);
|
|
--color-secondary-foreground: var(--secondary-foreground);
|
|
--color-muted: var(--muted);
|
|
--color-muted-foreground: var(--muted-foreground);
|
|
--color-accent: var(--accent);
|
|
--color-accent-foreground: var(--accent-foreground);
|
|
--color-destructive: var(--destructive);
|
|
--color-border: var(--border);
|
|
--color-input: var(--input);
|
|
--color-ring: var(--ring);
|
|
--color-chart-1: var(--chart-1);
|
|
--color-chart-2: var(--chart-2);
|
|
--color-chart-3: var(--chart-3);
|
|
--color-chart-4: var(--chart-4);
|
|
--color-chart-5: var(--chart-5);
|
|
--color-sidebar: var(--sidebar);
|
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
--color-sidebar-primary: var(--sidebar-primary);
|
|
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
--color-sidebar-accent: var(--sidebar-accent);
|
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
--color-sidebar-border: var(--sidebar-border);
|
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
--font-sans:
|
|
Geist Mono, monospace;
|
|
--font-mono:
|
|
Geist Mono, monospace;
|
|
--font-serif:
|
|
Geist Mono, monospace;
|
|
--radius:
|
|
0rem;
|
|
--tracking-tighter:
|
|
calc(var(--tracking-normal) - 0.05em);
|
|
--tracking-tight:
|
|
calc(var(--tracking-normal) - 0.025em);
|
|
--tracking-wide:
|
|
calc(var(--tracking-normal) + 0.025em);
|
|
--tracking-wider:
|
|
calc(var(--tracking-normal) + 0.05em);
|
|
--tracking-widest:
|
|
calc(var(--tracking-normal) + 0.1em);
|
|
--tracking-normal: var(--tracking-normal);
|
|
--shadow-2xl: var(--shadow-2xl);
|
|
--shadow-xl: var(--shadow-xl);
|
|
--shadow-lg: var(--shadow-lg);
|
|
--shadow-md: var(--shadow-md);
|
|
--shadow: var(--shadow);
|
|
--shadow-sm: var(--shadow-sm);
|
|
--shadow-xs: var(--shadow-xs);
|
|
--shadow-2xs: var(--shadow-2xs);
|
|
--spacing: var(--spacing);
|
|
--letter-spacing: var(--letter-spacing);
|
|
--shadow-offset-y: var(--shadow-offset-y);
|
|
--shadow-offset-x: var(--shadow-offset-x);
|
|
--shadow-spread: var(--shadow-spread);
|
|
--shadow-blur: var(--shadow-blur);
|
|
--shadow-opacity: var(--shadow-opacity);
|
|
--color-shadow-color: var(--shadow-color);
|
|
--color-destructive-foreground: var(--destructive-foreground);
|
|
}
|
|
|
|
:root {
|
|
--radius:
|
|
0rem;
|
|
--background:
|
|
oklch(1.0000 0 0);
|
|
--foreground:
|
|
oklch(0.1448 0 0);
|
|
--card:
|
|
oklch(1.0000 0 0);
|
|
--card-foreground:
|
|
oklch(0.1448 0 0);
|
|
--popover:
|
|
oklch(1.0000 0 0);
|
|
--popover-foreground:
|
|
oklch(0.1448 0 0);
|
|
--primary:
|
|
oklch(0.5555 0 0);
|
|
--primary-foreground:
|
|
oklch(0.9851 0 0);
|
|
--secondary:
|
|
oklch(0.9702 0 0);
|
|
--secondary-foreground:
|
|
oklch(0.2046 0 0);
|
|
--muted:
|
|
oklch(0.9702 0 0);
|
|
--muted-foreground:
|
|
oklch(0.5486 0 0);
|
|
--accent:
|
|
oklch(0.9702 0 0);
|
|
--accent-foreground:
|
|
oklch(0.2046 0 0);
|
|
--destructive:
|
|
oklch(0.5830 0.2387 28.4765);
|
|
--border:
|
|
oklch(0.9219 0 0);
|
|
--input:
|
|
oklch(0.9219 0 0);
|
|
--ring:
|
|
oklch(0.7090 0 0);
|
|
--chart-1:
|
|
oklch(0.5555 0 0);
|
|
--chart-2:
|
|
oklch(0.5555 0 0);
|
|
--chart-3:
|
|
oklch(0.5555 0 0);
|
|
--chart-4:
|
|
oklch(0.5555 0 0);
|
|
--chart-5:
|
|
oklch(0.5555 0 0);
|
|
--sidebar:
|
|
oklch(0.9851 0 0);
|
|
--sidebar-foreground:
|
|
oklch(0.1448 0 0);
|
|
--sidebar-primary:
|
|
oklch(0.2046 0 0);
|
|
--sidebar-primary-foreground:
|
|
oklch(0.9851 0 0);
|
|
--sidebar-accent:
|
|
oklch(0.9702 0 0);
|
|
--sidebar-accent-foreground:
|
|
oklch(0.2046 0 0);
|
|
--sidebar-border:
|
|
oklch(0.9219 0 0);
|
|
--sidebar-ring:
|
|
oklch(0.7090 0 0);
|
|
--destructive-foreground:
|
|
oklch(0.9702 0 0);
|
|
--font-sans:
|
|
Geist Mono, monospace;
|
|
--font-serif:
|
|
Geist Mono, monospace;
|
|
--font-mono:
|
|
Geist Mono, monospace;
|
|
--shadow-color:
|
|
hsl(0 0% 0%);
|
|
--shadow-opacity:
|
|
0;
|
|
--shadow-blur:
|
|
0px;
|
|
--shadow-spread:
|
|
0px;
|
|
--shadow-offset-x:
|
|
0px;
|
|
--shadow-offset-y:
|
|
1px;
|
|
--letter-spacing:
|
|
0em;
|
|
--spacing:
|
|
0.25rem;
|
|
--shadow-2xs:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
--shadow-xs:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
--shadow-sm:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 1px 2px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 1px 2px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-md:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 2px 4px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-lg:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 4px 6px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-xl:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 8px 10px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-2xl:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
--tracking-normal:
|
|
0em;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--background: 2 6 23;
|
|
--foreground: 248 250 252;
|
|
--card: 15 23 42;
|
|
--card-foreground: 248 250 252;
|
|
--popover: 15 23 42;
|
|
--popover-foreground: 248 250 252;
|
|
--primary: 148 163 184;
|
|
--primary-foreground: 15 23 42;
|
|
--secondary: 30 41 59;
|
|
--secondary-foreground: 248 250 252;
|
|
--muted: 30 41 59;
|
|
--muted-foreground: 148 163 184;
|
|
--accent: 30 41 59;
|
|
--accent-foreground: 248 250 252;
|
|
--destructive: 239 68 68;
|
|
--border: 51 65 85;
|
|
--input: 51 65 85;
|
|
--ring: 148 163 184;
|
|
--chart-1: 148 163 184;
|
|
--chart-2: 100 116 139;
|
|
--chart-3: 239 68 68;
|
|
--chart-4: 245 158 11;
|
|
--chart-5: 34 197 94;
|
|
--sidebar: 15 23 42;
|
|
--sidebar-foreground: 148 163 184;
|
|
--sidebar-primary: 148 163 184;
|
|
--sidebar-primary-foreground: 15 23 42;
|
|
--sidebar-accent: 30 41 59;
|
|
--sidebar-accent-foreground: 248 250 252;
|
|
--sidebar-border: 51 65 85;
|
|
--sidebar-ring: 148 163 184;
|
|
--destructive-foreground: 255 255 255;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border outline-ring/50;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
letter-spacing:
|
|
var(--tracking-normal);
|
|
}
|
|
}
|
|
|
|
.dark {
|
|
--background:
|
|
oklch(0.1448 0 0);
|
|
--foreground:
|
|
oklch(0.9851 0 0);
|
|
--card:
|
|
oklch(0.2134 0 0);
|
|
--card-foreground:
|
|
oklch(0.9851 0 0);
|
|
--popover:
|
|
oklch(0.2686 0 0);
|
|
--popover-foreground:
|
|
oklch(0.9851 0 0);
|
|
--primary:
|
|
oklch(0.5555 0 0);
|
|
--primary-foreground:
|
|
oklch(0.9851 0 0);
|
|
--secondary:
|
|
oklch(0.2686 0 0);
|
|
--secondary-foreground:
|
|
oklch(0.9851 0 0);
|
|
--muted:
|
|
oklch(0.2686 0 0);
|
|
--muted-foreground:
|
|
oklch(0.7090 0 0);
|
|
--accent:
|
|
oklch(0.3715 0 0);
|
|
--accent-foreground:
|
|
oklch(0.9851 0 0);
|
|
--destructive:
|
|
oklch(0.7022 0.1892 22.2279);
|
|
--destructive-foreground:
|
|
oklch(0.2686 0 0);
|
|
--border:
|
|
oklch(0.3407 0 0);
|
|
--input:
|
|
oklch(0.4386 0 0);
|
|
--ring:
|
|
oklch(0.5555 0 0);
|
|
--chart-1:
|
|
oklch(0.5555 0 0);
|
|
--chart-2:
|
|
oklch(0.5555 0 0);
|
|
--chart-3:
|
|
oklch(0.5555 0 0);
|
|
--chart-4:
|
|
oklch(0.5555 0 0);
|
|
--chart-5:
|
|
oklch(0.5555 0 0);
|
|
--sidebar:
|
|
oklch(0.2046 0 0);
|
|
--sidebar-foreground:
|
|
oklch(0.9851 0 0);
|
|
--sidebar-primary:
|
|
oklch(0.9851 0 0);
|
|
--sidebar-primary-foreground:
|
|
oklch(0.2046 0 0);
|
|
--sidebar-accent:
|
|
oklch(0.2686 0 0);
|
|
--sidebar-accent-foreground:
|
|
oklch(0.9851 0 0);
|
|
--sidebar-border:
|
|
oklch(1.0000 0 0);
|
|
--sidebar-ring:
|
|
oklch(0.4386 0 0);
|
|
--radius:
|
|
0rem;
|
|
--font-sans:
|
|
Geist Mono, monospace;
|
|
--font-serif:
|
|
Geist Mono, monospace;
|
|
--font-mono:
|
|
Geist Mono, monospace;
|
|
--shadow-color:
|
|
hsl(0 0% 0%);
|
|
--shadow-opacity:
|
|
0;
|
|
--shadow-blur:
|
|
0px;
|
|
--shadow-spread:
|
|
0px;
|
|
--shadow-offset-x:
|
|
0px;
|
|
--shadow-offset-y:
|
|
1px;
|
|
--letter-spacing:
|
|
0em;
|
|
--spacing:
|
|
0.25rem;
|
|
--shadow-2xs:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
--shadow-xs:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
--shadow-sm:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 1px 2px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 1px 2px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-md:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 2px 4px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-lg:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 4px 6px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-xl:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00), 0px 8px 10px -1px hsl(0 0% 0% / 0.00);
|
|
--shadow-2xl:
|
|
0px 1px 0px 0px hsl(0 0% 0% / 0.00);
|
|
} |