# Delivery Design System Delivery uses the **shared platform design system** (`@/components/ds`) with module-specific tokens only — no duplicated Button/Input/Dialog implementations. ## CSS tokens Defined in `frontend/styles/globals.css`: ```css --delivery-accent: #0891b2; /* light — logistics cyan */ --delivery-accent-soft: rgba(8, 145, 178, 0.12); --delivery-map: #0e7490; --delivery-success / warning / danger ``` Dark mode: `--delivery-accent: #22d3ee` **Rule:** Reference `var(--delivery-accent)` in module components; never hardcode hex. ## Module design-system (`modules/delivery/design-system/`) | Export | Purpose | |--------|---------| | `deliveryTokens` | Accent variable references | | `DeliveryStatusChip` | Driver + lifecycle status badges | | `DeliveryTablePage` | Search, sort, pagination wrapper | | `DeliveryStatGrid` | Dashboard stat cards row | | `lifecycleStatusLabels` | Persian labels for statuses | | `driverStatusLabels` | Driver-specific statuses | ## Layout patterns - **Portal shell:** Fixed RTL sidebar (desktop), drawer (mobile), sticky mobile header - **Page header:** Title + description + action slot - **CRUD list:** Table + create dialog + edit drawer + delete confirm - **Phase gate:** Centered card with phase badge — used instead of placeholder/mock data - **Map placeholder:** 16:9 aspect map canvas with marker/route badges ## Typography & spacing Inherited from platform DS and Tailwind utilities. Consistent `space-y-6` page rhythm, `rounded-2xl` cards, `p-4 lg:p-6` main padding. ## Icons Lucide React — consistent with other TorbatYar modules. ## Accessibility - `aria-label` on mobile menu and close buttons - Keyboard: Escape closes dialogs/drawers (DS default) - RTL-first breadcrumb and table alignment ## Dark mode Supported via `ColorModeProvider` toggle in portal shell; all surfaces use CSS variables. ## Future: shared/maps When `frontend/shared/maps/` is populated, Delivery map pages should import shared map components rather than extending `DeliveryMapPlaceholder`.