- Use CSS variables (bg-primary, text-primary, etc.) instead of hardcoded colors
- Both pages now properly follow light/dark theme preference
- Larger touch targets (44px+) for tablet/phone use
- Simplified controls and cleaner visual hierarchy
- Toggle checkboxes replaced with large tap-friendly buttons
- Slider with step=5 for easier touch adjustment
- Add cn import to UserMenu.tsx
- Add Plus import to RoomDetailPage.tsx
- Fix MOCK_ROOMS strains readonly type in DashboardPage.tsx
- Refactor RoomsPage.tsx with Control Room aesthetic
- BatchDetailPage: lifecycle timeline, KPI strip, tabbed interface
- TasksPage: operational command board with filtering sidebar
- AuditLogPage: System Ledger with clinical styling
- BatchesPage: Production Inventory with KPI cards
- Updated color tokens and typography across components
- Implemented DataTable for high-density inventory tracking
- Modernized Visitor Management with Live Manifest and Access Logs
- Applied 777 Wolfpack theme and motion transitions
- Standardized metrics with MetricCard and StatusBadge
- Restored original 777 Wolfpack logos and titles
- Corrected terminology in Navbar, Breadcrumbs, and Login Page
- Reverted cyber-themed labels to project-appropriate operations terms
- Implemented global page transitions (Framer Motion)
- Unified Data Views with new high-density DataTable primitive
- Refactored Navbar and Layout for 'Ersen OS' branding
- Modernized Login Page with premium split-screen design
- Upgraded System Primitives for consistent operational aesthetics
- Created centralized DataTable component with sorting and mobile-responsive columns
- Refactored BatchesPage to use DataTable instead of card grid
- Improved information density and scannability for operational data
- Updated StageBadge styling to match new system
- Added BentoGrid and BentoCard components for modular widget layout
- Refactored DashboardPage to use the new command center grid
- Improved visual hierarchy with large KPI cards and operational activity feeds
- Maintained responsive layout for mobile and desktop
- Extracted VisitorKioskShell from VisitorCheckIn
- Updated VisitorKioskPage to use shell for Home, Returning, and Success modes
- Implemented light-mode glassmorphism styles for Kiosk buttons
- Ensured consistent user experience across the entire Kiosk flow
- Implemented AuraUI 'Sign Up 1' as new Visitor Check-In flow
- Integrated high-tech split-screen layout with 'Secure Facility' branding
- Moved camera and form logic to self-contained VisitorCheckIn component
- Updated VisitorKioskPage to route to new experience
- Added historical stage calculation logic to PlantSystem
- Wired TimelineSlider date to 3D scene props
- Plants now visually progress through lifecycle stages (Clone -> Veg -> Flower) based on selected date
- Mocked planting dates deterministically based on plant ID seed
- Implemented responsive header with collapsible sidebar toggle
- Added mobile-optimized styles for PlantDataCard (full-width bottom sheet)
- Adjusted positioning of map controls and legend for mobile screens
- Added mobile interaction improvements (auto-close sidebar on select)
- Refined typography and spacing for touch targets
- Add sectionId to SearchResult interface
- Search handler now looks up section by ID first
- Falls back to code/name lookup for backwards compatibility
- Fixes beacon offset in Room B (duplicate section codes)
- Create coordinates.ts with centralized SCALE constant
- Add calculatePlantCoords() helper matching SmartRack grid logic
- Refactor all beacon position calcs to use helper
- Uses col*colSpacing where colSpacing = width/(maxCols+1)
- This matches how plants are actually rendered in PlantSystem
- Remove ROOM_FOCUS preset (wasn't rendering correctly)
- Keep Overhead and Isometric views which work well
- FocusTarget now zooms within current preset
- Text navigation provides room selection
- New HierarchyNav component with Facility→Building→Floor→Rooms path
- Back button and breadcrumb trail in nav header
- Replace old room list with drilldown navigation
- Each level shows children with chevron indicators
- Add sectionCode to PlantSearch SearchResult
- handleSearchSelect now passes room/section to selectedPlant.breadcrumb
- This makes breadcrumb visible in plant info panel
- Create HierarchyBreadcrumb component for navigation
- Fix SmartRack plant positioning within section bounds
- Add breadcrumb data to PlantPosition type
- Display breadcrumb path in plant selection panel
- Pass roomName through component hierarchy
- Create CameraPresets.tsx with preset views and UI selector
- Replace free camera controls with preset-based system
- Add smooth animated transitions between camera positions
- Update Facility3DViewerPage with preset selector buttons
- Remove unused WASD keyboard controls
- Replaces 3D viewer component with maintenance placeholder
- Preserves METRC integration and other active features
- Prevents application hard crash for users
- Added METRC status badge to BatchesPage
- Implemented real 3D Facility Viewer using React Three Fiber
- Visualizes plants, rooms, sections from live data
- Added seed-metrc-demo.js for populating realistic METRC plant data