feat(ui): Complete professional UI/UX overhaul with modern design system

- Replace generic AI purple/indigo palette with professional teal/cyan colors
- Primary: #0891b2 (teal) instead of #6366f1 (indigo)
- Accent: #06b6d4 (cyan) for modern, business-focused aesthetic
- Update all 40+ color references throughout CSS

Design improvements:
- Remove excessive animations and glow effects for professional appearance
- Simplify gradients to solid colors for cleaner look
- Optimize transitions (12ms fast, 18ms normal) for better performance
- Refine spacing scale and layout measurements
- Update shadows to be more subtle and professional
- Improve focus states with consistent teal accent

Performance optimizations:
- Reduce animation complexity
- Remove unnecessary keyframe animations
- Optimize transition timings
- Streamline CSS selectors

Mobile optimization:
- Maintain responsive design with refined breakpoints
- Ensure touch-friendly interaction areas
- Optimize header height and spacing for mobile

The new design system provides a modern, minimal, professional appearance
without generic AI styling, optimized for speed and efficiency on all devices.
This commit is contained in:
Claude 2025-11-06 06:43:46 +00:00
parent 0e6d3f5c0f
commit 320dbaa5ca
No known key found for this signature in database

306
dist/css/styles.css vendored
View file

@ -11,15 +11,18 @@
} }
:root { :root {
--primary: #6366f1; /* Professional Color Palette - Teal/Cyan + Slate (Modern, Business-focused) */
--primary-hover: #4f46e5; --primary: #0891b2;
--primary-light: #a5b4fc; --primary-hover: #0e7490;
--primary-dark: #3730a3; --primary-light: #22d3ee;
--accent: #8b5cf6; --primary-dark: #164e63;
--accent: #06b6d4;
--success: #10b981; --success: #10b981;
--warning: #66512e; --warning: #f59e0b;
--error: #ef4444; --error: #ef4444;
--info: #2c6ace; --info: #0891b2;
/* Professional Slate Neutrals */
--gray-50: #f8fafc; --gray-50: #f8fafc;
--gray-100: #f1f5f9; --gray-100: #f1f5f9;
--gray-200: #e2e8f0; --gray-200: #e2e8f0;
@ -30,6 +33,8 @@
--gray-700: #334155; --gray-700: #334155;
--gray-800: #1e293b; --gray-800: #1e293b;
--gray-900: #0f172a; --gray-900: #0f172a;
/* Semantic Colors */
--text-primary: var(--gray-900); --text-primary: var(--gray-900);
--text-secondary: var(--gray-600); --text-secondary: var(--gray-600);
--text-tertiary: var(--gray-500); --text-tertiary: var(--gray-500);
@ -41,24 +46,30 @@
--border-primary: var(--gray-200); --border-primary: var(--gray-200);
--border-secondary: var(--gray-300); --border-secondary: var(--gray-300);
--border-focus: var(--primary); --border-focus: var(--primary);
/* Layout - Optimized for Speed */
--container-max: 1400px; --container-max: 1400px;
--content-max: 1200px; --content-max: 1200px;
--header-height: 5rem; --header-height: 4.5rem;
--section-pad-y: clamp(2rem, 6vw, 4.5rem); --section-pad-y: clamp(2.5rem, 5vw, 4rem);
--section-pad-y-tight: clamp(1.5rem, 4vw, 3rem); --section-pad-y-tight: clamp(1.5rem, 3.5vw, 2.5rem);
--container-x: clamp(.75rem, 3.2vw, 2.5rem); --container-x: clamp(1rem, 3vw, 2rem);
/* Spacing Scale - Refined */
--space-xs: .25rem; --space-xs: .25rem;
--space-sm: .5rem; --space-sm: .5rem;
--space-md: .75rem; --space-md: .75rem;
--space-lg: 1rem; --space-lg: 1rem;
--space-xl: 1.25rem; --space-xl: 1.5rem;
--space-2xl: 1.5rem; --space-2xl: 2rem;
--space-3xl: 2rem; --space-3xl: 2.5rem;
--space-4xl: 2.5rem; --space-4xl: 3rem;
--space-5xl: 3rem; --space-5xl: 4rem;
--space-6xl: 4rem; --space-6xl: 5rem;
--space-7xl: 5rem; --space-7xl: 6rem;
--space-8xl: 6rem; --space-8xl: 8rem;
/* Typography Scale - Professional */
--text-xs: .75rem; --text-xs: .75rem;
--text-sm: .875rem; --text-sm: .875rem;
--text-base: 1rem; --text-base: 1rem;
@ -69,26 +80,34 @@
--text-4xl: 2.25rem; --text-4xl: 2.25rem;
--text-5xl: 3rem; --text-5xl: 3rem;
--text-6xl: 3.75rem; --text-6xl: 3.75rem;
/* Font Weights */
--font-light: 300; --font-light: 300;
--font-normal: 400; --font-normal: 400;
--font-medium: 500; --font-medium: 500;
--font-semibold: 600; --font-semibold: 600;
--font-bold: 700; --font-bold: 700;
--font-extrabold: 800; --font-extrabold: 800;
/* Border Radius - Professional */
--radius-sm: .25rem; --radius-sm: .25rem;
--radius-md: .375rem; --radius-md: .375rem;
--radius-lg: .5rem; --radius-lg: .5rem;
--radius-xl: .625rem; --radius-xl: .75rem;
--radius-2xl: .75rem; --radius-2xl: 1rem;
--radius-full: 9999px; --radius-full: 9999px;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);
--shadow-md: 0 2px 8px 0 rgb(0 0 0 / .08); /* Shadows - Subtle and Professional */
--shadow-lg: 0 4px 16px 0 rgb(0 0 0 / .1); --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .04);
--shadow-focus: 0 0 0 3px rgb(99 102 241 / .15); --shadow-md: 0 2px 4px 0 rgb(0 0 0 / .06);
--transition-fast: .15s ease; --shadow-lg: 0 4px 8px 0 rgb(0 0 0 / .08);
--transition-normal: .2s ease; --shadow-xl: 0 8px 16px 0 rgb(0 0 0 / .1);
--glow: 0 0 0 8px rgb(99 102 241 / .08); --shadow-focus: 0 0 0 3px rgb(8 145 178 / .2);
--footer-gradient: radial-gradient(1200px 500px at 80% 10%, rgb(99 102 241 / .08), transparent 60%), radial-gradient(800px 400px at 10% 20%, rgb(139 92 246 / .07), transparent 60%);
/* Transitions - Fast and Efficient */
--transition-fast: .12s ease;
--transition-normal: .18s ease;
color-scheme: light dark color-scheme: light dark
} }
@ -103,28 +122,30 @@
--bg-elevated: var(--gray-800); --bg-elevated: var(--gray-800);
--border-primary: var(--gray-700); --border-primary: var(--gray-700);
--border-secondary: var(--gray-600); --border-secondary: var(--gray-600);
--primary: #818cf8; --primary: #22d3ee;
--primary-hover: #a5b4fc; --primary-hover: #06b6d4;
--primary-light: #c7d2fe; --primary-light: #67e8f9;
--shadow-sm: 0 2px 4px 0 rgb(0 0 0 / .4); --primary-dark: #0891b2;
--shadow-md: 0 4px 12px 0 rgb(0 0 0 / .5); --shadow-sm: 0 2px 4px 0 rgb(0 0 0 / .3);
--shadow-lg: 0 8px 24px 0 rgb(0 0 0 / .6); --shadow-md: 0 4px 8px 0 rgb(0 0 0 / .4);
--shadow-focus: 0 0 0 3px rgb(129 140 248 / .25); --shadow-lg: 0 8px 16px 0 rgb(0 0 0 / .5);
--shadow-xl: 0 12px 24px 0 rgb(0 0 0 / .6);
--shadow-focus: 0 0 0 3px rgb(34 211 238 / .3);
color-scheme: dark color-scheme: dark
} }
/* ===== HIGH CONTRAST MODE SUPPORT ===== */ /* ===== HIGH CONTRAST MODE SUPPORT ===== */
@media (prefers-contrast: high) { @media (prefers-contrast: high) {
:root { :root {
--primary: #4338ca; --primary: #0e7490;
--primary-hover: #3730a3; --primary-hover: #164e63;
--text-secondary: var(--gray-700); --text-secondary: var(--gray-700);
--border-primary: var(--gray-400); --border-primary: var(--gray-400);
} }
[data-theme="dark"] { [data-theme="dark"] {
--primary: #a5b4fc; --primary: #22d3ee;
--primary-hover: #c7d2fe; --primary-hover: #67e8f9;
--text-secondary: var(--gray-200); --text-secondary: var(--gray-200);
--border-primary: var(--gray-500); --border-primary: var(--gray-500);
} }
@ -138,7 +159,7 @@
a:focus-visible { a:focus-visible {
outline-width: 4px; outline-width: 4px;
outline-offset: 4px; outline-offset: 4px;
box-shadow: 0 0 0 6px rgba(99, 102, 241, .25); box-shadow: 0 0 0 6px rgba(8, 145, 178, .3);
} }
.nav-link, .nav-link,
@ -153,7 +174,8 @@
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.benefit-card::before, .benefit-card::before,
.status-card::before, .status-card::before,
.logo-glow { .logo-glow,
.hero-content {
animation: none !important; animation: none !important;
transition: none !important; transition: none !important;
} }
@ -171,13 +193,15 @@
--bg-elevated: var(--gray-800); --bg-elevated: var(--gray-800);
--border-primary: var(--gray-700); --border-primary: var(--gray-700);
--border-secondary: var(--gray-600); --border-secondary: var(--gray-600);
--primary: #818cf8; --primary: #22d3ee;
--primary-hover: #a5b4fc; --primary-hover: #06b6d4;
--primary-light: #c7d2fe; --primary-light: #67e8f9;
--shadow-sm: 0 2px 4px 0 rgb(0 0 0 / .4); --primary-dark: #0891b2;
--shadow-md: 0 4px 12px 0 rgb(0 0 0 / .5); --shadow-sm: 0 2px 4px 0 rgb(0 0 0 / .3);
--shadow-lg: 0 8px 24px 0 rgb(0 0 0 / .6); --shadow-md: 0 4px 8px 0 rgb(0 0 0 / .4);
--shadow-focus: 0 0 0 3px rgb(129 140 248 / .25); --shadow-lg: 0 8px 16px 0 rgb(0 0 0 / .5);
--shadow-xl: 0 12px 24px 0 rgb(0 0 0 / .6);
--shadow-focus: 0 0 0 3px rgb(34 211 238 / .3);
color-scheme: dark color-scheme: dark
} }
} }
@ -284,14 +308,14 @@ a:hover {
a:focus-visible { a:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 3px; outline-offset: 3px;
box-shadow: 0 0 0 5px rgba(99, 102, 241, .15); box-shadow: var(--shadow-focus);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
} }
button:focus-visible { button:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 3px; outline-offset: 3px;
box-shadow: 0 0 0 5px rgba(99, 102, 241, .15); box-shadow: var(--shadow-focus);
} }
.skip-link { .skip-link {
@ -490,41 +514,26 @@ button:focus-visible {
width: 32px; width: 32px;
height: 32px; height: 32px;
color: var(--primary); color: var(--primary);
transition: transform var(--transition-normal), filter var(--transition-normal); transition: transform var(--transition-normal);
position: relative; position: relative;
z-index: 1; z-index: 1;
filter: drop-shadow(0 2px 6px rgba(99, 102, 241, .2));
} }
.logo-glow { .logo-glow {
position: absolute; position: absolute;
inset: -8px; inset: -8px;
background: radial-gradient(circle, rgba(99, 102, 241, .15) 0%, transparent 70%); background: radial-gradient(circle, rgba(8, 145, 178, .12) 0%, transparent 70%);
border-radius: 50%; border-radius: 50%;
opacity: 0; opacity: 0;
transition: opacity var(--transition-normal); transition: opacity var(--transition-normal);
animation: pulse-glow 3s ease-in-out infinite;
}
@keyframes pulse-glow {
0%, 100% {
transform: scale(1);
opacity: 0;
}
50% {
transform: scale(1.1);
opacity: 0.6;
}
} }
.site-title:hover .logo-icon { .site-title:hover .logo-icon {
transform: rotate(-10deg) scale(1.05); transform: scale(1.05);
filter: drop-shadow(0 4px 12px rgba(99, 102, 241, .4));
} }
.site-title:hover .logo-glow { .site-title:hover .logo-glow {
opacity: 1; opacity: 0.5;
animation: none;
} }
.logo-text { .logo-text {
@ -535,10 +544,7 @@ button:focus-visible {
.logo-primary { .logo-primary {
font-weight: var(--font-bold); font-weight: var(--font-bold);
background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); color: var(--primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
} }
.logo-secondary { .logo-secondary {
@ -632,7 +638,7 @@ button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%); background: var(--bg-secondary);
opacity: 0; opacity: 0;
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
@ -725,8 +731,8 @@ button:focus-visible {
background: var(--primary); background: var(--primary);
border-color: var(--primary); border-color: var(--primary);
color: #fff; color: #fff;
transform: rotate(20deg) scale(1.05); transform: scale(1.05);
box-shadow: 0 4px 16px rgba(99, 102, 241, .3); box-shadow: var(--shadow-md);
} }
.dark-mode-toggle:focus-visible { .dark-mode-toggle:focus-visible {
@ -735,7 +741,7 @@ button:focus-visible {
} }
.dark-mode-toggle:active { .dark-mode-toggle:active {
transform: rotate(20deg) scale(0.95); transform: scale(0.95);
} }
.sun-icon, .sun-icon,
@ -784,8 +790,8 @@ button:focus-visible {
.nav-toggle:hover { .nav-toggle:hover {
background: var(--primary); background: var(--primary);
border-color: var(--primary); border-color: var(--primary);
transform: scale(1.05); transform: scale(1.02);
box-shadow: 0 4px 16px rgba(99, 102, 241, .3); box-shadow: var(--shadow-md);
} }
.nav-toggle:hover .nav-toggle-bar { .nav-toggle:hover .nav-toggle-bar {
@ -997,14 +1003,14 @@ button:focus-visible {
.nav-dropdown-trigger:hover, .nav-dropdown-trigger:hover,
.nav-dropdown-trigger:focus-visible { .nav-dropdown-trigger:focus-visible {
color: var(--primary); color: var(--primary);
background: rgba(99, 102, 241, 0.1); background: rgba(8, 145, 178, 0.08);
box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.18); box-shadow: inset 0 0 0 1px rgba(8, 145, 178, 0.15);
} }
.nav-dropdown-trigger[aria-expanded="true"] { .nav-dropdown-trigger[aria-expanded="true"] {
color: var(--primary); color: var(--primary);
background: rgba(99, 102, 241, 0.12); background: rgba(8, 145, 178, 0.1);
box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.25); box-shadow: inset 0 0 0 1px rgba(8, 145, 178, 0.2);
} }
.nav-dropdown-menu { .nav-dropdown-menu {
@ -1031,12 +1037,12 @@ button:focus-visible {
margin-top: var(--space-xs); margin-top: var(--space-xs);
margin-left: 0; margin-left: 0;
border-left: none; border-left: none;
background: rgba(99, 102, 241, 0.08); background: rgba(8, 145, 178, 0.06);
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
} }
[data-theme="dark"] .nav-dropdown-trigger[aria-expanded="true"] + .nav-dropdown-menu { [data-theme="dark"] .nav-dropdown-trigger[aria-expanded="true"] + .nav-dropdown-menu {
background: rgba(99, 102, 241, 0.16); background: rgba(34, 211, 238, 0.12);
} }
.nav-dropdown-item { .nav-dropdown-item {
@ -1250,12 +1256,12 @@ button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: radial-gradient(1000px 800px at 50% 0%, rgba(99, 102, 241, .04) 0%, transparent 60%); background: radial-gradient(1000px 800px at 50% 0%, rgba(8, 145, 178, .03) 0%, transparent 60%);
pointer-events: none; pointer-events: none;
} }
[data-theme="dark"] .hero-section::before { [data-theme="dark"] .hero-section::before {
background: radial-gradient(1000px 800px at 50% 0%, rgba(129, 140, 248, .06) 0%, transparent 60%); background: radial-gradient(1000px 800px at 50% 0%, rgba(34, 211, 238, .04) 0%, transparent 60%);
} }
.hero-content { .hero-content {
@ -1263,25 +1269,6 @@ button:focus-visible {
max-width: 800px; max-width: 800px;
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
animation: fadeInUp .5s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(12px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion:reduce) {
.hero-content {
animation: none !important;
}
} }
.hero-title { .hero-title {
@ -1294,20 +1281,10 @@ button:focus-visible {
} }
.gradient-text { .gradient-text {
background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); color: var(--primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: inline-block; display: inline-block;
} }
[data-theme="dark"] .gradient-text {
background: linear-gradient(135deg, var(--primary-light) 0%, #c4b5fd 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-description { .hero-description {
font-size: clamp(var(--text-base), 3vw, var(--text-lg)); font-size: clamp(var(--text-base), 3vw, var(--text-lg));
color: var(--text-secondary); color: var(--text-secondary);
@ -1366,10 +1343,7 @@ button:focus-visible {
font-size: clamp(var(--text-3xl), 5vw, var(--text-4xl)); font-size: clamp(var(--text-3xl), 5vw, var(--text-4xl));
font-weight: var(--font-extrabold); font-weight: var(--font-extrabold);
margin-bottom: var(--space-xs); margin-bottom: var(--space-xs);
background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); color: var(--primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
line-height: 1; line-height: 1;
} }
@ -1409,7 +1383,7 @@ button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: radial-gradient(1200px 600px at 50% 0%, rgba(99, 102, 241, 0.01) 0%, transparent 50%); background: radial-gradient(1200px 600px at 50% 0%, rgba(8, 145, 178, 0.008) 0%, transparent 50%);
pointer-events: none; pointer-events: none;
z-index: 0; z-index: 0;
} }
@ -1474,7 +1448,7 @@ button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); background: rgba(8, 145, 178, .02);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1 z-index: -1
@ -1490,22 +1464,22 @@ button:focus-visible {
} }
.btn-primary { .btn-primary {
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%); background: var(--primary);
color: #fff; color: #fff;
border-color: transparent; border-color: transparent;
box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2); box-shadow: var(--shadow-sm);
transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast); transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
} }
.btn-primary:hover { .btn-primary:hover {
background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary-dark) 100%); background: var(--primary-hover);
color: #fff; color: #fff;
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25); box-shadow: var(--shadow-md);
transform: translateY(-1px); transform: translateY(-1px);
} }
.btn-primary::before { .btn-primary::before {
background: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .02) 100%) background: rgba(255, 255, 255, .03);
} }
.btn-secondary { .btn-secondary {
@ -1519,7 +1493,7 @@ button:focus-visible {
border-color: var(--primary); border-color: var(--primary);
color: var(--primary); color: var(--primary);
background: var(--bg-secondary); background: var(--bg-secondary);
box-shadow: 0 2px 8px rgba(99, 102, 241, 0.08); box-shadow: var(--shadow-md);
} }
.btn:active { .btn:active {
@ -1530,7 +1504,7 @@ button:focus-visible {
.btn:focus-visible { .btn:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 3px; outline-offset: 3px;
box-shadow: 0 0 0 6px rgba(99, 102, 241, .15); box-shadow: var(--shadow-focus);
} }
.btn[disabled], .btn[disabled],
@ -1659,7 +1633,7 @@ table a:focus-visible,
table button:focus-visible { table button:focus-visible {
outline: 2px solid var(--primary); outline: 2px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(99, 102, 241, .15); box-shadow: 0 0 0 3px rgba(8, 145, 178, .15);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
} }
@ -1690,7 +1664,7 @@ table button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); background: rgba(8, 145, 178, .02);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1 z-index: -1
@ -1867,7 +1841,7 @@ table button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); background: linear-gradient(135deg, rgba(8, 145, 178, .03) 0%, rgba(6, 182, 212, .02) 100%);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1 z-index: -1
@ -1914,7 +1888,7 @@ table button:focus-visible {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .02) 0%, rgba(139, 92, 246, .01) 100%); background: linear-gradient(135deg, rgba(8, 145, 178, .02) 0%, rgba(6, 182, 212, .01) 100%);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1 z-index: -1
@ -2170,7 +2144,7 @@ th {
font-size: var(--text-sm); font-size: var(--text-sm);
color: var(--text-secondary); color: var(--text-secondary);
padding: var(--space-md) 0; padding: var(--space-md) 0;
background: rgba(99, 102, 241, 0.05); background: rgba(8, 145, 178, 0.05);
border-radius: var(--radius-md); border-radius: var(--radius-md);
margin-bottom: var(--space-md); margin-bottom: var(--space-md);
display: flex; display: flex;
@ -2197,7 +2171,7 @@ th {
} }
[data-theme="dark"] .search-results { [data-theme="dark"] .search-results {
background: rgba(99, 102, 241, 0.1); background: rgba(8, 145, 178, 0.1);
} }
.pricing-table .service-name { .pricing-table .service-name {
color: inherit color: inherit
@ -2391,14 +2365,14 @@ th {
.search-input:focus { .search-input:focus {
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 4px rgba(99, 102, 241, .15); box-shadow: 0 0 0 4px rgba(8, 145, 178, .15);
outline: 2px solid var(--primary); outline: 2px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
} }
.search-input:focus-visible { .search-input:focus-visible {
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 4px rgba(99, 102, 241, .15); box-shadow: 0 0 0 4px rgba(8, 145, 178, .15);
outline: 2px solid var(--primary); outline: 2px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
} }
@ -2434,7 +2408,7 @@ th {
.clear-icon:focus-visible { .clear-icon:focus-visible {
outline: 2px solid var(--primary); outline: 2px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(99, 102, 241, .15); box-shadow: 0 0 0 3px rgba(8, 145, 178, .15);
} }
.status-grid { .status-grid {
display: grid; display: grid;
@ -2461,7 +2435,7 @@ th {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); background: linear-gradient(135deg, rgba(8, 145, 178, .03) 0%, rgba(6, 182, 212, .02) 100%);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1 z-index: -1
@ -2479,7 +2453,7 @@ th {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 5px rgba(99, 102, 241, .1); box-shadow: 0 0 0 5px rgba(8, 145, 178, .1);
} }
@media (max-width:768px) { @media (max-width:768px) {
@ -2580,7 +2554,7 @@ th {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03) 0%, rgba(139, 92, 246, .02) 100%); background: linear-gradient(135deg, rgba(8, 145, 178, .03) 0%, rgba(6, 182, 212, .02) 100%);
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast); transition: opacity var(--transition-fast);
z-index: -1; z-index: -1;
@ -2589,7 +2563,7 @@ th {
.resource-card:hover { .resource-card:hover {
border-color: var(--primary); border-color: var(--primary);
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1); box-shadow: 0 4px 12px rgba(8, 145, 178, 0.1);
} }
.resource-card:hover::before { .resource-card:hover::before {
@ -2635,7 +2609,7 @@ th {
.resource-tags .tag { .resource-tags .tag {
font-size: 0.65rem; font-size: 0.65rem;
color: var(--primary); color: var(--primary);
background: rgba(99, 102, 241, 0.08); background: rgba(8, 145, 178, 0.08);
padding: 3px 8px; padding: 3px 8px;
border-radius: var(--radius-md); border-radius: var(--radius-md);
font-weight: var(--font-semibold); font-weight: var(--font-semibold);
@ -2759,14 +2733,14 @@ th {
.enhanced-referral-card:hover { .enhanced-referral-card:hover {
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1); box-shadow: 0 2px 8px rgba(8, 145, 178, 0.1);
} }
.enhanced-referral-card:focus-visible { .enhanced-referral-card:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 5px rgba(99, 102, 241, .15); box-shadow: 0 0 0 5px rgba(8, 145, 178, .15);
} }
.enhanced-referral-card.featured { .enhanced-referral-card.featured {
@ -2786,7 +2760,7 @@ th {
font-weight: var(--font-bold); font-weight: var(--font-bold);
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.05em; letter-spacing: 0.05em;
box-shadow: 0 2px 6px rgba(99, 102, 241, 0.3); box-shadow: 0 2px 6px rgba(8, 145, 178, 0.3);
z-index: 2; z-index: 2;
} }
@ -2853,7 +2827,7 @@ th {
.speed-test-label { .speed-test-label {
font-size: .65rem; font-size: .65rem;
color: var(--primary); color: var(--primary);
background: rgba(99, 102, 241, .1); background: rgba(8, 145, 178, .1);
padding: var(--space-xs) var(--space-sm); padding: var(--space-xs) var(--space-sm);
border-radius: var(--radius-md); border-radius: var(--radius-md);
font-weight: var(--font-medium); font-weight: var(--font-medium);
@ -2909,14 +2883,14 @@ select:focus {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 5px rgba(99, 102, 241, .15); box-shadow: 0 0 0 5px rgba(8, 145, 178, .15);
} }
select:focus-visible { select:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 2px; outline-offset: 2px;
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 0 0 5px rgba(99, 102, 241, .15); box-shadow: 0 0 0 5px rgba(8, 145, 178, .15);
} }
select:hover { select:hover {
@ -2972,7 +2946,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .1), rgba(139, 92, 246, .1)); background: linear-gradient(135deg, rgba(8, 145, 178, .1), rgba(6, 182, 212, .1));
opacity: 0; opacity: 0;
transition: opacity var(--transition-fast) transition: opacity var(--transition-fast)
} }
@ -3000,7 +2974,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); background: linear-gradient(135deg, rgba(8, 145, 178, .02), rgba(6, 182, 212, .02));
pointer-events: none pointer-events: none
} }
@ -3158,7 +3132,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .03), rgba(139, 92, 246, .03)); background: linear-gradient(135deg, rgba(8, 145, 178, .03), rgba(6, 182, 212, .03));
pointer-events: none pointer-events: none
} }
@ -3237,7 +3211,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); background: linear-gradient(135deg, rgba(8, 145, 178, .02), rgba(6, 182, 212, .02));
pointer-events: none pointer-events: none
} }
@ -3371,7 +3345,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .01), rgba(139, 92, 246, .01)); background: linear-gradient(135deg, rgba(8, 145, 178, .01), rgba(6, 182, 212, .01));
pointer-events: none; pointer-events: none;
z-index: 0 z-index: 0
} }
@ -3422,7 +3396,7 @@ select:hover {
content: ''; content: '';
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(135deg, rgba(99, 102, 241, .02), rgba(139, 92, 246, .02)); background: linear-gradient(135deg, rgba(8, 145, 178, .02), rgba(6, 182, 212, .02));
pointer-events: none pointer-events: none
} }
@ -3557,13 +3531,13 @@ select:hover {
color: var(--primary); color: var(--primary);
position: relative; position: relative;
z-index: 1; z-index: 1;
filter: drop-shadow(0 2px 8px rgba(99, 102, 241, .3)); filter: drop-shadow(0 2px 8px rgba(8, 145, 178, .3));
} }
.footer-logo-glow { .footer-logo-glow {
position: absolute; position: absolute;
inset: -12px; inset: -12px;
background: radial-gradient(circle, rgba(99, 102, 241, .15) 0%, transparent 70%); background: radial-gradient(circle, rgba(8, 145, 178, .15) 0%, transparent 70%);
border-radius: 50%; border-radius: 50%;
animation: pulse-glow 4s ease-in-out infinite; animation: pulse-glow 4s ease-in-out infinite;
} }
@ -3623,7 +3597,7 @@ select:hover {
.footer-stat:hover { .footer-stat:hover {
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(99, 102, 241, .15); box-shadow: 0 4px 12px rgba(8, 145, 178, .15);
border-color: var(--primary); border-color: var(--primary);
color: var(--primary); color: var(--primary);
} }
@ -3829,7 +3803,7 @@ select:hover {
border-color: var(--primary); border-color: var(--primary);
color: #fff; color: #fff;
transform: translateY(-2px) scale(1.05); transform: translateY(-2px) scale(1.05);
box-shadow: 0 4px 16px rgba(99, 102, 241, .3); box-shadow: 0 4px 16px rgba(8, 145, 178, .3);
} }
.github-link:focus-visible { .github-link:focus-visible {
@ -4495,7 +4469,7 @@ select:focus-visible,
textarea:focus-visible { textarea:focus-visible {
outline: 3px solid var(--primary); outline: 3px solid var(--primary);
outline-offset: 3px; outline-offset: 3px;
box-shadow: 0 0 0 6px rgba(99, 102, 241, 0.15); box-shadow: 0 0 0 6px rgba(8, 145, 178, 0.15);
} }
/* Keyboard navigation for tables */ /* Keyboard navigation for tables */
@ -4680,7 +4654,7 @@ table tbody tr[tabindex="0"] {
/* ===== DARK MODE ADJUSTMENTS ===== */ /* ===== DARK MODE ADJUSTMENTS ===== */
[data-theme="dark"] table tbody tr:focus { [data-theme="dark"] table tbody tr:focus {
background-color: rgba(99, 102, 241, 0.1); background-color: rgba(8, 145, 178, 0.1);
} }
[data-theme="dark"] *:focus-visible { [data-theme="dark"] *:focus-visible {