Index: app/(app)/add/page.tsx
===================================================================
--- app/(app)/add/page.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/add/page.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -3,34 +3,22 @@
 export default function Page() {
     return (
-        <>
-            <main
-                className="
-                    flex-1
-                    flex
-                    flex-col
-                    items-center
-                    justify-center 
-                    md:justify-center
-                    px-4
-                    mt-[-80]
-                "
+        <div className="w-full px-6 pt-10 pb-10">
+            <h1
+                className={`${poppins.className}
+          text-[40px]
+          leading-tight
+          tracking-tight
+          font-semibold
+          text-center
+          text-white
+        `}
             >
-                <h1
-                    className={`${poppins.className} 
-                        text-[40px] 
-                        leading-tight
-                        tracking-tight
-                        font-semibold 
-                        text-center
-                        mb-10 
-                        text-white 
-                        antialiased
-                    `}
-                >
-                    Add Transaction
-                </h1>
+                Add Transaction
+            </h1>
 
-            </main>
-        </>
+            <div className="mt-10 rounded-3xl bg-white/5 border border-white/10 p-6 text-white/80">
+                Add form placeholder
+            </div>
+        </div>
     );
 }
Index: app/(app)/analytics/page.tsx
===================================================================
--- app/(app)/analytics/page.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/analytics/page.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -3,34 +3,22 @@
 export default function Page() {
     return (
-        <>
-            <main
-                className="
-                    flex-1
-                    flex
-                    flex-col
-                    items-center
-                    justify-center 
-                    md:justify-center
-                    px-4
-                    mt-[-80]
-                "
+        <div className="w-full px-6 pt-10 pb-10">
+            <h1
+                className={`${poppins.className}
+          text-[40px]
+          leading-tight
+          tracking-tight
+          font-semibold
+          text-center
+          text-white
+        `}
             >
-                <h1
-                    className={`${poppins.className} 
-                        text-[40px] 
-                        leading-tight
-                        tracking-tight
-                        font-semibold 
-                        text-center
-                        mb-10 
-                        text-white 
-                        antialiased
-                    `}
-                >
-                    Analytics
-                </h1>
+                Analytics
+            </h1>
 
-            </main>
-        </>
+            <div className="mt-10 rounded-3xl bg-white/5 border border-white/10 p-6 text-white/80">
+                Analytics placeholder
+            </div>
+        </div>
     );
 }
Index: app/(app)/history/page.tsx
===================================================================
--- app/(app)/history/page.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/history/page.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -3,34 +3,22 @@
 export default function Page() {
     return (
-        <>
-            <main
-                className="
-                    flex-1
-                    flex
-                    flex-col
-                    items-center
-                    justify-center 
-                    md:justify-center
-                    px-4
-                    mt-[-80]
-                "
+        <div className="w-full px-6 pt-10 pb-10">
+            <h1
+                className={`${poppins.className}
+          text-[40px]
+          leading-tight
+          tracking-tight
+          font-semibold
+          text-center
+          text-white
+        `}
             >
-                <h1
-                    className={`${poppins.className} 
-                        text-[40px] 
-                        leading-tight
-                        tracking-tight
-                        font-semibold 
-                        text-center
-                        mb-10 
-                        text-white 
-                        antialiased
-                    `}
-                >
-                    History
-                </h1>
+                History
+            </h1>
 
-            </main>
-        </>
+            <div className="mt-10 rounded-3xl bg-white/5 border border-white/10 p-6 text-white/80">
+                History placeholder
+            </div>
+        </div>
     );
 }
Index: app/(app)/home/page.tsx
===================================================================
--- app/(app)/home/page.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/home/page.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -3,35 +3,26 @@
 export default function Page() {
     return (
-        <>
-            <main
-                className="
-                    flex-1
-                    flex
-                    flex-col
-                    items-center
-                    justify-center 
-                    md:justify-center
-                    px-4
-                    mt-[-80]
-                "
+        <div className="w-full px-6 pt-10 pb-10">
+            <h1
+                className={`${poppins.className}
+                    text-[40px]
+                    leading-tight
+                    tracking-tight
+                    font-semibold
+                    text-center
+                    text-white
+                `}
             >
-                <h1
-                    className={`${poppins.className} 
-                        text-[40px] 
-                        leading-tight
-                        tracking-tight
-                        font-semibold 
-                        text-center
-                        mb-10 
-                        text-white 
-                        antialiased
-                    `}
-                >
-                    Welcome to<br />
-                    FEiN
-                </h1>
+                Welcome to<br />
+                FEiN
+            </h1>
 
-            </main>
-        </>
+            {/* Add real home content below later */}
+            <div className="mt-10 space-y-4">
+                <div className="rounded-3xl bg-white/5 border border-white/10 p-6 text-white/80">
+                    Home content placeholder
+                </div>
+            </div>
+        </div>
     );
 }
