The root cause of config overwrites was key mismatch: - .env file uses: ERP_URL, DB_TYPE, DB_NAME (underscore uppercase) - Code was using: erp.url, database.dbType (dot notation) Fixed in three methods: - saveAllSettings() - now sets cache with correct keys - resetToDefaults() - now uses correct keys - save() - now reads cache with correct keys This ensures partial save preserves unmodified fields.