diff --git a/packages/ui/package.json b/packages/ui/package.json
index a9e0dc29af0e501d68528b6d67f877a2bce4b8e2..717a7b9dd145ad0912d95dc39661fc9f538d5e90 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -33,7 +33,7 @@
     "recompose": "^0.26.0",
     "redux": "^3.6.0",
     "redux-form": "^7.0.3",
-    "styled-components": "^3.2.5"
+    "styled-components": "^4.1.1"
   },
   "devDependencies": {
     "@pubsweet/styleguide": "^3.2.0",
diff --git a/packages/ui/src/atoms/GlobalStyle.js b/packages/ui/src/atoms/GlobalStyle.js
new file mode 100644
index 0000000000000000000000000000000000000000..36d5af70cffda64ed48c808b7b628bd1df754028
--- /dev/null
+++ b/packages/ui/src/atoms/GlobalStyle.js
@@ -0,0 +1,10 @@
+import { createGlobalStyle } from 'styled-components'
+import { th } from '@pubsweet/ui-toolkit'
+
+const GlobalStyle = createGlobalStyle`
+  body {
+    color: ${th('colorText')};
+  }
+`
+
+export default GlobalStyle
diff --git a/packages/ui/src/atoms/GlobalStyle.md b/packages/ui/src/atoms/GlobalStyle.md
new file mode 100644
index 0000000000000000000000000000000000000000..c970de94dbd17a321e3f1f472c28825901d92129
--- /dev/null
+++ b/packages/ui/src/atoms/GlobalStyle.md
@@ -0,0 +1 @@
+A placeholder for global styles to be imported into the project.
diff --git a/packages/ui/src/atoms/index.js b/packages/ui/src/atoms/index.js
index 3a4b9ef56625b854c1a2650413cbe48f484d9208..b73a753fe9a022da3f1f457db8981839828c2f70 100644
--- a/packages/ui/src/atoms/index.js
+++ b/packages/ui/src/atoms/index.js
@@ -7,6 +7,7 @@ export { default as Badge } from './Badge'
 export { default as Button } from './Button'
 export { default as Checkbox } from './Checkbox'
 export { default as File } from './File'
+export { default as GlobalStyle } from './GlobalStyle'
 export { default as Radio } from './Radio'
 export { default as Tags } from './Tags'
 export { default as Tab } from './Tab'