Для готового кода есть гугл, а по простому решению:
2 дива, первому задаем ширину и float, второй имеет margin равный ширине первого + нужный отступ (можно с помощью padding реализовать).
Раз уж, делаете все на Flex, я бы заменил width: 100% на flex-grow: 1; а так полностью поддерживаю, Flex надо внедрять, он уже поддерживается почти везде, есть ислкючения, ну в целом уже можно использовать его, очень удобная вещь.