Hi,
1. Please understand that we provide user support: we answer to questions regarding how to use HikaShop and fix bugs. Customization of the display is outside of the support. I already provided you with many CSS tips to do your customization.
The CSS can be added in between the style tags at the top of the HTML version of the emails. You can also look at the HTML tags/class names in emails when you open them with your email client (for example, with gmail, it's the same as on your website since it uses your browser, so it should be as easy as for the invoice to find the classes/tags.
And it's the same for the end screen of your screenshot. Just look at the HTML/CSS with your browser and add the necessary CSS to the frontend CSS of HikaShop to prevent the problem ( for example a display:inline; )
There is nothing complex to understand. The spans that you added in the currency are used everywhere a price is displayed.
If you add for these classes a float:left and a float:right it will apply everywhere a price is displayed on the frontend. If you only want it in some places, then you should prefix your CSS with a parent CSS class so that it doesn't affect other places.
So for example, if you have
.symbol{ float:left; } .value{float:right;}
you should instead have:
#hikashop_checkout_cart .symbol{ float:left; } #hikashop_checkout_cart .value{float:right;}
And it would float the prices only on the cart view of your checkout.
So it has nothing to do with "the logic of HikaShop", but with how you write your custom CSS so that it only applies where you want it to apply.
I hope this helps understands what you need to do.
2. The invoice number is generated when an order has its order status changed to a status that is listed in the setting "invoice order statuses" of your HikaShop configuration. Usually, you have there "confirmed" and/or "shipped" so that the invoice number is generated only once the payment is received and the order status changes to "confirmed", or once the package is sent and the order status changed to "shipped".
So if you don't get the invoice number, it's either because that setting is not configured properly, or because the status of your orders hasn't been changed yet.