I don't think there's a way to change the default styling of the dotted border type.
This answer uses the background-image property with a gradient to simulate a border.
You can use this trick on an element behind your input like the following example.
#my-input {
/* Keep form compatability by
using an inline display type */
display: inline-block;
/* Make some space at the bottom
for the gradient to show under
the input */
padding-bottom: 2px;
background-image: linear-gradient(to right, tomato 50%, transparent 0%);
background-position: bottom;
background-size: 20px 2px;
background-repeat: repeat-x;
}
#my-input input {
border-bottom: 0;
}
<div id="my-input">
<input type="text">
</div>