Add admin payments with status, provider, and plan category filters. Introduce app versions and subscription plan management in settings, change-password security flow, and dark theme support. Reorganize sidebar, improve activity log actor details, analytics, and related UI polish. Co-authored-by: Cursor <cursoragent@cursor.com>
160 lines
3.2 KiB
CSS
160 lines
3.2 KiB
CSS
@import "@fontsource/inter/latin.css";
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
html {
|
|
color-scheme: light;
|
|
--gs-50: #ffffff;
|
|
--gs-100: #f5f5f5;
|
|
--gs-200: #e0e0e0;
|
|
--gs-300: #bdbdbd;
|
|
--gs-400: #9e9e9e;
|
|
--gs-500: #757575;
|
|
--gs-600: #616161;
|
|
--shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.06);
|
|
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 84% 4.9%;
|
|
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222.2 84% 4.9%;
|
|
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 84% 4.9%;
|
|
|
|
/* primary ~= #9E2891 (brand 500) */
|
|
--primary: 312 59% 39%;
|
|
--primary-foreground: 0 0% 100%;
|
|
|
|
--secondary: 210 40% 96.1%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--muted: 210 40% 96.1%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
|
|
--accent: 210 40% 96.1%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 0 0% 100%;
|
|
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
--ring: 312 59% 39%;
|
|
|
|
--radius: 14px;
|
|
}
|
|
|
|
html.dark {
|
|
color-scheme: dark;
|
|
--gs-50: #1c1c24;
|
|
--gs-100: #12121a;
|
|
--gs-200: #2e2e3a;
|
|
--gs-300: #454552;
|
|
--gs-400: #9a9aaa;
|
|
--gs-500: #b8b8c6;
|
|
--gs-600: #ececf2;
|
|
--shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.45);
|
|
|
|
--background: 240 10% 7%;
|
|
--foreground: 210 20% 96%;
|
|
|
|
--card: 240 8% 12%;
|
|
--card-foreground: 210 20% 96%;
|
|
|
|
--popover: 240 8% 12%;
|
|
--popover-foreground: 210 20% 96%;
|
|
|
|
--primary: 312 59% 45%;
|
|
--primary-foreground: 0 0% 100%;
|
|
|
|
--secondary: 240 6% 18%;
|
|
--secondary-foreground: 210 20% 96%;
|
|
|
|
--muted: 240 6% 18%;
|
|
--muted-foreground: 240 5% 65%;
|
|
|
|
--accent: 240 6% 18%;
|
|
--accent-foreground: 210 20% 96%;
|
|
|
|
--destructive: 0 62% 50%;
|
|
--destructive-foreground: 0 0% 100%;
|
|
|
|
--border: 240 6% 22%;
|
|
--input: 240 6% 22%;
|
|
--ring: 312 59% 50%;
|
|
}
|
|
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
html,
|
|
body,
|
|
#root {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
@apply bg-grayScale-100 text-foreground font-sans antialiased transition-colors duration-200;
|
|
}
|
|
}
|
|
|
|
@layer components {
|
|
/*
|
|
* Brand scale uses heavy purple for 50/500/600 — enforce high-contrast white
|
|
* foreground on solid brand fills (including opacity modifiers).
|
|
*/
|
|
:is(
|
|
.bg-brand-50,
|
|
.bg-brand-500,
|
|
.bg-brand-600,
|
|
[class*="bg-brand-500/"],
|
|
[class*="bg-brand-600/"]
|
|
) {
|
|
@apply text-white;
|
|
}
|
|
|
|
:is(
|
|
.bg-brand-50,
|
|
.bg-brand-500,
|
|
.bg-brand-600,
|
|
[class*="bg-brand-500/"],
|
|
[class*="bg-brand-600/"]
|
|
)
|
|
:is(.text-brand-500, .text-brand-600, .text-brand-700, .text-brand-800) {
|
|
@apply text-white;
|
|
}
|
|
|
|
:is(
|
|
.bg-brand-50,
|
|
.bg-brand-500,
|
|
.bg-brand-600,
|
|
[class*="bg-brand-500/"],
|
|
[class*="bg-brand-600/"]
|
|
)
|
|
svg:not([class*="text-"]) {
|
|
@apply text-white;
|
|
}
|
|
|
|
.hover\:bg-brand-50:hover,
|
|
.hover\:bg-brand-500:hover,
|
|
.hover\:bg-brand-600:hover {
|
|
@apply text-white;
|
|
}
|
|
|
|
.hover\:bg-brand-50:hover svg,
|
|
.hover\:bg-brand-500:hover svg,
|
|
.hover\:bg-brand-600:hover svg {
|
|
@apply text-white;
|
|
}
|
|
|
|
/* Map legacy light-only surfaces to theme tokens in dark mode */
|
|
html.dark .bg-white {
|
|
background-color: var(--gs-50);
|
|
}
|
|
}
|