Index: interfejs/store-owner.html
===================================================================
--- interfejs/store-owner.html	(revision 2d1ec46933bbbd721e985423c96581bc0a7485ed)
+++ interfejs/store-owner.html	(revision 69f2a41cff81a4c7825abb68eb0f0eff6818e4e5)
@@ -18,6 +18,4 @@
             <li><a href="products.html">Products</a></li>
             <li><a href="#" id="dashboard-link" class="active">Store Owner</a></li>
-            <li><a href="change-password.html" class="change-password-btn">🔑 Change Password</a></li>
-            <li><a href="#" id="logout-link">Logout</a></li>
         </ul>
     </nav>
@@ -153,5 +151,4 @@
                     </select>
                 </div>
-
                 <div id="custom-date-range" style="display: none;">
                     <div class="form-row">
@@ -166,5 +163,4 @@
                     </div>
                 </div>
-
                 <div class="form-group">
                     <label for="report-type">Report Type</label>
@@ -176,7 +172,5 @@
                     </select>
                 </div>
-
                 <button id="generate-store-report" class="btn-primary">Generate Report</button>
-
                 <div id="report-results" style="margin-top: 2rem;"></div>
             </div>
@@ -220,12 +214,9 @@
                             <input type="number" id="product-production-time" min="1" required>
                         </div>
-                        <div class="form-group category-group">
+                        <div class="form-group">
                             <label for="product-category">Category *</label>
-                            <div class="category-input-group">
-                                <select id="product-category" required>
-                                    <option value="">Select Category</option>
-                                </select>
-                                <button type="button" id="add-category-btn" class="btn-small btn-secondary">➕ New Category</button>
-                            </div>
+                            <select id="product-category" required>
+                                <option value="">Select Category</option>
+                            </select>
                         </div>
                     </div>
@@ -295,5 +286,4 @@
 </main>
 
-<!-- Edit Product Modal -->
 <div id="edit-product-modal" class="modal" style="display: none;">
     <div class="modal-content modal-large">
@@ -335,12 +325,9 @@
                     <input type="number" id="edit-product-production-time" min="1">
                 </div>
-                <div class="form-group category-group">
+                <div class="form-group">
                     <label for="edit-product-category">Category</label>
-                    <div class="category-input-group">
-                        <select id="edit-product-category">
-                            <option value="">Select Category</option>
-                        </select>
-                        <button type="button" id="edit-add-category-btn" class="btn-small btn-secondary">➕ New Category</button>
-                    </div>
+                    <select id="edit-product-category">
+                        <option value="">Select Category</option>
+                    </select>
                 </div>
             </div>
@@ -361,5 +348,4 @@
 </div>
 
-<!-- Edit Employee Modal -->
 <div id="edit-employee-modal" class="modal" style="display: none;">
     <div class="modal-content">
@@ -395,33 +381,4 @@
 
             <button type="submit" class="btn-primary">Update Employee</button>
-        </form>
-    </div>
-</div>
-
-<!-- Add Category Modal -->
-<div id="add-category-modal" class="modal" style="display: none;">
-    <div class="modal-content">
-        <span class="close">&times;</span>
-        <h2>Create New Category</h2>
-        <form id="add-category-form" class="form">
-            <div class="form-group">
-                <label for="category-name">Category Name *</label>
-                <input type="text" id="category-name" required>
-            </div>
-
-            <div class="form-group">
-                <label for="category-description">Description</label>
-                <textarea id="category-description" rows="3" placeholder="Optional description"></textarea>
-            </div>
-
-            <div class="form-group">
-                <label for="category-parent">Parent Category (optional)</label>
-                <select id="category-parent">
-                    <option value="">None (Top Level Category)</option>
-                </select>
-            </div>
-
-            <button type="submit" class="btn-primary">Create Category</button>
-            <button type="button" id="cancel-category-btn" class="btn-secondary">Cancel</button>
         </form>
     </div>
