Using esc_html with HTML purifier and CSSTidy: Overkill?

If you worry only about the admin panel then esc_html will be enough as it will convert every “<” into &lt; eliminating the possibility of having a valid HTML tags inserted.

But if you add the CSS to the generated HTML you might need to strip any HTML tag it may contain by using the wp_kses function

$css = wp_kses($css,array(),array());

should strip all possible HTML from the CSS.

But stripping is not needed at all if the user has unfiltered_html capability, usually the admin of a stand alone site.