/home/awneajlw/public_html/codestechvista.com/my-shop.php
<?php
/**
 * My Shop Page - Shop Management
 * This page allows users to manage their shop details
 * Features: Shop information update, logo upload, contact details management
 */

// Start session if not already started
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// Include required files
require_once 'config/database.php';  // Database connection configuration
require_once 'includes/auth.php';    // Authentication functions

/**
 * Authentication Check
 * Redirect to welcome page if user is not logged in
 */
if (!isLoggedIn()) {
    header('Location: welcome.php');
    exit();
}

// Initialize variables for form handling
$success_message = '';   // Success message after form submission
$error_message = '';     // Error message for validation/database issues
$field_errors = [];      // Array to store field-specific errors
$form_data = [];         // Array to store form data for repopulation

// Handle success message from URL parameters
if (isset($_GET['success']) && $_GET['success'] === 'sub_user_created') {
    $success_email = $_GET['email'] ?? '';
    $success_password = $_GET['password'] ?? '';
    $success_message = 'Sub user created successfully! Email: ' . htmlspecialchars($success_email) . ', Password: ' . htmlspecialchars($success_password);
}

// Initialize variables
$current_user_id = $_SESSION['user_id'] ?? null;
$is_main_user = true; // Default to main user
$user_info = null;

// Get current shop data
$current_shop_data = [];
$shop_owner_id = $current_user_id; // Default to current user

try {
    $database = new Database();
    $db = $database->getConnection();
    
    // First check if current user is a sub user
    if ($current_user_id) {
        try {
            $check_user_query = "SELECT user_type, parent_user_id, can_access_sales FROM users WHERE id = ?";
            $check_user_stmt = $db->prepare($check_user_query);
            $check_user_stmt->execute([$current_user_id]);
            $user_info = $check_user_stmt->fetch(PDO::FETCH_ASSOC);
            
            if ($user_info && $user_info['user_type'] === 'sub') {
                $is_main_user = false;
            }
        } catch (Exception $col_error) {
            // Columns might not exist, use default main user
            error_log("User type columns not found: " . $col_error->getMessage());
            $is_main_user = true;
            $user_info = null;
        }
    }
    
    // If sub user, get main user's shop data
    if (!$is_main_user && isset($user_info) && $user_info && isset($user_info['parent_user_id'])) {
        $shop_owner_id = $user_info['parent_user_id'];
        error_log("Sub user accessing main user's shop. Main user ID: " . $shop_owner_id);
    }
    
    // Get shop data for the correct owner
    $query = "SELECT s.*, u.name as owner_name, u.email 
              FROM shops s 
              JOIN users u ON s.user_id = u.id 
              WHERE s.user_id = ?";
    $stmt = $db->prepare($query);
    $stmt->execute([$shop_owner_id]);
    $current_shop_data = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$current_shop_data) {
        // Create default shop data if none exists
        $current_shop_data = [
            'shop_name' => '',
            'shop_address' => '',
            'shop_phone' => '',
            'shop_whatsapp' => '',
            'shop_facebook' => '',
            'shop_instagram' => '',
            'shop_website' => '',
            'shop_logo' => ''
        ];
    }
} catch (Exception $e) {
    error_log("Error fetching shop data: " . $e->getMessage());
    $current_shop_data = [
        'shop_name' => '',
        'shop_phone' => '',
        'shop_whatsapp' => '',
        'shop_facebook' => '',
        'shop_instagram' => '',
        'shop_website' => '',
        'shop_logo' => ''
    ];
}

// User type checking is now done in the shop data section above

