Index: src/main/java/mk/ukim/finki/synergymed/models/Supplyorder.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/models/Supplyorder.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/models/Supplyorder.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,2 +1,3 @@
+// src/main/java/mk/ukim/finki/synergymed/models/Supplyorder.java
 package mk.ukim.finki.synergymed.models;
 
@@ -25,4 +26,8 @@
     private Pharmacy pharmacy;
 
+    @ManyToOne(fetch = FetchType.LAZY, optional = false)
+    @JoinColumn(name = "facility_id", nullable = false)
+    private Facility facility;
+
     @Column(name = "order_date", nullable = false)
     private LocalDate orderDate;
@@ -33,4 +38,3 @@
     @Column(name = "status", nullable = false, length = 50)
     private String status;
-
 }
Index: src/main/java/mk/ukim/finki/synergymed/repositories/DistributorBrandedmedicineRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/repositories/DistributorBrandedmedicineRepository.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/repositories/DistributorBrandedmedicineRepository.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,8 +1,29 @@
 package mk.ukim.finki.synergymed.repositories;
 
+import mk.ukim.finki.synergymed.models.Brandedmedicine;
 import mk.ukim.finki.synergymed.models.DistributorBrandedmedicine;
 import mk.ukim.finki.synergymed.models.DistributorBrandedmedicineId;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.Collection;
+import java.util.List;
 
 public interface DistributorBrandedmedicineRepository extends JpaRepository<DistributorBrandedmedicine, DistributorBrandedmedicineId> {
+    @Query("""
+      select dbm.brandedMedicine
+      from DistributorBrandedmedicine dbm
+      where dbm.id.distributorId = :distributorId
+    """)
+    List<Brandedmedicine> findMedicinesByDistributor(@Param("distributorId") Integer distributorId);
+
+    @Query("""
+      select dbm.id.brandedMedicineId
+      from DistributorBrandedmedicine dbm
+      where dbm.id.distributorId = :distributorId
+        and dbm.id.brandedMedicineId in :bmIds
+    """)
+    List<Integer> existingForDistributor(@Param("distributorId") Integer distributorId,
+                                         @Param("bmIds") Collection<Integer> bmIds);
 }
Index: src/main/java/mk/ukim/finki/synergymed/repositories/PharmacistRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/repositories/PharmacistRepository.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/repositories/PharmacistRepository.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,9 +1,14 @@
 package mk.ukim.finki.synergymed.repositories;
 
+import mk.ukim.finki.synergymed.models.Client;
 import mk.ukim.finki.synergymed.models.Pharmacist;
 import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
 
 public interface PharmacistRepository extends JpaRepository<Pharmacist, Integer> {
     boolean existsById(Integer userId);
 
+    Optional<Pharmacist> findByUsersUsername(String username);
+
 }
Index: src/main/java/mk/ukim/finki/synergymed/repositories/SupplyorderBrandedmedicineRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/repositories/SupplyorderBrandedmedicineRepository.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/repositories/SupplyorderBrandedmedicineRepository.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,17 @@
 import mk.ukim.finki.synergymed.models.SupplyorderBrandedmedicineId;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
 
 public interface SupplyorderBrandedmedicineRepository extends JpaRepository<SupplyorderBrandedmedicine, SupplyorderBrandedmedicineId> {
+    @Query("""
+       select sobm
+       from SupplyorderBrandedmedicine sobm
+         join fetch sobm.brandedMedicine bm
+       where sobm.supplyOrder.id = :orderId
+       order by bm.name asc
+    """)
+    List<SupplyorderBrandedmedicine> findAllBySupplyOrderIdFetchMedicine(@Param("orderId") Integer orderId);
 }
Index: src/main/java/mk/ukim/finki/synergymed/service/ClubCardService.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/ClubCardService.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/service/ClubCardService.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -8,5 +8,5 @@
 
 public interface ClubCardService {
-    Clubcard createForClient(Client client);
+    Clubcard createForClient(Integer clientId, String program);
     Optional<Clubcard> getByClientId(Integer clientId);
 }
Index: src/main/java/mk/ukim/finki/synergymed/service/SupplyOrderService.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/SupplyOrderService.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/java/mk/ukim/finki/synergymed/service/SupplyOrderService.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,19 @@
+package mk.ukim.finki.synergymed.service;
+
+
+import mk.ukim.finki.synergymed.models.Supplyorder;
+import mk.ukim.finki.synergymed.models.SupplyorderBrandedmedicine;
+
+import java.util.List;
+
+public interface SupplyOrderService {
+    Integer createSupplyOrder(Integer pharmacyId,
+                              Integer facilityId,
+                              Integer distributorId,
+                              Integer[] medicineIds,
+                              Integer[] quantities);
+
+    List<Supplyorder> listAll();
+    Supplyorder getById(Integer id);
+    List<SupplyorderBrandedmedicine> linesFor(Integer orderId);
+}
Index: src/main/java/mk/ukim/finki/synergymed/service/impl/ClubCardServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/impl/ClubCardServiceImpl.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/service/impl/ClubCardServiceImpl.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -5,4 +5,5 @@
 import mk.ukim.finki.synergymed.models.Clubcard;
 import mk.ukim.finki.synergymed.repositories.ClubcardRepository;
+import mk.ukim.finki.synergymed.service.ClientService;
 import mk.ukim.finki.synergymed.service.ClubCardService;
 import org.springframework.stereotype.Service;
@@ -14,9 +15,10 @@
 public class ClubCardServiceImpl implements ClubCardService {
     private final ClubcardRepository clubcardRepository;
+    private final ClientService clientService;
 
-    public Clubcard createForClient(Client client) {
+    public Clubcard createForClient(Integer clientId, String program) {
+        Client client = clientService.findClientById(clientId);
         Clubcard card = new Clubcard();
         card.setUser(client);
-        card.setClubProgram("Default Loyalty Program");
         card.setPoints(0);
         return clubcardRepository.save(card);
Index: src/main/java/mk/ukim/finki/synergymed/service/impl/PaymentServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/impl/PaymentServiceImpl.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/service/impl/PaymentServiceImpl.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -61,5 +61,5 @@
         payment.setPaymentDate(LocalDate.now());
         payment.setAmount(finalAmount);
-        //payment.setStatus("во тек");
+        payment.setStatus("во тек");
         paymentRepo.save(payment);
 
@@ -111,8 +111,8 @@
         }
         order.setStatus("во тек");
+        payment.setStatus("завршено");
 
         orderRepo.save(order);
 
-        payment.setStatus("завршено");
         paymentRepo.save(payment);
 
Index: src/main/java/mk/ukim/finki/synergymed/service/impl/SupplyOrderServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/impl/SupplyOrderServiceImpl.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/java/mk/ukim/finki/synergymed/service/impl/SupplyOrderServiceImpl.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,157 @@
+package mk.ukim.finki.synergymed.service.impl;
+
+import jakarta.persistence.EntityNotFoundException;
+import lombok.RequiredArgsConstructor;
+import mk.ukim.finki.synergymed.models.Brandedmedicine;
+import mk.ukim.finki.synergymed.models.Distributor;
+import mk.ukim.finki.synergymed.models.Facility;
+import mk.ukim.finki.synergymed.models.Inventory;
+import mk.ukim.finki.synergymed.models.InventoryBrandedmedicine;
+import mk.ukim.finki.synergymed.models.InventoryBrandedmedicineId;
+import mk.ukim.finki.synergymed.models.Pharmacy;
+import mk.ukim.finki.synergymed.models.Supplyorder;
+import mk.ukim.finki.synergymed.models.SupplyorderBrandedmedicine;
+import mk.ukim.finki.synergymed.models.SupplyorderBrandedmedicineId;
+import mk.ukim.finki.synergymed.repositories.BrandedmedicineRepository;
+import mk.ukim.finki.synergymed.repositories.DistributorBrandedmedicineRepository;
+import mk.ukim.finki.synergymed.repositories.DistributorRepository;
+import mk.ukim.finki.synergymed.repositories.FacilityRepository;
+import mk.ukim.finki.synergymed.repositories.InventoryBrandedmedicineRepository;
+import mk.ukim.finki.synergymed.repositories.InventoryRepository;
+import mk.ukim.finki.synergymed.repositories.PharmacyRepository;
+import mk.ukim.finki.synergymed.repositories.SupplyorderBrandedmedicineRepository;
+import mk.ukim.finki.synergymed.repositories.SupplyorderRepository;
+import mk.ukim.finki.synergymed.service.SupplyOrderService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDate;
+import java.util.*;
+
+@Service
+@RequiredArgsConstructor
+public class SupplyOrderServiceImpl implements SupplyOrderService {
+
+    private final SupplyorderRepository supplyorderRepository;
+    private final SupplyorderBrandedmedicineRepository sobmRepository;
+    private final PharmacyRepository pharmacyRepository;
+    private final FacilityRepository facilityRepository;
+    private final InventoryRepository inventoryRepository;
+    private final BrandedmedicineRepository brandedmedicineRepository;
+    private final DistributorBrandedmedicineRepository distributorBrandedmedicineRepository;
+    private final DistributorRepository distributorRepository;
+    private final InventoryBrandedmedicineRepository inventoryBrandedmedicineRepository;
+
+    @Override
+    @Transactional
+    public Integer createSupplyOrder(Integer pharmacyId,
+                                     Integer facilityId,
+                                     Integer distributorId,
+                                     Integer[] medicineIds,
+                                     Integer[] quantities) {
+
+        if (medicineIds == null || quantities == null || medicineIds.length == 0 || medicineIds.length != quantities.length) {
+            throw new IllegalArgumentException("Invalid medicine/quantity arrays");
+        }
+
+        Pharmacy pharmacy = pharmacyRepository.findById(pharmacyId)
+                .orElseThrow(() -> new EntityNotFoundException("Pharmacy not found: " + pharmacyId));
+        Facility facility = facilityRepository.findById(facilityId)
+                .orElseThrow(() -> new EntityNotFoundException("Facility not found: " + facilityId));
+        Distributor distributor = distributorRepository.findById(distributorId)
+                .orElseThrow(() -> new EntityNotFoundException("Distributor not found: " + distributorId));
+
+        Map<Integer, Integer> qtyByBm = new LinkedHashMap<>();
+        for (int i = 0; i < medicineIds.length; i++) {
+            Integer bmId = medicineIds[i];
+            Integer qty = Optional.ofNullable(quantities[i]).orElse(0);
+            if (bmId == null || qty == null || qty <= 0) continue;
+            qtyByBm.merge(bmId, qty, Integer::sum);
+        }
+        if (qtyByBm.isEmpty()) {
+            throw new IllegalArgumentException("No positive quantities provided");
+        }
+
+        List<Integer> allowed = distributorBrandedmedicineRepository.existingForDistributor(distributorId, qtyByBm.keySet());
+        if (allowed.size() != qtyByBm.keySet().size()) {
+            throw new IllegalArgumentException("Some medicines are not provided by the selected distributor");
+        }
+
+        LocalDate now = LocalDate.now();
+        Supplyorder order = new Supplyorder();
+        order.setPharmacy(pharmacy);
+        order.setFacility(facility);
+        order.setDistributor(distributor);
+        order.setOrderDate(now);
+        order.setExpectedArrivalDate(now.plusDays(7));
+        order.setStatus("во тек");
+        order = supplyorderRepository.save(order);
+
+        Inventory inventory = inventoryRepository.findByFacilityId(facilityId)
+                .orElseGet(() -> {
+                    Inventory inv = new Inventory();
+                    inv.setFacility(facility);
+                    return inventoryRepository.save(inv);
+                });
+
+        for (Map.Entry<Integer, Integer> e : qtyByBm.entrySet()) {
+            Integer bmId = e.getKey();
+            Integer qty = e.getValue();
+
+            Brandedmedicine bm = brandedmedicineRepository.findById(bmId)
+                    .orElseThrow(() -> new EntityNotFoundException("Branded medicine not found: " + bmId));
+
+            SupplyorderBrandedmedicine sobm = new SupplyorderBrandedmedicine();
+            SupplyorderBrandedmedicineId sobmId = new SupplyorderBrandedmedicineId();
+            sobmId.setSupplyOrderId(order.getId());
+            sobmId.setBrandedMedicineId(bmId);
+            sobm.setId(sobmId);
+            sobm.setSupplyOrder(order);
+            sobm.setBrandedMedicine(bm);
+            sobm.setQuantity(qty);
+            sobmRepository.save(sobm);
+
+            InventoryBrandedmedicineId invId = new InventoryBrandedmedicineId();
+            invId.setInventoryId(inventory.getId());
+            invId.setBrandedMedicineId(bmId);
+
+            InventoryBrandedmedicine ibm = inventoryBrandedmedicineRepository
+                    .findById(invId)
+                    .orElseGet(() -> {
+                        InventoryBrandedmedicine x = new InventoryBrandedmedicine();
+                        x.setId(invId);
+                        x.setInventory(inventory);
+                        x.setBrandedMedicine(bm);
+                        x.setQuantity(0);
+                        x.setLastChanged(now);
+                        return x;
+                    });
+
+            ibm.setQuantity(ibm.getQuantity() + qty);
+            ibm.setLastChanged(now);
+
+            inventoryBrandedmedicineRepository.save(ibm);
+        }
+
+        return order.getId();
+    }
+    @Override
+    @Transactional(readOnly = true)
+    public List<Supplyorder> listAll() {
+        return supplyorderRepository.findAll();
+    }
+
+    @Override
+    @Transactional(readOnly = true)
+    public Supplyorder getById(Integer id) {
+        return supplyorderRepository.findById(id)
+                .orElseThrow(() -> new EntityNotFoundException("Supply order not found: " + id));
+    }
+
+    @Override
+    @Transactional(readOnly = true)
+    public List<SupplyorderBrandedmedicine> linesFor(Integer orderId) {
+        return sobmRepository.findAllBySupplyOrderIdFetchMedicine(orderId);
+    }
+}
+
Index: src/main/java/mk/ukim/finki/synergymed/service/impl/VerificationReviewServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/service/impl/VerificationReviewServiceImpl.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/service/impl/VerificationReviewServiceImpl.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,16 +1,15 @@
-// VerificationReviewServiceImpl.java
 package mk.ukim.finki.synergymed.service.impl;
 
 import jakarta.persistence.EntityNotFoundException;
 import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.synergymed.models.Client;
 import mk.ukim.finki.synergymed.models.Sensitiveclientdata;
-import mk.ukim.finki.synergymed.repositories.ClientRepository;
+import mk.ukim.finki.synergymed.models.Pharmacist;
 import mk.ukim.finki.synergymed.repositories.SensitiveclientdataRepository;
+import mk.ukim.finki.synergymed.repositories.PharmacistRepository;
 import mk.ukim.finki.synergymed.service.VerificationReviewService;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.annotation.Isolation;
-
 
 import java.util.List;
@@ -21,37 +20,46 @@
 public class VerificationReviewServiceImpl implements VerificationReviewService {
 
-    private final SensitiveclientdataRepository sensitiveRepo;
-    private final ClientRepository clientRepo;
+    private final SensitiveclientdataRepository scdRepo;
+    private final PharmacistRepository pharmacistRepo;
 
     @Override
+    @Transactional(readOnly = true)
     public List<Sensitiveclientdata> listPending() {
-        return sensitiveRepo.findByVerificationStatusOrderByIdAsc("во тек");
+        return scdRepo.findByVerificationStatusOrderByIdAsc("во тек");
     }
 
     @Override
+    @Transactional(readOnly = true)
     public Optional<Sensitiveclientdata> get(Integer id) {
-        return sensitiveRepo.findById(id);
+        return scdRepo.findById(id);
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED, timeout = 10)
+    @Transactional
     public void approve(Integer id) {
-        Sensitiveclientdata row = sensitiveRepo.findById(id)
-                .orElseThrow(() -> new EntityNotFoundException("Application not found"));
-        row.setVerificationStatus("одобрена");
-        sensitiveRepo.save(row);
-        Integer clientId = row.getClient().getId();
-        Client client = clientRepo.findById(clientId)
-                .orElseThrow(() -> new EntityNotFoundException("Client not found"));
-        client.setIsVerified(Boolean.TRUE);
-        clientRepo.save(client);
+        Sensitiveclientdata row = scdRepo.findById(id)
+                .orElseThrow(() -> new EntityNotFoundException("Request not found"));
+        Pharmacist reviewer = getCurrentPharmacist();
+        row.setPharmacist(reviewer);
+        row.setVerificationStatus("верифицирано");
+        scdRepo.save(row);
     }
 
     @Override
+    @Transactional
     public void deny(Integer id) {
-        Sensitiveclientdata row = sensitiveRepo.findById(id)
-                .orElseThrow(() -> new EntityNotFoundException("Application not found"));
-        row.setVerificationStatus("одбиена");
-        sensitiveRepo.save(row);
+        Sensitiveclientdata row = scdRepo.findById(id)
+                .orElseThrow(() -> new EntityNotFoundException("Request not found"));
+        Pharmacist reviewer = getCurrentPharmacist();
+        row.setPharmacist(reviewer);
+        row.setVerificationStatus("одбиено");
+        scdRepo.save(row);
+    }
+
+    private Pharmacist getCurrentPharmacist() {
+        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
+        String username = auth.getName();
+        return pharmacistRepo.findByUsersUsername(username)
+                .orElseThrow(() -> new EntityNotFoundException("Pharmacist not found for user " + username));
     }
 }
Index: src/main/java/mk/ukim/finki/synergymed/web/BrandedMedicineController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/BrandedMedicineController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/BrandedMedicineController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -17,5 +17,5 @@
 
 @Controller
-@RequestMapping({"/","branded-medicines"})
+@RequestMapping("/admin/branded-medicines")
 public class BrandedMedicineController {
 
@@ -28,4 +28,5 @@
         this.manufacturerService = manufacturerService;
     }
+
 
     @GetMapping
@@ -85,5 +86,5 @@
                 images, removeImageIds, mainExistingId, mainNewIndex
         );
-        return "redirect:/";
+        return "redirect:/admin/branded-medicines";
     }
 
@@ -92,5 +93,5 @@
     public String deleteBrandedMedicine(@PathVariable Integer id) throws IOException {
         brandedMedicineService.deleteById(id);
-        return "redirect:/";
+        return "redirect:/admin/branded-medicines";
     }
 }
Index: src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -6,4 +6,5 @@
 import mk.ukim.finki.synergymed.service.CatalogService;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -15,5 +16,5 @@
 @RequiredArgsConstructor
 @Controller
-@RequestMapping("/catalog")
+@RequestMapping({"/","catalog"})
 public class CatalogController {
 
@@ -33,4 +34,5 @@
     }
 
+    @PreAuthorize("hasAnyRole('ADMIN','PHARMACIST')")
     @GetMapping("/edit")
     public String edit(Model model, HttpSession session) {
@@ -43,4 +45,5 @@
     }
 
+    @PreAuthorize("hasAnyRole('ADMIN','PHARMACIST')")
     @PostMapping("/edit")
     public String saveEdit(@RequestParam(name="ids", required=false) java.util.List<Integer> ids) {
Index: src/main/java/mk/ukim/finki/synergymed/web/ClientOrderController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/ClientOrderController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/ClientOrderController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -16,4 +16,5 @@
 @Controller
 @RequiredArgsConstructor
+@RequestMapping("orders")
 public class ClientOrderController {
 
@@ -26,5 +27,5 @@
     }
 
-    @GetMapping("/orders")
+    @GetMapping
     public String myOrders(@AuthenticationPrincipal UserDetails ud, Model model) {
         User user = getCurrentUser(ud);
@@ -34,5 +35,5 @@
     }
 
-    @GetMapping("/orders/{orderId}")
+    @GetMapping("{orderId}")
     public String myOrderDetail(@PathVariable Integer orderId,
                                 @AuthenticationPrincipal UserDetails ud,
Index: src/main/java/mk/ukim/finki/synergymed/web/CompanyController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/CompanyController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/CompanyController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -12,5 +12,5 @@
 
 @Controller
-@RequestMapping("/companies")
+@RequestMapping("/admin/companies")
 public class CompanyController {
 
@@ -77,5 +77,5 @@
         );
         ra.addFlashAttribute("message", "Company created: " + saved.getCompanyName());
-        return "redirect:/companies";
+        return "redirect:/admin/companies";
     }
 
@@ -131,5 +131,5 @@
 
         ra.addFlashAttribute("message", "Company updated: " + companyName);
-        return "redirect:/companies";
+        return "redirect:/admin/companies";
     }
 
