Build a full multi-page admin dashboard for a slot/game brand rental management system. Project requirements: 1. General - Use a dark neon orange theme. - Make the UI modern, clean, and responsive for desktop and mobile. - Use a left sidebar, topbar, cards, tables, modals, and chart panels. - Use HTML, CSS, vanilla JavaScript, Node.js, and Express. - Use JSON files as the main data source. 2. Pages Create these pages: - dashboard.html - customers.html - rentals.html - brands.html - games.html 3. Dashboard The dashboard must: - Show total customers - Show total brands - Show total game providers - Show total games - Show active customers - Show expiring brands - Show inactive brands - Show a recent brands table - Show charts using Chart.js Dashboard data should load from: - /api/brands-admin/summary 4. Customers page The customers page must: - Show all customers in a table - Display customer name, brand, file name, package, monthly price, status, and expiration date - Include actions: - Edit - +30 days - +60 days 5. Rentals page The rentals page must: - Show rental records - Display active, expiring, suspended, and inactive statuses - Show summary cards for rental health 6. Brands page The brands page must: - Show all brand JSON files in a left-side list - Include search by brand name, file name, or customer - Load one brand at a time in the editor - Edit fields like: - brand_name - theme - brand_image - bg_btn_play_game - favorite_icon - updated_at - folder_name - Edit rental fields: - customer_name - plan_name - price_per_month - expire_date - Include a live preview panel - Automatically load preview when a brand is selected - Support desktop/mobile preview toggle - Support reload preview - Support open preview in new tab 7. Provider enable/disable system Use gcFiltered inside each brand JSON file. Rules: - If a provider key exists in gcFiltered, that provider is disabled - If a provider key does not exist in gcFiltered, that provider is enabled The Brands page must: - Read provider data from games_center - Show a switch toggle for each provider - Save disabled providers back into gcFiltered 8. Games page The Game Manager page must: - Select a brand - Show providers on the left - Show provider logos - Show game cards in a grid - Support game search - Add provider - Add game - Edit game - Delete game - Support sections: - section_1 - section_2 - section_demo Game fields: - game_name - image - link - player - win_rate - scatter - wild Provider fields: - label - image - is_hot - sections 9. Backend API Build Express API endpoints: - GET /api/brands-admin/files - GET /api/brands-admin/file/:name - POST /api/brands-admin/save/:name - GET /api/brands-admin/summary - POST /api/brands-admin/create - POST /api/brands-admin/duplicate/:name - GET /api/brands-admin/js-files - POST /api/brands-admin/update-index-script/:name 10. JSON storage Store each brand as a JSON file in a brands folder. Support: - reading all brand files - saving edits - creating new brand files - duplicating brand files 11. Preview Use a base preview URL like: - https://slothack.bet/ Generate preview URLs from: - folder_name - slug - brand_slug - brand name fallback 12. Styling Use a dark orange neon admin style similar to a gaming SaaS panel. Use: - Inter - JetBrains Mono - Kanit - soft borders - glow buttons - rounded cards - responsive layout 13. Output Generate a complete working project structure with: - frontend HTML pages - shared CSS - shared admin.js - Express backend - JSON example files - chart rendering - responsive styles - comments in important code sections Build the Brands Management page with a clean brand list view. Each brand row should include Edit, Delete, and Duplicate actions. Detailed brand settings should not be shown immediately in the list view. Users should click Edit to open the full brand configuration screen, where they can manage brand details, rental information, provider visibility, and related settings. Create the Brand Management system using HTML, CSS, and JavaScript for the frontend, and run it with Node.js on the backend. The main Brands page should show a brand list with Edit, Delete, and Duplicate buttons for each item. Detailed brand configuration should open only when the user clicks Edit.