diff --git a/FRONTEND.md b/FRONTEND.md
index 23c5f47..fe02551 100644
--- a/FRONTEND.md
+++ b/FRONTEND.md
@@ -1,5 +1,19 @@
# Frontend Agent Guidelines (mm_poc_v2)
+## Design System Authority
+
+All UI, styling, layout, spacing, colors, typography, and visual decisions
+MUST strictly follow the Design System defined in:
+
+- **[./design-system/AGENTS.md](./design-system/AGENTS.md)** - Brand authority and core principles
+- **[./design-system/DESIGN.md](./design-system/DESIGN.md)** - Design system overview and complete index
+- **[./design-system/tokens/](./design-system/tokens/)** - Authoritative design tokens (colors, typography, spacing, etc.)
+- **[./design-system/*.md](./design-system/)** - Complete implementation guides
+
+This AGENT must not override, reinterpret, or invent visual rules.
+If a visual decision is missing, consult the design system documentation or request clarification.
+Failure to follow the Design System must be treated as a defect, not a stylistic preference.
+
This file defines **frontend-specific** conventions for LLM agents working in `frontend/`. It extends the repository-wide [GENERAL-WEB-APP.md](https://github.com/shemaobt/reference-agents-md/blob/main/GENERAL-WEB-APP.md): follow those global guidelines first, then apply what is below.
---
@@ -85,8 +99,12 @@ frontend/src/
## 3. Styling and Tailwind
- **Use Tailwind only** for layout, spacing, colors, typography, and responsive behavior.
-- **Avoid inline styles** for things Tailwind can do (e.g. `className="flex items-center gap-2"` instead of `style={{ display: 'flex', alignItems: 'center' }}`). Use inline `style` only when necessary (e.g. dynamic values, third-party integration).
-- **Use the design tokens** from `tailwind.config.js`: `branco`, `areia`, `azul`, `telha`, `verde`, `verde-claro`, `preto`, and semantic tokens (`primary`, `background`, `border`, `ring`, etc.). Do not introduce arbitrary hex values in JSX; extend the theme if new tokens are needed.
+- **Avoid inline styles** for things Tailwind can handle (e.g. `className="flex items-center gap-2"` instead of `style={{ display: 'flex', alignItems: 'center' }}`).
+ Use inline `style` **only when strictly necessary** (e.g. dynamic values or third-party integrations).
+- **Always use the design tokens** defined in `tailwind.config.js` for colors and semantics
+ (`branco`, `areia`, `azul`, `telha`, `verde`, `verde-claro`, `preto`, and semantic tokens like `primary`, `background`, `border`, `ring`).
+- `tailwind.config.js` **must stay in sync** with `design-system/tokens/*.json`.
+ Do **not** introduce arbitrary hex values in JSX; extend the theme if new tokens are required.
### Centralized style constants
@@ -162,3 +180,5029 @@ frontend/src/
---
*Reference copy from [mm_poc_v2/frontend/AGENTS.md](https://github.com/shemaobt/mm_poc_v2/blob/main/frontend/AGENTS.md). Place in your repo at `frontend/AGENTS.md` or `frontend/FRONTEND.md`. Built using [agents.md](https://agents.md/).*
+---
+
+# Design System — Shema (Conteúdo Completo Mesclado)
+
+> O conteúdo abaixo foi mesclado a partir de todos os arquivos `.md` da pasta `design-system/`.
+> Informações duplicadas entre os arquivos originais foram consolidadas em seções únicas.
+> O arquivo `README.md` foi omitido pois serve apenas como índice de navegação.
+
+---
+
+## DS-1. Guia para AI Agents — Princípios de Marca e Regras Visuais
+
+> Origem: `design-system/AGENTS.md`
+
+## 1. Purpose
+This Design System defines the visual and behavioral rules for creating interfaces for the **Shema** platform, covering **Web** and **Mobile App (Flutter)**.
+
+The Shema brand operates in the context of biblical translation and sacred text reading. Its visual identity must reflect the following values:
+
+- Simple
+- Accessible
+- Lively
+- Friendly
+- Human
+
+This document acts as a **mandatory contract** for designers, developers, and AI agents.
+
+---
+
+## 2. Visual Principles
+
+### Natural Feel
+- Avoid pure white (#FFFFFF) as the main background.
+- Use **Shema White / Cream (#F6F5EB)** to simulate paper and provide visual comfort.
+- Pure white is reserved only for elevated surfaces (cards, inputs).
+
+### Soft Contrast
+- Text uses **Shema Black (#0A0703)**, never absolute black.
+- Subtitles and secondary text use **Shema Dark Green (#3F3E20)**.
+
+### Typography
+- **Montserrat**: entire interface (UI, buttons, navigation).
+- **Merriweather**: long-form texts, biblical content, and continuous reading.
+- Fonts observed in screenshots should be ignored if they conflict with this guide.
+
+### Color Hierarchy
+- **Tile / Clay (#BE4A01)** is exclusive to:
+ - CTAs
+ - Primary actions
+ - Active icons
+- Never use Tile as a neutral decorative color.
+
+---
+
+## 3. UI Generation Rules
+
+### What TO DO
+
+#### Mobile (Flutter)
+- Use **Elevation** to separate surfaces.
+- Buttons and cards with generously rounded corners (16px+).
+- Large touch areas.
+- Components compatible with `ColorScheme` and `TextTheme`.
+
+#### Web
+- Wider, more breathable layouts.
+- Cards with corner radius between 8px and 12px.
+- Hover and focus states using opacity, never new colors.
+
+#### Colors
+- Use only the defined design tokens.
+- Variations only through **opacity** or **state**.
+
+---
+
+## Color Modes Governance
+
+The Shema Design System officially supports two visual modes.
+
+---
+
+### ☀️ Light Mode — “Paper & Ink”
+
+**Metaphor:** Printed paper.
+
+- Background: Cream Shema (#F6F5EB)
+- Surface: Pure White (#FFFFFF)
+- Primary Text: Black Shema (#0A0703)
+- Secondary Text: Dark Green (#3F3E20)
+- Borders: Sand (#C5C29F)
+
+Pure white must never be used as a page background.
+
+---
+
+### 🌙 Dark Mode — “Night & Earth”
+
+**Metaphor:** Organic night environment.
+
+- Background: Black Shema (#0A0703)
+- Surface: Black Shema with visible borders
+- Highlight Surface: Dark Green (#3F3E20)
+- Primary Text: Cream Shema (#F6F5EB)
+- Secondary Text: Sand (#C5C29F)
+
+---
+
+### Strict Restrictions
+
+- Do NOT use generic neutral greys.
+- Do NOT approximate Material Design dark palettes.
+- Dark interfaces must be composed only using Shema palette colors.
+
+Failure to follow these rules must be treated as a design defect, not a stylistic preference.
+
+### What NOT TO DO
+- Do not create complex gradients.
+- Do not invent new semantic colors outside the earthy palette.
+- Do not use Merriweather for buttons, menus, or navigation.
+- Do not mix Web and App patterns without explicit documentation.
+
+---
+
+### Spacing and Layout
+- **Generous breathing room**: Use the 4px base spacing scale (Tailwind).
+- **Card padding**: 16px minimum (mobile), 24px recommended (desktop).
+- **Section gaps**: Space-y-6 or space-y-8 for vertical rhythm.
+- **Grid systems**: Responsive grids that adapt from single column (mobile) to multi-column (desktop).
+
+### Component Guidelines
+
+#### Buttons
+- **Primary (Tile)**: Reserved for main CTAs only.
+- **Rounded corners**: 8px+ for buttons (Web), 16px+ for mobile.
+- **Touch targets**: Minimum 44px height for mobile buttons.
+- **States**: Use opacity for hover/focus, never introduce new colors.
+
+#### Cards
+- **Background**: White (#FFFFFF) for elevated surfaces.
+- **Borders**: Subtle with `border-areia/30`.
+- **Corner radius**: 8-12px (Web), 16px+ (Mobile).
+- **Shadows**: Soft shadows for elevation (`shadow-sm`, `shadow-md`).
+- **Hover states**: Increase shadow and adjust border opacity.
+
+#### Forms
+- **Inputs**: White background with `border-areia`.
+- **Focus states**: Ring with telha color (`ring-telha`).
+- **Labels**: Montserrat medium, text-sm.
+- **Validation**: Use verde-claro for success, red for errors.
+
+#### Badges
+- **Rounded**: Full rounded (`rounded-full`) for pill-shaped badges.
+- **Category colors**: Predefined color combinations for participants, events, discourse.
+- **Size**: text-xs with medium weight for clarity.
+
+---
+
+## 4. Animation Principles
+
+### Transitions
+- **Duration**: 200ms default for most interactions.
+- **Easing**: Use `ease-out` for entrances, `ease-in-out` for state changes.
+- **Properties**: Prefer `transform` and `opacity` (GPU-accelerated).
+
+### Keyframes
+- **fade-in**: Subtle entrance with vertical movement.
+- **slide-in**: Horizontal entrance for modals/sheets.
+- **pulse-soft**: Gentle attention grabber.
+- **celebrate**: Success feedback animation.
+
+### Best Practices
+- Avoid animating layout properties (width, height, top, left).
+- Respect `prefers-reduced-motion` user preference.
+- Keep animations subtle and non-distracting.
+
+For complete animation specifications, see [animations.md](./animations.md).
+
+---
+
+## 5. Detailed Color Usage
+
+### Primary Colors
+- **Telha (#BE4A01)**: Exclusive to CTAs, primary actions, active states.
+ - **Variations**: `telha-light`, `telha-dark`, `telha-muted` for different contexts.
+ - **Never** use telha as neutral decoration or background.
+
+- **Shema White / Cream (#F6F5EB)**: Main background color.
+ - Provides paper-like warmth and reduces eye strain.
+ - Pure white (#FFFFFF) is reserved for elevated surfaces (cards, inputs).
+
+- **Shema Black (#0A0703)**: Primary text color.
+ - Softer than absolute black, better for long reading sessions.
+
+- **Shema Dark Green (#3F3E20)**: Secondary text, subtitles, descriptions.
+
+### Supporting Colors
+- **Blue (#89AAA3)**: Supporting elements, subtle backgrounds.
+- **Light Green (#777D45)**: Success states, positive indicators, validation.
+- **Sand (#C5C29F)**: Borders, muted elements, warnings.
+
+### Opacity Patterns
+- `/10`: Very subtle backgrounds
+- `/20`: Soft backgrounds for badges/highlights
+- `/30`: Borders and subtle separators
+- `/50`: Medium overlays
+- `/90`: Strong hover states
+
+For complete color specifications, see [colors.md](./colors.md).
+
+---
+
+## 6. Governance
+
+The single source of truth consists of:
+
+### Conflict Resolution
+1. **Token files** override visual references
+2. **This AGENTS.md** defines brand authority and principles
+3. **Implementation docs** provide detailed usage patterns
+4. When in doubt, consult token files first, then this document
+
+Any exception must be documented.
+
+---
+
+## DS-2. Design System — Visão Geral e Quick Start
+
+## 📖 Overview
+
+The She design system for the **Shema** platform provides a comprehensive visual language and component library for creating consistent, accessible, and beautiful interfaces across Web and Mobile applications.
+
+### Brand Values
+
+Shema operates in the context of biblical translation and sacred text reading. The design system reflects these core values:
+
+- **Simple** - Clean interfaces that don't overwhelm
+- **Accessible** - Usable by all, with proper contrast and semantic HTML
+- **Lively** - Warm, engaging colors that invite interaction
+- **Friendly** - Approachable components and gentle animations
+- **Human** - Natural feel with paper-like backgrounds and soft contrasts
+
+---
+
+## 🎨 Quick Start
+
+### Color Palette (Earthy Tones)
+
+| Color | Hex | Usage |
+|-------|-----|-------|
+| **Telha** (Clay/Tile) | `#BE4A01` | CTAs, primary actions, active states |
+| **Shema White** (Cream) | `#F6F5EB` | Main background |
+| **Shema Black** | `#0A0703` | Primary text |
+| **Shema Dark Green** | `#3F3E20` | Secondary text |
+| **Blue** | `#89AAA3` | Supporting elements |
+| **Light Green** | `#777D45` | Success, validation |
+| **Sand** | `#C5C29F` | Borders, muted elements |
+
+### Typography
+
+- **Montserrat**: Entire UI (buttons, navigation, labels, headings)
+- **Merriweather**: Long-form text, biblical content, continuous reading
+
+### Spacing Scale
+
+Based on **4px base unit** (Tailwind default):
+- `space-2` (8px) - Tight spacing
+- `space-4` (16px) - Default spacing
+- `space-6` (24px) - Section spacing
+- `space-8` (32px) - Large gaps
+
+### Component Basics
+
+```tsx
+import { Button, Card, Badge } from '@/components/ui'
+import { cardStyles } from '@/styles'
+
+// Primary button
+
+
+// Card with content
+
+
+ Title
+
+ Content
+
+
+// Category badge
+
+ Person
+
+```
+
+---
+
+## 📚 Complete Documentation
+
+### Design Tokens (Authoritative Source)
+
+Tokens are the single source of truth. All implementation must align with these files:
+
+- **[colors.json](./tokens/colors.json)** - Color palette, semantic tokens, category colors
+- **[typography.json](./tokens/typography.json)** - Font families, scales, weights, line heights
+- **[spacing.json](./tokens/spacing.json)** - Spacing scale, semantic spacing values
+- **[animations.json](./tokens/animations.json)** - Keyframes, durations, easing functions
+- **[borders.json](./tokens/borders.json)** - Border widths, corner radius values
+- **[shadows.json](./tokens/shadows.json)** - Shadow scales for elevation
+
+### Implementation Guides
+
+Detailed usage patterns and code examples for each design system element:
+
+1. **[colors.md](./colors.md)** - Complete color system
+ - Base palette and semantic tokens
+ - Category colors (participants, events, discourse)
+ - Validation and state colors
+ - Opacity patterns and usage examples
+
+2. **[typography.md](typography.md)** - Typography hierarchy
+ - Font families (Montserrat, Merriweather)
+ - Type scale (headings, body, captions)
+ - Font weights, line heights, letter spacing
+ - Hebrew text specifications
+
+3. **[spacing.md](./spacing.md)** - Spacing and layout
+ - Spacing scale (4px base)
+ - Layout patterns (grids, containers)
+ - Padding and margin conventions
+ - Label → Input/Select spacing (mb-2 default)
+ - Dropdown spacing and icon positioning
+
+4. **[animations.md](./animations.md)** - Motion design
+ - Keyframes (fade-in, slide-in, pulse, celebrate)
+ - Transition patterns and durations
+ - Performance best practices
+
+5. **[components.md](./components.md)** - UI components
+ - Progress Step (preferred option for progress indicators)
+ - Button, Card, Input, Select, Dialog
+ - Component variants and sizes
+ - Usage patterns and examples
+
+6. **[cards.md](./cards.md)** - Card system
+ - Card variants (base, hover, selected, dashed)
+ - Specialized cards (clause, event, participant)
+ - States and interactions
+
+7. **[badges.md](./badges.md)** - Badge system
+ - Badge variants and sizes
+ - Category colors and semantic badges
+ - Validation and status badges
+
+8. **[states.md](./states.md)** - UI states
+ - Loading states and spinners
+ - Error, success, warning banners
+ - Empty states and placeholders
+
+9. **[layout.md](./layout.md)** - Layout patterns
+ - Grid systems (responsive)
+ - Page templates and containers
+ - Modal and dialog layouts
+
+10. **[border-radius.md](./border-radius.md)** - Corner radius
+ - Radius scale (sm, md, lg)
+ - Component-specific radius values
+ - Platform differences (Web vs Mobile)
+
+11. **[sections.md](./sections.md)** - Section patterns
+ - Collapsible sections
+ - Section variants (roles, emotions, etc.)
+ - Header patterns
+
+12. **[themes.md](./themes.md)** - Theme system
+ - Light theme (current)
+ - Dark theme (future)
+ - Theme switching implementation
+
+---
+
+## 🎯 Design Principles
+
+### 1. Natural Feel
+
+Avoid stark, clinical interfaces. Use **Shema White / Cream (#F6F5EB)** as the main background to simulate paper texture and provide visual comfort. Reserve pure white (#FFFFFF) for elevated surfaces like cards and inputs.
+
+### 2. Soft Contrast
+
+Text uses **Shema Black (#0A0703)** instead of absolute black. Secondary text uses **Shema Dark Green (#3F3E20)**. This creates legible but gentle contrast suitable for long reading sessions.
+
+### 3. Intentional Color
+
+**Telha / Clay (#BE4A01)** is exclusive to primary actions, CTAs, and active states. Never use Telha as neutral decoration. This preserves its visual weight and guides users to key actions.
+
+### 4 Responsive Typography
+
+Use **Montserrat** for all UI elements (navigation, buttons, labels). Use **Merriweather** exclusively for long-form biblical text and continuous reading contexts.
+
+### 5. Elevation Through Shadow
+
+Create depth with subtle shadows (`shadow-sm`, `shadow-md`), not heavy outlines or thick borders. Hover states should increase shadow intensity.
+
+### 6. Gentle Motion
+
+Animations are subtle and non-distracting. Default duration is 200ms. Prefer `transform` and `opacity` for smooth, GPU-accelerated transitions.
+
+---
+
+## 🛠️ Using the Design System
+
+### In React Components
+
+```tsx
+import { Button, Card, Badge, Input } from '@/components/ui'
+import { cardStyles, participantCategoryColors } from '@/styles'
+import { cn } from '@/utils/cn'
+
+export function ExampleComponent() {
+ return (
+
+
+
+
+ Passage Details
+
+ Genesis 1:1-3
+
+
+
+
+
+ Divine
+
+
+
+
+
+
+
+
+ )
+}
+```
+
+### With Tailwind Classes
+
+```tsx
+// Background and text colors
+
+
Heading
+
Description
+
+
+// Spacing and layout
+
+
+ ...
+
+
+
+// Transitions and hover
+
+```
+
+---
+
+## 📱 Platform Differences
+
+### Web
+- Border radius: 8-12px for cards, 8px for buttons
+- Hover states: Use opacity and shadow changes
+- Layouts: Wider, more breathable spacing
+
+### Mobile (Flutter)
+- Border radius: 16px+ for generous rounded corners
+- Touch targets: Minimum 44px height
+- Elevation: Use Material elevation for depth
+- Large touch areas for accessibility
+
+---
+
+## 🔄 Governance and Authority
+
+### Hierarchy of Truth
+
+1. **Token files** (`/tokens/*.json`) are authoritative. If there's a conflict between code and tokens, tokens win.
+2. **[AGENTS.md](./AGENTS.md)** defines brand values and core principles.
+3. **Implementation docs** (this file and others) provide detailed usage patterns.
+
+### When to Update
+
+- **Tokens**: Only update with design team approval.
+- **Implementation docs**: Update when patterns evolve or new use cases emerge.
+- **Visual references**: Update when major visual changes occur.
+
+### Requesting Changes
+
+Document any exceptions or deviations. Propose token changes through design review process. Never introduce arbitrary colors or typography outside the defined system.
+
+---
+
+## ✅ Checklist for Contributors
+
+Before creating or modifying UI:
+
+- [ ] Use colors from `colors.json` only
+- [ ] Use Montserrat for UI, Merriweather for reading content
+- [ ] Follow spacing scale (4px base)
+- [ ] Use existing components from `/components/ui`
+- [ ] Apply centralized styles from `/styles`
+- [ ] Test hover and focus states
+- [ ] Verify accessibility (contrast, keyboard navigation)
+- [ ] Respect `prefers-reduced-motion` for animations
+- [ ] Check responsive behavior (mobile, tablet, desktop)
+
+---
+
+*This design system is maintained by the Shema design team. For questions or contributions, consult the governance section above.*
+
+---
+
+## DS-3. Sistema de Cores
+
+## Overview
+
+The Shema Design System uses an earthy color palette inspired by natural tones, reflecting the brand values: simple, accessible, lively, friendly, and human.
+
+## Base Palette
+
+| Name | Hex | Token | Usage |
+|------|-----|-------|-----|
+| **Telha (Clay/Tile)** | `#BE4A01` | `telha` | Primary color, CTAs, primary actions, active states |
+| **Shema White (Cream)** | `#F6F5EB` | `branco` | Main background, simulates paper |
+| **Sand** | `#C5C29F` | `areia` | Borders, secondary elements, muted |
+| **Blue** | `#89AAA3` | `azul` | Supporting elements, subtle backgrounds |
+| **Light Green** | `#777D45` | `verde-claro` | Success, validation, positive states |
+| **Dark Green** | `#3F3E20` | `verde` | Secondary text, descriptions |
+| **Shema Black** | `#0A0703` | `preto` | Primary text, foreground |
+| **Pure White** | `#FFFFFF` | `white` | Elevated surfaces (cards, inputs) |
+
+> [!IMPORTANT]
+> **Shema Brand Rule**: Never use pure white (#FFFFFF) as the main background. Use **Shema White / Cream (#F6F5EB)** to simulate paper and provide visual comfort. Pure white is reserved exclusively for elevated surfaces (cards, inputs).
+
+## Primary Colors
+
+### Telha (#BE4A01)
+
+**Exclusive to CTAs, primary actions, and active icons.**
+
+- **Never** use Telha as neutral decoration or background.
+- Variations are created through opacity or state changes.
+- Hover states use opacity, never new colors.
+
+### Shema White / Cream (#F6F5EB)
+
+**Main background color.**
+
+- Provides paper-like warmth and reduces eye strain.
+- Pure white (#FFFFFF) is reserved for elevated surfaces (cards, inputs).
+
+### Shema Black (#0A0703)
+
+**Primary text color.**
+
+- Softer than absolute black, better for long reading sessions.
+- Never use absolute black (#000000).
+
+### Shema Dark Green (#3F3E20)
+
+**Secondary text, subtitles, descriptions.**
+
+## Supporting Colors
+
+### Blue (#89AAA3)
+
+Supporting elements and subtle backgrounds.
+
+### Light Green (#777D45)
+
+Success states, positive indicators, validation.
+
+### Sand (#C5C29F)
+
+Borders, muted elements, warnings.
+
+## Semantic Tokens
+
+The system defines semantic tokens that map to base colors:
+
+```typescript
+primary: {
+ DEFAULT: '#BE4A01', // telha
+ foreground: '#F6F5EB', // branco
+}
+
+secondary: {
+ DEFAULT: '#89AAA3', // azul
+ foreground: '#0A0703', // preto
+}
+
+success: {
+ DEFAULT: '#777D45', // verde-claro
+ foreground: '#F6F5EB', // branco
+}
+
+background: '#F6F5EB' // branco (Shema Cream)
+foreground: '#0A0703' // preto (Shema Black)
+
+card: {
+ DEFAULT: '#FFFFFF', // white
+ foreground: '#0A0703', // preto
+}
+
+border: '#C5C29F' // areia
+input: '#C5C29F' // areia
+ring: '#BE4A01' // telha (focus rings)
+
+muted: {
+ DEFAULT: '#C5C29F', // areia
+ foreground: '#3F3E20', // verde
+}
+
+accent: {
+ DEFAULT: '#89AAA3', // azul
+ foreground: '#0A0703', // preto
+}
+
+destructive: {
+ DEFAULT: '#BE4A01', // telha (same as primary)
+ foreground: '#F6F5EB', // branco
+}
+```
+
+## Opacity Patterns
+
+The system uses opacity to create subtle variations:
+
+- `/10` - Very subtle backgrounds (e.g., `bg-telha/10`)
+- `/20` - Soft backgrounds for badges/highlights (e.g., `bg-verde-claro/20`)
+- `/30` - Borders and subtle separators (e.g., `border-areia/30`)
+- `/50` - Medium overlays
+- `/90` - Strong hover states
+
+### Examples
+
+```tsx
+// Soft background
+
+ This is an example of long text for continuous reading.
+ The Merriweather font is optimized for on-screen reading and
+ provides a comfortable experience even with extensive texts.
+
+ {/* Medium card */}
+
+ {/* Small button */}
+
+ {/* Badge */}
+ ...
+
+
+```
+
+## DS-13. Seções Colapsáveis
+
+## Section System
+
+The application uses collapsible sections with different visual variants to organize related content.
+
+## Base Section
+
+### Section Structure
+
+```tsx
+