Флажки и радиокнопки нельзя стилизовать (последовательно), каждый браузер отображает их по-своему, а некоторые браузеры полностью игнорируют установленные им стили.
То, что сказал Олафур Вейдж (создание поддельного элемента с помощью javascript), насколько я знаю, является наиболее распространенным способом сделать это.