Showing AI reviews for antfast-dashboard
Project AI Score ?
68%
Quality Avg ?
74%
Security Avg ?
54%
Reviews ?
7

Review Result ?

jattin01/antfast-dashboard · 52ce38b5
This commit initializes a Laravel project with configuration files, environment examples, and GitHub workflows for CI. It provides a solid base for development and CI automation but lacks initial application code and secure environment keys.
Quality ?
85%
Security ?
60%
Business Value ?
70%
Maintainability ?
88%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
App Key Is Empty
Where .env.example:3
Issue / Evidence APP_KEY is empty
Suggested Fix generate a strong key for better security and initial setup completeness
App Debug Set To True
Where .env.example:4
Issue / Evidence APP_DEBUG set to true
Suggested Fix consider setting to false or documenting this should be false in production for security
Database Credentials Commented Out
Where .env.example:23-.env.example:28
Issue / Evidence database credentials commented out
Suggested Fix provide secure defaults or instructions to reduce setup errors
Ci Is Set Up But Enabling Coverage Reporti...
Where .github/workflows/tests.yml:22-.github/workflows/tests.yml:47
Issue / Evidence CI is set up but enabling coverage reporting could improve code quality tracking
Suggested Fix enable test coverage
No Descriptive Detail
Where commit message
Issue / Evidence no descriptive detail
Suggested Fix improve commit messages by adding detail about purpose and impact to enhance project documentation
Code Change Preview · .editorconfig ?
Removed / Before Commit

                                                
Added / After Commit
+ root = true
+ 
+ [*]
+ charset = utf-8
+ end_of_line = lf
+ indent_size = 4
+ indent_style = space
+ insert_final_newline = true
+ trim_trailing_whitespace = true
+ 
+ [*.md]
+ trim_trailing_whitespace = false
+ 
+ [*.{yml,yaml}]
+ indent_size = 2
+ 
+ [compose.yaml]
+ indent_size = 4
Removed / Before Commit

                                                
Added / After Commit
+ APP_NAME="ANTFAST Admin"
+ APP_ENV=local
+ APP_KEY=
+ APP_DEBUG=true
+ APP_URL=http://localhost
+ 
+ APP_LOCALE=en
+ APP_FALLBACK_LOCALE=en
+ APP_FAKER_LOCALE=en_US
+ 
+ APP_MAINTENANCE_DRIVER=file
+ # APP_MAINTENANCE_STORE=database
+ 
+ # PHP_CLI_SERVER_WORKERS=4
+ 
+ BCRYPT_ROUNDS=12
+ 
+ LOG_CHANNEL=stack
Removed / Before Commit

                                                
Added / After Commit
+ * text=auto eol=lf
+ 
+ *.blade.php diff=html
+ *.css diff=css
+ *.html diff=html
+ *.md diff=markdown
+ *.php diff=php
+ 
+ /.github export-ignore
+ CHANGELOG.md export-ignore
+ .styleci.yml export-ignore
Removed / Before Commit

                                                
Added / After Commit
+ name: Issues
+ 
+ on:
+   issues:
+     types: [labeled]
+ 
+ permissions:
+   issues: write
+ 
+ jobs:
+   help-wanted:
+     uses: laravel/.github/.github/workflows/issues.yml@main
Removed / Before Commit

                                                
Added / After Commit
+ name: Pull Requests
+ 
+ on:
+   pull_request_target:
+     types: [opened]
+ 
+ permissions:
+   pull-requests: write
+ 
+ jobs:
+   uneditable:
+     uses: laravel/.github/.github/workflows/pull-requests.yml@main
Removed / Before Commit

                                                
Added / After Commit
+ name: Tests
+ 
+ on:
+   push:
+     branches:
+       - master
+       - '*.x'
+   pull_request:
+   schedule:
+     - cron: '0 0 * * *'
+ 
+ permissions:
+   contents: read
+ 
+ jobs:
+   tests:
+     runs-on: ubuntu-latest
+ 
Removed / Before Commit

                                                
Added / After Commit
+ name: Update Changelog
+ 
+ on:
+   release:
+     types: [released]
+ 
+ permissions: {}
+ 
+ jobs:
+   update:
+     permissions:
+       contents: write
+     uses: laravel/.github/.github/workflows/update-changelog.yml@main
Removed / Before Commit

                                                
Added / After Commit
+ *.log
+ .DS_Store
+ .env
+ .env.backup
+ .env.production
+ .phpactor.json
+ .phpunit.result.cache
+ /.fleet
+ /.idea
+ /.nova
+ /.phpunit.cache
+ /.vscode
+ /.zed
+ /auth.json
+ /node_modules
+ /public/build
+ /public/hot
+ /public/storage
Removed / Before Commit

                                                
Added / After Commit
+ php:
+   preset: laravel
+   disabled:
+     - no_unused_imports
+   finder:
+     not-name:
+       - index.php
+ js: true
+ css: true
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class B2bPortalController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.b2b', DemoData::b2bPortal());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class CompanyController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.companies', DemoData::companies());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ abstract class Controller
+ {
+     //
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class CustomerController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.customers', DemoData::customers());
+     }
+ 
+     public function show(string $slug)
+     {
+         $profile = DemoData::customerProfile($slug);
+ 
+         abort_if(! $profile, 404);
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class DashboardController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.dashboard', [
+             'kpis' => DemoData::dashboardKpis(),
+             'ordersRevenueChart' => DemoData::ordersRevenueChart(),
+             'dailyOrdersChart' => DemoData::dailyOrdersChart(),
+             'companyOrdersChart' => DemoData::companyOrdersChart(),
+             'productSalesChart' => DemoData::productSalesChart(),
+             'plantUtilizationChart' => DemoData::plantUtilizationChart(),
+             'completionChart' => DemoData::completionChart(),
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class DeliveryController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.deliveries', DemoData::deliveries());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class DispatchController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.dispatch', DemoData::dispatch());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class DriverController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.drivers', DemoData::drivers());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class FinanceController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.finance', DemoData::finance());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class InvoiceController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.invoices', DemoData::invoices());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class NotificationController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.notifications', DemoData::notifications());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class OrderController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.orders', DemoData::orders());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class PaymentController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.payments', DemoData::payments());
+     }
+ }
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class PlantController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.plants', DemoData::plants());
+     }
+ 
+     public function dashboard()
+     {
+         return view('pages.plants-dashboard', DemoData::plants());
+     }
+ 
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class PricingController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.pricing', DemoData::pricing());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class ProductController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.products', DemoData::products());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class ProjectController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.projects', DemoData::projects());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class QcController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.qc', DemoData::qc());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class ReportController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.reports', [
+             ...DemoData::reports(),
+             'chart' => DemoData::reportsChart(),
+         ]);
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class RoleController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.roles', DemoData::roles());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class SettingController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.settings', DemoData::settings());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class TruckController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.trucks', DemoData::trucks());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class UserController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.users', DemoData::users());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class VerificationController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.verification', DemoData::verification());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Http\Controllers;
+ 
+ use App\Support\Demo\DemoData;
+ 
+ class WalletController extends Controller
+ {
+     public function index()
+     {
+         return view('pages.wallet', DemoData::wallet());
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Models;
+ 
+ // use Illuminate\Contracts\Auth\MustVerifyEmail;
+ use Database\Factories\UserFactory;
+ use Illuminate\Database\Eloquent\Factories\HasFactory;
+ use Illuminate\Foundation\Auth\User as Authenticatable;
+ use Illuminate\Notifications\Notifiable;
+ 
+ class User extends Authenticatable
+ {
+     /** @use HasFactory<UserFactory> */
+     use HasFactory, Notifiable;
+ 
+     /**
+      * The attributes that are mass assignable.
+      *
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace App\Providers;
+ 
+ use Illuminate\Support\ServiceProvider;
+ 
+ class AppServiceProvider extends ServiceProvider
+ {
+     /**
+      * Register any application services.
+      */
+     public function register(): void
+     {
+         //
+     }
+ 
+     /**
+      * Bootstrap any application services.
Removed / Before Commit

                                                
Added / After Commit
+ #!/usr/bin/env php
+ <?php
+ 
+ use Illuminate\Foundation\Application;
+ use Symfony\Component\Console\Input\ArgvInput;
+ 
+ define('LARAVEL_START', microtime(true));
+ 
+ // Register the Composer autoloader...
+ require __DIR__.'/vendor/autoload.php';
+ 
+ // Bootstrap Laravel and handle the command...
+ /** @var Application $app */
+ $app = require_once __DIR__.'/bootstrap/app.php';
+ 
+ $status = $app->handleCommand(new ArgvInput);
+ 
+ exit($status);
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Foundation\Application;
+ use Illuminate\Foundation\Configuration\Exceptions;
+ use Illuminate\Foundation\Configuration\Middleware;
+ 
+ return Application::configure(basePath: dirname(__DIR__))
+     ->withRouting(
+         web: __DIR__.'/../routes/web.php',
+         commands: __DIR__.'/../routes/console.php',
+         health: '/up',
+     )
+     ->withMiddleware(function (Middleware $middleware): void {
+         //
+     })
+     ->withExceptions(function (Exceptions $exceptions): void {
+         //
+     })->create();
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use App\Providers\AppServiceProvider;
+ 
+ return [
+     AppServiceProvider::class,
+ ];
Removed / Before Commit

                                                
Added / After Commit
+ # Release Notes
+ 
+ ## [Unreleased](https://github.com/laravel/laravel/compare/v12.12.1...12.x)
+ 
+ ## [v12.12.1](https://github.com/laravel/laravel/compare/v12.12.0...v12.12.1) - 2026-03-10
+ 
+ * [12.x] Makes imports consistent by [@nunomaduro](https://github.com/nunomaduro) in https://github.com/laravel/laravel/pull/6760
+ 
+ ## [v12.12.0](https://github.com/laravel/laravel/compare/v12.11.2...v12.12.0) - 2026-03-09
+ 
+ * Update phpunit version to ^11.5.50 to address CVE by [@PerryvanderMeer](https://github.com/PerryvanderMeer) in https://github.com/laravel/laravel/pull/6746
+ * [12.x] Add `APP_NAME` fallback in mail config by [@apoorvdarshan](https://github.com/apoorvdarshan) in https://github.com/laravel/laravel/pull/6755
+ * [12.x] Neutralize DB_URL in default phpunit.xml by [@Husseinadq](https://github.com/Husseinadq) in https://github.com/laravel/laravel/pull/6761
+ 
+ ## [v12.11.2](https://github.com/laravel/laravel/compare/v12.11.1...v12.11.2) - 2026-01-19
+ 
+ * [12.x] Update composer dev script to ensure no timeout by [@jackbayliss](https://github.com/jackbayliss) in https://github.com/laravel/laravel/pull/6735
+ * [12.x] Update jobs/cache migrations by [@jackbayliss](https://github.com/jackbayliss) in https://github.com/laravel/laravel/pull/6736
Removed / Before Commit

                                                
Added / After Commit
+ {
+     "$schema":  "https://getcomposer.org/schema.json",
+     "name":  "antfast/admin-dashboard",
+     "type":  "project",
+     "description":  "ANTFAST Concrete admin dashboard built on Laravel.",
+     "keywords":  [
+                      "laravel",
+                      "admin",
+                      "dashboard",
+                      "antfast"
+                  ],
+     "license":  "MIT",
+     "require":  {
+         "php": "^8.2",
+         "laravel/framework": "^12.0",
+         "laravel/tinker": "^2.10.1",
+         "mallardduck/blade-lucide-icons": "^1.26"
+     },
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Application Name
+     |--------------------------------------------------------------------------
+     |
+     | This value is the name of your application, which will be used when the
+     | framework needs to place the application's name in a notification or
+     | other UI elements where an application name needs to be displayed.
+     |
+     */
+ 
+     'name' => env('APP_NAME', 'Laravel'),
+ 
+     /*
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use App\Models\User;
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Authentication Defaults
+     |--------------------------------------------------------------------------
+     |
+     | This option defines the default authentication "guard" and password
+     | reset "broker" for your application. You may change these values
+     | as required, but they're a perfect start for most applications.
+     |
+     */
+ 
+     'defaults' => [
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Support\Str;
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Cache Store
+     |--------------------------------------------------------------------------
+     |
+     | This option controls the default cache store that will be used by the
+     | framework. This connection is utilized if another isn't explicitly
+     | specified when running a cache operation inside the application.
+     |
+     */
+ 
+     'default' => env('CACHE_STORE', 'database'),
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Support\Str;
+ use Pdo\Mysql;
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Database Connection Name
+     |--------------------------------------------------------------------------
+     |
+     | Here you may specify which of the database connections below you wish
+     | to use as your default connection for database operations. This is
+     | the connection which will be utilized unless another connection
+     | is explicitly specified when you execute a query / statement.
+     |
+     */
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Filesystem Disk
+     |--------------------------------------------------------------------------
+     |
+     | Here you may specify the default filesystem disk that should be used
+     | by the framework. The "local" disk, as well as a variety of cloud
+     | based disks are available to your application for file storage.
+     |
+     */
+ 
+     'default' => env('FILESYSTEM_DISK', 'local'),
+ 
+     /*
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Monolog\Handler\NullHandler;
+ use Monolog\Handler\StreamHandler;
+ use Monolog\Handler\SyslogUdpHandler;
+ use Monolog\Processor\PsrLogMessageProcessor;
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Log Channel
+     |--------------------------------------------------------------------------
+     |
+     | This option defines the default log channel that is utilized to write
+     | messages to your logs. The value provided here should match one of
+     | the channels present in the list of "channels" configured below.
+     |
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Mailer
+     |--------------------------------------------------------------------------
+     |
+     | This option controls the default mailer that is used to send all email
+     | messages unless another mailer is explicitly specified when sending
+     | the message. All additional mailers can be configured within the
+     | "mailers" array. Examples of each type of mailer are provided.
+     |
+     */
+ 
+     'default' => env('MAIL_MAILER', 'log'),
+ 
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Queue Connection Name
+     |--------------------------------------------------------------------------
+     |
+     | Laravel's queue supports a variety of backends via a single, unified
+     | API, giving you convenient access to each backend using identical
+     | syntax for each. The default queue connection is defined below.
+     |
+     */
+ 
+     'default' => env('QUEUE_CONNECTION', 'database'),
+ 
+     /*
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Third Party Services
+     |--------------------------------------------------------------------------
+     |
+     | This file is for storing the credentials for third party services such
+     | as Mailgun, Postmark, AWS and more. This file provides the de facto
+     | location for this type of information, allowing packages to have
+     | a conventional file to locate the various service credentials.
+     |
+     */
+ 
+     'postmark' => [
+         'key' => env('POSTMARK_API_KEY'),
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Support\Str;
+ 
+ return [
+ 
+     /*
+     |--------------------------------------------------------------------------
+     | Default Session Driver
+     |--------------------------------------------------------------------------
+     |
+     | This option determines the default session driver that is utilized for
+     | incoming requests. Laravel supports a variety of storage options to
+     | persist session data. Database storage is a great default choice.
+     |
+     | Supported: "file", "cookie", "database", "memcached",
+     |            "redis", "dynamodb", "array"
+     |
Removed / Before Commit

                                                
Added / After Commit
+ *.sqlite*
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace Database\Factories;
+ 
+ use App\Models\User;
+ use Illuminate\Database\Eloquent\Factories\Factory;
+ use Illuminate\Support\Facades\Hash;
+ use Illuminate\Support\Str;
+ 
+ /**
+  * @extends Factory<User>
+  */
+ class UserFactory extends Factory
+ {
+     /**
+      * The current password being used by the factory.
+      */
+     protected static ?string $password;
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Database\Migrations\Migration;
+ use Illuminate\Database\Schema\Blueprint;
+ use Illuminate\Support\Facades\Schema;
+ 
+ return new class extends Migration
+ {
+     /**
+      * Run the migrations.
+      */
+     public function up(): void
+     {
+         Schema::create('users', function (Blueprint $table) {
+             $table->id();
+             $table->string('name');
+             $table->string('email')->unique();
+             $table->timestamp('email_verified_at')->nullable();
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Database\Migrations\Migration;
+ use Illuminate\Database\Schema\Blueprint;
+ use Illuminate\Support\Facades\Schema;
+ 
+ return new class extends Migration
+ {
+     /**
+      * Run the migrations.
+      */
+     public function up(): void
+     {
+         Schema::create('cache', function (Blueprint $table) {
+             $table->string('key')->primary();
+             $table->mediumText('value');
+             $table->integer('expiration')->index();
+         });
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Database\Migrations\Migration;
+ use Illuminate\Database\Schema\Blueprint;
+ use Illuminate\Support\Facades\Schema;
+ 
+ return new class extends Migration
+ {
+     /**
+      * Run the migrations.
+      */
+     public function up(): void
+     {
+         Schema::create('jobs', function (Blueprint $table) {
+             $table->id();
+             $table->string('queue')->index();
+             $table->longText('payload');
+             $table->unsignedTinyInteger('attempts');
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace Database\Seeders;
+ 
+ use App\Models\User;
+ use Illuminate\Database\Console\Seeds\WithoutModelEvents;
+ use Illuminate\Database\Seeder;
+ 
+ class DatabaseSeeder extends Seeder
+ {
+     use WithoutModelEvents;
+ 
+     /**
+      * Seed the application's database.
+      */
+     public function run(): void
+     {
+         // User::factory(10)->create();
Removed / Before Commit

                                                
Added / After Commit
+ {
+     "name": "antfast-admin",
+     "lockfileVersion": 3,
+     "requires": true,
+     "packages": {
+         "": {
+             "dependencies": {
+                 "chart.js": "^4.5.1"
+             },
+             "devDependencies": {
+                 "@tailwindcss/vite": "^4.0.0",
+                 "axios": "^1.11.0",
+                 "concurrently": "^9.0.1",
+                 "laravel-vite-plugin": "^2.0.0",
+                 "tailwindcss": "^4.0.0",
+                 "vite": "^7.0.7"
+             }
+         },
Removed / Before Commit

                                                
Added / After Commit
+ {
+     "$schema": "https://www.schemastore.org/package.json",
+     "private": true,
+     "type": "module",
+     "scripts": {
+         "build": "vite build",
+         "dev": "vite"
+     },
+     "devDependencies": {
+         "@tailwindcss/vite": "^4.0.0",
+         "axios": "^1.11.0",
+         "concurrently": "^9.0.1",
+         "laravel-vite-plugin": "^2.0.0",
+         "tailwindcss": "^4.0.0",
+         "vite": "^7.0.7"
+     },
+     "dependencies": {
+         "chart.js": "^4.5.1"
Removed / Before Commit

                                                
Added / After Commit
+ <?xml version="1.0" encoding="UTF-8"?>
+ <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
+          bootstrap="vendor/autoload.php"
+          colors="true"
+ >
+     <testsuites>
+         <testsuite name="Unit">
+             <directory>tests/Unit</directory>
+         </testsuite>
+         <testsuite name="Feature">
+             <directory>tests/Feature</directory>
+         </testsuite>
+     </testsuites>
+     <source>
+         <include>
+             <directory>app</directory>
+         </include>
Removed / Before Commit

                                                
Added / After Commit
+ <IfModule mod_rewrite.c>
+     <IfModule mod_negotiation.c>
+         Options -MultiViews -Indexes
+     </IfModule>
+ 
+     RewriteEngine On
+ 
+     # Handle Authorization Header
+     RewriteCond %{HTTP:Authorization} .
+     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+ 
+     # Handle X-XSRF-Token Header
+     RewriteCond %{HTTP:x-xsrf-token} .
+     RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]
+ 
+     # Redirect Trailing Slashes If Not A Folder...
+     RewriteCond %{REQUEST_FILENAME} !-d
+     RewriteCond %{REQUEST_URI} (.+)/$
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Foundation\Application;
+ use Illuminate\Http\Request;
+ 
+ define('LARAVEL_START', microtime(true));
+ 
+ // Determine if the application is in maintenance mode...
+ if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
+     require $maintenance;
+ }
+ 
+ // Register the Composer autoloader...
+ require __DIR__.'/../vendor/autoload.php';
+ 
+ // Bootstrap Laravel and handle the request...
+ /** @var Application $app */
+ $app = require_once __DIR__.'/../bootstrap/app.php';
Removed / Before Commit

                                                
Added / After Commit
+ User-agent: *
+ Disallow:
Removed / Before Commit

                                                
Added / After Commit
+ # ANTFAST Admin Dashboard
+ 
+ Laravel wrapper for the ANTFAST Concrete admin dashboard.
+ 
+ ## Requirements
+ 
+ - PHP 8.2+
+ - Composer
+ 
+ ## Run Locally
+ 
+ ```bash
+ php artisan serve
+ ```
+ 
+ Open the URL printed by Artisan, usually `http://127.0.0.1:8000`.
+ 
+ The converted dashboard view lives at `resources/views/dashboard.blade.php`, and the `/` route is defined in `routes/web.php`.
Removed / Before Commit

                                                
Added / After Commit
+ @import 'tailwindcss';
+ 
+ @source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
+ @source '../../storage/framework/views/*.php';
+ @source '../**/*.blade.php';
+ @source '../**/*.js';
+ 
+ @theme {
+     --font-sans: 'Plus Jakarta Sans', 'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
+     --font-display: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
+ 
+     /* Brand — violet/indigo */
+     --color-brand-50: #f4f2ff;
+     --color-brand-100: #e9e4ff;
+     --color-brand-200: #d2c8ff;
+     --color-brand-300: #b3a0ff;
+     --color-brand-400: #9277ff;
+     --color-brand-500: #7464ff;
Removed / Before Commit

                                                
Added / After Commit
+ import './bootstrap';
+ import Chart from 'chart.js/auto';
+ 
+ Chart.defaults.font.family = "'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif";
+ Chart.defaults.color = '#79728f';
+ Chart.defaults.plugins.tooltip.backgroundColor = '#1a1726';
+ Chart.defaults.plugins.tooltip.padding = 10;
+ Chart.defaults.plugins.tooltip.cornerRadius = 10;
+ Chart.defaults.plugins.tooltip.titleFont = { weight: '700' };
+ 
+ function initCharts() {
+     document.querySelectorAll('canvas[data-chart]').forEach((canvas) => {
+         if (canvas.dataset.chartInit) return;
+         try {
+             const config = JSON.parse(canvas.dataset.chart);
+             new Chart(canvas, config);
+             canvas.dataset.chartInit = '1';
+         } catch (e) {
Removed / Before Commit

                                                
Added / After Commit
+ import axios from 'axios';
+ window.axios = axios;
+ 
+ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @props(['title' => 'Dashboard'])
+ 
+ <!doctype html>
+ <html lang="en">
+ <head>
+     <meta charset="utf-8">
+     <meta name="viewport" content="width=device-width, initial-scale=1">
+     <title>{{ $title }} - ANTFAST Operations</title>
+     <link rel="preconnect" href="https://fonts.bunny.net">
+     <link href="https://fonts.bunny.net/css?family=plus-jakarta-sans:400,500,600,700,800" rel="stylesheet" />
+     @vite(['resources/css/app.css', 'resources/js/app.js'])
+ </head>
+ <body class="text-ink-900 antialiased">
+     <div class="aurora-bg"></div>
+ 
+     <div class="mx-auto flex min-h-screen w-full max-w-[1700px] gap-0 p-3 sm:p-4 lg:gap-4 lg:p-5">
+         <x-layout.sidebar />
+ 
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @php($items = \App\Support\Demo\DemoData::navItems())
+ 
+ <div data-command-palette class="fixed inset-0 z-50 hidden items-start justify-center bg-navy-900/60 px-4 pt-[12vh] backdrop-blur-sm">
+     <div class="w-full max-w-lg overflow-hidden rounded-3xl border border-white/10 bg-white shadow-lift animate-pop">
+         <div class="flex items-center gap-3 border-b border-ink-100 px-4 py-3.5">
+             <x-lucide-command class="h-5 w-5 text-brand-500" />
+             <input data-command-input type="text" placeholder="Jump to a module..." class="flex-1 border-0 bg-transparent text-sm font-medium text-ink-900 outline-none placeholder:text-ink-400">
+             <span class="rounded-md bg-ink-100 px-1.5 py-0.5 text-[10px] font-bold text-ink-500">ESC</span>
+         </div>
+         <div class="max-h-80 overflow-y-auto p-2 scrollbar-thin">
+             @foreach ($items as $item)
+                 <a data-command-item data-command-label="{{ $item['label'] }}" href="{{ route($item['route']) }}" class="flex items-center gap-3 rounded-xl px-3 py-2.5 text-sm font-semibold text-ink-700 transition hover:bg-brand-50 hover:text-brand-700">
+                     <span class="grid h-9 w-9 place-items-center rounded-xl bg-ink-50 text-ink-500">
+                         <x-dynamic-component :component="'lucide-' . $item['icon']" class="h-4 w-4" />
+                     </span>
+                     {{ $item['label'] }}
+                     <x-lucide-corner-down-left class="ml-auto h-3.5 w-3.5 text-ink-300" />
+                 </a>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @php($items = \App\Support\Demo\DemoData::navItems())
+ 
+ <aside class="fixed inset-x-3 bottom-3 z-30 flex h-[76px] items-center gap-1 overflow-x-auto rounded-[1.75rem] bg-gradient-to-b from-navy-600 via-navy-700 to-navy-800 px-2 shadow-rail scrollbar-none lg:sticky lg:top-5 lg:h-[calc(100vh-2.5rem)] lg:w-[100px] lg:flex-col lg:items-center lg:gap-3 lg:overflow-visible lg:rounded-[2rem] lg:px-0 lg:py-5">
+ 
+     <div class="pointer-events-none absolute -right-16 -top-16 hidden h-44 w-44 rounded-full bg-brand-500/35 blur-3xl lg:block"></div>
+     <div class="pointer-events-none absolute -bottom-20 -left-12 hidden h-44 w-44 rounded-full bg-aqua-400/20 blur-3xl lg:block"></div>
+ 
+     <a href="{{ route('dashboard') }}" class="relative z-10 hidden shrink-0 lg:grid lg:h-14 lg:w-14 lg:place-items-center lg:rounded-2xl lg:bg-gradient-to-br lg:from-white lg:via-brand-100 lg:to-brand-400 lg:font-display lg:text-lg lg:font-extrabold lg:text-navy-800 lg:shadow-lift">
+         Af
+     </a>
+ 
+     <nav class="relative z-10 flex flex-1 items-center gap-1.5 scrollbar-none lg:mt-2 lg:w-full lg:flex-col lg:gap-2 lg:overflow-y-auto lg:px-2.5 lg:py-1">
+         @foreach ($items as $item)
+             @php($hasSubmenu = !empty($item['submenu']))
+             @php($active = $hasSubmenu
+                 ? (request()->routeIs($item['route']) || collect($item['submenu'])->contains(fn($s) => request()->routeIs($s['route'])))
+                 : request()->routeIs($item['route']))
+ 
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @php($notifications = \App\Support\Demo\DemoData::notifications()['items'])
+ 
+ <header class="flex flex-wrap items-center justify-between gap-3">
+     <div class="flex items-center gap-3">
+         <div class="grid h-11 w-11 place-items-center rounded-2xl bg-gradient-to-br from-navy-700 to-navy-500 text-white shadow-soft">
+             <x-lucide-factory class="h-5 w-5" />
+         </div>
+         <div>
+             <p class="font-display text-xl font-extrabold leading-none text-ink-900">
+                 ant<span class="gradient-text">fast</span>
+             </p>
+             <p class="mt-1 text-[11px] font-semibold uppercase tracking-wider text-ink-500">Profitability - Productivity - Perfection</p>
+         </div>
+     </div>
+ 
+     <div class="flex flex-1 items-center justify-end gap-2.5 sm:gap-3">
+         <button data-command-open type="button" class="glass flex h-11 w-full max-w-[200px] items-center gap-2.5 rounded-full px-4 text-sm text-ink-500 shadow-soft transition hover:border-brand-200 sm:max-w-xs lg:max-w-sm">
+             <x-lucide-search class="h-4 w-4" />
Removed / Before Commit

                                                
Added / After Commit
+ @props(['name', 'initials' => null])
+ 
+ @php
+     $initials = $initials ?? collect(explode(' ', $name))->map(fn ($p) => mb_substr($p, 0, 1))->take(2)->implode('');
+     $palettes = [
+         'from-brand-500 to-brand-300', 'from-aqua-500 to-aqua-300',
+         'from-amber-500 to-amber-300', 'from-navy-700 to-brand-500',
+     ];
+     $palette = $palettes[crc32($name) % count($palettes)];
+ @endphp
+ 
+ <span {{ $attributes->merge(['class' => "grid h-9 w-9 shrink-0 place-items-center rounded-full bg-gradient-to-br $palette text-[11px] font-extrabold text-white shadow-soft"]) }}>
+     {{ $initials }}
+ </span>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['variant' => 'ghost', 'icon' => null, 'href' => null])
+ 
+ @php
+     $base = 'inline-flex h-11 shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-full px-5 text-[13px] font-bold transition active:scale-[0.97]';
+     $styles = [
+         'primary' => 'shimmer-btn bg-gradient-to-r from-brand-500 to-brand-400 text-white shadow-glow hover:-translate-y-0.5',
+         'dark' => 'bg-navy-700 text-white shadow-soft hover:-translate-y-0.5',
+         'ghost' => 'border border-ink-200 bg-white text-ink-700 shadow-soft hover:-translate-y-0.5 hover:border-brand-200',
+     ][$variant] ?? '';
+     $tag = $href ? 'a' : 'button';
+ @endphp
+ 
+ <{{ $tag }} @if($href) href="{{ $href }}" @endif {{ $attributes->merge(['class' => "$base $styles"]) }}>
+     @if ($icon)
+         <x-dynamic-component :component="'lucide-' . $icon" class="h-4 w-4" />
+     @endif
+     {{ $slot }}
+ </{{ $tag }}>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['days', 'month' => null])
+ 
+ <div {{ $attributes->merge(['class' => 'grid grid-cols-7 gap-2']) }}>
+     @foreach (['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] as $label)
+         <div class="py-1 text-center text-[10.5px] font-extrabold uppercase text-ink-400">{{ $label }}</div>
+     @endforeach
+ 
+     @foreach ($days as $d)
+         @php
+             $state = $d['state'];
+             $cls = match ($state) {
+                 'active' => 'bg-gradient-to-br from-brand-500 to-brand-400 text-white shadow-glow',
+                 'busy' => 'bg-brand-50 text-brand-700',
+                 default => 'bg-ink-50 text-ink-600',
+             };
+         @endphp
+         <div class="flex min-h-[54px] flex-col items-center justify-center gap-0.5 rounded-2xl text-sm font-extrabold {{ $cls }}">
+             {{ $d['day'] }}
Removed / Before Commit

                                                
Added / After Commit
+ @props(['config', 'height' => '280px'])
+ 
+ <div {{ $attributes->merge(['class' => 'relative w-full']) }} style="height: {{ $height }}">
+     <canvas data-chart="{{ json_encode($config) }}"></canvas>
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['icon' => 'inbox', 'message' => 'Nothing here yet'])
+ 
+ <div {{ $attributes->merge(['class' => 'flex flex-col items-center justify-center gap-2 rounded-2xl border border-dashed border-ink-200 bg-ink-50/60 py-10 text-center']) }}>
+     <span class="grid h-11 w-11 place-items-center rounded-2xl bg-white text-ink-400 shadow-soft">
+         <x-dynamic-component :component="'lucide-' . $icon" class="h-5 w-5" />
+     </span>
+     <p class="text-sm font-bold text-ink-500">{{ $message }}</p>
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['title', 'subtitle' => null, 'status' => null])
+ 
+ <div {{ $attributes->merge(['class' => 'card-hover reveal flex flex-col gap-3 rounded-3xl border border-ink-100 bg-white p-4 shadow-soft']) }}>
+     <div class="flex items-start justify-between gap-3">
+         <div class="min-w-0">
+             <h3 class="truncate font-display text-[15px] font-extrabold text-ink-900">{{ $title }}</h3>
+             @if ($subtitle)
+                 <p class="mt-0.5 truncate text-xs font-semibold text-ink-500">{{ $subtitle }}</p>
+             @endif
+         </div>
+         @if ($status)
+             <x-ui.status-badge :label="$status" />
+         @endif
+     </div>
+ 
+     {{ $slot }}
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['label', 'value'])
+ 
+ <div {{ $attributes->merge(['class' => 'flex min-h-[52px] items-center justify-between gap-3 rounded-2xl border border-ink-100 bg-ink-50/60 px-4 py-2.5']) }}>
+     <span class="text-xs font-bold text-ink-500">{{ $label }}</span>
+     <strong class="text-right text-[13px] font-extrabold text-ink-900">{{ $value }}</strong>
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['icon', 'title', 'desc' => null])
+ 
+ <div {{ $attributes->merge(['class' => 'flex items-center gap-3 rounded-2xl border border-ink-100 bg-white p-3 transition hover:-translate-y-0.5 hover:border-brand-200 hover:shadow-soft']) }}>
+     <span class="grid h-10 w-10 shrink-0 place-items-center rounded-xl bg-brand-50 text-brand-600">
+         <x-dynamic-component :component="'lucide-' . $icon" class="h-4 w-4" />
+     </span>
+     <div class="min-w-0 flex-1">
+         <strong class="block text-[13px] font-bold text-ink-900">{{ $title }}</strong>
+         @if ($desc)
+             <p class="mt-0.5 truncate text-xs font-medium text-ink-500">{{ $desc }}</p>
+         @endif
+     </div>
+     @isset($trailing)
+         <div class="shrink-0">{{ $trailing }}</div>
+     @endisset
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['eyebrow' => null, 'title', 'subtitle' => null])
+ 
+ <div class="reveal mb-6 flex flex-wrap items-end justify-between gap-4">
+     <div>
+         @if ($eyebrow)
+             <p class="mb-1.5 flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider text-brand-500">
+                 <x-lucide-sparkle class="h-3.5 w-3.5" /> {{ $eyebrow }}
+             </p>
+         @endif
+         <h1 class="font-display text-[28px] font-extrabold leading-tight text-ink-900 sm:text-[32px]">{{ $title }}</h1>
+         @if ($subtitle)
+             <p class="mt-1.5 max-w-2xl text-sm font-medium text-ink-500">{{ $subtitle }}</p>
+         @endif
+     </div>
+ 
+     @isset($actions)
+         <div class="flex flex-wrap items-center gap-2.5">
+             {{ $actions }}
Removed / Before Commit

                                                
Added / After Commit
+ @props(['title' => null, 'subtitle' => null, 'dark' => false, 'tilt' => false])
+ 
+ @php
+     $base = $dark
+         ? 'noise relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-navy-700 via-navy-600 to-brand-800 text-white shadow-lift'
+         : 'relative overflow-hidden rounded-3xl border border-ink-100 bg-white shadow-soft';
+ @endphp
+ 
+ <div {{ $attributes->merge(['class' => "$base reveal p-5"]) }} @if($tilt) data-tilt @endif>
+     @if ($title)
+         <div class="mb-4 flex flex-wrap items-start justify-between gap-3">
+             <div>
+                 <h2 class="font-display text-[16px] font-extrabold leading-tight {{ $dark ? 'text-white' : 'text-ink-900' }}">{{ $title }}</h2>
+                 @if ($subtitle)
+                     <p class="mt-1 text-xs font-semibold {{ $dark ? 'text-white/60' : 'text-ink-500' }}">{{ $subtitle }}</p>
+                 @endif
+             </div>
+             @isset($actions)
Removed / Before Commit

                                                
Added / After Commit
+ @props(['value' => 0])
+ 
+ <div {{ $attributes->merge(['class' => 'h-2 w-full overflow-hidden rounded-full bg-ink-100']) }}>
+     <span class="block h-full rounded-full bg-gradient-to-r from-brand-500 via-brand-400 to-aqua-400 transition-all duration-700" style="width: {{ $value }}%"></span>
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['icons' => ['eye', 'pencil', 'route', 'check']])
+ 
+ <div {{ $attributes->merge(['class' => 'flex items-center justify-end gap-1.5']) }}>
+     @foreach ($icons as $icon)
+         <button type="button" class="grid h-8 w-8 place-items-center rounded-lg border border-ink-100 bg-white text-ink-500 shadow-soft transition hover:-translate-y-0.5 hover:border-brand-200 hover:text-brand-600">
+             <x-dynamic-component :component="'lucide-' . $icon" class="h-3.5 w-3.5" />
+         </button>
+     @endforeach
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['title', 'subtitle' => null])
+ 
+ <div>
+     <strong class="block text-[13px] font-bold text-ink-900">{{ $title }}</strong>
+     @if ($subtitle)
+         <span class="mt-0.5 block text-[11.5px] font-medium text-ink-400">{{ $subtitle }}</span>
+     @endif
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['label', 'value', 'icon' => 'activity', 'trend' => null, 'tone' => 'neutral', 'countup' => true])
+ 
+ @php
+     $trendColor = [
+         'up' => 'text-aqua-600',
+         'warn' => 'text-amber-600',
+         'bad' => 'text-rose-500',
+         'live' => 'text-brand-600',
+         'neutral' => 'text-ink-400',
+     ][$tone] ?? 'text-ink-400';
+ @endphp
+ 
+ <div {{ $attributes->merge(['class' => 'card-hover reveal group relative flex min-h-[128px] min-w-0 flex-col justify-between overflow-hidden rounded-2xl border border-ink-100 bg-white p-4 shadow-soft']) }}>
+     <span class="absolute inset-x-0 top-0 h-[3px] bg-gradient-to-r from-brand-500 via-brand-400 to-transparent"></span>
+ 
+     <div class="flex items-center justify-between gap-2">
+         <span class="text-[11px] font-bold text-ink-500">{{ $label }}</span>
+         <span class="grid h-9 w-9 shrink-0 place-items-center rounded-xl bg-brand-50 text-brand-600 transition group-hover:scale-110 group-hover:bg-brand-500 group-hover:text-white">
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @props(['label'])
+ 
+ @php
+     $variants = [
+         'Active' => 'success', 'Available' => 'success', 'Completed' => 'success', 'Delivered' => 'success', 'Paid' => 'success', 'Passed' => 'success', 'Pass' => 'success', 'Approved' => 'success', 'Working' => 'success', 'Online' => 'success', 'Clear' => 'success',
+         'Scheduled' => 'info', 'Under Review' => 'info', 'Out for Delivery' => 'info', 'Track' => 'info', 'Live' => 'info', 'Production' => 'info', 'Assigned' => 'info', 'Idle' => 'info', 'Mixing' => 'info', 'Quality Check' => 'info', 'Ready for Loading' => 'info', 'Ready for Dispatch' => 'info',
+         'New' => 'warn', 'Pending' => 'warn', 'Queued' => 'warn', 'Batching' => 'warn', 'QC Hold' => 'warn', 'Wallet Hold' => 'warn', 'Hold' => 'warn', 'On Hold' => 'warn', 'Loading' => 'warn', 'Limited' => 'warn', 'In Progress' => 'warn', 'Need Resubmission' => 'warn', 'Traffic' => 'warn', 'Loading Queue' => 'warn', 'Maintenance' => 'warn', 'Outstanding' => 'warn',
+         'Failed' => 'bad', 'Cancelled' => 'bad', 'Needs Assignment' => 'bad', 'Rejected' => 'bad', 'Blocked' => 'bad', 'Overdue' => 'bad', 'Offline' => 'bad',
+     ];
+ 
+     $variant = $variants[$label] ?? 'neutral';
+ 
+     $styles = [
+         'success' => 'bg-aqua-50 text-aqua-700',
+         'info' => 'bg-brand-50 text-brand-700',
+         'warn' => 'bg-amber-50 text-amber-700',
+         'bad' => 'bg-rose-50 text-rose-600',
+         'neutral' => 'bg-ink-100 text-ink-600',
Removed / Before Commit

                                                
Added / After Commit
+ @props([])
+ 
+ <div {{ $attributes->merge(['class' => 'reveal min-w-0 overflow-hidden rounded-3xl border border-ink-100 bg-white shadow-soft']) }}>
+     <div class="overflow-x-auto scrollbar-thin">
+         <table class="w-full min-w-[760px] border-collapse">
+             <thead>
+                 <tr class="bg-gradient-to-b from-ink-50 to-white text-left text-[10.5px] font-extrabold uppercase tracking-wider text-ink-500">
+                     {{ $head }}
+                 </tr>
+             </thead>
+             <tbody class="divide-y divide-ink-100">
+                 {{ $slot }}
+             </tbody>
+         </table>
+     </div>
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props(['items', 'active' => null])
+ 
+ @php($active = $active ?? $items[0])
+ 
+ <div {{ $attributes->merge(['class' => 'reveal mb-5 flex flex-wrap gap-2']) }}>
+     @foreach ($items as $item)
+         <button
+             type="button"
+             class="{{ $item === $active
+                 ? 'bg-gradient-to-r from-brand-500 to-brand-400 text-white shadow-glow'
+                 : 'border border-ink-200 bg-white text-ink-600 hover:border-brand-200 hover:text-brand-600' }} rounded-full px-4 py-2 text-xs font-bold transition"
+         >
+             {{ $item }}
+         </button>
+     @endforeach
+ </div>
Removed / Before Commit

                                                
Added / After Commit
+ @props([])
+ 
+ <td {{ $attributes->merge(['class' => 'px-5 py-3.5 text-[13px] font-semibold text-ink-700']) }}>{{ $slot }}</td>
Removed / Before Commit

                                                
Added / After Commit
+ @props([])
+ 
+ <th {{ $attributes->merge(['class' => 'whitespace-nowrap px-5 py-3.5']) }}>{{ $slot }}</th>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="B2B Company Admin Portal">
+     <x-ui.page-header eyebrow="B2B Company Admin Portal" title="Block Group Dashboard" subtitle="A simpler company ERP dashboard for projects, employees, orders, invoices, payments, reports, profile, and settings.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="download">Export</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Create Order</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 xl:grid-cols-[220px_1fr]">
+         <x-ui.panel title="Company Portal" subtitle="Navigation">
+             <div class="space-y-1.5">
+                 @foreach ($sidebar as $item)
+                     <button type="button" class="flex w-full items-center justify-between rounded-2xl px-3 py-2 text-left text-xs font-extrabold {{ $loop->first ? 'bg-brand-50 text-brand-700' : 'text-ink-600 hover:bg-ink-50' }}">
+                         <span>{{ $item }}</span>
+                         @if ($loop->first)<x-lucide-chevron-right class="h-3.5 w-3.5" />@endif
+                     </button>
+                 @endforeach
+             </div>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Company Management">
+     <x-ui.page-header eyebrow="B2B Company Management" title="Companies" subtitle="Trade license, VAT, credit limits, sales ownership, verification, outstanding balance, and company detail tabs.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="file-down">Export</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Add Company</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.tabs :items="$tabs" />
+ 
+     <x-ui.table>
+         <x-slot:head>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app :title="$name . ' — Customer Profile'">
+     @php
+         $sTone = match($status) {
+             'Active'       => ['stripe' => 'bg-aqua-500',  'badge' => 'bg-aqua-50 text-aqua-700 ring-aqua-200',   'text' => 'text-aqua-600'],
+             'Blocked'      => ['stripe' => 'bg-rose-500',  'badge' => 'bg-rose-50 text-rose-700 ring-rose-200',   'text' => 'text-rose-600'],
+             'Under Review' => ['stripe' => 'bg-amber-400', 'badge' => 'bg-amber-50 text-amber-700 ring-amber-200','text' => 'text-amber-600'],
+             default        => ['stripe' => 'bg-ink-300',   'badge' => 'bg-ink-50 text-ink-600 ring-ink-200',      'text' => 'text-ink-500'],
+         };
+ 
+         $walletPct = $wallet_raw > 0 ? min(100, round(($wallet_raw / 50000) * 100)) : 0;
+ 
+         $kycStatuses = collect($kyc)->pluck('status');
+         $kycOverall  = $kycStatuses->contains('Rejected')
+             ? 'Action Required'
+             : ($kycStatuses->every(fn ($s) => $s === 'Verified') ? 'Fully Verified' : 'Pending Review');
+         $kycTone = match($kycOverall) {
+             'Fully Verified'  => 'bg-aqua-50 text-aqua-700 ring-aqua-200',
+             'Action Required' => 'bg-rose-50 text-rose-700 ring-rose-200',
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Customer Management">
+     <x-ui.page-header eyebrow="B2C Customers" title="Customer Management" subtitle="Customer profiles, mobile numbers, email, wallet balances, status, and order history.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="sliders-horizontal">Filter</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Add Customer</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.table>
+         <x-slot:head>
+             <x-ui.th>Customer Name</x-ui.th>
+             <x-ui.th>Mobile</x-ui.th>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Dashboard">
+     <x-ui.page-header eyebrow="Super Admin Portal" title="Dashboard" subtitle="Live Antfast control room for orders, companies, production, dispatch, finance, and verification.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="download">Export</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">New Order</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6">
+         @foreach ($kpis as $kpi)
+             <x-ui.stat-card :label="$kpi['label']" :value="$kpi['value']" :icon="$kpi['icon']" :trend="$kpi['trend']" :tone="$kpi['tone']" />
+         @endforeach
+     </div>
+ 
+     <div class="grid grid-cols-1 gap-4 xl:grid-cols-[1.4fr_.9fr_.9fr]">
+         <x-ui.panel title="Monthly Revenue" subtitle="Revenue and order trend">
+             <x-ui.chart :config="$ordersRevenueChart" height="300px" />
+         </x-ui.panel>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Deliveries">
+     <x-ui.page-header eyebrow="Live ops" title="Delivery Management" subtitle="Today's deliveries, live status, assignments, and timeline.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="calendar-days">Calendar</x-ui.button>
+             <x-ui.button variant="primary" icon="route">Optimize Routes</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 lg:grid-cols-[1.6fr_1fr]">
+         <div class="grid grid-cols-1 gap-4 sm:grid-cols-2">
+             @foreach ($cards as $card)
+                 <x-ui.feature-card :title="$card['title']" :subtitle="$card['sub']" :status="$card['status']">
+                     <x-ui.progress-bar :value="$card['progress']" />
+                     <p class="text-right text-xs font-extrabold text-ink-400">{{ $card['progress'] }}% complete</p>
+                 </x-ui.feature-card>
+             @endforeach
+         </div>
+ 
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Dispatch Management">
+     <x-ui.page-header eyebrow="Dispatch Management" title="Dispatch" subtitle="Truck assignment, driver assignment, route planning, dispatch calendar, and live tracking.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="calendar-days">Calendar</x-ui.button>
+             <x-ui.button variant="primary" icon="route">Optimize Routes</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-5">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.tabs :items="$screens" />
+ 
+     <div class="grid grid-cols-1 gap-4 xl:grid-cols-[1.3fr_.7fr]">
+         <x-ui.table>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Drivers">
+     <x-ui.page-header eyebrow="Fleet crew" title="Drivers" subtitle="Driver details, assigned deliveries, status, and contact.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="plus">Add Driver</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <x-ui.table>
+         <x-slot:head>
+             <x-ui.th>Driver</x-ui.th>
+             <x-ui.th>Assigned Deliveries</x-ui.th>
+             <x-ui.th>Status</x-ui.th>
+             <x-ui.th>Contact</x-ui.th>
+             <x-ui.th>Current Truck</x-ui.th>
+             <x-ui.th class="text-right">Actions</x-ui.th>
+         </x-slot:head>
+         @foreach ($rows as $row)
+             <tr class="transition hover:bg-brand-50/40">
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Finance">
+     <x-ui.page-header eyebrow="Finance" title="Finance" subtitle="Invoices, payments, outstanding balances, credit notes, wallet, credit limit, and refunds.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="file-down">Statement</x-ui.button>
+             <x-ui.button variant="primary" icon="download">Export</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.tabs :items="$tabs" />
+ 
+     <div class="grid grid-cols-1 gap-4 xl:grid-cols-[1.3fr_.7fr]">
+         <x-ui.table>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Invoices">
+     <x-ui.page-header eyebrow="Billing" title="Invoices" subtitle="Generate invoices, VAT invoices, receipts, PDF downloads, and email dispatch.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="mail">Email Batch</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Generate Invoice</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <x-ui.table>
+         <x-slot:head>
+             <x-ui.th>Invoice</x-ui.th>
+             <x-ui.th>Customer</x-ui.th>
+             <x-ui.th>Type</x-ui.th>
+             <x-ui.th>Amount</x-ui.th>
+             <x-ui.th>Status</x-ui.th>
+             <x-ui.th class="text-right">Actions</x-ui.th>
+         </x-slot:head>
+         @foreach ($rows as $row)
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Alerts">
+     <x-ui.page-header eyebrow="Inbox" title="Notifications" subtitle="New orders, order updates, delivery alerts, and payment alerts.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="send">Send Notification</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <x-ui.panel>
+         <div class="space-y-2.5">
+             @foreach ($items as $n)
+                 <x-ui.list-item :icon="$n['icon']" :title="$n['title']" :desc="$n['desc']">
+                     <x-slot:trailing>
+                         <span class="rounded-full bg-brand-50 px-3 py-1 text-[11px] font-bold text-brand-600">{{ $n['tag'] }}</span>
+                     </x-slot:trailing>
+                 </x-ui.list-item>
+             @endforeach
+         </div>
+     </x-ui.panel>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Orders">
+     <x-ui.page-header eyebrow="Order Management" title="Orders" subtitle="Order lifecycle from creation through approval, plant assignment, loading, delivery, invoice, and payment.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="sliders-horizontal">Filters</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Create Admin Order</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($summary as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.tabs :items="$tabs" />
+ 
+     <x-ui.table>
+         <x-slot:head>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Payments">
+     <x-ui.page-header eyebrow="Cash flow" title="Payments" subtitle="Pending, paid, refunded, and failed payments at a glance.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="download">Export Payments</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 sm:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <x-ui.table>
+         <x-slot:head>
+             <x-ui.th>Payment ID</x-ui.th>
+             <x-ui.th>Customer</x-ui.th>
+             <x-ui.th>Amount</x-ui.th>
Removed / Before Commit

                                                
Added / After Commit
+ @php
+     $statusTone = [
+         'Working'       => ['badge' => 'bg-aqua-50 text-aqua-700 ring-aqua-100', 'dot' => 'bg-aqua-500', 'bar' => 'from-aqua-400 via-brand-400 to-brand-500', 'soft' => 'bg-aqua-50 text-aqua-700'],
+         'Loading Queue' => ['badge' => 'bg-amber-50 text-amber-700 ring-amber-100', 'dot' => 'bg-amber-500', 'bar' => 'from-amber-400 via-brand-400 to-brand-500', 'soft' => 'bg-amber-50 text-amber-700'],
+         'Maintenance'   => ['badge' => 'bg-amber-50 text-amber-700 ring-amber-100', 'dot' => 'bg-amber-500', 'bar' => 'from-amber-400 via-amber-300 to-brand-400', 'soft' => 'bg-amber-50 text-amber-700'],
+         'Idle'          => ['badge' => 'bg-brand-50 text-brand-700 ring-brand-100', 'dot' => 'bg-brand-500', 'bar' => 'from-brand-400 via-brand-300 to-aqua-300', 'soft' => 'bg-brand-50 text-brand-700'],
+         'Offline'       => ['badge' => 'bg-rose-50 text-rose-600 ring-rose-100', 'dot' => 'bg-rose-500', 'bar' => 'from-rose-500 via-rose-400 to-amber-300', 'soft' => 'bg-rose-50 text-rose-600'],
+     ];
+     $sTone = $statusTone[$plant['status']] ?? ['badge' => 'bg-ink-100 text-ink-600 ring-ink-200', 'dot' => 'bg-ink-400', 'bar' => 'from-ink-300 to-ink-200', 'soft' => 'bg-ink-100 text-ink-600'];
+ 
+     $connectionTone = $plant['connection'] === 'Online'
+         ? ['badge' => 'bg-aqua-50 text-aqua-700 ring-aqua-100', 'dot' => 'bg-aqua-500']
+         : ['badge' => 'bg-rose-50 text-rose-600 ring-rose-100', 'dot' => 'bg-rose-500'];
+ 
+     $utilPct = (int) $plant['current_utilization'];
+     $utilTone = $utilPct > 85 ? 'text-amber-600' : ($utilPct > 0 ? 'text-brand-600' : 'text-rose-500');
+     $utilBar = $utilPct > 85 ? 'from-amber-400 to-amber-500' : ($utilPct > 0 ? 'from-brand-500 via-brand-400 to-aqua-400' : 'from-rose-400 to-rose-300');
+ 
Removed / Before Commit

                                                
Added / After Commit
+ @php
+     $statusDefs = [
+         'Working'       => ['badge' => 'text-aqua-700 bg-aqua-50 ring-aqua-100',   'dot' => 'bg-aqua-500',   'strip' => 'bg-aqua-500',   'bar' => 'bg-aqua-400'],
+         'Loading Queue' => ['badge' => 'text-amber-700 bg-amber-50 ring-amber-100', 'dot' => 'bg-amber-500',  'strip' => 'bg-amber-400',  'bar' => 'bg-amber-400'],
+         'Maintenance'   => ['badge' => 'text-amber-700 bg-amber-50 ring-amber-100', 'dot' => 'bg-amber-400',  'strip' => 'bg-amber-300',  'bar' => 'bg-amber-300'],
+         'Idle'          => ['badge' => 'text-brand-700 bg-brand-50 ring-brand-100', 'dot' => 'bg-brand-400',  'strip' => 'bg-brand-400',  'bar' => 'bg-brand-300'],
+         'Offline'       => ['badge' => 'text-rose-600 bg-rose-50 ring-rose-100',    'dot' => 'bg-rose-500',   'strip' => 'bg-rose-500',   'bar' => 'bg-rose-400'],
+     ];
+ 
+     $statusCounts  = collect($rows)->groupBy('status')->map->count();
+     $onlineCount   = collect($rows)->where('connection', 'Online')->count();
+     $offlineCount  = collect($rows)->where('connection', 'Offline')->count();
+     $totalPlants   = count($rows);
+     $totalCapacity = collect($rows)->sum('capacity');
+     $totalOrders   = collect($rows)->sum('active_orders');
+     $todayOrders   = collect($rows)->sum('today_active_orders');
+ @endphp
+ 
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ @php
+     $capacityFilters = [
+         ['value' => 'lt1000', 'label' => 'Under 1,000'],
+         ['value' => '1000-1199', 'label' => '1,000-1,199'],
+         ['value' => '1200-1499', 'label' => '1,200-1,499'],
+         ['value' => 'gte1500', 'label' => '1,500+'],
+     ];
+ @endphp
+ 
+ <x-layout.app title="Plant Management">
+     <x-ui.page-header eyebrow="Plant Management" title="Plants" subtitle="Enterprise plant master data, capacity coverage, live order load, site availability, and operating status.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="file-down" data-export="csv" form="plants-table-form">Export</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Add Plant</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Pricing Engine">
+     <x-ui.page-header eyebrow="Pricing Engine" title="Pricing" subtitle="Retail, corporate, project, and special contract pricing with company-specific price lists.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="upload">Import</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">New Price List</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <div class="mb-4 grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-4">
+         @foreach ($tiers as $tier)
+             <x-ui.feature-card :title="$tier['title']" :subtitle="$tier['desc']" :status="$tier['status']">
+                 <x-ui.button variant="ghost" icon="settings">Configure</x-ui.button>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Products">
+     <x-ui.page-header eyebrow="Product Management" title="Products" subtitle="Concrete mixes, cement, pump services, additional charges, delivery charges, and availability.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="upload">Import Pricing</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Add Product</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 flex flex-wrap gap-2">
+         @foreach ($categories as $category)
+             <span class="rounded-full border border-ink-200 bg-white px-4 py-2 text-xs font-bold text-ink-600 shadow-soft">{{ $category }}</span>
+         @endforeach
+     </div>
+ 
+     <div class="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-3">
+         @foreach ($cards as $card)
+             <x-ui.feature-card :title="$card['name']" :subtitle="$card['category'] . ' - ' . $card['sub']" :status="$card['status']">
+                 <p class="font-display text-xl font-extrabold text-ink-900">{{ $card['price'] }}</p>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Project Management">
+     <x-ui.page-header eyebrow="Project Management" title="Projects" subtitle="Company projects, project managers, locations, delivery sites, orders, and verification status.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="map-pin">Map View</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">New Project</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <div class="mb-4 grid grid-cols-1 gap-4 lg:grid-cols-[.8fr_1.2fr]">
+         <x-ui.panel title="Project Hierarchy" subtitle="Company to project to tower/site">
+             <div class="space-y-2.5">
+                 @foreach ($hierarchy as $item)
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Quality Control">
+     <x-ui.page-header eyebrow="Assurance" title="Quality Control" subtitle="Batching check, loading verification, delivery verification, and signatures.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="plus">New QC Report</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 lg:grid-cols-[1.6fr_1fr]">
+         <div class="grid grid-cols-1 gap-4 sm:grid-cols-2">
+             @foreach ($cards as $card)
+                 <x-ui.feature-card :title="$card['title']" :subtitle="$card['desc']" :status="$card['status']">
+                     <x-ui.progress-bar :value="$card['progress']" />
+                     <p class="text-right text-xs font-extrabold text-ink-400">{{ $card['progress'] }}% verified</p>
+                 </x-ui.feature-card>
+             @endforeach
+         </div>
+ 
+         <x-ui.feature-card :title="$officer['name']" :subtitle="$officer['role']">
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Reports">
+     <x-ui.page-header eyebrow="Reports" title="Reports" subtitle="Sales, revenue, projects, companies, orders, plants, drivers, and dispatch reporting.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="file-down">PDF</x-ui.button>
+             <x-ui.button variant="primary" icon="download">Export</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-6">
+         @foreach ($stats as $s)
+             <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+         @endforeach
+     </div>
+ 
+     <div class="grid grid-cols-1 gap-4 xl:grid-cols-[1.2fr_.8fr]">
+         <x-ui.panel title="Revenue and Deliveries" subtitle="Monthly performance">
+             <x-ui.chart :config="$chart" height="320px" />
+         </x-ui.panel>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Roles & Permissions">
+     <x-ui.page-header eyebrow="Roles & Permissions" title="Roles" subtitle="Super Admin, Operations, Sales, Dispatch, Finance, Plant Manager, Warehouse, and Support access control.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="copy">Clone Role</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">New Role</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4">
+         @foreach ($roles as $role)
+             <x-ui.feature-card :title="$role['name']" :subtitle="$role['scope']" :status="$role['status']">
+                 <x-ui.field label="Users" :value="$role['users']" />
+             </x-ui.feature-card>
+         @endforeach
+     </div>
+ 
+     <x-ui.table>
+         <x-slot:head>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Settings">
+     <x-ui.page-header eyebrow="Configuration" title="Settings" subtitle="Company settings, app settings, notification templates, taxes, delivery charges, and service areas.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="check">Save Changes</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3">
+         @foreach ($groups as $group)
+             <x-ui.panel :title="$group['title']">
+                 <div class="space-y-2.5">
+                     @foreach ($group['fields'] as $f)
+                         <x-ui.field :label="$f['label']" :value="$f['value']" />
+                     @endforeach
+                 </div>
+             </x-ui.panel>
+         @endforeach
+     </div>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Trucks">
+     <x-ui.page-header eyebrow="Fleet" title="Delivery Trucks" subtitle="Fleet availability, assigned drivers, capacity, and current order.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="plus">Add Truck</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3">
+         @foreach ($cards as $card)
+             <x-ui.feature-card :title="$card['code']" :subtitle="$card['sub']" :status="$card['status']">
+                 <x-ui.field label="Current Order" :value="$card['order']" />
+                 <x-ui.progress-bar :value="$card['progress']" />
+                 <p class="text-right text-xs font-extrabold text-ink-400">{{ $card['progress'] }}% load capacity</p>
+             </x-ui.feature-card>
+         @endforeach
+     </div>
+ </x-layout.app>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Users">
+     <x-ui.page-header eyebrow="Access control" title="Users" subtitle="Admin users, roles, permissions, and operational access.">
+         <x-slot:actions>
+             <x-ui.button variant="primary" icon="user-plus">Add User</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3">
+         @foreach ($cards as $card)
+             <x-ui.feature-card :title="$card['name']" :subtitle="$card['sub']" :status="$card['status']">
+                 <div class="flex items-center gap-3">
+                     <x-ui.avatar :name="$card['name']" />
+                     <div class="flex-1">
+                         <x-ui.progress-bar :value="$card['progress']" />
+                     </div>
+                     <span class="text-xs font-extrabold text-ink-500">{{ $card['progress'] }}%</span>
+                 </div>
+             </x-ui.feature-card>
Removed / Before Commit
- \ No newline at end of file
Added / After Commit
+ <x-layout.app title="Verification">
+     <x-ui.page-header eyebrow="Verification Module" title="Verification" subtitle="Company document queue for trade license, VAT, approval, rejection, and resubmission comments.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="message-square">Comment</x-ui.button>
+             <x-ui.button variant="primary" icon="check">Approve Selected</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-2 gap-3 lg:grid-cols-4">
+         @foreach ($cards as $card)
+             <x-ui.feature-card :title="$card['title']" subtitle="Verification queue" :status="$card['status']">
+                 <div class="flex items-center justify-between">
+                     <strong class="font-display text-3xl font-extrabold text-ink-900">{{ $card['value'] }}</strong>
+                     <span class="grid h-11 w-11 place-items-center rounded-2xl bg-brand-50 text-brand-600">
+                         <x-dynamic-component :component="'lucide-' . $card['icon']" class="h-5 w-5" />
+                     </span>
+                 </div>
+             </x-ui.feature-card>
Removed / Before Commit

                                                
Added / After Commit
+ <x-layout.app title="Wallet">
+     <x-ui.page-header eyebrow="Treasury" title="Wallet" subtitle="Deposits, reserved amount, spends, refunds, and wallet history.">
+         <x-slot:actions>
+             <x-ui.button variant="ghost" icon="file-text">Statement</x-ui.button>
+             <x-ui.button variant="primary" icon="plus">Manual Deposit</x-ui.button>
+         </x-slot:actions>
+     </x-ui.page-header>
+ 
+     <div class="mb-5 grid grid-cols-1 gap-4 lg:grid-cols-[1.1fr_3fr]">
+         <div class="noise relative flex min-h-[170px] flex-col justify-between overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-navy-700 via-brand-800 to-brand-500 p-5 text-white shadow-lift">
+             <span class="text-xs font-bold text-white/70">Total Wallet Balance</span>
+             <strong class="font-display text-[30px] font-extrabold leading-none">{{ $balance }}</strong>
+             <span class="text-xs font-semibold text-white/60">Available across active customers</span>
+         </div>
+         <div class="grid grid-cols-2 gap-3 sm:grid-cols-4">
+             @foreach ($stats as $s)
+                 <x-ui.stat-card :label="$s['label']" :value="$s['value']" :icon="$s['icon']" :trend="$s['trend']" :tone="$s['tone']" />
+             @endforeach
Removed / Before Commit

                                                
Added / After Commit
+ <!DOCTYPE html>
+ <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
+     <head>
+         <meta charset="utf-8">
+         <meta name="viewport" content="width=device-width, initial-scale=1">
+ 
+         <title>{{ config('app.name', 'Laravel') }}</title>
+ 
+         <!-- Fonts -->
+         <link rel="preconnect" href="https://fonts.bunny.net">
+         <link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600" rel="stylesheet" />
+ 
+         <!-- Styles / Scripts -->
+         @if (file_exists(public_path('build/manifest.json')) || file_exists(public_path('hot')))
+             @vite(['resources/css/app.css', 'resources/js/app.js'])
+         @else
+             <style>
+                 /*! tailwindcss v4.0.7 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:'Instrument Sans',ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(.971 .013 17.38);--color-red-100:oklch(.936 .032 17.717);--color-red-200:oklch(.885 .062 18.334);--color-red-300:oklch(.808 .114 19.571);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-800:oklch(.444 .177 26.899);--color-red-900:oklch(.396 .141 25.723);--color-red-950:oklch(.258 .092 26.042);--color-orange-50:oklch(.98 .016 73.684);--color-orange-100:oklch(.954 .038 75.164);--color-orange-200:oklch(.901 .076 70.697);--color-orange-300:oklch(.837 .128 66.29);--color-orange-400:oklch(.75 .183 55.934);--color-orange-500:oklch(.705 .213 47.604);--color-orange-600:oklch(.646 .222 41.116);--color-orange-700:oklch(.553 .195 38.402);--color-orange-800:oklch(.47 .157 37.304);--color-orange-900:oklch(.408 .123 38.172);--color-orange-950:oklch(.266 .079 36.259);--color-amber-50:oklch(.987 .022 95.277);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-300:oklch(.879 .169 91.605);--color-amber-400:oklch(.828 .189 84.429);--color-amber-500:oklch(.769 .188 70.08);--color-amber-600:oklch(.666 .179 58.318);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-amber-950:oklch(.279 .077 45.635);--color-yellow-50:oklch(.987 .026 102.212);--color-yellow-100:oklch(.973 .071 103.193);--color-yellow-200:oklch(.945 .129 101.54);--color-yellow-300:oklch(.905 .182 98.111);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-500:oklch(.795 .184 86.047);--color-yellow-600:oklch(.681 .162 75.834);--color-yellow-700:oklch(.554 .135 66.442);--color-yellow-800:oklch(.476 .114 61.907);--color-yellow-900:oklch(.421 .095 57.708);--color-yellow-950:oklch(.286 .066 53.813);--color-lime-50:oklch(.986 .031 120.757);--color-lime-100:oklch(.967 .067 122.328);--color-lime-200:oklch(.938 .127 124.321);--color-lime-300:oklch(.897 .196 126.665);--color-lime-400:oklch(.841 .238 128.85);--color-lime-500:oklch(.768 .233 130.85);--color-lime-600:oklch(.648 .2 131.684);--color-lime-700:oklch(.532 .157 131.589);--color-lime-800:oklch(.453 .124 130.933);--color-lime-900:oklch(.405 .101 131.063);--color-lime-950:oklch(.274 .072 132.109);--color-green-50:oklch(.982 .018 155.826);--color-green-100:oklch(.962 .044 156.743);--color-green-200:oklch(.925 .084 155.995);--color-green-300:oklch(.871 .15 154.449);--color-green-400:oklch(.792 .209 151.711);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-green-700:oklch(.527 .154 150.069);--color-green-800:oklch(.448 .119 151.328);--color-green-900:oklch(.393 .095 152.535);--color-green-950:oklch(.266 .065 152.934);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-100:oklch(.95 .052 163.051);--color-emerald-200:oklch(.905 .093 164.15);--color-emerald-300:oklch(.845 .143 164.978);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-500:oklch(.696 .17 162.48);--color-emerald-600:oklch(.596 .145 163.225);--color-emerald-700:oklch(.508 .118 165.612);--color-emerald-800:oklch(.432 .095 166.913);--color-emerald-900:oklch(.378 .077 168.94);--color-emerald-950:oklch(.262 .051 172.552);--color-teal-50:oklch(.984 .014 180.72);--color-teal-100:oklch(.953 .051 180.801);--color-teal-200:oklch(.91 .096 180.426);--color-teal-300:oklch(.855 .138 181.071);--color-teal-400:oklch(.777 .152 181.912);--color-teal-500:oklch(.704 .14 182.503);--color-teal-600:oklch(.6 .118 184.704);--color-teal-700:oklch(.511 .096 186.391);--color-teal-800:oklch(.437 .078 188.216);--color-teal-900:oklch(.386 .063 188.416);--color-teal-950:oklch(.277 .046 192.524);--color-cyan-50:oklch(.984 .019 200.873);--color-cyan-100:oklch(.956 .045 203.388);--color-cyan-200:oklch(.917 .08 205.041);--color-cyan-300:oklch(.865 .127 207.078);--color-cyan-400:oklch(.789 .154 211.53);--color-cyan-500:oklch(.715 .143 215.221);--color-cyan-600:oklch(.609 .126 221.723);--color-cyan-700:oklch(.52 .105 223.128);--color-cyan-800:oklch(.45 .085 224.283);--color-cyan-900:oklch(.398 .07 227.392);--color-cyan-950:oklch(.302 .056 229.695);--color-sky-50:oklch(.977 .013 236.62);--color-sky-100:oklch(.951 .026 236.824);--color-sky-200:oklch(.901 .058 230.902);--color-sky-300:oklch(.828 .111 230.318);--color-sky-400:oklch(.746 .16 232.661);--color-sky-500:oklch(.685 .169 237.323);--color-sky-600:oklch(.588 .158 241.966);--color-sky-700:oklch(.5 .134 242.749);--color-sky-800:oklch(.443 .11 240.79);--color-sky-900:oklch(.391 .09 240.876);--color-sky-950:oklch(.293 .066 243.157);--color-blue-50:oklch(.97 .014 254.604);--color-blue-100:oklch(.932 .032 255.585);--color-blue-200:oklch(.882 .059 254.128);--color-blue-300:oklch(.809 .105 251.813);--color-blue-400:oklch(.707 .165 254.624);--color-blue-500:oklch(.623 .214 259.815);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-blue-800:oklch(.424 .199 265.638);--color-blue-900:oklch(.379 .146 265.522);--color-blue-950:oklch(.282 .091 267.935);--color-indigo-50:oklch(.962 .018 272.314);--color-indigo-100:oklch(.93 .034 272.788);--color-indigo-200:oklch(.87 .065 274.039);--color-indigo-300:oklch(.785 .115 274.713);--color-indigo-400:oklch(.673 .182 276.935);--color-indigo-500:oklch(.585 .233 277.117);--color-indigo-600:oklch(.511 .262 276.966);--color-indigo-700:oklch(.457 .24 277.023);--color-indigo-800:oklch(.398 .195 277.366);--color-indigo-900:oklch(.359 .144 278.697);--color-indigo-950:oklch(.257 .09 281.288);--color-violet-50:oklch(.969 .016 293.756);--color-violet-100:oklch(.943 .029 294.588);--color-violet-200:oklch(.894 .057 293.283);--color-violet-300:oklch(.811 .111 293.571);--color-violet-400:oklch(.702 .183 293.541);--color-violet-500:oklch(.606 .25 292.717);--color-violet-600:oklch(.541 .281 293.009);--color-violet-700:oklch(.491 .27 292.581);--color-violet-800:oklch(.432 .232 292.759);--color-violet-900:oklch(.38 .189 293.745);--color-violet-950:oklch(.283 .141 291.089);--color-purple-50:oklch(.977 .014 308.299);--color-purple-100:oklch(.946 .033 307.174);--color-purple-200:oklch(.902 .063 306.703);--color-purple-300:oklch(.827 .119 306.383);--color-purple-400:oklch(.714 .203 305.504);--color-purple-500:oklch(.627 .265 303.9);--color-purple-600:oklch(.558 .288 302.321);--color-purple-700:oklch(.496 .265 301.924);--color-purple-800:oklch(.438 .218 303.724);--color-purple-900:oklch(.381 .176 304.987);--color-purple-950:oklch(.291 .149 302.717);--color-fuchsia-50:oklch(.977 .017 320.058);--color-fuchsia-100:oklch(.952 .037 318.852);--color-fuchsia-200:oklch(.903 .076 319.62);--color-fuchsia-300:oklch(.833 .145 321.434);--color-fuchsia-400:oklch(.74 .238 322.16);--color-fuchsia-500:oklch(.667 .295 322.15);--color-fuchsia-600:oklch(.591 .293 322.896);--color-fuchsia-700:oklch(.518 .253 323.949);--color-fuchsia-800:oklch(.452 .211 324.591);--color-fuchsia-900:oklch(.401 .17 325.612);--color-fuchsia-950:oklch(.293 .136 325.661);--color-pink-50:oklch(.971 .014 343.198);--color-pink-100:oklch(.948 .028 342.258);--color-pink-200:oklch(.899 .061 343.231);--color-pink-300:oklch(.823 .12 346.018);--color-pink-400:oklch(.718 .202 349.761);--color-pink-500:oklch(.656 .241 354.308);--color-pink-600:oklch(.592 .249 .584);--color-pink-700:oklch(.525 .223 3.958);--color-pink-800:oklch(.459 .187 3.815);--color-pink-900:oklch(.408 .153 2.432);--color-pink-950:oklch(.284 .109 3.907);--color-rose-50:oklch(.969 .015 12.422);--color-rose-100:oklch(.941 .03 12.58);--color-rose-200:oklch(.892 .058 10.001);--color-rose-300:oklch(.81 .117 11.638);--color-rose-400:oklch(.712 .194 13.428);--color-rose-500:oklch(.645 .246 16.439);--color-rose-600:oklch(.586 .253 17.585);--color-rose-700:oklch(.514 .222 16.935);--color-rose-800:oklch(.455 .188 13.697);--color-rose-900:oklch(.41 .159 10.272);--color-rose-950:oklch(.271 .105 12.094);--color-slate-50:oklch(.984 .003 247.858);--color-slate-100:oklch(.968 .007 247.896);--color-slate-200:oklch(.929 .013 255.508);--color-slate-300:oklch(.869 .022 252.894);--color-slate-400:oklch(.704 .04 256.788);--color-slate-500:oklch(.554 .046 257.417);--color-slate-600:oklch(.446 .043 257.281);--color-slate-700:oklch(.372 .044 257.287);--color-slate-800:oklch(.279 .041 260.031);--color-slate-900:oklch(.208 .042 265.755);--color-slate-950:oklch(.129 .042 264.695);--color-gray-50:oklch(.985 .002 247.839);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-500:oklch(.551 .027 264.364);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-gray-950:oklch(.13 .028 261.692);--color-zinc-50:oklch(.985 0 0);--color-zinc-100:oklch(.967 .001 286.375);--color-zinc-200:oklch(.92 .004 286.32);--color-zinc-300:oklch(.871 .006 286.286);--color-zinc-400:oklch(.705 .015 286.067);--color-zinc-500:oklch(.552 .016 285.938);--color-zinc-600:oklch(.442 .017 285.786);--color-zinc-700:oklch(.37 .013 285.805);--color-zinc-800:oklch(.274 .006 286.033);--color-zinc-900:oklch(.21 .006 285.885);--color-zinc-950:oklch(.141 .005 285.823);--color-neutral-50:oklch(.985 0 0);--color-neutral-100:oklch(.97 0 0);--color-neutral-200:oklch(.922 0 0);--color-neutral-300:oklch(.87 0 0);--color-neutral-400:oklch(.708 0 0);--color-neutral-500:oklch(.556 0 0);--color-neutral-600:oklch(.439 0 0);--color-neutral-700:oklch(.371 0 0);--color-neutral-800:oklch(.269 0 0);--color-neutral-900:oklch(.205 0 0);--color-neutral-950:oklch(.145 0 0);--color-stone-50:oklch(.985 .001 106.423);--color-stone-100:oklch(.97 .001 106.424);--color-stone-200:oklch(.923 .003 48.717);--color-stone-300:oklch(.869 .005 56.366);--color-stone-400:oklch(.709 .01 56.259);--color-stone-500:oklch(.553 .013 58.071);--color-stone-600:oklch(.444 .011 73.639);--color-stone-700:oklch(.374 .01 67.558);--color-stone-800:oklch(.268 .007 34.298);--color-stone-900:oklch(.216 .006 56.043);--color-stone-950:oklch(.147 .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-mt-\[4\.9rem\]{margin-top:-4.9rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.-ml-8{margin-left:calc(var(--spacing)*-8)}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[335\/376\]{aspect-ratio:335/376}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-14{height:calc(var(--spacing)*14)}.h-14\.5{height:calc(var(--spacing)*14.5)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-\[448px\]{width:448px}.w-full{width:100%}.max-w-\[335px\]{max-width:335px}.max-w-none{max-width:none}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[\#19140035\]{border-color:#19140035}.border-\[\#e3e3e0\]{border-color:#e3e3e0}.border-black{border-color:var(--color-black)}.border-transparent{border-color:#0000}.bg-\[\#1b1b18\]{background-color:#1b1b18}.bg-\[\#FDFDFC\]{background-color:#fdfdfc}.bg-\[\#dbdbd7\]{background-color:#dbdbd7}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing)*6)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[13px\]{font-size:13px}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-\[\#1b1b18\]{color:#1b1b18}.text-\[\#706f6c\]{color:#706f6c}.text-\[\#F53003\],.text-\[\#f53003\]{color:#f53003}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-100{opacity:1}.shadow-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0px 0px 1px 0px var(--tw-shadow-color,#00000008),0px 1px 2px 0px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#1a1a0029);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-300{transition-delay:.3s}.duration-750{--tw-duration:.75s;transition-duration:.75s}.not-has-\[nav\]\:hidden:not(:has(:is(nav))){display:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:bottom-0:before{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-\[0\.4rem\]:before{content:var(--tw-content);left:.4rem}.before\:border-l:before{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:1px}.before\:border-\[\#e3e3e0\]:before{content:var(--tw-content);border-color:#e3e3e0}@media (hover:hover){.hover\:border-\[\#1915014a\]:hover{border-color:#1915014a}.hover\:border-\[\#19140035\]:hover{border-color:#19140035}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-black:hover{background-color:var(--color-black)}}@media (width>=64rem){.lg\:-mt-\[6\.6rem\]{margin-top:-6.6rem}.lg\:mb-0{margin-bottom:calc(var(--spacing)*0)}.lg\:mb-6{margin-bottom:calc(var(--spacing)*6)}.lg\:-ml-px{margin-left:-1px}.lg\:ml-0{margin-left:calc(var(--spacing)*0)}.lg\:block{display:block}.lg\:aspect-auto{aspect-ratio:auto}.lg\:w-\[438px\]{width:438px}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grow{flex-grow:1}.lg\:flex-row{flex-direction:row}.lg\:justify-center{justify-content:center}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.lg\:rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:p-20{padding:calc(var(--spacing)*20)}}@media (prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-\[\#3E3E3A\]{border-color:#3e3e3a}.dark\:border-\[\#eeeeec\]{border-color:#eeeeec}.dark\:bg-\[\#0a0a0a\]{background-color:#0a0a0a}.dark\:bg-\[\#1D0002\]{background-color:#1d0002}.dark\:bg-\[\#3E3E3A\]{background-color:#3e3e3a}.dark\:bg-\[\#161615\]{background-color:#161615}.dark\:bg-\[\#eeeeec\]{background-color:#eeeeec}.dark\:text-\[\#1C1C1A\]{color:#1c1c1a}.dark\:text-\[\#A1A09A\]{color:#a1a09a}.dark\:text-\[\#EDEDEC\]{color:#ededec}.dark\:text-\[\#F61500\]{color:#f61500}.dark\:text-\[\#FF4433\]{color:#f43}.dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#fffaed2d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:before\:border-\[\#3E3E3A\]:before{content:var(--tw-content);border-color:#3e3e3a}@media (hover:hover){.dark\:hover\:border-\[\#3E3E3A\]:hover{border-color:#3e3e3a}.dark\:hover\:border-\[\#62605b\]:hover{border-color:#62605b}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-white:hover{background-color:var(--color-white)}}}@starting-style{.starting\:translate-y-4{--tw-translate-y:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\:translate-y-6{--tw-translate-y:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\:opacity-0{opacity:0}}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use Illuminate\Foundation\Inspiring;
+ use Illuminate\Support\Facades\Artisan;
+ 
+ Artisan::command('inspire', function () {
+     $this->comment(Inspiring::quote());
+ })->purpose('Display an inspiring quote');
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ use App\Http\Controllers\B2bPortalController;
+ use App\Http\Controllers\CompanyController;
+ use App\Http\Controllers\CustomerController;
+ use App\Http\Controllers\DashboardController;
+ use App\Http\Controllers\DeliveryController;
+ use App\Http\Controllers\DispatchController;
+ use App\Http\Controllers\DriverController;
+ use App\Http\Controllers\FinanceController;
+ use App\Http\Controllers\InvoiceController;
+ use App\Http\Controllers\NotificationController;
+ use App\Http\Controllers\OrderController;
+ use App\Http\Controllers\PaymentController;
+ use App\Http\Controllers\PlantController;
+ use App\Http\Controllers\PricingController;
+ use App\Http\Controllers\ProductController;
+ use App\Http\Controllers\ProjectController;
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !private/
+ !public/
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ compiled.php
+ config.php
+ down
+ events.scanned.php
+ maintenance.php
+ routes.php
+ routes.scanned.php
+ schedule-*
+ services.json
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !data/
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ *
+ !.gitignore
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace Tests\Feature;
+ 
+ // use Illuminate\Foundation\Testing\RefreshDatabase;
+ use Tests\TestCase;
+ 
+ class ExampleTest extends TestCase
+ {
+     /**
+      * A basic test example.
+      */
+     public function test_the_application_returns_a_successful_response(): void
+     {
+         $response = $this->get('/');
+ 
+         $response->assertStatus(200);
+     }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace Tests;
+ 
+ use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
+ 
+ abstract class TestCase extends BaseTestCase
+ {
+     //
+ }
Removed / Before Commit

                                                
Added / After Commit
+ <?php
+ 
+ namespace Tests\Unit;
+ 
+ use PHPUnit\Framework\TestCase;
+ 
+ class ExampleTest extends TestCase
+ {
+     /**
+      * A basic test example.
+      */
+     public function test_that_true_is_true(): void
+     {
+         $this->assertTrue(true);
+     }
+ }
Removed / Before Commit

                                                
Added / After Commit
+ import { defineConfig } from 'vite';
+ import laravel from 'laravel-vite-plugin';
+ import tailwindcss from '@tailwindcss/vite';
+ 
+ export default defineConfig({
+     plugins: [
+         laravel({
+             input: ['resources/css/app.css', 'resources/js/app.js'],
+             refresh: true,
+         }),
+         tailwindcss(),
+     ],
+     server: {
+         watch: {
+             ignored: ['**/storage/framework/views/**'],
+         },
+     },
+ });