Index: src/lib/auth.ts
===================================================================
--- src/lib/auth.ts	(revision 90f7842eb4ce21898c1decfb94e7be85ce622d15)
+++ src/lib/auth.ts	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
@@ -2,4 +2,10 @@
   accessToken: string;
   refreshToken: string;
+};
+
+export type UserRole = 'Professor' | 'Student' | string;
+
+export type AuthSession = AuthTokens & {
+  role: UserRole;
 };
 
@@ -12,4 +18,5 @@
   access: 'iknow.auth.access',
   refresh: 'iknow.auth.refresh',
+  role: 'iknow.auth.role',
 } as const;
 
@@ -59,4 +66,9 @@
 }
 
+export function setUserRole(role: UserRole) {
+  // Keep role TTL aligned with access token TTL.
+  writeStoredToken(STORAGE_KEYS.role, role, ACCESS_TOKEN_TTL_MS);
+}
+
 export function getAccessToken(): string | null {
   return readStoredToken(STORAGE_KEYS.access)?.value ?? null;
@@ -67,11 +79,16 @@
 }
 
+export function getUserRole(): UserRole | null {
+  return readStoredToken(STORAGE_KEYS.role)?.value ?? null;
+}
+
 export function clearAuthTokens() {
   if (!isBrowser()) return;
   window.localStorage.removeItem(STORAGE_KEYS.access);
   window.localStorage.removeItem(STORAGE_KEYS.refresh);
+  window.localStorage.removeItem(STORAGE_KEYS.role);
 }
 
-export async function login(params: { email: string; password: string }) {
+export async function login(params: { email: string; password: string }): Promise<AuthSession> {
   const baseUrl = process.env.NEXT_PUBLIC_API_BASE_URL ?? 'https://iknow-api.onrender.com';
 
@@ -100,9 +117,12 @@
 
   const data = (await response.json()) as {
-    token?: { accessToken?: string; refreshToken?: string };
+    token?: string;
+    refreshToken?: string;
+    role?: string;
   };
 
-  const accessToken = data?.token?.accessToken;
-  const refreshToken = data?.token?.refreshToken;
+  const accessToken = data?.token;
+  const refreshToken = data?.refreshToken;
+  const role = data?.role;
 
   if (!accessToken || !refreshToken) {
@@ -110,6 +130,12 @@
   }
 
-  const tokens: AuthTokens = { accessToken, refreshToken };
-  setAuthTokens(tokens);
-  return tokens;
+  const session: AuthSession = {
+    accessToken,
+    refreshToken,
+    role: role ?? 'Student',
+  };
+
+  setAuthTokens(session);
+  setUserRole(session.role);
+  return session;
 }