// Handle sub-user management actions
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    $action = $_POST['action'];
    
    if ($action === 'create_sub_user' && $is_main_user) {
        $sub_name = trim($_POST['sub_name'] ?? '');
        $sub_email = trim($_POST['sub_email'] ?? '');
        $sub_password = trim($_POST['sub_password'] ?? '');
        $sub_phone = trim($_POST['sub_phone'] ?? '');
        
        // Enhanced Validation
        $validation_errors = [];
        
        if (empty($sub_name)) {
            $validation_errors[] = 'Sub user name is required';
        } elseif (strlen($sub_name) < 2) {
            $validation_errors[] = 'Sub user name must be at least 2 characters long';
        }
        
        if (empty($sub_email)) {
            $validation_errors[] = 'Email address is required';
        } elseif (!filter_var($sub_email, FILTER_VALIDATE_EMAIL)) {
            $validation_errors[] = 'Please enter a valid email address';
        }
        
        if (empty($sub_password)) {
            $validation_errors[] = 'Password is required';
        } elseif (strlen($sub_password) < 6) {
            $validation_errors[] = 'Password must be at least 6 characters long';
        }
        
        if (!empty($sub_phone) && !preg_match('/^[\+]?[0-9\s\-\(\)]{10,15}$/', $sub_phone)) {
            $validation_errors[] = 'Please enter a valid phone number';
        }
        
        if (!empty($validation_errors)) {
            $error_message = implode(', ', $validation_errors);
        } else {
            try {
                // Check if email already exists
                $check_email = "SELECT id, email FROM users WHERE email = ?";
                $check_stmt = $db->prepare($check_email);
                $check_stmt->execute([$sub_email]);
                
                if ($check_stmt->rowCount() > 0) {
                    $error_message = 'Email address already exists. Please use a different email.';
                } else {
                    // Check if required columns exist
                    $check_columns = "SHOW COLUMNS FROM users WHERE Field IN ('user_type', 'parent_user_id', 'can_access_sales')";
                    $columns_result = $db->query($check_columns);
                    $existing_columns = $columns_result->fetchAll(PDO::FETCH_COLUMN);
                    
                    if (count($existing_columns) < 3) {
                        $error_message = 'Database not properly configured. Missing required columns: user_type, parent_user_id, can_access_sales';
                    } else {
                        // Create sub user with proper error handling
                        $hashed_password = password_hash($sub_password, PASSWORD_DEFAULT);
                        
                        // First try to insert with all columns
                        $insert_sub = "INSERT INTO users (name, email, phone, password, role, user_type, parent_user_id, can_access_sales, email_verified, registration_step) 
                                       VALUES (?, ?, ?, ?, 'user', 'sub', ?, 0, 1, 2)";
                        $insert_stmt = $db->prepare($insert_sub);
                        $result = $insert_stmt->execute([$sub_name, $sub_email, $sub_phone, $hashed_password, $current_user_id]);
                        
                        if ($result) {
                            $success_message = 'Sub user created successfully! Email: ' . $sub_email . ', Password: ' . $sub_password;
                            
                            // Redirect to same page to refresh data and clear form
                            echo "<script>
                                setTimeout(function() {
                                    window.location.href = 'my-shop.php?success=sub_user_created&email=' + encodeURIComponent('$sub_email') + '&password=' + encodeURIComponent('$sub_password');
                                }, 2000);
                            </script>";
                        } else {
                            $errorInfo = $insert_stmt->errorInfo();
                            $error_message = 'Database error: ' . ($errorInfo[2] ?? 'Unknown error occurred');
                            error_log("Sub user creation failed. SQL Error: " . print_r($errorInfo, true));
                        }
                    }
                }
            } catch (PDOException $e) {
                error_log("PDO Error creating sub user: " . $e->getMessage());
                if (strpos($e->getMessage(), 'Unknown column') !== false) {
                    $error_message = 'Database configuration error. Please run the required ALTER TABLE commands first.';
                } elseif (strpos($e->getMessage(), 'Duplicate entry') !== false) {
                    $error_message = 'Email address already exists. Please use a different email.';
                } elseif (strpos($e->getMessage(), 'foreign key constraint') !== false) {
                    $error_message = 'Database constraint error. Please contact administrator.';
                } else {
                    $error_message = 'Database error: ' . $e->getMessage();
                }
            } catch (Exception $e) {
                error_log("General Error creating sub user: " . $e->getMessage());
                $error_message = 'Unexpected error occurred: ' . $e->getMessage();
            }
        }
    }
    
    if ($action === 'update_sub_user' && $is_main_user) {
        $sub_id = intval($_POST['sub_id'] ?? 0);
        $sub_name = trim($_POST['sub_name'] ?? '');
        $sub_email = trim($_POST['sub_email'] ?? '');
        $sub_phone = trim($_POST['sub_phone'] ?? '');
        $new_password = trim($_POST['sub_password'] ?? '');
        
        if (empty($sub_name) || empty($sub_email)) {
            $error_message = 'Sub user name and email are required';
        } else {
            try {
                // Check if email exists for other users
                $check_email = "SELECT id FROM users WHERE email = ? AND id != ?";
                $check_stmt = $db->prepare($check_email);
                $check_stmt->execute([$sub_email, $sub_id]);
                
                if ($check_stmt->rowCount() > 0) {
                    $error_message = 'Email already exists for another user';
                } else {
                    // Update sub user
                    if (!empty($new_password)) {
                        $hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
                        $update_sub = "UPDATE users SET name = ?, email = ?, phone = ?, password = ? 
                                       WHERE id = ? AND parent_user_id = ?";
                        $update_stmt = $db->prepare($update_sub);
                        $result = $update_stmt->execute([$sub_name, $sub_email, $sub_phone, $hashed_password, $sub_id, $current_user_id]);
                    } else {
                        $update_sub = "UPDATE users SET name = ?, email = ?, phone = ? 
                                       WHERE id = ? AND parent_user_id = ?";
                        $update_stmt = $db->prepare($update_sub);
                        $result = $update_stmt->execute([$sub_name, $sub_email, $sub_phone, $sub_id, $current_user_id]);
                    }
                    
                    if ($result) {
                        $success_message = 'Sub user updated successfully!';
                    } else {
                        $error_message = 'Failed to update sub user';
                    }
                }
            } catch (Exception $e) {
                error_log("Error updating sub user: " . $e->getMessage());
                $error_message = 'An error occurred while updating sub user';
            }
        }
    }
    
    if ($action === 'delete_sub_user' && $is_main_user) {
        $sub_id = intval($_POST['sub_id'] ?? 0);
        
        try {
            $delete_sub = "DELETE FROM users WHERE id = ? AND parent_user_id = ?";
            $delete_stmt = $db->prepare($delete_sub);
            $result = $delete_stmt->execute([$sub_id, $current_user_id]);
            
            if ($result) {
                $success_message = 'Sub user deleted successfully!';
            } else {
                $error_message = 'Failed to delete sub user';
            }
        } catch (Exception $e) {
            error_log("Error deleting sub user: " . $e->getMessage());
            $error_message = 'An error occurred while deleting sub user';
        }
    }
}

// Get sub users for main user
$sub_users = [];
if ($is_main_user && $current_user_id) {
    try {
        // Check if parent_user_id column exists
        $check_parent_column = "SHOW COLUMNS FROM users LIKE 'parent_user_id'";
        $parent_check = $db->query($check_parent_column);
        
        if ($parent_check && $parent_check->rowCount() > 0) {
            $sub_query = "SELECT id, name, email, phone, created_at FROM users WHERE parent_user_id = ? AND user_type = 'sub' ORDER BY created_at DESC";
            $sub_stmt = $db->prepare($sub_query);
            $sub_stmt->execute([$current_user_id]);
            $sub_users = $sub_stmt->fetchAll(PDO::FETCH_ASSOC);
            
            // Debug log
            error_log("Fetching sub users for main user ID: " . $current_user_id . ". Found: " . count($sub_users));
        } else {
            error_log("parent_user_id column does not exist in users table");
        }
    } catch (Exception $e) {
        error_log("Error fetching sub users: " . $e->getMessage());
    }
}

