| Button | 9 variants (primary, secondary, accent, danger, ghost, outline, success, dark, darkOutline), 3 sizes (sm, md, lg), loading state, 400ms debounce | Most used component |
| Input | 3 sizes, label, error message, helper text, left/right icons, password toggle | Controlled components only |
| Card | Default with shadow, hover variant, clickable variant | 1.25rem border-radius |
| Select | Native select wrapper, label, error state | No custom dropdown |
| Badge | 6 color variants (success, danger, warning, info, neutral, accent) | Uppercase, 11px |
| Skeleton | 4 types (line, circle, card, table row) | Pulse animation |
| Textarea | Auto-resize, character count, max length | Same styling as Input |
| SearchableSelect | Dropdown with search filter, async loading | Used for farmer/product selection |
| ConfirmModal | Destructive action confirmation, customizable message | Red confirm button for danger actions |
| SearchBar | 250ms debounce, clear button, search icon | Used in all list views |
| FarmerAvatar | Initials-based avatar, color derived from name hash | 2 sizes |
| Calendar | Month view, date selection, event indicators | Custom built (no library) |
| AquaLoader | Full-screen and inline variants, water drop animation | Brand-themed loading |
| BranchColorPicker | 7 theme color selection, visual preview | Used in branch settings |
| EmptyState | Illustration + message + action button | Consistent empty states |
| DatePicker | Single date selection, min/max constraints | Native input[type=date] on mobile |
| DateRangeFilter | Preset ranges (Today, 7d, 30d, Custom) | Used in reports/lists |
| SyncStatusIndicator | Online/offline/syncing states | Shows in header area |
| UniversalSearchModal | Ctrl+K triggered, searches farmers/products/bills | Keyboard navigable |
| NotificationsDropdown | Bell icon, unread count badge | Stock alerts, system notices |
| ListLoadMore | "Load more" button with loading state | Replaces infinite scroll |
| ReloadPrompt | PWA update available notification | "New version available" toast |
| Modal | Portal-based, focus trap, escape close, slide-up on mobile / scale-in on desktop | Uses Radix Dialog primitives |