Server query gets the last stamp's BU_TERM in the same OUTER APPLY
as LAST_STAMP, exposing FIRMA (1 = Zeiterfassung/Büro). Three OUTER
APPLYs reduced to two by combining MAX(BU_BU) with TOP 1 ORDER BY.
Client model gains a firma boolean and the people-tile indicator
appends "· Büro" or "· Home" next to the timestamp, but only when
the user is logged in.
Server query extended with MAX(BU_BU) per user as LAST_STAMP,
exposed via the Availability model. Client formats it as
DD.MM. HH:mm next to the loggedIn dot, replacing the mocked time.
New Availability module decorates each people-tile with a vertical
status bar on the avatar and a dot+timestamp under the status text,
showing ZeitConsens loggedIn state per extension.
Status and Availability now share a single AvailabilityService that
polls /availability every 30s, halving the API load. Avatars are
enlarged to 57px and vertically centered to fit the new layout.