I found a solution for vue3 using vite. If you are using dart-sass, you can get around the global limitation of sass modules by using @forward and @use.
_master.scss
$accent: #6D87A7;           
$error: #811702;
$warning: #F9E055;
$valid: #038144;
// etc... 
_global.scss
@forward '_master.scss';
// etc...
Then under the vite.config.js configure your css options as
export default defineConfig({
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `
          @use "./<path-to-file>/_globals.scss" as *;
        `,
      },
    },
  },
// etc...
});
As mentioned in the sass docs when importing modules without a namespace
We recommend you only do this for stylesheets written by you, though; otherwise, they may introduce new members that cause name conflicts!
You can then use other @use modules in any other stylesheets or components as following
// component file needing a function module
@use 'functions.scss';