@@ -451,5 +408,4 @@
     document.addEventListener('DOMContentLoaded', async () => {
         const user = await loadUserData();
-
         if (!user || user.userType !== 'store_owner') {
             window.location.href = 'index.html';
@@ -458,10 +414,4 @@
 
         document.getElementById('owner-name').textContent = `${user.firstName} ${user.lastName || ''}`;
-
-        // Logout functionality
-        document.getElementById('logout-link').addEventListener('click', async (e) => {
-            e.preventDefault();
-            await logout();
-        });
 
         // Load stores
@@ -492,5 +442,4 @@
                 document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
                 document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
-
                 btn.classList.add('active');
                 document.getElementById(`${btn.dataset.tab}-tab`).classList.add('active');
@@ -515,21 +464,4 @@
         // Generate report
         document.getElementById('generate-store-report').addEventListener('click', generateStoreReport);
-
-        // Add Category button functionality
-        document.getElementById('add-category-btn').addEventListener('click', () => {
-            openCategoryModal();
-        });
-
-        document.getElementById('edit-add-category-btn').addEventListener('click', () => {
-            openCategoryModal('edit');
-        });
-
-        // Category form submission
-        document.getElementById('add-category-form').addEventListener('submit', createCategory);
-
-        // Cancel button
-        document.getElementById('cancel-category-btn').addEventListener('click', () => {
-            document.getElementById('add-category-modal').style.display = 'none';
-        });
     });
 
@@ -569,19 +501,18 @@
 
             const tbody = document.getElementById('products-list');
-
             if (data.success && data.products.length > 0) {
                 tbody.innerHTML = data.products.map(product => `
-                    <tr>
-                        <td>${product.code}</td>
-                        <td>${product.description.substring(0, 30)}${product.description.length > 30 ? '...' : ''}</td>
-                        <td>$${parseFloat(product.price).toFixed(2)}</td>
-                        <td>${product.availability}</td>
-                        <td>${product.category_name || 'General'}</td>
-                        <td>
-                            <button class="btn-small" onclick="editProduct('${product.code}')">Edit</button>
-                            <button class="btn-small" style="background: var(--danger);" onclick="deleteProduct('${product.code}', '${storeId}')">Delete</button>
-                        </td>
-                    </tr>
-                `).join('');
+                        <tr>
+                            <td>${product.code}</td>
+                            <td>${product.description.substring(0, 30)}${product.description.length > 30 ? '...' : ''}</td>
+                            <td>$${parseFloat(product.price).toFixed(2)}</td>
+                            <td>${product.availability}</td>
+                            <td>${product.category_name || 'General'}</td>
+                            <td>
+                                <button class="btn-small" onclick="editProduct('${product.code}')">Edit</button>
+                                <button class="btn-small" style="background: var(--danger);" onclick="deleteProduct('${product.code}', '${storeId}')">Delete</button>
+                            </td>
+                        </tr>
+                    `).join('');
             } else {
                 tbody.innerHTML = '<tr><td colspan="6">No products found</td></tr>';
@@ -599,22 +530,20 @@
 
             const tbody = document.getElementById('orders-list');
-
             if (data.success && data.orders.length > 0) {
                 tbody.innerHTML = data.orders.map(order => {
                     const total = order.items ? order.items.reduce((sum, item) =>
                         sum + (item.price * item.quantity), 0) : 0;
-
                     return `
-                        <tr>
-                            <td>${order.order_num}</td>
-                            <td>${order.first_name} ${order.last_name}</td>
-                            <td>${new Date(order.order_date).toLocaleDateString()}</td>
-                            <td><span class="status-badge status-${order.status}">${order.status}</span></td>
-                            <td>$${total.toFixed(2)}</td>
-                            <td>
-                                <button class="btn-small" onclick="viewOrder('${order.order_num}')">View</button>
-                            </td>
-                        </tr>
-                    `;
+                            <tr>
+                                <td>${order.order_num}</td>
+                                <td>${order.first_name} ${order.last_name}</td>
+                                <td>${new Date(order.order_date).toLocaleDateString()}</td>
+                                <td><span class="status-badge status-${order.status}">${order.status}</span></td>
+                                <td>$${total.toFixed(2)}</td>
+                                <td>
+                                    <button class="btn-small" onclick="viewOrder('${order.order_num}')">View</button>
+                                </td>
+                            </tr>
+                        `;
                 }).join('');
             } else {
@@ -633,19 +562,18 @@
 
             const tbody = document.getElementById('employees-list');
-
             if (data.success && data.employees.length > 0) {
                 tbody.innerHTML = data.employees.map(emp => `
-                    <tr>
-                        <td>${emp.id}</td>
-                        <td>${emp.first_name} ${emp.last_name}</td>
-                        <td>${emp.email}</td>
-                        <td>${emp.date_of_hire || 'N/A'}</td>
-                        <td><span class="status-badge">${emp.permission_type || 'EMPLOYEE'}</span></td>
-                        <td>
-                            <button class="btn-small" onclick="editEmployee('${emp.id}')">Edit</button>
-                            <button class="btn-small" style="background: var(--danger);" onclick="deleteEmployee('${emp.id}', '${storeId}')">Delete</button>
-                        </td>
-                    </tr>
-                `).join('');
+                        <tr>
+                            <td>${emp.id}</td>
+                            <td>${emp.first_name} ${emp.last_name}</td>
+                            <td>${emp.email}</td>
+                            <td>${emp.date_of_hire || 'N/A'}</td>
+                            <td><span class="status-badge">${emp.permission_type || 'EMPLOYEE'}</span></td>
+                            <td>
+                                <button class="btn-small" onclick="editEmployee('${emp.id}')">Edit</button>
+                                <button class="btn-small" style="background: var(--danger);" onclick="deleteEmployee('${emp.id}', '${storeId}')">Delete</button>
+                            </td>
+                        </tr>
+                    `).join('');
             } else {
                 tbody.innerHTML = '<tr><td colspan="6">No employees found</td></tr>';
@@ -664,76 +592,12 @@
             if (data.success) {
                 const options = data.categories.map(cat =>
-                    `<option value="${cat.category_id}">${cat.name}${cat.parent_name ? ` (subcategory of ${cat.parent_name})` : ''}</option>`
+                    `<option value="${cat.category_id}">${cat.name}</option>`
                 ).join('');
 
                 document.getElementById('product-category').innerHTML = '<option value="">Select Category</option>' + options;
                 document.getElementById('edit-product-category').innerHTML = '<option value="">Select Category</option>' + options;
-
-                // Also load for category parent dropdown
-                const parentOptions = data.categories.map(cat =>
-                    `<option value="${cat.category_id}">${cat.name}</option>`
-                ).join('');
-
-                document.getElementById('category-parent').innerHTML = '<option value="">None (Top Level Category)</option>' + parentOptions;
             }
         } catch (error) {
             console.error('Error loading categories:', error);
-        }
-    }
-
-    function openCategoryModal(source = 'add') {
-        // Store which form triggered this
-        document.getElementById('add-category-modal').dataset.source = source;
-        document.getElementById('add-category-modal').style.display = 'block';
-        document.getElementById('add-category-form').reset();
-    }
-
-    async function createCategory(e) {
-        e.preventDefault();
-
-        const categoryName = document.getElementById('category-name').value.trim();
-        const categoryDescription = document.getElementById('category-description').value.trim();
-        const parentId = document.getElementById('category-parent').value;
-
-        if (!categoryName) {
-            alert('Please enter a category name');
-            return;
-        }
-
-        const categoryData = {
-            name: categoryName,
-            description: categoryDescription,
-            parentId: parentId || null
-        };
-
-        try {
-            const response = await fetch('/api/create-category', {
-                method: 'POST',
-                headers: { 'Content-Type': 'application/json' },
-                body: JSON.stringify(categoryData)
-            });
-
-            const data = await response.json();
-
-            if (data.success) {
-                alert(`Category "${categoryName}" created successfully!`);
-                document.getElementById('add-category-modal').style.display = 'none';
-
-                // Reload categories in all dropdowns
-                await loadCategories();
-
-                // Auto-select the new category if it came from add product form
-                const source = document.getElementById('add-category-modal').dataset.source;
-                if (source === 'edit') {
-                    document.getElementById('edit-product-category').value = data.category.id;
-                } else {
-                    document.getElementById('product-category').value = data.category.id;
-                }
-            } else {
-                alert(data.message || 'Failed to create category');
-            }
-        } catch (error) {
-            console.error('Error creating category:', error);
-            alert('An error occurred while creating the category');
         }
     }
@@ -743,5 +607,4 @@
 
         const storeId = document.getElementById('store-select').value;
-
         if (!storeId) {
             alert('Please select a store first');
@@ -801,5 +664,4 @@
                 document.getElementById('add-product-form').reset();
                 loadProducts(storeId);
-
                 // Switch to products tab
                 document.querySelector('[data-tab="products"]').click();
@@ -817,5 +679,4 @@
 
         const storeId = document.getElementById('store-select').value;
-
         if (!storeId) {
             alert('Please select a store first');
@@ -825,5 +686,4 @@
         const password = document.getElementById('employee-password').value;
         const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
-
         if (!passwordRegex.test(password)) {
             alert('Password must have at least 8 characters, including uppercase, lowercase, number and special character');
@@ -854,5 +714,4 @@
                 document.getElementById('add-employee-form').reset();
                 loadEmployees(storeId);
-
                 // Switch to employees tab
                 document.querySelector('[data-tab="employees"]').click();
@@ -903,5 +762,4 @@
 
         const storeId = document.getElementById('store-select').value;
-
         const formData = {
             code: document.getElementById('edit-product-code').value,
@@ -1002,5 +860,4 @@
 
         const storeId = document.getElementById('store-select').value;
-
         const formData = {
             employeeId: document.getElementById('edit-employee-id').value,
@@ -1040,9 +897,7 @@
 
         let startDate, endDate;
-
         if (period === 'custom') {
             startDate = document.getElementById('report-start').value;
             endDate = document.getElementById('report-end').value;
-
             if (!startDate || !endDate) {
                 alert('Please select start and end dates');
@@ -1077,9 +932,9 @@
 
         document.getElementById('report-results').innerHTML = `
-            <div class="dashboard-section">
-                <h4>Generating Report...</h4>
-                <div class="loading">Please wait</div>
-            </div>
-        `;
+                <div class="dashboard-section">
+                    <h4>Generating Report...</h4>
+                    <div class="loading">Please wait</div>
+                </div>
+            `;
 
         try {
@@ -1100,28 +955,28 @@
             if (data.success) {
                 document.getElementById('report-results').innerHTML = `
-                    <div class="dashboard-section">
-                        <h4>Report Generated Successfully</h4>
-                        <p><strong>Report ID:</strong> ${data.reportId}</p>
-                        <p><strong>Period:</strong> ${data.report.period}</p>
-                        <p><strong>Date Range:</strong> ${data.report.startDate} to ${data.report.endDate}</p>
-                        <p><strong>Type:</strong> ${data.report.type}</p>
-                        <p><strong>Generated:</strong> ${new Date(data.report.generatedAt).toLocaleString()}</p>
-                        <button class="btn-small" onclick="downloadReport('${data.reportId}')">Download Report</button>
-                    </div>
-                `;
+                        <div class="dashboard-section">
+                            <h4>Report Generated Successfully</h4>
+                            <p><strong>Report ID:</strong> ${data.reportId}</p>
+                            <p><strong>Period:</strong> ${data.report.period}</p>
+                            <p><strong>Date Range:</strong> ${data.report.startDate} to ${data.report.endDate}</p>
+                            <p><strong>Type:</strong> ${data.report.type}</p>
+                            <p><strong>Generated:</strong> ${new Date(data.report.generatedAt).toLocaleString()}</p>
+                            <button class="btn-small" onclick="downloadReport('${data.reportId}')">Download Report</button>
+                        </div>
+                    `;
             } else {
                 document.getElementById('report-results').innerHTML = `
-                    <div class="dashboard-section">
-                        <p class="error">Failed to generate report: ${data.message}</p>
-                    </div>
-                `;
+                        <div class="dashboard-section">
+                            <p class="error">Failed to generate report: ${data.message}</p>
+                        </div>
+                    `;
             }
         } catch (error) {
             console.error('Error generating report:', error);
             document.getElementById('report-results').innerHTML = `
-                <div class="dashboard-section">
-                    <p class="error">An error occurred while generating the report</p>
-                </div>
-            `;
+                    <div class="dashboard-section">
+                        <p class="error">An error occurred while generating the report</p>
+                    </div>
+                `;
         }
     }
