Add glass UI with backdrop blur and fix primary button colors

Apply glassmorphism to sidebar, cards, tables, modals, dropdowns,
and dialogs with semi-transparent backgrounds, backdrop-blur, and
white/15 borders. Add subtle gradient body background for the blur
to work against. Add dedicated btn-primary color tokens so primary
buttons stay bold in dark mode instead of using the brightened text
palette. Use shadow-sm to avoid heavy halos in light mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Darko Gjorgjijoski
2026-04-04 03:30:00 +02:00
parent 7e15eb7c7a
commit 9c8e4ae558
10 changed files with 36 additions and 13 deletions

View File

@@ -41,6 +41,8 @@
--color-hover-strong: var(--color-hover-strong);
--color-header-from: var(--color-header-from);
--color-header-to: var(--color-header-to);
--color-btn-primary: var(--color-btn-primary);
--color-btn-primary-hover: var(--color-btn-primary-hover);
/* Status badge text */
--color-status-yellow: var(--color-status-yellow);
@@ -63,6 +65,19 @@
--font-base: Poppins, sans-serif;
}
/* Glass UI background gradient */
@utility bg-glass-gradient {
background-image: linear-gradient(
135deg,
var(--color-surface-tertiary) 0%,
color-mix(in srgb, var(--color-primary-500) 8%, var(--color-surface-tertiary)) 30%,
var(--color-surface-tertiary) 50%,
color-mix(in srgb, var(--color-primary-400) 6%, var(--color-surface-tertiary)) 70%,
var(--color-surface-tertiary) 100%
);
background-attachment: fixed;
}
@utility bg-multiselect-caret {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

View File

@@ -36,6 +36,10 @@
--color-header-from: rgb(74, 61, 255);
--color-header-to: rgb(118, 117, 255);
/* Button colors (fixed, always bold) */
--color-btn-primary: rgb(74, 61, 255);
--color-btn-primary-hover: rgb(51, 22, 255);
/* Status badge text */
--color-status-yellow: rgb(113, 63, 18);
--color-status-green: rgb(20, 83, 45);
@@ -93,6 +97,10 @@
--color-header-from: rgb(51, 22, 255);
--color-header-to: rgb(74, 61, 255);
/* Button colors (slightly brighter in dark for contrast) */
--color-btn-primary: rgb(88, 75, 255);
--color-btn-primary-hover: rgb(74, 61, 255);
/* Primary adjustments for dark mode */
--color-primary-50: rgba(167, 170, 255, 0.15);
--color-primary-100: rgba(167, 170, 255, 0.25);