@@ -140,5 +140,5 @@
         companyService.deleteById(id);
         ra.addFlashAttribute("message", "Company deleted");
-        return "redirect:/companies";
+        return "redirect:/admin/companies";
     }
 }
Index: src/main/java/mk/ukim/finki/synergymed/web/FacilityController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/FacilityController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/FacilityController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -15,5 +15,5 @@
 
 @Controller
-@RequestMapping("/companies/{companyId}/facilities")
+@RequestMapping("/admin/companies/{companyId}/facilities")
 @RequiredArgsConstructor
 public class FacilityController {
@@ -48,5 +48,5 @@
         Facility saved = facilityService.create(companyId, facilityName, code);
         ra.addFlashAttribute("message", "Facility created: " + saved.getFacilityName());
-        return "redirect:/companies/" + companyId + "/facilities";
+        return "redirect:/admin/companies/" + companyId + "/facilities";
     }
 
@@ -71,5 +71,5 @@
         Facility updated = facilityService.update(id, facilityName, code);
         ra.addFlashAttribute("message", "Facility updated: " + updated.getFacilityName());
-        return "redirect:/companies/" + companyId + "/facilities";
+        return "redirect:/admin/companies/" + companyId + "/facilities";
     }
 
@@ -80,5 +80,5 @@
         facilityService.delete(id);
         ra.addFlashAttribute("message", "Facility deleted");
-        return "redirect:/companies/" + companyId + "/facilities";
+        return "redirect:/admin/companies/" + companyId + "/facilities";
     }
 
@@ -120,6 +120,6 @@
         model.addAttribute("facility", facility);
         model.addAttribute("context", "facility");
-        model.addAttribute("postUrl", "/companies/" + companyId + "/facilities/" + id + "/contacts/save");
-        model.addAttribute("backUrl", "/companies/" + companyId + "/facilities/" + id + "/contacts");
+        model.addAttribute("postUrl", "/admin/companies/" + companyId + "/facilities/" + id + "/contacts/save");
+        model.addAttribute("backUrl", "/admin/companies/" + companyId + "/facilities/" + id + "/contacts");
         return "contact-form";
     }
@@ -136,5 +136,5 @@
             contactInformationService.updateForFacility(contactId, id, phone, address);
         }
-        return "redirect:/companies/" + companyId + "/facilities/" + id + "/contacts";
+        return "redirect:/admin/companies/" + companyId + "/facilities/" + id + "/contacts";
     }
 
@@ -144,5 +144,5 @@
                                         @RequestParam Integer contactId) {
         contactInformationService.deleteForFacility(contactId, id);
-        return "redirect:/companies/" + companyId + "/facilities/" + id + "/contacts";
+        return "redirect:/admin/companies/" + companyId + "/facilities/" + id + "/contacts";
     }
 }
Index: c/main/java/mk/ukim/finki/synergymed/web/HomeController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/HomeController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ 	(revision )
@@ -1,4 +1,0 @@
-package mk.ukim.finki.synergymed.web;
-
-public class HomeController {
-}
Index: src/main/java/mk/ukim/finki/synergymed/web/ProfileController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/ProfileController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/ProfileController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -2,4 +2,5 @@
 
 import lombok.RequiredArgsConstructor;
+import mk.ukim.finki.synergymed.models.Clubcard;
 import mk.ukim.finki.synergymed.models.Contactinformation;
 import mk.ukim.finki.synergymed.models.Healthprofile;
@@ -27,4 +28,6 @@
     private final PrescriptionService prescriptionService;
     private final ClientService clientService;
+    private final ClubCardService clubcardService;
+
 
     private User getCurrentUser(UserDetails ud) {
@@ -54,4 +57,6 @@
     public String profileContacts(@AuthenticationPrincipal UserDetails ud, Model model) {
         User user = getCurrentUser(ud);
+        model.addAttribute("user", user);
+        model.addAttribute("username", user.getUsername());
         List<Contactinformation> list = contactInformationService.listForUser(user.getId());
         Contactinformation contact = list.isEmpty() ? null : list.get(0);
@@ -95,4 +100,6 @@
     public String prescriptions(@AuthenticationPrincipal UserDetails ud, Model model) {
         User user = getCurrentUser(ud);
+        model.addAttribute("user", user);
+        model.addAttribute("username", user.getUsername());
         Integer clientId = user.getId();
 
@@ -110,3 +117,30 @@
         return "profile-prescriptions";
     }
+    @GetMapping("/clubcard")
+    public String clubcard(@AuthenticationPrincipal UserDetails ud, Model model) {
+        User user = getCurrentUser(ud);
+        model.addAttribute("user", user);
+        model.addAttribute("username", user.getUsername());
+
+        Optional<Clubcard> opt = clubcardService.getByClientId(user.getId());
+        model.addAttribute("hasClubcard", opt.isPresent());
+        model.addAttribute("clubcard", opt.orElse(null));
+
+        model.addAttribute("activeTab", "clubcard");
+        return "profile-clubcard";
+
+    }
+    @PostMapping("/clubcard/create")
+    public String createClubcard(@AuthenticationPrincipal UserDetails ud,
+                                 @RequestParam("program") String program) {
+        User user = getCurrentUser(ud);
+
+        Optional<Clubcard> existing = clubcardService.getByClientId(user.getId());
+        if (existing.isEmpty()) {
+            clubcardService.createForClient(user.getId(), program);
+        }
+
+        return "redirect:/profile/clubcard";
+    }
+
 }
Index: src/main/java/mk/ukim/finki/synergymed/web/ShoppingCartController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/ShoppingCartController.java	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/java/mk/ukim/finki/synergymed/web/ShoppingCartController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -57,5 +57,5 @@
 
         shoppingCartService.addMedicine(cart, medicine, quantity);
-        return "redirect:/branded-medicines";
+        return "redirect:/catalog";
     }
 
@@ -99,14 +99,18 @@
     }
 
+    // in ShoppingCartController
     @GetMapping
-    public String showCart(Model model,
-                           @AuthenticationPrincipal UserDetails ud) {
+    public String showCart(Model model, @AuthenticationPrincipal UserDetails ud) {
         Client client = getClient(ud);
         Shoppingcart cart = getOrCreateCart(client);
 
-        model.addAttribute("items", shoppingCartService.getMedicinesInCart(cart));
+        var items = shoppingCartService.getMedicinesInCart(cart);
+        model.addAttribute("items", items);
         model.addAttribute("total", shoppingCartService.getTotal(cart));
         model.addAttribute("username", ud.getUsername());
-        model.addAttribute("firstImageById", null);
+
+        var meds = new java.util.ArrayList<>(items.keySet());
+        var firstImageById = brandedmedicineService.cardImageUrlsFor(meds);
+        model.addAttribute("firstImageById", firstImageById);
 
         clubCardService.getByClientId(client.getId())
@@ -115,3 +119,4 @@
         return "cart";
     }
+
 }
Index: src/main/java/mk/ukim/finki/synergymed/web/SupplyOrderController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/SupplyOrderController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/java/mk/ukim/finki/synergymed/web/SupplyOrderController.java	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,78 @@
+// src/main/java/mk/ukim/finki/synergymed/web/SupplyOrderController.java
+package mk.ukim.finki.synergymed.web;
+
+import lombok.RequiredArgsConstructor;
+import mk.ukim.finki.synergymed.models.Brandedmedicine;
+import mk.ukim.finki.synergymed.models.Distributor;
+import mk.ukim.finki.synergymed.models.Facility;
+import mk.ukim.finki.synergymed.models.Pharmacy;
+import mk.ukim.finki.synergymed.repositories.*;
+import mk.ukim.finki.synergymed.service.SupplyOrderService;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@Controller
+@RequiredArgsConstructor
+@RequestMapping("/admin/supply-orders")
+public class SupplyOrderController {
+
+    private final SupplyOrderService supplyOrderService;
+    private final PharmacyRepository pharmacyRepository;
+    private final FacilityRepository facilityRepository;
+    private final DistributorRepository distributorRepository;
+    private final DistributorBrandedmedicineRepository distributorBrandedmedicineRepository;
+
+    @GetMapping("/new")
+    public String newOrderForm(Model model) {
+        List<Pharmacy> pharmacies = pharmacyRepository.findAll();
+        List<Distributor> distributors = distributorRepository.findAll();
+
+        // Preload facilities per pharmacy (by pharmacy.company.id)
+        Map<Integer, List<Facility>> facilitiesByPharmacyId = new HashMap<>();
+        for (Pharmacy p : pharmacies) {
+            if (p.getCompany() == null) continue;
+            var facs = facilityRepository.findAllByCompanyId(p.getCompany().getId());
+            facilitiesByPharmacyId.put(p.getId(), facs);
+        }
+
+        // Preload medicines per distributor
+        Map<Integer, List<Brandedmedicine>> medicinesByDistributorId = new HashMap<>();
+        for (Distributor d : distributors) {
+            var meds = distributorBrandedmedicineRepository.findMedicinesByDistributor(d.getId());
+            medicinesByDistributorId.put(d.getId(), meds);
+        }
+
+        model.addAttribute("pharmacies", pharmacies);
+        model.addAttribute("distributors", distributors);
+        model.addAttribute("facilitiesByPharmacyId", facilitiesByPharmacyId);
+        model.addAttribute("medicinesByDistributorId", medicinesByDistributorId);
+        return "supplyorder"; // Thymeleaf template below
+    }
+
+    @PostMapping
+    public String create(@RequestParam Integer pharmacyId,
+                         @RequestParam Integer facilityId,
+                         @RequestParam Integer distributorId,
+                         @RequestParam("medicineIds") Integer[] medicineIds,
+                         @RequestParam("quantities") Integer[] quantities) {
+        Integer id = supplyOrderService.createSupplyOrder(
+                pharmacyId, facilityId, distributorId, medicineIds, quantities
+        );
+        return "redirect:/admin/supply-orders/" + id;
+    }
+        @GetMapping
+        public String list(Model model) {
+            model.addAttribute("orders", supplyOrderService.listAll());
+            return "supplyorder-list";
+        }
+
+        @GetMapping("/{id}")
+        public String details(@PathVariable Integer id, Model model) {
+            model.addAttribute("order", supplyOrderService.getById(id));
+            model.addAttribute("lines", supplyOrderService.linesFor(id));
+            return "supplyorder-details";
+        }
+    }
Index: src/main/resources/templates/add-medicine-interaction.html
===================================================================
--- src/main/resources/templates/add-medicine-interaction.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/add-medicine-interaction.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Add Interaction</title>
+    <title>SynergyMed - Додај интеракција</title>
 
     <!-- Header styles -->
@@ -88,5 +88,5 @@
 
 <!-- Global header -->
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -94,6 +94,6 @@
     <div class="header">
         <div class="header-content">
-            <h1>Add Interaction</h1>
-            <p>Select two different medicines and define their interaction</p>
+            <h1>Додади интеракција</h1>
+            <p>Избери два различни лека и дефинирај ја нивната интеракција</p>
         </div>
     </div>
@@ -101,20 +101,20 @@
     <!-- Alerts -->
     <div th:if="${hasError}" class="alert alert-danger">
-        <span th:text="${error}">Error message</span>
+        <span th:text="${error}">Порака за грешка</span>
     </div>
     <div th:if="${hasSuccess}" class="alert alert-success">
-        <span th:text="${success}">Success message</span>
+        <span th:text="${success}">Порака за успех</span>
     </div>
 
     <!-- Add Interaction Form -->
     <div class="card">
-        <div class="card-header">Interaction Form</div>
+        <div class="card-header">Интеракции</div>
         <div class="card-body">
             <form th:action="@{/medicine/interactions/add}" method="post">
 
                 <div class="form-group">
-                    <label for="medicine1Id">First Medicine</label>
+                    <label for="medicine1Id">Прв лек</label>
                     <select id="medicine1Id" name="medicine1Id" class="form-control" required>
-                        <option value="">-- Select medicine --</option>
+                        <option value="">-- Избери лек --</option>
                         <option th:each="med : ${medicineList}"
                                 th:value="${med.id}"
@@ -125,7 +125,7 @@
 
                 <div class="form-group">
-                    <label for="medicine2Id">Second Medicine</label>
+                    <label for="medicine2Id">Втор лек</label>
                     <select id="medicine2Id" name="medicine2Id" class="form-control" required>
-                        <option value="">-- Select another medicine --</option>
+                        <option value="">-- Избери друг лек --</option>
                         <option th:each="med : ${medicineList}"
                                 th:value="${med.id}"
@@ -136,17 +136,17 @@
 
                 <div class="form-group">
-                    <label>Severity Level</label>
+                    <label>Ниво на интензивност</label>
                     <div class="severity-options">
                         <div class="severity-option">
                             <input type="radio" id="low" name="severity" value="НИСКА" required>
-                            <label for="low" class="severity-label severity-low">LOW</label>
+                            <label for="low" class="severity-label severity-low">НИСКА</label>
                         </div>
                         <div class="severity-option">
                             <input type="radio" id="medium" name="severity" value="УМЕРЕНА" required>
-                            <label for="medium" class="severity-label severity-medium">MEDIUM</label>
+                            <label for="medium" class="severity-label severity-medium">УМЕРЕНА</label>
                         </div>
                         <div class="severity-option">
                             <input type="radio" id="high" name="severity" value="ВИСОКА" required>
-                            <label for="high" class="severity-label severity-high">HIGH</label>
+                            <label for="high" class="severity-label severity-high">ВИСОКА</label>
                         </div>
                     </div>
@@ -154,15 +154,15 @@
 
                 <div class="form-group">
-                    <label for="type">Interaction Type</label>
-                    <input type="text" id="type" name="type" class="form-control" placeholder="Pharmacological, Clinical..." required>
+                    <label for="type">Тип на интеракција</label>
+                    <input type="text" id="type" name="type" class="form-control" placeholder="" required>
                 </div>
 
                 <div class="form-group">
-                    <label for="description">Description</label>
+                    <label for="description">Опис</label>
                     <textarea id="description" name="description" class="form-control" rows="4"
-                              placeholder="Enter detailed explanation for the interaction..."></textarea>
+                              placeholder="Внеси детален опис за интеракцијата..."></textarea>
                 </div>
 
-                <button type="submit" class="btn-submit">Add Interaction</button>
+                <button type="submit" class="btn-submit">Зачувај интеракција</button>
             </form>
         </div>
Index: src/main/resources/templates/branded-medicine-form.html
===================================================================
--- src/main/resources/templates/branded-medicine-form.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/branded-medicine-form.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${mode=='create' ? 'Create Branded Medicine' : 'Edit Branded Medicine'}">SynergyMed – Branded Medicine</title>
+    <title th:text="${mode=='create' ? 'Креирај нов брендиран лек' : 'Измени Брендиран Лек'}">SynergyMed – Брендиран Лек</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -96,14 +96,13 @@
 
 <!-- Global header (fragment with parameters) -->
-<th:block th:replace="fragments/header :: siteHeader('medicines', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('medicines')"></th:block>
 
 <div class="page">
     <div class="card">
         <div class="card-header">
-            <span th:text="${mode=='create' ? 'Create Branded Medicine' : 'Edit Branded Medicine'}">Form</span>
+            <span th:text="${mode=='create' ? 'Креирај нов брендиран лек' : 'Измени Брендиран Лек'}">Формулар</span>
         </div>
 
         <div class="card-body">
-            <!-- Single SAVE form for both create and edit -->
             <form th:action="@{/branded-medicines/save}" method="post" enctype="multipart/form-data" id="saveForm">
                 <input type="hidden" name="id" th:if="${mode=='edit'}" th:value="${bm.id}"/>
@@ -111,18 +110,18 @@
                 <div class="row">
                     <div>
-                        <label>Manufacturer</label>
+                        <label>Производител</label>
                         <select name="manufacturerId" required>
-                            <option th:if="${mode=='create'}" value="" disabled selected>Select manufacturer</option>
+                            <option th:if="${mode=='create'}" value="" disabled selected>Избери производител</option>
                             <option th:each="m : ${manufacturers}"
                                     th:value="${m.id}"
                                     th:text="${m.company.companyName}"
                                     th:selected="${mode=='edit' and bm.manufacturer != null and m.id == bm.manufacturer.id}">
-                                Manufacturer
+                                Производител
                             </option>
                         </select>
-                        <div class="hint">Pick the company that manufactured this medicine.</div>
-                    </div>
-                    <div>
-                        <label>Price</label>
+                        <div class="hint">Избери ја компанијата производител на Брендираниот Лек</div>
+                    </div>
+                    <div>
+                        <label>Цена</label>
                         <input type="number" step="0.01" name="price" th:value="${mode=='edit' ? bm.price : ''}" required/>
                     </div>
@@ -131,9 +130,9 @@
                 <div class="row">
                     <div>
-                        <label>Dosage Form</label>
+                        <label>Форма на лекот</label>
                         <input type="text" name="dosageForm" th:value="${mode=='edit' ? bm.dosageForm : ''}" required/>
                     </div>
                     <div>
-                        <label>Strength</label>
+                        <label>Јачина</label>
                         <input type="text" name="strength" th:value="${mode=='edit' ? bm.strength : ''}" required/>
                     </div>
@@ -142,9 +141,9 @@
                 <div class="row">
                     <div>
-                        <label>Origin Country</label>
+                        <label>Земја на потекло</label>
                         <input type="text" name="originCountry" th:value="${mode=='edit' ? bm.originCountry : ''}"/>
                     </div>
                     <div>
-                        <label>Name</label>
+                        <label>Име</label>
                         <input type="text" name="name" th:value="${mode=='edit' ? bm.name : ''}" required/>
                     </div>
@@ -153,11 +152,11 @@
                 <div class="row-1">
                     <div>
-                        <label>Description</label>
+                        <label>Опис</label>
                         <textarea name="description" th:text="${mode=='edit' ? bm.description : ''}"></textarea>
                     </div>
                     <div>
-                        <label>New Images (preview only until Save)</label>
+                        <label>Нови слики</label>
                         <input type="file" id="newImages" name="images" multiple accept="image/*"/>
-                        <div class="hint">Choose multiple images to preview; they are saved only when Save is clicked.</div>
+                        <div class="hint">Изберете повеќе слики да ги прикачите, се зачувуваат само по кликнување на копчето „Зачувај“</div>
                         <div id="preview" class="grid" style="margin-top:12px;"></div>
                     </div>
@@ -168,5 +167,5 @@
                     <div class="grid">
                         <div class="img-card" th:each="img : ${images}">
-                            <img class="thumb" th:src="@{${img.image}}" alt="image">
+                            <img class="thumb" th:src="@{${img.image}}" alt="слика">
                             <input type="hidden" name="removeImageIds" th:value="${img.id}" disabled>
                             <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;">
@@ -174,10 +173,10 @@
                                         th:attr="data-id=${img.id}"
                                         style="background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px;cursor:pointer;">
-                                    Remove
+                                    Одстрани
                                 </button>
                                 <label style="margin-left:8px;">
                                     <input type="radio" name="mainPick" th:value="${'existing:'+img.id}"
                                            th:checked="${img.mainImage}">
-                                    Main
+                                    Главна слика
                                 </label>
                             </div>
@@ -191,6 +190,6 @@
 
                 <div class="actions">
-                    <button class="btn btn-primary" type="submit">Save</button>
-                    <a class="btn btn-secondary" th:href="@{/}">Cancel</a>
+                    <button class="btn btn-primary" type="submit">Зачувај</button>
+                    <a class="btn btn-secondary" th:href="@{/}">Откажи</a>
                 </div>
             </form>
@@ -209,5 +208,5 @@
                             const wasEnabled = !hidden.disabled;
                             hidden.disabled = wasEnabled ? true : false;
-                            btn.textContent = wasEnabled ? 'Remove' : 'Undo';
+                            btn.textContent = wasEnabled ? 'Отстрани' : 'Врати';
                             btn.style.borderColor = wasEnabled ? '#e5e7eb' : '#f0caca';
                             btn.style.color = wasEnabled ? '#111' : '#b3261e';
@@ -259,9 +258,9 @@
         <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;">
           <label>
