Index: src/main/java/org/example/dormallocationsystem/Domain/DTO/BlockRoomReportDTO.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Domain/DTO/BlockRoomReportDTO.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
+++ src/main/java/org/example/dormallocationsystem/Domain/DTO/BlockRoomReportDTO.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -0,0 +1,16 @@
+package org.example.dormallocationsystem.Domain.DTO;
+
+import lombok.Data;
+
+@Data
+public class BlockRoomReportDTO {
+    private String blockId;
+    private Long freeRoomsAfterFirstDay;
+    private Long pendingRoomRequests;
+
+    public BlockRoomReportDTO(String blockId, Long freeRoomsAfterFirstDay, Long pendingRoomRequests) {
+        this.blockId = blockId;
+        this.freeRoomsAfterFirstDay = freeRoomsAfterFirstDay;
+        this.pendingRoomRequests = pendingRoomRequests;
+    }
+}
Index: src/main/java/org/example/dormallocationsystem/Domain/DTO/RoomMismatchDTO.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Domain/DTO/RoomMismatchDTO.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
+++ src/main/java/org/example/dormallocationsystem/Domain/DTO/RoomMismatchDTO.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -0,0 +1,26 @@
+package org.example.dormallocationsystem.Domain.DTO;
+
+import lombok.Data;
+
+@Data
+public class RoomMismatchDTO {
+    private Long studentId;
+    private String studentName;
+    private String requestedBlock;
+    private Integer  requestedRoom;
+    private String assignedBlock;
+    private Integer  assignedRoom;
+
+    public RoomMismatchDTO() {
+    }
+
+    public RoomMismatchDTO(Long studentId, String studentName, String requestedBlock, Integer  requestedRoom,
+                           String assignedBlock, Integer assignedRoom) {
+        this.studentId = studentId;
+        this.studentName = studentName;
+        this.requestedBlock = requestedBlock;
+        this.requestedRoom = requestedRoom;
+        this.assignedBlock = assignedBlock;
+        this.assignedRoom = assignedRoom;
+    }
+}
Index: src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -4,6 +4,8 @@
 import org.example.dormallocationsystem.Domain.DormUser;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
 import java.util.Optional;
 
@@ -11,3 +13,20 @@
 public interface BlockRepository extends JpaRepository<Block, Long> {
     Block findByBlockId(String blockId);
+    @Query(value = """
+        SELECT 
+            b.block_id AS blockId,
+            (SELECT COUNT(*) 
+             FROM Room r 
+             WHERE r.block_id = b.block_id 
+               AND r.is_available = TRUE 
+               AND r.capacity > 0) AS freeRooms,
+            (SELECT COUNT(*) 
+             FROM RoomRequest rr 
+             WHERE rr.status = 'Pending' 
+               AND rr.block_id = b.block_id) 
+             AS pendingRoomRequests
+        FROM Block b
+        ORDER BY b.block_id
+        """, nativeQuery = true)
+    List<Object[]> getBlockRoomReport();
 }
Index: src/main/java/org/example/dormallocationsystem/Repository/RoomRequestRepository.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Repository/RoomRequestRepository.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Repository/RoomRequestRepository.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -5,4 +5,5 @@
 import org.example.dormallocationsystem.Domain.Student;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
@@ -14,3 +15,18 @@
     boolean existsByStudentId(Long studentId);
     Roomrequest findByStudent(Student student);
+
+    @Query(value = """
+        SELECT 
+            du.u_id AS studentId,
+            CONCAT(du.first_name, ' ', du.last_name) AS studentName,
+            rr.block_id AS requestedBlock,
+            rr.room_number AS requestedRoom,
+            str.block_id AS assignedBlock,
+            str.room_num AS assignedRoom
+        FROM dorm_user du
+        JOIN roomrequest rr ON du.u_id = rr.student_id
+        JOIN studenttookroom str ON str.student_id = du.u_id
+        WHERE rr.block_id != str.block_id OR rr.room_number != str.room_num
+        """, nativeQuery = true)
+    List<Object[]> findRoomMismatches();
 }