/**
 * Form Submission Handler
 * Process POST request when shop details form is submitted
 */
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !isset($_POST['action'])) {
    $shop_name = trim($_POST['shop_name'] ?? '');
    $shop_address = trim($_POST['shop_address'] ?? '');
    $phone_number = trim($_POST['phone_number'] ?? '');
    $user_name = trim($_POST['user_name'] ?? '');
    $password = trim($_POST['password'] ?? '');
    $currency = trim($_POST['currency'] ?? 'USD');
    $whatsapp_number = trim($_POST['whatsapp_number'] ?? '');
    $facebook_id = trim($_POST['facebook_id'] ?? '');
    $instagram_id = trim($_POST['instagram_id'] ?? '');
    $website = trim($_POST['website'] ?? '');
    
    // Store form data for repopulation
    $form_data = [
        'shop_name' => $shop_name,
        'shop_address' => $shop_address,
        'phone_number' => $phone_number,
        'user_name' => $user_name,
        'currency' => $currency,
        'whatsapp_number' => $whatsapp_number,
        'facebook_id' => $facebook_id,
        'instagram_id' => $instagram_id,
        'website' => $website
    ];
    
    // Enhanced validation with field-specific errors
    $validation_errors = [];
    
    // Required field validation
    if (empty($shop_name)) {
        $validation_errors['shop_name'] = 'Shop name is required';
    } elseif (strlen($shop_name) < 2) {
        $validation_errors['shop_name'] = 'Shop name must be at least 2 characters long';
    }
    
    if (empty($phone_number)) {
        $validation_errors['phone_number'] = 'Phone number is required';
    } elseif (!preg_match('/^[\+]?[0-9\s\-\(\)]{10,15}$/', $phone_number)) {
        $validation_errors['phone_number'] = 'Please enter a valid phone number';
    }
    
    if (empty($user_name)) {
        $validation_errors['user_name'] = 'User name is required';
    } elseif (strlen($user_name) < 2) {
        $validation_errors['user_name'] = 'User name must be at least 2 characters long';
    }
    
    // Optional field validation
    if (!empty($whatsapp_number) && !preg_match('/^[\+]?[0-9\s\-\(\)]{10,15}$/', $whatsapp_number)) {
        $validation_errors['whatsapp_number'] = 'Please enter a valid WhatsApp number';
    }
    
    if (!empty($website) && !filter_var($website, FILTER_VALIDATE_URL)) {
        $validation_errors['website'] = 'Please enter a valid website URL';
    }
    
    $field_errors = $validation_errors;
    
    if (empty($validation_errors)) {
            try {
                $database = new Database();
                $db = $database->getConnection();
                
                // Use the shop owner ID (main user for sub users, current user for main users)
                $target_user_id = $shop_owner_id;
                
                // Verify the target user exists
                $user_query = "SELECT id FROM users WHERE id = ?";
                $user_stmt = $db->prepare($user_query);
                $user_stmt->execute([$target_user_id]);
                $user_data = $user_stmt->fetch(PDO::FETCH_ASSOC);
                
                if (!$user_data) {
                    throw new Exception("Target user not found");
                }
                
                error_log("Updating shop for user ID: " . $target_user_id . " (Current user: " . $current_user_id . ")");
            
            // Check if shop already exists for this user
            $check_query = "SELECT id FROM shops WHERE user_id = ?";
            $check_stmt = $db->prepare($check_query);
            $check_stmt->execute([$target_user_id]);
            $existing_shop = $check_stmt->fetch(PDO::FETCH_ASSOC);
            
            // Handle file upload
            $logo_filename = '';
            if (isset($_FILES['shop_logo']) && $_FILES['shop_logo']['error'] == 0) {
                $upload_dir = 'uploads/logos/';
                if (!is_dir($upload_dir)) {
                    mkdir($upload_dir, 0755, true);
                }
                
                $file_extension = pathinfo($_FILES['shop_logo']['name'], PATHINFO_EXTENSION);
                $logo_filename = 'shop_' . $target_user_id . '_' . time() . '.' . $file_extension;
                $upload_path = $upload_dir . $logo_filename;
                
                if (move_uploaded_file($_FILES['shop_logo']['tmp_name'], $upload_path)) {
                    $logo_filename = $logo_filename; // Store only filename, not full path
                } else {
                    $validation_errors['shop_logo'] = 'Failed to upload logo';
                }
            }
            
            if ($existing_shop) {
                // Update existing shop
                $update_fields = [
                    'shop_name = ?',
                    'shop_address = ?',
                    'shop_phone = ?',
                    'currency = ?',
                    'shop_whatsapp = ?',
                    'shop_facebook = ?',
                    'shop_instagram = ?',
                    'shop_website = ?'
                ];
                $update_values = [$shop_name, $shop_address, $phone_number, $currency, $whatsapp_number, $facebook_id, $instagram_id, $website];
                
                if ($logo_filename) {
                    $update_fields[] = 'shop_logo = ?';
                    $update_values[] = $logo_filename;
                }
                
                $update_values[] = $target_user_id;
                
                $update_query = "UPDATE shops SET " . implode(', ', $update_fields) . " WHERE user_id = ?";
                $update_stmt = $db->prepare($update_query);
                $result = $update_stmt->execute($update_values);
            } else {
                // Insert new shop
                $insert_query = "INSERT INTO shops (user_id, shop_name, shop_address, shop_phone, currency, shop_whatsapp, shop_facebook, shop_instagram, shop_website, shop_logo) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                $insert_stmt = $db->prepare($insert_query);
                $result = $insert_stmt->execute([$target_user_id, $shop_name, $shop_address, $phone_number, $currency, $whatsapp_number, $facebook_id, $instagram_id, $website, $logo_filename]);
            }
            
            if ($result) {
                $success_message = 'Shop details updated successfully!';
                // Refresh current shop data
                $query = "SELECT s.*, u.name as owner_name, u.email 
                          FROM shops s 
                          JOIN users u ON s.user_id = u.id 
                          WHERE s.user_id = ?";
                $stmt = $db->prepare($query);
                $stmt->execute([$target_user_id]);
                $current_shop_data = $stmt->fetch(PDO::FETCH_ASSOC);
            } else {
                $error_message = 'Failed to update shop details. Please try again.';
            }
            
        } catch (Exception $e) {
            error_log("Shop update error: " . $e->getMessage());
            $error_message = 'An error occurred while updating shop details. Please try again.';
        }
    } else {
        $error_message = 'Please fix the errors below and try again.';
    }
}

