You are an expert full-stack developer specializing in Next.js 14, Drizzle ORM with PostgreSQL, and modern UI frameworks. Your task is to develop a fully functional MVP for "Sales Compass," a sales enablement and lead nurturing platform for technical founders of B2B SaaS startups. This MVP should include a multi-page structure, authentication, database schema, API routes, and full CRUD operations.Project Setup:Initialize a Next.js 14 project using the App Router (`app/` directory).Use TypeScript for all components and logic.Integrate Drizzle ORM with a PostgreSQL database (use `neon-serverless` or a similar serverless PostgreSQL provider for examples, but keep it generic in the code).Implement Tailwind CSS for styling.Set up authentication using NextAuth.js (email/password and Google provider for MVP).Database Schema (Drizzle ORM):Design the following tables:1. Users: `id` (uuid, primary key), `name` (string, nullable), `email` (string, unique, not null), `emailVerified` (timestamp, nullable), `image` (string, nullable), `createdAt` (timestamp, default now()), `updatedAt` (timestamp, default now() on update), `currentPlan` (string, default 'free', enum: 'free', 'basic', 'pro').2. Accounts (for NextAuth): Standard NextAuth.js account schema.3. Sessions (for NextAuth): Standard NextAuth.js session schema.4. Leads: `id` (uuid, primary key), `userId` (uuid, foreign key to Users.id, not null), `companyName` (string, not null), `contactName` (string, nullable), `contactEmail` (string, nullable), `contactPhone` (string, nullable), `industry` (string, nullable), `status` (string, enum: 'discovery', 'qualified', 'proposal', 'negotiation', 'closed_won', 'closed_lost', default 'discovery'), `notes` (text, nullable), `nextActionDate` (timestamp, nullable), `createdAt` (timestamp, default now()), `updatedAt` (timestamp, default now() on update).5. Interactions: `id` (uuid, primary key), `leadId` (uuid, foreign key to Leads.id, not null), `type` (string, enum: 'call', 'email', 'meeting', 'note'), `summary` (text, not null), `timestamp` (timestamp, default now()), `createdAt` (timestamp, default now()).UI / Pages (Next.js App Router):1. `/` (Landing Page): A simple public page describing the platform, its benefits, and a call to action for signing up/logging in.2. `/auth/signin` (Sign-in Page): Custom sign-in page using NextAuth.js credentials provider and Google provider.3. `/dashboard` (Protected - Main Dashboard): Displays a visual sales pipeline (Kanban-style board using drag-and-drop where possible, otherwise just distinct sections) with leads grouped by `status`. Summary statistics (e.g., total leads, leads in each stage, conversion rate - placeholder for now). A prominent "Add New Lead" button.4. `/leads/new` (Protected - Add New Lead Page): Form for creating a new lead with all `Leads` table fields (except `id`, `userId`, `createdAt`, `updatedAt`).5. `/leads/[id]` (Protected - Lead Detail Page): Displays all lead details. "Edit Lead" button (navigate to `/leads/[id]/edit`). Section to view and add new `Interactions` for this lead (CRUD for Interactions within this page). Button to change `status` of the lead (e.g., dropdown or dedicated buttons). "Delete Lead" button.6. `/leads/[id]/edit` (Protected - Edit Lead Page): Form pre-populated with existing lead data for editing.7. `/templates` (Protected - Email Templates Page): List of pre-defined and user-created email templates. "Create New Template" button. Each template should have: `name`, `subject`, `body` (markdown/rich text). Ability to edit/delete templates. (Future AI integration placeholder: Suggest templates based on industry/stage).8. `/settings` (Protected - User Settings Page): Basic user profile information (name, email). (Future: Plan management).API Routes (Next.js API Routes in `app/api`):Authentication: Standard NextAuth.js API routes.`/api/leads`: `GET`: Retrieve all leads for the authenticated user. `POST`: Create a new lead.`/api/leads/[id]`: `GET`: Retrieve a specific lead by ID. `PUT`: Update a specific lead by ID. `DELETE`: Delete a specific lead by ID.`/api/leads/[id]/interactions`: `GET`: Retrieve all interactions for a specific lead. `POST`: Create a new interaction for a specific lead.`/api/interactions/[id]`: `PUT`: Update a specific interaction by ID. `DELETE`: Delete a specific interaction by ID.`/api/templates`: `GET`: Retrieve all email templates for the authenticated user. `POST`: Create a new email template.`/api/templates/[id]`: `GET`: Retrieve a specific email template by ID. `PUT`: Update a specific email template by ID. `DELETE`: Delete a specific email template by ID.Core Functionality:Authentication: Users must be logged in to access `/dashboard`, `/leads`, `/templates`, `/settings`.CRUD for Leads: Fully functional create, read (list and detail), update, and delete operations.CRUD for Interactions: Fully functional create, read (list for a lead), update, and delete operations.CRUD for Email Templates: Fully functional create, read (list and detail), update, and delete operations.Lead Status Updates: Ability to move leads through the pipeline by updating their `status`.User-Specific Data: Ensure all data (leads, interactions, templates) is scoped to the authenticated user.AI Integration (Placeholder/Future): For the MVP, the "AI-powered sales coach" can be represented by a simple static page or a mock chatbot on `/dashboard` that provides pre-defined advice or suggests a template. A small text area where a user can input a lead's description and get a *suggested* email subject/body (using a simple local function if no actual AI API is integrated for MVP) would be a good start.Development Environment:Use environment variables for database connection strings and NextAuth.js secrets.Provide clear instructions for setting up the local environment and running migrations.Deliverables:Provide the complete codebase for the MVP, including: Next.js project structure with `app/` directory. Drizzle ORM setup with schema