If you don’t care about native look and feel, you just need std lib, POSIX/win32 library (threads/sockets), SDL and IMGUI. Do a handmade hero-style platform layer for the system stuff and you’re portablr.
Not that hard nowadays, just use something like SDL to do the heavy lifting.
If it would be so easy as you paint it there would be lot more native applications. Unfortunately you can count them using your fingers.
Just want to point out that SDL implementation would be native as in 'not running on top of VM', but not native as in 'good citizen of host OS'. It would use non-standard widgets, likely would have problems with keyboard shortcuts, clipboard handling, drag & drop integration and window resizing. Depends how much time devs spend re-implementing stuff that's already supported by OS.
I don't think that would be too much trouble, you can find fully custom widget toolkits with excellent performance and seamless OS integration (check blender or UE4 for example)