This guide is written specifically for AI coding assistants. It contains the non-negotiable rules, patterns, and constraints that define the Syhrezz visual identity. When building any page for this system, follow these rules exactly.
Critical: Do NOT introduce Tailwind utility classes, Material UI, shadcn, Bootstrap, Ant Design, or any other design system into Syhrezz pages. Every component must use the class-based system defined in this design system. Every visual value must come from CSS custom properties defined in ds-tokens.css.
Design Identity Rules
Rule
Correct
Wrong
Font family
'Plus Jakarta Sans', sans-serif
Inter, Roboto, system-ui, -apple-system
Font for sales pages
'Poppins', sans-serif
Any other font
Primary CTA color (Accent)
#6366F1
#3B82F6, any blue
Primary CTA color (Dark)
#0F172A
Any other color
Page background
#F8FAFC (var(--surface))
#fff, #f5f5f5, #f0f0f0
Card background
#fff (var(--card))
Any tinted white
Sidebar background
#0F172A (primary role)
Any other dark color
Border color
#E2E8F0 (var(--border))
#d1d5db, #e5e7eb
Card border radius
20px (var(--r-4xl))
8px, 12px, 24px, 1rem
Button border radius
12px (default md)
4px, 6px, rounded-full
Icons
Inline SVG, Heroicons outline, stroke-width:2
Font Awesome, Lucide, emoji, img tags
Icon size in buttons
16px (md), 14px (sm), 18px (lg)
24px, 1em, 1rem
Page Layout Rules
Every Syhrezz page follows this exact structure: Fixed sidebar (left) + Fixed topbar (top, offset by sidebar width) + Scrollable main content area. The sidebar state (collapsed/expanded) is persisted in localStorage. Main content shifts when the sidebar collapses.
1. Page Header (back button + entity name + status badge + actions)
2. Info Cards Grid (2 columns):
- Left: Main info (name, contact, address, etc.)
- Right: Stats/metrics, status, assigned rep
3. Tabs (Overview / Activities / Transactions / Contacts)
4. Tab content panels (each tab renders its own list/table)
Common Mistakes to Avoid
Mistake
Correct Approach
Using emoji as icons
Always use inline SVG with stroke="currentColor", no emoji anywhere in UI
Hardcoding hex values
Always use CSS custom properties: var(--primary), var(--border), etc.
Adding Tailwind classes
Use the design system class-based API exclusively
Two primary buttons side-by-side
One primary CTA max. Use outline for secondary actions.
Bare table element
Always wrap in .table-wrap with toolbar and pagination
Nesting cards inside cards
Use sections or dividers within a single card
Full-saturation badge backgrounds
Always use the soft -bg token with its matching -text token
Hardcoded font-family strings
Use var(--font-primary) or var(--font-mono)
Large border-radius on buttons
Buttons use 12px (md), 10px (Dark), 8px (sm), 7px (xs) — not rounded-full
Delete without confirmation
All destructive actions require a confirmation modal with .btn-danger
Sidebar without localStorage
Always persist collapse state to localStorage
Using img tags for icons
Inline SVG only — no icon fonts, no img tags, no emoji
Recommended AI Prompt
When working with an AI assistant on a new Syhrezz page, provide this context at the start of your conversation:
I am building a page using the Syhrezz Design System. Follow these rules exactly:VISUAL IDENTITY (non-negotiable):
- Font: 'Plus Jakarta Sans', sans-serif (primary UI) — 'Poppins' for alternative role pages
- Primary accent: #6366F1 (default) | Dark accent: #0F172A | Blue accent: #2563EB
- Page background: #F8FAFC | Card background: #FFFFFF | Border color: #E2E8F0
- Card radius: 20px | Button radius: 12px (md), 8px (sm) | Badge/pill: 999px
- All values must use CSS custom properties from ds-tokens.css — NEVER hardcode hex values
LAYOUT:
- Fixed dark sidebar (268px) + Fixed topbar (56px) + Scrollable main content area
- Sidebar collapses to 68px, state persisted in localStorage
- Content max-width: 1400px, padding: 28px 32px
ICONS:
- ALWAYS inline SVG, Heroicons outline style, stroke-width:2, stroke="currentColor"
- NEVER use emoji, icon fonts, or img tags for icons
COMPONENTS:
- Buttons: always .btn + .btn-{variant} — never bare unstyled buttons
- Tables: always inside .table-wrap with toolbar + pagination
- Modals: overlay is flex container, display:none/flex toggle, cancel LEFT / confirm RIGHT
- Badges: always soft bg+text token pairs — never full-saturation backgrounds
- Forms: labels UPPERCASE 12px fw-700 letter-spacing:.5px, .input class for all fields, .form-group wrapper
- See the Syhrezz Design System documentation for full component reference