// Import styles, initialize component theme here.
// import '../src/common.css';
import "../dist/tailwind.css";

// No imports needed - components are imported directly in the test files
// Components should be imported in the test files directly, not here
