Accessibility: - Add focus-visible indicators to all interactive elements (buttons, inputs) - Create accessible CreateUserModal to replace window.prompt() - Add aria-labels to icon buttons for screen readers Colors & Theming: - Move primary color to CSS variable (--primary) - Remove hard-coded #3b82f6 from tailwind config - Clean up color consistency across theme UX: - Replace prompt-based user creation with proper modal form - Implement inline field validation with error messages - Add loading state during form submission - Improve visual hierarchy and spacing Performance: - Remove bootstrap-icons dependency (duplicate with lucide-react) Design: - Reduce backdrop-blur overuse (remove from overlay scrim, StatCard) - Improve AdminOverlay responsive design
71 lines
1.5 KiB
CSS
71 lines
1.5 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
/* slate-950 forced as default to prevent white flash */
|
|
--background: #020617;
|
|
--foreground: #f1f5f9;
|
|
--primary: #3b82f6;
|
|
--primary-foreground: #ffffff;
|
|
}
|
|
|
|
body {
|
|
color: var(--foreground);
|
|
background-color: var(--background);
|
|
font-family: inherit; /* Use Next.js font if defined, or system default */
|
|
}
|
|
|
|
/* Custom Scrollbar Styling */
|
|
::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #020617; /* slate-950 */
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #1e293b; /* slate-800 */
|
|
border-radius: 10px;
|
|
border: 2px solid #020617; /* adds padding effect */
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #334155; /* slate-700 */
|
|
}
|
|
|
|
/* Modern Utility for Premium Glassmorphism */
|
|
@layer utilities {
|
|
.glass-card {
|
|
@apply bg-slate-900/40 backdrop-blur-xl border border-slate-800/50 shadow-2xl;
|
|
background-image: linear-gradient(135deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0) 100%);
|
|
}
|
|
|
|
.text-fluid-lg {
|
|
font-size: clamp(1.125rem, 3cqi, 1.5rem);
|
|
}
|
|
|
|
.text-fluid-xl {
|
|
font-size: clamp(1.5rem, 5cqi, 2.25rem);
|
|
}
|
|
|
|
.card-title {
|
|
@apply text-base font-black text-slate-100 tracking-tight;
|
|
}
|
|
|
|
.card-subtitle {
|
|
@apply text-[10px] font-bold text-slate-500 uppercase tracking-[0.08em] mt-0.5;
|
|
}
|
|
}
|
|
|
|
/* Safe Area Insets for Modern Mobile Devices (iOS Notch/Home Bar) */
|
|
.pb-safe {
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
}
|
|
|
|
.pt-safe {
|
|
padding-top: env(safe-area-inset-top);
|
|
}
|