Index: backend/01.init.sql
===================================================================
--- backend/01.init.sql	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ backend/01.init.sql	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -664,7 +664,14 @@
 
 -- ANALYTIC: Managers' shifts above monthly average revenue (current calendar year)
-WITH shifts_in_year AS (
-    SELECT s.id AS shift_id, s.date, s.start_time, s.end_time, s.manager_id
-    FROM shifts s
+WITH manager_worked_shifts AS (
+    SELECT DISTINCT
+        s.id AS shift_id,
+        s.date,
+        s.start_time,
+        s.end_time,
+        a.employee_id AS manager_id
+    FROM assignments a
+             JOIN shifts s   ON s.id = a.shift_id
+             JOIN managers m ON m.employee_id = a.employee_id
     WHERE s.date >= date_trunc('year', CURRENT_DATE)::date
     AND s.date <  (date_trunc('year', CURRENT_DATE) + INTERVAL '1 year')::date
@@ -672,16 +679,19 @@
     shift_revenue AS (
 SELECT
-    siy.shift_id,
-    date_trunc('month', siy.date)::date AS month_start,
-    siy.date AS shift_date,
-    siy.manager_id,
+    mws.shift_id,
+    date_trunc('month', mws.date)::date AS month_start,
+    mws.date AS shift_date,
+    mws.start_time,
+    mws.end_time,
+    mws.manager_id,
     COALESCE(SUM(oi.quantity * oi.price), 0)::numeric(14,2) AS shift_revenue
-FROM shifts_in_year siy
+FROM manager_worked_shifts mws
     LEFT JOIN orders o
-ON o.datetime::date = siy.date
-    AND o.datetime::time >= siy.start_time
-    AND o.datetime::time <  siy.end_time
+ON o.datetime::date = mws.date
+    AND o.datetime::time >= mws.start_time
+    AND o.datetime::time <  mws.end_time
     LEFT JOIN order_items oi ON oi.order_id = o.id
-GROUP BY siy.shift_id, month_start, siy.date, siy.manager_id
+GROUP BY
+    mws.shift_id, month_start, mws.date, mws.start_time, mws.end_time, mws.manager_id
     ),
     monthly_avg AS (
@@ -694,15 +704,18 @@
     sr.shift_id,
     sr.shift_date,
-    u.email AS manager_email,
+    sr.start_time AS shift_start_time,
+    sr.end_time   AS shift_end_time,
+    u.email       AS manager_email,
     sr.shift_revenue,
     ma.avg_revenue_per_shift,
     (sr.shift_revenue - ma.avg_revenue_per_shift)::numeric(14,2) AS above_by
 FROM shift_revenue sr
-         JOIN monthly_avg ma           ON ma.month_start = sr.month_start
-         JOIN managers m               ON m.employee_id = sr.manager_id
-         JOIN employees e              ON e.user_id     = m.employee_id
-         JOIN users u                  ON u.id          = e.user_id
+         JOIN monthly_avg ma ON ma.month_start = sr.month_start
+         JOIN managers m     ON m.employee_id = sr.manager_id
+         JOIN employees e    ON e.user_id     = m.employee_id
+         JOIN users u        ON u.id          = e.user_id
 WHERE sr.shift_revenue > ma.avg_revenue_per_shift
-ORDER BY period DESC, sr.shift_revenue DESC;
+ORDER BY period DESC, sr.shift_revenue DESC, sr.shift_date DESC;
+
 
 SELECT setval('public.users_id_seq', COALESCE(MAX(id + 1), 1), false) FROM public.users;
Index: backend/src/main/java/finki/db/tasty_tabs/repository/AnalyticsReadRepository.java
===================================================================
--- backend/src/main/java/finki/db/tasty_tabs/repository/AnalyticsReadRepository.java	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ backend/src/main/java/finki/db/tasty_tabs/repository/AnalyticsReadRepository.java	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -219,50 +219,64 @@
     public List<ManagerShiftAboveAvgDto> managersShiftsAboveMonthlyAvgCurrentYear() {
         String sql = """
-            WITH shifts_in_year AS (
-              SELECT s.id AS shift_id, s.date, s.start_time, s.end_time, s.manager_id
-              FROM shifts s
-              WHERE s.date >= date_trunc('year', CURRENT_DATE)::date
-                AND s.date <  (date_trunc('year', CURRENT_DATE) + INTERVAL '1 year')::date
-            ),
-            shift_revenue AS (
-              SELECT
-                siy.shift_id,
-                date_trunc('month', siy.date)::date AS month_start,
-                siy.date AS shift_date,
-                siy.manager_id,
-                COALESCE(SUM(oi.quantity * oi.price), 0)::numeric(14,2) AS shift_revenue
-              FROM shifts_in_year siy
-              LEFT JOIN orders o
-                ON o.datetime::date = siy.date
-               AND o.datetime::time >= siy.start_time
-               AND o.datetime::time <  siy.end_time
-              LEFT JOIN order_items oi ON oi.order_id = o.id
-              GROUP BY siy.shift_id, month_start, siy.date, siy.manager_id
-            ),
-            monthly_avg AS (
-              SELECT month_start, AVG(shift_revenue)::numeric(14,2) AS avg_revenue_per_shift
-              FROM shift_revenue
-              GROUP BY month_start
-            )
-            SELECT
-              to_char(sr.month_start, 'YYYY-MM') AS period,
-              sr.shift_id,
-              sr.shift_date,
-              u.email AS manager_email,
-              sr.shift_revenue,
-              ma.avg_revenue_per_shift,
-              (sr.shift_revenue - ma.avg_revenue_per_shift)::numeric(14,2) AS above_by
-            FROM shift_revenue sr
-            JOIN monthly_avg ma ON ma.month_start = sr.month_start
-            JOIN managers m     ON m.employee_id = sr.manager_id
-            JOIN employees e    ON e.user_id     = m.employee_id
-            JOIN users u        ON u.id          = e.user_id
-            WHERE sr.shift_revenue > ma.avg_revenue_per_shift
-            ORDER BY period DESC, sr.shift_revenue DESC
-            """;
+        WITH manager_worked_shifts AS (
+          SELECT DISTINCT
+                 s.id AS shift_id,
+                 s.date,
+                 s.start_time,
+                 s.end_time,
+                 a.employee_id AS manager_id
+          FROM assignments a
+          JOIN shifts s   ON s.id = a.shift_id
+          JOIN managers m ON m.employee_id = a.employee_id
+          WHERE s.date >= date_trunc('year', CURRENT_DATE)::date
+            AND s.date <  (date_trunc('year', CURRENT_DATE) + INTERVAL '1 year')::date
+        ),
+        shift_revenue AS (
+          SELECT
+            mws.shift_id,
+            date_trunc('month', mws.date)::date AS month_start,
+            mws.date AS shift_date,
+            mws.start_time,
+            mws.end_time,
+            mws.manager_id,
+            COALESCE(SUM(oi.quantity * oi.price), 0)::numeric(14,2) AS shift_revenue
+          FROM manager_worked_shifts mws
+          LEFT JOIN orders o
+            ON o.datetime::date = mws.date
+           AND o.datetime::time >= mws.start_time
+           AND o.datetime::time <  mws.end_time
+          LEFT JOIN order_items oi ON oi.order_id = o.id
+          GROUP BY mws.shift_id, month_start, mws.date, mws.start_time, mws.end_time, mws.manager_id
+        ),
+        monthly_avg AS (
+          SELECT month_start, AVG(shift_revenue)::numeric(14,2) AS avg_revenue_per_shift
+          FROM shift_revenue
+          GROUP BY month_start
+        )
+        SELECT
+          to_char(sr.month_start, 'YYYY-MM') AS period,
+          sr.shift_id,
+          sr.shift_date,
+          sr.start_time AS shift_start_time,
+          sr.end_time   AS shift_end_time,
+          u.email AS manager_email,
+          sr.shift_revenue,
+          ma.avg_revenue_per_shift,
+          (sr.shift_revenue - ma.avg_revenue_per_shift)::numeric(14,2) AS above_by
+        FROM shift_revenue sr
+        JOIN monthly_avg ma ON ma.month_start = sr.month_start
+        JOIN managers m     ON m.employee_id = sr.manager_id
+        JOIN employees e    ON e.user_id     = m.employee_id
+        JOIN users u        ON u.id          = e.user_id
+        WHERE sr.shift_revenue > ma.avg_revenue_per_shift
+        ORDER BY period DESC, sr.shift_revenue DESC, sr.shift_date DESC
+        """;
+
         return jdbc.query(sql, (rs, i) -> new ManagerShiftAboveAvgDto(
                 rs.getString("period"),
                 rs.getLong("shift_id"),
                 rs.getDate("shift_date").toLocalDate(),
+                rs.getObject("shift_start_time", java.time.LocalTime.class),
+                rs.getObject("shift_end_time",   java.time.LocalTime.class),
                 rs.getString("manager_email"),
                 rs.getBigDecimal("shift_revenue"),
Index: backend/src/main/java/finki/db/tasty_tabs/web/dto/ManagerShiftAboveAvgDto.java
===================================================================
--- backend/src/main/java/finki/db/tasty_tabs/web/dto/ManagerShiftAboveAvgDto.java	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ backend/src/main/java/finki/db/tasty_tabs/web/dto/ManagerShiftAboveAvgDto.java	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -3,4 +3,5 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalTime;
 
 public record ManagerShiftAboveAvgDto(
@@ -8,4 +9,6 @@
         Long shiftId,
         LocalDate shiftDate,
+        LocalTime shiftStartTime,
+        LocalTime shiftEndTime,
         String managerEmail,
         BigDecimal shiftRevenue,
Index: frontend/src/components/Navbar.tsx
===================================================================
--- frontend/src/components/Navbar.tsx	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ frontend/src/components/Navbar.tsx	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -33,5 +33,5 @@
         <nav className="bg-gray-800 text-white p-4 flex justify-between items-center">
             <div className="flex items-center space-x-6">
-                <NavLink to="/" className="text-xl font-bold">TastyTabs</NavLink>
+                <NavLink to="/admin" className="text-xl font-bold">TastyTabs</NavLink>
                 <div className="flex space-x-4">
                     {isAuthenticated && availableLinks.map(link => (
Index: frontend/src/components/analytics/ManagerPerformanceTable.tsx
===================================================================
--- frontend/src/components/analytics/ManagerPerformanceTable.tsx	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ frontend/src/components/analytics/ManagerPerformanceTable.tsx	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -26,4 +26,5 @@
                             <th className="py-2 text-left">Manager</th>
                             <th className="py-2 text-left">Shift Date</th>
+                            <th className="py-2 text-left">Shift Time</th>
                             <th className="py-2 text-right">Shift Revenue</th>
                             <th className="py-2 text-right">Average Revenue</th>
@@ -35,4 +36,5 @@
                                 <td className="py-2">{shift.manager_email}</td>
                                 <td className="py-2">{new Date(shift.shift_date).toLocaleDateString()}</td>
+                                <td className="py-2">{shift.shift_start_time} - {shift.shift_end_time}</td>
                                 <td className="py-2 text-right font-bold text-green-600">${shift.shift_revenue.toFixed(2)}</td>
                                 <td className="py-2 text-right text-gray-600">${shift.avg_revenue_per_shift.toFixed(2)}</td>
Index: frontend/src/pages/DashboardPage.tsx
===================================================================
--- frontend/src/pages/DashboardPage.tsx	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ frontend/src/pages/DashboardPage.tsx	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -38,5 +38,5 @@
     return (
         <div className="p-6">
-            {isManager ? <ManagerDashboard /> : <EmployeeDashboard />}
+            {isManager ? <EmployeeDashboard /> : <EmployeeDashboard />}
         </div>
     );
Index: frontend/src/types/api.ts
===================================================================
--- frontend/src/types/api.ts	(revision 88a1dbd462f13f64d5f6f31b9d02323eb4fcfff1)
+++ frontend/src/types/api.ts	(revision 1344dbb702363ea6ea687dc3ec3b300d31b0f3a4)
@@ -232,4 +232,6 @@
   shift_date: string;
   shift_revenue: number;
+  shift_start_time: string;
+  shift_end_time: string;
   avg_revenue_per_shift: number;
 }