Index: app/(app)/layout.tsx
===================================================================
--- app/(app)/layout.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/layout.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -15,11 +15,16 @@
 
     return (
-        <div className="flex-1 flex flex-col h-full">
-            <main className="flex-1 flex flex-col pb-24">
+        <div className="relative h-full overflow-hidden">
+            {/* Scrollable content inside phone shell */}
+            <main className="h-full overflow-y-auto no-scrollbar pb-[120px]">
                 {children}
             </main>
 
-            {/* Fixed bottom navigation */}
-            <BottomNav />
+            {/* Bottom nav FLOATS INSIDE the phone shell */}
+            <div className="absolute inset-x-0 bottom-0 z-50 flex justify-center pb-4 pointer-events-none">
+                <div className="w-full pointer-events-auto">
+                    <BottomNav />
+                </div>
+            </div>
         </div>
     );
Index: app/(app)/profile/actions.ts
===================================================================
--- app/(app)/profile/actions.ts	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
+++ app/(app)/profile/actions.ts	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -0,0 +1,57 @@
+'use server';
+
+import { auth } from '@/auth';
+import { redirect } from 'next/navigation';
+import postgres from 'postgres';
+import bcrypt from 'bcrypt';
+
+const sql = postgres(process.env.POSTGRES_URL!, { ssl: 'require' });
+
+export async function updateProfile(formData: FormData) {
+    const session = await auth();
+    if (!session?.user?.id) redirect('/login');
+
+    const name = formData.get('name') as string;
+    const email = formData.get('email') as string;
+
+    await sql`
+        UPDATE "user"
+        SET user_name = ${name},
+            email = ${email}
+        WHERE user_id = ${session.user.id}
+    `;
+
+    redirect('/profile');
+}
+
+export async function updatePassword(formData: FormData) {
+    const session = await auth();
+    if (!session?.user?.id) redirect('/login');
+
+    const currentPassword = formData.get('currentPassword') as string;
+    const newPassword = formData.get('newPassword') as string;
+
+    const users = await sql`
+        SELECT password
+        FROM "user"
+        WHERE user_id = ${session.user.id}
+    `;
+
+    const user = users[0];
+    if (!user) redirect('/login');
+
+    const match = await bcrypt.compare(currentPassword, user.password);
+    if (!match) {
+        throw new Error('Current password is incorrect');
+    }
+
+    const hashed = await bcrypt.hash(newPassword, 10);
+
+    await sql`
+        UPDATE "user"
+        SET password = ${hashed}
+        WHERE user_id = ${session.user.id}
+    `;
+
+    redirect('/profile');
+}
Index: app/(app)/profile/page.tsx
===================================================================
--- app/(app)/profile/page.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/(app)/profile/page.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -1,36 +1,110 @@
+import { auth, signOut } from '@/auth';
+import { redirect } from 'next/navigation';
 import { poppins } from '@/app/ui/fonts';
+import { updateProfile, updatePassword } from './actions';
 