Index: src/main/java/org/example/dormallocationsystem/Service/IBlockService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IBlockService.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/IBlockService.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -2,4 +2,5 @@
 
 import org.example.dormallocationsystem.Domain.Block;
+import org.example.dormallocationsystem.Domain.DTO.BlockRoomReportDTO;
 
 import java.util.List;
@@ -7,3 +8,4 @@
 public interface IBlockService {
     List<Block> getAll();
+    List<BlockRoomReportDTO> getBlockRoomReport();
 }
Index: src/main/java/org/example/dormallocationsystem/Service/IRoomRequestService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IRoomRequestService.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/IRoomRequestService.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -1,7 +1,11 @@
 package org.example.dormallocationsystem.Service;
 
+import org.example.dormallocationsystem.Domain.DTO.RoomMismatchDTO;
 import org.example.dormallocationsystem.Domain.Roomrequest;
+
+import java.util.List;
 
 public interface IRoomRequestService {
     Roomrequest findRoomRequestForStudent(Long studentId);
+    List<RoomMismatchDTO> findRoomMismatches();
 }
Index: src/main/java/org/example/dormallocationsystem/Service/IRoomService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IRoomService.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/IRoomService.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -1,4 +1,5 @@
 package org.example.dormallocationsystem.Service;
 
+import org.example.dormallocationsystem.Domain.DTO.RoomMismatchDTO;
 import org.example.dormallocationsystem.Domain.Room;
 
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -2,4 +2,5 @@
 
 import org.example.dormallocationsystem.Domain.Block;
+import org.example.dormallocationsystem.Domain.DTO.BlockRoomReportDTO;
 import org.example.dormallocationsystem.Repository.BlockRepository;
 import org.example.dormallocationsystem.Service.IBlockService;
@@ -19,3 +20,14 @@
         return blockRepository.findAll();
     }
+
+    @Override
+    public List<BlockRoomReportDTO> getBlockRoomReport() {
+        return blockRepository.getBlockRoomReport().stream()
+                .map(r -> new BlockRoomReportDTO(
+                        r[0].toString(),
+                        ((Number) r[1]).longValue(),
+                        ((Number) r[2]).longValue()
+                ))
+                .toList();
+    }
 }
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/RoomRequestServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/RoomRequestServiceImpl.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/RoomRequestServiceImpl.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -1,4 +1,5 @@
 package org.example.dormallocationsystem.Service.Impl;
 
+import org.example.dormallocationsystem.Domain.DTO.RoomMismatchDTO;
 import org.example.dormallocationsystem.Domain.Roomrequest;
 import org.example.dormallocationsystem.Domain.Student;
@@ -8,4 +9,5 @@
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Optional;
 
@@ -31,4 +33,19 @@
     }
 
+    @Override
+    public List<RoomMismatchDTO> findRoomMismatches() {
+        List<Object[]> mismatches = roomRequestRepository.findRoomMismatches();
+        return mismatches.stream().map(row -> {
+            RoomMismatchDTO dto = new RoomMismatchDTO();
+            dto.setStudentId(((Number) row[0]).longValue());
+            dto.setStudentName((String) row[1]);
+            dto.setRequestedBlock(row[2].toString());
+            dto.setRequestedRoom(((Number) row[3]).intValue());
+            dto.setAssignedBlock(row[4].toString());
+            dto.setAssignedRoom(((Number) row[5]).intValue());
+            return dto;
+        }).toList();
+    }
+
 
 }
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/RoomServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/RoomServiceImpl.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/RoomServiceImpl.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -67,5 +67,4 @@
         }).toList();
     }
