Index: interfejs/admin.html
===================================================================
--- interfejs/admin.html	(revision 2d1ec46933bbbd721e985423c96581bc0a7485ed)
+++ interfejs/admin.html	(revision 69f2a41cff81a4c7825abb68eb0f0eff6818e4e5)
@@ -18,6 +18,4 @@
       <li><a href="products.html">Products</a></li>
       <li><a href="#" id="dashboard-link" class="active">Admin</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>
@@ -203,5 +201,4 @@
   document.addEventListener('DOMContentLoaded', async () => {
     const user = await loadUserData();
-
     if (!user || user.userType !== 'admin') {
       window.location.href = 'index.html';
@@ -210,10 +207,4 @@
 
     document.getElementById('admin-name').textContent = user.username || 'Administrator';
-
-    // Logout functionality
-    document.getElementById('logout-link').addEventListener('click', async (e) => {
-      e.preventDefault();
-      await logout();
-    });
 
     // Tab switching
@@ -222,5 +213,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');
@@ -281,17 +271,16 @@
 
       const tbody = document.getElementById('users-list');
-
       if (data.success && data.users.length > 0) {
         tbody.innerHTML = data.users.map(user => `
-                    <tr>
-                        <td>${user.id || user.client_id || 'N/A'}</td>
-                        <td>${user.firstName || user.first_name || user.username || 'N/A'} ${user.lastName || user.last_name || ''}</td>
-                        <td>${user.email || 'N/A'}</td>
-                        <td><span class="status-badge status-${user.user_type || user.userType || 'unknown'}">${user.user_type || user.userType || 'unknown'}</span></td>
-                        <td>
-                            <button class="btn-small" onclick="viewUser('${user.id || user.client_id}')">View</button>
-                        </td>
-                    </tr>
-                `).join('');
+                        <tr>
+                            <td>${user.id || user.client_id || 'N/A'}</td>
+                            <td>${user.firstName || user.first_name || user.username || 'N/A'} ${user.lastName || user.last_name || ''}</td>
+                            <td>${user.email || 'N/A'}</td>
+                            <td><span class="status-badge status-${user.user_type || user.userType || 'unknown'}">${user.user_type || user.userType || 'unknown'}</span></td>
+                            <td>
+                                <button class="btn-small" onclick="viewUser('${user.id || user.client_id}')">View</button>
+                            </td>
+                        </tr>
+                    `).join('');
       } else {
         tbody.innerHTML = '<tr><td colspan="5">No users found</td></tr>';
@@ -309,17 +298,16 @@
 
       const tbody = document.getElementById('stores-list');
-
       if (data.success && data.stores.length > 0) {
         tbody.innerHTML = data.stores.map(store => `
-                    <tr>
-                        <td>${store.store_id}</td>
-                        <td>${store.name}</td>
-                        <td>${store.store_email}</td>
-                        <td>${store.rating || '0.0'}</td>
-                        <td>
-                            <button class="btn-small" onclick="viewStore('${store.store_id}')">View</button>
-                        </td>
-                    </tr>
-                `).join('');
+                        <tr>
+                            <td>${store.store_id}</td>
+                            <td>${store.name}</td>
+                            <td>${store.store_email}</td>
+                            <td>${store.rating || '0.0'}</td>
+                            <td>
+                                <button class="btn-small" onclick="viewStore('${store.store_id}')">View</button>
+                            </td>
+                        </tr>
+                    `).join('');
       } else {
         tbody.innerHTML = '<tr><td colspan="5">No stores found</td></tr>';
@@ -337,16 +325,15 @@
 
       const tbody = document.getElementById('orders-list');
-
       if (data.success && data.orders.length > 0) {
         tbody.innerHTML = data.orders.map(order => `
-                    <tr>
-                        <td>${order.order_num}</td>
-                        <td>${order.first_name} ${order.last_name}</td>
-                        <td>${order.store_name}</td>
-                        <td>${new Date(order.order_date).toLocaleDateString()}</td>
-                        <td><span class="status-badge status-${order.status}">${order.status}</span></td>
-                        <td>$${parseFloat(order.total || 0).toFixed(2)}</td>
-                    </tr>
-                `).join('');
+                        <tr>
+                            <td>${order.order_num}</td>
+                            <td>${order.first_name} ${order.last_name}</td>
+                            <td>${order.store_name}</td>
+                            <td>${new Date(order.order_date).toLocaleDateString()}</td>
+                            <td><span class="status-badge status-${order.status}">${order.status}</span></td>
+                            <td>$${parseFloat(order.total || 0).toFixed(2)}</td>
+                        </tr>
+                    `).join('');
       } else {
         tbody.innerHTML = '<tr><td colspan="6">No orders found</td></tr>';
@@ -375,21 +362,21 @@
     // Mock report generation
     document.getElementById('report-results').innerHTML = `
-            <div class="dashboard-section">
-                <h4>Generated Report: ${type}</h4>
-                <p>Period: ${start} to ${end}</p>
-                <div class="loading">Generating report...</div>
-            </div>
-        `;
+                <div class="dashboard-section">
+                    <h4>Generated Report: ${type}</h4>
+                    <p>Period: ${start} to ${end}</p>
+                    <div class="loading">Generating report...</div>
+                </div>
+            `;
 
     // Simulate report generation
     setTimeout(() => {
       document.getElementById('report-results').innerHTML = `
-                <div class="dashboard-section">
-                    <h4>Report Results</h4>
-                    <p><strong>Total Records:</strong> 42</p>
-                    <p><strong>Summary:</strong> Sample report data for demonstration</p>
-                    <button class="btn-small" onclick="downloadReport()">Download Report</button>
-                </div>
-            `;
+                    <div class="dashboard-section">
+                        <h4>Report Results</h4>
+                        <p><strong>Total Records:</strong> 42</p>
+                        <p><strong>Summary:</strong> Sample report data for demonstration</p>
+                        <button class="btn-small" onclick="downloadReport()">Download Report</button>
+                    </div>
+                `;
     }, 1500);
   }
Index: interfejs/change-password.html
===================================================================
--- interfejs/change-password.html	(revision 2d1ec46933bbbd721e985423c96581bc0a7485ed)
+++ interfejs/change-password.html	(revision 69f2a41cff81a4c7825abb68eb0f0eff6818e4e5)
@@ -17,5 +17,5 @@
             <li><a href="index.html">Home</a></li>
             <li><a href="products.html">Products</a></li>
-            <li><a href="#" id="dashboard-link">Dashboard</a></li>
+            <li><a href="login.html">Login</a></li>
         </ul>
     </nav>
@@ -23,12 +23,17 @@
 
 <main>
-    <div class="auth-container">
+    <div class="form-container">
         <h2>Change Password</h2>
-        <div id="password-message" class="message"></div>
+        <p class="form-subtitle" id="password-message">Please set a new password</p>
 
         <form id="change-password-form" class="form">
             <div class="form-group">
+                <label for="current-password">Current Password</label>
+                <input type="password" id="current-password" name="current-password" required>
+            </div>
+
+            <div class="form-group">
                 <label for="new-password">New Password</label>
-                <input type="password" id="new-password" required>
+                <input type="password" id="new-password" name="new-password" required>
                 <small class="password-hint">At least 8 characters with uppercase, lowercase, number, and special character</small>
             </div>
@@ -36,8 +41,10 @@
             <div class="form-group">
                 <label for="confirm-password">Confirm New Password</label>
-                <input type="password" id="confirm-password" required>
+                <input type="password" id="confirm-password" name="confirm-password" required>
             </div>
 
-            <button type="submit" class="btn-primary">Change Password</button>
+            <div class="form-group">
+                <button type="submit" class="btn-primary btn-full">Change Password</button>
+            </div>
         </form>
     </div>
@@ -57,8 +64,4 @@
             </ul>
         </div>
-        <div class="footer-section">
-            <h3>Contact</h3>
-            <p>Email: support@handcraft.com</p>
-        </div>
     </div>
     <div class="footer-bottom">
@@ -69,35 +72,15 @@
 <script src="script.js"></script>
 <script>
-    document.addEventListener('DOMContentLoaded', async function() {
+    document.addEventListener('DOMContentLoaded', () => {
         const urlParams = new URLSearchParams(window.location.search);
-        const forced = urlParams.get('forced');
-        const redirect = urlParams.get('redirect');
+        const isForced = urlParams.get('forced') === 'true';
 
-        // Check if user is authenticated for password change
-        try {
-            const user = await loadUserData();
-            if (!user) {
-                window.location.href = 'login.html';
-                return;
-            }
-        } catch (error) {
-            console.error('Error loading user:', error);
-            window.location.href = 'login.html';
-            return;
+        if (isForced) {
+            document.getElementById('password-message').textContent =
+                'You must change your password before continuing.';
         }
 
-        if (forced === 'true') {
-            const messageDiv = document.getElementById('password-message');
-            messageDiv.className = 'message warning';
-            messageDiv.innerHTML = '⚠️ You are required to change your password before continuing.';
-        }
-
-        // Store redirect URL in session storage
-        if (redirect) {
-            sessionStorage.setItem('passwordChangeRedirect', redirect);
-        }
-
-        // Handle form submission
-        document.getElementById('change-password-form').addEventListener('submit', async function(e) {
+        const form = document.getElementById('change-password-form');
+        form.addEventListener('submit', async (e) => {
             e.preventDefault();
 
@@ -106,17 +89,13 @@
 
             if (newPassword !== confirmPassword) {
-                showMessage('Passwords do not match', 'error');
+                alert('New passwords do not match');
                 return;
             }
 
-            // Password validation
-            const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
-            if (!passwordRegex.test(newPassword)) {
-                showMessage('Password must have at least 8 characters, including uppercase, lowercase, number and special character', 'error');
-                return;
-            }
-
-            // Get redirect from session storage or URL
-            const redirectTo = sessionStorage.getItem('passwordChangeRedirect') || '';
+            const formData = {
+                currentPassword: document.getElementById('current-password').value,
+                newPassword: newPassword,
+                confirmPassword: confirmPassword
+            };
 
             try {
@@ -124,9 +103,5 @@
                     method: 'POST',
                     headers: { 'Content-Type': 'application/json' },
-                    body: JSON.stringify({
-                        newPassword,
-                        confirmPassword,
-                        redirectTo: redirectTo
-                    })
+                    body: JSON.stringify(formData)
                 });
 
@@ -134,25 +109,14 @@
 
                 if (data.success) {
-                    showMessage('Password changed successfully! Redirecting...', 'success');
-                    sessionStorage.removeItem('passwordChangeRedirect');
-
-                    // Redirect to appropriate dashboard
-                    setTimeout(() => {
-                        window.location.href = data.redirectTo || 'dashboard.html';
-                    }, 1500);
+                    alert('Password changed successfully!');
+                    window.location.href = data.redirectTo || 'dashboard.html';
                 } else {
-                    showMessage(data.message || 'Failed to change password', 'error');
+                    alert(data.message || 'Failed to change password');
                 }
             } catch (error) {
-                console.error('Error changing password:', error);
-                showMessage('An error occurred. Please try again.', 'error');
+                console.error('Password change error:', error);
+                alert('An error occurred');
             }
         });
-
-        function showMessage(msg, type) {
-            const messageDiv = document.getElementById('password-message');
-            messageDiv.className = 'message ' + type;
-            messageDiv.textContent = msg;
-        }
     });
 </script>
Index: interfejs/client-dashboard.html
===================================================================
--- interfejs/client-dashboard.html	(revision 2d1ec46933bbbd721e985423c96581bc0a7485ed)
+++ interfejs/client-dashboard.html	(revision 69f2a41cff81a4c7825abb68eb0f0eff6818e4e5)
@@ -18,6 +18,4 @@
       <li><a href="products.html">Products</a></li>
       <li><a href="#" id="dashboard-link" class="active">My Dashboard</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>
@@ -98,4 +96,5 @@
             <input type="text" id="new-address" required>
           </div>
+
           <div class="form-row">
             <div class="form-group">
@@ -108,12 +107,15 @@
             </div>
           </div>
+
           <div class="form-group">
             <label for="new-country">Country *</label>
             <input type="text" id="new-country" required>
           </div>
+
           <div class="form-group checkbox">
             <input type="checkbox" id="new-is-default">
             <label for="new-is-default">Set as default address</label>
           </div>
+
           <button type="submit" class="btn-primary">Save Address</button>
           <button type="button" class="btn-secondary" id="cancel-add-address">Cancel</button>
@@ -156,8 +158,10 @@
             </select>
           </div>
+
           <div class="form-group">
             <label for="request-problem">Problem Description *</label>
             <textarea id="request-problem" rows="4" required></textarea>
           </div>
+
           <button type="submit" class="btn-primary">Submit Request</button>
           <button type="button" class="btn-secondary" id="cancel-new-request">Cancel</button>
@@ -258,5 +262,4 @@
   document.addEventListener('DOMContentLoaded', async () => {
     const user = await loadUserData();
-
     if (!user || user.userType !== 'client') {
       window.location.href = 'index.html';
@@ -265,10 +268,4 @@
 
     document.getElementById('client-name').textContent = `${user.firstName} ${user.lastName || ''}`;
-
-    // Logout functionality
-    document.getElementById('logout-link').addEventListener('click', async (e) => {
-      e.preventDefault();
-      await logout();
-    });
 
     // Load profile data
@@ -300,5 +297,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');
@@ -356,24 +352,22 @@
 
       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.store_name || 'Unknown'}</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>
-                                ${order.status === 'delivered' ?
+                            <tr>
+                                <td>${order.order_num}</td>
+                                <td>${order.store_name || 'Unknown'}</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>
+                                    ${order.status === 'delivered' ?
                   `<button class="btn-small" onclick="reviewOrder('${order.order_num}')">Review</button>` : ''}
-                            </td>
-                        </tr>
-                    `;
+                                </td>
+                            </tr>
+                        `;
         }).join('');
       } else {
@@ -389,11 +383,11 @@
     // This would need a separate API endpoint
     document.getElementById('addresses-list').innerHTML = `
-            <div class="address-card">
-                <p><strong>Default Address:</strong></p>
-                <p>st. Center num.10, Skopje 1000, North Macedonia</p>
-                <button class="btn-small">Edit</button>
-                <button class="btn-small" style="background: var(--danger);">Delete</button>
-            </div>
-        `;
+                <div class="address-card">
+                    <p><strong>Default Address:</strong></p>
+                    <p>st. Center num.10, Skopje 1000, North Macedonia</p>
+                    <button class="btn-small">Edit</button>
+                    <button class="btn-small" style="background: var(--danger);">Delete</button>
+                </div>
+            `;
   }
 
Index: interfejs/store-employee.html
===================================================================
--- interfejs/store-employee.html	(revision 2d1ec46933bbbd721e985423c96581bc0a7485ed)
+++ interfejs/store-employee.html	(revision 69f2a41cff81a4c7825abb68eb0f0eff6818e4e5)
@@ -18,6 +18,4 @@
             <li><a href="products.html">Products</a></li>
             <li><a href="#" id="dashboard-link" class="active">Employee</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>
@@ -172,5 +170,4 @@
 </main>
 
-<!-- Respond to Request Modal -->
 <div id="respond-request-modal" class="modal" style="display: none;">
     <div class="modal-content">
@@ -179,8 +176,10 @@
         <form id="respond-request-form" class="form">
             <input type="hidden" id="respond-request-num">
+
             <div class="form-group">
                 <label for="request-response">Your Response</label>
                 <textarea id="request-response" rows="4" required></textarea>
             </div>
+
             <div class="form-group">
                 <label for="request-status">Update Status</label>
@@ -191,4 +190,5 @@
                 </select>
             </div>
+
             <button type="submit" class="btn-primary">Submit Response</button>
         </form>
@@ -196,5 +196,4 @@
 </div>
 
-<!-- Process Refund Modal -->
 <div id="process-refund-modal" class="modal" style="display: none;">
     <div class="modal-content">
@@ -203,4 +202,5 @@
         <form id="process-refund-form" class="form">
             <input type="hidden" id="process-refund-id">
+
             <div class="form-group">
                 <label for="refund-action">Action</label>
@@ -210,8 +210,10 @@
                 </select>
             </div>
+
             <div class="form-group">
                 <label for="refund-notes">Notes</label>
                 <textarea id="refund-notes" rows="3"></textarea>
             </div>
+
             <button type="submit" class="btn-primary">Process Refund</button>
         </form>
@@ -242,5 +244,4 @@
     document.addEventListener('DOMContentLoaded', async () => {
         const user = await loadUserData();
-
         if (!user || user.userType !== 'store_employee') {
             window.location.href = 'index.html';
@@ -249,10 +250,4 @@
 
         document.getElementById('employee-name').textContent = `${user.firstName} ${user.lastName || ''}`;
-
-        // Logout functionality
-        document.getElementById('logout-link').addEventListener('click', async (e) => {
-            e.preventDefault();
-            await logout();
-        });
 
         // Load stores
@@ -282,5 +277,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');
@@ -322,5 +316,4 @@
                 // Display tasks
                 const tasksList = document.getElementById('tasks-list');
-
                 if (data.tasks.pending_orders.length > 0 || data.tasks.pending_requests.length > 0 || data.tasks.pending_refunds.length > 0) {
                     let tasksHtml = '<div class="task-items">';
@@ -330,9 +323,9 @@
                         data.tasks.pending_orders.forEach(order => {
                             tasksHtml += `
-                                <div class="task-item">
-                                    <p><strong>Order #${order.order_num}</strong> - ${order.first_name} ${order.last_name}</p>
-                                    <button class="btn-small" onclick="updateOrderStatus('${order.order_num}')">Update Status</button>
-                                </div>
-                            `;
+                                    <div class="task-item">
+                                        <p><strong>Order #${order.order_num}</strong> - ${order.first_name} ${order.last_name}</p>
+                                        <button class="btn-small" onclick="updateOrderStatus('${order.order_num}')">Update Status</button>
+                                    </div>
+                                `;
                         });
                     }
@@ -342,10 +335,10 @@
                         data.tasks.pending_requests.forEach(request => {
                             tasksHtml += `
-                                <div class="task-item">
-                                    <p><strong>Request #${request.request_num}</strong> - ${request.first_name} ${request.last_name}</p>
-                                    <p>${request.problem.substring(0, 50)}${request.problem.length > 50 ? '...' : ''}</p>
-                                    <button class="btn-small" onclick="respondToRequest('${request.request_num}')">Respond</button>
-                                </div>
-                            `;
+                                    <div class="task-item">
+                                        <p><strong>Request #${request.request_num}</strong> - ${request.first_name} ${request.last_name}</p>
+                                        <p>${request.problem.substring(0, 50)}${request.problem.length > 50 ? '...' : ''}</p>
+                                        <button class="btn-small" onclick="respondToRequest('${request.request_num}')">Respond</button>
+                                    </div>
+                                `;
                         });
                     }
@@ -355,10 +348,10 @@
                         data.tasks.pending_refunds.forEach(refund => {
                             tasksHtml += `
-                                <div class="task-item">
-                                    <p><strong>Refund #${refund.refund_id}</strong> - Order #${refund.order_num}</p>
-                                    <p>Amount: $${parseFloat(refund.amount).toFixed(2)}</p>
-                                    <button class="btn-small" onclick="processRefund('${refund.refund_id}')">Process</button>
-                                </div>
-                            `;
+                                    <div class="task-item">
+                                        <p><strong>Refund #${refund.refund_id}</strong> - Order #${refund.order_num}</p>
+                                        <p>Amount: $${parseFloat(refund.amount).toFixed(2)}</p>
+                                        <button class="btn-small" onclick="processRefund('${refund.refund_id}')">Process</button>
+                                    </div>
+                                `;
                         });
                     }
@@ -381,23 +374,21 @@
 
             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="updateOrderStatus('${order.order_num}')">Update</button>
-                                <button class="btn-small" onclick="viewOrderDetails('${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="updateOrderStatus('${order.order_num}')">Update</button>
+                                    <button class="btn-small" onclick="viewOrderDetails('${order.order_num}')">View</button>
+                                </td>
+                            </tr>
+                        `;
                 }).join('');
             } else {
@@ -426,17 +417,16 @@
 
             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>
-                            <button class="btn-small" onclick="viewProduct('${product.code}')">View</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>
+                                <button class="btn-small" onclick="viewProduct('${product.code}')">View</button>
+                            </td>
+                        </tr>
+                    `).join('');
             } else {
                 tbody.innerHTML = '<tr><td colspan="5">No products found</td></tr>';
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>
+                `;
         }
     }
