Updated:
Via JSON per device/state using "customIcon": "blank",
{
"template": "contact",
"bgColor": "rgba(0,255,105,0.75)",
"iconColor": "rgba(0,0,0,0.66)",
"customIcon": "blank",
"state": "closed"
},
{
"template": "contact",
"bgColor": "rgba(255,0,0,0.65)",
"iconColor": "rgb(255,255,255)",
"customIcon": "blank",
"state": "open"
},
If we use CSS without targeting a tile (#tile-123) then it will apply that CSS to the ENTIRE dashboard, but wait that is not always good. I mean the ENTIRE dashboard so you will lose the gear and other icons too (this mean you cannot edit the page, backups!!)
Here is the code I do NOT recommend you use. (Shown so you can avoid it)
.material-icons {display:none !important}
Instead i would target all the tiles (add as many as you need to)
#tile-1,#tile-2,#tile-3 .material-icons {display:none !important}
Same goes for font, but some are "titles" a some are "contents", so you may need to play with that one. Again global may have side effects, best to target tiles needed.
.tile-title {font-weight:bold !important;}
or
#tile-1,#tile-2,#tile-3 .tile-title {font-weight:bold !important;}