-
     private int extractFloorFromRoomNumber(Integer roomNumber) {
         return roomNumber / 100;
Index: src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -2,4 +2,6 @@
 
 import org.example.dormallocationsystem.Domain.*;
+import org.example.dormallocationsystem.Domain.DTO.BlockRoomReportDTO;
+import org.example.dormallocationsystem.Domain.DTO.RoomMismatchDTO;
 import org.example.dormallocationsystem.Repository.BlockRepository;
 import org.example.dormallocationsystem.Repository.StudentRepository;
@@ -52,8 +54,14 @@
         List<Student> studentsThatNeedToBeReviewed = studentService.getStudentsWithNotReviewedDocs();
         List<Studenttookroom> endStayRequests = studentTookRoomService.getPendingEndStayRequests();
+        List<BlockRoomReportDTO> blockReport = blockService.getBlockRoomReport();
+        List<RoomMismatchDTO> roomMismatches = roomRequestService.findRoomMismatches();
+
         model.addAttribute("employeeId", employeeId);
         model.addAttribute("addedToRoomStudents", studentsAddedToRoom);
         model.addAttribute("studentsToReview", studentsThatNeedToBeReviewed);
         model.addAttribute("endStayRequests", endStayRequests);
+        model.addAttribute("blockReport", blockReport);
+        model.addAttribute("roomMismatches", roomMismatches);
+
         return "employee-dashboard";
     }
Index: src/main/resources/templates/employee-dashboard.html
===================================================================
--- src/main/resources/templates/employee-dashboard.html	(revision b029cf4c917c66afe61372e7316913bbdff4d866)
+++ src/main/resources/templates/employee-dashboard.html	(revision 7aa6580b0b08f200b1f14964bd2dd03dd6a53eca)
@@ -119,4 +119,5 @@
 <body>
 <h2>Employee Dashboard</h2>
+<div style="display: flex; justify-content: center; gap: 50px; flex-wrap: wrap; margin-bottom: 20px;">
 <button class="button" onclick="toggleTables()" th:if="${addedToRoomStudents.size() > 0}">Show Reviewed Students</button>
 <button class="button" onclick="toggleEndStay()" th:if="${endStayRequests.size() > 0}">Show End-Stay Requests</button>
@@ -124,63 +125,106 @@
     View Students Who Paid
 </a>
-<div id="studentsToReviewTable">
-    <h3>Students to be Reviewed</h3>
-    <table border="1">
+<button class="button" id="hamburgerMenu" onclick="toggleReports()">☰ Reports</button>
+</div>
+<div id="reportsContainer" class="hidden">
+    <div style="position: relative; margin-bottom: 20px;">
+    <h3>Block Room Report</h3>
+    <table>
         <tr>
-            <th>Email</th>
-            <th>Actions</th>
+            <th>Block</th>
+            <th>Free Rooms</th>
+            <th>Pending Requests</th>
         </tr>
-        <tr th:each="student : ${studentsToReview}">
-            <td th:text="${student.dormUser.email}"></td>
-            <td>
-                <a th:href="@{/employee/view-student(studentId=${student.id}, employeeId=${employeeId})}">View</a>
-            </td>
+        <tr th:each="b : ${blockReport}">
+            <td th:text="${b.blockId}"></td>
+            <td th:text="${b.freeRoomsAfterFirstDay}"></td>
+            <td th:text="${b.pendingRoomRequests}"></td>
         </tr>
     </table>
+    </div>
+
+    <div id="roomMismatchesTable">
+        <h3>Room Mismatches</h3>
+        <table border="1">
+            <tr>
+                <th>Student</th>
+                <th>Requested Block</th>
+                <th>Requested Room</th>
+                <th>Assigned Block</th>
+                <th>Assigned Room</th>
+            </tr>
+            <tr th:each="mismatch : ${roomMismatches}">
+                <td th:text="${mismatch.studentName}"></td>
+                <td th:text="${mismatch.requestedBlock}"></td>
+                <td th:text="${mismatch.requestedRoom}"></td>
+                <td th:text="${mismatch.assignedBlock}"></td>
+                <td th:text="${mismatch.assignedRoom}"></td>
+            </tr>
+        </table>
+    </div>
 </div>
