[OK] Archivo: database/migrations/025_sprint24a_fix4_portal_events_downgrades.sql [OK] Archivo: app/Modules/Billing/Repositories/BillingRepository.php [OK] Archivo: app/Modules/Billing/Services/BillingService.php [OK] Archivo: app/Modules/Billing/Controllers/BillingController.php [OK] Archivo: app/Modules/Organizations/Services/InvitationService.php [OK] Archivo: app/Modules/Portal/Repositories/PortalRepository.php [OK] Archivo: resources/views/billing/index.php [OK] Archivo: tools/maintenance/sprint24a_process_downgrades.php [OK] Archivo: tools/qa/sprint24a_fix4_automated.php [OK] ENUM comercial ampliado [OK] Portal usa parámetros únicos [OK] Consumos internos y portal separados [OK] Aceptación portal revalida cupo sin rol interno [OK] Cambio manual sin pago y estado explícito [OK] Vista muestra MB cuando corresponde [OK] Procesador de downgrade idempotente presente TOTAL_OK=16 TOTAL_ERRORES=0 DICTAMEN=SPRINT_24A_FIX4_LISTO