diff --git a/frontend/app/(dashboard)/settings/organisation/page.tsx b/frontend/app/(dashboard)/settings/organisation/page.tsx
new file mode 100644
index 000000000..f26c8f1e6
--- /dev/null
+++ b/frontend/app/(dashboard)/settings/organisation/page.tsx
@@ -0,0 +1,45 @@
+'use client';
+
+import { useState } from 'react';
+import { Building2, Upload } from 'lucide-react';
+import { Button } from '@/components/ui/button';
+
+export default function OrganisationSettingsPage() {
+ const [orgName, setOrgName] = useState('Acme Corporation');
+ const [tagline, setTagline] = useState('Asset Management Platform');
+ const [plan] = useState('Business');
+
+ return (
+
+
Organisation Settings
Manage org name, branding, and plan information
+
+
+
Organisation Details
+
+
+
+
+
Branding
+
+
+
Organisation Logo
PNG or SVG, max 2MB
+
+
+
+
+
Plan Information
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/frontend/app/(dashboard)/stocktake/page.tsx b/frontend/app/(dashboard)/stocktake/page.tsx
new file mode 100644
index 000000000..2bfce3bdc
--- /dev/null
+++ b/frontend/app/(dashboard)/stocktake/page.tsx
@@ -0,0 +1,57 @@
+'use client';
+
+import { useState } from 'react';
+import { Plus, BarChart3, CheckCircle, AlertTriangle } from 'lucide-react';
+import { Button } from '@/components/ui/button';
+
+type AuditStatus = 'SCHEDULED' | 'IN_PROGRESS' | 'COMPLETE';
+interface Audit { id: string; name: string; department: string; scheduledDate: string; status: AuditStatus; total: number; scanned: number; discrepancies: number }
+
+const MOCK: Audit[] = [
+ { id:'1', name:'Q1 IT Audit', department:'Engineering', scheduledDate:'2024-01-30', status:'IN_PROGRESS', total:45, scanned:32, discrepancies:3 },
+ { id:'2', name:'Annual Furniture Check', department:'All', scheduledDate:'2024-02-15', status:'SCHEDULED', total:120, scanned:0, discrepancies:0 },
+ { id:'3', name:'Q4 2023 Audit', department:'Admin', scheduledDate:'2023-12-20', status:'COMPLETE', total:30, scanned:30, discrepancies:1 },
+];
+
+const STATUS_BADGE: Record = { SCHEDULED:'bg-gray-100 text-gray-600', IN_PROGRESS:'bg-blue-50 text-blue-700', COMPLETE:'bg-green-50 text-green-700' };
+
+export default function StocktakePage() {
+ const [audits] = useState(MOCK);
+ return (
+
+
+
Stocktake
Schedule audits, scan assets, review discrepancies
+
+
+
+
+ {["Audit Name","Department","Date","Status","Progress","Discrepancies"].map(h=>| {h} | )}
+
+ {audits.map(a => {
+ const pct = a.total > 0 ? Math.round((a.scanned / a.total) * 100) : 0;
+ return (
+
+ | {a.name} |
+ {a.department} |
+ {a.scheduledDate} |
+ {a.status.replace('_',' ')} |
+
+
+
+ {a.scanned}/{a.total}
+
+ |
+
+ {a.discrepancies > 0
+ ? {a.discrepancies}
+ : None}
+ |
+
+ );
+ })}
+
+
+
+
+ );
+}
\ No newline at end of file