Calculate reverse running total
You can use a combination of MIN() OVER() and SUM() OVER():

SELECT *, 
       MIN(Balance) OVER(PARTITION BY CaseId) - 
       SUM(Amount) OVER(PARTITION BY CaseId ORDER BY Id) Total
FROM dbo.YourTable
ORDER BY Id;


Here is a demo of it.