-
-<div id="endStayRequestsTable" class="hidden" th:if="${endStayRequests.size() > 0}">
-    <h3>End Stay Requests</h3>
-    <table border="1">
-        <tr>
-            <th>Student Name</th>
-            <th>Room</th>
-            <th>Requested End Date</th>
-            <th>Actions</th>
-        </tr>
-        <tr th:each="req : ${endStayRequests}">
-            <td th:text="${req.student.dormUser.firstName} + ' ' + ${req.student.dormUser.lastName}"></td>
-            <td th:text="${req.id.roomNum} + ' - ' + ${req.id.blockId}"></td>
-            <td th:text="${req.requestedEndDate}"></td>
-            <td>
-                <form th:action="@{/employee/approve-end-stay}" method="post">
-                    <input type="hidden" name="studentId" th:value="${req.student.id}" />
-                    <input type="hidden" name="employeeId" th:value="${employeeId}" />
-                    <button type="submit" class="button">Approve</button>
-                </form>
-            </td>
-        </tr>
-    </table>
+<div id="mainContent">
+    <div id="studentsToReviewTable">
+        <h3>Students to be Reviewed</h3>
+        <table border="1">
+            <tr>
+                <th>Email</th>
+                <th>Actions</th>
+            </tr>
+            <tr th:each="student : ${studentsToReview}">
+                <td th:text="${student.dormUser.email}"></td>
+                <td>
+                    <a th:href="@{/employee/view-student(studentId=${student.id}, employeeId=${employeeId})}">View</a>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="endStayRequestsTable" class="hidden" th:if="${endStayRequests.size() > 0}">
+        <h3>End Stay Requests</h3>
+        <table border="1">
+            <tr>
+                <th>Student Name</th>
+                <th>Room</th>
+                <th>Requested End Date</th>
+                <th>Actions</th>
+            </tr>
+            <tr th:each="req : ${endStayRequests}">
+                <td th:text="${req.student.dormUser.firstName} + ' ' + ${req.student.dormUser.lastName}"></td>
+                <td th:text="${req.id.roomNum} + ' - ' + ${req.id.blockId}"></td>
+                <td th:text="${req.requestedEndDate}"></td>
+                <td>
+                    <form th:action="@{/employee/approve-end-stay}" method="post">
+                        <input type="hidden" name="studentId" th:value="${req.student.id}" />
+                        <input type="hidden" name="employeeId" th:value="${employeeId}" />
+                        <button type="submit" class="button">Approve</button>
+                    </form>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="reviewedStudentsTable" class="hidden" th:if="${addedToRoomStudents.size() > 0}">
+        <h3>Added to room students</h3>
+        <table border="1">
+            <tr>
+                <th>Email</th>
+                <th>Actions</th>
+            </tr>
+            <tr th:each="student : ${addedToRoomStudents}">
+                <td th:text="${student.dormUser.email}"></td>
+                <td>
+                    <a th:href="@{/employee/view-student(studentId=${student.id}, employeeId=${employeeId})}">View</a>
+                </td>
+            </tr>
+        </table>
+    </div>
 </div>
 
-<div id="reviewedStudentsTable" class="hidden" th:if="${addedToRoomStudents.size() > 0}">
-    <h3>Added to room students</h3>
-    <table border="1">
-        <tr>
-            <th>Email</th>
-            <th>Actions</th>
-        </tr>
-        <tr th:each="student : ${addedToRoomStudents}">
-            <td th:text="${student.dormUser.email}"></td>
-            <td>
-                <a th:href="@{/employee/view-student(studentId=${student.id}, employeeId=${employeeId})}">View</a>
-            </td>
-        </tr>
-    </table>
-</div>
 <a href="/login?logout" class="button logout">Logout</a>
 <script>
     let showingReviewed = false;
     let showingEndStay = false;
+    let reportsVisible = false;
     function toggleEndStay() {
         const table = document.getElementById("endStayRequestsTable");
@@ -209,4 +253,19 @@
         }
     }
+
+    function toggleReports() {
+        const reports = document.getElementById("reportsContainer");
+        const mainContent = document.getElementById("mainContent");
+
+        reportsVisible = !reportsVisible;
+
+        if (reportsVisible) {
+            reports.classList.remove("hidden");
+            mainContent.classList.add("hidden");
+        } else {
+            reports.classList.add("hidden");
+            mainContent.classList.remove("hidden");
+        }
+    }
 </script>
 </body>
