How to style options page in dashboard?

You can simply add those CSS to admin HEAD section, it’s fast and easy solution.

function jrl_styles() {
    ?><style type="text/css">
    #jrl-wrap {
      width: 700px;
      padding: 3em;
      /* ... */
    }
    </style><?php
}
add_action('admin_head', 'jrl_styles');

Or you can enque your CSS file like this:

function load_custom_wp_admin_style() {
    wp_register_style( 'custom_wp_admin_css', get_stylesheet_directory_uri() . '/functions/site-options.css', false, '1.0.0' );
    wp_enqueue_style( 'custom_wp_admin_css' );
}
add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

Documentation page.

Both options will add those CSS code (or file) to every admin page, so have your CSS definiton prefixed to aviod some collisions with WordPress CSS. Your CSS code looks OK.

Edit: Changed get_template_directory_uri() (always returns parent theme folder) to get_stylesheet_directory_uri() (returns child-theme folder).