diff --git a/static/webui/index.html b/static/webui/index.html
index c155cc052..f834bd49a 100644
--- a/static/webui/index.html
+++ b/static/webui/index.html
@@ -457,7 +457,8 @@
                 
             
             
-                
+                
+                
                 
                 
                     
diff --git a/static/webui/script.js b/static/webui/script.js
index 22a3203ec..fc625ca82 100644
--- a/static/webui/script.js
+++ b/static/webui/script.js
@@ -1166,14 +1166,15 @@ function updateInventory() {
                 const item = data[category].find(x => x.ItemId.$oid == oid);
 
                 if (item) {
+                    document.getElementById("detailedView-loading").classList.add("d-none");
+
                     if (item.ItemName) {
-                        $("#detailedView-route h3").text(item.ItemName);
+                        $("#detailedView-title").text(item.ItemName);
                         $("#detailedView-route .text-body-secondary").text(
                             itemMap[item.ItemType]?.name ?? item.ItemType
                         );
                     } else {
-                        $("#detailedView-route h3").text(itemMap[item.ItemType]?.name ?? item.ItemType);
-                        $("#detailedView-route .text-body-secondary").text("");
+                        $("#detailedView-title").text(itemMap[item.ItemType]?.name ?? item.ItemType);
                     }
 
                     if (category == "Suits") {
@@ -2184,7 +2185,9 @@ function doAddMissingMaxRankMods() {
 // DetailedView Route
 
 single.getRoute("#detailedView-route").on("beforeload", function () {
-    this.element.querySelector("h3").textContent = "Loading...";
+    document.getElementById("detailedView-loading").classList.remove("d-none");
+    document.getElementById("detailedView-title").textContent = "";
+    document.querySelector("#detailedView-route .text-body-secondary").textContent = "";
     document.getElementById("archonShards-card").classList.add("d-none");
     document.getElementById("valenceBonus-card").classList.add("d-none");
     if (window.didInitialInventoryUpdate) {
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js
index 05eceed67..43c03ae20 100644
--- a/static/webui/translations/de.js
+++ b/static/webui/translations/de.js
@@ -4,6 +4,7 @@ dict = {
     general_addButton: `Hinzufügen`,
     general_setButton: `[UNTRANSLATED] Set`,
     general_bulkActions: `Massenaktionen`,
+    general_loading: `[UNTRANSLATED] Loading...`,
 
     code_loginFail: `[UNTRANSLATED] Login failed. Double-check the email and password.`,
     code_regFail: `[UNTRANSLATED] Registration failed. Account already exists?`,
diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js
index fa6d3d180..84f7b0d1f 100644
--- a/static/webui/translations/en.js
+++ b/static/webui/translations/en.js
@@ -3,6 +3,7 @@ dict = {
     general_addButton: `Add`,
     general_setButton: `Set`,
     general_bulkActions: `Bulk Actions`,
+    general_loading: `Loading...`,
 
     code_loginFail: `Login failed. Double-check the email and password.`,
     code_regFail: `Registration failed. Account already exists?`,
diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js
index c66adccf8..b4cd7c276 100644
--- a/static/webui/translations/es.js
+++ b/static/webui/translations/es.js
@@ -4,6 +4,7 @@ dict = {
     general_addButton: `Agregar`,
     general_setButton: `Establecer`,
     general_bulkActions: `Acciones masivas`,
+    general_loading: `[UNTRANSLATED] Loading...`,
 
     code_loginFail: `Error al iniciar sesión. Verifica el correo electrónico y la contraseña.`,
     code_regFail: `Error al registrar la cuenta. ¿Ya existe una cuenta con este correo?`,
diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js
index 48b991e92..a34459228 100644
--- a/static/webui/translations/fr.js
+++ b/static/webui/translations/fr.js
@@ -4,6 +4,7 @@ dict = {
     general_addButton: `Ajouter`,
     general_setButton: `[UNTRANSLATED] Set`,
     general_bulkActions: `Action groupée`,
+    general_loading: `[UNTRANSLATED] Loading...`,
 
     code_loginFail: `Connexion échouée. Vérifiez le mot de passe.`,
     code_regFail: `Enregistrement impossible. Compte existant?`,
diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js
index 791df3c36..9985bac7f 100644
--- a/static/webui/translations/ru.js
+++ b/static/webui/translations/ru.js
@@ -4,6 +4,7 @@ dict = {
     general_addButton: `Добавить`,
     general_setButton: `Установить`,
     general_bulkActions: `Массовые действия`,
+    general_loading: `[UNTRANSLATED] Loading...`,
 
     code_loginFail: `[UNTRANSLATED] Login failed. Double-check the email and password.`,
     code_regFail: `[UNTRANSLATED] Registration failed. Account already exists?`,
diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js
index 45f4a1ce5..6791960cf 100644
--- a/static/webui/translations/zh.js
+++ b/static/webui/translations/zh.js
@@ -4,6 +4,7 @@ dict = {
     general_addButton: `添加`,
     general_setButton: `设置`,
     general_bulkActions: `批量操作`,
+    general_loading: `[UNTRANSLATED] Loading...`,
 
     code_loginFail: `登录失败.请检查邮箱和密码.`,
     code_regFail: `注册失败.账号已存在.`,