based on this inf database (-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Jan 03, 2025 at 01:22 PM
-- Server version: 10.11.10-MariaDB
-- PHP Version: 7.2.34

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `u406552082_kaakalia`
--

-- --------------------------------------------------------

--
-- Table structure for table `ads`
--

CREATE TABLE `ads` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `ad_type` enum('Post','Story') NOT NULL,
  `related_id` int(11) NOT NULL,
  `budget` decimal(10,2) NOT NULL,
  `total_spent` decimal(10,2) DEFAULT 0.00,
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  `status` enum('Active','Paused','Completed') DEFAULT 'Active',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `ad_spend_logs`
--

CREATE TABLE `ad_spend_logs` (
  `id` int(11) NOT NULL,
  `ad_id` int(11) NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `spend_date` datetime DEFAULT current_timestamp(),
  `description` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `customers`
--

CREATE TABLE `customers` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `contact` varchar(50) DEFAULT NULL,
  `delivery_address` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `customers`
--

INSERT INTO `customers` (`id`, `name`, `contact`, `delivery_address`) VALUES
(1, 'Order_3121', '012345689', 'Qena'),
(2, 'order_3212', '51648963', 'Luxor'),
(3, 'Order_323', '01119235049', 'Qena, Egypt'),
(4, 'Order_3231', '0155648963', 'Luxor'),
(5, 'Order_3548464852', '0110215489', 'Qena'),
(6, 'Order_mahmoud', '50495049', 'Qena'),
(7, 'Ahmed', '01119235049', 'Assuit'),
(8, 'Mahmoud Tawfik', '01119235049', 'Qena, Center Qena'),
(9, 'Ahmed', '0101549463', 'Luxor'),
(10, 'Yossef', '0154949463', 'Aswan'),
(11, 'Mona', '0154984315', 'Qena'),
(12, 'Order_132323', '0119548463', 'CXA'),
(13, 'Mostafa', '154946123', 'Assuit'),
(14, 'Order_66960907', '+96566960907', 'kuwait'),
(15, 'Order_84569845', '+96584569845', 'Kuwait'),
(16, 'Order_84656222', '+96584656222', 'Mashrif'),
(17, 'Order_84549651', '+96584549651', 'Luxor'),
(18, 'Order_94531154', '+96594531154', 'Qena'),
(19, 'Order_56123548', '+96556123548', ''),
(20, 'Order_84562148', '+96584562148', NULL),
(21, 'Order_54632154', '+96554632154', 'Luxor'),
(22, 'Order_84561254', '+96584561254', 'Qena'),
(23, 'Order_54563154', '+96554563154', 'Qena'),
(24, 'Order_21312312', '+96521312312', 'qena'),
(25, 'Order_8485684', '+9658485684', ''),
(26, 'Order_54865215', '+96554865215', 'Meshrfi');

-- --------------------------------------------------------

--
-- Table structure for table `deals`
--

CREATE TABLE `deals` (
  `id` int(11) NOT NULL,
  `influencer_id` int(11) NOT NULL,
  `deal_type` enum('Sponsorship','Booth','Other') NOT NULL,
  `description` text DEFAULT NULL,
  `compensation` decimal(10,2) DEFAULT 0.00,
  `status` enum('Pending','Confirmed','Completed','Cancelled') DEFAULT 'Pending',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `drivers`
--

CREATE TABLE `drivers` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `number` varchar(15) NOT NULL,
  `is_star` tinyint(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `drivers`
--

INSERT INTO `drivers` (`id`, `name`, `number`, `is_star`) VALUES
(1, 'Fox ØªÙˆØµÙŠÙ„', '+965 9944 6116', 0),
(2, 'Perfect M ØªÙˆØµÙŠÙ„ 3kd', '+965 555 72147', 0),
(3, 'ØªÙˆØµÙŠÙ„ Ù¥', '+965 505 02769', 0),
(4, 'Shipping Company ØªÙˆØµÙŠÙ„ Delivery', '+965 9940 7010', 0),
(5, 'ØªÙˆØµÙŠÙ„ÙƒÙ… ØªÙˆØµÙŠÙ„ Delivery', '+965 517 66244', 0),
(6, 'ØªÙˆØµÙŠÙ„ Ø§Ù„ÙƒÙˆÙŠØª Ù¢', '+965 557 25712', 0),
(7, 'ØªÙˆØµÙŠÙ„ Ø§Ù„ÙƒÙˆÙŠØª 2.5kd', '+965 6049 4960', 0),
(8, 'ÙƒÙ„Ø§Ø³Ùƒ ØªÙˆØµÙŠÙ„', '+965 6969 1459', 0),
(9, 'Ø³Ø§ÙŠÙ‚ On Call5 Delivery Freelance', '+965 6698 8976', 1),
(10, 'Ø³Ø§ÙŠÙ‚ On Call 3 Delivery Freelance', '+965 555 86442', 0),
(11, 'Ø³Ø§ÙŠÙ‚ On Call 2 Delivery Freelance', '+965 555 12101', 0),
(12, 'Delivery ØªÙˆØµÙŠÙ„', '+965 9851 8182', 0),
(13, 'Kumar Driver', '+965 6673 8688', 1),
(14, 'Pawan Driver', '+965 9733 1565', 0),
(15, 'ØªÙˆØµÙŠÙ„ - ØµÙ„Ø§Ø­', '+965 6576 2337', 0);

-- --------------------------------------------------------

--
-- Table structure for table `influencers`
--

CREATE TABLE `influencers` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `contact_number` varchar(50) NOT NULL,
  `contact_info` varchar(255) NOT NULL,
  `address` text NOT NULL,
  `social_media` varchar(255) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `delivery_datetime` datetime DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `influencers`
--

INSERT INTO `influencers` (`id`, `name`, `contact_number`, `contact_info`, `address`, `social_media`, `notes`, `delivery_datetime`, `created_at`, `updated_at`) VALUES
(3, 'Ahmed', '2112121', 'mahmoud@mail.com', 'Qena', 'instagram', 'qwq', '2024-12-09 12:00:00', '2024-12-02 09:41:07', '2024-12-02 09:41:07');

-- --------------------------------------------------------

--
-- Table structure for table `interactions`
--

CREATE TABLE `interactions` (
  `id` int(11) NOT NULL,
  `influencer_id` int(11) NOT NULL,
  `interaction_date` datetime NOT NULL,
  `method` enum('Email','Phone','In-Person','Social Media','Other') NOT NULL,
  `notes` text DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `notifications`
--

CREATE TABLE `notifications` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `type` enum('order','post','plan','note','ad') NOT NULL,
  `message` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  `created_at` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `orders`
--

CREATE TABLE `orders` (
  `id` int(11) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `status` enum('Pending','In Progress','Completed','Delivered') DEFAULT 'Pending',
  `priority` enum('Normal','Important','Quick') DEFAULT 'Normal',
  `order_date` datetime DEFAULT current_timestamp(),
  `delivery_datetime` datetime DEFAULT NULL,
  `delivery_date` date DEFAULT NULL,
  `delivery_fee` decimal(10,2) NOT NULL DEFAULT 0.00,
  `free_shipping` tinyint(1) NOT NULL DEFAULT 0,
  `is_paid` tinyint(1) NOT NULL DEFAULT 0,
  `pickup` tinyint(1) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `order_items`
--

CREATE TABLE `order_items` (
  `id` int(11) NOT NULL,
  `order_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `quantity` int(11) NOT NULL DEFAULT 1,
  `packaging_preferences` varchar(255) DEFAULT NULL,
  `discount_percentage` decimal(5,2) DEFAULT 0.00,
  `discount_reason` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `products`
--

CREATE TABLE `products` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `size` varchar(50) DEFAULT NULL,
  `price` decimal(10,2) NOT NULL,
  `category` varchar(50) DEFAULT NULL,
  `thumbnail` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `products`
--

INSERT INTO `products` (`id`, `name`, `size`, `price`, `category`, `thumbnail`) VALUES
(1, 'Shabora', 'Half Kilo', 6.00, 'Cakes', NULL),
(2, 'Shabora', 'One Kilo', 8.00, 'Cakes', NULL),
(3, 'Shabora', 'Small Basket', 8.00, 'Cakes', NULL),
(4, 'Shabora', 'Large Basket', 10.00, 'Cakes', NULL),
(5, 'Shabora', 'Presentation Plate (Ivory)', 14.00, 'Cakes', NULL),
(6, 'Mahalbiya Crunch', '12 Pieces', 12.00, 'Desserts', NULL),
(7, 'Monkey Bread', 'Large', 12.00, 'Breads', NULL),
(8, 'Monkey Bread Mini', '12 Pieces', 6.00, 'Breads', NULL),
(9, 'Monkey Bread Mini', '9 Pieces', 9.00, 'Breads', NULL),
(11, 'Monkey Bread', 'Presentation Plate', 16.00, 'Breads', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `role` enum('admin','staff') NOT NULL,
  `profile_image` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `username`, `email`, `password`, `role`, `profile_image`) VALUES
(1, 'kaakalia', 'user@example.com', '$2y$10$tEdSPRwL8WTXljuAxNh.m.af/8sHd/ouDB21Bgs1bC7GkbRq/h0D6', 'admin', 'uploads/profile_images/profile_kaakalia_1731274341.png'),
(2, 'mahmoudtawfik', 'mahmoudtawfikh@gmail.com', '$2y$10$0yxg1R.kfbVV7GL4G9/Q3u5PK.cvv8p29R3ggkfUMC2.aRiAXb2cO', 'admin', 'uploads/profile_images/profile_mahmoudtawfik_1731274427.jpg'),
(3, 'haya', 'haya@gmail.com', '$2y$10$ri1wzOhcmT2YVGkoPYjwu.3fY8xayakQEWHjTaAFGkPfDwJ50PIh6', 'admin', 'uploads/profile_images/profile_haya_1731304053.jpg'),
(4, 'ali', NULL, '$2y$10$3Uky8m7Xhbo/740wX.7Fd.qIjboGtRsOvUdfEB0uDBUd1PQrj3yoW', 'staff', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `workspace_notes`
--

CREATE TABLE `workspace_notes` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `workspace_notes`
--

INSERT INTO `workspace_notes` (`id`, `user_id`, `title`, `content`, `created_at`, `updated_at`) VALUES
(2, 2, 'This important notes', 'HaloHaloHaloHaloHaloHaloHaloHaloHaloHalo', '2024-11-11 09:37:10', '2024-11-11 09:37:10');

-- --------------------------------------------------------

--
-- Table structure for table `workspace_plans`
--

CREATE TABLE `workspace_plans` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `title` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `audio_path` varchar(255) DEFAULT NULL,
  `due_date` datetime DEFAULT NULL,
  `status` enum('Not Started','In Progress','Completed') DEFAULT 'Not Started',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `priority` enum('Normal','Important','Critical') NOT NULL DEFAULT 'Normal'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `workspace_posts`
--

CREATE TABLE `workspace_posts` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `platform` enum('Instagram','Facebook','Twitter','Other') NOT NULL,
  `content` text NOT NULL,
  `media_url` varchar(255) DEFAULT NULL,
  `scheduled_datetime` datetime DEFAULT NULL,
  `status` enum('Scheduled','Posted','Failed') DEFAULT 'Scheduled',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `type` enum('Post','Story') DEFAULT 'Post'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `workspace_posts`
--

INSERT INTO `workspace_posts` (`id`, `user_id`, `platform`, `content`, `media_url`, `scheduled_datetime`, `status`, `created_at`, `updated_at`, `type`) VALUES
(2, 1, 'Instagram', 'Hello', NULL, '2024-11-11 01:19:00', 'Scheduled', '2024-11-10 11:16:10', '2024-11-10 11:16:10', 'Post');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `ads`
--
ALTER TABLE `ads`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `related_id` (`related_id`);

--
-- Indexes for table `ad_spend_logs`
--
ALTER TABLE `ad_spend_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `ad_id` (`ad_id`);

--
-- Indexes for table `customers`
--
ALTER TABLE `customers`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `deals`
--
ALTER TABLE `deals`
  ADD PRIMARY KEY (`id`),
  ADD KEY `influencer_id` (`influencer_id`);

--
-- Indexes for table `drivers`
--
ALTER TABLE `drivers`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `influencers`
--
ALTER TABLE `influencers`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `interactions`
--
ALTER TABLE `interactions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `influencer_id` (`influencer_id`);

--
-- Indexes for table `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `created_at` (`created_at`);

--
-- Indexes for table `orders`
--
ALTER TABLE `orders`
  ADD PRIMARY KEY (`id`),
  ADD KEY `customer_id` (`customer_id`),
  ADD KEY `idx_orders_customer_id` (`customer_id`);

--
-- Indexes for table `order_items`
--
ALTER TABLE `order_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_id` (`order_id`),
  ADD KEY `product_id` (`product_id`),
  ADD KEY `idx_order_items_order_id` (`order_id`),
  ADD KEY `idx_order_items_product_id` (`product_id`);

--
-- Indexes for table `products`
--
ALTER TABLE `products`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `username` (`username`);

--
-- Indexes for table `workspace_notes`
--
ALTER TABLE `workspace_notes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `workspace_plans`
--
ALTER TABLE `workspace_plans`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `workspace_posts`
--
ALTER TABLE `workspace_posts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `ads`
--
ALTER TABLE `ads`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `ad_spend_logs`
--
ALTER TABLE `ad_spend_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `customers`
--
ALTER TABLE `customers`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;

--
-- AUTO_INCREMENT for table `deals`
--
ALTER TABLE `deals`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `drivers`
--
ALTER TABLE `drivers`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;

--
-- AUTO_INCREMENT for table `influencers`
--
ALTER TABLE `influencers`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `interactions`
--
ALTER TABLE `interactions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `notifications`
--
ALTER TABLE `notifications`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `orders`
--
ALTER TABLE `orders`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;

--
-- AUTO_INCREMENT for table `order_items`
--
ALTER TABLE `order_items`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;

--
-- AUTO_INCREMENT for table `products`
--
ALTER TABLE `products`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `workspace_notes`
--
ALTER TABLE `workspace_notes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT for table `workspace_plans`
--
ALTER TABLE `workspace_plans`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;

--
-- AUTO_INCREMENT for table `workspace_posts`
--
ALTER TABLE `workspace_posts`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `ads`
--
ALTER TABLE `ads`
  ADD CONSTRAINT `fk_ads_related_id` FOREIGN KEY (`related_id`) REFERENCES `workspace_posts` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_ads_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `ad_spend_logs`
--
ALTER TABLE `ad_spend_logs`
  ADD CONSTRAINT `fk_ad_spend_logs_ad_id` FOREIGN KEY (`ad_id`) REFERENCES `ads` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `deals`
--
ALTER TABLE `deals`
  ADD CONSTRAINT `deals_ibfk_1` FOREIGN KEY (`influencer_id`) REFERENCES `influencers` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `interactions`
--
ALTER TABLE `interactions`
  ADD CONSTRAINT `interactions_ibfk_1` FOREIGN KEY (`influencer_id`) REFERENCES `influencers` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `notifications`
--
ALTER TABLE `notifications`
  ADD CONSTRAINT `notifications_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `orders`
--
ALTER TABLE `orders`
  ADD CONSTRAINT `fk_orders_customer_id` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_items`
--
ALTER TABLE `order_items`
  ADD CONSTRAINT `fk_order_items_order_id` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_order_items_product_id` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `order_items_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_items_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `workspace_notes`
--
ALTER TABLE `workspace_notes`
  ADD CONSTRAINT `fk_workspace_notes_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `workspace_plans`
--
ALTER TABLE `workspace_plans`
  ADD CONSTRAINT `fk_workspace_plans_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `workspace_posts`
--
ALTER TABLE `workspace_posts`
  ADD CONSTRAINT `fk_workspace_posts_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;) and this dasbhaourd (<?php
// public/dashboard.php

// Enable error reporting for debugging (disable in production)
ini_set('display_errors', 0); // Set to 0 in production
ini_set('display_startup_errors', 0); // Set to 0 in production
error_reporting(E_ALL);

// Start output buffering to prevent "headers already sent" errors
ob_start();
require_once '../includes/header.php';

// Include authentication and database connection first
require_once '../includes/auth.php';
require_once '../includes/db_connect.php';

// Function to sanitize input
function sanitize_input($input) {
    return htmlspecialchars(trim($input ?? ''), ENT_QUOTES, 'UTF-8');
}

/**
 * Fetch Quick Stats
 */

// Total Orders
$totalOrdersSql = "SELECT COUNT(*) AS total FROM orders";
$totalOrdersResult = $conn->query($totalOrdersSql);
$totalOrders = ($totalOrdersResult && $row = $totalOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// Pending Orders
$pendingOrdersSql = "SELECT COUNT(*) AS total FROM orders WHERE status = 'Pending'";
$pendingOrdersResult = $conn->query($pendingOrdersSql);
$pendingOrders = ($pendingOrdersResult && $row = $pendingOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// In Progress Orders
$inProgressOrdersSql = "SELECT COUNT(*) AS total FROM orders WHERE status = 'In Progress'";
$inProgressOrdersResult = $conn->query($inProgressOrdersSql);
$inProgressOrders = ($inProgressOrdersResult && $row = $inProgressOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// Completed Orders
$completedOrdersSql = "SELECT COUNT(*) AS total FROM orders WHERE status = 'Completed'";
$completedOrdersResult = $conn->query($completedOrdersSql);
$completedOrders = ($completedOrdersResult && $row = $completedOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// Delivered Orders
$deliveredOrdersSql = "SELECT COUNT(*) AS total FROM orders WHERE status = 'Delivered'";
$deliveredOrdersResult = $conn->query($deliveredOrdersSql);
$deliveredOrders = ($deliveredOrdersResult && $row = $deliveredOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// Pickup Orders
$pickupOrdersSql = "SELECT COUNT(*) AS total FROM orders WHERE pickup = 1";
$pickupOrdersResult = $conn->query($pickupOrdersSql);
$pickupOrders = ($pickupOrdersResult && $row = $pickupOrdersResult->fetch_assoc()) ? (int)$row['total'] : 0;

// Total Paid Sales from all orders marked as paid, considering discounts
$totalPaidSalesSql = "
    SELECT 
        SUM(p.price * oi.quantity * (1 - (oi.discount_percentage / 100))) AS total_paid_sales
    FROM 
        order_items oi
    JOIN 
        products p ON oi.product_id = p.id
    JOIN 
        orders o ON oi.order_id = o.id
    WHERE 
        o.is_paid = 1
";
$totalPaidSalesResult = $conn->query($totalPaidSalesSql);
$totalPaidSales = ($totalPaidSalesResult && $row = $totalPaidSalesResult->fetch_assoc()) ? (float)$row['total_paid_sales'] : 0.00;

// Total Unpaid Sales from all orders not marked as paid, considering discounts
$totalUnpaidSalesSql = "
    SELECT 
        SUM(p.price * oi.quantity * (1 - (oi.discount_percentage / 100))) AS total_unpaid_sales
    FROM 
        order_items oi
    JOIN 
        products p ON oi.product_id = p.id
    JOIN 
        orders o ON oi.order_id = o.id
    WHERE 
        o.is_paid = 0
";
$totalUnpaidSalesResult = $conn->query($totalUnpaidSalesSql);
$totalUnpaidSales = ($totalUnpaidSalesResult && $row = $totalUnpaidSalesResult->fetch_assoc()) ? (float)$row['total_unpaid_sales'] : 0.00;

// Total Delivery Fees from all orders marked as paid
$totalDeliveryFeesSql = "
    SELECT 
        SUM(delivery_fee) AS total_fees
    FROM 
        orders
    WHERE 
        is_paid = 1
";
$totalDeliveryFeesResult = $conn->query($totalDeliveryFeesSql);
$totalDeliveryFees = ($totalDeliveryFeesResult && $row = $totalDeliveryFeesResult->fetch_assoc()) ? (float)$row['total_fees'] : 0.00;

// Total Revenue (Paid Sales + Delivery Fees)
$totalRevenue = $totalPaidSales + $totalDeliveryFees;

/**
 * Fetch Recent Orders
 */

// Fetch the 5 most recent orders with associated products
$recentOrdersSql = "
    SELECT 
        o.id AS order_id,
        c.name AS customer_name,
        c.contact,
        c.delivery_address,
        o.status,
        o.order_date,
        o.delivery_datetime,
        o.delivery_fee,
        o.is_paid,
        p.name AS product_name,
        p.price AS product_price,
        oi.quantity,
        oi.discount_percentage
    FROM 
        orders o
    JOIN 
        customers c ON o.customer_id = c.id
    JOIN 
        order_items oi ON o.id = oi.order_id
    JOIN 
        products p ON oi.product_id = p.id
    ORDER BY 
        o.order_date DESC
    LIMIT 5
";

$recentOrdersResult = $conn->query($recentOrdersSql);
$recentOrders = [];

if ($recentOrdersResult && $recentOrdersResult->num_rows > 0) {
    while($row = $recentOrdersResult->fetch_assoc()) {
        $order_id = $row['order_id'];
        if (!isset($recentOrders[$order_id])) {
            $recentOrders[$order_id] = [
                'order_id' => $row['order_id'],
                'customer_name' => $row['customer_name'],
                'contact' => $row['contact'],
                'delivery_address' => $row['delivery_address'],
                'status' => $row['status'],
                'order_date' => $row['order_date'],
                'delivery_datetime' => $row['delivery_datetime'],
                'delivery_fee' => $row['delivery_fee'],
                'is_paid' => $row['is_paid'],
                'products' => [],
                'total_order_amount' => 0.00
            ];
        }
        // Calculate total for each product
        $productTotal = $row['product_price'] * $row['quantity'] * (1 - ($row['discount_percentage'] / 100));
        $recentOrders[$order_id]['products'][] = [
            'product_name' => $row['product_name'],
            'quantity' => $row['quantity'],
            'discount_percentage' => $row['discount_percentage'],
            'total' => $productTotal
        ];
        // Add to total order amount
        $recentOrders[$order_id]['total_order_amount'] += $productTotal;
    }
    // After processing products, add delivery_fee to total_order_amount
    foreach ($recentOrders as &$order) {
        $order['total_order_amount'] += $order['delivery_fee'];
    }
    // Convert associative array to indexed array
    $recentOrders = array_values($recentOrders);
} else {
    $recentOrders = false;
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dashboard - Kaak Alia Management System</title>
    
    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Roboto:wght@400;700&display=swap" rel="stylesheet">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Bootstrap Icons -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">
    
    <!-- Custom Styles -->
    <style>
        /* ---------------------------------------------------
           1. CSS Variables with New Prefix
        ---------------------------------------------------- */
        :root {
            /* Primary Colors */
            --db-background: #F9FAFB; /* Light Neutral Background */
            --db-white: #FFFFFF; /* Crisp White */
            --db-light-grey: #E5E7EB; /* Light Grey */
            --db-medium-grey: #D1D5DB; /* Medium Grey */
            --db-dark-grey: #374151; /* Dark Grey */
            --db-charcoal: #1F2937; /* Charcoal */

            /* Accent Colors */
            --db-accent-color: #20B2AA; /* Soothing Teal */
            --db-accent-blue: #4A90E2;
            --db-accent-green: #50C878;
            --db-accent-red: #FF6B6B;
            --db-accent-teal: #20B2AA;
            --db-accent-soft-blue: #A3D2CA;
            --db-accent-purple: #8A65FF;
            --db-accent-orange: #FFA500;

            /* Text Colors */
            --db-primary-text: var(--db-charcoal);
            --db-secondary-text: #6B7280;

            /* UI Elements */
            --db-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            --db-border-radius: 12px;

            /* Button Colors */
            --db-button-add-order: #6C63FF;
            --db-button-view-orders: #FFA500;
            --db-button-manage-products: #20B2AA;
            --db-button-manage-users: #4B0082;
            --db-button-generate-reports: #FF6B6B;
            --db-button-workspace-team: #4F46E5; /* Indigo */

            /* Status Badge Colors */
            --db-badge-pending: #FFD166;
            --db-badge-in-progress: #6A4C93;
            --db-badge-completed: #4CAF50;
            --db-badge-delivered: #20B2AA;
            --db-badge-paid: #50C878; /* Green */
            --db-badge-unpaid: #FFA500; /* Orange */

            /* Line Color Between Products */
            --db-product-line-color: #E5E7EB;
        }
        /* Custom scrollbar for better UX */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #f1f5f9; /* Tailwind's gray-100 */
        }

        ::-webkit-scrollbar-thumb {
            background: #4b6584; /* Teal-500 */
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #0d9488; /* Teal-600 */
        }

        /* ---------------------------------------------------
           2. Global Styles
        ---------------------------------------------------- */
        body {
            font-family: 'Roboto', sans-serif;
            background-color: var(--db-background);
            margin: 0;
            padding: 0;
            color: var(--db-primary-text);
        }

        .db-container-body {
            max-width: 1200px;
            margin: 40px auto;
            padding: 40px 20px;
            box-sizing: border-box;
            background-color: var(--db-white);
            box-shadow: var(--db-box-shadow);
            border-radius: var(--db-border-radius);
            transition: all 0.3s ease;
        }

        /* ---------------------------------------------------
           3. Header Styles
        ---------------------------------------------------- */
        .db-header {
            padding: 20px 30px;
            background-color: var(--db-white);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 30px;
            border-bottom: 1px solid var(--db-light-grey);
        }

        .db-header h1 {
            color: var(--db-charcoal);
            font-size: 36px;
            font-weight: 700;
            font-family: 'Inter', sans-serif;
            position: relative;
        }

        /* Decorative Line Under Header */
        .db-header h1::after {
            content: "";
            display: block;
            width: 120px;
            height: 4px;
            background: var(--db-accent-color);
            margin: 12px auto 0;
            border-radius: 2px;
        }

        /* ---------------------------------------------------
           4. Welcome Section
        ---------------------------------------------------- */
        .db-welcome-section {
            background-color: var(--db-white);
            box-shadow: var(--db-box-shadow);
            border-radius: var(--db-border-radius);
            padding: 30px;
            text-align: center;
            margin-bottom: 30px;
            font-family: 'Inter', sans-serif;
        }

        .db-welcome-section h3 {
            font-size: 24px;
            color: var(--db-primary-text);
            margin-bottom: 10px;
            font-weight: 600;
        }

        .db-welcome-section p {
            font-size: 16px;
            color: var(--db-secondary-text);
            margin: 0;
        }

        /* ---------------------------------------------------
           5. Statistics Section
        ---------------------------------------------------- */
        .db-stats-section {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 25px;
            margin-bottom: 30px;
        }

        .db-stat-card {
            background-color: var(--db-white);
            box-shadow: var(--db-box-shadow);
            border-radius: var(--db-border-radius);
            padding: 20px;
            display: flex;
            align-items: center;
            transition: transform 0.3s, box-shadow 0.3s;
            cursor: default;
            position: relative;
            overflow: hidden;
        }

        .db-stat-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
        }

        .db-stat-icon {
            width: 60px;
            height: 60px;
            background-color: var(--db-accent-soft-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 20px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        /* Different colors for each stat icon */
        .db-stat-icon.orders { background-color: var(--db-accent-blue); } /* Blue */
        .db-stat-icon.pending { background-color: var(--db-badge-pending); } /* Yellow */
        .db-stat-icon.in-progress { background-color: var(--db-badge-in-progress); } /* Purple */
        .db-stat-icon.completed { background-color: var(--db-badge-completed); } /* Green */
        .db-stat-icon.delivered { background-color: var(--db-badge-delivered); } /* Teal */
        .db-stat-icon.sales { background-color: var(--db-accent-red); } /* Red */
        .db-stat-icon.unpaid-sales { background-color: var(--db-badge-unpaid); } /* Orange */
        .db-stat-icon.delivery-fees { background-color: var(--db-accent-teal); } /* Teal */
        .db-stat-icon.revenue { background-color: var(--db-accent-purple); } /* Purple */
        .db-stat-icon.paid-sales { background-color: var(--db-badge-paid); } /* Green */
        .db-stat-icon.pickup { background-color: #FF6347; } /* Tomato - Red for Pickup */

        .db-stat-icon i {
            color: #FFFFFF;
            font-size: 24px;
        }

        .db-stat-info h5 {
            font-size: 18px;
            color: var(--db-primary-text);
            margin-bottom: 5px;
            font-family: 'Inter', sans-serif;
            font-weight: 600;
        }

        .db-stat-info p {
            font-size: 28px;
            font-weight: 700;
            color: var(--db-charcoal);
            margin: 0;
        }

        /* ---------------------------------------------------
           6. Main Buttons Section
        ---------------------------------------------------- */
        .db-buttons-section {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-bottom: 30px;
        }

        .db-action-button {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1 1 220px;
            height: 60px;
            font-size: 16px;
            font-weight: 600;
            color: #FFFFFF;
            border: none;
            border-radius: 15px;
            padding: 0 20px;
            cursor: pointer;
            transition: background-color 0.3s, box-shadow 0.3s, transform 0.2s;
            text-decoration: none;
            text-align: center;
            font-family: 'Inter', sans-serif;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
            position: relative;
            overflow: hidden;
        }

        .db-action-button::before {
            content: "";
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
            transition: left 0.3s;
        }

        .db-action-button:hover::before {
            left: 100%;
        }

        /* Button Specific Styles */
        .db-action-button.add-order { 
            background-color: var(--db-button-add-order); 
        }
        .db-action-button.view-orders { 
            background-color: var(--db-button-view-orders); 
        }
        .db-action-button.manage-products { 
            background-color: var(--db-button-manage-products); 
        }
        .db-action-button.manage-users { 
            background-color: var(--db-button-manage-users); 
        }
        .db-action-button.generate-reports { 
            background-color: var(--db-button-generate-reports); 
        }
        .db-action-button.workspace-team { 
            background-color: var(--db-button-workspace-team); 
        }

        .db-action-button:hover {
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
            transform: scale(1.02);
        }

        .db-action-button i {
            margin-right: 10px;
            font-size: 20px;
            color: #FFFFFF;
        }

        /* ---------------------------------------------------
           7. Recent Orders Section
        ---------------------------------------------------- */
        .db-recent-orders-section {
            background-color: var(--db-white);
            border-radius: var(--db-border-radius);
            padding: 30px;
            box-shadow: var(--db-box-shadow);
        }

        .db-recent-orders-section h4 {
            font-size: 24px;
            font-weight: 700;
            color: var(--db-charcoal);
            margin-bottom: 20px;
            font-family: 'Inter', sans-serif;
        }

        /* Make table responsive */
        .db-table-responsive {
            overflow-x: auto;
        }

        .db-recent-orders-section table {
            width: 100%;
            border-collapse: collapse;
            font-family: 'Roboto', sans-serif;
            border: 1px solid var(--db-medium-grey);
        }

        .db-recent-orders-section th, 
        .db-recent-orders-section td {
            padding: 16px 20px;
            text-align: left;
            font-size: 14px;
            vertical-align: top;
        }

        .db-recent-orders-section th {
            background-color: var(--db-light-grey);
            color: var(--db-charcoal);
            font-weight: 700;
            border-bottom: 2px solid var(--db-medium-grey);
            font-family: 'Inter', sans-serif;
            position: relative;
        }

        /* Underline for headers */
        .db-recent-orders-section th::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background-color: var(--db-medium-grey);
        }

        /* Alternating row colors */
        .db-recent-orders-section tr:nth-child(even) {
            background-color: #FAFAFA;
        }

        .db-recent-orders-section tr:hover {
            background-color: #F1F1F1;
        }

        .db-recent-orders-section td {
            color: var(--db-secondary-text);
            border-bottom: 1px solid var(--db-light-grey);
        }

        /* Call to Action Text */
        .db-call-to-action {
            font-size: 18px;
            font-weight: 600;
            color: var(--db-primary-text);
            text-align: center;
            margin-bottom: 20px;
            font-family: 'Inter', sans-serif;
        }

        .db-recent-orders-section .db-view-all {
            display: block;
            text-align: right;
            margin-top: 15px;
            font-size: 16px;
            color: var(--db-accent-teal);
            font-weight: 600;
            text-decoration: none;
            font-family: 'Inter', sans-serif;
            transition: color 0.3s;
        }

        .db-recent-orders-section .db-view-all:hover {
            color: var(--db-accent-soft-blue);
        }

        /* Badge Styles */
        .db-badge-status-pending {
            background-color: var(--db-badge-pending);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .db-badge-status-in-progress {
            background-color: var(--db-badge-in-progress);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .db-badge-status-completed {
            background-color: var(--db-badge-completed);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .db-badge-status-delivered {
            background-color: var(--db-badge-delivered);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .db-badge-status-paid {
            background-color: var(--db-badge-paid);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .db-badge-status-unpaid {
            background-color: var(--db-badge-unpaid);
            color: #FFFFFF;
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        /* Line Between Products */
        .db-product-line {
            border: none;
            border-top: 1px solid var(--db-product-line-color);
            margin: 8px 0;
        }

        /* ---------------------------------------------------
           8. Footer Styles
        ---------------------------------------------------- */
        .db-footer {
            background-color: var(--db-white);
            color: var(--db-secondary-text);
            padding: 20px;
            text-align: center;
            border-radius: var(--db-border-radius);
            font-size: 14px;
            line-height: 22px;
            margin-top: 40px;
            font-family: 'Roboto', sans-serif;
            box-shadow: var(--db-box-shadow);
        }

        /* ---------------------------------------------------
           9. Responsive Design Enhancements
        ---------------------------------------------------- */
        @media (max-width: 992px) {
            .db-stat-card {
                flex-direction: column;
                align-items: flex-start;
            }

            .db-stat-icon {
                margin-bottom: 10px;
            }
        }

        @media (max-width: 768px) {
            .db-header h1 {
                font-size: 28px;
            }

            .db-welcome-section h3 {
                font-size: 20px;
            }

            .db-stats-section {
                grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
                gap: 20px;
            }

            .db-stat-info p {
                font-size: 24px;
            }

            .db-action-button {
                flex: 1 1 100%;
                height: 50px;
                font-size: 14px;
            }

            .db-recent-orders-section h4 {
                font-size: 20px;
            }

            .db-recent-orders-section th, 
            .db-recent-orders-section td {
                padding: 12px 16px;
                font-size: 12px;
            }

            .db-call-to-action {
                font-size: 16px;
            }
        }

        @media (max-width: 576px) {
            .db-container-body {
                padding: 20px 10px;
            }

            .db-header h1 {
                font-size: 24px;
            }

            .db-welcome-section h3 {
                font-size: 18px;
            }

            .db-stat-info p {
                font-size: 20px;
            }

            .db-action-button {
                height: 45px;
                font-size: 13px;
            }

            .db-recent-orders-section h4 {
                font-size: 18px;
            }

            .db-recent-orders-section th, 
            .db-recent-orders-section td {
                padding: 10px 12px;
                font-size: 11px;
            }

            .db-call-to-action {
                font-size: 14px;
            }
        }

    </style>
</head>
<body>
<main class='db-container-body'>
    <!-- Header -->
    <div class="db-header">
        <h1>Kaak Alia Dashboard</h1>
    </div>

    <!-- Welcome Section -->
    <div class="db-welcome-section">
        <h3>Welcome to the Kaak Alia Dashboard! Streamline your bakery’s operations with ease.</h3>
    </div>

    <!-- Call to Action -->
    <div class="db-call-to-action">
        Manage orders, products, users, and more with just a click.
    </div>

    <!-- Statistics Section -->
    <div class="db-stats-section">
        <!-- Total Orders -->
        <div class="db-stat-card">
            <div class="db-stat-icon orders">
                <i class="bi bi-cart-fill"></i>
            </div>
            <div class="db-stat-info">
                <h5>Total Orders</h5>
                <p><?= number_format($totalOrders) ?></p>
            </div>
        </div>
        <!-- Pending Orders -->
        <div class="db-stat-card">
            <div class="db-stat-icon pending">
                <i class="bi bi-hourglass-split"></i>
            </div>
            <div class="db-stat-info">
                <h5>Pending Orders</h5>
                <p><?= number_format($pendingOrders) ?></p>
            </div>
        </div>
        <!-- In Progress Orders -->
        <div class="db-stat-card">
            <div class="db-stat-icon in-progress">
                <i class="bi bi-arrow-repeat"></i>
            </div>
            <div class="db-stat-info">
                <h5>In Progress</h5>
                <p><?= number_format($inProgressOrders) ?></p>
            </div>
        </div>
        <!-- Completed Orders -->
        <div class="db-stat-card">
            <div class="db-stat-icon completed">
                <i class="bi bi-check-circle-fill"></i>
            </div>
            <div class="db-stat-info">
                <h5>Completed Orders</h5>
                <p><?= number_format($completedOrders) ?></p>
            </div>
        </div>
        <!-- Delivered Orders -->
        <div class="db-stat-card">
            <div class="db-stat-icon delivered">
                <i class="bi bi-truck-flatbed"></i>
            </div>
            <div class="db-stat-info">
                <h5>Delivered Orders</h5>
                <p><?= number_format($deliveredOrders) ?></p>
            </div>
        </div>
        <!-- Pickup Customers -->
        <div class="db-stat-card">
            <div class="db-stat-icon pickup">
                <i class="bi bi-person-check-fill"></i>
            </div>
            <div class="db-stat-info">
                <h5>Pickup Customers</h5>
                <p><?= number_format($pickupOrders) ?></p>
            </div>
        </div>
        <!-- Total Paid Sales -->
        <div class="db-stat-card">
            <div class="db-stat-icon paid-sales">
                <i class="bi bi-cash-stack"></i>
            </div>
            <div class="db-stat-info">
                <h5>Total Paid Sales (KD)</h5>
                <p><?= number_format($totalPaidSales, 2) ?></p>
            </div>
        </div>
        <!-- Total Unpaid Sales -->
        <div class="db-stat-card">
            <div class="db-stat-icon unpaid-sales">
                <i class="bi bi-wallet2"></i>
            </div>
            <div class="db-stat-info">
                <h5>Total Unpaid Sales (KD)</h5>
                <p><?= number_format($totalUnpaidSales, 2) ?></p>
            </div>
        </div>
        <!-- Total Delivery Fees -->
        <div class="db-stat-card">
            <div class="db-stat-icon delivery-fees">
                <i class="bi bi-receipt"></i>
            </div>
            <div class="db-stat-info">
                <h5>Total Delivery Fees (KD)</h5>
                <p><?= number_format($totalDeliveryFees, 2) ?></p>
            </div>
        </div>
        <!-- Total Revenue -->
        <div class="db-stat-card">
            <div class="db-stat-icon revenue">
                <i class="bi bi-graph-up-arrow"></i>
            </div>
            <div class="db-stat-info">
                <h5>Total Revenue (KD)</h5>
                <p><?= number_format($totalRevenue, 2) ?></p>
            </div>
        </div>
    </div>

    <!-- Main Buttons Section -->
    <div class="db-buttons-section">
        <a href="orders/add_order.php" class="db-action-button add-order">
            <i class="bi bi-plus-circle-fill"></i>
            Add New Order
        </a>
        <a href="orders/view_orders.php" class="db-action-button view-orders">
            <i class="bi bi-eye-fill"></i>
            View Orders
        </a>
        <a href="products/manage_products.php" class="db-action-button manage-products">
            <i class="bi bi-box-seam-fill"></i>
            Manage Products
        </a>
        <a href="users/manage_users.php" class="db-action-button manage-users">
            <i class="bi bi-people-fill"></i>
            Manage Users
        </a>
        <a href="reports/generate_reports.php" class="db-action-button generate-reports">
            <i class="bi bi-bar-chart-fill"></i>
            Generate Reports
        </a>
        <a href="/public/workspace" class="db-action-button workspace-team">
            <i class="bi bi-people-fill"></i>
            Workspace Team
        </a>
    </div>

    <!-- Recent Orders Section -->
    <div class="db-recent-orders-section">
        <h4>Recent Orders</h4>
        <div class="db-table-responsive">
            <table class="table table-hover">
                <thead>
                    <tr>
                        <th>#ID</th>
                        <th>Customer Name</th>
                        <th>Contact</th>
                        <th>Delivery Address</th>
                        <th>Products</th>
                        <th>Delivery Fee (KD)</th>
                        <th>Total Amount (KD)</th>
                        <th>Status</th>
                        <th>Payment Status</th>
                        <th>Order Date</th>
                        <th>Delivery DateTime</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if ($recentOrders && count($recentOrders) > 0): ?>
                        <?php foreach($recentOrders as $order): ?>
                            <tr>
                                <td><?= htmlspecialchars($order['order_id'] ?? '', ENT_QUOTES, 'UTF-8') ?></td>
                                <td><?= htmlspecialchars($order['customer_name'] ?? '', ENT_QUOTES, 'UTF-8') ?></td>
                                <td><?= htmlspecialchars($order['contact'] ?? '', ENT_QUOTES, 'UTF-8') ?></td>
                                <td><?= nl2br(htmlspecialchars($order['delivery_address'] ?? '', ENT_QUOTES, 'UTF-8')) ?></td>
                                <td>
                                    <?php
                                        if (!empty($order['products'])) {
                                            // Display product names with lines if two or more
                                            foreach ($order['products'] as $index => $product) {
                                                echo '<div>' . htmlspecialchars($product['product_name'], ENT_QUOTES, 'UTF-8') . ' (x' . htmlspecialchars($product['quantity'], ENT_QUOTES, 'UTF-8') . ') - ' . htmlspecialchars($product['discount_percentage'], ENT_QUOTES, 'UTF-8') . '% OFF</div>';
                                                if ($index < count($order['products']) - 1) {
                                                    echo '<hr class="db-product-line">';
                                                }
                                            }
                                        } else {
                                            echo 'No products.';
                                        }
                                    ?>
                                </td>
                                <td><?= number_format($order['delivery_fee'], 2) ?></td>
                                <td><?= number_format($order['total_order_amount'], 2) ?></td>
                                <td>
                                    <?php
                                        switch ($order['status']) {
                                            case 'Pending':
                                                echo '<span class="db-badge-status-pending">Pending</span>';
                                                break;
                                            case 'In Progress':
                                                echo '<span class="db-badge-status-in-progress">In Progress</span>';
                                                break;
                                            case 'Completed':
                                                echo '<span class="db-badge-status-completed">Completed</span>';
                                                break;
                                            case 'Delivered':
                                                echo '<span class="db-badge-status-delivered">Delivered</span>';
                                                break;
                                            default:
                                                echo '<span class="badge bg-light text-dark">Unknown</span>';
                                        }
                                    ?>
                                </td>
                                <td>
                                    <?php
                                        if ($order['is_paid'] == 1) {
                                            echo '<span class="db-badge-status-paid">Paid</span>';
                                        } else {
                                            echo '<span class="db-badge-status-unpaid">Unpaid</span>';
                                        }
                                    ?>
                                </td>
                                <td><?= $order['order_date'] ? htmlspecialchars(date("d M Y, h:i A", strtotime($order['order_date'])), ENT_QUOTES, 'UTF-8') : 'N/A' ?></td>
                                <td><?= $order['delivery_datetime'] ? htmlspecialchars(date("d M Y, h:i A", strtotime($order['delivery_datetime'])), ENT_QUOTES, 'UTF-8') : 'N/A' ?></td>
                            </tr>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <tr>
                            <td colspan="11" class="text-center">No recent orders.</td>
                        </tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
        <a href="orders/view_orders.php" class="db-view-all">View All Orders</a>
    </div>

    <!-- Footer -->
    <div class="db-footer">
        &copy; <?= date("Y") ?> Kaak Alia Bakery. All rights reserved.
    </div>
</main>
    <!-- Bootstrap JS Bundle -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        // Optional JavaScript for additional interactivity can be added here
    </script>
</body>
</html>
<?php
// Flush the output buffer
ob_end_flush();
// No closing PHP tag to prevent unwanted output
?>) fix this errror (Notice: session_start(): Ignoring session_start() because a session is already active in /home/u406552082/domains/longevacare.com/public_html/kaakalia/includes/auth.php on line 3
) and fix the Recent Orders table and make it correctly and make the page dasbouard repsovines desgin for all devices