diff --git a/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py b/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py
index 54550af..1ac6b6e 100755
--- a/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py
+++ b/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py
@@ -941,7 +941,7 @@ def main():
cur_month = datetime.now(KST).strftime("%Y-%m")
if (
info.get("side") == "asset"
- and carrier in {"kakaobank", "shinhan_bank"}
+ and carrier in {"kakaobank", "shinhan_bank", "hana_bank"}
and diff < 0
and abs(diff) <= 5000
):
diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py
index 0e9f1d8..a18e44e 100644
--- a/agents/stock/workspace/scripts/behive_web.py
+++ b/agents/stock/workspace/scripts/behive_web.py
@@ -5074,6 +5074,33 @@ table.market-adr td.adr-breakdown { font-size: 11px; color: #8b8f9a; }
background: rgba(255,77,94,0.15); border-color: #ff4d5e; color: #ff4d5e;
}
.account-view-pane[hidden] { display: none; }
+
+/* 옵션 버튼 + 작은 팝업 메뉴 — 상단 자동토글 왼쪽. 클릭하면 팝업 토글, 안에 계좌 나누기 버튼 등을 담는다. */
+.opts-wrap { position: relative; flex: none; display: inline-flex; }
+.opts-btn {
+ flex: none; display: inline-flex; align-items: center; justify-content: center;
+ min-width: 36px; height: 36px; padding: 0 10px;
+ background: #1c2230; border: 1px solid #2a3142; color: #e6e6e6;
+ border-radius: 8px; font-size: 13px; line-height: 1; cursor: pointer;
+ font-family: inherit; user-select: none;
+ transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s;
+}
+.opts-btn:hover { background: #232a3b; }
+.opts-btn:active { transform: scale(0.95); }
+.opts-btn[aria-expanded="true"] { background: #232a3b; border-color: #3a4256; }
+.opts-popup {
+ position: absolute; top: calc(100% + 6px); right: 0; z-index: 60;
+ background: #161b27; border: 1px solid #2a3142; border-radius: 10px;
+ padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,0.45);
+ display: flex; flex-direction: column; gap: 4px; min-width: 168px;
+}
+.opts-popup[hidden] { display: none; }
+/* 팝업 메뉴 항목으로 쓰일 때의 계좌 나누기 버튼 — 가로 꽉 채우고 좌측 정렬 + 아이콘. */
+.opts-item {
+ width: 100%; min-width: 0; height: auto; padding: 9px 11px;
+ justify-content: flex-start; gap: 9px; font-size: 13px; font-weight: 600;
+}
+.opts-item .opts-ico { font-size: 16px; line-height: 1; }
.holdings-toggle-wrap { margin-top: 4px; }
/* 차트 컨트롤 — 자산정보 탭 상단의 공통 기간·단위 select 묶음. */
@@ -7051,6 +7078,24 @@ def render_html() -> str:
'accountViewState=next;'
'applyAccountView(next);'
'});'
+ # 옵션 버튼 → 작은 팝업 토글. 버튼 클릭은 열고/닫고, 바깥 클릭은 닫는다.
+ # (팝업 안 계좌 나누기 버튼은 위 핸들러가 처리 — 팝업은 그대로 열어둠)
+ 'document.addEventListener("click",function(e){'
+ 'var pop=document.getElementById("opts-popup");'
+ 'var btn=document.getElementById("opts-toggle");'
+ 'if(!pop||!btn)return;'
+ 'var ob=e.target.closest&&e.target.closest("#opts-toggle");'
+ 'if(ob){'
+ 'e.preventDefault();'
+ 'var willOpen=pop.hasAttribute("hidden");'
+ 'if(willOpen){pop.removeAttribute("hidden");btn.setAttribute("aria-expanded","true");}'
+ 'else{pop.setAttribute("hidden","");btn.setAttribute("aria-expanded","false");}'
+ 'return;'
+ '}'
+ 'if(!pop.hasAttribute("hidden")&&!(e.target.closest&&e.target.closest("#opts-popup"))){'
+ 'pop.setAttribute("hidden","");btn.setAttribute("aria-expanded","false");'
+ '}'
+ '});'
# ADR 추세 카드의 기간 버튼 (1주/1달/3달/6달/1년/전체) — localStorage 저장 후 전체 재fetch.
'document.addEventListener("click",function(e){'
'var bt=e.target.closest&&e.target.closest(".adr-range-btn");'
@@ -9695,9 +9740,14 @@ window.openPinModal = openPinModal;