Working-day math ignores Portuguese holidays (and timezone)
date-utils.addBusinessDays advances a date skipping only Saturday and Sunday:
// Add n business days (skipping Saturday and Sunday) to a date.
// Holidays PT will be v2.
The comment is an explicit acknowledgement: Portuguese public holidays are not
handled. For a WORKING_DAYS legal deadline (e.g. the employee's 10-working-day response
window), every national or municipal holiday inside the window pushes the true legal
deadline later than the software computes — so the app can flag a response as late, or
allow the process to advance, when the statutory deadline hasn't actually passed.
There is a second, worse copy of this logic: the 5-working-day CT/Sindicato wait in
useWorkflow.executeTransition is hand-rolled inline and doesn't even carry the "holidays
are v2" caveat. Two implementations of working-day counting, both holiday-blind.
Related: all deadline arithmetic uses Date/toISOString() (UTC), with no
Europe/Lisbon timezone handling, so day boundaries can be off by the UTC offset.
Rebuild implication
A single, holiday-aware, timezone-correct working-day calculator (Portugal national + applicable regional holidays), used everywhere. This is legally load-bearing, not cosmetic.