Accumulate some L.s.d
Retina 0.8.2, 252 bytes

.+/.+
£.$&amp;d
m`(?&lt;!d)$
./d
m`^(?!£)
£./
s.
/
([¼½¾])?d
d0$1
T`¼½¾`123
[-\d]+
$*
+`.(1*)/(1*)d(1*)¶£(1*).(1*)/(1*)d
$4.$1$5/$2$6d$3
+`d1111
1d
+`/1{12}
1/
+`\.1{20}
1.
(.)(1*)
$1$.2
\b0
-
T`d`_¼½¾`.$
-?d(.)
$1d
£-.-/

£-.(.+)d
$1
(\..+)/
$1s.
-s
-
.-.-d



Try it online! Explanation:

.+/.+
£.$&amp;d
m`(?&lt;!d)$
./d
m`^(?!£)
£./
s.
/


Reformat the input into a fixed format £&lt;l&gt;.&lt;s&gt;/&lt;d&gt;d&lt;f&gt;.

([¼½¾])?d
d0$1
T`¼½¾`123
[-\d]+
$*


Convert to unary.

+`.(1*)/(1*)d(1*)¶£(1*).(1*)/(1*)d
$4.$1$5/$2$6d$3
+`d1111
1d
+`/1{12}
1/
+`\.1{20}
1.


Add up the values.

(.)(1*)
$1$.2
\b0
-
T`d`_¼½¾`.$
-?d(.)
$1d
£-.-/

£-.(.+)d
$1
(\..+)/
$1s.
-s
-
.-.-d



Convert back to decimal and format for display.