We've transitioned from a neumorphic (soft UI) design to a minimal corporate design system. This change provides:
✅ Better readability for financial data ✅ More professional appearance ✅ Cleaner, modern look ✅ Easier maintenance ✅ Better accessibility ✅ Follows industry best practices (Stripe, Linear, OpenAI)
-
apps/frontend/src/index.css✅- Replaced neumorphic CSS variables with corporate ones
- Added shadcn/ui compatible variables
- Created utility classes (
.corp-*)
-
apps/frontend/tailwind.config.js✅- Removed neumorphic shadow utilities
- Added corporate color system
- Simplified shadow system
-
DESIGN-GUIDE.md✅ NEW- Complete corporate design system documentation
- Component examples and code snippets
- Migration patterns
-
CLAUDE.md✅- Updated to reference corporate design
- Quick reference for developers
Read the DESIGN-GUIDE.md to understand:
- New color palette
- Component patterns
- Best practices
You don't need to update everything at once. Migrate components as you work on them:
<div
className="rounded-2xl p-6"
style={{
background: 'var(--neu-bg, #e8eef5)',
boxShadow: '6px 6px 12px #c4c9cf, -6px -6px 12px #ffffff',
}}
>
<h3 style={{ color: 'var(--neu-text-primary)' }}>Invoice Details</h3>
<button
className="px-4 py-2 rounded-xl"
style={{
background: 'linear-gradient(145deg, #2064d8, #1a4fa8)',
boxShadow: '3px 3px 6px #c4c9cf, -3px -3px 6px #ffffff',
}}
>
Save
</button>
</div><div className="corp-card p-6">
<h3 className="text-lg font-semibold text-corp-text-primary">Invoice Details</h3>
<button className="corp-btn-primary">Save</button>
</div>Quick patterns to speed up migration:
Find: style={{ background: 'var(--neu-bg'
Replace: className="bg-whiteFind: bg-neu-bg
Replace: bg-whiteFind: var(--neu-text-primary)
Replace: var(--corp-text-primary)Find: var(--neu-text-secondary)
Replace: var(--corp-text-secondary)Find: boxShadow: '6px 6px 12px #c4c9cf, -6px -6px 12px #ffffff'
Replace: className="shadow-corp-md"Find: rounded-2xl
Replace: rounded-lgFind: rounded-xl
Replace: rounded-md<div
className="rounded-2xl p-6"
style={{
background: 'var(--neu-bg)',
boxShadow: 'var(--neu-shadow-raised)',
}}
>
Content
</div><div className="corp-card p-6">Content</div><button
className="px-4 py-2 rounded-xl text-white"
style={{
background: 'linear-gradient(145deg, #2064d8, #1a4fa8)',
boxShadow: '3px 3px 6px #c4c9cf, -3px -3px 6px #ffffff',
}}
>
Save
</button><button className="corp-btn-primary">Save</button><button
className="px-4 py-2 rounded-xl"
style={{
background: 'var(--neu-bg)',
boxShadow: '3px 3px 6px #c4c9cf, -3px -3px 6px #ffffff',
}}
>
Cancel
</button><button className="corp-btn">Cancel</button><input
className="px-4 py-2 rounded-xl border-0"
style={{
background: 'var(--neu-bg)',
boxShadow: 'inset 2px 2px 4px #c4c9cf, inset -2px -2px 4px #ffffff',
color: 'var(--neu-text-primary)',
}}
placeholder="Enter value..."
/><input className="corp-input w-full" placeholder="Enter value..." /><div
className="rounded-2xl overflow-hidden"
style={{
background: 'var(--neu-bg)',
boxShadow: 'var(--neu-shadow-raised)',
}}
>
<table className="w-full">
<thead style={{ background: 'rgba(32, 100, 216, 0.05)' }}>
<th style={{ color: 'var(--neu-text-primary)' }}>Name</th>
</thead>
<tbody>
<td style={{ color: 'var(--neu-text-secondary)' }}>John</td>
</tbody>
</table>
</div><table className="corp-table">
<thead>
<th>Name</th>
</thead>
<tbody>
<tr>
<td>John</td>
</tr>
</tbody>
</table><div className="min-h-screen p-6" style={{ background: 'var(--neu-bg, #e8eef5)' }}>
{/* Content */}
</div><div className="min-h-screen p-6 bg-corp-bg-secondary">{/* Content */}</div>| Old Neumorphic | New Corporate | Usage |
|---|---|---|
--neu-bg |
--corp-bg-primary |
Main backgrounds |
--neu-bg-alt |
--corp-bg-secondary |
Subtle contrast |
--neu-primary |
--corp-primary |
Primary actions |
--neu-secondary |
--corp-secondary |
Success states |
--neu-warning |
--corp-warning |
Warnings |
--neu-danger |
--corp-danger |
Errors |
--neu-text-primary |
--corp-text-primary |
Headings |
--neu-text-secondary |
--corp-text-secondary |
Body text |
--neu-text-muted |
--corp-text-muted |
Hints |
--neu-shadow-raised |
--corp-shadow-md |
Default shadow |
--neu-shadow-raised-sm |
--corp-shadow-sm |
Small shadow |
--neu-shadow-raised-lg |
--corp-shadow-lg |
Large shadow |
| Old Neumorphic | New Corporate | Purpose |
|---|---|---|
bg-neu-bg |
bg-white |
White background |
shadow-neu-raised |
shadow-corp-md |
Default shadow |
shadow-neu-raised-sm |
shadow-corp-sm |
Small shadow |
shadow-neu-pressed |
border border-corp-border-light |
Input styling |
rounded-2xl |
rounded-lg |
Large radius |
rounded-xl |
rounded-md |
Medium radius |
text-neu-text-primary |
text-corp-text-primary |
Primary text |
/* Backgrounds */
.corp-bg → White background
.corp-bg-secondary → Light gray background
.corp-bg-tertiary → Deeper gray background
/* Text */
.corp-text-primary → Dark text (headings)
.corp-text-secondary → Medium text (body)
.corp-text-muted → Light text (hints)
/* Components */
.corp-card → Card with border and shadow
.corp-btn → Secondary button
.corp-btn-primary → Primary button (blue)
.corp-input → Input field with border
.corp-table → Styled table
.corp-badge → Badge/pill base
.corp-badge-success → Green badge
.corp-badge-warning → Amber badge
.corp-badge-danger → Red badge
.corp-divider → Horizontal dividerA: No! Migrate components gradually as you work on them. Both systems can coexist during the transition.
A: The team has decided on corporate design for better professionalism and readability in accounting software. Please follow the new design system for consistency.
A: Prefer utility classes (.corp-*) for consistency. Use inline styles only when necessary.
A: Check DESIGN-GUIDE.md for comprehensive examples and component patterns.
A: Dark mode variables are already configured. The corporate theme supports dark mode out of the box.
After migrating a component:
- Visual Check - Does it look clean and professional?
- Contrast Check - Is text readable? (WCAG AA compliance)
- Hover States - Do interactive elements respond smoothly?
- Consistency - Does it match other migrated components?
- Mobile - Does it work on smaller screens?
- 📖 Full Documentation: DESIGN-GUIDE.md
- 📝 Quick Reference: CLAUDE.md - Corporate Design System section
- 🎨 shadcn/ui Components: https://ui.shadcn.com/
Old Theme (Neumorphic):
- Soft gray background (#e8eef5)
- Dual shadows (light + dark)
- Rounded corners (12-24px)
- Muted, subtle appearance
New Theme (Corporate):
- White/light backgrounds (#ffffff, #f8f9fa)
- Clean borders + subtle shadows
- Professional appearance
- Better readability for data
- Modern SaaS aesthetic
This migration improves the professional appearance of SimpleAccounts UAE while maintaining brand consistency (keeping the #2064d8 blue for primary actions).