Fix: (int) cast na apilo_order_id (format "PPxxxxxx") dawał 0, przez co syncApiloPayment() i syncApiloStatus() pomijały wywołanie API Apilo. Zmiana na empty() w obu metodach. New: logowanie ApiloLogger w syncApiloPaymentIfNeeded() i syncApiloStatusIfNeeded() — każda ścieżka decyzyjna zapisuje wpis do pp_log z kontekstem. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>