diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset
index 3abddba683..dcea317564 100644
--- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset
+++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset
@@ -67,3 +67,5 @@ MonoBehaviour:
prefab: {fileID: 3837460183159982207, guid: 0986049a141406946b0ed97344b84f78, type: 3}
- id: DlgQuantity
prefab: {fileID: 8147986291757959694, guid: 11d09ee52b0c5f24fb3ef21e177ebe2d, type: 3}
+ - id: EC_AccountStorageUI
+ prefab: {fileID: 3837460183159982207, guid: 52c6d600a10af6b46a93fdc0ab719198, type: 3}
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs
new file mode 100644
index 0000000000..5c62e189dd
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs
@@ -0,0 +1,126 @@
+using BrewMonster;
+using BrewMonster.Scripts;
+using BrewMonster.UI;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace BrewMonster.Scripts.Managers
+{
+ ///
+ /// Money-only account warehouse UI. C++ uses Win_Storage3, but this Unity port keeps it
+ /// separate from so normal warehouse item logic cannot leak in.
+ ///
+ public class EC_AccountStorageUI : AUIDialog
+ {
+ [SerializeField] private Button closeButton;
+ [SerializeField] private Button depositMoneyButton;
+ [SerializeField] private Button withdrawMoneyButton;
+ [SerializeField] private Text accountMoneyTextLegacy;
+ [SerializeField] private TMPro.TextMeshProUGUI accountMoneyTextTMP;
+
+ private static EC_AccountStorageUI s_instance;
+
+ public override void Awake()
+ {
+ base.Awake();
+ s_instance = this;
+ ResolveButtons();
+ WireButtons();
+ }
+
+ private void OnDestroy()
+ {
+ if (s_instance == this)
+ s_instance = null;
+ }
+
+ public static void RefreshMoneyStatic()
+ {
+ s_instance?.RefreshMoney();
+ }
+
+ public void RefreshAll()
+ {
+ RefreshMoney();
+ }
+
+ void ResolveButtons()
+ {
+ var buttons = GetComponentsInChildren