RewriteEngine On

# Hide .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

# Redirect to index if accessing root
RewriteRule ^$ index [L]

# Admin routes
RewriteRule ^admin$ admin/index [L]
RewriteRule ^admin/(.*)$ admin/$1 [L]

# API routes
RewriteRule ^api/(.*)$ api/$1 [L]

# Static files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

# Error pages
ErrorDocument 404 /404.php
ErrorDocument 403 /403.php