/* Side-effect import: initialises i18next and subscribes it to the language
store, before any component calls t(). Imported here rather than in main so
that every entry point into the app gets it. */
import '@/lib/i18n';
import { Toaster } from "@/components/ui/toaster"
import { Toaster as HotToaster } from 'react-hot-toast';
import { QueryClientProvider } from '@tanstack/react-query'
import { queryClientInstance } from '@/lib/query-client'
import { Navigate, BrowserRouter as Router, Route, Routes, useParams } from 'react-router-dom';
import PageNotFound from './lib/PageNotFound';
import { AuthProvider, useAuth } from '@/lib/AuthContext';
import ScrollToTop from './components/ScrollToTop';
import ProtectedRoute from '@/components/ProtectedRoute';
import Layout from '@/layouts/Layout';
import Overview from '@/pages/Overview';
import Positions from '@/pages/Positions';
import PositionDetail from '@/pages/PositionDetail';
import Candidates from '@/pages/Candidates';
import HiredHistory from '@/pages/HiredHistory';
import TalentPool from '@/pages/TalentPool';
import Apply from '@/pages/Apply';
import UserTracking from '@/pages/UserTracking';
import Analytics from '@/pages/Analytics';
import CreatePosition from '@/pages/CreatePosition';
import Profile from '@/pages/Profile';
import University from '@/pages/University';
import CourseDetail from '@/pages/CourseDetail';
import WorkerProfile from '@/pages/WorkerProfile';
import KrowIdentity from '@/pages/KrowIdentity';
import Owliver from '@/pages/Owliver';
import EmployeeDashboard from '@/pages/EmployeeDashboard';
import OpportunityDetail from '@/pages/OpportunityDetail';
import DesignSystem from '@/pages/DesignSystem';
/* Admin product — its own layout and route tree, so the Admin redesign can
diverge without touching the Employer or Talent experiences. */
import AdminLayout from '@/layouts/AdminLayout';
import ControlCenter from '@/pages/admin/ControlCenter';
import AdminPositions from '@/pages/admin/Positions';
import AdminCandidates from '@/pages/admin/Candidates';
import AdminCandidateProfile from '@/pages/admin/CandidateProfile';
import AdminCandidatesAnalysis from '@/pages/admin/CandidatesAnalysis';
import AdminHiredHistory from '@/pages/admin/HiredHistory';
import AdminTalentPool from '@/pages/admin/TalentPool';
import AdminTalentProfile from '@/pages/admin/TalentProfile';
import AdminAnalytics from '@/pages/admin/Analytics';
import AdminActivity from '@/pages/admin/Activity';
import AdminProfile from '@/pages/admin/Profile';
import AdminSettings from '@/pages/admin/Settings';
import AdminWorkspace from '@/pages/admin/Workspace';
import AdminWorkspaceSkills from '@/pages/admin/WorkspaceSkills';
import AdminWorkspaceAgents from '@/pages/admin/WorkspaceAgents';
import AdminAgentDetail from '@/pages/admin/AgentDetail';
import AdminSkillEditor from '@/pages/admin/SkillEditor';
import AdminOwliverSkillEditor from '@/pages/admin/OwliverSkillEditor';
import AdminSkillDevelopment from '@/pages/admin/SkillDevelopment';
import AdminLogin from '@/pages/admin/Login';
import AdminRoute from '@/pages/admin/AdminRoute';
/** `/university/:id` → the same challenge inside the Admin shell, id preserved. */
const LegacyCourseRedirect = () => {
const { id } = useParams();
return