diff --git a/src/components/KitchenInventory/GardenManagement/GardenManagementPage.jsx b/src/components/KitchenInventory/GardenManagement/GardenManagementPage.jsx
new file mode 100644
index 0000000000..507bbb1ae1
--- /dev/null
+++ b/src/components/KitchenInventory/GardenManagement/GardenManagementPage.jsx
@@ -0,0 +1,538 @@
+import { useState } from 'react';
+import { useSelector } from 'react-redux';
+import styles from './GardenManagementPage.module.css';
+
+const calendarEventsData = {
+ seeding: [
+ {
+ id: 1,
+ name: 'Tomatoes',
+ startDate: '2025-03-01',
+ endDate: '2025-03-15',
+ location: 'Indoor',
+ status: 'upcoming',
+ },
+ {
+ id: 2,
+ name: 'Peppers',
+ startDate: '2025-03-01',
+ endDate: '2025-03-15',
+ location: 'Indoor',
+ status: 'upcoming',
+ },
+ {
+ id: 3,
+ name: 'Lettuce',
+ startDate: '2025-02-15',
+ endDate: '2025-03-01',
+ location: 'Cold Frame',
+ status: 'active',
+ },
+ {
+ id: 4,
+ name: 'Carrots',
+ startDate: '2025-04-01',
+ endDate: '2025-04-15',
+ location: 'Garden Bed 1',
+ status: 'upcoming',
+ },
+ ],
+ transplanting: [
+ {
+ id: 1,
+ name: 'Tomatoes',
+ date: '2025-05-01',
+ from: 'Indoor',
+ to: 'Garden Pot A',
+ status: 'upcoming',
+ },
+ {
+ id: 2,
+ name: 'Peppers',
+ date: '2025-05-10',
+ from: 'Indoor',
+ to: 'Garden Pot B',
+ status: 'upcoming',
+ },
+ {
+ id: 3,
+ name: 'Cabbage',
+ date: '2025-04-20',
+ from: 'Cold Frame',
+ to: 'Garden Bed 2',
+ status: 'upcoming',
+ },
+ ],
+ succession: [
+ {
+ id: 1,
+ name: 'Lettuce',
+ lastSow: '2025-03-01',
+ nextSow: '2025-03-15',
+ interval: 'Every 14 days',
+ status: 'active',
+ },
+ {
+ id: 2,
+ name: 'Radishes',
+ lastSow: '2025-03-10',
+ nextSow: '2025-03-24',
+ interval: 'Every 14 days',
+ status: 'active',
+ },
+ {
+ id: 3,
+ name: 'Beans',
+ lastSow: '2025-05-01',
+ nextSow: '2025-05-15',
+ interval: 'Every 14 days',
+ status: 'upcoming',
+ },
+ ],
+ harvesting: [
+ { id: 1, name: 'Tomatoes', expected: '2025-07-15', yield: '80 lbs', status: 'growing' },
+ { id: 2, name: 'Carrots', expected: '2025-06-01', yield: '50 lbs', status: 'growing' },
+ { id: 3, name: 'Lettuce', expected: '2025-04-20', yield: '30 lbs', status: 'growing' },
+ { id: 4, name: 'Basil', expected: '2025-06-10', yield: '15 lbs', status: 'growing' },
+ ],
+};
+
+const seedInventoryData = [
+ {
+ id: 1,
+ name: 'Tomato Seeds (Heirloom)',
+ collectedDate: '2024-09-15',
+ quantity: 250,
+ viable: 95,
+ },
+ { id: 2, name: 'Carrot Seeds', collectedDate: '2024-08-20', quantity: 180, viable: 88 },
+ { id: 3, name: 'Lettuce Seeds', collectedDate: '2024-07-10', quantity: 320, viable: 92 },
+ { id: 4, name: 'Basil Seeds', collectedDate: '2024-09-01', quantity: 150, viable: 90 },
+];
+
+const seedOrdersData = [
+ {
+ id: 'ORD-001',
+ supplier: 'GreenThumb Seeds Co.',
+ items: [
+ { name: 'Heirloom Tomato Seeds', qty: 5, unit: 'packets' },
+ { name: 'Basil Seeds', qty: 3, unit: 'packets' },
+ ],
+ orderDate: '2025-02-10',
+ deliveryDate: '2025-02-20',
+ status: 'pending',
+ },
+ {
+ id: 'ORD-002',
+ supplier: "Nature's Best Nursery",
+ items: [
+ { name: 'Carrot Seeds', qty: 10, unit: 'packets' },
+ { name: 'Lettuce Seeds', qty: 6, unit: 'packets' },
+ ],
+ orderDate: '2025-02-15',
+ deliveryDate: '2025-02-25',
+ status: 'received',
+ },
+ {
+ id: 'ORD-003',
+ supplier: 'Organic Farm Supply',
+ items: [{ name: 'Pepper Seeds', qty: 4, unit: 'packets' }],
+ orderDate: '2025-02-18',
+ deliveryDate: '2025-03-01',
+ status: 'pending',
+ },
+];
+
+const onlineToolsData = [
+ {
+ id: 1,
+ name: 'Gardenate',
+ description: 'Plan your vegetable garden with a planting calendar tailored to your climate.',
+ features: ['Planting calendar', 'Climate-based suggestions', 'Monthly reminders'],
+ url: 'https://www.gardenate.com',
+ icon: '🌱',
+ },
+ {
+ id: 2,
+ name: "Old Farmer's Almanac Garden Planner",
+ description: 'Drag-and-drop garden layout tool with companion planting suggestions.',
+ features: ['Garden layout designer', 'Companion planting', 'Frost date calculator'],
+ url: 'https://www.almanac.com/garden/planner',
+ icon: '📅',
+ },
+ {
+ id: 3,
+ name: 'SeedSavers Exchange',
+ description: 'Find and exchange rare and heirloom seeds from a global community.',
+ features: ['Seed library', 'Heirloom varieties', 'Community exchange'],
+ url: 'https://www.seedsavers.org',
+ icon: '🫘',
+ },
+ {
+ id: 4,
+ name: "Dave's Garden",
+ description: 'Comprehensive plant database and gardening community forum.',
+ features: ['Plant database', 'Gardening forum', 'Plant reviews'],
+ url: 'https://davesgarden.com',
+ icon: '🌿',
+ },
+];
+
+const StatCard = ({ label, value, icon, bgColor, darkMode }) => (
+
+);
+
+const CalendarEventCard = ({ event, type }) => {
+ const getStatusClass = status => {
+ if (status === 'active') return styles.statusActive;
+ if (status === 'upcoming') return styles.statusUpcoming;
+ if (status === 'growing') return styles.statusGrowing;
+ return '';
+ };
+
+ return (
+
+
+ {event.name}
+
+ {event.status}
+
+
+ {type === 'seeding' && (
+
+
+ Start: {event.startDate} - End: {event.endDate}
+
+
Location: {event.location}
+
+ )}
+ {type === 'transplanting' && (
+
+
Date: {event.date}
+
+ Move: {event.from} → {event.to}
+
+
+ )}
+ {type === 'succession' && (
+
+
Last sow: {event.lastSow}
+
+ Next sow: {event.nextSow} ({event.interval})
+
+
+ )}
+ {type === 'harvesting' && (
+
+
Expected: {event.expected}
+
Yield: {event.yield}
+
+ )}
+
+ );
+};
+
+const CalendarSection = ({ title, events, type, icon, darkMode }) => {
+ const getButtonText = () => {
+ switch (type) {
+ case 'seeding':
+ return '+ Add Seeding';
+ case 'transplanting':
+ return '+ Schedule Transplant';
+ case 'succession':
+ return '+ Add Succession Plan';
+ case 'harvesting':
+ return '+ Log Harvest';
+ default:
+ return '+ Add Event';
+ }
+ };
+
+ const getSubtitle = () => {
+ switch (type) {
+ case 'seeding':
+ return 'Upcoming seed starting schedule';
+ case 'transplanting':
+ return 'Scheduled transplant dates';
+ case 'succession':
+ return 'Continuous planting schedule';
+ case 'harvesting':
+ return 'Expected harvest dates and yields';
+ default:
+ return '';
+ }
+ };
+
+ return (
+
+
+
+ {icon} {title}
+
+
+
+
{getSubtitle()}
+
+ {events.map(event => (
+
+ ))}
+
+
+ );
+};
+
+const SeedInventoryCard = ({ seed }) => (
+
+
🌱
+
+
{seed.name}
+
Collected: {seed.collectedDate}
+
+
+
{seed.quantity} seeds
+
{seed.viable}% viable
+
+
+);
+
+const SeedOrderCard = ({ order }) => {
+ const getStatusClass = status =>
+ status === 'pending' ? styles.statusPending : styles.statusReceived;
+
+ const getStatusLabel = status => (status === 'pending' ? '⏳ Pending' : '✅ Received');
+
+ return (
+
+
+
+ {order.id}
+ {order.supplier}
+
+
+ {getStatusLabel(order.status)}
+
+
+
+ {order.items.map((item, idx) => (
+
+ {item.name} × {item.qty} {item.unit}
+
+ ))}
+
+
+ 📦 Ordered: {order.orderDate}
+ 🚚 Delivery: {order.deliveryDate}
+
+
+
+ {order.status === 'pending' && (
+
+ )}
+
+
+ );
+};
+
+const OnlineToolCard = ({ tool }) => (
+
+
{tool.icon}
+
+
{tool.name}
+
{tool.description}
+
+ {tool.features.map((f, idx) => (
+ - ✓ {f}
+ ))}
+
+
+
+ Visit Tool →
+
+
+);
+
+function GardenManagementPage() {
+ const [activeTab, setActiveTab] = useState('calendars');
+ // const [darkMode, setDarkMode] = useState(false);
+ const darkMode = useSelector(state => state.theme?.darkMode ?? false);
+
+ const containerClass = `${styles.container} ${darkMode ? styles.containerDark : ''}`;
+
+ return (
+
+
+ Garden Management
+
+ Manage seeds, plan seasonal calendars, and track garden productivity
+
+
+ {/* Summary Cards */}
+
+
+
+
+ o.status === 'pending').length}
+ icon="🛒"
+ bgColor={darkMode ? '#0d3b66' : '#e3f2fd'}
+ darkMode={darkMode}
+ />
+
+
+ {/* Tabs */}
+
+ {[
+ { id: 'calendars', label: 'Calendars' },
+ { id: 'seed-inventory', label: 'Seed Inventory' },
+ { id: 'seed-orders', label: 'Seed Orders' },
+ { id: 'online-tools', label: 'Online Tools' },
+ ].map(tab => (
+
+ ))}
+
+
+ {/* Calendars Section */}
+ {activeTab === 'calendars' && (
+
+
+
+
+
+
+ )}
+
+ {/* Seed Inventory Section */}
+ {activeTab === 'seed-inventory' && (
+
+
+
+
Seed Collection
+
+ Seeds collected from the garden for next season
+
+
+
+
+
+ {seedInventoryData.map(seed => (
+
+ ))}
+
+
+ )}
+
+ {/* Seed Orders Section */}
+ {activeTab === 'seed-orders' && (
+
+
+
+
Seed Orders
+
Recent seed orders and delivery status
+
+
+
+
⏳ Pending Orders
+
+ {seedOrdersData
+ .filter(o => o.status === 'pending')
+ .map(order => (
+
+ ))}
+
+
✅ Received Orders
+
+ {seedOrdersData
+ .filter(o => o.status === 'received')
+ .map(order => (
+
+ ))}
+
+
+ )}
+
+ {/* Online Tools Section */}
+ {activeTab === 'online-tools' && (
+
+
+
+
Online Garden Tools
+
Helpful external tools for garden planning
+
+
+
+ {onlineToolsData.map(tool => (
+
+ ))}
+
+
+ )}
+
+
+ );
+}
+
+export default GardenManagementPage;
diff --git a/src/components/KitchenInventory/GardenManagement/GardenManagementPage.module.css b/src/components/KitchenInventory/GardenManagement/GardenManagementPage.module.css
new file mode 100644
index 0000000000..2ecd70f2cd
--- /dev/null
+++ b/src/components/KitchenInventory/GardenManagement/GardenManagementPage.module.css
@@ -0,0 +1,917 @@
+/* Container */
+.container {
+ min-height: 100vh;
+ background-color: #f8f9fa;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
+}
+
+.containerDark {
+ background-color: #1a1a2e;
+ color: #e0e0e0;
+}
+
+/* Header */
+.header {
+ background-color: #fff;
+ border-bottom: 1px solid #e0e0e0;
+ padding: 12px 24px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ gap: 12px;
+}
+
+.containerDark .header {
+ background-color: #16213e;
+ border-bottom-color: #2a2a4a;
+}
+
+.logo {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+}
+
+.logoIcon {
+ width: 36px;
+ height: 36px;
+ background-color: #2e7d32;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-weight: bold;
+ font-size: 14px;
+}
+
+.logoText {
+ margin: 0;
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+}
+
+.containerDark .logoText {
+ color: #e0e0e0;
+}
+
+.logoSubtext {
+ margin: 0;
+ font-size: 11px;
+ color: #666;
+}
+
+.containerDark .logoSubtext {
+ color: #aaa;
+}
+
+.nav {
+ display: flex;
+ gap: 24px;
+ flex-wrap: wrap;
+}
+
+.navLink {
+ color: #666;
+ text-decoration: none;
+ font-size: 14px;
+ cursor: pointer;
+ transition: color 0.2s;
+}
+
+.navLink:hover {
+ color: #2e7d32;
+}
+
+.containerDark .navLink {
+ color: #aaa;
+}
+
+.darkModeToggle {
+ padding: 8px 12px;
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background: #fff;
+ cursor: pointer;
+ font-size: 14px;
+}
+
+.containerDark .darkModeToggle {
+ background: #2a2a4a;
+ border-color: #3a3a5a;
+ color: #e0e0e0;
+}
+
+/* Main */
+.main {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 24px;
+}
+
+.pageTitle {
+ font-size: 28px;
+ font-weight: 600;
+ color: #333;
+ margin: 0 0 8px;
+}
+
+.containerDark .pageTitle {
+ color: #e0e0e0;
+}
+
+.pageSubtitle {
+ color: #666;
+ margin: 0 0 24px;
+ font-size: 14px;
+}
+
+.containerDark .pageSubtitle {
+ color: #aaa;
+}
+
+/* Stats Grid */
+.statsGrid {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 16px;
+ margin-bottom: 24px;
+}
+
+@media (width <= 1024px) {
+ .statsGrid {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+
+@media (width <= 600px) {
+ .statsGrid {
+ grid-template-columns: 1fr;
+ }
+}
+
+.statCard {
+ background-color: #fff;
+ border-radius: 8px;
+ padding: 20px;
+ box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.containerDark .statCard {
+ background-color: #16213e;
+ box-shadow: 0 1px 3px rgb(0 0 0 / 30%);
+}
+
+.statLabel {
+ color: #666;
+ font-size: 13px;
+ margin: 0 0 6px;
+}
+
+.containerDark .statLabel {
+ color: #aaa;
+}
+
+.statValue {
+ font-size: 28px;
+ font-weight: 600;
+ color: #333;
+ margin: 0;
+}
+
+.containerDark .statValue {
+ color: #e0e0e0;
+}
+
+.statIcon {
+ width: 48px;
+ height: 48px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 22px;
+}
+
+/* Tabs */
+.tabs {
+ display: flex;
+ gap: 8px;
+ border-bottom: 2px solid #e0e0e0;
+ margin-bottom: 24px;
+ overflow-x: auto;
+}
+
+.containerDark .tabs {
+ border-bottom-color: #2a2a4a;
+}
+
+.tab {
+ padding: 12px 20px;
+ border: none;
+ background: none;
+ cursor: pointer;
+ font-size: 14px;
+ color: #666;
+ border-bottom: 3px solid transparent;
+ margin-bottom: -2px;
+ white-space: nowrap;
+ transition: all 0.2s;
+ font-weight: 500;
+}
+
+.tab:hover {
+ color: #2e7d32;
+}
+
+.containerDark .tab {
+ color: #aaa;
+}
+
+.tabActive {
+ color: #2e7d32;
+ border-bottom-color: #2e7d32;
+ font-weight: 600;
+}
+
+/* Calendars Grid */
+.calendarsGrid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 24px;
+}
+
+@media (width <= 900px) {
+ .calendarsGrid {
+ grid-template-columns: 1fr;
+ }
+}
+
+/* Calendar Card */
+.calendarCard {
+ background-color: #fff;
+ border-radius: 12px;
+ box-shadow: 0 2px 8px rgb(0 0 0 / 8%);
+ padding: 24px;
+ border-top: 4px solid #2e7d32;
+}
+
+.containerDark .calendarCard {
+ background-color: #16213e;
+ box-shadow: 0 2px 8px rgb(0 0 0 / 30%);
+ border-top-color: #4caf50;
+}
+
+.calendarHeader {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 12px;
+ gap: 12px;
+}
+
+.calendarTitle {
+ font-size: 18px;
+ font-weight: 600;
+ color: #333;
+ margin: 0;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.containerDark .calendarTitle {
+ color: #e0e0e0;
+}
+
+.addButton {
+ padding: 8px 16px;
+ background-color: #2e7d32;
+ color: #fff;
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 13px;
+ font-weight: 500;
+ transition: background-color 0.2s;
+ white-space: nowrap;
+}
+
+.addButton:hover {
+ background-color: #1b5e20;
+}
+
+.calendarSubtitle {
+ color: #999;
+ font-size: 13px;
+ margin: 0 0 20px;
+}
+
+.containerDark .calendarSubtitle {
+ color: #aaa;
+}
+
+/* Events Container */
+.eventsContainer {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+/* Event Card */
+.eventCard {
+ background-color: #f9fafb;
+ border-radius: 8px;
+ padding: 16px;
+ border-left: 4px solid #2e7d32;
+ transition: all 0.2s;
+}
+
+.eventCard:hover {
+ background-color: #f1f3f4;
+ box-shadow: 0 2px 6px rgb(0 0 0 / 8%);
+}
+
+.containerDark .eventCard {
+ background-color: #2e3a52;
+ border-left-color: #4caf50;
+}
+
+.containerDark .eventCard:hover {
+ background-color: #1e2d4a;
+}
+
+.eventHeader {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 10px;
+ gap: 12px;
+ flex-wrap: wrap;
+}
+
+.eventName {
+ font-weight: 600;
+ color: #333;
+ font-size: 15px;
+}
+
+.containerDark .eventName {
+ color: #e0e0e0;
+}
+
+/* Status Badges */
+.statusBadge {
+ padding: 4px 10px;
+ border-radius: 12px;
+ font-size: 11px;
+ font-weight: 600;
+ text-transform: lowercase;
+}
+
+.statusActive {
+ background-color: #1a1a1a;
+ color: #fff;
+}
+
+.statusUpcoming {
+ background-color: #e8f5e9;
+ color: #2e7d32;
+}
+
+.statusGrowing {
+ background-color: #e8f5e9;
+ color: #2e7d32;
+}
+
+.containerDark .statusActive {
+ background-color: #333;
+ color: #fff;
+}
+
+.containerDark .statusUpcoming,
+.containerDark .statusGrowing {
+ background-color: #1b4332;
+ color: #81c784;
+}
+
+/* Event Details */
+.eventDetails {
+ color: #666;
+ font-size: 13px;
+ line-height: 1.6;
+}
+
+.containerDark .eventDetails {
+ color: #aaa;
+}
+
+.eventDetails p {
+ margin: 4px 0;
+}
+
+.containerDark .eventDetails p {
+ color: #c5d2e7;
+}
+
+/* Empty State */
+.emptyState {
+ text-align: center;
+ padding: 80px 20px;
+ color: #999;
+ background-color: #fff;
+ border-radius: 12px;
+ margin-top: 20px;
+ font-size: 15px;
+}
+
+.containerDark .emptyState {
+ background-color: #16213e;
+ color: #aaa;
+}
+
+/* Responsive */
+@media (width <= 768px) {
+ .header {
+ padding: 12px 16px;
+ }
+
+ .nav {
+ gap: 12px;
+ font-size: 13px;
+ }
+
+ .main {
+ padding: 16px;
+ }
+
+ .pageTitle {
+ font-size: 22px;
+ }
+
+ .calendarHeader {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ .addButton {
+ width: 100%;
+ }
+
+ .statCard {
+ padding: 16px;
+ }
+
+ .statValue {
+ font-size: 24px;
+ }
+
+ .statIcon {
+ width: 40px;
+ height: 40px;
+ font-size: 18px;
+ }
+}
+
+/* ========== SEED INVENTORY SECTION ========== */
+
+.seedInventorySection {
+ margin-top: 20px;
+}
+
+.sectionHeader {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ margin-bottom: 24px;
+ gap: 16px;
+ flex-wrap: wrap;
+}
+
+.sectionTitle {
+ font-size: 20px;
+ font-weight: 600;
+ color: #333;
+ margin: 0 0 4px;
+}
+
+.containerDark .sectionTitle {
+ color: #e0e0e0;
+}
+
+.sectionSubtitle {
+ color: #999;
+ font-size: 14px;
+ margin: 0;
+}
+
+.containerDark .sectionSubtitle {
+ color: #aaa;
+}
+
+.addSeedsButton {
+ padding: 10px 20px;
+ background-color: #2e7d32;
+ color: #fff;
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 14px;
+ font-weight: 500;
+ transition: background-color 0.2s;
+}
+
+.addSeedsButton:hover {
+ background-color: #1b5e20;
+}
+
+.seedsList {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+.seedCard {
+ background-color: #f0f7f0;
+ border-radius: 8px;
+ padding: 16px 20px;
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ transition: all 0.2s;
+ border: 1px solid #e0e0e0;
+}
+
+.seedCard:hover {
+ box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
+ transform: translateY(-1px);
+}
+
+.containerDark .seedCard {
+ background-color: #1a2744;
+ border-color: #2a2a4a;
+}
+
+.containerDark .seedCard:hover {
+ box-shadow: 0 2px 8px rgb(0 0 0 / 30%);
+}
+
+.seedIcon {
+ width: 48px;
+ height: 48px;
+ background-color: #e8f5e9;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24px;
+ flex-shrink: 0;
+}
+
+.containerDark .seedIcon {
+ background-color: #1b4332;
+}
+
+.seedInfo {
+ flex: 1;
+}
+
+.seedName {
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+ margin-bottom: 4px;
+}
+
+.containerDark .seedName {
+ color: #e0e0e0;
+}
+
+.seedDate {
+ font-size: 13px;
+ color: #999;
+}
+
+.containerDark .seedDate {
+ color: #aaa;
+}
+
+.seedStats {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+}
+
+.seedQuantity {
+ font-size: 15px;
+ font-weight: 600;
+ color: #333;
+}
+
+.containerDark .seedQuantity {
+ color: #e0e0e0;
+}
+
+.viabilityBadge {
+ background-color: #e8f5e9;
+ color: #2e7d32;
+ padding: 4px 10px;
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 600;
+}
+
+.containerDark .viabilityBadge {
+ background-color: #1b4332;
+ color: #81c784;
+}
+
+@media (width <= 768px) {
+ .sectionHeader {
+ flex-direction: column;
+ align-items: stretch;
+ }
+
+ .addSeedsButton {
+ width: 100%;
+ }
+
+ .seedCard {
+ flex-wrap: wrap;
+ }
+
+ .seedStats {
+ width: 100%;
+ justify-content: space-between;
+ }
+}
+
+/* ========== SEED ORDERS SECTION ========== */
+.seedOrdersSection {
+ margin-top: 20px;
+}
+
+.orderGroupTitle {
+ font-size: 16px;
+ font-weight: 600;
+ color: #555;
+ margin: 20px 0 12px;
+}
+
+.containerDark .orderGroupTitle {
+ color: #aaa;
+}
+
+.ordersList {
+ display: flex;
+ flex-direction: column;
+ gap: 14px;
+}
+
+.orderCard {
+ background-color: #fff;
+ border-radius: 10px;
+ padding: 18px 20px;
+ box-shadow: 0 1px 4px rgb(0 0 0 / 8%);
+ border: 1px solid #e0e0e0;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+.containerDark .orderCard {
+ background-color: #16213e;
+ border-color: #2a2a4a;
+}
+
+.orderHeader {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 8px;
+}
+
+.orderId {
+ font-size: 12px;
+ color: #999;
+ margin-right: 10px;
+ font-weight: 500;
+}
+
+.containerDark .orderId {
+ color: #aaa;
+}
+
+.orderSupplier {
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+}
+
+.containerDark .orderSupplier {
+ color: #e0e0e0;
+}
+
+.orderStatusBadge {
+ padding: 4px 12px;
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 600;
+}
+
+.statusPending {
+ background-color: #fff3e0;
+ color: #e65100;
+}
+
+.statusReceived {
+ background-color: #e8f5e9;
+ color: #2e7d32;
+}
+
+.containerDark .statusPending {
+ background-color: #3e2000;
+ color: #ffb74d;
+}
+
+.containerDark .statusReceived {
+ background-color: #1b4332;
+ color: #81c784;
+}
+
+.orderItems {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+}
+
+.orderItemTag {
+ background-color: #f1f8e9;
+ color: #33691e;
+ padding: 4px 10px;
+ border-radius: 6px;
+ font-size: 12px;
+ font-weight: 500;
+}
+
+.containerDark .orderItemTag {
+ background-color: #1b3320;
+ color: #a5d6a7;
+}
+
+.orderDates {
+ display: flex;
+ gap: 20px;
+ font-size: 13px;
+ color: #666;
+ flex-wrap: wrap;
+}
+
+.containerDark .orderDates {
+ color: #aaa;
+}
+
+.orderActions {
+ display: flex;
+ gap: 10px;
+ flex-wrap: wrap;
+}
+
+.viewDetailsBtn {
+ padding: 8px 16px;
+ background-color: transparent;
+ border: 1px solid #2e7d32;
+ color: #2e7d32;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 13px;
+ font-weight: 500;
+ transition: all 0.2s;
+}
+
+.viewDetailsBtn:hover {
+ background-color: #2e7d32;
+ color: #fff;
+}
+
+.markReceivedBtn {
+ padding: 8px 16px;
+ background-color: #2e7d32;
+ color: #fff;
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 13px;
+ font-weight: 500;
+ transition: background-color 0.2s;
+}
+
+.markReceivedBtn:hover {
+ background-color: #1b5e20;
+}
+
+/* ========== ONLINE TOOLS SECTION ========== */
+.onlineToolsSection {
+ margin-top: 20px;
+}
+
+.toolsGrid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 20px;
+}
+
+@media (width <= 768px) {
+ .toolsGrid {
+ grid-template-columns: 1fr;
+ }
+}
+
+.toolCard {
+ background-color: #fff;
+ border-radius: 10px;
+ padding: 20px;
+ box-shadow: 0 1px 4px rgb(0 0 0 / 8%);
+ border: 1px solid #e0e0e0;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ transition: box-shadow 0.2s;
+}
+
+.toolCard:hover {
+ box-shadow: 0 4px 12px rgb(0 0 0 / 12%);
+}
+
+.containerDark .toolCard {
+ background-color: #16213e;
+ border-color: #2a2a4a;
+}
+
+.toolIcon {
+ font-size: 32px;
+}
+
+.toolName {
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+ margin: 0 0 6px;
+}
+
+.containerDark .toolName {
+ color: #e0e0e0;
+}
+
+.toolDescription {
+ font-size: 13px;
+ color: #666;
+ margin: 0 0 10px;
+ line-height: 1.5;
+}
+
+.containerDark .toolDescription {
+ color: #aaa;
+}
+
+.toolFeatures {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ flex-direction: column;
+ gap: 4px;
+}
+
+.toolFeatures li {
+ font-size: 12px;
+ color: #2e7d32;
+ font-weight: 500;
+}
+
+.containerDark .toolFeatures li {
+ color: #81c784;
+}
+
+.toolLink {
+ display: inline-block;
+ padding: 8px 16px;
+ background-color: #2e7d32;
+ color: #fff;
+ border-radius: 6px;
+ text-decoration: none;
+ font-size: 13px;
+ font-weight: 500;
+ text-align: center;
+ transition: background-color 0.2s;
+}
+
+.toolLink:hover {
+ background-color: #1b5e20;
+}
\ No newline at end of file
diff --git a/src/routes.jsx b/src/routes.jsx
index e455294c76..d3667bae0f 100644
--- a/src/routes.jsx
+++ b/src/routes.jsx
@@ -42,6 +42,7 @@ import EDailyActivityLog from './components/BMDashboard/Equipment/DailyActivityL
import EquipmentUpdateLog from './components/BMDashboard/Equipment/EHistory';
import LogTools from './components/BMDashboard/LogTools/LogTools';
import OrdersPage from './components/KitchenInventory/Orders/OrdersPage';
+import GardenManagementPage from './components/KitchenInventory/GardenManagement/GardenManagementPage';
import Toolslist from './components/BMDashboard/Tools/ToolsList';
import AddTool from './components/BMDashboard/Tools/AddTool';
import EquipmentUpdate from './components/BMDashboard/Tools/EquipmentUpdate';
@@ -988,6 +989,10 @@ export default (
+