I have the following html/css code:
table,
th,
td {
border: 1px solid black;
}
.textToBeBorderedGreen {
border: 1px solid green;
}
.textToBeBorderedRed {
border: 1px solid red;
}
<table style="width: 100%">
<tr>
<th>Company</th>
<th>Contact</th>
<th style="width: 20%">Job</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td style="width: 20%">
<div style="width: 70%">really long text that extends towards bottom of table cell</div>
<div class="textToBeBorderedGreen" style="float: right; width: 30%">Accepted</div>
<div style="width: 70%">UX Designer</div>
<div class="textToBeBorderedGreen" style="float: right; width: 30%">Accepted</div>
</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td style="width: 20%">Software Developer
<div class="textToBeBorderedRed" style="float: right">Rejected</div>
</td>
</tr>
</table>
With the values in rightmost column, I want the text on the left and right sides to be aligned both vertically (the accepted/rejected text appear directly underneath eachother) and horizontally (the accepted/rejected text appears directly to the right of the leftmost text, and if the leftmost text covers multiple lines then the accepted/rejected text should be in the middle of it) similar to the included image

I also wish for the boxes around the accepted/rejected text to be the same length (similar to the image) regardless of how much space the text inside takes - would anyone know how to go about this? The code I've got is the furthest I've managed to go.