-            <input type="radio" name="mainPick" value="new:${idx}"> Main (new)
+            <input type="radio" name="mainPick" value="new:${idx}"> Главна (нова)
           </label>
           <button type="button" class="remove-new-btn" data-index="${idx}"
                   style="background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px;cursor:pointer;">
-            Remove
+            Отстрани
           </button>
         </div>
Index: src/main/resources/templates/cart.html
===================================================================
--- src/main/resources/templates/cart.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/cart.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>SynergyMed – Shopping Cart</title>
+    <title>SynergyMed – Кошничка</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -15,11 +15,16 @@
         .cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
         .cart-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eee}
-        .cart-item img{width:100px;height:80px;object-fit:cover;border-radius:10px;margin-right:18px}
+        .thumb{width:100px;height:80px;object-fit:cover;border-radius:10px;margin-right:18px}
         .cart-info{flex:1}
         .cart-title{font-weight:700;font-size:1.1rem}
-        .cart-qty{display:flex;align-items:center;gap:6px;margin-top:8px}
+        .cart-qty{display:flex;align-items:center;gap:10px;margin-top:8px}
         .btn-outline{background:#fff;border:2px solid rgba(32,178,170,.25);color:#20b2aa;padding:6px 10px;border-radius:8px;text-decoration:none;font-weight:600;transition:.2s ease}
         .btn-outline:hover{border-color:#20b2aa;box-shadow:0 6px 14px rgba(32,178,170,.18)}
+        .btn-outline.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;border-color:rgba(32,178,170,.18)}
         .btn-remove{color:#b3261e;border-color:#f0caca}
+        .qty-badge{
+            min-width:34px; text-align:center; font-weight:700;
+            border:2px solid rgba(32,178,170,.25); border-radius:8px; padding:6px 10px; background:#fff; color:#20b2aa
+        }
         .cart-total{text-align:right;margin-top:20px;font-size:1.4rem;font-weight:700}
         .btn-checkout{margin-top:20px;display:inline-block;background:linear-gradient(135deg,#20b2aa,#48d1cc);color:#fff;padding:12px 20px;border-radius:12px;text-decoration:none;font-weight:600;transition:.2s ease}
@@ -31,34 +36,50 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('cart', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('cart')"></th:block>
 
 <div class="cart-container">
     <div class="cart-header">
-        <h2>Your Shopping Cart</h2>
-        <a th:href="@{/branded-medicines}" class="btn-outline">← Continue Shopping</a>
+        <h2>Вашата Кошничка</h2>
+        <a th:href="@{/catalog}" class="btn-outline">← Продолжете со пазарење</a>
     </div>
 
-    <div th:if="${#lists.isEmpty(items)}">
-        <p>Your cart is empty.</p>
+    <!-- Empty state for Map items -->
+    <div th:if="${items == null or #maps.isEmpty(items)}">
+        <p>Вашата кошничка е празна.</p>
     </div>
 
     <div th:each="entry : ${items}" class="cart-item">
-        <img th:if="${firstImageById != null}"
-             th:src="@{${firstImageById[entry.key.id]}}" alt="medicine">
-        <img th:if="${firstImageById == null}"
-             src="/images/default-medicine.png" alt="medicine">
+        <img class="thumb"
+             th:if="${firstImageById != null and firstImageById.containsKey(entry.key.id)}"
+             th:src="@{${firstImageById[entry.key.id]}}"
+             alt="лек">
+        <img class="thumb"
+             th:unless="${firstImageById != null and firstImageById.containsKey(entry.key.id)}"
+             src="/images/default-medicine.png"
+             alt="лек">
 
         <div class="cart-info">
-            <div class="cart-title" th:text="${entry.key.name}">Medicine</div>
-            <div class="muted" th:text="${entry.key.dosageForm}">Dosage</div>
+            <div class="cart-title" th:text="${entry.key.name}">Лек</div>
+            <div class="muted" th:text="${entry.key.dosageForm}">Форма</div>
+
+            <!-- Quantity controls -->
             <div class="cart-qty">
                 <form th:action="@{/cart/minus/{id}(id=${entry.key.id})}" method="post" style="display:inline">
-                    <button type="submit" class="btn-outline">−</button>
+                    <button type="submit"
+                            class="btn-outline"
+                            th:classappend="${entry.value <= 1} ? ' is-disabled'"
+                            th:disabled="${entry.value <= 1}"
+                            aria-label="Намали количина">−</button>
                 </form>
+
+                <!-- Live quantity between − and ＋ -->
+                <span class="qty-badge" th:text="${entry.value}">1</span>
+
                 <form th:action="@{/cart/plus/{id}(id=${entry.key.id})}" method="post" style="display:inline">
-                    <button type="submit" class="btn-outline">＋</button>
+                    <button type="submit" class="btn-outline" aria-label="Зголеми количина">＋</button>
                 </form>
+
                 <form th:action="@{/cart/remove/{id}(id=${entry.key.id})}" method="post" style="display:inline">
-                    <button type="submit" class="btn-outline btn-remove">Remove</button>
+                    <button type="submit" class="btn-outline btn-remove">Одстрани</button>
                 </form>
             </div>
@@ -68,9 +89,9 @@
     </div>
 
-    <!-- Loyalty card panel (rendered if controller added 'clubCard') -->
+    <!-- Loyalty card -->
     <div class="loyalty" th:if="${clubCard != null}">
-        <h4>Клуб карта</h4>
+        <h4>Клуб картичка</h4>
         <div class="muted">
-            Програма: <span th:text="${clubCard.clubProgram}">Default Program</span> •
+            Програма: <span th:text="${clubCard.clubProgram}">Стандардна програма</span> •
             Поени: <span id="cardPoints" th:text="${clubCard.points}">0</span>
         </div>
@@ -82,13 +103,17 @@
     </div>
 
-    <div class="cart-total">
-        Total:
+    <!-- Totals only when Map has entries -->
+    <div class="cart-total" th:if="${items != null and !#maps.isEmpty(items)}">
+        Вкупно:
         <span id="totalValue"
               th:data-basetotal="${total.intValue()}"
               th:text="${#numbers.formatDecimal(total, 1, 'COMMA', 2, 'POINT') + ' ден.'}">0.00 ден.</span>
-        <div class="muted" id="discountLine" style="display:none;">Discount: <span id="discountValue">0</span> ден.</div>
+        <div class="muted" id="discountLine" style="display:none;">Попуст: <span id="discountValue">0</span> ден.</div>
     </div>
 
-    <a class="btn-checkout" id="proceedLink" th:href="@{/payment}">Proceed to Payment</a>
+    <!-- Hide checkout when cart is empty (items is a Map) -->
+    <a class="btn-checkout" id="proceedLink"
+       th:href="@{/payment}"
+       th:if="${items != null and !#maps.isEmpty(items)}">Продолжете кон плаќање</a>
 </div>
 
@@ -115,13 +140,11 @@
 
             totalEl.textContent = newTotal.toFixed(2) + ' ден.';
-            discountLine.style.display = applied > 0 ? 'block' : 'none';
-            discountValue.textContent = applied.toString();
+            if (discountLine) discountLine.style.display = applied > 0 ? 'block' : 'none';
+            if (discountValue) discountValue.textContent = applied.toString();
 
-            // carry the choice to payment
             if (proceed) {
                 proceed.setAttribute('href', apply ? (baseHref + '?useCard=true') : baseHref);
             }
 
-            // note
             const note = document.getElementById('pointsNote');
             if (note) note.textContent = 'Достапен попуст: ' + maxDiscount + ' ден. (од ' + pts + ' поени)';
Index: src/main/resources/templates/catalog-edit.html
===================================================================
--- src/main/resources/templates/catalog-edit.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/catalog-edit.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>SynergyMed – Edit Catalog</title>
+    <title>SynergyMed – Уреди производи</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -29,12 +29,12 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('medicines', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('medicines')"></th:block>
 
 <div class="page">
     <div class="card">
         <div class="card-header">
-            <span>Edit Catalog</span>
+            <span>Измен ја достапноста на лековите</span>
             <div class="actions">
-                <a class="btn btn-secondary" th:href="@{/catalog}">Back</a>
+                <a class="btn btn-secondary" th:href="@{/catalog}">Назад</a>
             </div>
         </div>
@@ -45,8 +45,8 @@
                     <thead>
                     <tr>
-                        <th style="width:48px;">Show</th>
-                        <th>Name</th>
-                        <th class="muted">Dosage</th>
-                        <th class="muted">Price</th>
+                        <th style="width:48px;">Достапен</th>
+                        <th>Име</th>
+                        <th class="muted">Форма</th>
+                        <th class="muted">Цена</th>
                     </tr>
                     </thead>
@@ -57,6 +57,6 @@
                                    th:checked="${selectedIds != null and selectedIds.contains(m.id)}">
                         </td>
-                        <td th:text="${m.name}">Medicine</td>
-                        <td class="muted" th:text="${m.dosageForm}">Dosage</td>
+                        <td th:text="${m.name}">Лек</td>
+                        <td class="muted" th:text="${m.dosageForm}">Форма</td>
                         <td class="muted" th:text="${#numbers.formatDecimal(m.price, 1, 'COMMA', 2, 'POINT') + ' ден.'}">0.00 ден.</td>
                     </tr>
@@ -64,6 +64,6 @@
                 </table>
                 <div class="actions" style="margin-top:16px;">
-                    <button type="submit" class="btn btn-primary">Save</button>
-                    <a class="btn btn-secondary" th:href="@{/catalog}">Cancel</a>
+                    <button type="submit" class="btn btn-primary">Зачувај</button>
+                    <a class="btn btn-secondary" th:href="@{/catalog}">Откажи</a>
                 </div>
             </form>
Index: src/main/resources/templates/catalog.html
===================================================================
--- src/main/resources/templates/catalog.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/catalog.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>SynergyMed – Catalog</title>
+    <title>SynergyMed – Производи</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -38,5 +38,5 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('medicines', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('medicines')"></th:block>
 
 <div class="toast-container" id="toastContainer"></div>
@@ -45,22 +45,22 @@
     <div class="card">
         <div class="card-header">
-            <span>Branded Medicines</span>
-            <a class="btn btn-primary" th:href="@{/catalog/edit}">Edit</a>
+            <span>Производи</span>
+            <a sec:authorize="hasRole('ADMIN')" class="btn btn-primary" th:href="@{/catalog/edit}">Измени ги достапните производи</a>
         </div>
         <div class="card-body">
-            <div th:if="${#lists.isEmpty(medicines)}" class="muted">No items in the catalog.</div>
+            <div th:if="${#lists.isEmpty(medicines)}" class="muted">Нема достапни производи.</div>
             <div class="grid" th:unless="${#lists.isEmpty(medicines)}">
                 <div class="item" th:each="m : ${medicines}">
-                    <img class="thumb" th:if="${firstImageById != null}" th:src="${firstImageById[m.id]}" alt="image">
-                    <img class="thumb" th:if="${firstImageById == null}" src="/images/default-medicine.png" alt="image">
+                    <img class="thumb" th:if="${firstImageById != null}" th:src="${firstImageById[m.id]}" alt="слика">
+                    <img class="thumb" th:if="${firstImageById == null}" src="/images/default-medicine.png" alt="слика">
                     <div class="content">
                         <div>
-                            <div class="title" th:text="${m.name}">Medicine</div>
-                            <div class="muted" th:text="${m.dosageForm}">Dosage</div>
+                            <div class="title" th:text="${m.name}">Лек</div>
+                            <div class="muted" th:text="${m.dosageForm}">Форма</div>
                         </div>
                         <div class="price" th:text="${#numbers.formatDecimal(m.price, 1, 'COMMA', 2, 'POINT') + ' ден.'}">0.00 ден.</div>
                         <form th:action="@{/cart/add/{id}(id=${m.id})}" method="post" style="display:inline;">
                             <input type="hidden" th:if="${_csrf != null}" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">
-                            <button type="submit" class="btn-outline add-to-cart-btn" th:data-name="${m.name}">Add to Cart</button>
+                            <button type="submit" class="btn-outline add-to-cart-btn" th:data-name="${m.name}">Додај во кошничка</button>
                         </form>
                     </div>
@@ -91,4 +91,6 @@
     }
     function removeToast(t){ t.classList.remove('show'); setTimeout(()=>t?.parentElement?.removeChild(t),300); }
+
+    // FormData + same-origin credentials + redirect-aware success
     document.addEventListener('DOMContentLoaded', function() {
         document.querySelectorAll('form[action*="/cart/add/"]').forEach(form => {
@@ -98,8 +100,20 @@
                 const name = button.getAttribute('data-name');
                 const original = button.textContent;
-                button.textContent = 'Adding...'; button.disabled = true;
-                fetch(form.action, { method:'POST', headers:{'Content-Type':'application/x-www-form-urlencoded'} })
-                    .then(r => { if (!r.ok) throw new Error('Add failed'); showToast('Added to Cart!', `${name} has been added to your cart.`,'success'); })
-                    .catch(() => showToast('Error','Failed to add item to cart. Please try again.','error'))
+                button.textContent = 'Се додава...';
+                button.disabled = true;
+
+                const fd = new FormData(form); // includes hidden CSRF field
+                fetch(form.action, {
+                    method: 'POST',
+                    body: fd,
+                    credentials: 'same-origin',
+                    headers: { 'X-Requested-With': 'XMLHttpRequest' }
+                })
+                    .then(r => {
+                        const ok = r.ok || r.redirected || (r.status >= 200 && r.status < 400);
+                        if (!ok) throw new Error(`HTTP ${r.status}`);
+                        showToast('Додадено во кошничката!', `${name} е додаден во кошничката.`, 'success');
+                    })
+                    .catch(() => showToast('Грешка','Неуспешно додавање во кошничката. Обидете се повторно.','error'))
                     .finally(() => { button.textContent = original; button.disabled = false; });
             });
Index: src/main/resources/templates/companies.html
===================================================================
--- src/main/resources/templates/companies.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/companies.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>SynergyMed – Companies</title>
+    <title>SynergyMed – Компании</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -121,5 +121,5 @@
 
 <!-- Global header -->
-<th:block th:replace="fragments/header :: siteHeader('companies', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('companies')"></th:block>
 
 <div class="page">
@@ -127,6 +127,6 @@
     <div class="card">
         <div class="card-header">
-            <span>Companies</span>
-            <a class="btn btn-primary" th:href="@{/companies/new}">Create</a>
+            <span>Компании</span>
+            <a class="btn btn-primary" th:href="@{/admin/companies/new}">Креирај</a>
         </div>
         <div class="card-body">
@@ -134,20 +134,20 @@
                 <div class="company-card clickable"
                      th:each="c : ${companies}"
-                     th:attr="data-href=@{/companies/{id}/facilities(id=${c.id})}">
+                     th:attr="data-href=@{/admin/companies/{id}/facilities(id=${c.id})}">
                     <div class="content">
-                        <div class="title" th:text="${c.companyName}">Company Name</div>
-                        <div class="muted" th:text="${'Reg. No: ' + c.registrationNumber}">Reg No</div>
-                        <div class="muted" th:text="${c.description}">Description</div>
+                        <div class="title" th:text="${c.companyName}">Име на компанија</div>
+                        <div class="muted" th:text="${'Рег. број: ' + c.registrationNumber}">Регистрациски број</div>
+                        <div class="muted" th:text="${c.description}">Опис</div>
 
                         <div style="margin-top:8px;">
-                            <span class="badge" th:each="r : ${rolesByCompany[c.id]}" th:text="${r}">ROLE</span>
+                            <span class="badge" th:each="r : ${rolesByCompany[c.id]}" th:text="${r}">УЛОГА</span>
                         </div>
 
                         <div class="row">
                             <div>
-                                <a class="btn-outline" th:href="@{/companies/{id}/edit(id=${c.id})}" style="margin-right:8px;">Edit</a>
+                                <a class="btn-outline" th:href="@{/admin/companies/{id}/edit(id=${c.id})}" style="margin-right:8px;">Измени</a>
                             </div>
-                            <form th:action="@{/companies/{id}/delete(id=${c.id})}" method="post" style="display:inline">
-                                <button type="submit" class="btn-outline" style="color:#b3261e;border-color:#f0caca">Delete</button>
+                            <form th:action="@{/admin/companies/{id}/delete(id=${c.id})}" method="post" style="display:inline">
+                                <button type="submit" class="btn-outline" style="color:#b3261e;border-color:#f0caca">Избриши</button>
                             </form>
                         </div>
Index: src/main/resources/templates/company-form.html
===================================================================
--- src/main/resources/templates/company-form.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/company-form.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${mode=='create' ? 'Create Company' : 'Edit Company'}">Company</title>
+    <title th:text="${mode=='create' ? 'Креирај компанија' : 'Уреди компанија'}">Компанија</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -98,22 +98,22 @@
 
 <!-- Global sticky header (white, full width) -->
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null} )"></th:block>
 
 <div class="content-wrapper">
     <div class="wrap">
         <div class="head">
-            <h2 th:text="${mode=='create' ? 'Create Company' : 'Edit Company'}">Company</h2>
+            <h2 th:text="${mode=='create' ? 'Креирај компанија' : 'Уреди компанија'}">Компанија</h2>
         </div>
 
         <div class="body">
-            <form th:action="${mode=='create'} ? @{/companies} : @{/companies/{id}/update(id=${company.id})}" method="post">
+            <form th:action="${mode=='create'} ? @{/admin/companies} : @{/companies/{id}/update(id=${company.id})}" method="post">
 
                 <div class="row">
                     <div>
-                        <label>Company Name</label>
+                        <label>Име на компанија</label>
                         <input type="text" name="companyName" th:value="${mode=='edit' ? company.companyName : ''}" required>
                     </div>
                     <div>
-                        <label>Registration Number</label>
+                        <label>Регистрациски број</label>
                         <input type="text" name="registrationNumber" th:value="${mode=='edit' ? company.registrationNumber : ''}" required>
                     </div>
@@ -122,5 +122,5 @@
                 <div class="row-1">
                     <div>
-                        <label>Description</label>
+                        <label>Опис</label>
                         <textarea name="description" th:text="${mode=='edit' ? company.description : ''}"></textarea>
                     </div>
@@ -129,19 +129,18 @@
                 <div class="row-1">
                     <div>
-                        <label>Company Types</label>
+                        <label>Тип на компанија</label>
                         <div class="roles">
                             <label class="chip" th:each="rt : ${roleTypes}">
                                 <input type="checkbox" name="roles" th:value="${rt}"
                                        th:checked="${mode=='edit' and selectedRoles != null and selectedRoles.contains(rt)}">
-                                <span th:text="${rt}">ROLE</span>
+                                <span th:text="${rt}">УЛОГА</span>
                             </label>
                         </div>
-                        <div class="hint">Select roles; on update, existing roles are pre-checked based on current state.</div>
                     </div>
                 </div>
 
                 <div class="actions">
-                    <button class="btn btn-primary" type="submit" th:text="${mode=='create' ? 'Create' : 'Update'}">Save</button>
-                    <a class="btn btn-secondary" th:href="@{/companies}">Cancel</a>
+                    <button class="btn btn-primary" type="submit" th:text="${mode=='create' ? 'Креирај' : 'Измени'}">Зачувај</button>
+                    <a class="btn btn-secondary" th:href="@{/admin/companies}">Откажи</a>
                 </div>
             </form>
Index: src/main/resources/templates/create-health-profile.html
===================================================================
--- src/main/resources/templates/create-health-profile.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/create-health-profile.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Admin: Create Health Profile</title>
+    <title>SynergyMed - Админ: Креирај здравствен профил</title>
 
     <!-- Shared header styles -->
@@ -138,5 +138,5 @@
 
 <!-- Full-width global header -->
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -144,7 +144,7 @@
     <div class="header">
         <div class="header-content">
-            <h1>Admin Panel</h1>
-            <p>Create Health Profiles for Clients</p>
-            <div class="admin-badge">Administrator Access</div>
+            <h1>Админ панел</h1>
+            <p>Креирај здравствени профили за клиенти</p>
+            <div class="admin-badge">Администраторски пристап</div>
         </div>
     </div>
@@ -153,26 +153,26 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a href="/admin/dashboard" class="nav-link">Dashboard</a>
-            <a href="/admin/clients" class="nav-link">Manage Clients</a>
-            <a href="/admin/health-profile/create" class="nav-link active">Create Health Profile</a>
-            <a href="/profile" class="nav-link">Back to Profile</a>
+            <a href="/admin/dashboard" class="nav-link">Табла</a>
+            <a href="/admin/clients" class="nav-link">Управување со клиенти</a>
+            <a href="/admin/health-profile/create" class="nav-link active">Креирај здравствен профил</a>
+            <a href="/profile" class="nav-link">Назад кон профил</a>
         </div>
     </div>
 
     <!-- Flash Messages -->
-    <div th:if="${success}" class="alert alert-success"><span th:text="${success}">Success</span></div>
-    <div th:if="${error}" class="alert alert-danger"><span th:text="${error}">Error</span></div>
+    <div th:if="${success}" class="alert alert-success"><span th:text="${success}">Успех</span></div>
+    <div th:if="${error}" class="alert alert-danger"><span th:text="${error}">Грешка</span></div>
 
     <!-- Main -->
     <div class="main-content">
         <div class="card">
-            <div class="card-header">Create Health Profile for Client</div>
+            <div class="card-header">Креирај здравствен профил за клиент</div>
             <div class="card-body">
                 <!-- Search -->
                 <form class="search-form" th:action="@{/admin/health-profile/create}" method="get">
                     <input type="text" name="searchTerm" class="search-input"
-                           placeholder="Search clients by first or last name..."
+                           placeholder="Пребарај клиенти по име или презиме..."
                            th:value="${searchTerm}">
-                    <button type="submit" class="btn btn-primary">Search</button>
+                    <button type="submit" class="btn btn-primary">Пребарај</button>
                 </form>
 
@@ -188,10 +188,10 @@
                             <p th:text="${client.users.email}">john@email.com</p>
                         </div>
-                        <div>ID: <span th:text="${client.id}">1</span></div>
+                        <div>ИД: <span th:text="${client.id}">1</span></div>
                     </div>
                 </div>
 
                 <!-- Empty -->
-                <div th:if="${#lists.isEmpty(clients)}" class="alert alert-info">No clients found.</div>
+                <div th:if="${#lists.isEmpty(clients)}" class="alert alert-info">Нема пронајдени клиенти.</div>
 
                 <!-- Form -->
@@ -199,9 +199,9 @@
                     <input type="hidden" name="clientId" id="selectedClientId">
                     <div id="selectedClientInfo" class="selected-client-info" style="display:none;">
-                        <h4>Creating profile for:</h4>
+                        <h4>Се креира профил за:</h4>
                         <p id="selectedClientName"></p>
                     </div>
                     <div class="blood-type-section" id="bloodTypeSection">
-                        <h3>Select Blood Type</h3>
+                        <h3>Избери крвна група</h3>
                         <div class="blood-type-grid">
                             <div><input type="radio" id="a+" name="bloodType" value="A+" class="blood-type-radio"><label for="a+" class="blood-type-label">A+</label></div>
@@ -215,6 +215,6 @@
                         </div>
                         <div class="form-actions">
-                            <button type="submit" class="btn btn-primary">Create</button>
-                            <button type="button" class="btn btn-secondary" onclick="clearSelection()">Clear</button>
+                            <button type="submit" class="btn btn-primary">Креирај</button>
+                            <button type="button" class="btn btn-secondary" onclick="clearSelection()">Исчисти</button>
                         </div>
                     </div>
Index: src/main/resources/templates/facilities.html
===================================================================
--- src/main/resources/templates/facilities.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/facilities.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${'SynergyMed – Facilities'}">SynergyMed – Facilities</title>
+    <title th:text="${'SynergyMed – Објекти'}">SynergyMed – Објекти</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -111,14 +111,14 @@
 
 <!-- Global header -->
-<th:block th:replace="fragments/header :: siteHeader('facilities', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="page">
     <div class="card">
         <div class="card-header">
-            <span th:text="${'Facilities — ' + company.companyName}">Facilities</span>
+            <span th:text="${'Објекти — ' + company.companyName}">Објекти</span>
             <!-- Always show Add New -->
             <a class="btn btn-primary"
-               th:href="@{/companies/{cid}/facilities/new(cid=${company.id})}">
-                Add New
+               th:href="@{/admin/companies/{cid}/facilities/new(cid=${company.id})}">
+                Додади нов
             </a>
         </div>
@@ -129,23 +129,23 @@
                 <div class="company-card clickable"
                      th:each="f : ${facilities}"
-                     th:attr="data-href=@{/companies/{cid}/facilities/{id}/inventory(cid=${company.id}, id=${f.id})}">
+                     th:attr="data-href=@{/admin/companies/{cid}/facilities/{id}/inventory(cid=${company.id}, id=${f.id})}">
                     <div class="content">
-                        <div class="title" th:text="${f.facilityName}">Facility Name</div>
-                        <div class="muted" th:text="${'Code: ' + f.code}">Code</div>
+                        <div class="title" th:text="${f.facilityName}">Име на објект</div>
+                        <div class="muted" th:text="${'Код: ' + f.code}">Код</div>
 
                         <div class="row" style="margin-top:12px;">
                             <div>
                                 <a class="btn-outline"
-                                   th:href="@{/companies/{cid}/facilities/{id}/edit(cid=${company.id}, id=${f.id})}"
-                                   style="margin-right:8px;">Edit</a>
+                                   th:href="@{/admin/companies/{cid}/facilities/{id}/edit(cid=${company.id}, id=${f.id})}"
+                                   style="margin-right:8px;">Уреди</a>
 
                                 <a class="btn-outline"
-                                   th:href="@{/companies/{cid}/facilities/{id}/contacts(cid=${company.id}, id=${f.id})}"
-                                   style="margin-right:8px;">Contact Info</a>
+                                   th:href="@{/admin/companies/{cid}/facilities/{id}/contacts(cid=${company.id}, id=${f.id})}"
+                                   style="margin-right:8px;">Контакт податоци</a>
                             </div>
 
-                            <form th:action="@{/companies/{cid}/facilities/{id}/delete(cid=${company.id}, id=${f.id})}"
+                            <form th:action="@{/admin/companies/{cid}/facilities/{id}/delete(cid=${company.id}, id=${f.id})}"
                                   method="post" style="display:inline">
-                                <button type="submit" class="btn-outline" style="color:#b3261e;border-color:#f0caca">Delete</button>
+                                <button type="submit" class="btn-outline" style="color:#b3261e;border-color:#f0caca">Избриши</button>
                             </form>
                         </div>
@@ -156,5 +156,5 @@
             <!-- Empty state -->
             <div th:if="${#lists.isEmpty(facilities)}" class="muted" style="margin-top:8px;">
-                No facilities yet for this company.
+                Сè уште нема објекти за оваа компанија.
             </div>
 
Index: src/main/resources/templates/facility-contacts.html
===================================================================
--- src/main/resources/templates/facility-contacts.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/facility-contacts.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${'Facility Contact – ' + facility.facilityName}">Facility Contact</title>
+    <title th:text="${'Контакт на објект – ' + facility.facilityName}">Контакт на објект</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -24,18 +24,18 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('facilities', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="page">
     <div class="card">
-        <div class="card-header" th:text="${'Contact – ' + facility.facilityName + ' (' + company.companyName + ')'}">Contact</div>
+        <div class="card-header" th:text="${'Контакт – ' + facility.facilityName + ' (' + company.companyName + ')'}">Контакт</div>
         <div class="card-body">
 
             <!-- Single form handles both create and update -->
-            <form th:action="@{/companies/{cid}/facilities/{id}/contacts/save(cid=${company.id}, id=${facility.id})}" method="post">
+            <form th:action="@{/admin/companies/{cid}/facilities/{id}/contacts/save(cid=${company.id}, id=${facility.id})}" method="post">
                 <!-- When updating, send contactId; in create mode contact is null so input is absent -->
                 <input type="hidden" name="contactId" th:if="${contact != null}" th:value="${contact.id}">
 
                 <div class="row">
-                    <label for="phone">Phone</label>
+                    <label for="phone">Телефон</label>
                     <input id="phone" name="phone" type="text"
                            th:value="${contact != null ? contact.phone : ''}"
@@ -44,8 +44,8 @@
 
                 <div class="row">
-                    <label for="address">Address</label>
+                    <label for="address">Адреса</label>
                     <input id="address" name="address" type="text"
                            th:value="${contact != null ? contact.address : ''}"
-                           placeholder="Street, City">
+                           placeholder="Улица, Град">
                 </div>
 
@@ -53,20 +53,20 @@
                     <!-- Primary button toggles label based on create vs update -->
                     <button type="submit" class="btn btn-primary"
-                            th:text="${contact != null} ? 'Update' : 'Create'">Create</button>
+                            th:text="${contact != null} ? 'Ажурирај' : 'Креирај'">Креирај</button>
 
                     <!-- Delete only visible when contact exists -->
                     <form th:if="${contact != null}"
-                          th:action="@{/companies/{cid}/facilities/{id}/contacts/delete(cid=${company.id}, id=${facility.id})}"
+                          th:action="@{/admin/companies/{cid}/facilities/{id}/contacts/delete(cid=${company.id}, id=${facility.id})}"
                           method="post" style="display:inline;">
                         <input type="hidden" name="contactId" th:value="${contact.id}">
-                        <button type="submit" class="btn btn-danger">Delete</button>
+                        <button type="submit" class="btn btn-danger">Избриши</button>
                     </form>
 
-                    <a class="btn" th:href="@{/companies/{cid}/facilities(cid=${company.id})}">Back</a>
+                    <a class="btn" th:href="@{/admin/companies/{cid}/facilities(cid=${company.id})}">Назад</a>
                 </div>
             </form>
 
             <!-- Helper text for empty state (optional) -->
-            <p class="muted" th:if="${contact == null}" style="margin-top:8px;">No contact exists yet — fill the fields and press Create.</p>
+            <p class="muted" th:if="${contact == null}" style="margin-top:8px;">Сè уште нема контакт — пополнете ги полињата и притиснете „Креирај“.</p>
         </div>
     </div>
Index: src/main/resources/templates/facility-form.html
===================================================================
--- src/main/resources/templates/facility-form.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/facility-form.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${mode=='create' ? 'Create Facility' : 'Edit Facility'}">Facility</title>
+    <title th:text="${mode=='create' ? 'Креирај објект' : 'Уреди објект'}">Објект</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -86,25 +86,25 @@
 
 <!-- Global sticky header (white, full width) -->
-<th:block th:replace="fragments/header :: siteHeader('facilities', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="content-wrapper">
     <div class="wrap">
         <div class="head">
-            <h2 th:text="${mode=='create' ? 'Create Facility' : 'Edit Facility'}">Facility</h2>
+            <h2 th:text="${mode=='create' ? 'Креирај објект' : 'Уреди објект'}">Објект</h2>
         </div>
 
         <div class="body">
-            <form th:action="${mode=='create'} ? @{/companies/{cid}/facilities(cid=${company.id})}
-                                 : @{/companies/{cid}/facilities/{id}/update(cid=${company.id}, id=${facility.id})}"
+            <form th:action="${mode=='create'} ? @{/admin/companies/{cid}/facilities(cid=${company.id})}
+                                 : @{/admin/companies/{cid}/facilities/{id}/update(cid=${company.id}, id=${facility.id})}"
                   method="post">
 
                 <div class="row">
                     <div>
-                        <label>Facility Name</label>
+                        <label>Име на објект</label>
                         <input type="text" name="facilityName"
                                th:value="${mode=='edit' ? facility.facilityName : ''}" required>
                     </div>
                     <div>
-                        <label>Code</label>
+                        <label>Код</label>
                         <input type="text" name="code"
                                th:value="${mode=='edit' ? facility.code : ''}" required>
@@ -114,10 +114,10 @@
                 <div class="actions">
                     <button class="btn btn-primary" type="submit"
-                            th:text="${mode=='create' ? 'Create' : 'Update'}">
-                        Save
+                            th:text="${mode=='create' ? 'Креирај' : 'Ажурирај'}">
+                        Зачувај
                     </button>
                     <a class="btn btn-secondary"
-                       th:href="@{/companies/{cid}/facilities(cid=${company.id})}">
-                        Cancel
+                       th:href="@{/admin/companies/{cid}/facilities(cid=${company.id})}">
+                        Откажи
                     </a>
                 </div>
Index: src/main/resources/templates/facility-inventory.html
===================================================================
--- src/main/resources/templates/facility-inventory.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/facility-inventory.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
 <head>
     <meta charset="UTF-8">
-    <title th:text="${'Inventory — ' + facility.facilityName}">Inventory</title>
+    <title th:text="${'Залиха — ' + facility.facilityName}">Залиха</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -12,5 +12,5 @@
     <style>
         :root {
-            --teal-1:#20b2aa; --teal-2:#48d1cc;
+            --teал-1:#20b2aa; --teал-2:#48d1cc;
             --bg:#fefeff; --card:#ffffff;
             --muted:#6c757d; --text:#1f2937;
@@ -45,5 +45,5 @@
 
         .card-header{
-            background:linear-gradient(135deg,var(--teal-1),var(--teal-2));
+            background:linear-gradient(135deg,var(--teал-1),var(--teал-2));
             color:#fff;
             padding:20px 24px;
@@ -59,5 +59,5 @@
         }
         .btn-primary{
-            background:linear-gradient(135deg,var(--teal-1),var(--teal-2));
+            background:linear-gradient(135deg,var(--teал-1),var(--teал-2));
             color:#fff; box-shadow:0 10px 20px rgba(32,178,170,.25);
         }
@@ -83,23 +83,23 @@
 
 <!-- Global header -->
-<th:block th:replace="fragments/header :: siteHeader('facilities', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="page">
     <div class="card">
         <div class="card-header">
-            <span th:text="${'Inventory — ' + facility.facilityName}">Inventory</span>
+            <span th:text="${'Залиха — ' + facility.facilityName}">Залиха</span>
             <a class="btn btn-primary"
-               th:href="@{/companies/{cid}/facilities(cid=${company.id})}">
-                Back to Facilities
+               th:href="@{/admin/companies/{cid}/facilities(cid=${company.id})}">
+                Назад кон објектите
             </a>
         </div>
 
         <div class="card-body">
-            <div class="muted" th:text="${'Company: ' + company.companyName}" style="margin-bottom:10px;">
-                Company: ACME
+            <div class="muted" th:text="${'Компанија: ' + company.companyName}" style="margin-bottom:10px;">
+                Компанија: ACME
             </div>
 
             <div th:if="${#lists.isEmpty(items)}" class="muted">
-                No stock entries yet for this facility.
+                Сè уште нема внесови за залиха за овој објект.
             </div>
 
@@ -107,25 +107,25 @@
                 <div class="row" th:each="it : ${items}">
                     <div>
-                        <div th:text="${it.brandedMedicine.name}">Medicine Name</div>
+                        <div th:text="${it.brandedMedicine.name}">Име на лек</div>
                         <div class="muted"
-                             th:text="${'Manufacturer: ' + it.brandedMedicine.manufacturer.company.companyName}">
-                            Manufacturer
+                             th:text="${'Производител: ' + it.brandedMedicine.manufacturer.company.companyName}">
+                            Производител
                         </div>
                     </div>
 
                     <div>
-                        <div class="muted">Dosage</div>
+                        <div class="muted">Дозирање</div>
                         <div th:text="${it.brandedMedicine.dosageForm + ' • ' + it.brandedMedicine.strength}">
-                            Dosage • Strength
+                            Дозирање • Јачина
                         </div>
                     </div>
 
                     <div>
-                        <div class="muted">Quantity</div>
+                        <div class="muted">Количина</div>
                         <div th:text="${it.quantity}">0</div>
                     </div>
 
                     <div>
-                        <div class="muted">Last stocked</div>
+                        <div class="muted">Последно дополнување</div>
                         <div th:text="${#temporals.format(it.lastChanged, 'dd MMM yyyy')}">01 Jan 2025</div>
                     </div>
Index: src/main/resources/templates/fragments/header.html
===================================================================
--- src/main/resources/templates/fragments/header.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/fragments/header.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -121,26 +121,28 @@
 
 <!-- Body header fragment (parameterized) -->
-<th:block th:fragment="siteHeader(activePage, username)">
-    <header class="site-header">
+<th:block th:fragment="siteHeader(activePage)">
+    <header class="site-header"
+            th:with="
+            isAuth=${#authorization.expression('isAuthenticated()')},
+            u=${(session.username != null) ? session.username : (isAuth ? #authentication.name : null)}">
         <a class="brand" th:href="@{/}">
-            <img src="/logo.png" alt="SynergyMed logo" class="logo">
+            <img src="/logo.png" alt="SynergyMed лого" class="logo">
         </a>
 
-        <nav class="main-nav" aria-label="Primary">
-            <a class="nav-btn" th:href="@{/branded-medicines}"
-               th:classappend="${activePage}=='medicines' ? ' active'">Medicine</a>
-            <a class="nav-btn" th:href="@{/companies}"
-               th:classappend="${activePage}=='companies' ? ' active'">Companies</a>
-            <!-- New: Verification list link -->
-            <a class="nav-btn" th:href="@{/admin/verification}"
-               th:classappend="${activePage}=='verification' ? ' active'">Verification</a>
+        <nav class="main-nav" aria-label="Главна навигација">
+            <a class="nav-btn" th:href="@{/catalog}"
+               th:classappend="${activePage}=='Каталог' ? ' active'">Каталог</a>
+            <a class="nav-btn" sec:authorize="hasRole('ADMIN')" th:href="@{/admin/companies}"
+               th:classappend="${activePage}=='Компании' ? ' active'">Компании</a>
+            <a class="nav-btn" sec:authorize="hasRole('PHARMACIST')" th:href="@{/admin/verification}"
+               th:classappend="${activePage}=='Верификација' ? ' active'">Верификација</a>
         </nav>
 
         <div class="account">
-            <div class="user-menu" th:if="${username}">
+            <div class="user-menu" th:if="${u}">
                 <button class="user-button" id="userButton" type="button"
                         aria-haspopup="true" aria-expanded="false" aria-controls="userDropdown">
-                    <span class="avatar" th:text="${#strings.substring(username,0,1).toUpperCase()}">U</span>
-                    <span class="user-name" th:text="${username}">username</span>
+                    <span class="avatar" th:text="${#strings.substring(u,0,1).toUpperCase()}">U</span>
+                    <span class="user-name" th:text="${u}">корисничко име</span>
                     <svg class="chev" width="14" height="14" viewBox="0 0 24 24" aria-hidden="true">
                         <path fill="currentColor" d="M7 10l5 5 5-5z"/>
@@ -148,16 +150,15 @@
                 </button>
                 <div class="dropdown" id="userDropdown" role="menu" aria-labelledby="userButton">
-                    <a class="dropdown-item" th:href="@{/profile}" role="menuitem">Profile settings</a>
-                    <a class="dropdown-item" th:href="@{/orders}" role="menuitem">My orders</a>
-                    <!-- New: Cart link -->
-                    <a class="dropdown-item" th:href="@{/cart}" role="menuitem">Cart 🛒</a>
+                    <a class="dropdown-item" th:href="@{/profile}" role="menuitem">Подесувања за профилот</a>
+                    <a class="dropdown-item" th:href="@{/orders}" role="menuitem">Мои нарачки</a>
+                    <a class="dropdown-item" th:href="@{/cart}" role="menuitem">Кошничка 🛒</a>
                     <form th:action="@{/logout}" method="post" style="margin:0">
                         <input type="hidden" th:name="${_csrf?.parameterName}" th:value="${_csrf?.token}">
-                        <button type="submit" class="dropdown-item danger" role="menuitem">Logout</button>
+                        <button type="submit" class="dropdown-item danger" role="menuitem">Одјава</button>
                     </form>
                 </div>
             </div>
 
-            <a class="login-btn" th:unless="${username}" th:href="@{/login}">Log in</a>
+            <a class="login-btn" th:unless="${u}" th:href="@{/login}">Најави се</a>
         </div>
     </header>
@@ -171,23 +172,9 @@
             if(!menu) return;
             const btn = menu.querySelector('#userButton');
-
-            function closeMenu(){
-                menu.classList.remove('open');
-                btn && btn.setAttribute('aria-expanded','false');
-            }
-            function openMenu(){
-                menu.classList.add('open');
-                btn && btn.setAttribute('aria-expanded','true');
-            }
-            btn && btn.addEventListener('click', (e)=>{
-                e.stopPropagation();
-                menu.classList.contains('open') ? closeMenu() : openMenu();
-            });
-            document.addEventListener('click', (e)=>{
-                if(!menu.contains(e.target)) closeMenu();
-            });
-            document.addEventListener('keydown', (e)=>{
-                if(e.key === 'Escape') closeMenu();
-            });
+            function closeMenu(){ menu.classList.remove('open'); btn && btn.setAttribute('aria-expanded','false'); }
+            function openMenu(){ menu.classList.add('open'); btn && btn.setAttribute('aria-expanded','true'); }
+            btn && btn.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('open') ? closeMenu() : openMenu(); });
+            document.addEventListener('click', (e)=>{ if(!menu.contains(e.target)) closeMenu(); });
+            document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); });
         })();
     </script>
Index: src/main/resources/templates/index.html
===================================================================
--- src/main/resources/templates/index.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/index.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>SynergyMed – Branded Medicines</title>
+    <title>SynergyMed – Брендирани лекови</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
@@ -221,5 +221,5 @@
 <body>
 <!-- Header -->
-<th:block th:replace="fragments/header :: siteHeader('medicines', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('medicines')"></th:block>
 <div class="after-site-header"></div>
 
@@ -229,7 +229,7 @@
 <div class="page">
     <div class="header">
-        <h2>Branded Medicines</h2>
+        <h2>Брендирани лекови</h2>
         <div class="header-buttons">
-            <a class="btn btn-primary" th:href="@{/branded-medicines/new}">Create</a>
+            <a class="btn btn-primary" th:href="@{/branded-medicines/new}">Креирај</a>
         </div>
     </div>
@@ -237,9 +237,9 @@
     <div class="grid">
         <div class="card" th:each="bm : ${medicines}">
-            <img class="thumb" th:src="@{${firstImageById[bm.id]}}" alt="product image">
+            <img class="thumb" th:src="@{${firstImageById[bm.id]}}" alt="слика на производ">
             <div class="content">
                 <div class="product-info">
-                    <div class="title" th:text="${bm.name}">Name</div>
-                    <div class="muted" th:text="${bm.dosageForm}">Dosage Form</div>
+                    <div class="title" th:text="${bm.name}">Име</div>
+                    <div class="muted" th:text="${bm.dosageForm}">Фармацевтска форма</div>
                 </div>
 
@@ -249,5 +249,5 @@
 
                     <div class="button-group">
-                        <a class="btn-outline" th:href="@{/branded-medicines/{id}/edit(id=${bm.id})}">Edit</a>
+                        <a class="btn-outline" th:href="@{/branded-medicines/{id}/edit(id=${bm.id})}">Уреди</a>
                     </div>
                 </div>
@@ -313,5 +313,5 @@
 
                 // Show loading state
-                button.textContent = 'Adding...';
+                button.textContent = 'Се додава...';
                 button.disabled = true;
 
@@ -327,6 +327,6 @@
                             // Show success toast
                             showToast(
-                                'Added to Cart!',
-                                `${productName} has been added to your cart successfully.`,
+                                'Додадено во кошничката!',
+                                `${productName} е додаден во кошничката.`,
                                 'success'
                             );
@@ -338,6 +338,6 @@
                         console.error('Error:', error);
                         showToast(
-                            'Error',
-                            'Failed to add item to cart. Please try again.',
+                            'Грешка',
+                            'Неуспешно додавање во кошничката. Обидете се повторно.',
                             'error'
                         );
Index: src/main/resources/templates/login.html
===================================================================
--- src/main/resources/templates/login.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/login.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>SynergyMed - Login</title>
+  <title>SynergyMed - Најава</title>
   <style>
     * {
@@ -205,5 +205,5 @@
   <div class="login-header">
     <h1>SynergyMed</h1>
-    <p>Welcome back! Please sign in to your account.</p>
+    <p>Добредојдовте назад! Ве молиме најавете се во вашата сметка.</p>
   </div>
 
@@ -211,15 +211,15 @@
     <!-- Error message -->
     <div th:if="${error}" class="alert alert-danger">
-      <span th:text="${error}">Invalid credentials</span>
+      <span th:text="${error}">Неточни креденцијали</span>
     </div>
 
     <!-- Success message -->
     <div th:if="${message}" class="alert alert-success">
-      <span th:text="${message}">Success message</span>
+      <span th:text="${message}">Порака за успех</span>
     </div>
 
     <form th:action="@{/login}" method="post" id="loginForm">
       <div class="form-group">
-        <label for="username">Username</label>
+        <label for="username">Корисничко име</label>
         <input type="text"
                id="username"
@@ -227,20 +227,20 @@
                class="form-control"
                th:value="${username}"
-               placeholder="Enter your username"
+               placeholder="Внесете корисничко име"
                required>
       </div>
 
       <div class="form-group">
-        <label for="password">Password</label>
+        <label for="password">Лозинка</label>
         <input type="password"
                id="password"
                name="password"
                class="form-control"
-               placeholder="Enter your password"
+               placeholder="Внесете лозинка"
                required>
       </div>
 
       <button type="submit" class="btn-login" id="loginBtn">
-        <span class="btn-text">Sign In</span>
+        <span class="btn-text">Најави се</span>
         <div class="loading"></div>
       </button>
@@ -248,10 +248,10 @@
 
     <div class="forgot-password">
-      <a href="#" th:href="@{/forgot-password}">Forgot your password?</a>
+      <a href="#" th:href="@{/forgot-password}">Ја заборавивте лозинката?</a>
     </div>
   </div>
 
   <div class="form-footer">
-    <p>&copy; 2025 SynergyMed. All rights reserved.</p>
+    <p>&copy; 2025 SynergyMed. Сите права задржани.</p>
   </div>
 </div>
Index: src/main/resources/templates/manage-allergies.html
===================================================================
--- src/main/resources/templates/manage-allergies.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/manage-allergies.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,2 +1,3 @@
+<!-- templates/manage-allergies.html -->
 <!DOCTYPE html>
 <html lang="en" xmlns:th="http://www.thymeleaf.org">
@@ -4,13 +5,37 @@
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>SynergyMed - Manage Allergies</title>
+  <title>SynergyMed - Управување со алергии</title>
+
+  <!-- Shared header styles (wrapped fragment expression) -->
+  <th:block th:replace="~{fragments/header :: headerStyles}"></th:block>
+
   <style>
     * { margin:0; padding:0; box-sizing:border-box; }
+
+    /* IMPORTANT: remove page padding here so header can be full-bleed */
     body {
       font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
       background: linear-gradient(135deg, #a4ecba 0%, #f7f7f8 100%);
-      min-height:100vh; padding:20px;
+      min-height:100vh;
+      padding:0; /* was 20px; removing this eliminates the left/right/top gaps */
     }
-    .container { max-width:800px; margin:0 auto; }
+
+    /* Full-width global header - identical to other pages */
+    .site-header{
+      position:sticky;
+      top:0;
+      left:0;
+      right:0;
+      width:100%;
+      border-radius:0;
+      margin:0;
+      z-index:1000;
+      background:white !important;
+      box-shadow:0 2px 10px rgba(0,0,0,0.1);
+    }
+
+    /* Put spacing on the content container instead of body */
+    .container { max-width:800px; margin:0 auto; padding:20px; }
+
     .header { background:white; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.1); margin-bottom:30px; overflow:hidden; }
     .header-content { background:linear-gradient(135deg,#20b2aa,#48d1cc); color:white; padding:30px; text-align:center; }
@@ -59,11 +84,15 @@
 </head>
 <body>
+
+<!-- Global header (wrapped fragment expression) -->
+<th:block th:replace="~{fragments/header :: siteHeader(${null})}"></th:block>
+
 <div class="container">
   <!-- Header -->
   <div class="header">
     <div class="header-content">
-      <h1>Manage Allergies</h1>
-      <p th:text="${'Managing allergic reactions for ' + user.firstName + ' ' + user.lastName}">
-        Managing allergic reactions for John Doe
+      <h1>Управување со алергии</h1>
+      <p th:text="${'Управување со алергиски реакции за ' + user.firstName + ' ' + user.lastName}">
+        Управување со алергиски реакции за John Doe
       </p>
     </div>
@@ -73,7 +102,7 @@
   <div class="nav-bar">
     <div class="nav-links">
-      <a th:href="@{/profile}" class="nav-link">Profile</a>
-      <a href="#" class="nav-link active">Manage Allergies</a>
-      <a th:href="@{/profile}" class="nav-link back-btn">Back to Profile</a>
+      <a th:href="@{/profile}" class="nav-link">Профил</a>
+      <a href="#" class="nav-link active">Управување со алергии</a>
+      <a th:href="@{/profile}" class="nav-link back-btn">Назад кон профил</a>
     </div>
   </div>
@@ -81,18 +110,18 @@
   <!-- Current Allergies -->
   <div class="card">
-    <div class="card-header">Current Allergic Reactions</div>
+    <div class="card-header">Тековни алергиски реакции</div>
     <div class="card-body">
       <div th:if="${healthProfile.allergicReactions != null and not #lists.isEmpty(healthProfile.allergicReactions)}">
         <div th:each="allergy : ${healthProfile.allergicReactions}" class="allergy-item">
           <div class="allergy-info">
-            <div class="medicine-name" th:text="${allergy.medicine.medicineName}">Aspirin</div>
-            <div class="allergy-description" th:text="${allergy.description}">Causes severe skin reactions</div>
+            <div class="medicine-name" th:text="${allergy.medicine.medicineName}">Аспирин</div>
+            <div class="allergy-description" th:text="${allergy.description}">Предизвикува сериозни кожни реакции</div>
           </div>
           <span th:class="${'severity-badge ' + #strings.toLowerCase(allergy.severity)}"
-                th:text="${allergy.severity}">HIGH</span>
+                th:text="${allergy.severity}">ВИСОКО</span>
         </div>
       </div>
       <div th:unless="${healthProfile.allergicReactions != null and not #lists.isEmpty(healthProfile.allergicReactions)}" class="no-allergies">
-        No allergic reactions recorded yet.
+        Нема евидентирани алергиски реакции.
       </div>
     </div>
@@ -101,19 +130,18 @@
   <!-- Add New Allergy Form -->
   <div class="card">
-    <div class="card-header">Add New Allergic Reaction</div>
+    <div class="card-header">Додади нова алергиска реакција</div>
     <div class="card-body">
-      <!-- Messages -->
-      <div th:if="${error}" class="alert alert-danger"><span th:text="${error}">Error message</span></div>
-      <div th:if="${success}" class="alert alert-success"><span th:text="${success}">Success message</span></div>
+      <div th:if="${error}" class="alert alert-danger"><span th:text="${error}">Порака за грешка</span></div>
+      <div th:if="${success}" class="alert alert-success"><span th:text="${success}">Порака за успех</span></div>
 
       <form th:action="@{/allergies/add}" method="post" id="allergyForm">
         <div class="form-group">
-          <label for="medicineId">Medicine</label>
+          <label for="medicineId">Лек</label>
           <select id="medicineId" name="medicineId" class="form-control" required>
-            <option value="">Select a medicine...</option>
+            <option value="">Одберете лек...</option>
             <option th:each="medicine : ${medicines}"
                     th:value="${medicine.id}"
                     th:text="${medicine.medicineName + ' (' + medicine.activeIngredient + ')'}">
-              Aspirin (Acetylsalicylic acid)
+              Аспирин (ацетилсалицилна киселина)
             </option>
           </select>
@@ -121,5 +149,5 @@
 
         <div class="form-group">
-          <label for="dateDiagnosed">Date Diagnosed</label>
+          <label for="dateDiagnosed">Датум на дијагностицирање</label>
           <input type="date" id="dateDiagnosed" name="dateDiagnosed" class="form-control"
                  th:max="${#temporals.format(#temporals.createNow(), 'yyyy-MM-dd')}" required>
@@ -127,38 +155,41 @@
 
         <div class="form-group">
-          <label for="description">Description</label>
+          <label for="description">Опис</label>
           <textarea id="description" name="description" class="form-control"
-                    placeholder="Describe the allergic reaction symptoms, triggers, and any additional details..."
+                    placeholder="Опишете ги симптомите, тригерите и дополнителни детали за реакцијата..."
                     required></textarea>
         </div>
 
         <div class="form-group">
-          <label>Severity Level</label>
+          <label>Ниво на сериозност</label>
           <div class="severity-options">
             <div class="severity-option">
               <input type="radio" id="low" name="severity" value="LOW" required>
-              <label for="low" class="severity-label low">Low</label>
+              <label for="low" class="severity-label low">Ниско</label>
             </div>
             <div class="severity-option">
               <input type="radio" id="medium" name="severity" value="MEDIUM" required>
-              <label for="medium" class="severity-label medium">Medium</label>
+              <label for="medium" class="severity-label medium">Средно</label>
             </div>
             <div class="severity-option">
               <input type="radio" id="high" name="severity" value="HIGH" required>
-              <label for="high" class="severity-label high">High</label>
+              <label for="high" class="severity-label high">Високо</label>
             </div>
           </div>
         </div>
 
-        <button type="submit" class="btn-submit">Add Allergic Reaction</button>
+        <button type="submit" class="btn-submit">Додади алергиска реакција</button>
       </form>
     </div>
   </div>
 </div>
+
+<!-- Shared header behavior scripts -->
+<th:block th:replace="~{fragments/header :: headerScripts}"></th:block>
 
 <script>
   document.getElementById('allergyForm').addEventListener('submit', function() {
     const btn = this.querySelector('.btn-submit');
-    btn.textContent = 'Adding...';
+    btn.textContent = 'Се додава...';
     btn.disabled = true;
   });
Index: src/main/resources/templates/medicine-interactions.html
===================================================================
--- src/main/resources/templates/medicine-interactions.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/medicine-interactions.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Medicine Interactions</title>
+    <title>SynergyMed - Интеракции на лекови</title>
 
     <!-- Header styles -->
@@ -105,5 +105,5 @@
 
 <!-- Global header -->
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -111,6 +111,6 @@
     <div class="header">
         <div class="header-content">
-            <h1>Medicine Interactions</h1>
-            <p>Check for potential drug interactions to ensure safe medication combinations</p>
+            <h1>Интеракции на лекови</h1>
+            <p>Проверете можни интеракции меѓу лекови за безбедни комбинации на терапија</p>
         </div>
     </div>
@@ -119,7 +119,7 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a href="#" class="nav-link">Medicine</a>
-            <a href="#" class="nav-link active">Interactions</a>
-            <a href="#" class="nav-link back-btn">Back to Dashboard</a>
+            <a href="#" class="nav-link">Лекови</a>
+            <a href="#" class="nav-link active">Интеракции</a>
+            <a href="#" class="nav-link back-btn">Назад кон таблата</a>
         </div>
     </div>
@@ -127,14 +127,14 @@
     <!-- Alert Messages -->
     <div th:if="${hasError}" class="alert alert-danger">
-        <span th:text="${error}">Error message</span>
+        <span th:text="${error}">Порака за грешка</span>
     </div>
 
     <div th:if="${hasInfo}" class="alert alert-info">
-        <span th:text="${info}">Info message</span>
+        <span th:text="${info}">Информативна порака</span>
     </div>
 
     <!-- Search Section -->
     <div class="card">
-        <div class="card-header">Search for Medicine Interactions</div>
+        <div class="card-header">Пребарај интеракции на лекови</div>
         <div class="card-body">
             <form th:action="@{/medicine/interactions/search}" method="post" class="search-form">
@@ -143,8 +143,8 @@
                            class="form-control"
                            name="searchTerm"
-                           placeholder="Enter medicine name to check interactions..."
+                           placeholder="Внесете име на лек за проверка на интеракции..."
                            th:value="${searchedMedicine != null ? searchedMedicine : ''}">
                 </div>
-                <button type="submit" class="btn-submit">Search Interactions</button>
+                <button type="submit" class="btn-submit">Пребарај интеракции</button>
             </form>
         </div>
@@ -154,86 +154,4 @@
     <div th:if="${interactions != null}" class="card">
         <div class="card-header">
-            Interaction Results
-            <span th:if="${searchedMedicine != null and !searchedMedicine.isEmpty()}"
-                  style="font-weight:400; opacity:0.9;">
-                for <strong th:text="${searchedMedicine}"></strong>
-            </span>
-        </div>
-        <div class="card-body">
-            <div th:if="${interactions.isEmpty()}" class="no-interactions">
-                <i>✓</i>
-                <h4>No Interactions Found</h4>
-                <p>This medicine appears to have no recorded interactions with other medicines in our database.</p>
-            </div>
-
-            <div th:if="${!interactions.isEmpty()}">
-                <div th:each="interaction : ${interactions}"
-                     class="interaction-item"
-                     th:classappend="${interaction.severity.toLowerCase() == 'high'} ? 'severity-high' :
-                                        (${interaction.severity.toLowerCase() == 'medium'} ? 'severity-medium' : 'severity-low')">
-
-                        <span class="severity-badge"
-                              th:classappend="${interaction.severity.toLowerCase() == 'high'} ? 'high' :
-                                             (${interaction.severity.toLowerCase() == 'medium'} ? 'medium' : 'low')"
-                              th:text="${interaction.severity}">Severity</span>
-
-                    <div class="interaction-medicines">
-                        <span th:text="${interaction.medicineId1.medicineName}">Medicine 1</span>
-                        <span style="color:#888; font-weight:400;"> ↔ </span>
-                        <span th:text="${interaction.medicineId2.medicineName}">Medicine 2</span>
-                    </div>
-
-                    <div class="interaction-type" th:text="${interaction.type}">Interaction Type</div>
-
-                    <div class="interaction-description"
-                         th:if="${interaction.description != null and !interaction.description.isEmpty()}"
-                         th:text="${interaction.description}">Description</div>
-                </div>
-            </div>
-        </div>
-    </div>
-
-    <!-- All Medicines -->
-    <div class="card">
-        <div class="card-header">All Available Medicines</div>
-        <div class="card-body">
-            <div th:if="${medicineList != null and !medicineList.isEmpty()}" class="medicine-grid">
-                <div th:each="medicine : ${medicineList}" class="medicine-card">
-                    <div class="medicine-name" th:text="${medicine.medicineName}">Medicine Name</div>
-                    <div class="medicine-ingredient" th:text="${medicine.activeIngredient}">Active Ingredient</div>
-                    <a th:href="@{/medicine/interactions/{id}(id=${medicine.id})}"
-                       class="check-interactions-btn">Check Interactions</a>
-                </div>
-            </div>
-        </div>
-    </div>
-
-</div>
-
-<!-- Dropdown script -->
-<th:block th:replace="fragments/header :: headerScripts"></th:block>
-
-<script>
-    // Add loading state to search form
-    document.querySelector('form').addEventListener('submit', function() {
-        const btn = this.querySelector('.btn-submit');
-        btn.textContent = 'Searching...';
-        btn.disabled = true;
-    });
-
-    // Add subtle animations
-    document.addEventListener('DOMContentLoaded', function() {
-        const cards = document.querySelectorAll('.medicine-card');
-        cards.forEach((card, index) => {
-            card.style.opacity = '0';
-            card.style.transform = 'translateY(20px)';
-            setTimeout(() => {
-                card.style.transition = 'all 0.5s ease';
-                card.style.opacity = '1';
-                card.style.transform = 'translateY(0)';
-            }, index * 100);
-        });
-    });
-</script>
-</body>
-</html>
+            Резултати од интеракции
+            <span th:if="${searchedMedicine != null and !searched
Index: src/main/resources/templates/order-detail.html
===================================================================
--- src/main/resources/templates/order-detail.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/order-detail.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,55 +1,92 @@
-<!-- templates/order-detail.html -->
+<!-- templates/orders.html -->
 <!DOCTYPE html>
-<html lang="en" xmlns:th="http://www.thymeleaf.org">
+<html xmlns:th="http://www.thymeleaf.org" lang="en">
 <head>
     <meta charset="UTF-8">
+    <title>SynergyMed – Нарачки</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title th:text="${'Order #' + order.id + ' – Details'}">Order Details</title>
 
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
 
     <style>
-        * { margin:0; padding:0; box-sizing:border-box; }
-        body {
-            font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
-            background:linear-gradient(135deg, #a4ecba 0%, #f7f7f8 100%);
-            min-height:100vh;
+        :root {
+            --teal-1:#20b2aa; --teal-2:#48d1cc;
+            --bg:#fefeff; --card:#ffffff;
+            --muted:#6c757d; --text:#1f2937;
+            --shadow:0 20px 40px rgba(0,0,0,0.10);
+            --shadow-sm:0 6px 18px rgba(0,0,0,0.08);
+            --green:#16a34a; --yellow:#ca8a04;
+            --green-bg:rgba(22,163,74,.12); --yellow-bg:rgba(202,138,4,.12);
         }
-        .site-header { position:sticky; top:0; left:0; right:0; width:100%; border-radius:0; z-index:1000; }
-        .container { max-width:800px; margin:0 auto; padding:20px; }
-        .card { background:white; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.1); overflow:hidden; margin-top:50px; text-align:center; }
-        .card-header { background:linear-gradient(135deg,#20b2aa,#48d1cc); color:white; padding:30px; font-size:1.8rem; font-weight:600; }
-        .card-body { padding:40px 30px; }
-        .card-body p { margin-bottom:14px; font-size:1rem; color:#333; }
-        .success-icon { font-size:4rem; color:#20b2aa; margin-bottom:20px; }
-        .btn-back { display:inline-block; margin-top:25px; padding:12px 25px; background:linear-gradient(135deg,#20b2aa,#48d1cc); color:white; border-radius:12px; font-weight:600; text-decoration:none; transition:.3s; }
-        .btn-back:hover { transform:translateY(-2px); box-shadow:0 10px 20px rgba(32,178,170,.3); }
+        *{margin:0;padding:0;box-sizing:border-box}
+        body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;background:linear-gradient(135deg,#a4ecba 0%,#fefeff 100%);color:var(--text)}
+        .site-header{position:sticky;top:0;left:0;right:0;width:100%;border-radius:0;margin:0;z-index:1000;background:white !important;box-shadow:0 2px 10px rgba(0,0,0,.1)}
+        .page{width:100%; max-width:1200px; padding:28px; margin:0 auto}
+        .card{background:var(--card);border-radius:18px;box-shadow:var(--shadow);margin-bottom:28px;overflow:hidden}
+        .card-header{background:linear-gradient(135deg,var(--teal-1),var(--teal-2));color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;font-size:1.3rem;font-weight:600}
+        .card-body{padding:22px}
+        .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
+        .company-card{background:var(--card);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
+        .content{padding:16px 18px}
+        .title{font-weight:700;margin:6px 0 2px}
+        .muted{color:var(--muted);font-size:.92rem}
+        .badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.80rem;font-weight:700}
+        .badge-green{background:var(--green-bg);color:var(--green)}
+        .badge-yellow{background:var(--yellow-bg);color:var(--yellow)}
+        .row{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
+        .clickable{cursor:pointer}
+        @media (max-width:560px){.page{padding:16px}}
     </style>
 </head>
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader('orders', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('orders')"></th:block>
 
-<div class="container">
+<div class="page">
     <div class="card">
-        <div class="card-header" th:text="${'Order #' + order.id}">Order #123</div>
+        <div class="card-header">
+            <span>Нарачки</span>
+        </div>
         <div class="card-body">
-            <div class="success-icon">✔</div>
 
-            <p><strong>Date:</strong> <span th:text="${order.orderDate}">2025-08-30</span></p>
-            <p><strong>Status:</strong> <span th:text="${order.status}">во тек</span></p>
-            <p><strong>Total Paid:</strong> <span th:text="${order.totalPrice + ' ден.'}">0 ден.</span></p>
-            <p><strong>Expected Arrival:</strong> <span th:text="${order.expectedArrivalDate}">2025-09-05</span></p>
+            <!-- Empty state -->
+            <div th:if="${#lists.isEmpty(orders)}" class="muted">Немате направено ниту една нарачка.</div>
 
-            <p><strong>Delivery Company:</strong>
-                <span th:text="${deliveryCompany.company != null ? deliveryCompany.company.companyName : 'N/A'}">Courier</span>
-            </p>
+            <!-- Orders grid -->
+            <div class="grid" th:if="${!#lists.isEmpty(orders)}">
+                <div class="company-card clickable"
+                     th:each="o : ${orders}"
+                     th:attr="data-href=@{/orders/{oid}(oid=${o.id})}">
+                    <div class="content">
+                        <div class="title" th:text="${'Нарачка • ' + o.orderDate}">Нарачка • 2025-08-30</div>
+                        <div class="muted" th:text="${'Вкупно: ' + o.totalPrice + ' ден.'}">Вкупно</div>
 
-            <p><strong>Payment Status:</strong> <span th:text="${payment.status}">COMPLETED</span></p>
-            <p><strong>Payment Method:</strong>
-                <span th:text="${payment.paymentMethod != null ? payment.paymentMethod.methodName : '—'}">CARD</span>
-            </p>
+                        <div style="margin-top:8px;">
+                          <span class="badge"
+                                th:text="${o.status}"
+                                th:classappend="${o.status == 'испорачана'} ? ' badge-green' : (${o.status == 'во тек'} ? ' badge-yellow' : '')">
+                            Статус
+                          </span>
+                        </div>
 
-            <a class="btn-back" th:href="@{/orders}">Back to Orders</a>
+                        <div class="row">
+                            <div class="muted" th:text="${'Очекувано: ' + o.expectedArrivalDate}">Очекувано</div>
+                            <div class="muted" th:text="${'#' + o.id}">#ИД</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <script>
+                document.addEventListener('DOMContentLoaded', function () {
+                    document.querySelectorAll('.company-card.clickable').forEach(function (card) {
+                        const href = card.getAttribute('data-href');
+                        if (!href) return;
+                        card.addEventListener('click', function () { window.location.assign(href); });
+                        card.querySelectorAll('a, button, input, select, textarea, label, form')
+                            .forEach(function (el) { el.addEventListener('click', function (e) { e.stopPropagation(); }); });
+                    });
+                });
+            </script>
         </div>
     </div>
Index: src/main/resources/templates/orders.html
===================================================================
--- src/main/resources/templates/orders.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/orders.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -41,5 +41,5 @@
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader('orders', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('orders')"></th:block>
 
 <div class="page">
Index: src/main/resources/templates/payment-success.html
===================================================================
--- src/main/resources/templates/payment-success.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/payment-success.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Payment Success</title>
+    <title>SynergyMed - Успешна уплата</title>
 
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -38,18 +38,18 @@
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
     <div class="card">
-        <div class="card-header">Payment Successful 🎉</div>
+        <div class="card-header">Уплатата е успешна 🎉</div>
         <div class="card-body">
             <div class="success-icon">✔</div>
-            <p>Thank you! Your payment has been processed successfully.</p>
-            <p>Order ID: <span th:text="${order.id}">123</span></p>
-            <p>Amount Paid: <span th:text="${payment.amount} + ' ден.'">0.00 ден.</span></p>
-            <p>Status: <span th:text="${payment.status}">COMPLETED</span></p>
-            <p>Expected Arrival: <span th:text="${order.expectedArrivalDate}">2025-09-05</span></p>
+            <p>Ви благодариме! Вашата уплата е успешно обработена.</p>
+            <p>Број на нарачка: <span th:text="${order.id}">123</span></p>
+            <p>Платен износ: <span th:text="${payment.amount} + ' ден.'">0.00 ден.</span></p>
+            <p>Статус: <span th:text="${payment.status}">ЗАВРШЕНО</span></p>
+            <p>Очекувано пристигнување: <span th:text="${order.expectedArrivalDate}">2025-09-05</span></p>
 
-            <a th:href="@{/branded-medicines}" class="btn-back">Continue Shopping</a>
+            <a th:href="@{/catalog}" class="btn-back">Продолжи со купување</a>
         </div>
     </div>
Index: src/main/resources/templates/payment.html
===================================================================
--- src/main/resources/templates/payment.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/payment.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -3,5 +3,5 @@
 <head>
   <meta charset="UTF-8">
-  <title>SynergyMed – Payment</title>
+  <title>SynergyMed – Уплата</title>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -30,25 +30,25 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('payment', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('payment')"></th:block>
 
 <div class="container">
   <div class="card">
-    <div class="card-header">Complete Your Payment</div>
+    <div class="card-header">Заврши ја уплатата</div>
     <div class="card-body">
       <form th:action="@{/payment}" method="post">
         <input type="hidden" name="useCard" th:value="${useCard}">
         <div class="form-group">
-          <label for="paymentMethodId">Select Payment Method</label>
+          <label for="paymentMethodId">Избери метод на плаќање</label>
           <select id="paymentMethodId" name="paymentMethodId" class="form-control" required>
-            <option value="">Choose a payment method...</option>
-            <option th:each="pm : ${methods}" th:value="${pm.id}" th:text="${pm.methodName}">Card</option>
+            <option value="">Одбери метод на плаќање...</option>
+            <option th:each="pm : ${methods}" th:value="${pm.id}" th:text="${pm.methodName}">Картичка</option>
           </select>
         </div>
 
         <div class="form-group">
-          <label for="deliveryCompanyId">Select Delivery Company</label>
+          <label for="deliveryCompanyId">Избери достава</label>
           <select id="deliveryCompanyId" name="deliveryCompanyId" class="form-control" required>
-            <option value="">Choose a delivery company...</option>
-            <option th:each="dc : ${deliveryCompanies}" th:value="${dc.id}" th:text="${dc.company.companyName}">Courier</option>
+            <option value="">Одбери компанија за достава...</option>
+            <option th:each="dc : ${deliveryCompanies}" th:value="${dc.id}" th:text="${dc.company.companyName}">Курир</option>
           </select>
         </div>
@@ -56,10 +56,10 @@
         <div class="cart-total">
           <div class="muted" th:if="${discount != null && discount > 0}">
-            Discount: <span th:text="${discount + ' ден.'}">0 ден.</span>
+            Попуст: <span th:text="${discount + ' ден.'}">0 ден.</span>
           </div>
-          Total: <span th:text="${#numbers.formatDecimal(total, 1, 'COMMA', 2, 'POINT') + ' ден.'}">0.00 ден.</span>
+          Вкупно: <span th:text="${#numbers.formatDecimal(total, 1, 'COMMA', 2, 'POINT') + ' ден.'}">0.00 ден.</span>
         </div>
 
-        <button type="submit" class="btn-submit">Pay Now</button>
+        <button type="submit" class="btn-submit">Плати сега</button>
       </form>
     </div>
Index: src/main/resources/templates/profile-clubcard.html
===================================================================
--- src/main/resources/templates/profile-clubcard.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/profile-clubcard.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Club Card</title>
+    <title>SynergyMed - Клуб-картичка</title>
 
     <!-- Shared header styles -->
@@ -127,5 +127,5 @@
 
 <!-- Top site header; activePage null for profile area -->
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -141,7 +141,7 @@
                 <p th:text="${user.email}">john.doe@email.com</p>
                 <div class="profile-meta">
-                    <div class="meta-item" th:text="'Member since ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Member since Jan 2024</div>
-                    <div class="meta-item" th:text="'Age ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Age 30</div>
-                    <div class="meta-item" th:text="${user.gender ?: 'Not specified'}">Male</div>
+                    <div class="meta-item" th:text="'Член од ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Член од јан 2024</div>
+                    <div class="meta-item" th:text="'Возраст ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Возраст 30</div>
+                    <div class="meta-item" th:text="${user.gender ?: 'Не е наведено'}">Машки</div>
                 </div>
             </div>
@@ -152,10 +152,10 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Profile</a>
-            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Prescriptions</a>
-            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Club Card</a>
-            <a th:href="@{/allergies/manage}" class="nav-link">Manage Allergies</a>
-            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Contact Info</a>
-            <a th:href="@{/logout}" class="logout-btn">Logout</a>
+            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Профил</a>
+            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Рецепти</a>
+            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Клуб-картичка</a>
+            <a th:href="@{/allergies/manage}" class="nav-link">Управување со алергии</a>
+            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Контакт податоци</a>
+            <a th:href="@{/logout}" class="logout-btn">Одјава</a>
         </div>
     </div>
@@ -165,13 +165,13 @@
         <!-- Left: Personal information (same as profile) -->
         <div class="card">
-            <div class="card-header">Personal Information</div>
+            <div class="card-header">Лични информации</div>
             <div class="card-body">
                 <div class="info-grid">
-                    <div class="info-item"><span class="info-label">Full Name</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
-                    <div class="info-item"><span class="info-label">Username</span><span class="info-value" th:text="${username}">johndoe</span></div>
-                    <div class="info-item"><span class="info-label">Email</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
-                    <div class="info-item"><span class="info-label">Date of Birth</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
-                    <div class="info-item"><span class="info-label">Gender</span><span class="info-value" th:text="${user.gender ?: 'Not specified'}">Male</span></div>
-                    <div class="info-item"><span class="info-label">Member Since</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
+                    <div class="info-item"><span class="info-label">Целосно име</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
+                    <div class="info-item"><span class="info-label">Корисничко име</span><span class="info-value" th:text="${username}">johndoe</span></div>
+                    <div class="info-item"><span class="info-label">Е-пошта</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
+                    <div class="info-item"><span class="info-label">Датум на раѓање</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
+                    <div class="info-item"><span class="info-label">Пол</span><span class="info-value" th:text="${user.gender ?: 'Не е наведено'}">Машки</span></div>
+                    <div class="info-item"><span class="info-label">Член од</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
                 </div>
             </div>
@@ -180,38 +180,39 @@
         <!-- Right: Club Card -->
         <div class="card">
-            <div class="card-header">Club Card</div>
+            <div class="card-header">Клуб-картичка</div>
             <div class="card-body">
                 <!-- If user already has a club card, show its data -->
                 <div th:if="${hasClubcard}">
                     <div class="stat">
-                        <span class="stat-label">Program</span>
+                        <span class="stat-label">Програма</span>
                         <span class="stat-value" th:text="${clubcard.clubProgram}">Default Loyalty Program</span>
                     </div>
                     <div class="stat">
-                        <span class="stat-label">Points</span>
+                        <span class="stat-label">Поени</span>
                         <span class="stat-value" th:text="${clubcard.points}">0</span>
                     </div>
-                    <p class="muted" style="margin-top:10px;">Earn points with purchases and enjoy benefits under your current program.</p>
+                    <p class="muted" style="margin-top:10px;">Заработувајте поени со купувања и искористете бенефити според активната програма.</p>
                 </div>
 
                 <!-- Otherwise, allow creating a new card and choosing a program -->
                 <div th:unless="${hasClubcard}">
-                    <p class="muted" style="margin-bottom:14px;">No club card found. Choose a program and create a new card to start earning points.</p>
+                    <p class="muted" style="margin-bottom:14px;">Нема пронајдена клуб-картичка. Изберете програма и креирајте нова картичка за да започнете со собирање поени.</p>
                     <form th:action="@{/profile/clubcard/create}" method="post">
                         <div class="row">
-                            <label for="program">Program</label>
+                            <label for="program">Програма</label>
                             <select id="program" name="program" required>
-                                <option value="Default Loyalty Program" selected>Default Loyalty Program</option>
-                                <option value="Silver Rewards">Silver Rewards</option>
-                                <option value="Gold Rewards">Gold Rewards</option>
-                                <option value="Platinum Elite">Platinum Elite</option>
+                                <!-- keep values in English to match backend; show text in Macedonian -->
+                                <option value="Default Loyalty Program" selected>Стандардна лојалти програма</option>
+                                <option value="Silver Rewards">Сребрени награди</option>
+                                <option value="Gold Rewards">Златни награди</option>
+                                <option value="Platinum Elite">Платинум елит</option>
                             </select>
                         </div>
 
                         <div class="actions" style="align-items:center;">
-                            <button type="submit" class="btn btn-primary">Create Club Card</button>
+                            <button type="submit" class="btn btn-primary">Креирај клуб-картичка</button>
                         </div>
                     </form>
-                    <p class="muted" style="margin-top:10px;">Program benefits and point accrual may vary by tier.</p>
+                    <p class="muted" style="margin-top:10px;">Бенефитите и собирањето поени може да се разликуваат по ниво.</p>
                 </div>
             </div>
Index: src/main/resources/templates/profile-contacts.html
===================================================================
--- src/main/resources/templates/profile-contacts.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/profile-contacts.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Profile</title>
+    <title>SynergyMed - Профил</title>
 
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -107,5 +107,5 @@
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -121,7 +121,7 @@
                 <p th:text="${user.email}">john.doe@email.com</p>
                 <div class="profile-meta">
-                    <div class="meta-item" th:text="'Member since ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Member since Jan 2024</div>
-                    <div class="meta-item" th:text="'Age ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Age 30</div>
-                    <div class="meta-item" th:text="${user.gender ?: 'Not specified'}">Male</div>
+                    <div class="meta-item" th:text="'Член од ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Член од јан 2024</div>
+                    <div class="meta-item" th:text="'Возраст ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Возраст 30</div>
+                    <div class="meta-item" th:text="${user.gender ?: 'Не е наведено'}">Машки</div>
                 </div>
             </div>
@@ -132,10 +132,10 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Profile</a>
-            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Prescriptions</a>
-            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Club Card</a>
-            <a th:href="@{/allergies/manage}" class="nav-link">Manage Allergies</a>
-            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Contact Info</a>
-            <a th:href="@{/logout}" class="logout-btn">Logout</a>
+            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Профил</a>
+            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Рецепти</a>
+            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Клуб-картичка</a>
+            <a th:href="@{/allergies/manage}" class="nav-link">Управување со алергии</a>
+            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Контакт податоци</a>
+            <a th:href="@{/logout}" class="logout-btn">Одјава</a>
         </div>
     </div>
@@ -146,13 +146,13 @@
         <!-- Left: same personal info card as profile -->
         <div class="card">
-            <div class="card-header">Personal Information</div>
+            <div class="card-header">Лични информации</div>
             <div class="card-body">
                 <div class="info-grid">
-                    <div class="info-item"><span class="info-label">Full Name</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
-                    <div class="info-item"><span class="info-label">Username</span><span class="info-value" th:text="${username}">johndoe</span></div>
-                    <div class="info-item"><span class="info-label">Email</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
-                    <div class="info-item"><span class="info-label">Date of Birth</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
-                    <div class="info-item"><span class="info-label">Gender</span><span class="info-value" th:text="${user.gender ?: 'Not specified'}">Male</span></div>
-                    <div class="info-item"><span class="info-label">Member Since</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
+                    <div class="info-item"><span class="info-label">Целосно име</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
+                    <div class="info-item"><span class="info-label">Корисничко име</span><span class="info-value" th:text="${username}">johndoe</span></div>
+                    <div class="info-item"><span class="info-label">Е-пошта</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
+                    <div class="info-item"><span class="info-label">Датум на раѓање</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
+                    <div class="info-item"><span class="info-label">Пол</span><span class="info-value" th:text="${user.gender ?: 'Не е наведено'}">Машки</span></div>
+                    <div class="info-item"><span class="info-label">Член од</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
                 </div>
             </div>
@@ -161,5 +161,5 @@
         <!-- Right: Contact Information (two editable fields; create/update in one form) -->
         <div class="card">
-            <div class="card-header">Contact Information</div>
+            <div class="card-header">Контакт податоци</div>
             <div class="card-body">
                 <!-- Save form (create or update) -->
@@ -167,5 +167,5 @@
                     <input type="hidden" name="id" th:if="${contact != null}" th:value="${contact.id}">
                     <div class="row">
-                        <label for="phone">Phone</label>
+                        <label for="phone">Телефон</label>
                         <input id="phone" name="phone" type="text"
                                th:value="${contact != null ? contact.phone : ''}"
@@ -173,12 +173,12 @@
                     </div>
                     <div class="row">
-                        <label for="address">Address</label>
+                        <label for="address">Адреса</label>
                         <input id="address" name="address" type="text"
                                th:value="${contact != null ? contact.address : ''}"
-                               placeholder="Street, City">
+                               placeholder="Улица, Град">
                     </div>
                     <div class="actions" style="align-items:center;">
                         <button type="submit" class="btn btn-primary"
-                                th:text="${contact != null} ? 'Update' : 'Create'">Create</button>
+                                th:text="${contact != null} ? 'Ажурирај' : 'Креирај'">Креирај</button>
                     </div>
                 </form>
@@ -189,10 +189,10 @@
                       method="post" style="display:inline;">
                     <input type="hidden" name="id" th:value="${contact.id}">
-                    <button type="submit" class="btn btn-danger" style="margin-left:12px;">Delete</button>
+                    <button type="submit" class="btn btn-danger" style="margin-left:12px;">Избриши</button>
                 </form>
 
                 <!-- Optional helper when creating -->
                 <p class="info-value" th:if="${contact == null}" style="margin-top:10px;color:#6b7280;">
-                    Fill the fields and press Create to add contact info.
+                    Пополнете ги полињата и притиснете „Креирај“ за да додадете контакт податоци.
                 </p>
             </div>
Index: src/main/resources/templates/profile-prescriptions.html
===================================================================
--- src/main/resources/templates/profile-prescriptions.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/profile-prescriptions.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -1,2 +1,3 @@
+<!-- templates/profile-prescriptions.html -->
 <!DOCTYPE html>
 <html lang="en" xmlns:th="http://www.thymeleaf.org">
@@ -4,19 +5,35 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Profile</title>
+    <title>SynergyMed - Профил</title>
 
-    <th:block th:replace="fragments/header :: headerStyles"></th:block>
+    <!-- Shared header styles (Thymeleaf 3.1 fragment expression) -->
+    <th:block th:replace="~{fragments/header :: headerStyles}"></th:block>
 
     <style>
         * { margin: 0; padding: 0; box-sizing: border-box; }
-        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
-            background: linear-gradient(135deg, #a4ecba 0%, #f7f7f8 100%); min-height: 100vh; }
+        body {
+            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            background: linear-gradient(135deg, #a4ecba 0%, #f7f7f8 100%);
+            min-height: 100vh;
+        }
+
+        /* Full-width sticky header override for consistency */
         .site-header { position: sticky; top: 0; left: 0; right: 0; width: 100%; border-radius: 0; z-index: 1000; }
 
         .container { max-width: 1200px; margin: 0 auto; padding: 20px; }
-        .header { background: white; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,.1); margin-bottom: 30px; overflow: hidden; }
-        .header-content { background: linear-gradient(135deg, #20b2aa, #48d1cc); color: white; padding: 30px; display: flex; align-items: center; gap: 30px; }
-        .profile-picture { width: 120px; height: 120px; border-radius: 50%; background: #888; display: flex; align-items: center; justify-content: center;
-            font-size: 48px; font-weight: bold; color: white; border: 4px solid rgba(255,255,255,.3); }
+        .header {
+            background: white; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,.1);
+            margin-bottom: 30px; overflow: hidden;
+        }
+        .header-content {
+            background: linear-gradient(135deg, #20b2aa, #48d1cc);
+            color: white; padding: 30px; display: flex; align-items: center; gap: 30px;
+        }
+        .profile-picture {
+            width: 120px; height: 120px; border-radius: 50%;
+            background: #888; display: flex; align-items: center; justify-content: center;
+            font-size: 48px; font-weight: bold; color: white;
+            border: 4px solid rgba(255,255,255,.3);
+        }
         .profile-info h1 { font-size: 2.5rem; font-weight: 300; margin-bottom: 10px; }
         .profile-info p { font-size: 1.1rem; opacity: .9; margin-bottom: 5px; }
@@ -24,10 +41,15 @@
         .meta-item { background: rgba(255,255,255,.2); padding: 8px 16px; border-radius: 20px; font-size: .9rem; }
 
-        .nav-bar { background: white; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,.1); margin-bottom: 30px; padding: 20px 30px; }
+        .nav-bar {
+            background: white; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,.1);
+            margin-bottom: 30px; padding: 20px 30px;
+        }
         .nav-links { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
         .nav-link { color:#20b2aa; text-decoration:none; padding:10px 20px; border-radius:25px; transition:.3s; font-weight:500; }
         .nav-link:hover, .nav-link.active { background:linear-gradient(135deg,#20b2aa,#48d1cc); color:white; }
-        .logout-btn { margin-left:auto; background:linear-gradient(135deg,#ff6b6b,#ee5a24); color:white; padding:10px 20px; border-radius:25px;
-            text-decoration:none; font-weight:600; border:none; box-shadow:0 5px 15px rgba(238,90,36,.30); transition:.2s; display:inline-flex; align-items:center; }
+        .logout-btn {
+            margin-left:auto; background:linear-gradient(135deg,#ff6b6b,#ee5а24); color:white; padding:10px 20px; border-radius:25px;
+            text-decoration:none; font-weight:600; border:none; box-shadow:0 5px 15px rgba(238,90,36,.30); transition:.2s; display:inline-flex; align-items:center;
+        }
         .logout-btn:hover { transform:translateY(-2px); box-shadow:0 10px 20px rgba(238,90,36,.35); }
 
@@ -57,5 +79,6 @@
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<!-- Global header -->
+<th:block th:replace="~{fragments/header :: siteHeader(${null})}"></th:block>
 
 <div class="container">
@@ -71,7 +94,7 @@
                 <p th:text="${user.email}">john@example.com</p>
                 <div class="profile-meta">
-                    <div class="meta-item" th:text="'Member since ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Member since Jan 2024</div>
-                    <div class="meta-item" th:text="'Age ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Age 30</div>
-                    <div class="meta-item" th:text="${user.gender ?: 'Not specified'}">Male</div>
+                    <div class="meta-item" th:text="'Член од ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Член од јан 2024</div>
+                    <div class="meta-item" th:text="'Возраст ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Возраст 30</div>
+                    <div class="meta-item" th:text="${user.gender ?: 'Не е наведено'}">Машки</div>
                 </div>
             </div>
@@ -82,10 +105,10 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a th:href="@{/profile}" class="nav-link">Profile</a>
-            <a th:href="@{/profile/prescriptions}" class="nav-link active">Prescriptions</a>
-            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Club Card</a>
-            <a th:href="@{/allergies/manage}" class="nav-link">Manage Allergies</a>
-            <a th:href="@{/profile/contacts}" class="nav-link">Contact Info</a>
-            <a th:href="@{/logout}" class="logout-btn">Logout</a>
+            <a th:href="@{/profile}" class="nav-link">Профил</a>
+            <a th:href="@{/profile/prescriptions}" class="nav-link active">Рецепти</a>
+            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Клуб-картичка</a>
+            <a th:href="@{/allergies/manage}" class="nav-link">Управување со алергии</a>
+            <a th:href="@{/profile/contacts}" class="nav-link">Контакт податоци</a>
+            <a th:href="@{/logout}" class="logout-btn">Одјава</a>
         </div>
     </div>
@@ -94,13 +117,13 @@
         <!-- Left: Personal Information -->
         <div class="card">
-            <div class="card-header">Personal Information</div>
+            <div class="card-header">Лични информации</div>
             <div class="card-body">
                 <div class="info-grid">
-                    <div class="info-item"><span class="info-label">Full Name</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
-                    <div class="info-item"><span class="info-label">Username</span><span class="info-value" th:text="${username}">johndoe</span></div>
-                    <div class="info-item"><span class="info-label">Email</span><span class="info-value" th:text="${user.email}">john@example.com</span></div>
-                    <div class="info-item"><span class="info-label">Date of Birth</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
-                    <div class="info-item"><span class="info-label">Gender</span><span class="info-value" th:text="${user.gender ?: 'Not specified'}">Male</span></div>
-                    <div class="info-item"><span class="info-label">Member Since</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
+                    <div class="info-item"><span class="info-label">Целосно име</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
+                    <div class="info-item"><span class="info-label">Корисничко име</span><span class="info-value" th:text="${username}">johndoe</span></div>
+                    <div class="info-item"><span class="info-label">Е-пошта</span><span class="info-value" th:text="${user.email}">john@example.com</span></div>
+                    <div class="info-item"><span class="info-label">Датум на раѓање</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
+                    <div class="info-item"><span class="info-label">Пол</span><span class="info-value" th:text="${user.gender ?: 'Не е наведено'}">Машки</span></div>
+                    <div class="info-item"><span class="info-label">Член од</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
                 </div>
             </div>
@@ -109,22 +132,24 @@
         <!-- Right: Prescriptions -->
         <div class="card">
-            <div class="card-header">Prescriptions</div>
+            <div class="card-header">Рецепти</div>
             <div class="card-body">
 
                 <!-- Not verified -->
                 <div th:if="${!verified}">
-                    <!-- If sensitiveclientdata.verificationStatus == 'во тек' show pending text -->
-                    <div th:if="${sensitive != null and sensitive.verificationStatus == 'во тек'}" class="pending-wrap">
-                        <div class="pending-text">Фармацевт ќе ви ги прегледа вашите податоци во најбрз можен рок.</div>
+                    <!-- Pending request → show waiting text -->
+                    <div th:if="${pending}" class="pending-wrap">
+                        <div class="pending-text">
+                            Фармацевт ќе ви ги прегледа вашите податоци во најбрз можен рок.
+                        </div>
                     </div>
 
-                    <!-- Otherwise show Apply button -->
-                    <div th:if="${sensitive == null or sensitive.verificationStatus != 'во тек'}">
+                    <!-- Not pending → show Apply button -->
+                    <div th:if="${!pending}">
                         <div class="muted" style="margin-bottom:10px;">
-                            Profile is not verified; prescriptions are available once verification is completed.
+                            Профилот не е верифициран; рецептите ќе бидат достапни по завршување на верификацијата.
                         </div>
                         <a class="nav-link" th:href="@{/profile/verification/apply}"
                            style="display:inline-block; background:linear-gradient(135deg,#20b2aa,#48d1cc); color:#fff; border-radius:25px; padding:10px 20px; text-decoration:none; font-weight:600;">
-                            Apply for verification
+                            Поднеси барање за верификација
                         </a>
                     </div>
@@ -133,13 +158,13 @@
                 <!-- Verified: list prescriptions -->
                 <div th:if="${verified}">
-                    <div th:if="${#lists.isEmpty(prescriptions)}" class="muted">No prescriptions found.</div>
+                    <div th:if="${#lists.isEmpty(prescriptions)}" class="muted">Нема пронајдени рецепти.</div>
 
                     <div class="rx-list" th:if="${!#lists.isEmpty(prescriptions)}">
                         <div class="rx" th:each="p : ${prescriptions}">
-                            <div class="rx-title" th:text="${p.medicine.medicineName}">Medicine name</div>
+                            <div class="rx-title" th:text="${p.medicine.medicineName}">Име на лекот</div>
                             <div class="rx-sub">
-                                <span th:text="${'Issued by: ' + p.issuedBy}">Issued by</span>
-                                <span th:text="${'Issued: ' + #temporals.format(p.issuedAt, 'dd MMM yyyy')}">Issued</span>
-                                <span th:text="${'Valid to: ' + #temporals.format(p.validTo, 'dd MMM yyyy')}">Valid to</span>
+                                <span th:text="${'Издаден од: ' + p.issuedBy}">Издаден од:</span>
+                                <span th:text="${'Издаден: ' + #temporals.format(p.issuedAt, 'dd MMM yyyy')}">Издаден:</span>
+                                <span th:text="${'Важи до: ' + #temporals.format(p.validTo, 'dd MMM yyyy')}">Важи до:</span>
                             </div>
                         </div>
@@ -152,5 +177,6 @@
 </div>
 
-<th:block th:replace="fragments/header :: headerScripts"></th:block>
+<!-- Shared header behavior scripts -->
+<th:block th:replace="~{fragments/header :: headerScripts}"></th:block>
 </body>
 </html>
Index: src/main/resources/templates/profile.html
===================================================================
--- src/main/resources/templates/profile.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/profile.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>SynergyMed - Profile</title>
+    <title>SynergyMed - Профил</title>
 
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -116,5 +116,5 @@
 <body>
 
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="container">
@@ -130,7 +130,7 @@
                 <p th:text="${user.email}">john.doe@email.com</p>
                 <div class="profile-meta">
-                    <div class="meta-item" th:text="'Member since ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Member since Jan 2024</div>
-                    <div class="meta-item" th:text="'Age ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Age 30</div>
-                    <div class="meta-item" th:text="${user.gender ?: 'Not specified'}">Male</div>
+                    <div class="meta-item" th:text="'Член од ' + ${#temporals.format(user.dateCreated, 'MMM yyyy')}">Член од јан 2024</div>
+                    <div class="meta-item" th:text="'Возраст ' + ${T(java.time.Period).between(user.dateOfBirth, T(java.time.LocalDate).now()).getYears()}">Возраст 30</div>
+                    <div class="meta-item" th:text="${user.gender ?: 'Не е наведено'}">Машки</div>
                 </div>
             </div>
@@ -141,10 +141,10 @@
     <div class="nav-bar">
         <div class="nav-links">
-            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Profile</a>
-            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Prescriptions</a>
-            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Club Card</a>
-            <a th:href="@{/allergies/manage}" class="nav-link">Manage Allergies</a>
-            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Contact Info</a>
-            <a th:href="@{/logout}" class="logout-btn">Logout</a>
+            <a th:href="@{/profile}" class="nav-link" th:classappend="${activeTab}=='profile' ? ' active'">Профил</a>
+            <a th:href="@{/profile/prescriptions}" class="nav-link" th:classappend="${activeTab}=='prescriptions' ? ' active'">Рецепти</a>
+            <a th:href="@{/profile/clubcard}" class="nav-link" th:classappend="${activeTab}=='clubcard' ? ' active'">Клуб-картичка</a>
+            <a th:href="@{/allergies/manage}" class="nav-link">Управување со алергии</a>
+            <a th:href="@{/profile/contacts}" class="nav-link" th:classappend="${activeTab}=='contacts' ? ' active'">Контакт податоци</a>
+            <a th:href="@{/logout}" class="logout-btn">Одјава</a>
         </div>
     </div>
@@ -155,13 +155,13 @@
         <!-- Personal Info -->
         <div class="card">
-            <div class="card-header">Personal Information</div>
+            <div class="card-header">Лични информации</div>
             <div class="card-body">
                 <div class="info-grid">
-                    <div class="info-item"><span class="info-label">Full Name</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
-                    <div class="info-item"><span class="info-label">Username</span><span class="info-value" th:text="${username}">johndoe</span></div>
-                    <div class="info-item"><span class="info-label">Email</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
-                    <div class="info-item"><span class="info-label">Date of Birth</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
-                    <div class="info-item"><span class="info-label">Gender</span><span class="info-value" th:text="${user.gender ?: 'Not specified'}">Male</span></div>
-                    <div class="info-item"><span class="info-label">Member Since</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
+                    <div class="info-item"><span class="info-label">Целосно име</span><span class="info-value" th:text="${user.firstName + ' ' + user.lastName}">John Doe</span></div>
+                    <div class="info-item"><span class="info-label">Корисничко име</span><span class="info-value" th:text="${username}">johndoe</span></div>
+                    <div class="info-item"><span class="info-label">Е-пошта</span><span class="info-value" th:text="${user.email}">john@email.com</span></div>
+                    <div class="info-item"><span class="info-label">Датум на раѓање</span><span class="info-value" th:text="${#temporals.format(user.dateOfBirth, 'dd MMM yyyy')}">15 Jan 1990</span></div>
+                    <div class="info-item"><span class="info-label">Пол</span><span class="info-value" th:text="${user.gender ?: 'Не е наведено'}">Машки</span></div>
+                    <div class="info-item"><span class="info-label">Член од</span><span class="info-value" th:text="${#temporals.format(user.dateCreated, 'dd MMM yyyy')}">01 Jan 2024</span></div>
                 </div>
             </div>
@@ -170,27 +170,27 @@
         <!-- Health Profile -->
         <div class="card">
-            <div class="card-header">Health Profile</div>
+            <div class="card-header">Здравствен профил</div>
             <div class="card-body">
                 <div th:if="${hasHealthProfile}">
-                    <div class="info-item"><span class="info-label">Blood Type</span><span class="blood-type" th:text="${healthProfile.bloodType}">O+</span></div>
+                    <div class="info-item"><span class="info-label">Крвна група</span><span class="blood-type" th:text="${healthProfile.bloodType}">O+</span></div>
                     <div style="margin-top: 30px;">
-                        <h3 style="color:#333; margin-bottom:20px;">Allergic Reactions</h3>
+                        <h3 style="color:#333; margin-bottom:20px;">Алергиски реакции</h3>
                         <div th:if="${healthProfile.allergicReactions != null and not #lists.isEmpty(healthProfile.allergicReactions)}">
                             <div th:each="allergy : ${healthProfile.allergicReactions}" class="allergy-item">
                                 <div class="allergy-header">
-                                    <span class="medicine-name" th:text="${allergy.medicine.medicineName}">Aspirin</span>
+                                    <span class="medicine-name" th:text="${allergy.medicine.medicineName}">Аспирин</span>
                                     <span class="severity" th:class="'severity ' + ${#strings.toLowerCase(allergy.severity)}" th:text="${allergy.severity}">HIGH</span>
                                 </div>
-                                <div class="allergy-details" th:text="${allergy.description}">Details here</div>
-                                <div class="date-diagnosed">Diagnosed: <span th:text="${#temporals.format(allergy.dateDiagnosed, 'dd MMM yyyy')}">15 Jan 2023</span></div>
+                                <div class="allergy-details" th:text="${allergy.description}">Детали овде</div>
+                                <div class="date-diagnosed">Дијагностицирано: <span th:text="${#temporals.format(allergy.dateDiagnosed, 'dd MMM yyyy')}">15 Jan 2023</span></div>
                             </div>
                         </div>
                         <div th:unless="${healthProfile.allergicReactions != null and not #lists.isEmpty(healthProfile.allergicReactions)}" class="no-data">
-                            <div class="no-data-icon">🏥</div><p>No allergic reactions recorded</p>
+                            <div class="no-data-icon">🏥</div><p>Нема евидентирани алергиски реакции</p>
                         </div>
                     </div>
                 </div>
                 <div th:unless="${hasHealthProfile}" class="no-data">
-                    <div class="no-data-icon">📋</div><p>No health profile found</p>
+                    <div class="no-data-icon">📋</div><p>Нема здравствен профил</p>
                 </div>
             </div>
Index: src/main/resources/templates/supplyorder-details.html
===================================================================
--- src/main/resources/templates/supplyorder-details.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/resources/templates/supplyorder-details.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,83 @@
+<!-- templates/supplyorder-details.html -->
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" lang="mk">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>SynergyMed – Набавка</title>
+  <th:block th:replace="~{fragments/header :: headerStyles}"></th:block>
+  <style>
+    * { margin:0; padding:0; box-sizing:border-box; }
+    body {
+      font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+      background:linear-gradient(135deg,#a4ecba 0%, #f7f7f8 100%);
+      min-height:100vh;
+    }
+    .site-header { position:sticky; top:0; left:0; right:0; width:100%; z-index:1000; }
+    .container { max-width:1200px; margin:0 auto; padding:20px; }
+
+    .card { background:#fff; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.1); overflow:hidden; }
+    .card-header { background:linear-gradient(135deg,#20b2aa,#48d1cc); color:#fff; padding:22px 28px; font-size:1.25rem; font-weight:600; }
+    .card-body { padding:26px; }
+    .muted { color:#6b7280; }
+
+    table { width:100%; border-collapse:collapse; margin-top:12px; }
+    th, td { padding:12px 10px; border-bottom:1px solid #eef2f7; text-align:left; }
+
+    .btn { padding:10px 16px; border-radius:12px; border:2px solid #20b2aa; background:#fff; color:#20b2aa; text-decoration:none; font-weight:600; }
+    .actions { display:flex; gap:10px; margin-top:16px; }
+  </style>
+</head>
+<body>
+<th:block th:replace="~{fragments/header :: siteHeader(${null})}"></th:block>
+
+<div class="container">
+  <div class="card">
+    <div class="card-header">Набавка #<span th:text="${order.id}">1</span></div>
+    <div class="card-body">
+      <div class="muted">
+        Аптека: <strong th:text="${order.pharmacy.company.companyName}">Аптека</strong> •
+        Објект: <strong th:text="${order.facility.facilityName}">Објект</strong> •
+        Дистрибутер: <strong th:text="${order.distributor.company.companyName}">Дистрибутер</strong>
+      </div>
+      <div class="muted" style="margin-top:6px;">
+        Датум: <strong th:text="${order.orderDate}">2025-09-03</strong> •
+        Очекувана испорака: <strong th:text="${order.expectedArrivalDate}">2025-09-10</strong> •
+        Статус: <strong th:text="${order.status}">во тек</strong>
+      </div>
+
+      <table>
+        <thead>
+        <tr>
+          <th>Брендиран лек</th>
+          <th>Форма/јачина</th>
+          <th style="width:120px;">Количина</th>
+        </tr>
+        </thead>
+        <tbody>
+        <tr th:each="ln : ${lines}">
+          <td th:text="${ln.brandedMedicine.name}">Лек</td>
+          <td>
+            <span th:text="${ln.brandedMedicine.dosageForm}">табл.</span>
+            <span class="muted" th:if="${ln.brandedMedicine.strength != null}"
+                  th:text="' • ' + ${ln.brandedMedicine.strength}"> • 500mg</span>
+          </td>
+          <td th:text="${ln.quantity}">1</td>
+        </tr>
+        <tr th:if="${#lists.isEmpty(lines)}">
+          <td colspan="3" class="muted">Нема ставки.</td>
+        </tr>
+        </tbody>
+      </table>
+
+      <div class="actions">
+        <a class="btn" th:href="@{/admin/supply-orders}">Сите набавки</a>
+        <a class="btn" th:href="@{/admin/supply-orders/new}">Нова набавка</a>
+      </div>
+    </div>
+  </div>
+</div>
+
+<th:block th:replace="~{fragments/header :: headerScripts}"></th:block>
+</body>
+</html>
Index: src/main/resources/templates/supplyorder-list.html
===================================================================
--- src/main/resources/templates/supplyorder-list.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/resources/templates/supplyorder-list.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,78 @@
+<!-- templates/supplyorder-list.html -->
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" lang="mk">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>SynergyMed – Набавки</title>
+    <th:block th:replace="~{fragments/header :: headerStyles}"></th:block>
+    <style>
+        * { margin:0; padding:0; box-sizing:border-box; }
+        body {
+            font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            background:linear-gradient(135deg,#a4ecba 0%, #f7f7f8 100%);
+            min-height:100vh;
+        }
+        .site-header { position:sticky; top:0; left:0; right:0; width:100%; z-index:1000; }
+        .container { max-width:1200px; margin:0 auto; padding:20px; }
+
+        .card { background:#fff; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.1); overflow:hidden; }
+        .card-header { background:linear-gradient(135deg,#20b2aa,#48d1cc); color:#fff; padding:22px 28px; font-size:1.25rem; font-weight:600; }
+        .card-body { padding:26px; }
+
+        table { width:100%; border-collapse:collapse; margin-top:6px; }
+        th, td { padding:12px 10px; border-bottom:1px solid #eef2f7; text-align:left; }
+        .muted { color:#6b7280; }
+        .row-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
+        .btn { padding:8px 12px; border-radius:12px; border:2px solid #20b2aa; background:#fff; color:#20b2aa; text-decoration:none; font-weight:600; }
+        @media (max-width: 992px) { .row-top { flex-direction:column; gap:10px; align-items:flex-start; } }
+    </style>
+</head>
+<body>
+<th:block th:replace="~{fragments/header :: siteHeader(${null})}"></th:block>
+
+<div class="container">
+    <div class="card">
+        <div class="card-header">Листа на набавки</div>
+        <div class="card-body">
+            <div class="row-top">
+                <div class="muted">Прикажани се сите досега креирани набавки.</div>
+                <a class="btn" th:href="@{/admin/supply-orders/new}">+ Нова набавка</a>
+            </div>
+
+            <table>
+                <thead>
+                <tr>
+                    <th>#</th>
+                    <th>Аптека</th>
+                    <th>Објект</th>
+                    <th>Дистрибутер</th>
+                    <th>Датум</th>
+                    <th>Испорака</th>
+                    <th>Статус</th>
+                    <th></th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr th:each="o : ${orders}">
+                    <td th:text="${o.id}">1</td>
+                    <td th:text="${o.pharmacy.company.companyName}">Аптека</td>
+                    <td th:text="${o.facility.facilityName}">Објект</td>
+                    <td th:text="${o.distributor.company.companyName}">Дистрибутер</td>
+                    <td th:text="${o.orderDate}">2025-09-03</td>
+                    <td th:text="${o.expectedArrivalDate}">2025-09-10</td>
+                    <td th:text="${o.status}">во тек</td>
+                    <td><a class="btn" th:href="@{|/admin/supply-orders/${o.id}|}">Преглед</a></td>
+                </tr>
+                <tr th:if="${#lists.isEmpty(orders)}">
+                    <td colspan="8" class="muted">Нема креирани набавки.</td>
+                </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
+
+<th:block th:replace="~{fragments/header :: headerScripts}"></th:block>
+</body>
+</html>
Index: src/main/resources/templates/supplyorder.html
===================================================================
--- src/main/resources/templates/supplyorder.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
+++ src/main/resources/templates/supplyorder.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -0,0 +1,252 @@
+<!-- templates/supplyorder.html -->
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" lang="mk">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>SynergyMed – Креирај набавка</title>
+    <th:block th:replace="~{fragments/header :: headerStyles}"></th:block>
+    <style>
+        * { margin:0; padding:0; box-sizing:border-box; }
+        body {
+            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            background: linear-gradient(135deg, #a4ecba 0%, #f7f7f8 100%);
+            min-height: 100vh;
+        }
+        .site-header { position:sticky; top:0; left:0; right:0; width:100%; z-index:1000; }
+        .container { max-width:1200px; margin:0 auto; padding:20px; }
+
+        .card {
+            background:#fff; border-radius:20px;
+            box-shadow:0 10px 30px rgba(0,0,0,.1); overflow:hidden;
+        }
+        .card-header {
+            background:linear-gradient(135deg,#20b2aa,#48d1cc);
+            color:#fff; padding:22px 28px; font-size:1.25rem; font-weight:600;
+        }
+        .card-body { padding:26px; }
+
+        .grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
+        .grid-1 { display:grid; grid-template-columns:1fr; gap:16px; }
+
+        label { font-weight:600; margin-bottom:6px; display:block; color:#374151; }
+        select, input[type="number"] {
+            width:100%; padding:12px 12px;
+            border:2px solid #e5e7eb; border-radius:12px; background:#fff; color:#111827;
+        }
+
+        table { width:100%; border-collapse:collapse; margin-top:12px; }
+        th, td { padding:12px 10px; border-bottom:1px solid #eef2f7; text-align:left; }
+
+        .btn {
+            padding:10px 16px; border-radius:12px;
+            border:2px solid #20b2aa; background:#fff; color:#20b2aa;
+            text-decoration:none; font-weight:600; cursor:pointer; transition:.2s;
+        }
+        .btn:hover { box-shadow:0 6px 14px rgba(32,178,170,.18); }
+        .btn-primary {
+            background:linear-gradient(135deg,#20b2aa,#48d1cc); color:#fff; border:none;
+        }
+        .btn-danger { border-color:#f0caca; color:#b3261e; }
+        .muted { color:#6b7280; }
+        .actions { display:flex; gap:10px; margin-top:20px; }
+
+        @media (max-width: 992px) { .grid-2 { grid-template-columns:1fr; } }
+    </style>
+</head>
+<body>
+<th:block th:replace="~{fragments/header :: siteHeader(${null})}"></th:block>
+
+<div class="container">
+    <div class="card">
+        <div class="card-header">Креирај набавка</div>
+        <div class="card-body">
+            <form th:action="@{/admin/supply-orders}" method="post" id="orderForm">
+                <input type="hidden" th:if="${_csrf != null}" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
+
+                <div class="grid-2">
+                    <div>
+                        <label>Аптека</label>
+                        <select name="pharmacyId" id="pharmacySel" required>
+                            <option value="" disabled selected>Избери аптека</option>
+                            <option th:each="p : ${pharmacies}"
+                                    th:value="${p.id}"
+                                    th:text="${p.company != null ? p.company.companyName : 'Аптека #' + p.id}"></option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Објект</label>
+                        <select name="facilityId" id="facilitySel" required>
+                            <option value="" disabled selected>Избери објект</option>
+                        </select>
+                    </div>
+                </div>
+
+                <div class="grid-2" style="margin-top:12px;">
+                    <div>
+                        <label>Дистрибутер</label>
+                        <select name="distributorId" id="distributorSel" required>
+                            <option value="" disabled selected>Избери дистрибутер</option>
+                            <option th:each="d : ${distributors}"
+                                    th:value="${d.id}"
+                                    th:text="${d.company != null ? d.company.companyName : 'Дистрибутер #' + d.id}"></option>
+                        </select>
+                    </div>
+                    <div>
+                        <label>Помош</label>
+                        <div class="muted">Сите производи мора да бидат од избраниот дистрибутер; листата подолу се полни автоматски.</div>
+                    </div>
+                </div>
+
+                <div class="grid-1" style="margin-top:16px;">
+                    <div>
+                        <table id="itemsTable">
+                            <thead>
+                            <tr>
+                                <th style="width:60%;">Брендиран лек</th>
+                                <th style="width:20%;">Количина</th>
+                                <th style="width:20%;"></th>
+                            </tr>
+                            </thead>
+                            <tbody id="itemsBody">
+                            <tr>
+                                <td>
+                                    <select name="medicineIds" class="medicineSel" required>
+                                        <option value="" disabled selected>Прво избери дистрибутер</option>
+                                    </select>
+                                </td>
+                                <td>
+                                    <input type="number" name="quantities" min="1" step="1" value="1" required/>
+                                </td>
+                                <td>
+                                    <button type="button" class="btn btn-danger removeRow">Отстрани</button>
+                                </td>
+                            </tr>
+                            </tbody>
+                        </table>
+                        <button type="button" class="btn" id="addRowBtn" style="margin-top:10px;">+ Додади ред</button>
+                    </div>
+                </div>
+
+                <div class="actions">
+                    <button type="submit" class="btn-primary">Креирај нарачка</button>
+                    <a class="btn" th:href="@{/}">Откажи</a>
+                </div>
+            </form>
+        </div>
+    </div>
+</div>
+
+<!-- Hidden option banks (preloaded) -->
+<div id="optionBanks" style="display:none;">
+    <div id="facilityBank">
+        <select th:each="p : ${pharmacies}" th:attr="data-pharmacy=${p.id}">
+            <option th:each="f : ${facilitiesByPharmacyId[p.id]}"
+                    th:value="${f.id}"
+                    th:text="${f.facilityName != null ? f.facilityName : 'Објект #' + f.id}"></option>
+        </select>
+    </div>
+    <div id="medicineBank">
+        <select th:each="d : ${distributors}" th:attr="data-distributor=${d.id}">
+            <option th:each="m : ${medicinesByDistributorId[d.id]}"
+                    th:value="${m.id}"
+                    th:text="${(m.name != null ? m.name : 'Лек #'+m.id)
+                        + (m.strength != null ? ' ' + m.strength : '')
+                        + (m.dosageForm != null ? ' • ' + m.dosageForm : '')}"></option>
+        </select>
+    </div>
+</div>
+
+<th:block th:replace="~{fragments/header :: headerScripts}"></th:block>
+<script>
+    const pharmacySel = document.getElementById('pharmacySel');
+    const facilitySel = document.getElementById('facilitySel');
+    const distributorSel = document.getElementById('distributorSel');
+    const itemsBody = document.getElementById('itemsBody');
+    const addRowBtn = document.getElementById('addRowBtn');
+
+    function replaceOptions(targetSelect, sourceSelect, placeholderText, allowId = null, excludeIds = new Set()) {
+        const placeholder = document.createElement('option');
+        placeholder.value = '';
+        placeholder.disabled = true;
+        placeholder.selected = !targetSelect.value;
+        placeholder.textContent = placeholderText;
+        targetSelect.innerHTML = '';
+        targetSelect.appendChild(placeholder);
+
+        if (!sourceSelect) return;
+        Array.from(sourceSelect.options).forEach(optSrc => {
+            const val = optSrc.value;
+            if (val && (val === allowId || !excludeIds.has(val))) {
+                const opt = document.createElement('option');
+                opt.value = val;
+                opt.textContent = optSrc.textContent;
+                targetSelect.appendChild(opt);
+            }
+        });
+
+        if (allowId && Array.from(targetSelect.options).some(o => o.value === allowId)) {
+            targetSelect.value = allowId;
+        } else {
+            targetSelect.value = '';
+        }
+    }
+
+    function populateFacilities(pharmacyId) {
+        const bank = document.querySelector(`#facilityBank select[data-pharmacy="${pharmacyId}"]`);
+        const ph = document.createElement('option'); ph.value=''; ph.disabled=true; ph.selected=true; ph.textContent='Избери објект';
+        facilitySel.innerHTML = ''; facilitySel.appendChild(ph);
+        if (bank) Array.from(bank.options).forEach(o => facilitySel.add(new Option(o.textContent, o.value)));
+    }
+
+    function getSelectedMedicineIds(exceptSelect = null) {
+        const ids = new Set();
+        document.querySelectorAll('.medicineSel').forEach(sel => { if (sel !== exceptSelect && sel.value) ids.add(sel.value); });
+        return ids;
+    }
+
+    function populateMedicinesForAll(distributorId) {
+        const bank = document.querySelector(`#medicineBank select[data-distributor="${distributorId}"]`);
+        document.querySelectorAll('.medicineSel').forEach(sel => {
+            const current = sel.value || null;
+            const exclude = getSelectedMedicineIds(sel);
+            replaceOptions(sel, bank, 'Избери лек', current, exclude);
+        });
+    }
+
+    pharmacySel.addEventListener('change', () => { if (pharmacySel.value) populateFacilities(pharmacySel.value); });
+    distributorSel.addEventListener('change', () => {
+        if (distributorSel.value) populateMedicinesForAll(distributorSel.value);
+        document.querySelectorAll('.medicineSel').forEach(sel => { sel.value = ''; });
+    });
+
+    itemsBody.addEventListener('change', (e) => {
+        if (e.target && e.target.classList.contains('medicineSel') && distributorSel.value) {
+            populateMedicinesForAll(distributorSel.value);
+        }
+    });
+
+    addRowBtn.addEventListener('click', () => {
+        const tr = document.createElement('tr');
+        tr.innerHTML = `
+      <td><select name="medicineIds" class="medicineSel" required>
+            <option value="" disabled selected>Прво избери дистрибутер</option>
+          </select></td>
+      <td><input type="number" name="quantities" min="1" step="1" value="1" required/></td>
+      <td><button type="button" class="btn btn-danger removeRow">Отстрани</button></td>`;
+        itemsBody.appendChild(tr);
+        if (distributorSel.value) populateMedicinesForAll(distributorSel.value);
+    });
+
+    itemsBody.addEventListener('click', (e) => {
+        if (e.target && e.target.classList.contains('removeRow')) {
+            const rows = itemsBody.querySelectorAll('tr');
+            if (rows.length > 1) {
+                e.target.closest('tr').remove();
+                if (distributorSel.value) populateMedicinesForAll(distributorSel.value);
+            }
+        }
+    });
+</script>
+</body>
+</html>
Index: src/main/resources/templates/verification-apply.html
===================================================================
--- src/main/resources/templates/verification-apply.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/verification-apply.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -28,9 +28,9 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader(${null}, ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader(${null})"></th:block>
 
 <div class="page">
     <div class="card">
-        <div class="card-header">Apply for Verification</div>
+        <div class="card-header">Аплицирај за верификација</div>
         <div class="card-body">
             <div th:if="${message}" class="notice" th:text="${message}">Message</div>
@@ -39,15 +39,15 @@
             <form th:action="@{/profile/verification/apply}" method="post" enctype="multipart/form-data">
                 <div class="row">
-                    <label for="embg">EMBG</label>
+                    <label for="embg">ЕМБГ</label>
                     <input id="embg" name="embg" type="text" placeholder="EMBG" required>
                 </div>
                 <div class="row">
-                    <label for="portrait">Portrait photo</label>
+                    <label for="portrait">Портрет слика</label>
                     <input id="portrait" name="portrait" type="file" accept="image/*" required>
                 </div>
-                <div class="hint">Accepted: jpg, jpeg, png, webp, gif. Max 5MB.</div>
+                <div class="hint">Прифатени се: jpg, jpeg, png, webp, gif. Max 5MB.</div>
                 <div class="actions">
-                    <button type="submit" class="btn btn-primary">Apply</button>
-                    <a class="btn" th:href="@{/profile/prescriptions}">Back to Prescriptions</a>
+                    <button type="submit" class="btn btn-primary">Аплицирај</button>
+                    <a class="btn" th:href="@{/profile/prescriptions}">Назадs</a>
                 </div>
             </form>
Index: src/main/resources/templates/verification-approval.html
===================================================================
--- src/main/resources/templates/verification-approval.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/verification-approval.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -25,17 +25,16 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('verification', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('verification')"></th:block>
 
 <div class="page">
     <div class="card">
-        <div class="card-header" th:text="${item.client.users.firstName + ' ' + item.client.users.lastName}">Client Name</div>
+        <div class="card-header" th:text="${item.client.users.firstName + ' ' + item.client.users.lastName}">Име на клиент</div>
         <div class="card-body">
             <div class="row">
-                <div class="label">EMBG</div>
+                <div class="label">ЕМБГ</div>
                 <div class="val" th:text="${item.embg}">0000000000000</div>
             </div>
             <div class="row" style="align-items:flex-start;">
                 <div class="label">Portrait</div>
-                <!-- Adjust the src mapping to how portraits are served in your app -->
                 <img class="portrait"
                      th:src="@{'/uploads/images/portraits/' + ${item.portraitPhoto}}"
@@ -45,10 +44,10 @@
             <div class="actions">
                 <form th:action="@{/admin/verification/{id}/approve(id=${item.id})}" method="post">
-                    <button type="submit" class="btn btn-primary">Approve</button>
+                    <button type="submit" class="btn btn-primary">Одобри</button>
                 </form>
                 <form th:action="@{/admin/verification/{id}/deny(id=${item.id})}" method="post">
-                    <button type="submit" class="btn btn-danger">Deny</button>
+                    <button type="submit" class="btn btn-danger">Одби</button>
                 </form>
-                <a class="btn" th:href="@{/admin/verification}">Back</a>
+                <a class="btn" th:href="@{/admin/verification}">Назад</a>
             </div>
         </div>
Index: src/main/resources/templates/verification-list.html
===================================================================
--- src/main/resources/templates/verification-list.html	(revision 4a13d3697c3ba6d6f9a3ba0b950be96fcb733345)
+++ src/main/resources/templates/verification-list.html	(revision dd0877cc17609d5c6403b3d9f9e3d8b3b3a36cf9)
@@ -4,5 +4,5 @@
 <head>
     <meta charset="UTF-8">
-    <title>Pending Verifications</title>
+    <title>Барања на чекање за верификација</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <th:block th:replace="fragments/header :: headerStyles"></th:block>
@@ -22,11 +22,11 @@
 </head>
 <body>
-<th:block th:replace="fragments/header :: siteHeader('verification', ${username})"></th:block>
+<th:block th:replace="fragments/header :: siteHeader('verification')"></th:block>
 
 <div class="page">
     <div class="card">
-        <div class="card-header">Pending Verifications</div>
+        <div class="card-header">Барања на чекање за верификација</div>
         <div class="card-body">
-            <div th:if="${#lists.isEmpty(pending)}" class="muted">No applications are currently pending.</div>
+            <div th:if="${#lists.isEmpty(pending)}" class="muted">Нема барања на чекање во моментов.</div>
             <div class="grid" th:if="${!#lists.isEmpty(pending)}">
                 <!-- Iterate pending rows with th:each -->
@@ -34,5 +34,5 @@
                      th:each="p : ${pending}"
                      th:attr="data-href=@{/admin/verification/{id}(id=${p.id})}">
-                    <div class="name" th:text="${p.client.users.firstName + ' ' + p.client.users.lastName}">Client Name</div>
+                    <div class="name" th:text="${p.client.users.firstName + ' ' + p.client.users.lastName}">Име на клиент</div>
                 </div>
             </div>