-export default function Page() {
+export default async function ProfilePage() {
+    const session = await auth();
+
+    if (!session?.user) {
+        redirect('/login');
+    }
+
     return (
-        <>
-            <main
-                className="
-                    flex-1
-                    flex
-                    flex-col
-                    items-center
-                    justify-center 
-                    md:justify-center
-                    px-4
-                    mt-[-80]
-                "
+        <div className="w-full px-6 pt-10 space-y-10">
+            {/* Title */}
+            <h1
+                className={`${poppins.className}
+                    text-[40px]
+                    leading-tight
+                    tracking-tight
+                    font-semibold
+                    text-center
+                    text-white
+                `}
             >
-                <h1
-                    className={`${poppins.className} 
-                        text-[40px] 
-                        leading-tight
-                        tracking-tight
-                        font-semibold 
-                        text-center
-                        mb-10 
-                        text-white 
-                        antialiased
-                    `}
+                Profile
+            </h1>
+
+            <div className="max-w-md mx-auto space-y-8 pb-10">
+
+                {/* Account Info */}
+                <section className="rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 p-6 space-y-5">
+
+                    <form action={updateProfile} className="space-y-4">
+                        <div className="space-y-2">
+                            <label className="text-white/70 text-sm">Name</label>
+                            <input
+                                name="name"
+                                defaultValue={session.user.name ?? ''}
+                                required
+                                className="w-full rounded-xl bg-white/10 border border-white/10 px-4 py-3 text-white focus:ring-2 focus:ring-blue-500 outline-none"
+                            />
+                        </div>
+
+                        <div className="space-y-2">
+                            <label className="text-white/70 text-sm">Email</label>
+                            <input
+                                name="email"
+                                defaultValue={session.user.email ?? ''}
+                                required
+                                className="w-full rounded-xl bg-white/10 border border-white/10 px-4 py-3 text-white focus:ring-2 focus:ring-blue-500 outline-none"
+                            />
+                        </div>
+
+                        <button className="w-full bg-blue-600 hover:bg-blue-500 rounded-xl py-3 text-white font-medium transition">
+                            Save Changes
+                        </button>
+                    </form>
+                </section>
+
+                {/* Security */}
+                <section className="rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 p-6 space-y-5">
+
+                    <form action={updatePassword} className="space-y-4">
+                        <div className="space-y-2">
+                            <label className="text-white/70 text-sm">
+                                Current Password
+                            </label>
+                            <input
+                                type="password"
+                                name="currentPassword"
+                                required
+                                className="w-full rounded-xl bg-white/10 border border-white/10 px-4 py-3 text-white focus:ring-2 focus:ring-blue-500 outline-none"
+                            />
+                        </div>
+
+                        <div className="space-y-2">
+                            <label className="text-white/70 text-sm">
+                                New Password
+                            </label>
+                            <input
+                                type="password"
+                                name="newPassword"
+                                required
+                                className="w-full rounded-xl bg-white/10 border border-white/10 px-4 py-3 text-white focus:ring-2 focus:ring-blue-500 outline-none"
+                            />
+                        </div>
+
+                        <button className="w-full bg-blue-600 hover:bg-blue-500 rounded-xl py-3 text-white font-medium transition">
+                            Update Password
+                        </button>
+                    </form>
+                </section>
+
+                {/* Logout */}
+                <form
+                    action={async () => {
+                        'use server';
+                        await signOut({ redirectTo: '/login' });
+                    }}
                 >
-                    Profile
-                </h1>
+                    <button className="w-full bg-red-600/90 hover:bg-red-500 rounded-2xl py-3 text-white font-medium transition">
+                        Logout
+                    </button>
+                </form>
 
-            </main>
-        </>
+            </div>
+        </div>
     );
 }
Index: app/layout.tsx
===================================================================
--- app/layout.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/layout.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -18,9 +18,12 @@
   return (
     <html lang="en">
-      <body className={`${poppins.className} antialiased bg-black md:bg-black overflow-hidden`}>
-        <div className="min-h-screen flex items-center justify-center">
+      {/* lock page scroll; the app will scroll inside the phone shell */}
+      <body className={`${poppins.className} antialiased bg-black overflow-hidden`}>
+        {/* Outer background wrapper */}
+        <div className="min-h-screen w-full xs:bg-fein  md:bg-black flex items-center justify-center">
           {/* Phone shell */}
           <div
             className="
+              relative
               w-full
               h-screen
Index: app/ui/bottom-nav.tsx
===================================================================
--- app/ui/bottom-nav.tsx	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/ui/bottom-nav.tsx	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -31,5 +31,5 @@
                     pb-safe
                     mx-4
-                    mb-4
+                    mb-0
                     h-14
                     rounded-2xl
Index: app/ui/global.css
===================================================================
--- app/ui/global.css	(revision 4040276b643f272fe225cedb34141cb465e07a8c)
+++ app/ui/global.css	(revision 509bd1945ebde55993c693195b3a5c8518ddc204)
@@ -19,5 +19,30 @@
 body {
   height: 100%;
+  overflow: hidden;
   overscroll-behavior: none;
+}
+
+::-webkit-scrollbar {
+  background-color: transparent;
+  width: 12px;
+}
+
+::-webkit-scrollbar-track {
+  background-color: transparent;
+}
+
+::-webkit-scrollbar-thumb {
+  border-radius: 20px;
+  border: 3px solid transparent;
+  background-color: rgba(0, 0, 0, 0);
+  background-clip: content-box;
+}
+
+/* For firefox/edge/IE: Hide scrollbars (but keep scrolling) */
+.no-scrollbar {
+  -ms-overflow-style: none;
+  /* IE/Edge */
+  scrollbar-width: none;
+  /* Firefox */
 }
 
