UPDATE 2: Thanks to the suggestions, I had an idea which surprisingly worked. Below is the code and screenshot for those who might face the same issue. It's quite a long approach but it works.
{
"elmType": "div",
"txtContent": "=if([$FlowStatus] == 'Expired', 'Expired', @currentField",
"attributes": {},
"style": {
"border-radius": "0em",
"height": "0",
"min-width": "0em",
"color": "black",
"text-align": "center",
"position": "left",
"top": "0",
"right": "0em",
"background-color": {
"operator": "?",
"operands": [
{
"operator": "==",
"operands": [
"@currentField",
"Approved"
]
},
"#ABDB77",
{
"operator": "?",
"operands": [
{
"operator": "==",
"operands": [
"[$FlowStatus]",
"Expired"
]
},
"#FF6347",
{
"operator": "?",
"operands": [
{
"operator": "==",
"operands": [
"@currentField",
"Pending"
]
},
"#FFD700",
{
"operator": "?",
"operands": [
{
"operator": "==",
"operands": [
"@currentField",
"Rejected"
]
},
"#bcbcbc",
""
]
}
]
}
]
}
]
}
},
"customRowAction": {},
"children": []
}