Using CSS and not using the native implementation of the operating system is going to lead to very brittle and hard to fix problems.
Some widgets, or rather the repeated reinventions of widgets in HTML+CSS, use variables and the next equally looking widget has none, or other variables with the same values.
From an outsider perspective it looks like a mess.
* or almost the same with minimal, likely unintended, differences like one button has a slight border when hovered but another button right next to it has none