// Set form data to current shop data if not submitted
if (empty($form_data)) {
    $form_data = [
        'shop_name' => $current_shop_data['shop_name'] ?? '',
        'shop_address' => $current_shop_data['shop_address'] ?? '',
        'phone_number' => $current_shop_data['shop_phone'] ?? '',
        'user_name' => $_SESSION['user_name'] ?? '',
        'currency' => $current_shop_data['currency'] ?? 'USD',
        'whatsapp_number' => $current_shop_data['shop_whatsapp'] ?? '',
        'facebook_id' => $current_shop_data['shop_facebook'] ?? '',
        'instagram_id' => $current_shop_data['shop_instagram'] ?? '',
        'website' => $current_shop_data['shop_website'] ?? ''
    ];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Shop - OPTI SLIP</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            background: white;
            min-height: 100vh;
            padding: 20px;
            margin: 0;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }
        
        .back-btn {
            background: none;
            border: none;
            color: black;
            font-size: 24px;
            cursor: pointer;
            margin-bottom: 30px;
            padding: 10px;
            transition: all 0.3s ease;
        }
        
        .back-btn:hover {
            color: #169D53;
            transform: translateX(-3px);
        }
        
        .logo-section {
            text-align: center;
            /*margin-bottom: 40px;*/
        }
        
        .logo-container {
            display: inline-block;
            margin-bottom: 20px;
        }
        
        .logo-image {
            width: 200px;
            height: 120px;
            margin-top:-100px;
            object-fit: contain;
            filter: brightness(0) saturate(100%);
        }
        
        .form-card {
            max-width: 900px;
            margin: 0 auto;
            padding: 40px;
        }
        
        .field-card {
            background: transparent;
            border: none;
            padding: 10px;
            margin-bottom: 5px;
            position: relative;
        }
        
        .form-group {
            margin-bottom: 10px;
        }
        
        .form-label {
            position: absolute;
            top: -10px;
            left: 20px;
            background: white;
            padding: 0 8px;
            font-size: 14px;
            color: black;
            font-weight: 700;
            z-index: 2;
        }
        
        .form-input {
            width: 100%;
            padding: 25px 20px;
            border: 2px solid black;
            border-radius: 25px;
            font-size: 16px;
            background: white;
            color: black;
            font-weight: 600;
            min-height: 60px;
            transition: all 0.3s ease;
        }
        
        .form-input:focus {
            outline: none;
            border-color: #169D53;
            box-shadow: 0 0 0 3px rgba(22, 157, 83, 0.1);
        }
        
        .form-input.error {
            border-color: #dc2626 !important;
            box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
        }
        
        textarea.form-input {
            resize: vertical;
            min-height: 100px;
            font-family: inherit;
            line-height: 1.5;
            padding: 15px 20px;
        }
        
        .field-error {
            color: #dc2626;
            font-size: 12px;
            margin-top: 5px;
            margin-left: 20px;
            font-weight: 500;
        }
        
        .form-input::placeholder {
            color: #9ca3af;
            opacity: 0.7;
        }
        
        .upload-group {
            display: flex;
            align-items: stretch;
            width: 100%;
            gap: 0;
        }
        
        .upload-input {
            flex: 1;
            padding: 25px 20px;
            border: 2px solid black;
            border-radius: 25px 0 0 25px;
            font-size: 16px;
            background: white;
            color: black;
            font-weight: 600;
            min-height: 60px;
            border-right: none;
            outline: none;
            transition: all 0.3s ease;
        }
        
        .upload-input:focus {
            border-color: #169D53;
            box-shadow: 0 0 0 3px rgba(22, 157, 83, 0.1);
        }
        
        .upload-btn {
            background: #169D53;
            color: white;
            border: 2px solid #169D53;
            padding: 25px 32px;
            font-weight: 600;
            cursor: pointer;
            border-radius: 0 25px 25px 0;
            font-size: 16px;
            min-height: 60px;
            transition: all 0.3s ease;
            flex-shrink: 0;
            min-width: fit-content;
        }
        
        .upload-btn:hover {
            background: #128a43;
            border-color: #128a43;
        }
        
        .hidden-file-input {
            display: none;
        }
        
        .button-group {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 40px;
        }
        
        .nav-btn {
            font-size: 18px;
            padding: 12px 24px;
            border: 2px solid #10b981;
            border-radius: 8px;
            background: white;
            color: #10b981;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            min-width: 120px;
            white-space: nowrap;
            text-decoration: none;
            display: inline-block;
            text-align: center;
        }
        
        .nav-btn:hover {
            background: #10b981;
            color: white;
            transform: translateY(-2px);
        }
        
        .nav-btn.primary {
            background: #169D53;
            border-color: #169D53;
            color: white;
        }
        
        .nav-btn.primary:hover {
            background: #128a43;
            border-color: #128a43;
            color: white;
        }
        
        .alert {
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            font-weight: 500;
        }
        
        .alert-success {
            background: #d1fae5;
            color: #065f46;
            border: 1px solid #10b981;
        }
        
        .alert-danger {
            background: #fee2e2;
            color: #991b1b;
            border: 1px solid #dc2626;
        }
        
        /* Mobile Responsive */
        @media (max-width: 1024px) {
            .container {
                padding: 15px;
            }
            
            .form-card {
                padding: 30px;
            }
            
            .logo-image {
                width: 150px;
                height: 150px;
            }
        }
        
        @media (max-width: 768px) {
            .container {
                padding: 10px;
            }
            
            .form-card {
                padding: 20px;
            }
            
            .logo-image {
                width: 120px;
                height: 120px;
            }
            
            .form-input, .upload-input {
                padding: 20px 15px;
                min-height: 55px;
            }
            
            .upload-btn {
                padding: 20px 24px;
                min-height: 55px;
            }
            
            .field-card {
                margin-bottom: 8px;
            }
            
            .nav-btn {
                font-size: 16px;
                padding: 10px 20px;
                min-width: 100px;
            }
            
            .upload-group {
                flex-direction: column;
                gap: 0;
            }
            
            .upload-input {
                border-radius: 25px 25px 0 0;
                border-right: 2px solid black;
                border-bottom: none;
            }
            
            .upload-btn {
                border-radius: 0 0 25px 25px;
                width: 100%;
            }
        }
        
        @media (max-width: 480px) {
            .container {
                padding: 5px;
            }
            
            .form-card {
                padding: 15px;
            }
            
            .logo-image {
                width: 100px;
                height: 100px;
            }
            
            .form-input, .upload-input {
                padding: 18px 12px;
                min-height: 50px;
                font-size: 14px;
            }
            
            .upload-btn {
                padding: 18px 20px;
                min-height: 50px;
                font-size: 14px;
            }
            
            .field-card {
                margin-bottom: 5px;
            }
            
            .nav-btn {
                font-size: 14px;
                padding: 8px 16px;
                min-width: 90px;
            }
        }
        
        @media (max-width: 320px) {
            .form-input, .upload-input {
                padding: 15px 10px;
                min-height: 45px;
                font-size: 13px;
            }
            
            .upload-btn {
                padding: 15px 16px;
                min-height: 45px;
                font-size: 13px;
            }
            
            .field-card {
                margin-bottom: 3px;
            }
            
            .nav-btn {
                font-size: 13px;
                padding: 6px 12px;
                min-width: 80px;
            }
        }
        
        /* Sub Users Management Responsive Styles */
        .sub-users-section {
            margin-top: 40px;
        }
        
        .add-sub-user-card {
            background: white;
            border: 2px solid #169D53;
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 25px;
        }
        
        .sub-users-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 20px;
            width: 100%;
            margin: 0;
            padding: 0;
        }
        
        .sub-user-card {
            background: white;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 20px;
            position: relative;
            width: 100%;
            box-sizing: border-box;
            transition: all 0.3s ease;
        }
        
        .sub-user-card:hover {
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            transform: translateY(-2px);
        }
        
        .sub-user-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 15px;
        }
        
        .sub-user-info {
            flex: 1;
            margin-right: 15px;
        }
        
        .sub-user-info h5 {
            color: #333;
            margin: 0 0 8px 0;
            font-weight: 600;
            font-size: 18px;
            line-height: 1.3;
        }
        
        .sub-user-info p {
            color: #666;
            margin: 4px 0;
            font-size: 14px;
            line-height: 1.4;
            display: flex;
            align-items: center;
        }
        
        .sub-user-actions {
            display: flex;
            gap: 8px;
        }
        
        .edit-sub-user-btn, .delete-sub-user-btn {
            background: #169D53;
            color: white;
            border: none;
            padding: 6px 10px;
            border-radius: 5px;
            font-size: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .delete-sub-user-btn {
            background: #dc3545;
        }
        
        .edit-sub-user-btn:hover {
            background: #128a43;
        }
        
        .delete-sub-user-btn:hover {
            background: #c82333;
        }
        
        .sub-user-meta {
            font-size: 12px;
            color: #999;
            border-top: 1px solid #f0f0f0;
            padding-top: 10px;
            margin-top: 15px;
            display: flex;
            align-items: center;
        }
        
        .no-sub-users {
            text-align: center;
            padding: 40px;
            background: #f8f9fa;
            border-radius: 10px;
            color: #666;
        }
        
        /* Modal Styles */
        #editSubUserModal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.5);
            z-index: 1000;
            align-items: center;
            justify-content: center;
        }
        
        /* Sub Users Responsive Design */
        @media (max-width: 1200px) {
            .sub-users-grid {
                grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
                gap: 18px;
            }
        }
        
        @media (max-width: 1024px) {
            .sub-users-grid {
                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
                gap: 16px;
            }
            
            .sub-user-card {
                padding: 18px;
            }
            
            .sub-user-info h5 {
                font-size: 17px;
            }
            
            .sub-user-info p {
                font-size: 14px;
            }
        }
        
        @media (max-width: 768px) {
            .sub-users-section {
                margin-top: 30px;
            }
            
            .sub-users-section h3 {
                font-size: 22px;
                margin-bottom: 20px;
            }
            
            .add-sub-user-card {
                padding: 20px;
                margin-bottom: 20px;
            }
            
            .sub-users-grid {
                grid-template-columns: 1fr;
                gap: 15px;
            }
            
            .sub-user-card {
                padding: 16px;
                border-radius: 8px;
            }
            
            .sub-user-header {
                flex-direction: column;
                gap: 12px;
                align-items: stretch;
            }
            
            .sub-user-info {
                margin-bottom: 8px;
            }
            
            .sub-user-info h5 {
                font-size: 16px;
                margin-bottom: 6px;
            }
            
            .sub-user-info p {
                font-size: 13px;
                margin: 3px 0;
                line-height: 1.4;
            }
            
            .sub-user-actions {
                justify-content: flex-end;
                align-self: flex-end;
            }
            
            .edit-sub-user-btn, .delete-sub-user-btn {
                padding: 8px 12px;
                font-size: 12px;
                border-radius: 4px;
            }
            
            .sub-user-meta {
                font-size: 11px;
                padding-top: 8px;
                margin-top: 8px;
            }
            
            #editSubUserModal > div {
                width: 95%;
                margin: 10px;
                max-height: 80vh;
                padding: 25px;
            }
        }
        
        @media (max-width: 480px) {
            .sub-users-section {
                margin-top: 25px;
            }
            
            .sub-users-section h3 {
                font-size: 18px;
                margin-bottom: 18px;
                text-align: center;
            }
            
            .sub-users-list h4 {
                font-size: 16px;
                margin-bottom: 15px;
                text-align: center;
            }
            
            .add-sub-user-card {
                padding: 15px;
                margin-bottom: 15px;
                border-radius: 12px;
            }
            
            .add-sub-user-card h4 {
                font-size: 16px;
                margin-bottom: 15px;
                text-align: center;
            }
            
            .sub-user-card {
                padding: 14px;
                border-radius: 8px;
                box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            }
            
            .sub-user-header {
                gap: 10px;
            }
            
            .sub-user-info h5 {
                font-size: 15px;
                margin-bottom: 4px;
                color: #169D53;
                font-weight: 600;
            }
            
            .sub-user-info p {
                font-size: 12px;
                margin: 2px 0;
                line-height: 1.3;
                color: #555;
            }
            
            .sub-user-actions {
                gap: 6px;
                margin-top: 8px;
            }
            
            .edit-sub-user-btn, .delete-sub-user-btn {
                padding: 6px 10px;
                font-size: 11px;
                min-width: 35px;
                height: 28px;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            
            .sub-user-meta {
                font-size: 10px;
                padding-top: 6px;
                margin-top: 6px;
                color: #777;
            }
            
            .no-sub-users {
                padding: 20px;
                border-radius: 8px;
            }
            
            .no-sub-users i {
                font-size: 32px !important;
                margin-bottom: 12px !important;
            }
            
            .no-sub-users p {
                font-size: 13px !important;
                margin: 5px 0 !important;
            }
            
            #editSubUserModal {
                padding: 10px;
            }
            
            #editSubUserModal > div {
                padding: 18px;
                border-radius: 12px;
                width: calc(100% - 20px);
                margin: 0;
            }
            
            #editSubUserModal h4 {
                font-size: 16px;
                margin-bottom: 15px;
            }
        }
        
        @media (max-width: 320px) {
            .sub-users-section {
                margin-top: 20px;
            }
            
            .sub-users-section h3 {
                font-size: 16px;
                margin-bottom: 15px;
            }
            
            .sub-users-list h4 {
                font-size: 14px;
                margin-bottom: 12px;
            }
            
            .add-sub-user-card {
                padding: 12px;
                margin-bottom: 12px;
            }
            
            .add-sub-user-card h4 {
                font-size: 14px;
                margin-bottom: 12px;
            }
            
            .sub-user-card {
                padding: 12px;
                margin-bottom: 8px;
            }
            
            .sub-user-info h5 {
                font-size: 14px;
                margin-bottom: 3px;
            }
            
            .sub-user-info p {
                font-size: 11px;
                margin: 1px 0;
                line-height: 1.2;
            }
            
            .sub-user-actions {
                gap: 4px;
                margin-top: 6px;
            }
            
            .edit-sub-user-btn, .delete-sub-user-btn {
                padding: 5px 8px;
                font-size: 10px;
                min-width: 30px;
                height: 26px;
            }
            
            .sub-user-meta {
                font-size: 9px;
                padding-top: 4px;
                margin-top: 4px;
            }
            
            .no-sub-users {
                padding: 15px;
            }
            
            .no-sub-users i {
                font-size: 28px !important;
                margin-bottom: 10px !important;
            }
            
            .no-sub-users p {
                font-size: 12px !important;
                margin: 3px 0 !important;
            }
            
            #editSubUserModal > div {
                padding: 15px;
                border-radius: 10px;
            }
            
            #editSubUserModal h4 {
                font-size: 14px;
                margin-bottom: 12px;
            }
        }
        
        /* Landscape orientation for mobile */
        @media (max-width: 768px) and (orientation: landscape) {
            .sub-users-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
            }
            
            .sub-user-card {
                padding: 12px;
            }
            
            .sub-user-info h5 {
                font-size: 14px;
            }
            
            .sub-user-info p {
                font-size: 11px;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <button class="back-btn" onclick="window.location.href='home.php'">
            <i class="fas fa-arrow-left"></i>
        </button>
        
        <div class="logo-section">
            <div class="logo-container">
                <img src="assets/images/Optislipimage.png" alt="Opti Slip Logo" class="logo-image" onerror="this.style.display='none'; this.parentElement.innerHTML='<div style=\'color: black; font-size: 32px; font-weight: bold; line-height: 1.2;\'>OPTI<br>SLIP</div>'">
            </div>
            <?php if (!$is_main_user): ?>
                <div style="text-align: center; margin-top: 10px; color: #169D53; font-weight: 600; font-size: 14px;">
                    👤 Sub User Access
                </div>
            <?php endif; ?>
        </div>
        
        <div class="form-card">
            <!-- Success/Error Messages -->
            <?php if ($success_message): ?>
                <div class="alert alert-success">
                    <i class="fas fa-check-circle me-2"></i>
                    <?php echo htmlspecialchars($success_message); ?>
                </div>
            <?php endif; ?>
            
            <?php if ($error_message): ?>
                <div class="alert alert-danger">
                    <i class="fas fa-exclamation-triangle me-2"></i>
                    <?php echo htmlspecialchars($error_message); ?>
                </div>
            <?php endif; ?>
            
            <form method="POST" enctype="multipart/form-data" id="shopForm">
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Shop Name</label>
                        <input type="text" name="shop_name" class="form-input<?php echo isset($field_errors['shop_name']) ? ' error' : ''; ?>" placeholder="Enter shop name" value="<?php echo htmlspecialchars($form_data['shop_name'] ?? ''); ?>" required>
                        <?php if (isset($field_errors['shop_name'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['shop_name']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Shop Address</label>
                        <textarea name="shop_address" class="form-input<?php echo isset($field_errors['shop_address']) ? ' error' : ''; ?>" placeholder="Enter shop address" rows="3"><?php echo htmlspecialchars($form_data['shop_address'] ?? ''); ?></textarea>
                        <?php if (isset($field_errors['shop_address'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['shop_address']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Phone Number</label>
                        <input type="tel" name="phone_number" class="form-input<?php echo isset($field_errors['phone_number']) ? ' error' : ''; ?>" placeholder="Enter phone number" value="<?php echo htmlspecialchars($form_data['phone_number'] ?? ''); ?>" required>
                        <?php if (isset($field_errors['phone_number'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['phone_number']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">User Name</label>
                        <input type="text" name="user_name" class="form-input<?php echo isset($field_errors['user_name']) ? ' error' : ''; ?>" placeholder="Enter user name" value="<?php echo htmlspecialchars($form_data['user_name'] ?? ''); ?>" required>
                        <?php if (isset($field_errors['user_name'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['user_name']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Password</label>
                        <input type="password" name="password" class="form-input<?php echo isset($field_errors['password']) ? ' error' : ''; ?>" placeholder="Enter new password (optional)">
                        <?php if (isset($field_errors['password'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['password']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Upload Logo</label>
                        <div class="upload-group">
                            <input type="text" class="upload-input" id="fileName" placeholder="Choose file..." readonly>
                            <button type="button" class="upload-btn" onclick="document.getElementById('shop_logo').click()">UPLOAD</button>
                        </div>
                        <input type="file" id="shop_logo" name="shop_logo" class="hidden-file-input" accept="image/*,.jpg,.jpeg,.png,.gif" onchange="updateFileName(this)">
                        <?php if (isset($field_errors['shop_logo'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['shop_logo']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Currency</label>
                        <select name="currency" class="form-input<?php echo isset($field_errors['currency']) ? ' error' : ''; ?>">
                            <option value="USD" <?php echo ($form_data['currency'] ?? 'USD') == 'USD' ? 'selected' : ''; ?>>USD - US Dollar ($)</option>
                            <option value="EUR" <?php echo ($form_data['currency'] ?? '') == 'EUR' ? 'selected' : ''; ?>>EUR - Euro (€)</option>
                            <option value="GBP" <?php echo ($form_data['currency'] ?? '') == 'GBP' ? 'selected' : ''; ?>>GBP - British Pound (£)</option>
                            <option value="PKR" <?php echo ($form_data['currency'] ?? '') == 'PKR' ? 'selected' : ''; ?>>PKR - Pakistani Rupee (₨)</option>
                            <option value="INR" <?php echo ($form_data['currency'] ?? '') == 'INR' ? 'selected' : ''; ?>>INR - Indian Rupee (₹)</option>
                            <option value="AED" <?php echo ($form_data['currency'] ?? '') == 'AED' ? 'selected' : ''; ?>>AED - UAE Dirham (د.إ)</option>
                            <option value="SAR" <?php echo ($form_data['currency'] ?? '') == 'SAR' ? 'selected' : ''; ?>>SAR - Saudi Riyal (ï·¼)</option>
                            <option value="CAD" <?php echo ($form_data['currency'] ?? '') == 'CAD' ? 'selected' : ''; ?>>CAD - Canadian Dollar ($)</option>
                            <option value="AUD" <?php echo ($form_data['currency'] ?? '') == 'AUD' ? 'selected' : ''; ?>>AUD - Australian Dollar ($)</option>
                            <option value="JPY" <?php echo ($form_data['currency'] ?? '') == 'JPY' ? 'selected' : ''; ?>>JPY - Japanese Yen (Â¥)</option>
                            <option value="CNY" <?php echo ($form_data['currency'] ?? '') == 'CNY' ? 'selected' : ''; ?>>CNY - Chinese Yuan (Â¥)</option>
                            <option value="CHF" <?php echo ($form_data['currency'] ?? '') == 'CHF' ? 'selected' : ''; ?>>CHF - Swiss Franc (Fr)</option>
                            <option value="SGD" <?php echo ($form_data['currency'] ?? '') == 'SGD' ? 'selected' : ''; ?>>SGD - Singapore Dollar ($)</option>
                            <option value="MYR" <?php echo ($form_data['currency'] ?? '') == 'MYR' ? 'selected' : ''; ?>>MYR - Malaysian Ringgit (RM)</option>
                            <option value="BDT" <?php echo ($form_data['currency'] ?? '') == 'BDT' ? 'selected' : ''; ?>>BDT - Bangladeshi Taka (à§³)</option>
                            <option value="THB" <?php echo ($form_data['currency'] ?? '') == 'THB' ? 'selected' : ''; ?>>THB - Thai Baht (฿)</option>
                            <option value="KRW" <?php echo ($form_data['currency'] ?? '') == 'KRW' ? 'selected' : ''; ?>>KRW - South Korean Won (â‚©)</option>
                            <option value="ZAR" <?php echo ($form_data['currency'] ?? '') == 'ZAR' ? 'selected' : ''; ?>>ZAR - South African Rand (R)</option>
                            <option value="TRY" <?php echo ($form_data['currency'] ?? '') == 'TRY' ? 'selected' : ''; ?>>TRY - Turkish Lira (₺)</option>
                            <option value="BRL" <?php echo ($form_data['currency'] ?? '') == 'BRL' ? 'selected' : ''; ?>>BRL - Brazilian Real (R$)</option>
                            <option value="MXN" <?php echo ($form_data['currency'] ?? '') == 'MXN' ? 'selected' : ''; ?>>MXN - Mexican Peso ($)</option>
                            <option value="NZD" <?php echo ($form_data['currency'] ?? '') == 'NZD' ? 'selected' : ''; ?>>NZD - New Zealand Dollar ($)</option>
                            <option value="RUB" <?php echo ($form_data['currency'] ?? '') == 'RUB' ? 'selected' : ''; ?>>RUB - Russian Ruble (₽)</option>
                        </select>
                        <?php if (isset($field_errors['currency'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['currency']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">WhatsApp Number</label>
                        <input type="tel" name="whatsapp_number" class="form-input<?php echo isset($field_errors['whatsapp_number']) ? ' error' : ''; ?>" placeholder="Enter WhatsApp number" value="<?php echo htmlspecialchars($form_data['whatsapp_number'] ?? ''); ?>">
                        <?php if (isset($field_errors['whatsapp_number'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['whatsapp_number']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Facebook ID</label>
                        <input type="text" name="facebook_id" class="form-input<?php echo isset($field_errors['facebook_id']) ? ' error' : ''; ?>" placeholder="Enter Facebook ID" value="<?php echo htmlspecialchars($form_data['facebook_id'] ?? ''); ?>">
                        <?php if (isset($field_errors['facebook_id'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['facebook_id']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Instagram ID</label>
                        <input type="text" name="instagram_id" class="form-input<?php echo isset($field_errors['instagram_id']) ? ' error' : ''; ?>" placeholder="Enter Instagram ID" value="<?php echo htmlspecialchars($form_data['instagram_id'] ?? ''); ?>">
                        <?php if (isset($field_errors['instagram_id'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['instagram_id']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Website</label>
                        <input type="url" name="website" class="form-input<?php echo isset($field_errors['website']) ? ' error' : ''; ?>" placeholder="Enter website URL" value="<?php echo htmlspecialchars($form_data['website'] ?? ''); ?>">
                        <?php if (isset($field_errors['website'])): ?>
                            <div class="field-error"><?php echo htmlspecialchars($field_errors['website']); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <div class="button-group">
                    <button type="submit" class="nav-btn primary">Save</button>
                    <button type="button" class="nav-btn" onclick="resetForm()">Reset</button>
                </div>
            </form>

            <?php if ($is_main_user): ?>
            <!-- Sub Users Management Section (Only for Main Users) -->
            <div class="sub-users-section" style="margin-top: 40px;">
                <h3 style="color: #169D53; margin-bottom: 25px; font-weight: 700; font-size: 24px;">Sub Users Management</h3>
                
                <!-- Add New Sub User Form -->
                <div class="add-sub-user-card" style="background: white; border: 2px solid #169D53; border-radius: 15px; padding: 25px; margin-bottom: 25px;">
                    <h4 style="color: #333; margin-bottom: 20px; font-weight: 600;">Add New Sub User</h4>
                    <form method="POST" id="addSubUserForm">
                        <input type="hidden" name="action" value="create_sub_user">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="field-card">
                                    <div class="form-group">
                                        <label class="form-label">Sub User Name</label>
                                        <input type="text" name="sub_name" class="form-input" placeholder="Enter sub user name" required>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="field-card">
                                    <div class="form-group">
                                        <label class="form-label">Email</label>
                                        <input type="email" name="sub_email" class="form-input" placeholder="Enter email" required>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-6">
                                <div class="field-card">
                                    <div class="form-group">
                                        <label class="form-label">Password</label>
                                        <input type="password" name="sub_password" class="form-input" placeholder="Enter password" required>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="field-card">
                                    <div class="form-group">
                                        <label class="form-label">Phone Number</label>
                                        <input type="tel" name="sub_phone" class="form-input" placeholder="Enter phone number">
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="button-group">
                            <button type="submit" class="nav-btn primary">Add Sub User</button>
                        </div>
                    </form>
                </div>

                <!-- Sub Users List -->
                <div class="sub-users-list">
                    <h4 style="color: #333; margin-bottom: 20px; font-weight: 600;">Existing Sub Users</h4>
                    <?php if (empty($sub_users)): ?>
                        <div class="no-sub-users" style="text-align: center; padding: 40px; background: #f8f9fa; border-radius: 10px; color: #666;">
                            <i class="fas fa-users" style="font-size: 48px; margin-bottom: 15px; color: #ccc;"></i>
                            <p style="margin: 0; font-size: 16px;">No sub users found.</p>
                            <?php if ($current_user_id): ?>
                                <p style="margin: 10px 0 0 0; font-size: 12px; color: #999;">Main User ID: <?php echo $current_user_id; ?></p>
                                <p style="margin: 5px 0 0 0; font-size: 12px; color: #999;">Is Main User: <?php echo $is_main_user ? 'Yes' : 'No'; ?></p>
                            <?php endif; ?>
                        </div>
                    <?php else: ?>
                        <div class="sub-users-grid">
                            <?php foreach ($sub_users as $sub_user): ?>
                                <div class="sub-user-card">
                                    <div class="sub-user-header">
                                        <div class="sub-user-info">
                                            <h5><?php echo htmlspecialchars($sub_user['name']); ?></h5>
                                            <p><i class="fas fa-envelope" style="margin-right: 6px; color: #169D53;"></i><?php echo htmlspecialchars($sub_user['email']); ?></p>
                                            <?php if (!empty($sub_user['phone'])): ?>
                                                <p><i class="fas fa-phone" style="margin-right: 6px; color: #169D53;"></i><?php echo htmlspecialchars($sub_user['phone']); ?></p>
                                            <?php endif; ?>
                                        </div>
                                        <div class="sub-user-actions">
                                            <button type="button" class="edit-sub-user-btn" onclick="editSubUser(<?php echo $sub_user['id']; ?>, '<?php echo htmlspecialchars($sub_user['name']); ?>', '<?php echo htmlspecialchars($sub_user['email']); ?>', '<?php echo htmlspecialchars($sub_user['phone'] ?? ''); ?>')" 
                                                title="Edit Sub User">
                                                <i class="fas fa-edit"></i>
                                            </button>
                                            <button type="button" class="delete-sub-user-btn" onclick="deleteSubUser(<?php echo $sub_user['id']; ?>, '<?php echo htmlspecialchars($sub_user['name']); ?>')" 
                                                title="Delete Sub User">
                                                <i class="fas fa-trash"></i>
                                            </button>
                                        </div>
                                    </div>
                                    <div class="sub-user-meta">
                                        <i class="fas fa-calendar" style="margin-right: 5px;"></i>
                                        Created: <?php echo date('M d, Y', strtotime($sub_user['created_at'])); ?>
                                    </div>
                                </div>
                            <?php endforeach; ?>
                        </div>
                    <?php endif; ?>
                </div>
            </div>
            <?php endif; ?>
        </div>
    </div>

    <!-- Edit Sub User Modal -->
    <div id="editSubUserModal" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1000; align-items: center; justify-content: center;">
        <div style="background: white; border-radius: 15px; padding: 30px; max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto;">
            <h4 style="color: #333; margin-bottom: 20px; font-weight: 600;">Edit Sub User</h4>
            <form method="POST" id="editSubUserForm">
                <input type="hidden" name="action" value="update_sub_user">
                <input type="hidden" name="sub_id" id="editSubUserId">
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Sub User Name</label>
                        <input type="text" name="sub_name" id="editSubUserName" class="form-input" placeholder="Enter sub user name" required>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Email</label>
                        <input type="email" name="sub_email" id="editSubUserEmail" class="form-input" placeholder="Enter email" required>
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">Phone Number</label>
                        <input type="tel" name="sub_phone" id="editSubUserPhone" class="form-input" placeholder="Enter phone number">
                    </div>
                </div>
                
                <div class="field-card">
                    <div class="form-group">
                        <label class="form-label">New Password (leave empty to keep current)</label>
                        <input type="password" name="sub_password" class="form-input" placeholder="Enter new password">
                    </div>
                </div>
                
                <div class="button-group">
                    <button type="submit" class="nav-btn primary">Update Sub User</button>
                    <button type="button" class="nav-btn" onclick="closeEditModal()">Cancel</button>
                </div>
            </form>
        </div>
    </div>
    
    <script>
        function updateFileName(input) {
            const fileName = document.getElementById('fileName');
            if (input.files && input.files[0]) {
                fileName.value = input.files[0].name;
                fileName.style.color = '#169D53';
                console.log('File selected:', input.files[0].name);
            } else {
                fileName.value = 'Choose file...';
                fileName.style.color = '#9ca3af';
            }
        }
        
        function resetForm() {
            if (confirm('Are you sure you want to reset all fields?')) {
                document.getElementById('shopForm').reset();
                document.getElementById('fileName').value = 'Choose file...';
                document.getElementById('fileName').style.color = '#9ca3af';
            }
        }
        
        // Sub Users Management Functions
        function editSubUser(id, name, email, phone) {
            document.getElementById('editSubUserId').value = id;
            document.getElementById('editSubUserName').value = name;
            document.getElementById('editSubUserEmail').value = email;
            document.getElementById('editSubUserPhone').value = phone || '';
            
            const modal = document.getElementById('editSubUserModal');
            modal.style.display = 'flex';
            document.body.style.overflow = 'hidden';
        }
        
        function closeEditModal() {
            const modal = document.getElementById('editSubUserModal');
            modal.style.display = 'none';
            document.body.style.overflow = 'auto';
            
            // Reset form
            document.getElementById('editSubUserForm').reset();
        }
        
        function deleteSubUser(id, name) {
            if (confirm(`Are you sure you want to delete sub user "${name}"? This action cannot be undone.`)) {
                const form = document.createElement('form');
                form.method = 'POST';
                form.style.display = 'none';
                
                const actionInput = document.createElement('input');
                actionInput.type = 'hidden';
                actionInput.name = 'action';
                actionInput.value = 'delete_sub_user';
                
                const idInput = document.createElement('input');
                idInput.type = 'hidden';
                idInput.name = 'sub_id';
                idInput.value = id;
                
                form.appendChild(actionInput);
                form.appendChild(idInput);
                document.body.appendChild(form);
                form.submit();
            }
        }
        
        // Close modal when clicking outside
        document.addEventListener('click', function(e) {
            const modal = document.getElementById('editSubUserModal');
            if (e.target === modal) {
                closeEditModal();
            }
        });
        
        // Form submission enhancement
        document.addEventListener('DOMContentLoaded', function() {
            const form = document.getElementById('shopForm');
            if (form) {
                form.addEventListener('submit', function(e) {
                    const submitBtn = form.querySelector('button[type="submit"]');
                    submitBtn.disabled = true;
                    submitBtn.textContent = 'Saving...';
                    
                    // Re-enable after 3 seconds to prevent permanent disable on error
                    setTimeout(() => {
                        submitBtn.disabled = false;
                        submitBtn.textContent = 'Save';
                    }, 3000);
                });
            }
            
            // Sub user form submission enhancement
            const addSubUserForm = document.getElementById('addSubUserForm');
            if (addSubUserForm) {
                addSubUserForm.addEventListener('submit', function(e) {
                    const submitBtn = addSubUserForm.querySelector('button[type="submit"]');
                    submitBtn.disabled = true;
                    submitBtn.textContent = 'Adding...';
                    
                    // Set a flag to clear form after submission
                    setTimeout(() => {
                        submitBtn.disabled = false;
                        submitBtn.textContent = 'Add Sub User';
                        
                        // Check if success message exists, then clear form
                        const successAlert = document.querySelector('.alert-success');
                        if (successAlert && successAlert.textContent.includes('Sub user created successfully')) {
                            addSubUserForm.reset();
                        }
                    }, 1000);
                });
            }
            
            // Clear sub user form on success
            <?php if (isset($success_message) && strpos($success_message, 'Sub user created successfully') !== false): ?>
                // Clear the add sub user form after successful creation
                setTimeout(() => {
                    const addSubUserForm = document.getElementById('addSubUserForm');
                    if (addSubUserForm) {
                        addSubUserForm.reset();
                    }
                }, 500);
            <?php endif; ?>
            
            const editSubUserForm = document.getElementById('editSubUserForm');
            if (editSubUserForm) {
                editSubUserForm.addEventListener('submit', function(e) {
                    const submitBtn = editSubUserForm.querySelector('button[type="submit"]');
                    submitBtn.disabled = true;
                    submitBtn.textContent = 'Updating...';
                    
                    setTimeout(() => {
                        submitBtn.disabled = false;
                        submitBtn.textContent = 'Update Sub User';
                    }, 3000);
                });
            }
        });
    </script>
</body>
</html>