The admin_enqueue_scripts hook has a $hook_suffix parameter for the current admin page. This parameter will return something like toplevel_page_yourpagename where the toplevel_page will be your page level and yourpagename is what you find on the ?page=yourpagename
url.
Use that to check if the current page is your plugin’s settings page and then load the scripts.
function wpdocs_enqueue_custom_admin_style($hook_suffix) {
// Check if it's the ?page=yourpagename. If not, just empty return before executing the folowing scripts.
if($hook_suffix != 'toplevel_page_yourpagename') {
return;
}
// Load your css.
wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
wp_enqueue_style( 'custom_wp_admin_css' );
}
add_action( 'admin_enqueue_scripts', 'wpdocs_enqueue_custom_admin_style' );
Check this for reference https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Load_CSS_File_from_a_plugin_on_specific_Admin_Page