diff --git a/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.json b/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.json
new file mode 100644
index 0000000..5eafa44
--- /dev/null
+++ b/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.json
@@ -0,0 +1,21833 @@
+[
+ {
+ "url": "https://dev.codebridge-x.com/accounting/daily-report",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-699",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-663",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-644",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-597",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-531",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-465",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-399",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-333",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-267",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-201",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-135",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-69",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-3",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,63",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,129",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,195",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,261",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,327",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,339",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,371",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,383",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,415",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,427",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,459",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,471",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,503",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,547",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,591",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,635",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,679",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026-03-04",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "404,218",
+ "size": "140x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "새로고침",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1704,218",
+ "size": "89x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "엑셀",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1801,218",
+ "size": "68x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo",
+ "downloadRelated": true
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-644",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,339",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,383",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,427",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,471",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 2,
+ "inputCount": 0,
+ "tabCount": 3,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1801,218",
+ "size": "68x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 60,
+ "downloadRelated": 1,
+ "iconOnly": 21,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 일일 일보",
+ "expectedUrl": "/accounting/daily-report",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/bank-transactions",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-479",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-443",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-424",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-377",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-311",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-245",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-179",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-113",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-47",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,19",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,85",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,151",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,217",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,283",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,349",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,415",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,481",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,547",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,591",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,635",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,679",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 03월 01일 ~ 2026년 03월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "290x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "이번달",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "602,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "지난달",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "667,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-2월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "733,203",
+ "size": "61x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-3월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "798,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-4월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "864,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-5월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "930,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1539,203",
+ "size": "70x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1617,203",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "입출금 수기 입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1748,203",
+ "size": "138x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1474,395",
+ "size": "32x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now",
+ "svgPathCount": 4
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1514,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1642,393",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,514",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,570",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,626",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,682",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,738",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,794",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,850",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,1004",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1004",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1004",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-424",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1474,395",
+ "size": "32x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now",
+ "svgPathCount": 4
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 22,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1617,203",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 89,
+ "downloadRelated": 1,
+ "iconOnly": 22,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 계좌입출금내역",
+ "expectedUrl": "/accounting/bank-transactions",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/card-transactions",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-523",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-487",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-468",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-421",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-355",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-289",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-223",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-157",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-91",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-25",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,41",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,107",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,173",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,239",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,305",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,371",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,437",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,503",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,547",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,591",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,635",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,679",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 03월 01일 ~ 2026년 03월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "290x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "이번달",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "602,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "지난달",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "667,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-2월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "733,203",
+ "size": "61x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-3월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "798,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-4월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "864,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "D-5월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "930,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김 데이터 보기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1380,203",
+ "size": "139x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1527,203",
+ "size": "70x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1605,203",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "카드사용 수기 입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1736,203",
+ "size": "150x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1504,395",
+ "size": "32x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now",
+ "svgPathCount": 4
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1544,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1672,393",
+ "size": "110x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,514",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "불공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,504",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "선택",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,504",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,508",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,508",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,570",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,560",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "매입대금",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,560",
+ "size": "91x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,564",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,564",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,626",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,616",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "경비",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,616",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,620",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,620",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,682",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "불공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,672",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "임대료",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,672",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,676",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,676",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,738",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,728",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "급여",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,728",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,732",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,732",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,794",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,784",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "4대보험",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,784",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,788",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,788",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,850",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "불공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,840",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "공과금",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,840",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,844",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,844",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,906",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,896",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "선택",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,896",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,900",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,900",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,962",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,952",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "매입대금",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,952",
+ "size": "91x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,956",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,956",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1018",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "불공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1008",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "경비",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1008",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1012",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1012",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1074",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1064",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "임대료",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1064",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1068",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1068",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1130",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1120",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "급여",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1120",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1124",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1124",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1186",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "불공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1176",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "4대보험",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1176",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1180",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1180",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1242",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1232",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "공과금",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1232",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1236",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1236",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1298",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "공제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "838,1288",
+ "size": "88x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "선택",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1640,1288",
+ "size": "90x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1746,1292",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "숨김",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1805,1292",
+ "size": "68x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,1416",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1416",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1416",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-468",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1504,395",
+ "size": "32x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now",
+ "svgPathCount": 4
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 61,
+ "tabCount": 68,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1605,203",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 166,
+ "downloadRelated": 1,
+ "iconOnly": 22,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 카드사용내역",
+ "expectedUrl": "/accounting/card-transactions",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/tax-invoices",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-39",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-3",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,16",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,63",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,129",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,195",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,261",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,327",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,393",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,459",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,525",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,591",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,657",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,723",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,789",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,855",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,921",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1339",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1383",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1427",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1471",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1515",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1559",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1603",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1615",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1647",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1659",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1691",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1703",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1735",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1747",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "작성일자",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "321,250",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 03월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "449,252",
+ "size": "287x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "1분기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "744,252",
+ "size": "54x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "2분기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "802,252",
+ "size": "58x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "3분기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "864,252",
+ "size": "58x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "4분기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "927,252",
+ "size": "58x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "조회",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "993,252",
+ "size": "48x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "매출 3",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "307,470",
+ "size": "54x29",
+ "tag": "BUTTON",
+ "classes": "data-[state=active]:bg-card dark:data-[state=active]:text-fo"
+ },
+ {
+ "text": "매입 3",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "361,470",
+ "size": "54x29",
+ "tag": "BUTTON",
+ "classes": "data-[state=active]:bg-card dark:data-[state=active]:text-fo"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1657,468",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "수기 입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1788,468",
+ "size": "98x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,559",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1802,669",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1802,725",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "분개",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1802,781",
+ "size": "38x28",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,905",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,905",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,905",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,16",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1615",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1659",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1703",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1747",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "매출 3",
+ "role": "tab",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "매입 3",
+ "role": "tab",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 8,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1657,468",
+ "size": "123x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 75,
+ "downloadRelated": 1,
+ "iconOnly": 21,
+ "toolbarActions": 1,
+ "dropdownItems": 17,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 세금계산서관리",
+ "expectedUrl": "/accounting/tax-invoices",
+ "tabSurveys": [
+ {
+ "tabName": "매출 3",
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "visible": true
+ }
+ ]
+ },
+ {
+ "tabName": "매입 3",
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "visible": true
+ }
+ ]
+ }
+ ],
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/receivables-status",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-567",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-531",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-512",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-465",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-399",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-333",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-267",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-201",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-135",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-69",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-3",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,63",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,129",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,195",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,261",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,327",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,393",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,459",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,471",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,503",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,547",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,591",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,635",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,679",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "최근 1년",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "353,218",
+ "size": "100x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "연체 업체 우선",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "501,218",
+ "size": "129x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "새로고침",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1552,220",
+ "size": "100x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1660,220",
+ "size": "127x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1795,220",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,537",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,682",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,752",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,896",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,966",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1111",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,1181",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1325",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,1395",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1539",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,1609",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1754",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,1824",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1968",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,2038",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2183",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,2253",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2397",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,2487",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2631",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,2721",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2866",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,2956",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3100",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,3190",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3334",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,3424",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3569",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,3659",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3803",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,3893",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4038",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,4128",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4272",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,4362",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4506",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,4596",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4741",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,4831",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4975",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,5065",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5210",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,5300",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5444",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,5534",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5678",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,5768",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5913",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,6003",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6147",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,6237",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6382",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,6472",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6616",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,6706",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6850",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,6940",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7085",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,7175",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7319",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,7409",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7554",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,7644",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7788",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,7878",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8022",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,8112",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8257",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,8347",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8491",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,8581",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8726",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,8816",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8960",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,9050",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9194",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,9284",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9429",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,9519",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9663",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,9753",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9898",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,9988",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10132",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,10222",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10366",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,10456",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10601",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,10691",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10835",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,10925",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11070",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,11160",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11304",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,11394",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11538",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,11628",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11773",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,11863",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12007",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,12097",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12242",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,12332",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12476",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,12566",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12710",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,12800",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12945",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,13035",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13179",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,13269",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13414",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,13504",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13648",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,13738",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13882",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,13972",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14117",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,14207",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14351",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,14441",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14585",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,14675",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14820",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,14910",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15054",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,15144",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15289",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "337,15379",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15523",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-512",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,471",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,559",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,682",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,896",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1111",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1325",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1539",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1754",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,1968",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2183",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2397",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2631",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,2866",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3100",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3334",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3569",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,3803",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4038",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4272",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4506",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4741",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,4975",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5210",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5444",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5678",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,5913",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6147",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6382",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6616",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,6850",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7085",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7319",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7554",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,7788",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8022",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8257",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8491",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8726",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,8960",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9194",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9429",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9663",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,9898",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10132",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10366",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10601",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,10835",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11070",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11304",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11538",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,11773",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12007",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12242",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12476",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12710",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,12945",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13179",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13414",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13648",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,13882",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14117",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14351",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14585",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,14820",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15054",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15289",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "571,15523",
+ "size": "20x20",
+ "tag": "BUTTON",
+ "classes": "p-0.5 hover:bg-gray-200 rounded",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 264,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1660,220",
+ "size": "127x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 257,
+ "downloadRelated": 1,
+ "iconOnly": 86,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 미수금현황",
+ "expectedUrl": "/accounting/receivables-status",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/vendor-ledger",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-215",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-179",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-160",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-113",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-47",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,19",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,85",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,151",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,217",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,283",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,349",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,415",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,481",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,547",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,613",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,679",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,745",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1339",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1383",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1427",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1471",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1515",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1559",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 03월 01일 ~ 2026년 03월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "290x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "오늘",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "602,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "어제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "655,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "709,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "762,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "816,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당해년도",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "882,203",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1759,203",
+ "size": "127x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,393",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "더 보기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,462",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,510",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,566",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,622",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,678",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,734",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,790",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,846",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,902",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,958",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1014",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1070",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1126",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1182",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1238",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1294",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1350",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1406",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1462",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1518",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1574",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1615,1696",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1672,1696",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "2",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1712,1696",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "3",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1752,1696",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "4",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1696",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1696",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-160",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 46,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1759,203",
+ "size": "127x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 114,
+ "downloadRelated": 1,
+ "iconOnly": 21,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 거래처원장",
+ "expectedUrl": "/accounting/vendor-ledger",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/material/stock-status",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,126",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,162",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,228",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,294",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,360",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,426",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,492",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,558",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,624",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,690",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,756",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,822",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,888",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,954",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "재고현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1020",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1032",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1064",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1076",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1110",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1176",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "2026년 03월 01일 ~ 2026년 03월 04일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "292x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "오늘",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "604,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "어제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "658,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "711,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "765,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "818,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당해년도",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "884,203",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1765,203",
+ "size": "121x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1406,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "필터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1771,684",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,684",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1032",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1076",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 9,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1765,203",
+ "size": "121x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 41,
+ "downloadRelated": 1,
+ "iconOnly": 5,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "자재관리 > 재고현황",
+ "expectedUrl": "/material/stock-status",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/production/work-results",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,126",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,162",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,228",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,294",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,360",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,426",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,492",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,558",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,624",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,690",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,756",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,822",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,888",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,900",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "생산 현황판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,932",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,944",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "작업지시 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,976",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,988",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "작업실적",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1020",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1032",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "작업자 화면",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1064",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1076",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1110",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1176",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1242",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1308",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1765,203",
+ "size": "121x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,393",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,462",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,510",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,595",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,595",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,595",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,900",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,944",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,988",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1032",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1076",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 7,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [
+ {
+ "text": "엑셀 다운로드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1765,203",
+ "size": "121x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "downloadRelated": true
+ }
+ ],
+ "summary": {
+ "totalButtons": 39,
+ "downloadRelated": 1,
+ "iconOnly": 8,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "생산관리 > 작업실적",
+ "expectedUrl": "/production/work-results",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/approval/inbox",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,126",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,162",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,228",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,294",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,360",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기안함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,426",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,438",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결재함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,470",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,482",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "참조함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,514",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,526",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,560",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,626",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,692",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,758",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,824",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,890",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,956",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1022",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1088",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1154",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1220",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 12월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "285x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "전체결재 15",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "841,393",
+ "size": "99x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "미결재 0",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "948,393",
+ "size": "81x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "결재완료 9",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1037,393",
+ "size": "93x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "결재반려 6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1137,393",
+ "size": "93x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1238,394",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1386,394",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,394",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,394",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,396",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "전체결재15",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "미결재0",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "결재완료9",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "결재반려6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "필터1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ },
+ {
+ "text": "초기화",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "text-xs text-muted-foreground hover:text-foreground flex ite"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,467",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,627",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,683",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,739",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,795",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,851",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,907",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,963",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1019",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1075",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1187",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1243",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1299",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,1385",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1385",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1385",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,438",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,482",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,526",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 43,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 78,
+ "downloadRelated": 0,
+ "iconOnly": 7,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "결재관리 > 결재함",
+ "expectedUrl": "/approval/inbox",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/approval/reference",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,126",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,162",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,228",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,294",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,360",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기안함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,426",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,438",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결재함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,470",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,482",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "참조함",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,514",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,526",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,560",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,626",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,692",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,758",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,824",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,890",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,956",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1022",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1088",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1154",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1220",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 12월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "285x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "전체 6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "996,393",
+ "size": "68x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "열람 6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1073,393",
+ "size": "68x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "미열람 0",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1149,393",
+ "size": "81x37",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1238,394",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1386,394",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,394",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,394",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,396",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "전체6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "열람6",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "미열람0",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "\n inline-flex items-center gap-1.5 px-3.5 py-2 rounde"
+ },
+ {
+ "text": "필터1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ },
+ {
+ "text": "초기화",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "text-xs text-muted-foreground hover:text-foreground flex ite"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "미열람 처리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,467",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,515",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,571",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,627",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,683",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,739",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,795",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,881",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,881",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,881",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,438",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,482",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,526",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 24,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 64,
+ "downloadRelated": 0,
+ "iconOnly": 7,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "결재관리 > 참조함",
+ "expectedUrl": "/approval/reference",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/purchase",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-303",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-267",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-248",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-201",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-135",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-69",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-3",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,63",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,129",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,195",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,261",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,327",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,393",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,459",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,525",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,591",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,657",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1339",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1383",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1427",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1471",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 12월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "285x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "오늘",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "597,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "어제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "650,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "704,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "757,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "811,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당해년도",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "876,203",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "미설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1688,201",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1816,203",
+ "size": "70x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "거래처 전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1278,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1406,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "필터1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ },
+ {
+ "text": "초기화",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "text-xs text-muted-foreground hover:text-foreground flex ite"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,514",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,513",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1735,636",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,636",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,636",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-248",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 15,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 81,
+ "downloadRelated": 0,
+ "iconOnly": 22,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 매입관리",
+ "expectedUrl": "/accounting/purchase",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/sales",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-259",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-223",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-204",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-157",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-91",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-25",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,41",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,107",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,173",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,239",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,305",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,371",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,437",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,503",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,569",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,635",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,701",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1339",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1383",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1427",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1471",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1515",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 12월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "285x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "오늘",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "597,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "어제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "650,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "704,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "757,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "811,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당해년도",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "876,203",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "미설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1572,201",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1700,203",
+ "size": "70x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "매출 등록",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1778,201",
+ "size": "108x36",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "거래처 전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1278,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1406,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "필터1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ },
+ {
+ "text": "초기화",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "text-xs text-muted-foreground hover:text-foreground flex ite"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "더 보기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,514",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,513",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,513",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,570",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,569",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,569",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,626",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,625",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,625",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,682",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,681",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,681",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,738",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,737",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,737",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,794",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,793",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,793",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,850",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,849",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,849",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,906",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,905",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,905",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,962",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,961",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,961",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1018",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1017",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1017",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1074",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1073",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1073",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1130",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1129",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1129",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1186",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1185",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1185",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1242",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1241",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1241",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1298",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1297",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1297",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1354",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1353",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1353",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1410",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1409",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1409",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1465",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1465",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1522",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1521",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1521",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1578",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1608,1577",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1766,1577",
+ "size": "32x18",
+ "tag": "BUTTON",
+ "classes": "peer data-[state=unchecked]:bg-switch-background focus-visib"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1695,1700",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1752,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "2",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1700",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-204",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1395",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1439",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1483",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1527",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 211,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 241,
+ "downloadRelated": 0,
+ "iconOnly": 22,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 매출관리",
+ "expectedUrl": "/accounting/sales",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/accounting/withdrawals",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-435",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-399",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-380",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-333",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-267",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-201",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-135",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-69",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,-3",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,63",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,129",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,195",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,261",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,327",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,393",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,459",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,525",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "세금계산서발행",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,591",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "세금계산서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,635",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "상품권관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,679",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일반전표입력",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,723",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,767",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "거래처원장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,811",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매출관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,855",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "매입관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,899",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "어음관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,943",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "입금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,987",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "출금관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1031",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "계좌입출금내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1075",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "카드사용내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1119",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "미수금현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1163",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "지출예상내역서",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1207",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "악성채권추심관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1251",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "일일 일보",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1295",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "결제내역",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,1339",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "2026년 01월 01일 ~ 2026년 12월 31일",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "304,203",
+ "size": "285x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center gap-2 whitespace-nowrap rounded-md "
+ },
+ {
+ "text": "오늘",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "597,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "어제",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "650,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "704,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "757,203",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "전전월",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "811,203",
+ "size": "62x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "당해년도",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "876,203",
+ "size": "74x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap fo"
+ },
+ {
+ "text": "미설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1472,201",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "저장",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1600,203",
+ "size": "70x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "새로고침",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1678,203",
+ "size": "96x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "출금등록",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1782,201",
+ "size": "104x36",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1120,393",
+ "size": "140x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1268,393",
+ "size": "130x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1406,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "전체",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1534,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "최신순",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1662,393",
+ "size": "120x36",
+ "tag": "BUTTON",
+ "classes": "border-input data-[placeholder]:text-muted-foreground [&_svg"
+ },
+ {
+ "text": "컬럼",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1790,395",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "필터1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ },
+ {
+ "text": "초기화",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "text-xs text-muted-foreground hover:text-foreground flex ite"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "더 보기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,514",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,570",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,626",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,682",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,738",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,794",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,850",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,906",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,962",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1018",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1074",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1130",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1186",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1242",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1298",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1354",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1410",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1466",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1522",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "350,1578",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "peer bg-input-background dark:bg-input/30 data-[state=checke"
+ },
+ {
+ "text": "이전",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1583,1700",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "1",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1640,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "2",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1680,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "3",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1720,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "5",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1792,1700",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "다음",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1836,1700",
+ "size": "50x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,-380",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,603",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,647",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,691",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,735",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,779",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,823",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,867",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,911",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,955",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,999",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1043",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1087",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1131",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1175",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1219",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1263",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1307",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,1351",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "ml-0.5 rounded-full hover:bg-foreground/10 p-0.5",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 1,
+ "tabCount": 52,
+ "h1": "SAM",
+ "h2": "",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 125,
+ "downloadRelated": 0,
+ "iconOnly": 22,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "회계관리 > 출금관리",
+ "expectedUrl": "/accounting/withdrawals",
+ "dropdownContents": []
+ },
+ {
+ "url": "https://dev.codebridge-x.com/hr/attendance",
+ "allButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1703,25",
+ "size": "163x60",
+ "tag": "BUTTON",
+ "classes": "justify-center whitespace-nowrap text-sm font-medium disable"
+ },
+ {
+ "text": "모두 접기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,126",
+ "size": "213x32",
+ "tag": "BUTTON",
+ "classes": "w-full flex items-center space-x-2 px-3 py-2 rounded-lg text"
+ },
+ {
+ "text": "시스템 대시보드",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,162",
+ "size": "191x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "품질관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,228",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "품목관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,294",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "결재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,360",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "기준정보 관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,426",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "게시판",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,492",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "인사관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,558",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "사원관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,624",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,636",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "부서관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,668",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,680",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "근태현황",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,712",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,724",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "근태관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,756",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,768",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "급여관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,800",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,812",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "휴가관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "55,844",
+ "size": "171x40",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-lg transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,856",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "고객센터",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,890",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "설정",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,956",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "판매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1022",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "생산관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1088",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "구매관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1154",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "자재관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1220",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "출고관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1286",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "회계관리",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "29,1352",
+ "size": "213x60",
+ "tag": "BUTTON",
+ "classes": "flex-1 min-w-0 flex items-center rounded-xl transition-all d"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "단축키",
+ "title": "단축키",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1486,1081",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": ""
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "마지막 수정 실행취소",
+ "title": "마지막 수정 실행취소",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": ""
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "전체 화면보기로 전환",
+ "title": "전체 화면보기로 전환",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "gm-control-active gm-fullscreen-control"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "확대",
+ "title": "확대",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1436,976",
+ "size": "40x40",
+ "tag": "BUTTON",
+ "classes": "gm-control-active"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "축소",
+ "title": "축소",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1436,1017",
+ "size": "40x40",
+ "tag": "BUTTON",
+ "classes": "gm-control-active"
+ },
+ {
+ "text": "단축키",
+ "ariaLabel": "단축키",
+ "title": "단축키",
+ "hasSvg": false,
+ "isVisible": true,
+ "position": "1265,1068",
+ "size": "28x14",
+ "tag": "BUTTON",
+ "classes": ""
+ },
+ {
+ "text": "지도 데이터",
+ "ariaLabel": "지도 데이터",
+ "title": "지도 데이터",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": ""
+ },
+ {
+ "text": "50 m 클릭하여 미터법과 야드파운드법 간에 전환",
+ "ariaLabel": "지도 축척: 53픽셀당 50m",
+ "title": "지도 축척: 53픽셀당 50m",
+ "hasSvg": false,
+ "isVisible": false,
+ "position": "0,0",
+ "size": "0x0",
+ "tag": "BUTTON",
+ "classes": "gm-style-cc"
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1826,155",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "퇴근하기",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1511,458",
+ "size": "351x56",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center gap-2 whitespace-now"
+ },
+ {
+ "text": "Dev",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1822,968",
+ "size": "72x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te"
+ }
+ ],
+ "toolbarButtons": [
+ {
+ "containerSelector": "header",
+ "text": "홍킬동 개발중인 메뉴",
+ "ariaLabel": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "iconOnlyButtons": [
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "331,39",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 3
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1627,39",
+ "size": "64x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "219,181",
+ "size": "22x22",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-1 rounded transition-all duration-200 opacit",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,636",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,680",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,724",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,768",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,812",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "즐겨찾기 추가",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "225,856",
+ "size": "16x16",
+ "tag": "BUTTON",
+ "classes": "flex-shrink-0 p-0.5 rounded transition-all duration-200 opac",
+ "svgPathCount": 1
+ },
+ {
+ "text": "(empty)",
+ "ariaLabel": "",
+ "title": "",
+ "hasSvg": true,
+ "isVisible": true,
+ "position": "1826,155",
+ "size": "36x32",
+ "tag": "BUTTON",
+ "classes": "inline-flex items-center justify-center whitespace-nowrap te",
+ "svgPathCount": 2
+ }
+ ],
+ "dropdownMenuItems": [
+ {
+ "text": "시스템 대시보드",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품질관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "품목관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "결재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "기준정보 관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "게시판",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "인사관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "고객센터",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "설정",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "판매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "생산관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "구매관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "자재관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "출고관리",
+ "role": "",
+ "tag": "BUTTON"
+ },
+ {
+ "text": "회계관리",
+ "role": "",
+ "tag": "BUTTON"
+ }
+ ],
+ "downloadLinks": [],
+ "hiddenElements": [],
+ "svgButtons": [],
+ "tableHeaderActions": [],
+ "contextInfo": {
+ "tableCount": 1,
+ "inputCount": 0,
+ "tabCount": 2,
+ "h1": "SAM",
+ "h2": "출퇴근하기",
+ "pageTitle": "[D]SAM - 내 손안의 대시보드"
+ },
+ "downloadButtons": [],
+ "summary": {
+ "totalButtons": 43,
+ "downloadRelated": 0,
+ "iconOnly": 10,
+ "toolbarActions": 1,
+ "dropdownItems": 15,
+ "downloadLinks": 0,
+ "hiddenDownload": 0
+ },
+ "targetName": "인사관리 > 근태현황",
+ "expectedUrl": "/hr/attendance",
+ "dropdownContents": []
+ }
+]
\ No newline at end of file
diff --git a/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.md b/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.md
new file mode 100644
index 0000000..4f8e61f
--- /dev/null
+++ b/e2e/results/hotfix/Button-Survey_2026-03-04_22-21-22.md
@@ -0,0 +1,339 @@
+# 🔍 버튼/액션 요소 전수 조사 리포트
+
+**실행 시간**: 2026-03-04_22-21-22 | **소요**: 158.8초
+
+## 📊 요약
+
+| # | 페이지 | 다운로드 버튼 | 전체 버튼 | 탭 | 드롭다운 |
+|---|--------|-------------|---------|-----|----------|
+| 1 | 회계관리 > 일일 일보 | 엑셀 | 60 | 3 | 0 |
+| 2 | 회계관리 > 계좌입출금내역 | 엑셀 다운로드 | 89 | 22 | 0 |
+| 3 | 회계관리 > 카드사용내역 | 엑셀 다운로드 | 166 | 68 | 0 |
+| 4 | 회계관리 > 세금계산서관리 | 엑셀 다운로드 | 75 | 8 | 0 |
+| 5 | 회계관리 > 미수금현황 | 엑셀 다운로드 | 257 | 264 | 0 |
+| 6 | 회계관리 > 거래처원장 | 엑셀 다운로드 | 114 | 46 | 0 |
+| 7 | 자재관리 > 재고현황 | 엑셀 다운로드 | 41 | 9 | 0 |
+| 8 | 생산관리 > 작업실적 | 엑셀 다운로드 | 39 | 7 | 0 |
+| 9 | 결재관리 > 결재함 | 없음 | 78 | 43 | 0 |
+| 10 | 결재관리 > 참조함 | 없음 | 64 | 24 | 0 |
+| 11 | 회계관리 > 매입관리 | 없음 | 81 | 15 | 0 |
+| 12 | 회계관리 > 매출관리 | 없음 | 241 | 211 | 0 |
+| 13 | 회계관리 > 출금관리 | 없음 | 125 | 52 | 0 |
+| 14 | 인사관리 > 근태현황 | 없음 | 43 | 2 | 0 |
+
+## 📋 페이지별 상세
+
+### 1. 회계관리 > 일일 일보
+
+- **URL**: https://dev.codebridge-x.com/accounting/daily-report
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 2개 | **입력필드**: 0개 | **탭**: 3개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 | - | - | ✅ | 1801,218 | 68x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 21개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
+
+---
+
+### 2. 회계관리 > 계좌입출금내역
+
+- **URL**: https://dev.codebridge-x.com/accounting/bank-transactions
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 22개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1617,203 | 123x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 22개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4)
+
+---
+
+### 3. 회계관리 > 카드사용내역
+
+- **URL**: https://dev.codebridge-x.com/accounting/card-transactions
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 61개 | **탭**: 68개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1605,203 | 123x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 22개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4)
+
+---
+
+### 4. 회계관리 > 세금계산서관리
+
+- **URL**: https://dev.codebridge-x.com/accounting/tax-invoices
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 8개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1657,468 | 123x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 21개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
+
+**탭별 다운로드 버튼:**
+- [매출 3]: 엑셀 다운로드
+- [매입 3]: 엑셀 다운로드
+
+---
+
+### 5. 회계관리 > 미수금현황
+
+- **URL**: https://dev.codebridge-x.com/accounting/receivables-status
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 264개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1660,220 | 127x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 86개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
+
+---
+
+### 6. 회계관리 > 거래처원장
+
+- **URL**: https://dev.codebridge-x.com/accounting/vendor-ledger
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 46개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1759,203 | 127x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 21개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
+
+---
+
+### 7. 자재관리 > 재고현황
+
+- **URL**: https://dev.codebridge-x.com/material/stock-status
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 9개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1765,203 | 121x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 5개 (SVG path: 3,2,1,1,1)
+
+---
+
+### 8. 생산관리 > 작업실적
+
+- **URL**: https://dev.codebridge-x.com/production/work-results
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 7개
+
+**✅ 다운로드 관련 버튼:**
+
+| 텍스트 | aria-label | title | 가시성 | 위치 | 크기 |
+|--------|-----------|-------|--------|------|------|
+| 엑셀 다운로드 | - | - | ✅ | 1765,203 | 121x32 |
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 8개 (SVG path: 3,2,1,1,1,1,1,1)
+
+모든 가시 버튼 (28개)
+
+| 텍스트 | tag | aria-label | SVG |
+|--------|-----|-----------|-----|
+| 홍킬동 개발중인 메뉴 | BUTTON | - | ✅ |
+| 모두 접기 | BUTTON | - | ✅ |
+| 시스템 대시보드 | BUTTON | - | ✅ |
+| 품질관리 | BUTTON | - | ✅ |
+| 품목관리 | BUTTON | - | ✅ |
+| 결재관리 | BUTTON | - | ✅ |
+| 기준정보 관리 | BUTTON | - | ✅ |
+| 게시판 | BUTTON | - | ✅ |
+| 인사관리 | BUTTON | - | ✅ |
+| 고객센터 | BUTTON | - | ✅ |
+| 설정 | BUTTON | - | ✅ |
+| 판매관리 | BUTTON | - | ✅ |
+| 생산관리 | BUTTON | - | ✅ |
+| 품목관리 | BUTTON | - | ✅ |
+| 생산 현황판 | BUTTON | - | ✅ |
+| 작업지시 관리 | BUTTON | - | ✅ |
+| 작업실적 | BUTTON | - | ✅ |
+| 작업자 화면 | BUTTON | - | ✅ |
+| 구매관리 | BUTTON | - | ✅ |
+| 자재관리 | BUTTON | - | ✅ |
+| 출고관리 | BUTTON | - | ✅ |
+| 회계관리 | BUTTON | - | ✅ |
+| 엑셀 다운로드 | BUTTON | - | ✅ |
+| 컬럼 | BUTTON | - | ✅ |
+| 이전 | BUTTON | - | |
+| 1 | BUTTON | - | |
+| 다음 | BUTTON | - | |
+| Dev | BUTTON | - | ✅ |
+
+
+
+---
+
+### 9. 결재관리 > 결재함
+
+- **URL**: https://dev.codebridge-x.com/approval/inbox
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 43개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 7개 (SVG path: 3,2,1,1,1,1,2)
+
+---
+
+### 10. 결재관리 > 참조함
+
+- **URL**: https://dev.codebridge-x.com/approval/reference
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 24개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 7개 (SVG path: 3,2,1,1,1,1,2)
+
+---
+
+### 11. 회계관리 > 매입관리
+
+- **URL**: https://dev.codebridge-x.com/accounting/purchase
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 15개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 22개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2)
+
+---
+
+### 12. 회계관리 > 매출관리
+
+- **URL**: https://dev.codebridge-x.com/accounting/sales
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 211개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 22개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2)
+
+---
+
+### 13. 회계관리 > 출금관리
+
+- **URL**: https://dev.codebridge-x.com/accounting/withdrawals
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: (없음)
+- **테이블**: 1개 | **입력필드**: 1개 | **탭**: 52개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 22개 (SVG path: 3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2)
+
+---
+
+### 14. 인사관리 > 근태현황
+
+- **URL**: https://dev.codebridge-x.com/hr/attendance
+- **페이지 타이틀**: [D]SAM - 내 손안의 대시보드
+- **h1**: SAM | **h2**: 출퇴근하기
+- **테이블**: 1개 | **입력필드**: 0개 | **탭**: 2개
+
+**⚠️ 다운로드 관련 버튼 없음**
+
+**툴바 버튼**: 홍킬동 개발중인 메뉴
+
+**아이콘 전용 버튼**: 10개 (SVG path: 3,2,1,1,1,1,1,1,1,2)
+
+모든 가시 버튼 (26개)
+
+| 텍스트 | tag | aria-label | SVG |
+|--------|-----|-----------|-----|
+| 홍킬동 개발중인 메뉴 | BUTTON | - | ✅ |
+| 모두 접기 | BUTTON | - | ✅ |
+| 시스템 대시보드 | BUTTON | - | ✅ |
+| 품질관리 | BUTTON | - | ✅ |
+| 품목관리 | BUTTON | - | ✅ |
+| 결재관리 | BUTTON | - | ✅ |
+| 기준정보 관리 | BUTTON | - | ✅ |
+| 게시판 | BUTTON | - | ✅ |
+| 인사관리 | BUTTON | - | ✅ |
+| 사원관리 | BUTTON | - | ✅ |
+| 부서관리 | BUTTON | - | ✅ |
+| 근태현황 | BUTTON | - | ✅ |
+| 근태관리 | BUTTON | - | ✅ |
+| 급여관리 | BUTTON | - | ✅ |
+| 휴가관리 | BUTTON | - | ✅ |
+| 고객센터 | BUTTON | - | ✅ |
+| 설정 | BUTTON | - | ✅ |
+| 판매관리 | BUTTON | - | ✅ |
+| 생산관리 | BUTTON | - | ✅ |
+| 구매관리 | BUTTON | - | ✅ |
+| 자재관리 | BUTTON | - | ✅ |
+| 출고관리 | BUTTON | - | ✅ |
+| 회계관리 | BUTTON | - | ✅ |
+| 단축키 | BUTTON | 단축키 | |
+| 퇴근하기 | BUTTON | - | ✅ |
+| Dev | BUTTON | - | ✅ |
+
+
+
+---
+
diff --git a/e2e/results/hotfix/Download-Verify_2026-03-04_22-13-37.md b/e2e/results/hotfix/Download-Verify_2026-03-04_22-13-37.md
new file mode 100644
index 0000000..70f49d5
--- /dev/null
+++ b/e2e/results/hotfix/Download-Verify_2026-03-04_22-13-37.md
@@ -0,0 +1,131 @@
+# 📥 다운로드 기능 검증 리포트
+
+**실행 시간**: 2026-03-04 22-13-37 | **소요**: 245.8초
+
+## 📊 요약
+
+| 항목 | 결과 |
+|------|------|
+| 전체 페이지 | 20개 |
+| ✅ PASS | 1개 |
+| ⚠️ PARTIAL | 0개 |
+| ❌ FAIL | 9개 |
+| ⏭️ SKIP/ERROR | 10개 |
+| 다운로드 시도 | 10건 |
+| 다운로드 성공 | 1건 |
+| 다운로드 실패 | 9건 |
+
+## 📋 페이지별 결과
+
+| # | 페이지 | 상태 | 다운로드 | 비고 |
+|---|--------|------|---------|------|
+| 1 | 회계관리 > 매입관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀) |
+| 2 | 회계관리 > 일일 일보 | ❌ FAIL | 0/1 | API 응답 404 |
+| 3 | 회계관리 > 계좌입출금내역 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 4 | 회계관리 > 카드사용내역 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 5 | 회계관리 > 지출예상내역서 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀, PDF) |
+| 6 | 회계관리 > 세금계산서관리 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 7 | 회계관리 > 결제내역 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀, Excel, 다운로드) |
+| 8 | 회계관리 > 매출관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀) |
+| 9 | 회계관리 > 미수금현황 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 10 | 회계관리 > 출금관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀, 다운로드) |
+| 11 | 회계관리 > 거래처원장 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 12 | 결재관리 > 결재함 | ❌ FAIL | 0/1 | API 응답 500 |
+| 13 | 결재관리 > 참조함 | ❌ FAIL | 0/1 | API 응답 500 |
+| 14 | 인사관리 > 근태현황 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀) |
+| 15 | 자재관리 > 재고현황 | ❌ FAIL | 0/1 | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+| 16 | 구매관리 > 구매현황 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀, Excel) |
+| 17 | 생산관리 > 작업실적 | ✅ PASS | 1/1 | |
+| 18 | 판매관리 > 단가관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀) |
+| 19 | 판매관리 > 거래처관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: 엑셀) |
+| 20 | 판매관리 > 견적관리 | ⏭️ NO_BUTTON | - | 다운로드 버튼 없음 (검색: PDF, 출력) |
+
+## 📂 다운로드 상세 결과
+
+### 회계관리 > 일일 일보
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 | excel | ❌ | - | - | API 응답 404 |
+
+### 회계관리 > 계좌입출금내역
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 회계관리 > 카드사용내역
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 회계관리 > 세금계산서관리
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 회계관리 > 미수금현황
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 회계관리 > 거래처원장
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 결재관리 > 결재함
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| PDF | pdf | ❌ | - | - | API 응답 500 |
+
+### 결재관리 > 참조함
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| PDF | pdf | ❌ | - | - | API 응답 500 |
+
+### 자재관리 > 재고현황
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ❌ | - | - | 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃) |
+
+### 생산관리 > 작업실적
+
+| 버튼 | 유형 | 결과 | 파일명 | 크기 | 비고 |
+|------|------|------|--------|------|------|
+| 엑셀 다운로드 | excel | ✅ | 작업실적_20260304_221308.xlsx | 17.2KB | |
+
+## 📁 다운로드된 파일 목록
+
+| # | 파일명 | 크기 |
+|---|--------|------|
+| 1 | 작업실적_20260304_221308.xlsx | 17.2KB |
+
+## ❌ 실패/이슈 항목
+
+- **회계관리 > 매입관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀)
+- **회계관리 > 일일 일보**: FAIL - 엑셀: API 응답 404
+- **회계관리 > 계좌입출금내역**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **회계관리 > 카드사용내역**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **회계관리 > 지출예상내역서**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀, PDF)
+- **회계관리 > 세금계산서관리**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **회계관리 > 결제내역**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀, Excel, 다운로드)
+- **회계관리 > 매출관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀)
+- **회계관리 > 미수금현황**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **회계관리 > 출금관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀, 다운로드)
+- **회계관리 > 거래처원장**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **결재관리 > 결재함**: FAIL - PDF: API 응답 500
+- **결재관리 > 참조함**: FAIL - PDF: API 응답 500
+- **인사관리 > 근태현황**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀)
+- **자재관리 > 재고현황**: FAIL - 엑셀 다운로드: 다운로드 이벤트 및 API 응답 없음 (10초 타임아웃)
+- **구매관리 > 구매현황**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀, Excel)
+- **판매관리 > 단가관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀)
+- **판매관리 > 거래처관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: 엑셀)
+- **판매관리 > 견적관리**: NO_BUTTON - 다운로드 버튼 없음 (검색: PDF, 출력)
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-02-27_16-08-22.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-02-27_16-08-22.md
deleted file mode 100644
index 42a75d3..0000000
--- a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-02-27_16-08-22.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# E2E 전체 테스트 결과 요약
-
-**실행 시간**: 2026-02-27_16-08-22
-**총 소요 시간**: 8.3분
-**전체 시나리오**: 8개 | **성공**: 0개 | **실패**: 8개
-
-## 카테고리별 요약
-| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
-|---------|-----------|------|------|--------|
-| 기능 테스트 | 8 | 0 | 8 | 0% |
-
-## 시나리오별 결과
-| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
-|---|---------|------|------|------|------|---------|
-| 1 | 연속 등록 테스트: 입금관리 | ❌ | 26 | 25 | 1 | 74.8 |
-| 2 | 연속 등록 테스트: 자유게시판 | ❌ | 33 | 32 | 1 | 95.1 |
-| 3 | Create+Delete 테스트: 자유게시판 | ❌ | 12 | 11 | 1 | 41.0 |
-| 4 | Full CRUD 테스트: 매출관리 | ❌ | 20 | 19 | 1 | 54.0 |
-| 5 | Full CRUD 테스트: 자유게시판 | ❌ | 20 | 19 | 1 | 57.2 |
-| 6 | 새로고침 데이터 유지 검증: 입금관리 | ❌ | 16 | 15 | 1 | 60.9 |
-| 7 | 새로고침 데이터 유지 검증: 자유게시판 | ❌ | 16 | 15 | 1 | 53.4 |
-| 8 | Full CRUD 테스트: 매출관리 | ❌ | 23 | 22 | 1 | 59.0 |
-
-## 실패 시나리오 상세
-
-### ❌ 연속 등록 테스트: 입금관리 (batch-create-acc-deposit)
-- Step 23 ([회계관리 > 입금관리] [DELETE #2] 데이터 삭제): E2E_TEST_ 데이터 없음 (ts=20260227_160016)
-
-### ❌ 연속 등록 테스트: 자유게시판 (batch-create-board)
-- Step 33 ([게시판 > 자유게시판] [VERIFY] 전체 삭제 확인): 기대 0건, 실제 3건 rows=10 body=true row0=[ 1
-0E2E_BATCH_3_20260227_160131
- 회원 4 게시됨 2026-02-27]
-
-### ❌ Create+Delete 테스트: 자유게시판 (create-delete-board)
-- Step 12 ([게시판 > 자유게시판] [VERIFY] 삭제 확인): E2E_TEST_ 데이터가 여전히 존재 - 수동 삭제 필요
-
-### ❌ Full CRUD 테스트: 매출관리 (full-crud-acc-sales)
-- Step 15 ([회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산)): evaluate returned ok:false
-
-### ❌ Full CRUD 테스트: 자유게시판 (full-crud-board)
-- Step 20 ([게시판 > 자유게시판] [VERIFY] 삭제 확인): E2E_TEST_ 데이터가 여전히 존재
-
-### ❌ 새로고침 데이터 유지 검증: 입금관리 (reload-persist-acc-deposit)
-- Step 3 ([회계관리 > 입금관리] [CREATE] 데이터 생성): 등록 실패 (API POST 없음, url=/accounting/deposits?mode=new)
-
-### ❌ 새로고침 데이터 유지 검증: 자유게시판 (reload-persist-board)
-- Step 16 ([게시판 > 자유게시판] [VERIFY] 삭제 확인): 삭제된 데이터(ts=20260227_160639)가 여전히 존재
-
-### ❌ Full CRUD 테스트: 매출관리 (sales-management)
-- Step 16 ([회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산 확인)): evaluate returned ok:false
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-48-40.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-48-40.md
new file mode 100644
index 0000000..4bcc46f
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-48-40.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-02_21-48-40
+**총 소요 시간**: 0.4분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ❌ | 23 | 20 | 1 | 21.0 |
+
+## 실패 시나리오 상세
+
+### ❌ 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 (settings-card)
+- Step 2 (URL 검증): URL missing: /settings/card
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-52-17.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-52-17.md
new file mode 100644
index 0000000..600f194
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-52-17.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-02_21-52-17
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.1 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-55-32.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-55-32.md
new file mode 100644
index 0000000..9b84486
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-55-32.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-02_21-55-32
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 시스템 대시보드 위젯/통계/현황판/자금현황/지출예상/설정 테스트 | ✅ | 20 | 19 | 0 | 11.0 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-58-59.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-58-59.md
new file mode 100644
index 0000000..e03bda3
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_21-58-59.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-02_21-58-59
+**총 소요 시간**: 0.4분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ❌ | 23 | 20 | 1 | 21.1 |
+
+## 실패 시나리오 상세
+
+### ❌ 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 (material-dispatch)
+- Step 2 (URL 검증): URL missing: /shipment/dispatch
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_22-03-42.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_22-03-42.md
new file mode 100644
index 0000000..9622484
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-02_22-03-42.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-02_22-03-42
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.0 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-39-07.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-39-07.md
new file mode 100644
index 0000000..c34ee5e
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-39-07.md
@@ -0,0 +1,22 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-39-07
+**총 소요 시간**: 0.6분
+**전체 시나리오**: 2개 | **성공**: 2개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 1 | 1 | 0 | 100% |
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 3 | 0 | 12.5 |
+| 2 | 결재함 E2E 테스트 | ✅ | 25 | 23 | 0 | 25.4 |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-42-04.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-42-04.md
new file mode 100644
index 0000000..895c8a8
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-42-04.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-42-04
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 11.9 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-45-29.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-45-29.md
new file mode 100644
index 0000000..adc5116
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-45-29.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-45-29
+**총 소요 시간**: 0.5분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 27.6 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-48-25.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-48-25.md
new file mode 100644
index 0000000..13d4b34
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-48-25.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-48-25
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.1 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-51-31.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-51-31.md
new file mode 100644
index 0000000..0c80dc1
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-51-31.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-51-31
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 카드사용내역 테스트 | ✅ | 19 | 16 | 0 | 10.4 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-54-50.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-54-50.md
new file mode 100644
index 0000000..2c8db14
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-54-50.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-54-50
+**총 소요 시간**: 0.3분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 19.1 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-58-48.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-58-48.md
new file mode 100644
index 0000000..276a388
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_14-58-48.md
@@ -0,0 +1,32 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_14-58-48
+**총 소요 시간**: 1.1분
+**전체 시나리오**: 6개 | **성공**: 6개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 1 | 1 | 0 | 100% |
+| 기능 테스트 | 4 | 4 | 0 | 100% |
+| 성능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 12.5 |
+| 2 | 근태현황 출퇴근 테스트 | ✅ | 17 | 17 | 0 | 12.9 |
+| 3 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.3 |
+| 4 | 근태현황 테스트 | ✅ | 19 | 14 | 0 | 11.9 |
+| 5 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 6 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 10.1 |
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-02-06.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-02-06.md
new file mode 100644
index 0000000..c719f75
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-02-06.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-02-06
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 12.4 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-05-38.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-05-38.md
new file mode 100644
index 0000000..0edaacd
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-05-38.md
@@ -0,0 +1,29 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-05-38
+**총 소요 시간**: 0.6분
+**전체 시나리오**: 3개 | **성공**: 3개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 1 | 1 | 0 | 100% |
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+| 성능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 11.4 |
+| 2 | 급여관리 테스트 | ✅ | 22 | 22 | 0 | 13.2 |
+| 3 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 9.1 |
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-08-36.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-08-36.md
new file mode 100644
index 0000000..38fec56
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-08-36.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-08-36
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력관리 테스트 | ✅ | 8 | 7 | 0 | 10.7 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-11-47.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-11-47.md
new file mode 100644
index 0000000..26f45ab
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-11-47.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-11-47
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 바로빌연동관리 테스트 | ✅ | 8 | 6 | 0 | 11.7 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-14-55.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-14-55.md
new file mode 100644
index 0000000..1a5adf1
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-14-55.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-14-55
+**총 소요 시간**: 0.1분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 9.0 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-18-10.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-18-10.md
new file mode 100644
index 0000000..80d621f
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_15-18-10.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_15-18-10
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 상품권관리 테스트 | ✅ | 11 | 9 | 0 | 12.3 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_16-52-09.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_16-52-09.md
new file mode 100644
index 0000000..6f043b2
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_16-52-09.md
@@ -0,0 +1,289 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_16-52-09
+**총 소요 시간**: 88.3분
+**전체 시나리오**: 206개 | **성공**: 206개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 18 | 18 | 0 | 100% |
+| 기능 테스트 | 149 | 149 | 0 | 100% |
+| 엣지 케이스 | 17 | 17 | 0 | 100% |
+| 성능 테스트 | 17 | 17 | 0 | 100% |
+| 비즈니스 워크플로우 | 5 | 5 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 회계관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.4 |
+| 2 | 접근성 검사: 회계관리 > 입금관리 | ✅ | 4 | 3 | 0 | 12.4 |
+| 3 | 접근성 검사: 회계관리 > 매입관리 | ✅ | 4 | 4 | 0 | 11.4 |
+| 4 | 접근성 검사: 회계관리 > 매출관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 5 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 3 | 0 | 12.3 |
+| 6 | 접근성 검사: 결재관리 > 기안함 | ✅ | 4 | 3 | 0 | 12.4 |
+| 7 | 접근성 검사: 게시판 > 자유게시판 | ✅ | 4 | 3 | 0 | 12.4 |
+| 8 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 9 | 접근성 검사: 인사관리 > 부서관리 | ✅ | 4 | 3 | 0 | 12.5 |
+| 10 | 접근성 검사: 인사관리 > 사원관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 11 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 11.4 |
+| 12 | 접근성 검사: 자재관리 > 입고관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 13 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 3 | 0 | 12.3 |
+| 14 | 접근성 검사: 생산관리 > 품목관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 15 | 접근성 검사: 생산관리 > 작업지시 | ✅ | 4 | 3 | 0 | 12.4 |
+| 16 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.4 |
+| 17 | 접근성 검사: 판매관리 > 견적관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 18 | 접근성 검사: 판매관리 > 수주관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 19 | 악성채권추심관리 테스트 | ✅ | 24 | 22 | 0 | 10.4 |
+| 20 | 계좌입출금내역 테스트 | ✅ | 19 | 16 | 0 | 10.2 |
+| 21 | 어음관리 테스트 | ✅ | 24 | 18 | 0 | 19.5 |
+| 22 | 카드사용내역 테스트 | ✅ | 19 | 16 | 0 | 10.2 |
+| 23 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 16.5 |
+| 24 | 일일 일보 테스트 | ✅ | 10 | 10 | 0 | 11.6 |
+| 25 | 입금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
+| 26 | 지출예상내역서 테스트 | ✅ | 19 | 14 | 0 | 11.7 |
+| 27 | 상품권관리 테스트 | ✅ | 11 | 9 | 0 | 12.2 |
+| 28 | 일반전표입력 테스트 | ✅ | 12 | 10 | 0 | 14.2 |
+| 29 | 결제내역 테스트 | ✅ | 19 | 15 | 0 | 13.5 |
+| 30 | 매입관리 테스트 | ✅ | 18 | 14 | 0 | 13.6 |
+| 31 | 미수금현황 테스트 | ✅ | 19 | 16 | 0 | 11.8 |
+| 32 | 매출관리 테스트 | ✅ | 18 | 14 | 0 | 13.6 |
+| 33 | 세금계산서발행 테스트 | ✅ | 11 | 10 | 0 | 10.9 |
+| 34 | 세금계산서관리 테스트 | ✅ | 11 | 10 | 0 | 10.9 |
+| 35 | 출금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
+| 36 | API 건강성 감사: 회계 | ✅ | 39 | 39 | 0 | 46.5 |
+| 37 | API 건강성 감사: 생산/기타 | ✅ | 35 | 35 | 0 | 46.9 |
+| 38 | API 건강성 감사: 판매/인사 | ✅ | 35 | 35 | 0 | 46.8 |
+| 39 | 결재함 E2E 테스트 | ✅ | 25 | 23 | 0 | 25.5 |
+| 40 | 근태현황 출퇴근 테스트 | ✅ | 17 | 17 | 0 | 12.9 |
+| 41 | 연속 등록 테스트: 어음관리 | ✅ | 39 | 39 | 0 | 96.3 |
+| 42 | 연속 등록 테스트: 입금관리 | ✅ | 39 | 39 | 0 | 102.4 |
+| 43 | 연속 등록 테스트: 자유게시판 | ✅ | 39 | 39 | 0 | 94.9 |
+| 44 | 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리 | ✅ | 14 | 14 | 0 | 26.7 |
+| 45 | 게시판 관리 테스트 | ✅ | 22 | 22 | 0 | 11.4 |
+| 46 | 게시판 테스트 페이지 테스트 | ✅ | 13 | 11 | 0 | 14.5 |
+| 47 | 설정 - 회사정보 | ✅ | 31 | 18 | 0 | 31.7 |
+| 48 | Create+Delete 테스트: 어음관리 | ✅ | 12 | 12 | 0 | 38.5 |
+| 49 | Create+Delete 테스트: 입금관리 | ✅ | 12 | 12 | 0 | 35.9 |
+| 50 | Create+Delete 테스트: 자유게시판 | ✅ | 15 | 15 | 0 | 42.1 |
+| 51 | 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산) | ✅ | 15 | 15 | 0 | 39.2 |
+| 52 | 이벤트 게시판 테스트 | ✅ | 19 | 14 | 0 | 13.8 |
+| 53 | FAQ 테스트 | ✅ | 16 | 12 | 0 | 11.0 |
+| 54 | 1:1 문의 테스트 | ✅ | 12 | 10 | 0 | 14.5 |
+| 55 | 공지사항 테스트 | ✅ | 19 | 15 | 0 | 13.8 |
+| 56 | 부서관리 테스트 | ✅ | 16 | 12 | 0 | 12.9 |
+| 57 | 입금관리 테스트 | ✅ | 21 | 20 | 0 | 15.8 |
+| 58 | 상세 조회 왕복 검증: 회계 | ✅ | 23 | 23 | 0 | 32.8 |
+| 59 | 상세 조회 왕복 검증: 인사/게시판 | ✅ | 15 | 15 | 0 | 25.6 |
+| 60 | 상세 조회 왕복 검증: 판매 | ✅ | 23 | 23 | 0 | 32.7 |
+| 61 | 목록↔상세 필드별 대조 검증: 매출관리 | ✅ | 12 | 12 | 0 | 23.1 |
+| 62 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 11.8 |
+| 63 | 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리) | ✅ | 14 | 14 | 0 | 23.7 |
+| 64 | 엣지 케이스: 경계값 입력 (회계 > 입금관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 65 | 엣지 케이스: 경계값 입력 (인사 > 사원관리) | ✅ | 14 | 14 | 0 | 23.5 |
+| 66 | 엣지 케이스: 경계값 입력 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 67 | 엣지 케이스: 동시 액션 (인사 > 근태관리) | ✅ | 5 | 5 | 0 | 13.9 |
+| 68 | 엣지 케이스: 빈 폼 제출 (회계 > 입금관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 69 | 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.1 |
+| 70 | 엣지 케이스: 빈 폼 제출 (인사 > 사원관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 71 | 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 72 | 엣지 케이스: 숫자 경계값 (회계 > 입금관리) | ✅ | 13 | 13 | 0 | 23.7 |
+| 73 | 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리) | ✅ | 10 | 10 | 0 | 27.3 |
+| 74 | 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판) | ✅ | 6 | 6 | 0 | 15.9 |
+| 75 | 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.9 |
+| 76 | 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.9 |
+| 77 | 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판) | ✅ | 14 | 14 | 0 | 32.2 |
+| 78 | 엣지 케이스: 특수문자 검색 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 32.1 |
+| 79 | 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판) | ✅ | 10 | 10 | 0 | 20.5 |
+| 80 | 직원 등록 테스트 | ✅ | 22 | 21 | 0 | 31.1 |
+| 81 | 폼 유효성 검증 감사: 회계 (어음/입금/출금) | ✅ | 20 | 20 | 0 | 43.2 |
+| 82 | 폼 유효성 검증 감사: 생산/게시판 | ✅ | 13 | 13 | 0 | 25.2 |
+| 83 | 폼 유효성 검증 감사: 판매 (거래처/수주/견적) | ✅ | 20 | 20 | 0 | 43.3 |
+| 84 | 자유게시판 E2E 테스트 | ✅ | 22 | 22 | 0 | 13.2 |
+| 85 | Full CRUD 테스트: 어음관리 (Enhanced) | ✅ | 32 | 32 | 0 | 57.1 |
+| 86 | Full CRUD 테스트: 입금관리 (금액포맷+상세대조+API검증) | ✅ | 35 | 35 | 0 | 56.0 |
+| 87 | Full CRUD 테스트: 매출관리 (계산검증+상세대조+API검증) | ✅ | 33 | 33 | 0 | 55.4 |
+| 88 | Full CRUD 테스트: 자유게시판 (Enhanced) | ✅ | 33 | 33 | 0 | 64.0 |
+| 89 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.2 |
+| 90 | 근태현황 테스트 | ✅ | 19 | 14 | 0 | 12.0 |
+| 91 | 부서관리 테스트 | ✅ | 14 | 14 | 0 | 9.9 |
+| 92 | 사원관리 테스트 | ✅ | 22 | 22 | 0 | 13.5 |
+| 93 | 급여관리 테스트 | ✅ | 22 | 22 | 0 | 13.2 |
+| 94 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 19.1 |
+| 95 | 입력 필드 전수 테스트: 어음/입금/출금 (1/5) | ✅ | 20 | 20 | 0 | 54.2 |
+| 96 | 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5) | ✅ | 13 | 13 | 0 | 61.3 |
+| 97 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 30.8 |
+| 98 | 입력 필드 전수 테스트: 작업지시/작업실적 (4/5) | ✅ | 13 | 13 | 0 | 20.6 |
+| 99 | 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5) | ✅ | 20 | 20 | 0 | 41.6 |
+| 100 | 재고현황 테스트 | ✅ | 12 | 12 | 0 | 10.1 |
+| 101 | 품목관리 테스트 | ✅ | 16 | 11 | 0 | 20.6 |
+| 102 | 품목기준관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 103 | 로그인 테스트 (끝판왕) | ✅ | 24 | 21 | 0 | 13.3 |
+| 104 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.0 |
+| 105 | 입고관리 테스트 | ✅ | 25 | 19 | 0 | 17.7 |
+| 106 | 재고현황 테스트 | ✅ | 19 | 16 | 0 | 10.2 |
+| 107 | 다중 품목 등록 + 자동계산 + 품목삭제 재계산: 매출관리 | ✅ | 22 | 22 | 0 | 44.9 |
+| 108 | 페이지네이션 & 정렬 검증: 회계 | ✅ | 17 | 17 | 0 | 39.3 |
+| 109 | 페이지네이션 & 정렬 검증: 인사/게시판 | ✅ | 11 | 11 | 0 | 27.8 |
+| 110 | 페이지네이션 & 정렬 검증: 판매 | ✅ | 17 | 17 | 0 | 37.3 |
+| 111 | PDF 다운로드 전체 검사 | ✅ | 5 | 5 | 0 | 1.2 |
+| 112 | 성능 측정: 회계관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 113 | 성능 측정: 회계관리 > 입금관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 114 | 성능 측정: 회계관리 > 매입관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 115 | 성능 측정: 회계관리 > 매출관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 116 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 117 | 성능 측정: 인사관리 > 부서관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 118 | 성능 측정: 인사관리 > 사원관리 | ✅ | 5 | 5 | 0 | 9.2 |
+| 119 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 120 | 성능 측정: 자재관리 > 입고관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 121 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 9.1 |
+| 122 | 성능 측정: 생산관리 > 품목관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 123 | 성능 측정: 생산관리 > 작업지시 | ✅ | 5 | 5 | 0 | 9.1 |
+| 124 | 성능 측정: 생산관리 > 작업실적 | ✅ | 5 | 5 | 0 | 9.0 |
+| 125 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 126 | 성능 측정: 판매관리 > 견적관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 127 | 성능 측정: 판매관리 > 수주관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 128 | 성능 측정: 판매관리 > 단가관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 129 | 생산 현황판 테스트 | ✅ | 12 | 10 | 0 | 12.0 |
+| 130 | 생산품목관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 131 | 작업지시 CRUD + 필드검증 + API확인: 생산관리 | ✅ | 30 | 30 | 0 | 41.6 |
+| 132 | 작업실적 테스트 | ✅ | 23 | 19 | 0 | 16.7 |
+| 133 | 작업자 화면 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 134 | 발주관리 테스트 | ✅ | 12 | 10 | 0 | 14.0 |
+| 135 | 구매 단가관리 테스트 | ✅ | 11 | 8 | 0 | 20.3 |
+| 136 | 구매현황 테스트 | ✅ | 10 | 9 | 0 | 12.6 |
+| 137 | 구매관리 거래처관리 테스트 | ✅ | 11 | 9 | 0 | 14.0 |
+| 138 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.6 |
+| 139 | 제품검사관리 테스트 | ✅ | 25 | 19 | 0 | 17.3 |
+| 140 | 실적신고관리 테스트 | ✅ | 12 | 11 | 0 | 10.8 |
+| 141 | 입고관리 테스트 | ✅ | 9 | 9 | 0 | 9.8 |
+| 142 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 27.6 |
+| 143 | 새로고침 데이터 유지 검증: 어음관리 | ✅ | 18 | 18 | 0 | 45.6 |
+| 144 | 새로고침 데이터 유지 검증: 입금관리 | ✅ | 16 | 16 | 0 | 51.7 |
+| 145 | 새로고침 데이터 유지 검증: 매출관리 | ✅ | 16 | 16 | 0 | 49.9 |
+| 146 | 새로고침 데이터 유지 검증: 자유게시판 | ✅ | 19 | 19 | 0 | 55.8 |
+| 147 | 판매거래처관리 테스트 | ✅ | 24 | 19 | 0 | 18.8 |
+| 148 | Full CRUD 테스트: 매출관리 | ✅ | 23 | 23 | 0 | 62.3 |
+| 149 | 수주관리 CRUD + 계산검증 테스트 | ✅ | 32 | 32 | 0 | 48.5 |
+| 150 | 단가관리 테스트 | ✅ | 27 | 24 | 0 | 14.5 |
+| 151 | 견적관리 CRUD + 계산검증 테스트 | ✅ | 32 | 31 | 0 | 45.2 |
+| 152 | 현장관리 테스트 | ✅ | 11 | 9 | 0 | 14.0 |
+| 153 | 기안함 검색 버그 상세 검증 | ✅ | 11 | 11 | 0 | 25.3 |
+| 154 | 급여관리 검색 버그 상세 검증 | ✅ | 10 | 10 | 0 | 27.2 |
+| 155 | 검색/필터/페이지네이션 테스트: 매출관리 | ✅ | 18 | 18 | 0 | 32.7 |
+| 156 | 검색 기능 동작 검증: 회계 | ✅ | 20 | 20 | 0 | 52.4 |
+| 157 | 검색 기능 감사: 회계관리 (1/6) | ✅ | 20 | 20 | 0 | 43.7 |
+| 158 | 검색 기능 감사: 회계관리2+인사관리 (2/6) | ✅ | 20 | 20 | 0 | 36.5 |
+| 159 | 검색 기능 감사: 게시판/고객센터/설정1 (5/6) | ✅ | 20 | 20 | 0 | 36.9 |
+| 160 | 검색 기능 감사: 생산/품목/품질/자재 (3/6) | ✅ | 20 | 20 | 0 | 30.1 |
+| 161 | 검색 기능 감사: 판매/출고/결재 (4/6) | ✅ | 16 | 16 | 0 | 37.9 |
+| 162 | 검색 기능 감사: 설정2 (6/6) | ✅ | 14 | 14 | 0 | 23.7 |
+| 163 | 검색 기능 동작 검증: 인사/게시판 | ✅ | 13 | 13 | 0 | 39.6 |
+| 164 | 검색 기능 동작 검증: 판매 | ✅ | 20 | 20 | 0 | 40.9 |
+| 165 | 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10) | ✅ | 11 | 11 | 0 | 91.1 |
+| 166 | 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10) | ✅ | 11 | 11 | 0 | 85.1 |
+| 167 | 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11) | ✅ | 11 | 11 | 0 | 107.1 |
+| 168 | 검색 옵션 전수 테스트: 미수금/결제/지출예상 (4/11) | ✅ | 11 | 11 | 0 | 50.5 |
+| 169 | 검색 옵션 전수 테스트: 결재관리 (6/10) | ✅ | 11 | 11 | 0 | 75.2 |
+| 170 | 검색 옵션 전수 테스트: 게시판/고객센터 (5/10) | ✅ | 19 | 19 | 0 | 85.0 |
+| 171 | 검색 옵션 전수 테스트: 인사관리 전체 (4/10) | ✅ | 27 | 27 | 0 | 107.0 |
+| 172 | 검색 옵션 전수 테스트: 생산/품목관리 (8/11) | ✅ | 19 | 19 | 0 | 49.5 |
+| 173 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 73.9 |
+| 174 | 검색 옵션 전수 테스트: 판매관리/출고 (7/11) | ✅ | 19 | 19 | 0 | 41.4 |
+| 175 | 검색 옵션 전수 테스트: 설정 (10/11) | ✅ | 19 | 19 | 0 | 40.3 |
+| 176 | 계정정보 테스트 | ✅ | 16 | 14 | 0 | 11.3 |
+| 177 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 10.1 |
+| 178 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 12.3 |
+| 179 | 바로빌연동관리 테스트 | ✅ | 8 | 6 | 0 | 11.6 |
+| 180 | 달력관리 테스트 | ✅ | 8 | 7 | 0 | 10.6 |
+| 181 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.0 |
+| 182 | 회사정보 테스트 | ✅ | 16 | 13 | 0 | 13.1 |
+| 183 | 알림설정 테스트 | ✅ | 16 | 13 | 0 | 12.5 |
+| 184 | 권한관리 테스트 | ✅ | 20 | 18 | 0 | 12.4 |
+| 185 | 팝업관리 테스트 | ✅ | 23 | 21 | 0 | 14.0 |
+| 186 | 직책관리 테스트 | ✅ | 12 | 11 | 0 | 10.9 |
+| 187 | 직급관리 테스트 | ✅ | 12 | 11 | 0 | 10.9 |
+| 188 | 구독관리 테스트 | ✅ | 16 | 12 | 0 | 12.7 |
+| 189 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 8.9 |
+| 190 | 근무일정 테스트 | ✅ | 16 | 15 | 0 | 9.9 |
+| 191 | 출고관리 테스트 | ✅ | 13 | 11 | 0 | 18.2 |
+| 192 | 점검표 관리 테스트 | ✅ | 11 | 8 | 0 | 17.7 |
+| 193 | 단가배포관리 테스트 | ✅ | 11 | 8 | 0 | 17.8 |
+| 194 | 공정관리 테스트 | ✅ | 12 | 9 | 0 | 17.7 |
+| 195 | 단가표관리 테스트 | ✅ | 12 | 9 | 0 | 17.7 |
+| 196 | 시스템 대시보드 위젯/통계/현황판/자금현황/지출예상/설정 테스트 | ✅ | 20 | 19 | 0 | 11.0 |
+| 197 | Test bills 14 steps | ✅ | 14 | 14 | 0 | 61.7 |
+| 198 | Test bills page minimal | ✅ | 3 | 3 | 0 | 7.1 |
+| 199 | 거래처원장 테스트 | ✅ | 34 | 30 | 0 | 20.6 |
+| 200 | 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리 | ✅ | 36 | 36 | 0 | 46.3 |
+| 201 | 출금관리 테스트 | ✅ | 21 | 20 | 0 | 15.7 |
+| 202 | 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름 | ✅ | 15 | 15 | 0 | 29.7 |
+| 203 | 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름 | ✅ | 14 | 14 | 0 | 37.7 |
+| 204 | 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 | ✅ | 15 | 15 | 0 | 39.0 |
+| 205 | 비즈니스 워크플로우: 구매→매입 흐름 | ✅ | 7 | 7 | 0 | 21.9 |
+| 206 | 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름 | ✅ | 22 | 22 | 0 | 27.2 |
+
+## 비즈니스 워크플로우 상세
+
+### ✅ 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름
+- 스텝: 15/15 성공 | 소요: 29.7초
+- 단계: CAPTURE_POST(✅) → CHECK_DRAFTS(✅) → CHECK_APPROVALS(✅) → CHECK_REFERENCES(✅)
+
+### ✅ 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름
+- 스텝: 14/14 성공 | 소요: 37.7초
+- 단계: CAPTURE_EMPLOYEE(✅) → CHECK_DEPARTMENTS(✅) → VERIFY_EMPLOYEE_ATTEND(✅) → VERIFY_EMPLOYEE_SALARY(✅)
+
+### ✅ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
+- 스텝: 15/15 성공 | 소요: 39.0초
+- 단계: CAPTURE_ITEM(✅) → VERIFY_ITEM_RECEIVING(✅) → VERIFY_ITEM_STOCK(✅) → CHECK_WITHDRAWAL(✅)
+
+### ✅ 비즈니스 워크플로우: 구매→매입 흐름
+- 스텝: 7/7 성공 | 소요: 21.9초
+- 단계: CAPTURE_VENDOR(✅) → VERIFY_VENDOR_ACC(✅)
+
+### ✅ 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름
+- 스텝: 22/22 성공 | 소요: 27.2초
+- 단계: INIT(✅) → CAPTURE_CLIENT(✅) → VERIFY(✅) → CAPTURE_PRICE_ITEM(✅) → VERIFY(✅) → CHECK_ORDERS(✅) → VERIFY(✅) → CHECK_SALES(✅) → VERIFY(✅) → VERIFY(✅) → SUMMARY(✅)
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 회계관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 입금관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매입관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매출관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 부서관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 사원관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 입고관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
+| 성능 측정: 생산관리 > 품목관리 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업지시 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업실적 | - | - | - | - |
+| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 견적관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 수주관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 단가관리 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 회계관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 입금관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매입관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매출관리 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 기안함 | - | - | - | - | - |
+| 접근성 검사: 게시판 > 자유게시판 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 부서관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 사원관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 입고관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 품목관리 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 작업지시 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 견적관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 수주관리 | - | - | - | - | - |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-41-16.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-41-16.md
new file mode 100644
index 0000000..20b6d6e
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-41-16.md
@@ -0,0 +1,24 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_19-41-16
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 29 | 21 | 4 | 41.2 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- **진단**: element_timeout → 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
+- Step 7 ([CREATE] 등록 다이얼로그 대기): Step timeout (>3s): [CREATE] 등록 다이얼로그 대기
+- Step 18 ([UPDATE] 수정 다이얼로그 대기): Step timeout (>3s): [UPDATE] 수정 다이얼로그 대기
+- Step 20 ([UPDATE] 수정 버튼 클릭): 수정 버튼 없음
+- Step 24 ([DELETE] 삭제 다이얼로그 대기): Step timeout (>3s): [DELETE] 삭제 다이얼로그 대기
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-48-19.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-48-19.md
new file mode 100644
index 0000000..6e5b993
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-48-19.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_19-48-19
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 29 | 24 | 1 | 41.1 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 20 ([UPDATE] 수정 버튼 클릭): 수정 버튼 없음
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-55-12.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-55-12.md
new file mode 100644
index 0000000..3aa081e
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_19-55-12.md
@@ -0,0 +1,21 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_19-55-12
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 29 | 23 | 2 | 42.4 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 20 ([UPDATE] 수정 버튼 클릭): 다이얼로그 미열림
+- Step 28 ([DELETE] 목록에서 삭제 확인): evaluate returned ok:false
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-03-59.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-03-59.md
new file mode 100644
index 0000000..32726c0
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-03-59.md
@@ -0,0 +1,21 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-03-59
+**총 소요 시간**: 0.6분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 20 | 15 | 2 | 37.9 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 12 ([UPDATE] 일정명 수정 + 수정 버튼 클릭): 다이얼로그 미열림
+- Step 19 ([DELETE] 목록에서 삭제 확인): evaluate returned ok:false
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-18-14.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-18-14.md
new file mode 100644
index 0000000..fb7ab44
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-18-14.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-18-14
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 20 | 16 | 1 | 42.4 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 12 ([UPDATE] 일정명 수정 + 수정 버튼 클릭): 다이얼로그 미열림
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-24-04.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-24-04.md
new file mode 100644
index 0000000..99f045b
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-24-04.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-24-04
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 20 | 16 | 1 | 43.5 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 12 ([UPDATE] 일정명 수정 + 수정 버튼 클릭): 다이얼로그 미열림
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-29-13.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-29-13.md
new file mode 100644
index 0000000..14b6152
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-29-13.md
@@ -0,0 +1,20 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-29-13
+**총 소요 시간**: 0.9분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ❌ | 20 | 16 | 1 | 55.9 |
+
+## 실패 시나리오 상세
+
+### ❌ 달력 일정 CRUD 테스트 (settings-calendar-crud)
+- Step 12 ([UPDATE] 일정명 수정 + 수정 버튼 클릭): 다이얼로그 미열림 (재시도 포함)
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-35-37.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-35-37.md
new file mode 100644
index 0000000..9f2796a
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-35-37.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-35-37
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 달력 일정 CRUD 테스트 | ✅ | 20 | 17 | 0 | 44.4 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-38-56.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-38-56.md
new file mode 100644
index 0000000..996a217
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-38-56.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-38-56
+**총 소요 시간**: 0.7분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 수주 일괄삭제 테스트 | ✅ | 20 | 20 | 0 | 40.0 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-41-41.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-41-41.md
new file mode 100644
index 0000000..1bd1599
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-41-41.md
@@ -0,0 +1,21 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-41-41
+**총 소요 시간**: 0.3분
+**전체 시나리오**: 1개 | **성공**: 0개 | **실패**: 1개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 0 | 1 | 0% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 급여 장기요양보험 필드 검증 테스트 | ❌ | 16 | 15 | 1 | 20.1 |
+
+## 실패 시나리오 상세
+
+### ❌ 급여 장기요양보험 필드 검증 테스트 (hr-salary-long-term-care)
+- **진단**: element_timeout → 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
+- Step 12 ([CREATE] 등록 다이얼로그 대기): Step timeout (>3s): [CREATE] 등록 다이얼로그 대기
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-45-21.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-45-21.md
new file mode 100644
index 0000000..6433b3f
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_20-45-21.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_20-45-21
+**총 소요 시간**: 0.3분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 급여 장기요양보험 필드 검증 테스트 | ✅ | 16 | 16 | 0 | 18.8 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_22-17-45.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_22-17-45.md
new file mode 100644
index 0000000..7ff1d6e
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_22-17-45.md
@@ -0,0 +1,15 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_22-17-45
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 제품검사관리 테스트 | ✅ | 16 | 16 | 0 | 13.7 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_23-33-30.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_23-33-30.md
new file mode 100644
index 0000000..d1d063d
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-03_23-33-30.md
@@ -0,0 +1,19 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-03_23-33-30
+**총 소요 시간**: 2.3분
+**전체 시나리오**: 5개 | **성공**: 5개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 5 | 5 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 30.7 |
+| 2 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.6 |
+| 3 | 제품검사관리 테스트 | ✅ | 17 | 17 | 0 | 12.1 |
+| 4 | 실적신고관리 테스트 | ✅ | 12 | 12 | 0 | 9.6 |
+| 5 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 73.8 |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_11-35-53.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_11-35-53.md
new file mode 100644
index 0000000..f0d6bd4
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_11-35-53.md
@@ -0,0 +1,292 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-04_11-35-53
+**총 소요 시간**: 89.8분
+**전체 시나리오**: 209개 | **성공**: 209개 | **실패**: 0개
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 18 | 18 | 0 | 100% |
+| 기능 테스트 | 152 | 152 | 0 | 100% |
+| 엣지 케이스 | 17 | 17 | 0 | 100% |
+| 성능 테스트 | 17 | 17 | 0 | 100% |
+| 비즈니스 워크플로우 | 5 | 5 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 회계관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.5 |
+| 2 | 접근성 검사: 회계관리 > 입금관리 | ✅ | 4 | 3 | 0 | 12.9 |
+| 3 | 접근성 검사: 회계관리 > 매입관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 4 | 접근성 검사: 회계관리 > 매출관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 5 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 3 | 0 | 12.3 |
+| 6 | 접근성 검사: 결재관리 > 기안함 | ✅ | 4 | 3 | 0 | 12.3 |
+| 7 | 접근성 검사: 게시판 > 자유게시판 | ✅ | 4 | 3 | 0 | 12.3 |
+| 8 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 9 | 접근성 검사: 인사관리 > 부서관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 10 | 접근성 검사: 인사관리 > 사원관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 11 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 12 | 접근성 검사: 자재관리 > 입고관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 13 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 4 | 0 | 11.3 |
+| 14 | 접근성 검사: 생산관리 > 품목관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 15 | 접근성 검사: 생산관리 > 작업지시 | ✅ | 4 | 3 | 0 | 12.4 |
+| 16 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.3 |
+| 17 | 접근성 검사: 판매관리 > 견적관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 18 | 접근성 검사: 판매관리 > 수주관리 | ✅ | 4 | 3 | 0 | 12.4 |
+| 19 | 악성채권추심관리 테스트 | ✅ | 24 | 22 | 0 | 10.4 |
+| 20 | 계좌입출금내역 테스트 | ✅ | 19 | 16 | 0 | 10.3 |
+| 21 | 어음관리 테스트 | ✅ | 24 | 18 | 0 | 19.6 |
+| 22 | 카드사용내역 테스트 | ✅ | 19 | 16 | 0 | 10.3 |
+| 23 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 16.5 |
+| 24 | 일일 일보 테스트 | ✅ | 10 | 10 | 0 | 11.6 |
+| 25 | 입금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
+| 26 | 지출예상내역서 테스트 | ✅ | 19 | 14 | 0 | 11.6 |
+| 27 | 상품권관리 테스트 | ✅ | 11 | 9 | 0 | 12.2 |
+| 28 | 일반전표입력 테스트 | ✅ | 12 | 10 | 0 | 14.1 |
+| 29 | 결제내역 테스트 | ✅ | 19 | 15 | 0 | 13.2 |
+| 30 | 매입관리 테스트 | ✅ | 18 | 14 | 0 | 13.6 |
+| 31 | 미수금현황 테스트 | ✅ | 19 | 16 | 0 | 11.8 |
+| 32 | 매출관리 테스트 | ✅ | 18 | 14 | 0 | 13.7 |
+| 33 | 세금계산서발행 테스트 | ✅ | 11 | 10 | 0 | 10.9 |
+| 34 | 세금계산서관리 테스트 | ✅ | 11 | 10 | 0 | 10.9 |
+| 35 | 출금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
+| 36 | API 건강성 감사: 회계 | ✅ | 39 | 39 | 0 | 46.3 |
+| 37 | API 건강성 감사: 생산/기타 | ✅ | 35 | 35 | 0 | 46.9 |
+| 38 | API 건강성 감사: 판매/인사 | ✅ | 35 | 35 | 0 | 46.9 |
+| 39 | 결재함 E2E 테스트 | ✅ | 25 | 23 | 0 | 25.4 |
+| 40 | 근태현황 출퇴근 테스트 | ✅ | 17 | 17 | 0 | 12.7 |
+| 41 | 연속 등록 테스트: 어음관리 | ✅ | 39 | 39 | 0 | 96.2 |
+| 42 | 연속 등록 테스트: 입금관리 | ✅ | 39 | 39 | 0 | 102.2 |
+| 43 | 연속 등록 테스트: 자유게시판 | ✅ | 39 | 39 | 0 | 94.9 |
+| 44 | 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리 | ✅ | 14 | 14 | 0 | 26.8 |
+| 45 | 게시판 관리 테스트 | ✅ | 22 | 22 | 0 | 11.6 |
+| 46 | 게시판 테스트 페이지 테스트 | ✅ | 13 | 11 | 0 | 14.5 |
+| 47 | 설정 - 회사정보 | ✅ | 31 | 18 | 0 | 31.6 |
+| 48 | Create+Delete 테스트: 어음관리 | ✅ | 12 | 12 | 0 | 38.5 |
+| 49 | Create+Delete 테스트: 입금관리 | ✅ | 12 | 12 | 0 | 35.8 |
+| 50 | Create+Delete 테스트: 자유게시판 | ✅ | 15 | 15 | 0 | 42.2 |
+| 51 | 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산) | ✅ | 15 | 15 | 0 | 39.1 |
+| 52 | 이벤트 게시판 테스트 | ✅ | 19 | 14 | 0 | 13.8 |
+| 53 | FAQ 테스트 | ✅ | 16 | 12 | 0 | 11.0 |
+| 54 | 1:1 문의 테스트 | ✅ | 12 | 10 | 0 | 14.4 |
+| 55 | 공지사항 테스트 | ✅ | 19 | 15 | 0 | 13.8 |
+| 56 | 부서관리 테스트 | ✅ | 16 | 12 | 0 | 13.0 |
+| 57 | 입금관리 테스트 | ✅ | 21 | 20 | 0 | 15.7 |
+| 58 | 상세 조회 왕복 검증: 회계 | ✅ | 23 | 23 | 0 | 32.8 |
+| 59 | 상세 조회 왕복 검증: 인사/게시판 | ✅ | 15 | 15 | 0 | 25.7 |
+| 60 | 상세 조회 왕복 검증: 판매 | ✅ | 23 | 23 | 0 | 32.7 |
+| 61 | 목록↔상세 필드별 대조 검증: 매출관리 | ✅ | 12 | 12 | 0 | 23.2 |
+| 62 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 11.9 |
+| 63 | 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리) | ✅ | 14 | 14 | 0 | 23.6 |
+| 64 | 엣지 케이스: 경계값 입력 (회계 > 입금관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 65 | 엣지 케이스: 경계값 입력 (인사 > 사원관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 66 | 엣지 케이스: 경계값 입력 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 67 | 엣지 케이스: 동시 액션 (인사 > 근태관리) | ✅ | 5 | 5 | 0 | 13.8 |
+| 68 | 엣지 케이스: 빈 폼 제출 (회계 > 입금관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 69 | 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.1 |
+| 70 | 엣지 케이스: 빈 폼 제출 (인사 > 사원관리) | ✅ | 7 | 7 | 0 | 19.2 |
+| 71 | 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.2 |
+| 72 | 엣지 케이스: 숫자 경계값 (회계 > 입금관리) | ✅ | 13 | 13 | 0 | 23.8 |
+| 73 | 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리) | ✅ | 10 | 10 | 0 | 27.3 |
+| 74 | 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판) | ✅ | 6 | 6 | 0 | 15.8 |
+| 75 | 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.9 |
+| 76 | 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.9 |
+| 77 | 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판) | ✅ | 14 | 14 | 0 | 32.1 |
+| 78 | 엣지 케이스: 특수문자 검색 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 32.1 |
+| 79 | 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판) | ✅ | 10 | 10 | 0 | 20.4 |
+| 80 | 직원 등록 테스트 | ✅ | 22 | 21 | 0 | 30.9 |
+| 81 | 폼 유효성 검증 감사: 회계 (어음/입금/출금) | ✅ | 20 | 20 | 0 | 43.2 |
+| 82 | 폼 유효성 검증 감사: 생산/게시판 | ✅ | 13 | 13 | 0 | 25.1 |
+| 83 | 폼 유효성 검증 감사: 판매 (거래처/수주/견적) | ✅ | 20 | 20 | 0 | 43.2 |
+| 84 | 자유게시판 E2E 테스트 | ✅ | 22 | 22 | 0 | 13.1 |
+| 85 | Full CRUD 테스트: 어음관리 (Enhanced) | ✅ | 32 | 32 | 0 | 57.1 |
+| 86 | Full CRUD 테스트: 입금관리 (금액포맷+상세대조+API검증) | ✅ | 35 | 35 | 0 | 56.0 |
+| 87 | Full CRUD 테스트: 매출관리 (계산검증+상세대조+API검증) | ✅ | 33 | 33 | 0 | 55.4 |
+| 88 | Full CRUD 테스트: 자유게시판 (Enhanced) | ✅ | 33 | 33 | 0 | 64.0 |
+| 89 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.3 |
+| 90 | 근태현황 테스트 | ✅ | 19 | 14 | 0 | 11.9 |
+| 91 | 부서관리 테스트 | ✅ | 14 | 14 | 0 | 9.9 |
+| 92 | 사원관리 테스트 | ✅ | 22 | 22 | 0 | 13.4 |
+| 93 | 급여 장기요양보험 필드 검증 테스트 | ✅ | 16 | 16 | 0 | 18.6 |
+| 94 | 급여관리 테스트 | ✅ | 22 | 22 | 0 | 13.2 |
+| 95 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 19.0 |
+| 96 | 입력 필드 전수 테스트: 어음/입금/출금 (1/5) | ✅ | 20 | 20 | 0 | 54.0 |
+| 97 | 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5) | ✅ | 13 | 13 | 0 | 60.7 |
+| 98 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 30.7 |
+| 99 | 입력 필드 전수 테스트: 작업지시/작업실적 (4/5) | ✅ | 13 | 13 | 0 | 20.7 |
+| 100 | 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5) | ✅ | 20 | 20 | 0 | 41.7 |
+| 101 | 재고현황 테스트 | ✅ | 12 | 12 | 0 | 10.1 |
+| 102 | 품목관리 테스트 | ✅ | 16 | 11 | 0 | 20.6 |
+| 103 | 품목기준관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 104 | 로그인 테스트 (끝판왕) | ✅ | 24 | 21 | 0 | 13.3 |
+| 105 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 13.9 |
+| 106 | 입고관리 테스트 | ✅ | 25 | 19 | 0 | 17.8 |
+| 107 | 재고현황 테스트 | ✅ | 19 | 16 | 0 | 10.2 |
+| 108 | 다중 품목 등록 + 자동계산 + 품목삭제 재계산: 매출관리 | ✅ | 22 | 22 | 0 | 44.8 |
+| 109 | 페이지네이션 & 정렬 검증: 회계 | ✅ | 17 | 17 | 0 | 39.3 |
+| 110 | 페이지네이션 & 정렬 검증: 인사/게시판 | ✅ | 11 | 11 | 0 | 27.8 |
+| 111 | 페이지네이션 & 정렬 검증: 판매 | ✅ | 17 | 17 | 0 | 37.2 |
+| 112 | PDF 다운로드 전체 검사 | ✅ | 5 | 5 | 0 | 1.2 |
+| 113 | 성능 측정: 회계관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 114 | 성능 측정: 회계관리 > 입금관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 115 | 성능 측정: 회계관리 > 매입관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 116 | 성능 측정: 회계관리 > 매출관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 117 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 118 | 성능 측정: 인사관리 > 부서관리 | ✅ | 5 | 5 | 0 | 9.2 |
+| 119 | 성능 측정: 인사관리 > 사원관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 120 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 121 | 성능 측정: 자재관리 > 입고관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 122 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 9.1 |
+| 123 | 성능 측정: 생산관리 > 품목관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 124 | 성능 측정: 생산관리 > 작업지시 | ✅ | 5 | 5 | 0 | 9.0 |
+| 125 | 성능 측정: 생산관리 > 작업실적 | ✅ | 5 | 5 | 0 | 9.1 |
+| 126 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 127 | 성능 측정: 판매관리 > 견적관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 128 | 성능 측정: 판매관리 > 수주관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 129 | 성능 측정: 판매관리 > 단가관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 130 | 생산 현황판 테스트 | ✅ | 12 | 10 | 0 | 12.0 |
+| 131 | 생산품목관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 132 | 작업지시 CRUD + 필드검증 + API확인: 생산관리 | ✅ | 30 | 30 | 0 | 41.6 |
+| 133 | 작업실적 테스트 | ✅ | 23 | 19 | 0 | 16.7 |
+| 134 | 작업자 화면 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
+| 135 | 발주관리 테스트 | ✅ | 12 | 10 | 0 | 13.9 |
+| 136 | 구매 단가관리 테스트 | ✅ | 11 | 8 | 0 | 20.2 |
+| 137 | 구매현황 테스트 | ✅ | 10 | 9 | 0 | 12.6 |
+| 138 | 구매관리 거래처관리 테스트 | ✅ | 11 | 9 | 0 | 14.1 |
+| 139 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.6 |
+| 140 | 제품검사관리 테스트 | ✅ | 17 | 17 | 0 | 12.6 |
+| 141 | 실적신고관리 테스트 | ✅ | 12 | 12 | 0 | 9.7 |
+| 142 | 입고관리 테스트 | ✅ | 9 | 9 | 0 | 9.8 |
+| 143 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 27.4 |
+| 144 | 새로고침 데이터 유지 검증: 어음관리 | ✅ | 18 | 18 | 0 | 45.6 |
+| 145 | 새로고침 데이터 유지 검증: 입금관리 | ✅ | 16 | 16 | 0 | 51.7 |
+| 146 | 새로고침 데이터 유지 검증: 매출관리 | ✅ | 16 | 16 | 0 | 49.8 |
+| 147 | 새로고침 데이터 유지 검증: 자유게시판 | ✅ | 19 | 19 | 0 | 55.7 |
+| 148 | 판매거래처관리 테스트 | ✅ | 24 | 19 | 0 | 18.8 |
+| 149 | Full CRUD 테스트: 매출관리 | ✅ | 23 | 23 | 0 | 62.3 |
+| 150 | 수주 일괄삭제 테스트 | ✅ | 20 | 20 | 0 | 39.7 |
+| 151 | 수주관리 CRUD + 계산검증 테스트 | ✅ | 32 | 32 | 0 | 48.3 |
+| 152 | 단가관리 테스트 | ✅ | 27 | 24 | 0 | 14.5 |
+| 153 | 견적관리 CRUD + 계산검증 테스트 | ✅ | 32 | 31 | 0 | 45.2 |
+| 154 | 현장관리 테스트 | ✅ | 11 | 9 | 0 | 13.9 |
+| 155 | 기안함 검색 버그 상세 검증 | ✅ | 11 | 11 | 0 | 25.2 |
+| 156 | 급여관리 검색 버그 상세 검증 | ✅ | 10 | 10 | 0 | 27.2 |
+| 157 | 검색/필터/페이지네이션 테스트: 매출관리 | ✅ | 18 | 18 | 0 | 32.7 |
+| 158 | 검색 기능 동작 검증: 회계 | ✅ | 20 | 20 | 0 | 52.3 |
+| 159 | 검색 기능 감사: 회계관리 (1/6) | ✅ | 20 | 20 | 0 | 43.5 |
+| 160 | 검색 기능 감사: 회계관리2+인사관리 (2/6) | ✅ | 20 | 20 | 0 | 36.6 |
+| 161 | 검색 기능 감사: 게시판/고객센터/설정1 (5/6) | ✅ | 20 | 20 | 0 | 36.8 |
+| 162 | 검색 기능 감사: 생산/품목/품질/자재 (3/6) | ✅ | 20 | 20 | 0 | 30.3 |
+| 163 | 검색 기능 감사: 판매/출고/결재 (4/6) | ✅ | 16 | 16 | 0 | 37.9 |
+| 164 | 검색 기능 감사: 설정2 (6/6) | ✅ | 14 | 14 | 0 | 23.7 |
+| 165 | 검색 기능 동작 검증: 인사/게시판 | ✅ | 13 | 13 | 0 | 39.7 |
+| 166 | 검색 기능 동작 검증: 판매 | ✅ | 20 | 20 | 0 | 40.9 |
+| 167 | 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10) | ✅ | 11 | 11 | 0 | 91.0 |
+| 168 | 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10) | ✅ | 11 | 11 | 0 | 84.9 |
+| 169 | 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11) | ✅ | 11 | 11 | 0 | 107.0 |
+| 170 | 검색 옵션 전수 테스트: 미수금/결제/지출예상 (4/11) | ✅ | 11 | 11 | 0 | 50.3 |
+| 171 | 검색 옵션 전수 테스트: 결재관리 (6/10) | ✅ | 11 | 11 | 0 | 75.0 |
+| 172 | 검색 옵션 전수 테스트: 게시판/고객센터 (5/10) | ✅ | 19 | 19 | 0 | 84.8 |
+| 173 | 검색 옵션 전수 테스트: 인사관리 전체 (4/10) | ✅ | 27 | 27 | 0 | 106.9 |
+| 174 | 검색 옵션 전수 테스트: 생산/품목관리 (8/11) | ✅ | 19 | 19 | 0 | 49.7 |
+| 175 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 73.9 |
+| 176 | 검색 옵션 전수 테스트: 판매관리/출고 (7/11) | ✅ | 19 | 19 | 0 | 41.3 |
+| 177 | 검색 옵션 전수 테스트: 설정 (10/11) | ✅ | 19 | 19 | 0 | 40.2 |
+| 178 | 계정정보 테스트 | ✅ | 16 | 14 | 0 | 11.4 |
+| 179 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 10.0 |
+| 180 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 12.2 |
+| 181 | 바로빌연동관리 테스트 | ✅ | 8 | 6 | 0 | 11.6 |
+| 182 | 달력 일정 CRUD 테스트 | ✅ | 20 | 17 | 0 | 44.3 |
+| 183 | 달력관리 테스트 | ✅ | 8 | 7 | 0 | 10.8 |
+| 184 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.0 |
+| 185 | 회사정보 테스트 | ✅ | 16 | 13 | 0 | 13.1 |
+| 186 | 알림설정 테스트 | ✅ | 16 | 13 | 0 | 12.4 |
+| 187 | 권한관리 테스트 | ✅ | 20 | 18 | 0 | 12.5 |
+| 188 | 팝업관리 테스트 | ✅ | 23 | 21 | 0 | 13.9 |
+| 189 | 직책관리 테스트 | ✅ | 12 | 11 | 0 | 11.0 |
+| 190 | 직급관리 테스트 | ✅ | 12 | 11 | 0 | 10.9 |
+| 191 | 구독관리 테스트 | ✅ | 16 | 12 | 0 | 12.7 |
+| 192 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 8.9 |
+| 193 | 근무일정 테스트 | ✅ | 16 | 15 | 0 | 10.0 |
+| 194 | 출고관리 테스트 | ✅ | 13 | 11 | 0 | 18.3 |
+| 195 | 점검표 관리 테스트 | ✅ | 11 | 8 | 0 | 17.7 |
+| 196 | 단가배포관리 테스트 | ✅ | 11 | 8 | 0 | 17.7 |
+| 197 | 공정관리 테스트 | ✅ | 12 | 9 | 0 | 17.6 |
+| 198 | 단가표관리 테스트 | ✅ | 12 | 9 | 0 | 17.7 |
+| 199 | 시스템 대시보드 위젯/통계/현황판/자금현황/지출예상/설정 테스트 | ✅ | 20 | 19 | 0 | 10.9 |
+| 200 | Test bills 14 steps | ✅ | 14 | 14 | 0 | 61.5 |
+| 201 | Test bills page minimal | ✅ | 3 | 3 | 0 | 7.1 |
+| 202 | 거래처원장 테스트 | ✅ | 34 | 30 | 0 | 20.5 |
+| 203 | 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리 | ✅ | 36 | 36 | 0 | 46.1 |
+| 204 | 출금관리 테스트 | ✅ | 21 | 20 | 0 | 15.8 |
+| 205 | 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름 | ✅ | 15 | 15 | 0 | 29.7 |
+| 206 | 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름 | ✅ | 14 | 14 | 0 | 37.7 |
+| 207 | 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 | ✅ | 15 | 15 | 0 | 39.0 |
+| 208 | 비즈니스 워크플로우: 구매→매입 흐름 | ✅ | 7 | 7 | 0 | 21.9 |
+| 209 | 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름 | ✅ | 22 | 22 | 0 | 27.3 |
+
+## 비즈니스 워크플로우 상세
+
+### ✅ 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름
+- 스텝: 15/15 성공 | 소요: 29.7초
+- 단계: CAPTURE_POST(✅) → CHECK_DRAFTS(✅) → CHECK_APPROVALS(✅) → CHECK_REFERENCES(✅)
+
+### ✅ 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름
+- 스텝: 14/14 성공 | 소요: 37.7초
+- 단계: CAPTURE_EMPLOYEE(✅) → CHECK_DEPARTMENTS(✅) → VERIFY_EMPLOYEE_ATTEND(✅) → VERIFY_EMPLOYEE_SALARY(✅)
+
+### ✅ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
+- 스텝: 15/15 성공 | 소요: 39.0초
+- 단계: CAPTURE_ITEM(✅) → VERIFY_ITEM_RECEIVING(✅) → VERIFY_ITEM_STOCK(✅) → CHECK_WITHDRAWAL(✅)
+
+### ✅ 비즈니스 워크플로우: 구매→매입 흐름
+- 스텝: 7/7 성공 | 소요: 21.9초
+- 단계: CAPTURE_VENDOR(✅) → VERIFY_VENDOR_ACC(✅)
+
+### ✅ 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름
+- 스텝: 22/22 성공 | 소요: 27.3초
+- 단계: INIT(✅) → CAPTURE_CLIENT(✅) → VERIFY(✅) → CAPTURE_PRICE_ITEM(✅) → VERIFY(✅) → CHECK_ORDERS(✅) → VERIFY(✅) → CHECK_SALES(✅) → VERIFY(✅) → VERIFY(✅) → SUMMARY(✅)
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 회계관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 입금관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매입관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매출관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 부서관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 사원관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 입고관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
+| 성능 측정: 생산관리 > 품목관리 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업지시 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업실적 | - | - | - | - |
+| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 견적관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 수주관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 단가관리 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 회계관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 입금관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매입관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매출관리 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 기안함 | - | - | - | - | - |
+| 접근성 검사: 게시판 > 자유게시판 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 부서관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 사원관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 입고관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 품목관리 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 작업지시 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 견적관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 수주관리 | - | - | - | - | - |
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-26-54.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-26-54.md
new file mode 100644
index 0000000..f1f3fea
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-26-54.md
@@ -0,0 +1,57 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-04_22-26-54
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개 📉 (이전: 209/209 성공)
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 계좌입출금내역 테스트 | ✅ | 18 | 16 | 0 | 10.4 |
+
+## ⚠️ 불안정 테스트 (Flaky Tests)
+최근 3일간 성공과 실패가 모두 발생한 시나리오:
+
+| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
+|---------|----------|----------|--------|
+| settings-calendar-crud | 3 | 7 | 🔴 30% |
+| sales-management | 7 | 2 | 🟠 78% |
+| hr-salary-long-term-care | 4 | 1 | 🟡 80% |
+| reload-persist-acc-deposit | 7 | 1 | 🟡 88% |
+| reload-persist-acc-sales | 7 | 1 | 🟡 88% |
+| reload-persist-board | 7 | 1 | 🟡 88% |
+| sales-client | 7 | 1 | 🟡 88% |
+| sales-order-bulk-delete | 3 | 1 | 🟠 75% |
+| sales-order | 7 | 1 | 🟡 88% |
+| sales-pricing | 7 | 1 | 🟡 88% |
+| sales-quotation | 7 | 1 | 🟡 88% |
+| sales-site-mgmt | 7 | 1 | 🟡 88% |
+| search-bug-draft | 11 | 1 | 🟡 92% |
+| search-bug-salary | 11 | 1 | 🟡 92% |
+| search-filter-acc-sales | 10 | 1 | 🟡 91% |
+| search-function-acc | 11 | 1 | 🟡 92% |
+| search-function-audit-acc1 | 10 | 1 | 🟡 91% |
+| search-function-audit-acc2-hr | 10 | 1 | 🟡 91% |
+| search-function-audit-boards | 10 | 1 | 🟡 91% |
+| search-function-audit-production | 10 | 1 | 🟡 91% |
+| search-function-audit-sales-approval | 10 | 1 | 🟡 91% |
+| search-function-audit-settings | 10 | 1 | 🟡 91% |
+| search-function-hr-board | 11 | 1 | 🟡 92% |
+| search-function-sales | 11 | 1 | 🟡 92% |
+| search-options-acc-1 | 10 | 1 | 🟡 91% |
+| search-options-acc-2 | 10 | 1 | 🟡 91% |
+| search-options-acc-3 | 10 | 1 | 🟡 91% |
+
+## 📊 트렌드 분석
+| 항목 | 이전 실행 | 현재 실행 | 변화 |
+|------|---------|---------|------|
+| 전체 | 209 | 1 | -208 |
+| 성공 | 209 | 1 | 📉 -208 |
+| 실패 | 0 | 0 | ➡️ 동일 |
+
+이전 실행: 2026-03-04_11-35-53
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-29-50.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-29-50.md
new file mode 100644
index 0000000..861256d
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-29-50.md
@@ -0,0 +1,57 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-04_22-29-50
+**총 소요 시간**: 0.2분
+**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개 ➡️ (이전: 1/1 성공)
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 카드사용내역 테스트 | ✅ | 18 | 16 | 0 | 10.2 |
+
+## ⚠️ 불안정 테스트 (Flaky Tests)
+최근 3일간 성공과 실패가 모두 발생한 시나리오:
+
+| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
+|---------|----------|----------|--------|
+| settings-calendar-crud | 3 | 7 | 🔴 30% |
+| sales-management | 7 | 2 | 🟠 78% |
+| hr-salary-long-term-care | 4 | 1 | 🟡 80% |
+| reload-persist-acc-deposit | 7 | 1 | 🟡 88% |
+| reload-persist-acc-sales | 7 | 1 | 🟡 88% |
+| reload-persist-board | 7 | 1 | 🟡 88% |
+| sales-client | 7 | 1 | 🟡 88% |
+| sales-order-bulk-delete | 3 | 1 | 🟠 75% |
+| sales-order | 7 | 1 | 🟡 88% |
+| sales-pricing | 7 | 1 | 🟡 88% |
+| sales-quotation | 7 | 1 | 🟡 88% |
+| sales-site-mgmt | 7 | 1 | 🟡 88% |
+| search-bug-draft | 11 | 1 | 🟡 92% |
+| search-bug-salary | 11 | 1 | 🟡 92% |
+| search-filter-acc-sales | 10 | 1 | 🟡 91% |
+| search-function-acc | 11 | 1 | 🟡 92% |
+| search-function-audit-acc1 | 10 | 1 | 🟡 91% |
+| search-function-audit-acc2-hr | 10 | 1 | 🟡 91% |
+| search-function-audit-boards | 10 | 1 | 🟡 91% |
+| search-function-audit-production | 10 | 1 | 🟡 91% |
+| search-function-audit-sales-approval | 10 | 1 | 🟡 91% |
+| search-function-audit-settings | 10 | 1 | 🟡 91% |
+| search-function-hr-board | 11 | 1 | 🟡 92% |
+| search-function-sales | 11 | 1 | 🟡 92% |
+| search-options-acc-1 | 10 | 1 | 🟡 91% |
+| search-options-acc-2 | 10 | 1 | 🟡 91% |
+| search-options-acc-3 | 10 | 1 | 🟡 91% |
+
+## 📊 트렌드 분석
+| 항목 | 이전 실행 | 현재 실행 | 변화 |
+|------|---------|---------|------|
+| 전체 | 1 | 1 | +0 |
+| 성공 | 1 | 1 | ➡️ 동일 |
+| 실패 | 0 | 0 | ➡️ 동일 |
+
+이전 실행: 2026-03-04_22-26-54
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-30-10.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-30-10.md
new file mode 100644
index 0000000..838a121
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-04_22-30-10.md
@@ -0,0 +1,71 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-04_22-30-10
+**총 소요 시간**: 0.5분
+**전체 시나리오**: 3개 | **성공**: 3개 | **실패**: 0개 📈 (이전: 1/1 성공)
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 1 | 1 | 0 | 100% |
+| 기능 테스트 | 1 | 1 | 0 | 100% |
+| 성능 테스트 | 1 | 1 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 4 | 0 | 11.4 |
+| 2 | 재고현황 테스트 | ✅ | 18 | 16 | 0 | 10.1 |
+| 3 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 9.1 |
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
+
+## ⚠️ 불안정 테스트 (Flaky Tests)
+최근 3일간 성공과 실패가 모두 발생한 시나리오:
+
+| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
+|---------|----------|----------|--------|
+| settings-calendar-crud | 3 | 7 | 🔴 30% |
+| sales-management | 7 | 2 | 🟠 78% |
+| hr-salary-long-term-care | 4 | 1 | 🟡 80% |
+| reload-persist-acc-deposit | 7 | 1 | 🟡 88% |
+| reload-persist-acc-sales | 7 | 1 | 🟡 88% |
+| reload-persist-board | 7 | 1 | 🟡 88% |
+| sales-client | 7 | 1 | 🟡 88% |
+| sales-order-bulk-delete | 3 | 1 | 🟠 75% |
+| sales-order | 7 | 1 | 🟡 88% |
+| sales-pricing | 7 | 1 | 🟡 88% |
+| sales-quotation | 7 | 1 | 🟡 88% |
+| sales-site-mgmt | 7 | 1 | 🟡 88% |
+| search-bug-draft | 11 | 1 | 🟡 92% |
+| search-bug-salary | 11 | 1 | 🟡 92% |
+| search-filter-acc-sales | 10 | 1 | 🟡 91% |
+| search-function-acc | 11 | 1 | 🟡 92% |
+| search-function-audit-acc1 | 10 | 1 | 🟡 91% |
+| search-function-audit-acc2-hr | 10 | 1 | 🟡 91% |
+| search-function-audit-boards | 10 | 1 | 🟡 91% |
+| search-function-audit-production | 10 | 1 | 🟡 91% |
+| search-function-audit-sales-approval | 10 | 1 | 🟡 91% |
+| search-function-audit-settings | 10 | 1 | 🟡 91% |
+| search-function-hr-board | 11 | 1 | 🟡 92% |
+| search-function-sales | 11 | 1 | 🟡 92% |
+| search-options-acc-1 | 10 | 1 | 🟡 91% |
+| search-options-acc-2 | 10 | 1 | 🟡 91% |
+| search-options-acc-3 | 10 | 1 | 🟡 91% |
+
+## 📊 트렌드 분석
+| 항목 | 이전 실행 | 현재 실행 | 변화 |
+|------|---------|---------|------|
+| 전체 | 1 | 3 | +2 |
+| 성공 | 1 | 3 | 📈 +2 |
+| 실패 | 0 | 0 | ➡️ 동일 |
+
+이전 실행: 2026-03-04_22-29-50
diff --git a/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-05_00-10-32.md b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-05_00-10-32.md
new file mode 100644
index 0000000..4c30725
--- /dev/null
+++ b/e2e/results/hotfix/E2E_FULL_TEST_SUMMARY_2026-03-05_00-10-32.md
@@ -0,0 +1,334 @@
+# E2E 전체 테스트 결과 요약
+
+**실행 시간**: 2026-03-05_00-10-32
+**총 소요 시간**: 91.5분
+**전체 시나리오**: 209개 | **성공**: 209개 | **실패**: 0개 📈 (이전: 3/3 성공)
+
+## 카테고리별 요약
+| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
+|---------|-----------|------|------|--------|
+| 접근성 검사 | 18 | 18 | 0 | 100% |
+| 기능 테스트 | 152 | 152 | 0 | 100% |
+| 엣지 케이스 | 17 | 17 | 0 | 100% |
+| 성능 테스트 | 17 | 17 | 0 | 100% |
+| 비즈니스 워크플로우 | 5 | 5 | 0 | 100% |
+
+## 시나리오별 결과
+| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
+|---|---------|------|------|------|------|---------|
+| 1 | 접근성 검사: 회계관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 2 | 접근성 검사: 회계관리 > 입금관리 | ✅ | 4 | 3 | 0 | 12.9 |
+| 3 | 접근성 검사: 회계관리 > 매입관리 | ✅ | 4 | 4 | 0 | 11.4 |
+| 4 | 접근성 검사: 회계관리 > 매출관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 5 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 3 | 0 | 12.8 |
+| 6 | 접근성 검사: 결재관리 > 기안함 | ✅ | 4 | 3 | 0 | 12.8 |
+| 7 | 접근성 검사: 게시판 > 자유게시판 | ✅ | 4 | 3 | 0 | 13.0 |
+| 8 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 9 | 접근성 검사: 인사관리 > 부서관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 10 | 접근성 검사: 인사관리 > 사원관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 11 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 12 | 접근성 검사: 자재관리 > 입고관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 13 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 4 | 0 | 11.3 |
+| 14 | 접근성 검사: 생산관리 > 품목관리 | ✅ | 4 | 4 | 0 | 11.3 |
+| 15 | 접근성 검사: 생산관리 > 작업지시 | ✅ | 4 | 3 | 0 | 12.8 |
+| 16 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.9 |
+| 17 | 접근성 검사: 판매관리 > 견적관리 | ✅ | 4 | 4 | 0 | 11.2 |
+| 18 | 접근성 검사: 판매관리 > 수주관리 | ✅ | 4 | 3 | 0 | 12.8 |
+| 19 | 악성채권추심관리 테스트 | ✅ | 24 | 22 | 0 | 11.3 |
+| 20 | 계좌입출금내역 테스트 | ✅ | 18 | 16 | 0 | 10.2 |
+| 21 | 어음관리 테스트 | ✅ | 24 | 18 | 0 | 22.4 |
+| 22 | 카드사용내역 테스트 | ✅ | 18 | 16 | 0 | 10.2 |
+| 23 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 18.0 |
+| 24 | 일일 일보 테스트 | ✅ | 10 | 10 | 0 | 11.6 |
+| 25 | 입금관리 테스트 | ✅ | 25 | 19 | 0 | 22.5 |
+| 26 | 지출예상내역서 테스트 | ✅ | 16 | 14 | 0 | 9.8 |
+| 27 | 상품권관리 테스트 | ✅ | 11 | 9 | 0 | 13.1 |
+| 28 | 일반전표입력 테스트 | ✅ | 12 | 10 | 0 | 15.1 |
+| 29 | 결제내역 테스트 | ✅ | 18 | 14 | 0 | 15.3 |
+| 30 | 매입관리 테스트 | ✅ | 16 | 14 | 0 | 12.5 |
+| 31 | 미수금현황 테스트 | ✅ | 19 | 16 | 0 | 13.2 |
+| 32 | 매출관리 테스트 | ✅ | 16 | 14 | 0 | 12.7 |
+| 33 | 세금계산서발행 테스트 | ✅ | 11 | 10 | 0 | 11.5 |
+| 34 | 세금계산서관리 테스트 | ✅ | 11 | 10 | 0 | 11.4 |
+| 35 | 출금관리 테스트 | ✅ | 25 | 19 | 0 | 22.5 |
+| 36 | API 건강성 감사: 회계 | ✅ | 39 | 39 | 0 | 46.3 |
+| 37 | API 건강성 감사: 생산/기타 | ✅ | 35 | 35 | 0 | 46.8 |
+| 38 | API 건강성 감사: 판매/인사 | ✅ | 35 | 35 | 0 | 46.8 |
+| 39 | 결재함 E2E 테스트 | ✅ | 25 | 23 | 0 | 26.4 |
+| 40 | 근태현황 출퇴근 테스트 | ✅ | 17 | 17 | 0 | 12.5 |
+| 41 | 연속 등록 테스트: 어음관리 | ✅ | 39 | 39 | 0 | 96.0 |
+| 42 | 연속 등록 테스트: 입금관리 | ✅ | 39 | 39 | 0 | 102.4 |
+| 43 | 연속 등록 테스트: 자유게시판 | ✅ | 39 | 39 | 0 | 94.8 |
+| 44 | 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리 | ✅ | 14 | 14 | 0 | 26.7 |
+| 45 | 게시판 관리 테스트 | ✅ | 22 | 22 | 0 | 11.4 |
+| 46 | 게시판 테스트 페이지 테스트 | ✅ | 13 | 11 | 0 | 15.4 |
+| 47 | 설정 - 회사정보 | ✅ | 31 | 18 | 0 | 38.1 |
+| 48 | Create+Delete 테스트: 어음관리 | ✅ | 12 | 12 | 0 | 38.5 |
+| 49 | Create+Delete 테스트: 입금관리 | ✅ | 12 | 12 | 0 | 35.9 |
+| 50 | Create+Delete 테스트: 자유게시판 | ✅ | 15 | 15 | 0 | 42.1 |
+| 51 | 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산) | ✅ | 15 | 15 | 0 | 39.2 |
+| 52 | 이벤트 게시판 테스트 | ✅ | 19 | 14 | 0 | 16.4 |
+| 53 | FAQ 테스트 | ✅ | 16 | 12 | 0 | 12.9 |
+| 54 | 1:1 문의 테스트 | ✅ | 12 | 10 | 0 | 15.4 |
+| 55 | 공지사항 테스트 | ✅ | 19 | 15 | 0 | 15.8 |
+| 56 | 부서관리 테스트 | ✅ | 16 | 12 | 0 | 15.0 |
+| 57 | 입금관리 테스트 | ✅ | 21 | 20 | 0 | 16.2 |
+| 58 | 상세 조회 왕복 검증: 회계 | ✅ | 23 | 23 | 0 | 32.7 |
+| 59 | 상세 조회 왕복 검증: 인사/게시판 | ✅ | 15 | 15 | 0 | 25.7 |
+| 60 | 상세 조회 왕복 검증: 판매 | ✅ | 23 | 23 | 0 | 32.8 |
+| 61 | 목록↔상세 필드별 대조 검증: 매출관리 | ✅ | 12 | 12 | 0 | 23.2 |
+| 62 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 12.8 |
+| 63 | 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리) | ✅ | 14 | 14 | 0 | 23.6 |
+| 64 | 엣지 케이스: 경계값 입력 (회계 > 입금관리) | ✅ | 14 | 14 | 0 | 23.3 |
+| 65 | 엣지 케이스: 경계값 입력 (인사 > 사원관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 66 | 엣지 케이스: 경계값 입력 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 23.4 |
+| 67 | 엣지 케이스: 동시 액션 (인사 > 근태관리) | ✅ | 5 | 5 | 0 | 13.8 |
+| 68 | 엣지 케이스: 빈 폼 제출 (회계 > 입금관리) | ✅ | 7 | 7 | 0 | 19.2 |
+| 69 | 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.2 |
+| 70 | 엣지 케이스: 빈 폼 제출 (인사 > 사원관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 71 | 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.1 |
+| 72 | 엣지 케이스: 숫자 경계값 (회계 > 입금관리) | ✅ | 13 | 13 | 0 | 23.8 |
+| 73 | 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리) | ✅ | 10 | 10 | 0 | 27.3 |
+| 74 | 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판) | ✅ | 6 | 6 | 0 | 15.9 |
+| 75 | 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.9 |
+| 76 | 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 20.0 |
+| 77 | 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판) | ✅ | 14 | 14 | 0 | 32.1 |
+| 78 | 엣지 케이스: 특수문자 검색 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 32.0 |
+| 79 | 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판) | ✅ | 10 | 10 | 0 | 20.5 |
+| 80 | 직원 등록 테스트 | ✅ | 22 | 21 | 0 | 31.5 |
+| 81 | 폼 유효성 검증 감사: 회계 (어음/입금/출금) | ✅ | 20 | 20 | 0 | 43.3 |
+| 82 | 폼 유효성 검증 감사: 생산/게시판 | ✅ | 13 | 13 | 0 | 25.1 |
+| 83 | 폼 유효성 검증 감사: 판매 (거래처/수주/견적) | ✅ | 20 | 20 | 0 | 43.2 |
+| 84 | 자유게시판 E2E 테스트 | ✅ | 22 | 22 | 0 | 13.2 |
+| 85 | Full CRUD 테스트: 어음관리 (Enhanced) | ✅ | 32 | 32 | 0 | 57.0 |
+| 86 | Full CRUD 테스트: 입금관리 (금액포맷+상세대조+API검증) | ✅ | 35 | 35 | 0 | 56.0 |
+| 87 | Full CRUD 테스트: 매출관리 (계산검증+상세대조+API검증) | ✅ | 33 | 33 | 0 | 55.3 |
+| 88 | Full CRUD 테스트: 자유게시판 (Enhanced) | ✅ | 33 | 33 | 0 | 64.0 |
+| 89 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.3 |
+| 90 | 근태현황 테스트 | ✅ | 17 | 14 | 0 | 11.6 |
+| 91 | 부서관리 테스트 | ✅ | 14 | 14 | 0 | 10.0 |
+| 92 | 사원관리 테스트 | ✅ | 22 | 22 | 0 | 13.5 |
+| 93 | 급여 장기요양보험 필드 검증 테스트 | ✅ | 16 | 16 | 0 | 18.6 |
+| 94 | 급여관리 테스트 | ✅ | 22 | 22 | 0 | 13.1 |
+| 95 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 21.9 |
+| 96 | 입력 필드 전수 테스트: 어음/입금/출금 (1/5) | ✅ | 20 | 20 | 0 | 54.1 |
+| 97 | 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5) | ✅ | 13 | 13 | 0 | 60.7 |
+| 98 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 30.6 |
+| 99 | 입력 필드 전수 테스트: 작업지시/작업실적 (4/5) | ✅ | 13 | 13 | 0 | 20.7 |
+| 100 | 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5) | ✅ | 20 | 20 | 0 | 41.4 |
+| 101 | 재고현황 테스트 | ✅ | 12 | 12 | 0 | 10.0 |
+| 102 | 품목관리 테스트 | ✅ | 16 | 11 | 0 | 23.1 |
+| 103 | 품목기준관리 테스트 | ✅ | 14 | 13 | 0 | 11.1 |
+| 104 | 로그인 테스트 (끝판왕) | ✅ | 24 | 21 | 0 | 14.7 |
+| 105 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.5 |
+| 106 | 입고관리 테스트 | ✅ | 25 | 19 | 0 | 20.8 |
+| 107 | 재고현황 테스트 | ✅ | 18 | 16 | 0 | 10.1 |
+| 108 | 다중 품목 등록 + 자동계산 + 품목삭제 재계산: 매출관리 | ✅ | 22 | 22 | 0 | 44.8 |
+| 109 | 페이지네이션 & 정렬 검증: 회계 | ✅ | 17 | 17 | 0 | 39.3 |
+| 110 | 페이지네이션 & 정렬 검증: 인사/게시판 | ✅ | 11 | 11 | 0 | 27.7 |
+| 111 | 페이지네이션 & 정렬 검증: 판매 | ✅ | 17 | 17 | 0 | 37.3 |
+| 112 | PDF 다운로드 전체 검사 | ✅ | 5 | 5 | 0 | 1.2 |
+| 113 | 성능 측정: 회계관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 114 | 성능 측정: 회계관리 > 입금관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 115 | 성능 측정: 회계관리 > 매입관리 | ✅ | 5 | 5 | 0 | 9.2 |
+| 116 | 성능 측정: 회계관리 > 매출관리 | ✅ | 5 | 5 | 0 | 9.2 |
+| 117 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 9.2 |
+| 118 | 성능 측정: 인사관리 > 부서관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 119 | 성능 측정: 인사관리 > 사원관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 120 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 121 | 성능 측정: 자재관리 > 입고관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 122 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 9.1 |
+| 123 | 성능 측정: 생산관리 > 품목관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 124 | 성능 측정: 생산관리 > 작업지시 | ✅ | 5 | 5 | 0 | 9.1 |
+| 125 | 성능 측정: 생산관리 > 작업실적 | ✅ | 5 | 5 | 0 | 9.1 |
+| 126 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
+| 127 | 성능 측정: 판매관리 > 견적관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 128 | 성능 측정: 판매관리 > 수주관리 | ✅ | 5 | 5 | 0 | 9.3 |
+| 129 | 성능 측정: 판매관리 > 단가관리 | ✅ | 5 | 5 | 0 | 9.1 |
+| 130 | 생산 현황판 테스트 | ✅ | 12 | 10 | 0 | 12.9 |
+| 131 | 생산품목관리 테스트 | ✅ | 14 | 13 | 0 | 11.2 |
+| 132 | 작업지시 CRUD + 필드검증 + API확인: 생산관리 | ✅ | 30 | 30 | 0 | 41.6 |
+| 133 | 작업실적 테스트 | ✅ | 23 | 19 | 0 | 18.6 |
+| 134 | 작업자 화면 테스트 | ✅ | 14 | 13 | 0 | 11.2 |
+| 135 | 발주관리 테스트 | ✅ | 12 | 10 | 0 | 14.9 |
+| 136 | 구매 단가관리 테스트 | ✅ | 11 | 8 | 0 | 21.7 |
+| 137 | 구매현황 테스트 | ✅ | 9 | 8 | 0 | 13.1 |
+| 138 | 구매관리 거래처관리 테스트 | ✅ | 11 | 9 | 0 | 15.0 |
+| 139 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.7 |
+| 140 | 제품검사관리 테스트 | ✅ | 17 | 17 | 0 | 12.1 |
+| 141 | 실적신고관리 테스트 | ✅ | 12 | 12 | 0 | 9.6 |
+| 142 | 입고관리 테스트 | ✅ | 9 | 9 | 0 | 9.8 |
+| 143 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 29.0 |
+| 144 | 새로고침 데이터 유지 검증: 어음관리 | ✅ | 18 | 18 | 0 | 45.6 |
+| 145 | 새로고침 데이터 유지 검증: 입금관리 | ✅ | 16 | 16 | 0 | 51.7 |
+| 146 | 새로고침 데이터 유지 검증: 매출관리 | ✅ | 16 | 16 | 0 | 49.8 |
+| 147 | 새로고침 데이터 유지 검증: 자유게시판 | ✅ | 19 | 19 | 0 | 55.8 |
+| 148 | 판매거래처관리 테스트 | ✅ | 23 | 19 | 0 | 19.9 |
+| 149 | Full CRUD 테스트: 매출관리 | ✅ | 23 | 23 | 0 | 62.3 |
+| 150 | 수주 일괄삭제 테스트 | ✅ | 20 | 20 | 0 | 39.7 |
+| 151 | 수주관리 CRUD + 계산검증 테스트 | ✅ | 32 | 32 | 0 | 48.3 |
+| 152 | 단가관리 테스트 | ✅ | 26 | 24 | 0 | 14.5 |
+| 153 | 견적관리 CRUD + 계산검증 테스트 | ✅ | 32 | 31 | 0 | 45.7 |
+| 154 | 현장관리 테스트 | ✅ | 11 | 9 | 0 | 15.1 |
+| 155 | 기안함 검색 버그 상세 검증 | ✅ | 11 | 11 | 0 | 25.2 |
+| 156 | 급여관리 검색 버그 상세 검증 | ✅ | 10 | 10 | 0 | 27.2 |
+| 157 | 검색/필터/페이지네이션 테스트: 매출관리 | ✅ | 18 | 18 | 0 | 32.7 |
+| 158 | 검색 기능 동작 검증: 회계 | ✅ | 20 | 20 | 0 | 52.4 |
+| 159 | 검색 기능 감사: 회계관리 (1/6) | ✅ | 20 | 20 | 0 | 43.8 |
+| 160 | 검색 기능 감사: 회계관리2+인사관리 (2/6) | ✅ | 20 | 20 | 0 | 36.6 |
+| 161 | 검색 기능 감사: 게시판/고객센터/설정1 (5/6) | ✅ | 20 | 20 | 0 | 36.9 |
+| 162 | 검색 기능 감사: 생산/품목/품질/자재 (3/6) | ✅ | 20 | 20 | 0 | 30.2 |
+| 163 | 검색 기능 감사: 판매/출고/결재 (4/6) | ✅ | 16 | 16 | 0 | 37.9 |
+| 164 | 검색 기능 감사: 설정2 (6/6) | ✅ | 14 | 14 | 0 | 23.7 |
+| 165 | 검색 기능 동작 검증: 인사/게시판 | ✅ | 13 | 13 | 0 | 39.6 |
+| 166 | 검색 기능 동작 검증: 판매 | ✅ | 20 | 20 | 0 | 40.9 |
+| 167 | 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10) | ✅ | 11 | 11 | 0 | 91.2 |
+| 168 | 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10) | ✅ | 11 | 11 | 0 | 85.1 |
+| 169 | 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11) | ✅ | 11 | 11 | 0 | 116.0 |
+| 170 | 검색 옵션 전수 테스트: 미수금/결제/지출예상 (4/11) | ✅ | 11 | 11 | 0 | 50.6 |
+| 171 | 검색 옵션 전수 테스트: 결재관리 (6/10) | ✅ | 11 | 11 | 0 | 75.2 |
+| 172 | 검색 옵션 전수 테스트: 게시판/고객센터 (5/10) | ✅ | 19 | 19 | 0 | 84.8 |
+| 173 | 검색 옵션 전수 테스트: 인사관리 전체 (4/10) | ✅ | 27 | 27 | 0 | 106.9 |
+| 174 | 검색 옵션 전수 테스트: 생산/품목관리 (8/11) | ✅ | 19 | 19 | 0 | 49.5 |
+| 175 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 73.9 |
+| 176 | 검색 옵션 전수 테스트: 판매관리/출고 (7/11) | ✅ | 19 | 19 | 0 | 41.4 |
+| 177 | 검색 옵션 전수 테스트: 설정 (10/11) | ✅ | 19 | 19 | 0 | 40.3 |
+| 178 | 계정정보 테스트 | ✅ | 16 | 14 | 0 | 12.4 |
+| 179 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 11.6 |
+| 180 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 13.3 |
+| 181 | 바로빌연동관리 테스트 | ✅ | 8 | 6 | 0 | 12.7 |
+| 182 | 달력 일정 CRUD 테스트 | ✅ | 20 | 17 | 0 | 45.9 |
+| 183 | 달력관리 테스트 | ✅ | 8 | 7 | 0 | 11.1 |
+| 184 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.5 |
+| 185 | 회사정보 테스트 | ✅ | 16 | 13 | 0 | 14.6 |
+| 186 | 알림설정 테스트 | ✅ | 16 | 13 | 0 | 13.9 |
+| 187 | 권한관리 테스트 | ✅ | 20 | 18 | 0 | 13.4 |
+| 188 | 팝업관리 테스트 | ✅ | 23 | 21 | 0 | 15.0 |
+| 189 | 직책관리 테스트 | ✅ | 12 | 11 | 0 | 11.5 |
+| 190 | 직급관리 테스트 | ✅ | 12 | 11 | 0 | 11.5 |
+| 191 | 구독관리 테스트 | ✅ | 16 | 12 | 0 | 14.7 |
+| 192 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 9.4 |
+| 193 | 근무일정 테스트 | ✅ | 16 | 15 | 0 | 10.4 |
+| 194 | 출고관리 테스트 | ✅ | 13 | 11 | 0 | 19.2 |
+| 195 | 점검표 관리 테스트 | ✅ | 11 | 8 | 0 | 19.2 |
+| 196 | 단가배포관리 테스트 | ✅ | 11 | 8 | 0 | 19.2 |
+| 197 | 공정관리 테스트 | ✅ | 12 | 9 | 0 | 19.2 |
+| 198 | 단가표관리 테스트 | ✅ | 12 | 9 | 0 | 19.2 |
+| 199 | 시스템 대시보드 위젯/통계/현황판/자금현황/지출예상/설정 테스트 | ✅ | 20 | 19 | 0 | 11.6 |
+| 200 | Test bills 14 steps | ✅ | 14 | 14 | 0 | 61.6 |
+| 201 | Test bills page minimal | ✅ | 3 | 3 | 0 | 7.1 |
+| 202 | 거래처원장 테스트 | ✅ | 34 | 30 | 0 | 22.6 |
+| 203 | 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리 | ✅ | 36 | 36 | 0 | 46.1 |
+| 204 | 출금관리 테스트 | ✅ | 21 | 20 | 0 | 16.3 |
+| 205 | 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름 | ✅ | 15 | 15 | 0 | 29.7 |
+| 206 | 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름 | ✅ | 14 | 14 | 0 | 37.7 |
+| 207 | 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 | ✅ | 15 | 15 | 0 | 39.0 |
+| 208 | 비즈니스 워크플로우: 구매→매입 흐름 | ✅ | 7 | 7 | 0 | 21.9 |
+| 209 | 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름 | ✅ | 22 | 22 | 0 | 27.3 |
+
+## 비즈니스 워크플로우 상세
+
+### ✅ 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름
+- 스텝: 15/15 성공 | 소요: 29.7초
+- 단계: CAPTURE_POST(✅) → CHECK_DRAFTS(✅) → CHECK_APPROVALS(✅) → CHECK_REFERENCES(✅)
+
+### ✅ 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름
+- 스텝: 14/14 성공 | 소요: 37.7초
+- 단계: CAPTURE_EMPLOYEE(✅) → CHECK_DEPARTMENTS(✅) → VERIFY_EMPLOYEE_ATTEND(✅) → VERIFY_EMPLOYEE_SALARY(✅)
+
+### ✅ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
+- 스텝: 15/15 성공 | 소요: 39.0초
+- 단계: CAPTURE_ITEM(✅) → VERIFY_ITEM_RECEIVING(✅) → VERIFY_ITEM_STOCK(✅) → CHECK_WITHDRAWAL(✅)
+
+### ✅ 비즈니스 워크플로우: 구매→매입 흐름
+- 스텝: 7/7 성공 | 소요: 21.9초
+- 단계: CAPTURE_VENDOR(✅) → VERIFY_VENDOR_ACC(✅)
+
+### ✅ 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름
+- 스텝: 22/22 성공 | 소요: 27.3초
+- 단계: INIT(✅) → CAPTURE_CLIENT(✅) → VERIFY(✅) → CAPTURE_PRICE_ITEM(✅) → VERIFY(✅) → CHECK_ORDERS(✅) → VERIFY(✅) → CHECK_SALES(✅) → VERIFY(✅) → VERIFY(✅) → SUMMARY(✅)
+
+## 성능 테스트 요약
+| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
+|--------|----------|------|---------|----------|
+| 성능 측정: 회계관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 입금관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매입관리 | - | - | - | - |
+| 성능 측정: 회계관리 > 매출관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 부서관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 사원관리 | - | - | - | - |
+| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 입고관리 | - | - | - | - |
+| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
+| 성능 측정: 생산관리 > 품목관리 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업지시 | - | - | - | - |
+| 성능 측정: 생산관리 > 작업실적 | - | - | - | - |
+| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 견적관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 수주관리 | - | - | - | - |
+| 성능 측정: 판매관리 > 단가관리 | - | - | - | - |
+
+## 접근성 검사 요약
+| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
+|--------|------|------|----------|---------|----------|
+| 접근성 검사: 회계관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 입금관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매입관리 | - | - | - | - | - |
+| 접근성 검사: 회계관리 > 매출관리 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
+| 접근성 검사: 결재관리 > 기안함 | - | - | - | - | - |
+| 접근성 검사: 게시판 > 자유게시판 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 부서관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 사원관리 | - | - | - | - | - |
+| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 입고관리 | - | - | - | - | - |
+| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 품목관리 | - | - | - | - | - |
+| 접근성 검사: 생산관리 > 작업지시 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 견적관리 | - | - | - | - | - |
+| 접근성 검사: 판매관리 > 수주관리 | - | - | - | - | - |
+
+## ⚠️ 불안정 테스트 (Flaky Tests)
+최근 3일간 성공과 실패가 모두 발생한 시나리오:
+
+| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
+|---------|----------|----------|--------|
+| settings-calendar-crud | 4 | 7 | 🔴 36% |
+| hr-salary-long-term-care | 5 | 1 | 🟡 83% |
+| reload-persist-acc-deposit | 7 | 1 | 🟡 88% |
+| reload-persist-acc-sales | 7 | 1 | 🟡 88% |
+| reload-persist-board | 7 | 1 | 🟡 88% |
+| sales-client | 7 | 1 | 🟡 88% |
+| sales-management | 8 | 1 | 🟡 89% |
+| sales-order-bulk-delete | 4 | 1 | 🟡 80% |
+| sales-order | 7 | 1 | 🟡 88% |
+| sales-pricing | 7 | 1 | 🟡 88% |
+| sales-quotation | 7 | 1 | 🟡 88% |
+| sales-site-mgmt | 7 | 1 | 🟡 88% |
+| search-bug-draft | 11 | 1 | 🟡 92% |
+| search-bug-salary | 11 | 1 | 🟡 92% |
+| search-filter-acc-sales | 10 | 1 | 🟡 91% |
+| search-function-acc | 11 | 1 | 🟡 92% |
+| search-function-audit-acc1 | 10 | 1 | 🟡 91% |
+| search-function-audit-acc2-hr | 10 | 1 | 🟡 91% |
+| search-function-audit-boards | 10 | 1 | 🟡 91% |
+| search-function-audit-production | 10 | 1 | 🟡 91% |
+| search-function-audit-sales-approval | 10 | 1 | 🟡 91% |
+| search-function-audit-settings | 10 | 1 | 🟡 91% |
+| search-function-hr-board | 12 | 1 | 🟡 92% |
+| search-function-sales | 12 | 1 | 🟡 92% |
+| search-options-acc-1 | 11 | 1 | 🟡 92% |
+| search-options-acc-2 | 11 | 1 | 🟡 92% |
+| search-options-acc-3 | 11 | 1 | 🟡 92% |
+
+## 📊 트렌드 분석
+| 항목 | 이전 실행 | 현재 실행 | 변화 |
+|------|---------|---------|------|
+| 전체 | 3 | 209 | +206 |
+| 성공 | 3 | 209 | 📈 +206 |
+| 실패 | 0 | 0 | ➡️ 동일 |
+
+이전 실행: 2026-03-04_22-30-10
diff --git a/e2e/results/hotfix/E2E_SCENARIO_COMPLETENESS_REPORT_2026-03-05_16-26-10.md b/e2e/results/hotfix/E2E_SCENARIO_COMPLETENESS_REPORT_2026-03-05_16-26-10.md
new file mode 100644
index 0000000..0e4d5b1
--- /dev/null
+++ b/e2e/results/hotfix/E2E_SCENARIO_COMPLETENESS_REPORT_2026-03-05_16-26-10.md
@@ -0,0 +1,284 @@
+# E2E 시나리오 완성도 검증 리포트
+
+**검증일**: 2026-03-05 16:26 | **총 시나리오**: 209개 | **실제 메뉴**: 15개 모듈, 63개 하위메뉴
+
+---
+
+## 1. 실제 사이드바 메뉴 vs 시나리오 매핑 (메뉴별)
+
+### 📌 시스템 대시보드
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 시스템 대시보드 | `system-dashboard` (20스텝) | - | ✅ 완전 |
+
+---
+
+### 📌 품질관리 (3개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 제품검사관리 | `quality-inspection` (17스텝) | search-options-quality-material | ✅ 완전 |
+| 실적신고관리 | `quality-performance-report` (12스텝) | search-options-quality-material | ✅ 완전 |
+| 품질인정심사 시스템 | `quality-certification` (14스텝) | search-options-quality-material | ✅ 완전 |
+
+---
+
+### 📌 품목관리 (1개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 품목기준관리 | `item-master` (14스텝), `production-item` (14스텝) | search-options-production | ✅ 완전 |
+
+---
+
+### 📌 결재관리 (3개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 기안함 | `draft-box` (17스텝) | a11y-approval-draft, search-bug-draft, search-options-approval, workflow-board-approval | ✅ 완전 |
+| 결재함 | `approval-box` (25스텝) | a11y-approval-box, search-options-approval | ✅ 완전 |
+| 참조함 | `reference-box` (40스텝) | search-options-approval | ✅ 완전 |
+
+---
+
+### 📌 기준정보 관리 (4개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 공정관리 | `standard-process-mgmt` (12스텝) | - | ✅ 완전 |
+| 단가표관리 | `standard-unit-price` (12스텝) | - | ✅ 완전 |
+| 단가배포관리 | `standard-price-distribute` (11스텝) | - | ✅ 완전 |
+| 점검표 관리 | `standard-checklist` (11스텝) | - | ✅ 완전 |
+
+---
+
+### 📌 게시판 (3개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 게시판 관리 | `board-management` (22스텝) | search-function-audit-boards | ✅ 완전 |
+| 자유게시판 | `free-board` (22스텝) | a11y-board-free, batch-create-board, create-delete-board, full-crud-board, edge-empty-submit-board, edge-rapid-click-delete, edge-rapid-click-save-board, edge-special-chars-board, edge-unicode-input-board, reload-persist-board, search-function-audit-boards, search-options-boards-customer, workflow-board-approval | ✅ **가장 풍부** |
+| 게시판 테스트 | `board-test` (13스텝) | - | ✅ 완전 |
+
+---
+
+### 📌 인사관리 (6개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 사원관리 | `hr-employee` (22스텝), `employee-register` (22스텝) | a11y-hr-employee, perf-hr-employee, edge-boundary-input-hr, edge-empty-submit-hr, pagination-sort-hr, search-function-hr-board, search-options-hr, detail-roundtrip-hr-board, workflow-employee-onboarding | ✅ 완전 |
+| 부서관리 | `hr-department` (14스텝), `department-add` (16스텝) | a11y-hr-department, perf-hr-department, search-options-hr | ✅ 완전 |
+| 근태현황 | `hr-attendance-status` (17스텝), `attendance-checkin` (17스텝) | a11y-hr-attendance, perf-hr-attendance, search-options-hr | ✅ 완전 |
+| 근태관리 | `hr-attendance-admin` (14스텝) | a11y-hr-attendance, perf-hr-attendance, edge-concurrent-action-hr, search-options-hr | ✅ 완전 |
+| 급여관리 | `hr-salary` (22스텝), `hr-salary-long-term-care` (16스텝) | a11y-hr-salary, perf-hr-salary, search-bug-salary, search-options-hr | ✅ 완전 |
+| 휴가관리 | `hr-vacation` (25스텝) | search-options-hr | ✅ 완전 |
+
+---
+
+### 📌 고객센터 (4개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 공지사항 | `customer-notice` (19스텝) | search-options-boards-customer | ✅ 완전 |
+| 1:1 문의 | `customer-inquiry` (12스텝) | search-options-boards-customer | ✅ 완전 |
+| FAQ | `customer-faq` (16스텝) | search-options-boards-customer | ✅ 완전 |
+| 이벤트 게시판 | `customer-event` (19스텝) | search-options-boards-customer | ✅ 완전 |
+
+---
+
+### 📌 설정 (15개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 바로빌연동관리 | `settings-barobill` (8스텝) | search-function-audit-settings, search-options-settings | ✅ 완전 |
+| 달력관리 | `settings-calendar` (8스텝), `settings-calendar-crud` (20스텝) | search-options-settings | ✅ 완전 |
+| 계정정보 | `settings-account` (16스텝) | search-options-settings | ✅ 완전 |
+| 계좌관리 | `settings-bank-account` (23스텝) | search-options-settings | ✅ 완전 |
+| 카드관리 | `settings-card` (23스텝) | search-options-settings | ✅ 완전 |
+| 권한관리 | `settings-permission` (20스텝) | search-function-audit-settings, search-options-settings | ✅ 완전 |
+| 직급관리 | `settings-rank` (12스텝) | search-options-settings | ✅ 완전 |
+| 직책관리 | `settings-position` (12스텝) | search-options-settings | ✅ 완전 |
+| 근태설정 | `settings-attendance` (16스텝) | search-options-settings | ✅ 완전 |
+| 휴가정책 | `settings-vacation-policy` (16스텝) | search-options-settings | ✅ 완전 |
+| 근무일정 | `settings-work-schedule` (16스텝) | search-options-settings | ✅ 완전 |
+| 알림설정 | `settings-notification` (16스텝) | search-options-settings | ✅ 완전 |
+| 팝업관리 | `settings-popup` (23스텝) | search-options-settings | ✅ 완전 |
+| 회사정보 | `settings-company` (16스텝), `company-info` (31스텝) | search-options-settings | ✅ 완전 |
+| 구독관리 | `settings-subscription` (16스텝) | search-options-settings | ✅ 완전 |
+
+---
+
+### 📌 판매관리 (5개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 견적관리 | `sales-quotation` (32스텝) | a11y-sales-estimate, perf-sales-estimate, search-options-sales, form-validation-sales, input-fields-sales | ✅ 완전 |
+| 수주관리 | `sales-order` (32스텝), `sales-order-bulk-delete` (20스텝) | a11y-sales-order, perf-sales-order, search-options-sales, form-validation-sales, input-fields-sales | ✅ 완전 |
+| 현장관리 | `sales-site-mgmt` (11스텝) | search-options-sales | ✅ 완전 |
+| 단가관리 | `sales-pricing` (26스텝) | perf-sales-price, search-options-sales | ✅ 완전 |
+| 거래처관리 | `sales-client` (23스텝) | a11y-sales-client, perf-sales-client, edge-boundary-input-sales, edge-empty-submit-sales, edge-rapid-click-save-sales, edge-special-chars-search, pagination-sort-sales, search-function-sales, search-options-sales, form-validation-sales, input-fields-sales, detail-roundtrip-sales, cross-module-data-consistency, workflow-sales-lifecycle, workflow-purchase-to-payment | ✅ **가장 풍부** |
+
+---
+
+### 📌 생산관리 (5개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 품목관리 | `item-management` (16스텝) | a11y-prod-item, perf-prod-item, search-options-production, form-validation-misc, input-fields-production, workflow-inventory-cycle | ✅ 완전 |
+| 생산 현황판 | `production-dashboard` (12스텝) | search-options-production | ✅ 완전 |
+| 작업지시 관리 | `production-work-order` (30스텝) | a11y-prod-work-order, perf-prod-work-order, search-options-production, form-validation-misc, input-fields-production, api-health-prod-misc | ✅ 완전 |
+| 작업실적 | `production-work-result` (23스텝) | perf-prod-work-result, search-options-production, input-fields-production | ✅ 완전 |
+| 작업자 화면 | `production-worker` (14스텝) | search-options-production | ✅ 완전 |
+
+---
+
+### 📌 구매관리 (4개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 거래처관리 | `purchase-vendor` (11스텝) | search-function-audit-sales-approval | ✅ 완전 |
+| 발주관리 | `purchase-order` (12스텝) | - | ✅ 완전 |
+| 구매현황 | `purchase-status` (9스텝) | - | ✅ 완전 |
+| 단가관리 | `purchase-price` (11스텝) | - | ✅ 완전 |
+
+---
+
+### 📌 자재관리 (2개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 재고현황 | `material-stock` (18스텝), `inventory-status` (12스텝) | a11y-material-stock, perf-material-stock, search-options-quality-material | ✅ 완전 |
+| 입고관리 | `material-receiving` (25스텝), `receiving-management` (9스텝) | a11y-material-receiving, perf-material-receiving, input-fields-material-quality, search-options-quality-material | ✅ 완전 |
+
+---
+
+### 📌 출고관리 (2개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 배차차량관리 | `material-dispatch` (23스텝) | search-function-audit-sales-approval | ✅ 완전 |
+| 출고관리 | `shipment-management` (13스텝) | search-options-sales, workflow-inventory-cycle | ✅ 완전 |
+
+---
+
+### 📌 회계관리 (18개 하위메뉴)
+| 메뉴 | 핵심 시나리오 | 보조 시나리오 | 커버리지 |
+|------|-------------|-------------|---------|
+| 세금계산서발행 | `accounting-tax-issue` (11스텝) | search-function-audit-acc2-hr | ✅ 완전 |
+| 세금계산서관리 | `accounting-tax-mgmt` (11스텝) | search-function-audit-acc2-hr | ✅ 완전 |
+| 상품권관리 | `accounting-gift-card` (11스텝) | search-function-audit-acc2-hr | ✅ 완전 |
+| 일반전표입력 | `accounting-journal-entry` (12스텝) | search-function-audit-acc2-hr | ✅ 완전 |
+| 거래처관리 | `accounting-client` (23스텝), `vendor-management` (36스텝) | a11y-acc-client, perf-acc-client, search-function-audit-acc1, search-options-acc-1, input-fields-acc-2, detail-roundtrip-acc, api-health-acc | ✅ **가장 풍부** |
+| 거래처원장 | `vendor-ledger` (34스텝) | search-function-audit-acc1 | ✅ 완전 |
+| 매출관리 | `accounting-sales` (16스텝), `sales-management` (23스텝) | a11y-acc-sales, perf-acc-sales, full-crud-acc-sales, batch-update-account-sales, multi-item-acc-sales, edge-boundary-acc-sales, edge-rapid-click-acc-sales, reload-persist-acc-sales, search-filter-acc-sales, search-options-acc-2, detail-verify-acc-sales | ✅ **가장 풍부** |
+| 매입관리 | `accounting-purchase` (16스텝) | a11y-acc-purchase, perf-acc-purchase, search-options-acc-2, api-health-acc | ✅ 완전 |
+| 어음관리 | `accounting-bill` (24스텝) | batch-create-acc-bills, create-delete-acc-bills, full-crud-acc-bills, form-validation-acc, input-fields-acc-1, pagination-sort-acc, search-function-acc, search-options-acc-3, reload-persist-acc-bills, test-bills-14steps, test-bills-minimal, api-health-acc | ✅ **가장 풍부** |
+| 입금관리 | `accounting-deposit` (25스텝), `deposit-management` (21스텝) | a11y-acc-deposit, perf-acc-deposit, batch-create-acc-deposit, create-delete-acc-deposit, full-crud-acc-deposit, edge-boundary-input-accounting, edge-empty-submit-accounting, edge-numeric-boundary-accounting, form-validation-acc, input-fields-acc-1, reload-persist-acc-deposit, search-options-acc-1, api-health-acc | ✅ **가장 풍부** |
+| 출금관리 | `accounting-withdrawal` (25스텝), `withdrawal-management` (21스텝) | form-validation-acc, input-fields-acc-1, search-options-acc-1, api-health-acc | ✅ 완전 |
+| 계좌입출금내역 | `accounting-bank-transaction` (18스텝) | search-options-acc-3 | ✅ 완전 |
+| 카드사용내역 | `accounting-card-history` (18스텝) | search-options-acc-2 | ✅ 완전 |
+| 미수금현황 | `accounting-receivable` (19스텝) | search-options-acc-4 | ✅ 완전 |
+| 지출예상내역서 | `accounting-expense-forecast` (16스텝) | search-function-audit-acc2-hr, search-options-acc-4 | ✅ 완전 |
+| 악성채권추심관리 | `accounting-bad-debt` (24스텝) | input-fields-acc-2, search-options-acc-3 | ✅ 완전 |
+| 일일 일보 | `accounting-daily-report` (10스텝) | search-function-audit-acc2-hr | ✅ 완전 |
+| 결제내역 | `accounting-payment` (18스텝) | search-options-acc-4 | ✅ 완전 |
+
+---
+
+## 2. 크로스-페이지 테스트 (메뉴 비종속)
+
+| 카테고리 | 시나리오 수 | 대상 |
+|----------|-----------|------|
+| **접근성(a11y)** | 18개 | 회계(4), 결재(2), 게시판(1), 인사(4), 자재(2), 생산(2), 판매(3) |
+| **성능(perf)** | 17개 | 회계(4), 인사(4), 자재(2), 생산(3), 판매(4) |
+| **검색 기능 감사** | 6개 | 회계(2), 생산(1), 판매/출고/결재(1), 게시판/고객센터/설정(1), 설정(1) |
+| **검색 옵션 전수** | 11개 | 회계(4), 인사(1), 게시판/고객센터(1), 결재(1), 판매/출고(1), 생산(1), 품질/자재(1), 설정(1) |
+| **검색 기능 동작** | 3개 | 회계(1), 인사/게시판(1), 판매(1) |
+| **검색 버그 회귀** | 2개 | 결재-기안함(1), 인사-급여관리(1) |
+| **엣지 케이스** | 13개 | 회계(4), 인사(2), 판매(3), 게시판(4) |
+| **폼 유효성 검증** | 3개 | 회계(1), 판매(1), 생산/게시판(1) |
+| **입력 필드 전수** | 5개 | 회계(2), 판매(1), 생산(1), 자재/품질(1) |
+| **페이지네이션/정렬** | 3개 | 회계(1), 인사(1), 판매(1) |
+| **새로고침 유지** | 4개 | 회계-어음(1), 회계-입금(1), 회계-매출(1), 게시판(1) |
+| **Full CRUD** | 4개 | 회계-어음(1), 회계-입금(1), 회계-매출(1), 게시판(1) |
+| **Create+Delete** | 3개 | 회계-어음(1), 회계-입금(1), 게시판(1) |
+| **연속 등록(Batch)** | 3개 | 회계-어음(1), 회계-입금(1), 게시판(1) |
+| **상세 왕복** | 3개 | 회계(1), 인사/게시판(1), 판매(1) |
+| **상세 필드 대조** | 1개 | 회계-매출(1) |
+| **API 건강성** | 3개 | 회계(1), 생산/기타(1), 판매/인사(1) |
+| **비즈니스 워크플로우** | 5개 | 게시판→결재(1), 사원등록 흐름(1), 재고 순환(1), 구매→매입(1), 판매 라이프사이클(1) |
+| **모듈 간 일관성** | 1개 | 판매↔회계, 판매↔생산 |
+| **로그인** | 1개 | 로그인/로그아웃 전체 흐름 |
+| **PDF 다운로드** | 1개 | 전체 PDF 다운로드 검사 |
+| **계정과목 일괄변경 회귀** | 1개 | 회계-매출관리 버그 회귀 |
+| **다중 품목 자동계산** | 1개 | 회계-매출관리 |
+| **어음 테스트 변형** | 2개 | 어음관리 최소/14스텝 변형 |
+
+---
+
+## 3. 검증 결과 요약
+
+### ✅ 모든 실제 메뉴에 대한 시나리오 존재 여부
+
+| 모듈 | 하위메뉴 수 | 커버된 메뉴 | 누락 메뉴 | 상태 |
+|------|-----------|-----------|----------|------|
+| 시스템 대시보드 | 1 | 1 | 0 | ✅ 100% |
+| 품질관리 | 3 | 3 | 0 | ✅ 100% |
+| 품목관리 | 1 | 1 | 0 | ✅ 100% |
+| 결재관리 | 3 | 3 | 0 | ✅ 100% |
+| 기준정보 관리 | 4 | 4 | 0 | ✅ 100% |
+| 게시판 | 3 | 3 | 0 | ✅ 100% |
+| 인사관리 | 6 | 6 | 0 | ✅ 100% |
+| 고객센터 | 4 | 4 | 0 | ✅ 100% |
+| 설정 | 15 | 15 | 0 | ✅ 100% |
+| 판매관리 | 5 | 5 | 0 | ✅ 100% |
+| 생산관리 | 5 | 5 | 0 | ✅ 100% |
+| 구매관리 | 4 | 4 | 0 | ✅ 100% |
+| 자재관리 | 2 | 2 | 0 | ✅ 100% |
+| 출고관리 | 2 | 2 | 0 | ✅ 100% |
+| 회계관리 | 18 | 18 | 0 | ✅ 100% |
+| **합계** | **76** | **76** | **0** | **✅ 100%** |
+
+> ※ 일부 메뉴는 모듈 내 중복 표시됨 (출고관리 > 출고관리). 실제 고유 페이지 기준 63개.
+
+### ✅ 테스트 깊이 분석
+
+| 커버리지 수준 | 메뉴 수 | 설명 |
+|-------------|---------|------|
+| 🟢 풍부 (5+ 시나리오) | 12개 | 자유게시판, 판매-거래처, 회계-거래처, 매출, 어음, 입금, 사원관리, 근태현황 등 |
+| 🟡 충분 (2-4 시나리오) | 25개 | 대부분의 주요 메뉴 |
+| 🟠 기본 (1 시나리오) | 26개 | 단순 조회/설정 페이지 |
+
+### ✅ 최종 판정
+
+```
+╔══════════════════════════════════════════════════════╗
+║ ║
+║ 🟢 시나리오 완성도: 100% (63/63 메뉴 커버) ║
+║ 🟢 누락 메뉴: 0개 ║
+║ 🟢 총 시나리오: 209개 ║
+║ 🟢 핵심 시나리오: 63개 (메뉴당 1개 이상) ║
+║ 🟢 보조 시나리오: 146개 (품질 강화) ║
+║ ║
+╚══════════════════════════════════════════════════════╝
+```
+
+---
+
+## 4. 중복 시나리오 목록 (동일 메뉴에 2개 이상 핵심 시나리오)
+
+| 메뉴 | 중복 시나리오 | 사유 |
+|------|-------------|------|
+| 회계 > 거래처관리 | `accounting-client` + `vendor-management` | 기본 테스트 + 검색/필터/네거티브 강화 |
+| 회계 > 입금관리 | `accounting-deposit` + `deposit-management` | 기본 테스트 + CRUD 강화 |
+| 회계 > 출금관리 | `accounting-withdrawal` + `withdrawal-management` | 기본 테스트 + CRUD 강화 |
+| 회계 > 매출관리 | `accounting-sales` + `sales-management` | 기본 조회 + Full CRUD |
+| 자재 > 재고현황 | `material-stock` + `inventory-status` | 상세 테스트 + 간단 테스트 |
+| 자재 > 입고관리 | `material-receiving` + `receiving-management` | 상세 테스트 + 간단 테스트 |
+| 인사 > 사원관리 | `hr-employee` + `employee-register` | 조회/관리 + 등록 흐름 |
+| 인사 > 부서관리 | `hr-department` + `department-add` | 조회/관리 + 부서추가 |
+| 인사 > 근태현황 | `hr-attendance-status` + `attendance-checkin` | 현황 조회 + 출퇴근 |
+| 설정 > 회사정보 | `settings-company` + `company-info` | 간단 테스트 + 상세 테스트 |
+| 품목 > 품목기준관리 | `item-master` + `production-item` | 동일 페이지 2개 시나리오 |
+| 회계 > 어음관리 | `accounting-bill` + `test-bills-14steps` + `test-bills-minimal` | 핵심 + 테스트 변형 |
+
+> ※ 중복은 의도적이며 커버리지 강화 목적. 제거 불필요.
+
+---
+
+## 5. 결론
+
+**모든 실제 사이드바 메뉴(63개)에 대해 E2E 시나리오가 빠짐없이 존재합니다.**
+
+- 핵심 페이지 테스트: 63개 메뉴 × 1개 이상 = **100% 커버리지**
+- 보조 품질 테스트: 접근성(18), 성능(17), 검색(22), 엣지케이스(13) 등 **146개 추가**
+- 비즈니스 워크플로우: 모듈 간 연동 테스트 **5개**
+- 데이터 일관성: 크로스 모듈 검증 **1개**
+- 전체 209/209 ALL PASS 검증 완료 (2026-03-04)
diff --git a/e2e/results/hotfix/Fail-full-crud-acc-sales_2026-02-27_16-04-32.md b/e2e/results/hotfix/Fail-full-crud-acc-sales_2026-02-27_16-04-32.md
deleted file mode 100644
index abbf4c2..0000000
--- a/e2e/results/hotfix/Fail-full-crud-acc-sales_2026-02-27_16-04-32.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# ❌ E2E 테스트 실패: Full CRUD 테스트: 매출관리
-
-**테스트 ID**: full-crud-acc-sales | **실행**: 2026-02-27_16-04-32 | **결과**: FAIL
-**소요 시간**: 54.0초
-
-## 테스트 요약
-| 전체 | 성공 | 실패 | 경고 | 성공률 |
-|------|------|------|------|--------|
-| 20 | 19 | 1 | 0 | 95% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 15 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산) | UPDATE | evaluate returned ok:false |
-
-## 전체 스텝 결과
-| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
-|---|------|-------|------|---------|------|
-| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5013ms | Waited 5000ms |
-| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
-| 3 | [회계관리 > 매출관리] [CREATE] 매출 등록 버튼 클릭 | CREATE | ✅ | 2512ms | CREATE_OPEN |
-| 4 | [회계관리 > 매출관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 2002ms | Waited 2000ms |
-| 5 | [회계관리 > 매출관리] [CREATE] 거래처 선택 + 매출유형 + 품목 입력 + 등록 | CREATE | ✅ | 6623ms | CREATE |
-| 6 | [회계관리 > 매출관리] [CREATE] 생성 후 대기 | - | ✅ | 3011ms | Waited 3000ms |
-| 7 | [회계관리 > 매출관리] [CREATE] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
-| 8 | [회계관리 > 매출관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
-| 9 | [회계관리 > 매출관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 503ms | VERIFY_CREATE / rows:20 |
-| 10 | [회계관리 > 매출관리] [READ] 상세 페이지 진입 | READ | ✅ | 2510ms | READ |
-| 11 | [회계관리 > 매출관리] [READ] 상세 페이지 대기 | - | ✅ | 2003ms | Waited 2000ms |
-| 12 | [회계관리 > 매출관리] [READ] 상세 데이터 검증 (품목/수량/단가/공급가액) | READ | ✅ | 2ms | READ_VERIFY |
-| 13 | [회계관리 > 매출관리] [UPDATE] 수정 모드 진입 + 수량 변경 + 저장 | UPDATE | ✅ | 5767ms | UPDATE |
-| 14 | [회계관리 > 매출관리] [UPDATE] 저장 후 대기 | - | ✅ | 3015ms | Waited 3000ms |
-| 15 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산) | UPDATE | ❌ | 1037ms | evaluate returned ok:false |
-| 16 | [회계관리 > 매출관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
-| 17 | [회계관리 > 매출관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2005ms | Waited 2000ms |
-| 18 | [회계관리 > 매출관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6522ms | DELETE |
-| 19 | [회계관리 > 매출관리] [DELETE] 목록 복귀 + 대기 | DELETE | ✅ | 2003ms | evaluate ok |
-| 20 | [회계관리 > 매출관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1015ms | VERIFY_DELETE / rows:24 |
-
-## API 요약
-| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
-|---------|------|------|----------|--------------|
-| 27 | 27 | 0 | 60ms | 0 |
-
-## 페이지 건강 검사
-| 항목 | 결과 |
-|------|------|
-| 상태 | ✅ 정상 |
-| URL | https://dev.codebridge-x.com/accounting/sales |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_full-crud-acc-sales_2026-02-27_16-04-32.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 1426 |
-| 테이블 행 | 24 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-full-crud-board_2026-02-27_16-05-29.md b/e2e/results/hotfix/Fail-full-crud-board_2026-02-27_16-05-29.md
deleted file mode 100644
index 5fc8e8f..0000000
--- a/e2e/results/hotfix/Fail-full-crud-board_2026-02-27_16-05-29.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# ❌ E2E 테스트 실패: Full CRUD 테스트: 자유게시판
-
-**테스트 ID**: full-crud-board | **실행**: 2026-02-27_16-05-29 | **결과**: FAIL
-**소요 시간**: 57.2초
-
-## 테스트 요약
-| 전체 | 성공 | 실패 | 경고 | 성공률 |
-|------|------|------|------|--------|
-| 20 | 19 | 1 | 0 | 95% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 20 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | E2E_TEST_ 데이터가 여전히 존재 |
-
-## 전체 스텝 결과
-| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
-|---|------|-------|------|---------|------|
-| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
-| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
-| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5954ms | CREATE |
-| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3001ms | Waited 3000ms |
-| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2013ms | evaluate ok |
-| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
-| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 520ms | VERIFY_CREATE / rows:10 |
-| 8 | [게시판 > 자유게시판] [READ] 상세 페이지 진입 | READ | ✅ | 2514ms | READ |
-| 9 | [게시판 > 자유게시판] [READ] 상세 페이지 대기 | - | ✅ | 2002ms | Waited 2000ms |
-| 10 | [게시판 > 자유게시판] [READ] 상세 데이터 검증 | READ | ✅ | 2ms | READ_VERIFY |
-| 11 | [게시판 > 자유게시판] [UPDATE] 수정 및 저장 | UPDATE | ✅ | 5229ms | UPDATE |
-| 12 | [게시판 > 자유게시판] [UPDATE] 저장 후 대기 | - | ✅ | 3015ms | Waited 3000ms |
-| 13 | [게시판 > 자유게시판] [UPDATE] 수정 내용 검증 | UPDATE | ✅ | 2ms | VERIFY_UPDATE |
-| 14 | [게시판 > 자유게시판] [UPDATE] 목록 복귀 | UPDATE | ✅ | 2007ms | evaluate ok |
-| 15 | [게시판 > 자유게시판] [UPDATE] 목록 안정화 대기 | - | ✅ | 2008ms | Waited 2000ms |
-| 16 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 6526ms | DELETE |
-| 17 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3008ms | Waited 3000ms |
-| 18 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 2018ms | evaluate ok |
-| 19 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
-| 20 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ❌ | 4028ms | E2E_TEST_ 데이터가 여전히 존재 |
-
-## API 요약
-| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
-|---------|------|------|----------|--------------|
-| 38 | 38 | 0 | 67ms | 0 |
-
-## 페이지 건강 검사
-| 항목 | 결과 |
-|------|------|
-| 상태 | ✅ 정상 |
-| URL | https://dev.codebridge-x.com/boards/free |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_full-crud-board_2026-02-27_16-05-29.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 915 |
-| 테이블 행 | 10 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-hr-salary-long-term-care_2026-03-03_20-41-41.md b/e2e/results/hotfix/Fail-hr-salary-long-term-care_2026-03-03_20-41-41.md
new file mode 100644
index 0000000..8786f44
--- /dev/null
+++ b/e2e/results/hotfix/Fail-hr-salary-long-term-care_2026-03-03_20-41-41.md
@@ -0,0 +1,62 @@
+# ❌ E2E 테스트 실패: 급여 장기요양보험 필드 검증 테스트
+
+**테스트 ID**: hr-salary-long-term-care | **실행**: 2026-03-03_20-41-41 | **결과**: FAIL
+**소요 시간**: 20.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 15 | 1 | 0 | 94% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 12 | [CREATE] 등록 다이얼로그 대기 | CREATE | Step timeout (>3s): [CREATE] 등록 다이얼로그 대기 |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 급여관리 | - | ✅ | 2506ms | Menu navigation: 인사관리 > 급여관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 3 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/salary-management |
+| 4 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 37 buttons |
+| 5 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 6 | [READ] 첫 번째 행 클릭 (상세 다이얼로그 열기) | READ | ✅ | 502ms | Clicked first row |
+| 7 | [READ] 상세 다이얼로그 대기 | READ | ✅ | 2012ms | Waited 2000ms |
+| 8 | [READ] 장기요양보험 필드 존재 확인 (상세) | READ | ✅ | 3ms | DETAIL_LTC_CHECK / pass: 장기요양보험 필드 발견 |
+| 9 | [READ] 건강보험/장기요양 값 비교 (자동계산 검증) | READ | ✅ | 1ms | CALC_VERIFY / warn: 건강보험(null) 또는 장기요양(null) 값 미확인 |
+| 10 | [READ] 상세 다이얼로그 닫기 | READ | ✅ | 1ms | No modal open |
+| 11 | [CREATE] 등록 다이얼로그 열기 | CREATE | ✅ | 2514ms | CREATE_OPEN |
+| 12 | [CREATE] 등록 다이얼로그 대기 | CREATE | ❌ | 3014ms | Step timeout (>3s): [CREATE] 등록 다이얼로그 대기 |
+| 13 | [CREATE] 등록 폼에서 장기요양보험 필드 확인 | CREATE | ✅ | 1ms | CREATE_LTC_CHECK / pass: 등록 폼에 장기요양보험 필드 존재 (입력 가능) |
+| 14 | [CREATE] 건강보험 입력 → 장기요양 자동계산 검증 | CREATE | ✅ | 1ms | AUTO_CALC / 건강보험 입력 필드 미발견 |
+| 15 | [CREATE] 등록 다이얼로그 닫기 (데이터 저장 안함) | CREATE | ✅ | 2ms | json_fail:Unexpected token 'p', "pass: dialog closed" is not valid JSON/raw:pass |
+| 16 | [SUMMARY] API 호출 통계 | - | ✅ | 1ms | json_fail:Unexpected token 'p', "pass: API "... is not valid JSON/raw:pass: API |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **element_timeout** |
+| 스크린샷 | diag_hr-salary-long-term-care_2026-03-03_20-41-40.png |
+
+### 권장 조치
+1. 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 1022 |
+| 테이블 행 | 2 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-reload-persist-acc-deposit_2026-03-03_22-13-33.md b/e2e/results/hotfix/Fail-reload-persist-acc-deposit_2026-03-03_22-13-33.md
new file mode 100644
index 0000000..c22f893
--- /dev/null
+++ b/e2e/results/hotfix/Fail-reload-persist-acc-deposit_2026-03-03_22-13-33.md
@@ -0,0 +1,33 @@
+# ❌ E2E 테스트 실패: 새로고침 데이터 유지 검증: 입금관리
+
+**테스트 ID**: reload-persist-acc-deposit | **실행**: 2026-03-03_22-13-33 | **결과**: FAIL
+**소요 시간**: 19.6초 | **에러**: Evaluate failed: page.evaluate: Target page, context or browser has been closed | **중단 사유**: evaluate_error
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-reload-persist-acc-sales_2026-03-03_22-13-35.md b/e2e/results/hotfix/Fail-reload-persist-acc-sales_2026-03-03_22-13-35.md
new file mode 100644
index 0000000..b0aa494
--- /dev/null
+++ b/e2e/results/hotfix/Fail-reload-persist-acc-sales_2026-03-03_22-13-35.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 새로고침 데이터 유지 검증: 매출관리
+
+**테스트 ID**: reload-persist-acc-sales | **실행**: 2026-03-03_22-13-35 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-reload-persist-board_2026-03-03_22-13-37.md b/e2e/results/hotfix/Fail-reload-persist-board_2026-03-03_22-13-37.md
new file mode 100644
index 0000000..9ebd66a
--- /dev/null
+++ b/e2e/results/hotfix/Fail-reload-persist-board_2026-03-03_22-13-37.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 새로고침 데이터 유지 검증: 자유게시판
+
+**테스트 ID**: reload-persist-board | **실행**: 2026-03-03_22-13-37 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-client_2026-03-03_22-13-39.md b/e2e/results/hotfix/Fail-sales-client_2026-03-03_22-13-39.md
new file mode 100644
index 0000000..12c5698
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-client_2026-03-03_22-13-39.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 판매거래처관리 테스트
+
+**테스트 ID**: sales-client | **실행**: 2026-03-03_22-13-39 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-management_2026-02-27_16-08-22.md b/e2e/results/hotfix/Fail-sales-management_2026-03-02_00-02-06.md
similarity index 70%
rename from e2e/results/hotfix/Fail-sales-management_2026-02-27_16-08-22.md
rename to e2e/results/hotfix/Fail-sales-management_2026-03-02_00-02-06.md
index 47b0fe1..76bd2b0 100644
--- a/e2e/results/hotfix/Fail-sales-management_2026-02-27_16-08-22.md
+++ b/e2e/results/hotfix/Fail-sales-management_2026-03-02_00-02-06.md
@@ -1,7 +1,7 @@
# ❌ E2E 테스트 실패: Full CRUD 테스트: 매출관리
-**테스트 ID**: sales-management | **실행**: 2026-02-27_16-08-22 | **결과**: FAIL
-**소요 시간**: 59.0초
+**테스트 ID**: sales-management | **실행**: 2026-03-02_00-02-06 | **결과**: FAIL
+**소요 시간**: 59.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
@@ -18,32 +18,32 @@
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
-| 3 | [회계관리 > 매출관리] [INSPECT] UI 구조 검증 + 초기 행수 저장 | INSPECT | ✅ | 2ms | INSPECT / rows:20,cols:10 / rows:20 |
-| 4 | [회계관리 > 매출관리] [CREATE] 매출 등록 버튼 클릭 | CREATE | ✅ | 307ms | Clicked button: 등록 |
-| 5 | [회계관리 > 매출관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
-| 6 | [회계관리 > 매출관리] [CREATE] 거래처+매출유형+품목 입력 + 자동계산 검증 + 등록 | CREATE | ✅ | 10060ms | CREATE |
-| 7 | [회계관리 > 매출관리] [CREATE] 등록 후 대기 | - | ✅ | 3009ms | Waited 3000ms |
-| 8 | [회계관리 > 매출관리] [CREATE] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
-| 9 | [회계관리 > 매출관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2012ms | Waited 2000ms |
-| 10 | [회계관리 > 매출관리] [VERIFY] 생성 데이터 확인 (행수 증가 + 금액 대조) | VERIFY | ✅ | 502ms | VERIFY_CREATE / rows:20 |
-| 11 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 페이지 진입 | READ | ✅ | 2516ms | READ |
-| 12 | [회계관리 > 매출관리] [READ] 상세 페이지 대기 | - | ✅ | 2001ms | Waited 2000ms |
-| 13 | [회계관리 > 매출관리] [READ] 상세 데이터 검증 (E2E_TEST_ 품목명/적요/금액) | READ | ✅ | 2ms | READ_VERIFY |
-| 14 | [회계관리 > 매출관리] [UPDATE] 수정 모드 진입 + 수량 변경(10→20) + 재계산 검증 + 저장 | UPDATE | ✅ | 7652ms | UPDATE |
-| 15 | [회계관리 > 매출관리] [UPDATE] 저장 후 대기 | - | ✅ | 3012ms | Waited 3000ms |
-| 16 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산 확인) | UPDATE | ❌ | 1019ms | evaluate returned ok:false |
+| 3 | [회계관리 > 매출관리] [INSPECT] UI 구조 검증 + 초기 행수 저장 | INSPECT | ✅ | 1ms | INSPECT / rows:20,cols:10 / rows:20 |
+| 4 | [회계관리 > 매출관리] [CREATE] 매출 등록 버튼 클릭 | CREATE | ✅ | 332ms | Clicked button: 등록 |
+| 5 | [회계관리 > 매출관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 6 | [회계관리 > 매출관리] [CREATE] 거래처+매출유형+품목 입력 + 자동계산 검증 + 등록 | CREATE | ✅ | 10055ms | CREATE |
+| 7 | [회계관리 > 매출관리] [CREATE] 등록 후 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 8 | [회계관리 > 매출관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2ms | evaluate ok |
+| 9 | [회계관리 > 매출관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2006ms | Waited 2000ms |
+| 10 | [회계관리 > 매출관리] [VERIFY] 생성 데이터 확인 (행수 증가 + 금액 대조) | VERIFY | ✅ | 515ms | VERIFY_CREATE / rows:20 |
+| 11 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 페이지 진입 | READ | ✅ | 2515ms | READ |
+| 12 | [회계관리 > 매출관리] [READ] 상세 페이지 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 13 | [회계관리 > 매출관리] [READ] 상세 데이터 검증 (E2E_TEST_ 품목명/적요/금액) | READ | ✅ | 3ms | READ_VERIFY |
+| 14 | [회계관리 > 매출관리] [UPDATE] 수정 모드 진입 + 수량 변경(10→20) + 재계산 검증 + 저장 | UPDATE | ✅ | 7648ms | UPDATE |
+| 15 | [회계관리 > 매출관리] [UPDATE] 저장 후 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 16 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산 확인) | UPDATE | ❌ | 1020ms | evaluate returned ok:false |
| 17 | [회계관리 > 매출관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
-| 18 | [회계관리 > 매출관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2017ms | Waited 2000ms |
-| 19 | [회계관리 > 매출관리] [DELETE] 데이터 삭제 (첫 행 → 상세 → 삭제 → 확인) | DELETE | ✅ | 6524ms | DELETE |
-| 20 | [회계관리 > 매출관리] [DELETE] 삭제 후 대기 | - | ✅ | 3007ms | Waited 3000ms |
-| 21 | [회계관리 > 매출관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
-| 22 | [회계관리 > 매출관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
-| 23 | [회계관리 > 매출관리] [VERIFY] 삭제 확인 (행수 원복 검증) | VERIFY | ✅ | 1016ms | VERIFY_DELETE / rows:24,E2E data removed / rows:24 |
+| 18 | [회계관리 > 매출관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 19 | [회계관리 > 매출관리] [DELETE] 데이터 삭제 (첫 행 → 상세 → 삭제 → 확인) | DELETE | ✅ | 6518ms | DELETE |
+| 20 | [회계관리 > 매출관리] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 21 | [회계관리 > 매출관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 매출관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 23 | [회계관리 > 매출관리] [VERIFY] 삭제 확인 (행수 원복 검증) | VERIFY | ✅ | 1005ms | VERIFY_DELETE / rows:27,E2E data removed / rows:27 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
-| 27 | 27 | 0 | 66ms | 0 |
+| 27 | 27 | 0 | 69ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
@@ -55,12 +55,12 @@
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
-| 스크린샷 | diag_sales-management_2026-02-27_16-08-22.png |
+| 스크린샷 | diag_sales-management_2026-03-02_00-02-06.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
-| DOM 노드 | 1426 |
-| 테이블 행 | 24 |
+| DOM 노드 | 1480 |
+| 테이블 행 | 27 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-sales-management_2026-03-03_22-13-41.md b/e2e/results/hotfix/Fail-sales-management_2026-03-03_22-13-41.md
new file mode 100644
index 0000000..5275e8e
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-management_2026-03-03_22-13-41.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: Full CRUD 테스트: 매출관리
+
+**테스트 ID**: sales-management | **실행**: 2026-03-03_22-13-41 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-order-bulk-delete_2026-03-03_22-13-43.md b/e2e/results/hotfix/Fail-sales-order-bulk-delete_2026-03-03_22-13-43.md
new file mode 100644
index 0000000..f01d216
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-order-bulk-delete_2026-03-03_22-13-43.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 수주 일괄삭제 테스트
+
+**테스트 ID**: sales-order-bulk-delete | **실행**: 2026-03-03_22-13-43 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-order_2026-03-03_22-13-45.md b/e2e/results/hotfix/Fail-sales-order_2026-03-03_22-13-45.md
new file mode 100644
index 0000000..91aa99c
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-order_2026-03-03_22-13-45.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 수주관리 CRUD + 계산검증 테스트
+
+**테스트 ID**: sales-order | **실행**: 2026-03-03_22-13-45 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-pricing_2026-03-03_22-13-47.md b/e2e/results/hotfix/Fail-sales-pricing_2026-03-03_22-13-47.md
new file mode 100644
index 0000000..77868bb
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-pricing_2026-03-03_22-13-47.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 단가관리 테스트
+
+**테스트 ID**: sales-pricing | **실행**: 2026-03-03_22-13-47 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-quotation_2026-03-03_22-13-49.md b/e2e/results/hotfix/Fail-sales-quotation_2026-03-03_22-13-49.md
new file mode 100644
index 0000000..3337bd8
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-quotation_2026-03-03_22-13-49.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 견적관리 CRUD + 계산검증 테스트
+
+**테스트 ID**: sales-quotation | **실행**: 2026-03-03_22-13-49 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-sales-site-mgmt_2026-03-03_22-13-51.md b/e2e/results/hotfix/Fail-sales-site-mgmt_2026-03-03_22-13-51.md
new file mode 100644
index 0000000..272207a
--- /dev/null
+++ b/e2e/results/hotfix/Fail-sales-site-mgmt_2026-03-03_22-13-51.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 현장관리 테스트
+
+**테스트 ID**: sales-site-mgmt | **실행**: 2026-03-03_22-13-51 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-bug-draft_2026-03-03_22-13-53.md b/e2e/results/hotfix/Fail-search-bug-draft_2026-03-03_22-13-53.md
new file mode 100644
index 0000000..e3700ad
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-bug-draft_2026-03-03_22-13-53.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 기안함 검색 버그 상세 검증
+
+**테스트 ID**: search-bug-draft | **실행**: 2026-03-03_22-13-53 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-bug-salary_2026-03-03_22-13-55.md b/e2e/results/hotfix/Fail-search-bug-salary_2026-03-03_22-13-55.md
new file mode 100644
index 0000000..5d39dd1
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-bug-salary_2026-03-03_22-13-55.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 급여관리 검색 버그 상세 검증
+
+**테스트 ID**: search-bug-salary | **실행**: 2026-03-03_22-13-55 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-filter-acc-sales_2026-03-03_22-13-57.md b/e2e/results/hotfix/Fail-search-filter-acc-sales_2026-03-03_22-13-57.md
new file mode 100644
index 0000000..d10eb37
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-filter-acc-sales_2026-03-03_22-13-57.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색/필터/페이지네이션 테스트: 매출관리
+
+**테스트 ID**: search-filter-acc-sales | **실행**: 2026-03-03_22-13-57 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-acc_2026-03-03_22-13-59.md b/e2e/results/hotfix/Fail-search-function-acc_2026-03-03_22-13-59.md
new file mode 100644
index 0000000..cbe2a5f
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-acc_2026-03-03_22-13-59.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 동작 검증: 회계
+
+**테스트 ID**: search-function-acc | **실행**: 2026-03-03_22-13-59 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-acc1_2026-03-03_22-14-01.md b/e2e/results/hotfix/Fail-search-function-audit-acc1_2026-03-03_22-14-01.md
new file mode 100644
index 0000000..1f6c317
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-acc1_2026-03-03_22-14-01.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 회계관리 (1/6)
+
+**테스트 ID**: search-function-audit-acc1 | **실행**: 2026-03-03_22-14-01 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-acc2-hr_2026-03-03_22-14-03.md b/e2e/results/hotfix/Fail-search-function-audit-acc2-hr_2026-03-03_22-14-03.md
new file mode 100644
index 0000000..ed226c4
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-acc2-hr_2026-03-03_22-14-03.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 회계관리2+인사관리 (2/6)
+
+**테스트 ID**: search-function-audit-acc2-hr | **실행**: 2026-03-03_22-14-03 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-boards_2026-03-03_22-14-05.md b/e2e/results/hotfix/Fail-search-function-audit-boards_2026-03-03_22-14-05.md
new file mode 100644
index 0000000..6789f79
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-boards_2026-03-03_22-14-05.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 게시판/고객센터/설정1 (5/6)
+
+**테스트 ID**: search-function-audit-boards | **실행**: 2026-03-03_22-14-05 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-production_2026-03-03_22-14-07.md b/e2e/results/hotfix/Fail-search-function-audit-production_2026-03-03_22-14-07.md
new file mode 100644
index 0000000..2c199c8
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-production_2026-03-03_22-14-07.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 생산/품목/품질/자재 (3/6)
+
+**테스트 ID**: search-function-audit-production | **실행**: 2026-03-03_22-14-07 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-sales-approval_2026-03-03_22-14-09.md b/e2e/results/hotfix/Fail-search-function-audit-sales-approval_2026-03-03_22-14-09.md
new file mode 100644
index 0000000..a69e5c0
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-sales-approval_2026-03-03_22-14-09.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 판매/출고/결재 (4/6)
+
+**테스트 ID**: search-function-audit-sales-approval | **실행**: 2026-03-03_22-14-09 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-audit-settings_2026-03-03_22-14-11.md b/e2e/results/hotfix/Fail-search-function-audit-settings_2026-03-03_22-14-11.md
new file mode 100644
index 0000000..0847010
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-audit-settings_2026-03-03_22-14-11.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 감사: 설정2 (6/6)
+
+**테스트 ID**: search-function-audit-settings | **실행**: 2026-03-03_22-14-11 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-hr-board_2026-03-03_22-14-13.md b/e2e/results/hotfix/Fail-search-function-hr-board_2026-03-03_22-14-13.md
new file mode 100644
index 0000000..f748bfd
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-hr-board_2026-03-03_22-14-13.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 동작 검증: 인사/게시판
+
+**테스트 ID**: search-function-hr-board | **실행**: 2026-03-03_22-14-13 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-function-sales_2026-03-03_22-14-15.md b/e2e/results/hotfix/Fail-search-function-sales_2026-03-03_22-14-15.md
new file mode 100644
index 0000000..9afe8cd
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-function-sales_2026-03-03_22-14-15.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 기능 동작 검증: 판매
+
+**테스트 ID**: search-function-sales | **실행**: 2026-03-03_22-14-15 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-options-acc-1_2026-03-03_22-14-17.md b/e2e/results/hotfix/Fail-search-options-acc-1_2026-03-03_22-14-17.md
new file mode 100644
index 0000000..1dc4aac
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-options-acc-1_2026-03-03_22-14-17.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10)
+
+**테스트 ID**: search-options-acc-1 | **실행**: 2026-03-03_22-14-17 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-options-acc-2_2026-03-03_22-14-19.md b/e2e/results/hotfix/Fail-search-options-acc-2_2026-03-03_22-14-19.md
new file mode 100644
index 0000000..b41fb22
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-options-acc-2_2026-03-03_22-14-19.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10)
+
+**테스트 ID**: search-options-acc-2 | **실행**: 2026-03-03_22-14-19 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-search-options-acc-3_2026-03-03_22-14-21.md b/e2e/results/hotfix/Fail-search-options-acc-3_2026-03-03_22-14-21.md
new file mode 100644
index 0000000..85bec74
--- /dev/null
+++ b/e2e/results/hotfix/Fail-search-options-acc-3_2026-03-03_22-14-21.md
@@ -0,0 +1,27 @@
+# ❌ E2E 테스트 실패: 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11)
+
+**테스트 ID**: search-options-acc-3 | **실행**: 2026-03-03_22-14-21 | **결과**: FAIL
+**소요 시간**: 2.0초 | **에러**: page.evaluate: Target page, context or browser has been closed | **중단 사유**: exception
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 0 | 0 | 0 | 0 | 0% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| - | (스텝 없음) | - | - | - | - |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **page_unresponsive** |
+
+### 권장 조치
+1. 페이지 응답 없음 (evaluate 실패). 네비게이션 에러 또는 크래시
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-41-16.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-41-16.md
new file mode 100644
index 0000000..39c4fe9
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-41-16.md
@@ -0,0 +1,78 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_19-41-16 | **결과**: FAIL
+**소요 시간**: 41.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 29 | 21 | 4 | 4 | 72% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 7 | [CREATE] 등록 다이얼로그 대기 | CREATE | Step timeout (>3s): [CREATE] 등록 다이얼로그 대기 |
+| 18 | [UPDATE] 수정 다이얼로그 대기 | UPDATE | Step timeout (>3s): [UPDATE] 수정 다이얼로그 대기 |
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | 수정 버튼 없음 |
+| 24 | [DELETE] 삭제 다이얼로그 대기 | DELETE | Step timeout (>3s): [DELETE] 삭제 다이얼로그 대기 |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 516ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 3 | 목업 감지 | - | ⚠️ | 1019ms | Possible mockup page (score: 2) |
+| 4 | 목록 탭 전환 | - | ✅ | 1513ms | TAB_SWITCH |
+| 5 | 목록 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 6 | [CREATE] ts 초기화 + 등록 버튼 클릭 | CREATE | ✅ | 1006ms | CREATE_OPEN |
+| 7 | [CREATE] 등록 다이얼로그 대기 | CREATE | ❌ | 3012ms | Step timeout (>3s): [CREATE] 등록 다이얼로그 대기 |
+| 8 | [CREATE] 일정명 입력 | CREATE | ✅ | 315ms | FILL_NAME |
+| 9 | [CREATE] 유형 선택: 회사일정 | CREATE | ✅ | 1ms | SELECT_TYPE / 유형 선택 미발견 |
+| 10 | [CREATE] 시작일/종료일 날짜 선택 | CREATE | ✅ | 1ms | DATE_PICK |
+| 11 | [CREATE] 메모 입력 | CREATE | ✅ | 218ms | FILL_MEMO |
+| 12 | [CREATE] 등록 버튼 클릭 | CREATE | ✅ | 3017ms | SUBMIT |
+| 13 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2551ms | No toast/notification found |
+| 14 | [CREATE] API POST 검증 | CREATE | ✅ | 0ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 15 | [CREATE] 모달 닫힘 확인 + 목록 대기 | CREATE | ✅ | 1011ms | json_fail:Unexpected token 'p', "pass: moda"... is not valid JSON/raw:pass: moda |
+| 16 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1018ms | VERIFY_LIST / rows:18 |
+| 17 | [UPDATE] E2E 일정 행 클릭 (수정 다이얼로그 열기) | UPDATE | ✅ | 2ms | EDIT_OPEN / 행 없음 |
+| 18 | [UPDATE] 수정 다이얼로그 대기 | UPDATE | ❌ | 3014ms | Step timeout (>3s): [UPDATE] 수정 다이얼로그 대기 |
+| 19 | [UPDATE] 일정명 수정 | UPDATE | ✅ | 318ms | EDIT_NAME |
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | ❌ | 1020ms | 수정 버튼 없음 |
+| 21 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2553ms | No toast/notification found |
+| 22 | [UPDATE] API PUT 검증 | UPDATE | ✅ | 1ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 23 | [DELETE] E2E 일정 행 클릭 (삭제 다이얼로그 열기) | DELETE | ✅ | 1010ms | DELETE_OPEN |
+| 24 | [DELETE] 삭제 다이얼로그 대기 | DELETE | ❌ | 3016ms | Step timeout (>3s): [DELETE] 삭제 다이얼로그 대기 |
+| 25 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | DELETE_CLICK / 삭제 버튼 없음 |
+| 26 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2539ms | No toast/notification found |
+| 27 | [DELETE] API DELETE 검증 | DELETE | ✅ | 0ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 28 | [DELETE] 목록에서 삭제 확인 | DELETE | ✅ | 1014ms | VERIFY_DELETED / pass: E2E data removed |
+| 29 | [SUMMARY] API 호출 통계 | - | ✅ | 1ms | json_fail:Unexpected token 'p', "pass: Cale"... is not valid JSON/raw:pass: Cale |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 115ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **element_timeout** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_19-41-15.png |
+
+### 권장 조치
+1. 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 2076 |
+| 테이블 행 | 0 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-48-19.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-48-19.md
new file mode 100644
index 0000000..1601ac7
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-48-19.md
@@ -0,0 +1,72 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_19-48-19 | **결과**: FAIL
+**소요 시간**: 41.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 29 | 24 | 1 | 4 | 83% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | 수정 버튼 없음 |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 521ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 3 | 목업 감지 | - | ⚠️ | 1017ms | Possible mockup page (score: 2) |
+| 4 | 목록 탭 전환 | - | ✅ | 1511ms | TAB_SWITCH |
+| 5 | 목록 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 6 | [CREATE] ts 초기화 + 등록 버튼 클릭 | CREATE | ✅ | 1002ms | CREATE_OPEN |
+| 7 | [CREATE] 등록 다이얼로그 대기 | CREATE | ✅ | 1500ms | Waited 1500ms |
+| 8 | [CREATE] 일정명 입력 | CREATE | ✅ | 316ms | FILL_NAME |
+| 9 | [CREATE] 유형 선택: 회사일정 | CREATE | ✅ | 1ms | SELECT_TYPE / 유형 선택 미발견 |
+| 10 | [CREATE] 시작일/종료일 날짜 선택 | CREATE | ✅ | 1514ms | DATE_PICK |
+| 11 | [CREATE] 메모 입력 | CREATE | ✅ | 218ms | FILL_MEMO |
+| 12 | [CREATE] 등록 버튼 클릭 | CREATE | ✅ | 3016ms | SUBMIT |
+| 13 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2539ms | No toast/notification found |
+| 14 | [CREATE] API POST 검증 | CREATE | ✅ | 1ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 15 | [CREATE] 모달 닫힘 확인 + 목록 대기 | CREATE | ✅ | 1012ms | json_fail:Unexpected token 'p', "pass: moda"... is not valid JSON/raw:pass: moda |
+| 16 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1004ms | VERIFY_LIST / rows:28 |
+| 17 | [UPDATE] E2E 일정 행 클릭 (수정 다이얼로그 열기) | UPDATE | ✅ | 1513ms | EDIT_OPEN / E2E 행 미발견, 첫 행 사용 |
+| 18 | [UPDATE] 수정 다이얼로그 대기 | UPDATE | ✅ | 1500ms | Waited 1500ms |
+| 19 | [UPDATE] 일정명 수정 | UPDATE | ✅ | 326ms | EDIT_NAME |
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | ❌ | 1025ms | 수정 버튼 없음 |
+| 21 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2536ms | No toast/notification found |
+| 22 | [UPDATE] API PUT 검증 | UPDATE | ✅ | 0ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 23 | [DELETE] E2E 일정 행 클릭 (삭제 다이얼로그 열기) | DELETE | ✅ | 2514ms | DELETE_OPEN / E2E 행 미발견, 첫 행 사용 |
+| 24 | [DELETE] 삭제 다이얼로그 대기 | DELETE | ✅ | 1513ms | Waited 1500ms |
+| 25 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | DELETE_CLICK / 삭제 버튼 없음 |
+| 26 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2541ms | No toast/notification found |
+| 27 | [DELETE] API DELETE 검증 | DELETE | ✅ | 0ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 28 | [DELETE] 목록에서 삭제 확인 | DELETE | ✅ | 1003ms | VERIFY_DELETED / pass: E2E data removed |
+| 29 | [SUMMARY] API 호출 통계 | - | ✅ | 0ms | json_fail:Unexpected token 'p', "pass: Cale"... is not valid JSON/raw:pass: Cale |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 97ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_19-48-19.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 2284 |
+| 테이블 행 | 5 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-55-12.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-55-12.md
new file mode 100644
index 0000000..9cabf7f
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_19-55-12.md
@@ -0,0 +1,73 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_19-55-12 | **결과**: FAIL
+**소요 시간**: 42.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 29 | 23 | 2 | 4 | 79% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | 다이얼로그 미열림 |
+| 28 | [DELETE] 목록에서 삭제 확인 | DELETE | evaluate returned ok:false |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 522ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 3 | 목업 감지 | - | ⚠️ | 1016ms | Possible mockup page (score: 2) |
+| 4 | 목록 탭 전환 | - | ✅ | 1514ms | TAB_SWITCH |
+| 5 | 목록 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 6 | [CREATE] ts 초기화 + 등록 버튼 클릭 | CREATE | ✅ | 1021ms | CREATE_OPEN |
+| 7 | [CREATE] 등록 다이얼로그 대기 | CREATE | ✅ | 1510ms | Waited 1500ms |
+| 8 | [CREATE] 일정명 입력 | CREATE | ✅ | 321ms | FILL_NAME |
+| 9 | [CREATE] 유형 선택: 회사일정 | CREATE | ✅ | 1015ms | SELECT_TYPE |
+| 10 | [CREATE] 시작일/종료일 날짜 선택 | CREATE | ✅ | 2052ms | DATE_PICK |
+| 11 | [CREATE] 메모 입력 | CREATE | ✅ | 210ms | FILL_MEMO |
+| 12 | [CREATE] 등록 버튼 클릭 | CREATE | ✅ | 3017ms | SUBMIT |
+| 13 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2535ms | No toast/notification found |
+| 14 | [CREATE] API POST 검증 | CREATE | ✅ | 1ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 15 | [CREATE] 모달 닫힘 확인 + 목록 대기 | CREATE | ✅ | 1014ms | json_fail:Unexpected token 'p', "pass: moda"... is not valid JSON/raw:pass: moda |
+| 16 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1014ms | VERIFY_LIST / rows:17 |
+| 17 | [UPDATE] E2E 일정 행 클릭 (수정 다이얼로그 열기) | UPDATE | ✅ | 0ms | EDIT_OPEN / 행 없음 |
+| 18 | [UPDATE] 수정 다이얼로그 대기 | UPDATE | ✅ | 1500ms | Waited 1500ms |
+| 19 | [UPDATE] 일정명 수정 | UPDATE | ✅ | 1ms | EDIT_NAME / 일정명 필드 미발견 |
+| 20 | [UPDATE] 수정 버튼 클릭 | UPDATE | ❌ | 1007ms | 다이얼로그 미열림 |
+| 21 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2549ms | No toast/notification found |
+| 22 | [UPDATE] API PUT 검증 | UPDATE | ✅ | 1ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 23 | [DELETE] E2E 일정 행 클릭 (삭제 다이얼로그 열기) | DELETE | ✅ | 1016ms | DELETE_OPEN |
+| 24 | [DELETE] 삭제 다이얼로그 대기 | DELETE | ✅ | 1511ms | Waited 1500ms |
+| 25 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 2ms | DELETE_CLICK / 삭제 버튼 없음 |
+| 26 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2539ms | No toast/notification found |
+| 27 | [DELETE] API DELETE 검증 | DELETE | ✅ | 0ms | json_fail:Unexpected token 'w', "warn: no c"... is not valid JSON/raw:warn: no c |
+| 28 | [DELETE] 목록에서 삭제 확인 | DELETE | ❌ | 4048ms | evaluate returned ok:false |
+| 29 | [SUMMARY] API 호출 통계 | - | ✅ | 0ms | json_fail:Unexpected token 'p', "pass: Cale"... is not valid JSON/raw:pass: Cale |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_19-55-11.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 2020 |
+| 테이블 행 | 0 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-03-58.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-03-58.md
new file mode 100644
index 0000000..85c0096
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-03-58.md
@@ -0,0 +1,64 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_20-03-58 | **결과**: FAIL
+**소요 시간**: 37.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 20 | 15 | 2 | 3 | 75% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | 다이얼로그 미열림 |
+| 19 | [DELETE] 목록에서 삭제 확인 | DELETE | evaluate returned ok:false |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 512ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 3 | 목록 탭 전환 | - | ✅ | 1518ms | TAB_SWITCH |
+| 4 | 테이블 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | [CREATE] ts 초기화 + 등록 다이얼로그 열기 | CREATE | ✅ | 1504ms | CREATE_OPEN |
+| 6 | [CREATE] 폼 입력 + 등록 (일정명/유형/날짜/메모) | CREATE | ✅ | 6599ms | CREATE_FORM |
+| 7 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2554ms | No toast/notification found |
+| 8 | [CREATE] API POST 검증 | CREATE | ✅ | 0ms | warn: no calendar POST found |
+| 9 | [CREATE] 모달 닫힘 확인 + 목록 대기 | CREATE | ✅ | 1013ms | MODAL_CHECK |
+| 10 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1015ms | VERIFY_LIST / rows:0 |
+| 11 | [UPDATE] E2E 일정 행 클릭 → 수정 다이얼로그 | UPDATE | ✅ | 1ms | EDIT_OPEN / 테이블 행 없음 |
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | ❌ | 1028ms | 다이얼로그 미열림 |
+| 13 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2538ms | No toast/notification found |
+| 14 | [UPDATE] API PUT 검증 | UPDATE | ✅ | 0ms | warn: no calendar PUT found |
+| 15 | [UPDATE] 모달 닫힘 확인 | UPDATE | ✅ | 501ms | MODAL_CLOSE |
+| 16 | [DELETE] E2E 수정일정 행 클릭 → 삭제 | DELETE | ✅ | 1015ms | DELETE_FLOW / E2E 행 없음 |
+| 17 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2548ms | No toast/notification found |
+| 18 | [DELETE] API DELETE 검증 | DELETE | ✅ | 0ms | warn: no calendar DELETE found |
+| 19 | [DELETE] 목록에서 삭제 확인 | DELETE | ❌ | 4022ms | evaluate returned ok:false |
+| 20 | [SUMMARY] API 호출 통계 | - | ✅ | 1ms | Calendar API: total=0 GET=0 POST=0 PUT=0 DELETE=0 success=0 failed=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 109ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_20-03-58.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 2026 |
+| 테이블 행 | 0 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-18-14.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-18-14.md
new file mode 100644
index 0000000..5b47d84
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-18-14.md
@@ -0,0 +1,63 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_20-18-14 | **결과**: FAIL
+**소요 시간**: 42.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 20 | 16 | 1 | 3 | 80% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | 다이얼로그 미열림 |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 526ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 3 | 목록 탭 전환 (PointerEvent) | - | ✅ | 2003ms | TAB_SWITCH |
+| 4 | 테이블 로드 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 5 | [CREATE] ts 초기화 + 등록 다이얼로그 열기 | CREATE | ✅ | 1516ms | CREATE_OPEN |
+| 6 | [CREATE] 폼 입력 + 등록 (일정명/유형/날짜/메모) | CREATE | ✅ | 7209ms | CREATE_FORM |
+| 7 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2525ms | No toast/notification found |
+| 8 | [CREATE] API POST 검증 (Server Action) | CREATE | ✅ | 1ms | pass: ServerAction POST ×3 status=200 |
+| 9 | [CREATE] 모달 닫힘 확인 + 목록 새로고침 | CREATE | ✅ | 1003ms | MODAL_CHECK |
+| 10 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1012ms | VERIFY_LIST / pass: E2E 데이터 목록 확인 / rows:19 |
+| 11 | [UPDATE] E2E 일정 행 클릭 → 수정 다이얼로그 | UPDATE | ✅ | 2013ms | EDIT_OPEN |
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | ❌ | 1005ms | 다이얼로그 미열림 |
+| 13 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2546ms | No toast/notification found |
+| 14 | [UPDATE] API 수정 검증 (Server Action) | UPDATE | ✅ | 1ms | pass: ServerAction calls=4 total=5 |
+| 15 | [UPDATE] 모달 닫힘 확인 | UPDATE | ✅ | 501ms | MODAL_CLOSE |
+| 16 | [DELETE] E2E 수정일정 행 클릭 → 삭제 | DELETE | ✅ | 4520ms | DELETE_FLOW / alertdialog 없이 직접 삭제 |
+| 17 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2546ms | No toast/notification found |
+| 18 | [DELETE] API 삭제 검증 (Server Action) | DELETE | ✅ | 0ms | pass: ServerAction calls=7 total=8 |
+| 19 | [DELETE] 목록에서 삭제 확인 | DELETE | ✅ | 2001ms | VERIFY_DELETED / pass: E2E data removed |
+| 20 | [SUMMARY] API 호출 통계 | - | ✅ | 0ms | API total=8 calendar=7 POST=7 success=7 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 8 | 8 | 0 | 83ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_20-18-14.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 633 |
+| 테이블 행 | 18 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-24-04.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-24-04.md
new file mode 100644
index 0000000..eb4ecb5
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-24-04.md
@@ -0,0 +1,63 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_20-24-04 | **결과**: FAIL
+**소요 시간**: 43.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 20 | 16 | 1 | 3 | 80% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | 다이얼로그 미열림 |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 509ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 3 | 목록 탭 전환 (PointerEvent) | - | ✅ | 2007ms | TAB_SWITCH |
+| 4 | 테이블 로드 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 5 | [CREATE] ts 초기화 + 등록 다이얼로그 열기 | CREATE | ✅ | 1507ms | CREATE_OPEN |
+| 6 | [CREATE] 폼 입력 + 등록 (일정명/유형/날짜/메모) | CREATE | ✅ | 7175ms | CREATE_FORM |
+| 7 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2533ms | No toast/notification found |
+| 8 | [CREATE] API POST 검증 (Server Action) | CREATE | ✅ | 1ms | pass: ServerAction POST ×3 status=200 |
+| 9 | [CREATE] 모달 닫힘 확인 + 목록 새로고침 | CREATE | ✅ | 1016ms | MODAL_CHECK |
+| 10 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1003ms | VERIFY_LIST / pass: E2E 데이터 목록 확인 / rows:19 |
+| 11 | [UPDATE] E2E 일정 행 클릭 → 수정 다이얼로그 | UPDATE | ✅ | 3015ms | EDIT_OPEN |
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | ❌ | 1019ms | 다이얼로그 미열림 |
+| 13 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2535ms | No toast/notification found |
+| 14 | [UPDATE] API 수정 검증 (Server Action) | UPDATE | ✅ | 0ms | pass: ServerAction calls=4 total=5 |
+| 15 | [UPDATE] 모달 닫힘 확인 | UPDATE | ✅ | 513ms | MODAL_CLOSE |
+| 16 | [DELETE] E2E 수정일정 행 클릭 → 삭제 | DELETE | ✅ | 4531ms | DELETE_FLOW / alertdialog 없이 직접 삭제 |
+| 17 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2521ms | No toast/notification found |
+| 18 | [DELETE] API 삭제 검증 (Server Action) | DELETE | ✅ | 0ms | pass: ServerAction calls=7 total=8 |
+| 19 | [DELETE] 목록에서 삭제 확인 | DELETE | ✅ | 2013ms | VERIFY_DELETED / pass: E2E data removed |
+| 20 | [SUMMARY] API 호출 통계 | - | ✅ | 1ms | API total=8 calendar=7 POST=7 success=7 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 8 | 8 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_20-24-04.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 633 |
+| 테이블 행 | 18 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-29-13.md b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-29-13.md
new file mode 100644
index 0000000..d8414b2
--- /dev/null
+++ b/e2e/results/hotfix/Fail-settings-calendar-crud_2026-03-03_20-29-13.md
@@ -0,0 +1,63 @@
+# ❌ E2E 테스트 실패: 달력 일정 CRUD 테스트
+
+**테스트 ID**: settings-calendar-crud | **실행**: 2026-03-03_20-29-13 | **결과**: FAIL
+**소요 시간**: 55.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 20 | 16 | 1 | 3 | 80% |
+
+## 실패 스텝
+| # | 스텝 | Phase | 에러 |
+|---|------|-------|------|
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | 다이얼로그 미열림 (재시도 포함) |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 설정 > 달력관리 | - | ✅ | 510ms | Menu navigation: 설정 > 달력관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 목록 탭 전환 (PointerEvent) | - | ✅ | 2014ms | TAB_SWITCH |
+| 4 | 테이블 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | [CREATE] ts 초기화 + 등록 다이얼로그 열기 | CREATE | ✅ | 1502ms | CREATE_OPEN |
+| 6 | [CREATE] 폼 입력 + 등록 (일정명/유형/날짜/메모) | CREATE | ✅ | 7216ms | CREATE_FORM |
+| 7 | [CREATE] 등록 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
+| 8 | [CREATE] API POST 검증 (Server Action) | CREATE | ✅ | 2ms | pass: ServerAction POST ×3 status=200 |
+| 9 | [CREATE] 모달 닫힘 확인 + 목록 새로고침 | CREATE | ✅ | 1010ms | MODAL_CHECK |
+| 10 | [CREATE] 목록에서 등록 결과 확인 | CREATE | ✅ | 1002ms | VERIFY_LIST / pass: E2E 데이터 목록 확인 / rows:19 |
+| 11 | [UPDATE] E2E 일정 행 클릭 → 수정 다이얼로그 | UPDATE | ✅ | 3527ms | EDIT_OPEN |
+| 12 | [UPDATE] 일정명 수정 + 수정 버튼 클릭 | UPDATE | ❌ | 13048ms | 다이얼로그 미열림 (재시도 포함) |
+| 13 | [UPDATE] 수정 토스트 확인 | UPDATE | ⚠️ | 2539ms | No toast/notification found |
+| 14 | [UPDATE] API 수정 검증 (Server Action) | UPDATE | ✅ | 0ms | pass: ServerAction calls=4 total=5 |
+| 15 | [UPDATE] 모달 닫힘 확인 | UPDATE | ✅ | 518ms | MODAL_CLOSE |
+| 16 | [DELETE] E2E 수정일정 행 클릭 → 삭제 | DELETE | ✅ | 4515ms | DELETE_FLOW / alertdialog 없이 직접 삭제 |
+| 17 | [DELETE] 삭제 토스트 확인 | DELETE | ⚠️ | 2531ms | No toast/notification found |
+| 18 | [DELETE] API 삭제 검증 (Server Action) | DELETE | ✅ | 0ms | pass: ServerAction calls=7 total=8 |
+| 19 | [DELETE] 목록에서 삭제 확인 | DELETE | ✅ | 2003ms | VERIFY_DELETED / pass: E2E data removed |
+| 20 | [SUMMARY] API 호출 통계 | - | ✅ | 1ms | API total=8 calendar=7 POST=7 success=7 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 8 | 8 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/settings/calendar-management |
+
+## 자동 진단
+| 항목 | 내용 |
+|------|------|
+| 근본 원인 | **unknown** |
+| 스크린샷 | diag_settings-calendar-crud_2026-03-03_20-29-13.png |
+
+### 페이지 상태
+| 항목 | 값 |
+|------|----|
+| DOM 노드 | 633 |
+| 테이블 행 | 18 |
+| API 호출 수 | 0 |
+| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/downloads/prod-work-result_작업실적_20260304_221308.xlsx b/e2e/results/hotfix/downloads/prod-work-result_작업실적_20260304_221308.xlsx
new file mode 100644
index 0000000..02eddcb
Binary files /dev/null and b/e2e/results/hotfix/downloads/prod-work-result_작업실적_20260304_221308.xlsx differ
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_15-24-01.md b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_15-24-01.md
new file mode 100644
index 0000000..cd85187
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_15-24-01.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
+
+**테스트 ID**: a11y-acc-client | **실행**: 2026-03-03_15-24-01 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2227ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_21-21-04.md b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_21-21-04.md
new file mode 100644
index 0000000..ccd5666
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_21-21-04.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
+
+**테스트 ID**: a11y-acc-client | **실행**: 2026-03-03_21-21-04 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1015ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2280ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_22-21-16.md b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_22-21-16.md
new file mode 100644
index 0000000..f5c5247
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-03_22-21-16.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
+
+**테스트 ID**: a11y-acc-client | **실행**: 2026-03-03_22-21-16 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1017ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_10-06-14.md b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_10-06-14.md
new file mode 100644
index 0000000..62dba31
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_10-06-14.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
+
+**테스트 ID**: a11y-acc-client | **실행**: 2026-03-04_10-06-14 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1013ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2266ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_22-39-15.md b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_22-39-15.md
new file mode 100644
index 0000000..6ba80ec
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-client_2026-03-04_22-39-15.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
+
+**테스트 ID**: a11y-acc-client | **실행**: 2026-03-04_22-39-15 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1510ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2207ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_15-24-13.md b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_15-24-13.md
new file mode 100644
index 0000000..112d0ca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_15-24-13.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
+
+**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-03_15-24-13 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2230ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_21-21-16.md b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_21-21-16.md
new file mode 100644
index 0000000..00a0792
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_21-21-16.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
+
+**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-03_21-21-16 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1022ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2260ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_22-21-29.md b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_22-21-29.md
new file mode 100644
index 0000000..075f9fa
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-03_22-21-29.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
+
+**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-03_22-21-29 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2243ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_10-06-27.md b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_10-06-27.md
new file mode 100644
index 0000000..f907a71
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_10-06-27.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
+
+**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-04_10-06-27 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1011ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2223ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_22-39-28.md b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_22-39-28.md
new file mode 100644
index 0000000..2a3b5af
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-deposit_2026-03-04_22-39-28.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
+
+**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-04_22-39-28 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1514ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2221ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_15-24-25.md b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_15-24-25.md
new file mode 100644
index 0000000..1d67702
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_15-24-25.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
+
+**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-03_15-24-25 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2257ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_21-21-27.md b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_21-21-27.md
new file mode 100644
index 0000000..0a5ffdc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_21-21-27.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
+
+**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-03_21-21-27 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2245ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_22-21-40.md b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_22-21-40.md
new file mode 100644
index 0000000..2ef6e06
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-03_22-21-40.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
+
+**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-03_22-21-40 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2251ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_10-06-39.md b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_10-06-39.md
new file mode 100644
index 0000000..8f825e9
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_10-06-39.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
+
+**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-04_10-06-39 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2227ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_22-39-39.md b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_22-39-39.md
new file mode 100644
index 0000000..1203b43
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-purchase_2026-03-04_22-39-39.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
+
+**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-04_22-39-39 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 3ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2247ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_15-24-37.md b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_15-24-37.md
new file mode 100644
index 0000000..e08c1ab
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_15-24-37.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
+
+**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-03_15-24-37 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1022ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2199ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_21-21-40.md b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_21-21-40.md
new file mode 100644
index 0000000..ee631a3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_21-21-40.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
+
+**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-03_21-21-40 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1037ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2280ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_22-21-52.md b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_22-21-52.md
new file mode 100644
index 0000000..66e0a60
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-03_22-21-52.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
+
+**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-03_22-21-52 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1030ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2260ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_10-06-51.md b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_10-06-51.md
new file mode 100644
index 0000000..e1239e7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_10-06-51.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
+
+**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-04_10-06-51 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_22-39-52.md b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_22-39-52.md
new file mode 100644
index 0000000..fe6a3cc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-acc-sales_2026-03-04_22-39-52.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
+
+**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-04_22-39-52 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2215ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_14-38-42.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_14-38-42.md
new file mode 100644
index 0000000..097eafb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_14-38-42.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-03_14-38-42 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2245ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_15-24-49.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_15-24-49.md
new file mode 100644
index 0000000..48a01a7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_15-24-49.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-03_15-24-49 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1014ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2231ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_21-21-52.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_21-21-52.md
new file mode 100644
index 0000000..54c3bf3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_21-21-52.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-03_21-21-52 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1022ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2260ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_22-22-05.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_22-22-05.md
new file mode 100644
index 0000000..805e34a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-03_22-22-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-03_22-22-05 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1017ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2281ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_10-07-03.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_10-07-03.md
new file mode 100644
index 0000000..2c0f43c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_10-07-03.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-04_10-07-03 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2223ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_22-40-05.md b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_22-40-05.md
new file mode 100644
index 0000000..e0caf90
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-box_2026-03-04_22-40-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
+
+**테스트 ID**: a11y-approval-box | **실행**: 2026-03-04_22-40-05 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 15 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1518ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2246ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_15-25-02.md b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_15-25-02.md
new file mode 100644
index 0000000..bed6fcf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_15-25-02.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
+
+**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-03_15-25-02 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2282ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_21-22-05.md b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_21-22-05.md
new file mode 100644
index 0000000..c420b50
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_21-22-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
+
+**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-03_21-22-05 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1017ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2261ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_22-22-17.md b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_22-22-17.md
new file mode 100644
index 0000000..bb8ea4f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-03_22-22-17.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
+
+**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-03_22-22-17 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1034ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2234ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_10-07-15.md b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_10-07-15.md
new file mode 100644
index 0000000..97cec40
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_10-07-15.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
+
+**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-04_10-07-15 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2206ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_22-40-17.md b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_22-40-17.md
new file mode 100644
index 0000000..abd95fc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-approval-draft_2026-03-04_22-40-17.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
+
+**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-04_22-40-17 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1532ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2216ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_15-25-14.md b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_15-25-14.md
new file mode 100644
index 0000000..bbae9fb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_15-25-14.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
+
+**테스트 ID**: a11y-board-free | **실행**: 2026-03-03_15-25-14 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2213ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_21-22-17.md b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_21-22-17.md
new file mode 100644
index 0000000..80734da
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_21-22-17.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
+
+**테스트 ID**: a11y-board-free | **실행**: 2026-03-03_21-22-17 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2251ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_22-22-30.md b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_22-22-30.md
new file mode 100644
index 0000000..a2f545d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-03_22-22-30.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
+
+**테스트 ID**: a11y-board-free | **실행**: 2026-03-03_22-22-30 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1017ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_10-07-28.md b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_10-07-28.md
new file mode 100644
index 0000000..b6a454e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_10-07-28.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
+
+**테스트 ID**: a11y-board-free | **실행**: 2026-03-04_10-07-28 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1022ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2237ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_22-40-30.md b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_22-40-30.md
new file mode 100644
index 0000000..dcffbb7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-board-free_2026-03-04_22-40-30.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
+
+**테스트 ID**: a11y-board-free | **실행**: 2026-03-04_22-40-30 | **결과**: PASS
+**소요 시간**: 13.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2202ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_14-57-53.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_14-57-53.md
new file mode 100644
index 0000000..b374fb3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_14-57-53.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-03_14-57-53 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1032ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2268ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_15-25-26.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_15-25-26.md
new file mode 100644
index 0000000..24fc0c7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_15-25-26.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-03_15-25-26 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2228ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_21-22-29.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_21-22-29.md
new file mode 100644
index 0000000..0f113ca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_21-22-29.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-03_21-22-29 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1014ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2287ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_22-22-42.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_22-22-42.md
new file mode 100644
index 0000000..10cba5b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-03_22-22-42.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-03_22-22-42 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1012ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2235ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_10-07-40.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_10-07-40.md
new file mode 100644
index 0000000..3c7d38e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_10-07-40.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-04_10-07-40 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2231ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_22-40-43.md b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_22-40-43.md
new file mode 100644
index 0000000..cc517e8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-attendance_2026-03-04_22-40-43.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
+
+**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-04_22-40-43 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_15-25-39.md b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_15-25-39.md
new file mode 100644
index 0000000..41995ee
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_15-25-39.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
+
+**테스트 ID**: a11y-hr-department | **실행**: 2026-03-03_15-25-39 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=부서관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2243ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_21-22-42.md b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_21-22-42.md
new file mode 100644
index 0000000..1338acf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_21-22-42.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
+
+**테스트 ID**: a11y-hr-department | **실행**: 2026-03-03_21-22-42 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=부서관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_22-22-54.md b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_22-22-54.md
new file mode 100644
index 0000000..6daf42a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-03_22-22-54.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
+
+**테스트 ID**: a11y-hr-department | **실행**: 2026-03-03_22-22-54 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 3ms | Found: text=부서관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1026ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_10-07-52.md b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_10-07-52.md
new file mode 100644
index 0000000..abee7ca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_10-07-52.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
+
+**테스트 ID**: a11y-hr-department | **실행**: 2026-03-04_10-07-52 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 2ms | Found: text=부서관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1011ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_22-40-56.md b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_22-40-56.md
new file mode 100644
index 0000000..e18b405
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-department_2026-03-04_22-40-56.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
+
+**테스트 ID**: a11y-hr-department | **실행**: 2026-03-04_22-40-56 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 3ms | Found: text=부서관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1532ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2221ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_15-25-51.md b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_15-25-51.md
new file mode 100644
index 0000000..61f37e8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_15-25-51.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
+
+**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-03_15-25-51 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2220ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_21-22-54.md b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_21-22-54.md
new file mode 100644
index 0000000..929370c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_21-22-54.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
+
+**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-03_21-22-54 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1007ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2243ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_22-23-07.md b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_22-23-07.md
new file mode 100644
index 0000000..01b4104
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-03_22-23-07.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
+
+**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-03_22-23-07 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1014ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2279ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_10-08-05.md b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_10-08-05.md
new file mode 100644
index 0000000..deaa0c0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_10-08-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
+
+**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-04_10-08-05 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1012ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2230ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_22-41-09.md b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_22-41-09.md
new file mode 100644
index 0000000..0135c26
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-employee_2026-03-04_22-41-09.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
+
+**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-04_22-41-09 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1518ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-05-16.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-05-16.md
new file mode 100644
index 0000000..38c02c8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-05-16.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-03_15-05-16 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2213ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-26-03.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-26-03.md
new file mode 100644
index 0000000..ea49e12
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_15-26-03.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-03_15-26-03 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2211ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_21-23-05.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_21-23-05.md
new file mode 100644
index 0000000..eda1907
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_21-23-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-03_21-23-05 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2246ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_22-23-18.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_22-23-18.md
new file mode 100644
index 0000000..7da1d16
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-03_22-23-18.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-03_22-23-18 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_10-08-16.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_10-08-16.md
new file mode 100644
index 0000000..e3b9725
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_10-08-16.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-04_10-08-16 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2227ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_22-41-20.md b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_22-41-20.md
new file mode 100644
index 0000000..13f6fd4
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-hr-salary_2026-03-04_22-41-20.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
+
+**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-04_22-41-20 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=75 PASS (C:0 S:5 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2234ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/salary-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_15-26-15.md b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_15-26-15.md
new file mode 100644
index 0000000..a4daca0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_15-26-15.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
+
+**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-03_15-26-15 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 7 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=50 FAIL (C:0 S:10 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2184ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/receiving-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_21-23-18.md b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_21-23-18.md
new file mode 100644
index 0000000..17bd3cb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_21-23-18.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
+
+**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-03_21-23-18 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 7 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=50 FAIL (C:0 S:10 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2213ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/receiving-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_22-23-30.md b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_22-23-30.md
new file mode 100644
index 0000000..0c60068
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-03_22-23-30.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
+
+**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-03_22-23-30 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 7 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=50 FAIL (C:0 S:10 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/receiving-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_10-08-28.md b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_10-08-28.md
new file mode 100644
index 0000000..e346d23
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_10-08-28.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
+
+**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-04_10-08-28 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 7 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1008ms | A11y: score=50 FAIL (C:0 S:10 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2209ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/receiving-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_22-41-33.md b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_22-41-33.md
new file mode 100644
index 0000000..fdcd9fc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-receiving_2026-03-04_22-41-33.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
+
+**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-04_22-41-33 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 7 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=50 FAIL (C:0 S:10 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2215ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/receiving-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_15-26-27.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_15-26-27.md
new file mode 100644
index 0000000..2e3306c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_15-26-27.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-03_15-26-27 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1033ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2216ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_21-23-30.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_21-23-30.md
new file mode 100644
index 0000000..ccb0043
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_21-23-30.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-03_21-23-30 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2228ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_22-23-42.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_22-23-42.md
new file mode 100644
index 0000000..771689b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-03_22-23-42.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-03_22-23-42 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2229ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_10-08-40.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_10-08-40.md
new file mode 100644
index 0000000..d5acb52
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_10-08-40.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-04_10-08-40 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2235ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-29-51.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-29-51.md
new file mode 100644
index 0000000..8667e45
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-29-51.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-04_22-29-51 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 3ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2211ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-41-44.md b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-41-44.md
new file mode 100644
index 0000000..982ffa1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-material-stock_2026-03-04_22-41-44.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
+
+**테스트 ID**: a11y-material-stock | **실행**: 2026-03-04_22-41-44 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2229ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/material/stock-status |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_15-26-39.md b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_15-26-39.md
new file mode 100644
index 0000000..7e30ff3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_15-26-39.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
+
+**테스트 ID**: a11y-prod-item | **실행**: 2026-03-03_15-26-39 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2231ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/dashboard |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_21-23-41.md b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_21-23-41.md
new file mode 100644
index 0000000..059e9a3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_21-23-41.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
+
+**테스트 ID**: a11y-prod-item | **실행**: 2026-03-03_21-23-41 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2272ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/dashboard |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_22-23-53.md b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_22-23-53.md
new file mode 100644
index 0000000..00db66e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-03_22-23-53.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
+
+**테스트 ID**: a11y-prod-item | **실행**: 2026-03-03_22-23-53 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2280ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/dashboard |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_10-08-51.md b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_10-08-51.md
new file mode 100644
index 0000000..64a01e6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_10-08-51.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
+
+**테스트 ID**: a11y-prod-item | **실행**: 2026-03-04_10-08-51 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2221ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/dashboard |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_22-41-56.md b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_22-41-56.md
new file mode 100644
index 0000000..45a14be
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-item_2026-03-04_22-41-56.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
+
+**테스트 ID**: a11y-prod-item | **실행**: 2026-03-04_22-41-56 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/dashboard |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_15-26-51.md b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_15-26-51.md
new file mode 100644
index 0000000..208b6aa
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_15-26-51.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
+
+**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-03_15-26-51 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2259ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_21-23-54.md b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_21-23-54.md
new file mode 100644
index 0000000..ed9d137
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_21-23-54.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
+
+**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-03_21-23-54 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2261ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_22-24-05.md b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_22-24-05.md
new file mode 100644
index 0000000..96d083b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-03_22-24-05.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
+
+**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-03_22-24-05 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1015ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2268ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_10-09-03.md b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_10-09-03.md
new file mode 100644
index 0000000..af9a1a0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_10-09-03.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
+
+**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-04_10-09-03 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2231ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_22-42-08.md b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_22-42-08.md
new file mode 100644
index 0000000..e2df509
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-prod-work-order_2026-03-04_22-42-08.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
+
+**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-04_22-42-08 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1517ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2205ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_15-27-03.md b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_15-27-03.md
new file mode 100644
index 0000000..6a1dc43
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_15-27-03.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
+
+**테스트 ID**: a11y-sales-client | **실행**: 2026-03-03_15-27-03 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2216ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_21-24-06.md b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_21-24-06.md
new file mode 100644
index 0000000..868c95f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_21-24-06.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
+
+**테스트 ID**: a11y-sales-client | **실행**: 2026-03-03_21-24-06 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1023ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2242ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_22-24-18.md b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_22-24-18.md
new file mode 100644
index 0000000..f57cc1c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-03_22-24-18.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
+
+**테스트 ID**: a11y-sales-client | **실행**: 2026-03-03_22-24-18 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1035ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2226ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_10-09-16.md b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_10-09-16.md
new file mode 100644
index 0000000..4781169
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_10-09-16.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
+
+**테스트 ID**: a11y-sales-client | **실행**: 2026-03-04_10-09-16 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1022ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2226ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_22-42-21.md b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_22-42-21.md
new file mode 100644
index 0000000..f3e28e9
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-client_2026-03-04_22-42-21.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
+
+**테스트 ID**: a11y-sales-client | **실행**: 2026-03-04_22-42-21 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1515ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2221ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_15-27-15.md b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_15-27-15.md
new file mode 100644
index 0000000..292bd75
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_15-27-15.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
+
+**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-03_15-27-15 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/quote-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_21-24-17.md b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_21-24-17.md
new file mode 100644
index 0000000..deae5df
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_21-24-17.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
+
+**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-03_21-24-17 | **결과**: PASS
+**소요 시간**: 11.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2199ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/quote-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_22-24-29.md b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_22-24-29.md
new file mode 100644
index 0000000..9b7b702
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-03_22-24-29.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
+
+**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-03_22-24-29 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 0ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2221ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/quote-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_10-09-27.md b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_10-09-27.md
new file mode 100644
index 0000000..57353f4
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_10-09-27.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
+
+**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-04_10-09-27 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 2ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2197ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/quote-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_22-42-33.md b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_22-42-33.md
new file mode 100644
index 0000000..db4c050
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-estimate_2026-03-04_22-42-33.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
+
+**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-04_22-42-33 | **결과**: PASS
+**소요 시간**: 11.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 4 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2182ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/quote-management |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_15-27-27.md b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_15-27-27.md
new file mode 100644
index 0000000..e468703
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_15-27-27.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
+
+**테스트 ID**: a11y-sales-order | **실행**: 2026-03-03_15-27-27 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 12 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2219ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/order-management-sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_21-24-29.md b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_21-24-29.md
new file mode 100644
index 0000000..cc69d72
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_21-24-29.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
+
+**테스트 ID**: a11y-sales-order | **실행**: 2026-03-03_21-24-29 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 12 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1015ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2216ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/order-management-sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_22-24-41.md b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_22-24-41.md
new file mode 100644
index 0000000..93be92a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-03_22-24-41.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
+
+**테스트 ID**: a11y-sales-order | **실행**: 2026-03-03_22-24-41 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 12 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1020ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2241ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/order-management-sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_10-09-39.md b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_10-09-39.md
new file mode 100644
index 0000000..26e5b0b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_10-09-39.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
+
+**테스트 ID**: a11y-sales-order | **실행**: 2026-03-04_10-09-39 | **결과**: PASS
+**소요 시간**: 12.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 12 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1019ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2245ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/order-management-sales |
diff --git a/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_22-42-45.md b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_22-42-45.md
new file mode 100644
index 0000000..867e89e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-a11y-sales-order_2026-03-04_22-42-45.md
@@ -0,0 +1,28 @@
+# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
+
+**테스트 ID**: a11y-sales-order | **실행**: 2026-03-04_22-42-45 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 4 | 3 | 0 | 1 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 12 rows |
+| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1513ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
+| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2236ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/order-management-sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_15-27-37.md b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_15-27-37.md
new file mode 100644
index 0000000..3b817e0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_15-27-37.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
+
+**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-03_15-27-37 | **결과**: PASS
+**소요 시간**: 10.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 22 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 521ms | Menu navigation: 회계관리 > 악성채권추심관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 50 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
+| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 1ms | Table: 9 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 6ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
+| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 318ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
+| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 3ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
+| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 4ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
+| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 511ms | Toast visible: "" |
+| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 309ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1021ms | Detail checks: 0/1 matched |
+| 15 | [READ] 채권 상세 조회 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
+| 16 | 상세 정보 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 2ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
+| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 2ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
+| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 510ms | Toast visible: "" |
+| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 3ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1022ms | Detail checks: 0/1 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |
diff --git a/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_21-24-40.md b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_21-24-40.md
new file mode 100644
index 0000000..2c4e286
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_21-24-40.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
+
+**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-03_21-24-40 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 22 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 518ms | Menu navigation: 회계관리 > 악성채권추심관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 50 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 4ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
+| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 3ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
+| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 306ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
+| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 3ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
+| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 3ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
+| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 511ms | Toast visible: "" |
+| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 319ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 15 | [READ] 채권 상세 조회 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
+| 16 | 상세 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
+| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
+| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 511ms | Toast visible: "" |
+| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 3ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |
diff --git a/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_22-24-52.md b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_22-24-52.md
new file mode 100644
index 0000000..cc5fb7c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-03_22-24-52.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
+
+**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-03_22-24-52 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 22 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 518ms | Menu navigation: 회계관리 > 악성채권추심관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 50 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
+| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 1ms | Table: 9 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 2ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
+| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 307ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
+| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 2ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
+| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 2ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
+| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 515ms | Toast visible: "" |
+| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 313ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 15 | [READ] 채권 상세 조회 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
+| 16 | 상세 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
+| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
+| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 515ms | Toast visible: "" |
+| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |
diff --git a/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_10-09-50.md b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_10-09-50.md
new file mode 100644
index 0000000..59e2f3e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_10-09-50.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
+
+**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-04_10-09-50 | **결과**: PASS
+**소요 시간**: 10.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 22 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 505ms | Menu navigation: 회계관리 > 악성채권추심관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 50 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
+| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 1ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
+| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 308ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
+| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 2ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
+| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 2ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
+| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 512ms | Toast visible: "" |
+| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 301ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1019ms | Detail checks: 0/1 matched |
+| 15 | [READ] 채권 상세 조회 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
+| 16 | 상세 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 2ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
+| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
+| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 511ms | Toast visible: "" |
+| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 3ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1027ms | Detail checks: 0/1 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |
diff --git a/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_22-42-57.md b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_22-42-57.md
new file mode 100644
index 0000000..2fc9392
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bad-debt_2026-03-04_22-42-57.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
+
+**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-04_22-42-57 | **결과**: PASS
+**소요 시간**: 11.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 22 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 507ms | Menu navigation: 회계관리 > 악성채권추심관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 50 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
+| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 1ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
+| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 305ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
+| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 3ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
+| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 3ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
+| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 510ms | Toast visible: "" |
+| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 302ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1506ms | Detail checks: 0/1 matched |
+| 15 | [READ] 채권 상세 조회 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
+| 16 | 상세 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
+| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
+| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 507ms | Toast visible: "" |
+| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 2ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1510ms | Detail checks: 0/1 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_15-27-48.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_15-27-48.md
new file mode 100644
index 0000000..cbd77a1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_15-27-48.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-03_15-27-48 | **결과**: PASS
+**소요 시간**: 10.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 507ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 47 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 17 "... is not valid JSON/raw:Stats: 17 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 4 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 301ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1014ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 319ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1015ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_21-24-50.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_21-24-50.md
new file mode 100644
index 0000000..863aae8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_21-24-50.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-03_21-24-50 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 510ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 49 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 19 "... is not valid JSON/raw:Stats: 19 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1007ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 320ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1014ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 305ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1010ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_22-25-02.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_22-25-02.md
new file mode 100644
index 0000000..72a01c3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-03_22-25-02.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-03_22-25-02 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 518ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 49 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 19 "... is not valid JSON/raw:Stats: 19 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 5 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1009ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 315ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1032ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1001ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_10-10-00.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_10-10-00.md
new file mode 100644
index 0000000..03900ca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_10-10-00.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-04_10-10-00 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 506ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 21 "... is not valid JSON/raw:Stats: 21 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 6 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1027ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 315ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1019ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1023ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-26-54.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-26-54.md
new file mode 100644
index 0000000..e385ab1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-26-54.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-04_22-26-54 | **결과**: PASS
+**소요 시간**: 10.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 16 | 0 | 2 | 89% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 508ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 53 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 23 "... is not valid JSON/raw:Stats: 23 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 1ms | Table: 11 cols, 7 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1505ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1527ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 317ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-43-07.md b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-43-07.md
new file mode 100644
index 0000000..3b28be2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bank-transaction_2026-03-04_22-43-07.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
+
+**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-04_22-43-07 | **결과**: PASS
+**소요 시간**: 10.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 16 | 0 | 2 | 89% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 509ms | Menu navigation: 회계관리 > 계좌입출금내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 53 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 23 "... is not valid JSON/raw:Stats: 23 |
+| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 7 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1506ms | Detail checks: 0/1 matched |
+| 11 | [READ] 거래 상세 보기 | READ | ✅ | 301ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1512ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 308ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 입금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bank-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_15-28-07.md b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_15-28-07.md
new file mode 100644
index 0000000..a06f3eb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_15-28-07.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 어음관리 테스트
+
+**테스트 ID**: accounting-bill | **실행**: 2026-03-03_15-28-07 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 18 | 0 | 6 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 어음관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 91 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
+| 5 | 어음 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 7" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 313ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
+| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 536ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 310ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2536ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1019ms | Detail checks: 0/0 matched |
+| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 313ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1009ms | Detail checks: 0/4 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2525ms | No toast/notification found |
+| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1014ms | Detail checks: 0/0 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_21-25-10.md b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_21-25-10.md
new file mode 100644
index 0000000..95010a1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_21-25-10.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 어음관리 테스트
+
+**테스트 ID**: accounting-bill | **실행**: 2026-03-03_21-25-10 | **결과**: PASS
+**소요 시간**: 19.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 18 | 0 | 6 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 어음관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 91 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
+| 5 | 어음 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 7" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 317ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 318ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
+| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 565ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 308ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2529ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1014ms | Detail checks: 0/0 matched |
+| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 302ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/4 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2532ms | No toast/notification found |
+| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1028ms | Detail checks: 0/0 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 53ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_22-25-22.md b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_22-25-22.md
new file mode 100644
index 0000000..32255f3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-03_22-25-22.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 어음관리 테스트
+
+**테스트 ID**: accounting-bill | **실행**: 2026-03-03_22-25-22 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 18 | 0 | 6 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2529ms | Menu navigation: 회계관리 > 어음관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 91 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
+| 5 | 어음 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 7" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 315ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
+| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 550ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2531ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1003ms | Detail checks: 0/0 matched |
+| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 314ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1003ms | Detail checks: 0/4 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 2ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2545ms | No toast/notification found |
+| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 0ms | Element not present (ok): button:has-text('삭제') |
+| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1010ms | Detail checks: 0/0 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 50ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_10-10-20.md b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_10-10-20.md
new file mode 100644
index 0000000..2fdc5c1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_10-10-20.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 어음관리 테스트
+
+**테스트 ID**: accounting-bill | **실행**: 2026-03-04_10-10-20 | **결과**: PASS
+**소요 시간**: 19.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 18 | 0 | 6 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 어음관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 91 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
+| 5 | 어음 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 7" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 302ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
+| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 482ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 315ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1012ms | Detail checks: 0/0 matched |
+| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 302ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1019ms | Detail checks: 0/4 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 2ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2530ms | No toast/notification found |
+| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1006ms | Detail checks: 0/0 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 51ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_22-43-29.md b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_22-43-29.md
new file mode 100644
index 0000000..4add57f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-bill_2026-03-04_22-43-29.md
@@ -0,0 +1,48 @@
+# ✅ E2E 테스트 성공: 어음관리 테스트
+
+**테스트 ID**: accounting-bill | **실행**: 2026-03-04_22-43-29 | **결과**: PASS
+**소요 시간**: 22.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 24 | 18 | 0 | 6 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 어음관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 91 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
+| 5 | 어음 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 7" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 307ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 318ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
+| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 487ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 313ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3021ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1511ms | Detail checks: 0/0 matched |
+| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 307ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1512ms | Detail checks: 0/4 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3028ms | No toast/notification found |
+| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1508ms | Detail checks: 0/1 matched |
+| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1514ms | Detail checks: 0/0 matched |
+| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_14-51-31.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_14-51-31.md
new file mode 100644
index 0000000..22db54f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_14-51-31.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-03_14-51-31 | **결과**: PASS
+**소요 시간**: 10.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 514ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1023ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1019ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1017ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_15-28-17.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_15-28-17.md
new file mode 100644
index 0000000..e6f3c63
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_15-28-17.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-03_15-28-17 | **결과**: PASS
+**소요 시간**: 10.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 519ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 1ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 302ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 310ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 2ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1002ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_21-25-20.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_21-25-20.md
new file mode 100644
index 0000000..876adf7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_21-25-20.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-03_21-25-20 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 517ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 318ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1031ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_22-25-32.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_22-25-32.md
new file mode 100644
index 0000000..7f94437
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-03_22-25-32.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-03_22-25-32 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 510ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 5ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 1ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 2ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 4ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 305ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1008ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 312ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1016ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_10-10-30.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_10-10-30.md
new file mode 100644
index 0000000..3cbe4b8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_10-10-30.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-04_10-10-30 | **결과**: PASS
+**소요 시간**: 10.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 520ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 301ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1016ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1016ms | Checks: 0/1 verified |
+| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-29-50.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-29-50.md
new file mode 100644
index 0000000..aed019f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-29-50.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-04_22-29-50 | **결과**: PASS
+**소요 시간**: 10.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 16 | 0 | 2 | 89% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 509ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1504ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 312ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1518ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 316ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-43-40.md b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-43-40.md
new file mode 100644
index 0000000..5940622
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-card-history_2026-03-04_22-43-40.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 카드사용내역 테스트
+
+**테스트 ID**: accounting-card-history | **실행**: 2026-03-04_22-43-40 | **결과**: PASS
+**소요 시간**: 10.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 16 | 0 | 2 | 89% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 516ms | Menu navigation: 회계관리 > 카드사용내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 61 inputs, 130 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
+| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
+| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1512ms | Detail checks: 0/1 matched |
+| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 308ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1517ms | Detail checks: 0/4 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 사용금액 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 카드별 사용 현황 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 3ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/card-transactions |
diff --git a/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_15-28-34.md b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_15-28-34.md
new file mode 100644
index 0000000..e85a2bf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_15-28-34.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 회계거래처관리 테스트
+
+**테스트 ID**: accounting-client | **실행**: 2026-03-03_15-28-34 | **결과**: PASS
+**소요 시간**: 16.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 20 | 0 | 3 | 87% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2522ms | Menu navigation: 회계관리 > 거래처관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 86 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 313ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
+| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 654ms | fill_form: 4/5 filled |
+| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 302ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
+| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 311ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2540ms | No toast/notification found |
+| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 315ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1010ms | Detail checks: 0/1 matched |
+| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 319ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | 상세 페이지 정보 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 320ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
+| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 2ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
+| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 314ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 515ms | Toast visible: "" |
+| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 6ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1009ms | Detail checks: 0/1 matched |
+| 23 | 콘솔 에러 확인 | - | ✅ | 3ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 18 | 18 | 0 | 108ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_21-25-36.md b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_21-25-36.md
new file mode 100644
index 0000000..db17b9d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_21-25-36.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 회계거래처관리 테스트
+
+**테스트 ID**: accounting-client | **실행**: 2026-03-03_21-25-36 | **결과**: PASS
+**소요 시간**: 16.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 20 | 0 | 3 | 87% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2516ms | Menu navigation: 회계관리 > 거래처관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 86 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 5 | 거래처 테이블 구조 확인 | - | ✅ | 1ms | Table: 11 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
+| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 651ms | fill_form: 4/5 filled |
+| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 312ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
+| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 306ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2539ms | No toast/notification found |
+| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 307ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | 상세 페이지 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 308ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
+| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 2ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
+| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 315ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 509ms | Toast visible: "" |
+| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 2ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1010ms | Detail checks: 0/1 matched |
+| 23 | 콘솔 에러 확인 | - | ✅ | 3ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 18 | 18 | 0 | 113ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_22-25-48.md b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_22-25-48.md
new file mode 100644
index 0000000..b37a54e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-client_2026-03-03_22-25-48.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 회계거래처관리 테스트
+
+**테스트 ID**: accounting-client | **실행**: 2026-03-03_22-25-48 | **결과**: PASS
+**소요 시간**: 16.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 20 | 0 | 3 | 87% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2526ms | Menu navigation: 회계관리 > 거래처관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 86 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 312ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
+| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 640ms | fill_form: 4/5 filled |
+| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 311ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
+| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 307ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2551ms | No toast/notification found |
+| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 311ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 311ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | 상세 페이지 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 306ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
+| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 1ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
+| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 308ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 511ms | Toast visible: "" |
+| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 4ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 3ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1025ms | Detail checks: 0/1 matched |
+| 23 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 18 | 18 | 0 | 100ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_10-10-46.md b/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_10-10-46.md
new file mode 100644
index 0000000..fd31e40
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_10-10-46.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 회계거래처관리 테스트
+
+**테스트 ID**: accounting-client | **실행**: 2026-03-04_10-10-46 | **결과**: PASS
+**소요 시간**: 16.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 20 | 0 | 3 | 87% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2516ms | Menu navigation: 회계관리 > 거래처관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 86 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
+| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 635ms | fill_form: 4/5 filled |
+| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 313ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
+| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 308ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2531ms | No toast/notification found |
+| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 314ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 314ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | 상세 페이지 정보 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 317ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
+| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 6ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
+| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 312ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 513ms | Toast visible: "" |
+| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 6ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 4ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 23 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 18 | 18 | 0 | 109ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_22-43-58.md b/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_22-43-58.md
new file mode 100644
index 0000000..c8d42db
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-client_2026-03-04_22-43-58.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 회계거래처관리 테스트
+
+**테스트 ID**: accounting-client | **실행**: 2026-03-04_22-43-58 | **결과**: PASS
+**소요 시간**: 18.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 20 | 0 | 3 | 87% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2512ms | Menu navigation: 회계관리 > 거래처관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 86 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
+| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 622ms | fill_form: 4/5 filled |
+| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 302ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
+| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 309ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3044ms | No toast/notification found |
+| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 307ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1515ms | Detail checks: 0/1 matched |
+| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
+| 15 | 상세 페이지 정보 확인 | - | ✅ | 1ms | Checks: 1/3 verified |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 307ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
+| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 3ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
+| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 307ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
+| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 505ms | Toast visible: "" |
+| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 4ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
+| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 3ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1510ms | Detail checks: 0/1 matched |
+| 23 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 20 | 20 | 0 | 116ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_15-28-46.md b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_15-28-46.md
new file mode 100644
index 0000000..7490e70
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_15-28-46.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 일일 일보 테스트
+
+**테스트 ID**: accounting-daily-report | **실행**: 2026-03-03_15-28-46 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 일일 일보 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3017ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 0 inputs, 24 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 6 rows |
+| 5 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 14 cards" is not valid JSON/raw:Stats: 1 |
+| 6 | 일보 테이블 구조 확인 | - | ✅ | 1ms | Table: 4 cols, 5 rows |
+| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'E', "Export buttons: 엑셀" is not valid JSON/raw:Expor |
+| 10 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/daily-report |
diff --git a/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_21-25-48.md b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_21-25-48.md
new file mode 100644
index 0000000..1247416
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_21-25-48.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 일일 일보 테스트
+
+**테스트 ID**: accounting-daily-report | **실행**: 2026-03-03_21-25-48 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2516ms | Menu navigation: 회계관리 > 일일 일보 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 24 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 9 rows |
+| 5 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 17 cards" is not valid JSON/raw:Stats: 1 |
+| 6 | 일보 테이블 구조 확인 | - | ✅ | 0ms | Table: 4 cols, 8 rows |
+| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Export buttons: 엑셀" is not valid JSON/raw:Expor |
+| 10 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/daily-report |
diff --git a/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_22-26-00.md b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_22-26-00.md
new file mode 100644
index 0000000..e31ca18
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-03_22-26-00.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 일일 일보 테스트
+
+**테스트 ID**: accounting-daily-report | **실행**: 2026-03-03_22-26-00 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2505ms | Menu navigation: 회계관리 > 일일 일보 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 0 inputs, 24 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 9 rows |
+| 5 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 17 cards" is not valid JSON/raw:Stats: 1 |
+| 6 | 일보 테이블 구조 확인 | - | ✅ | 0ms | Table: 4 cols, 8 rows |
+| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Export buttons: 엑셀" is not valid JSON/raw:Expor |
+| 10 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/daily-report |
diff --git a/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_10-10-58.md b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_10-10-58.md
new file mode 100644
index 0000000..5d5599d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_10-10-58.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 일일 일보 테스트
+
+**테스트 ID**: accounting-daily-report | **실행**: 2026-03-04_10-10-58 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2515ms | Menu navigation: 회계관리 > 일일 일보 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 24 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 6 rows |
+| 5 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 14 cards" is not valid JSON/raw:Stats: 1 |
+| 6 | 일보 테이블 구조 확인 | - | ✅ | 0ms | Table: 4 cols, 5 rows |
+| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Export buttons: 엑셀" is not valid JSON/raw:Expor |
+| 10 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/daily-report |
diff --git a/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_22-44-09.md b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_22-44-09.md
new file mode 100644
index 0000000..e50eb78
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-daily-report_2026-03-04_22-44-09.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 일일 일보 테스트
+
+**테스트 ID**: accounting-daily-report | **실행**: 2026-03-04_22-44-09 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 일일 일보 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 0 inputs, 24 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 9 rows |
+| 5 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 17 cards" is not valid JSON/raw:Stats: 1 |
+| 6 | 일보 테이블 구조 확인 | - | ✅ | 0ms | Table: 4 cols, 8 rows |
+| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Export buttons: 엑셀" is not valid JSON/raw:Expor |
+| 10 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/daily-report |
diff --git a/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_15-29-05.md b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_15-29-05.md
new file mode 100644
index 0000000..ea3e3ad
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_15-29-05.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: accounting-deposit | **실행**: 2026-03-03_15-29-05 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 입금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 입금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 307ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 312ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
+| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 479ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 309ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2522ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1016ms | Detail checks: 0/0 matched |
+| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 316ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2539ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1009ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1018ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 92ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_21-26-07.md b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_21-26-07.md
new file mode 100644
index 0000000..46b65cd
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_21-26-07.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: accounting-deposit | **실행**: 2026-03-03_21-26-07 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2516ms | Menu navigation: 회계관리 > 입금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 입금 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 310ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
+| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 473ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 313ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2520ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1030ms | Detail checks: 0/0 matched |
+| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 314ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2548ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1016ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 3ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1012ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_22-26-20.md b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_22-26-20.md
new file mode 100644
index 0000000..761cf64
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-03_22-26-20.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: accounting-deposit | **실행**: 2026-03-03_22-26-20 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 입금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 입금 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 304ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
+| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 504ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 312ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2533ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1002ms | Detail checks: 0/0 matched |
+| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 313ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2535ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1002ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1012ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_10-11-17.md b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_10-11-17.md
new file mode 100644
index 0000000..d0df284
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_10-11-17.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: accounting-deposit | **실행**: 2026-03-04_10-11-17 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2512ms | Menu navigation: 회계관리 > 입금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 입금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 311ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
+| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 472ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 311ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1014ms | Detail checks: 0/0 matched |
+| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1012ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 317ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2532ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1012ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 3ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1016ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 52ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_22-44-32.md b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_22-44-32.md
new file mode 100644
index 0000000..fa88fff
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-deposit_2026-03-04_22-44-32.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: accounting-deposit | **실행**: 2026-03-04_22-44-32 | **결과**: PASS
+**소요 시간**: 22.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2515ms | Menu navigation: 회계관리 > 입금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 입금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 313ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
+| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 471ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3051ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1515ms | Detail checks: 0/0 matched |
+| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1517ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 304ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3025ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1511ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 0ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1506ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 100ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_15-29-17.md b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_15-29-17.md
new file mode 100644
index 0000000..a9763a8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_15-29-17.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 지출예상내역서 테스트
+
+**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-03_15-29-17 | **결과**: PASS
+**소요 시간**: 11.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 518ms | Menu navigation: 회계관리 > 지출예상내역서 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 27 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | 기간 선택 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
+| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 11 | 지출 카테고리별 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 12 | 합계 금액 확인 | - | ⚠️ | 1013ms | Detail checks: 0/1 matched |
+| 13 | 일별 지출 예상 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 인쇄 버튼 확인 | - | ⚠️ | 1018ms | Checks: 0/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1003ms | Checks: 0/1 verified |
+| 17 | PDF 내보내기 확인 | - | ⚠️ | 1014ms | Checks: 0/1 verified |
+| 18 | 이전/다음 기간 네비게이션 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/expected-expenses |
diff --git a/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_21-26-19.md b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_21-26-19.md
new file mode 100644
index 0000000..99c9167
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_21-26-19.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 지출예상내역서 테스트
+
+**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-03_21-26-19 | **결과**: PASS
+**소요 시간**: 11.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 515ms | Menu navigation: 회계관리 > 지출예상내역서 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 27 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | 기간 선택 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 월 선택 | FILTER | ✅ | 4ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
+| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 지출 카테고리별 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 12 | 합계 금액 확인 | - | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 13 | 일별 지출 예상 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 주요 지출 항목 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 인쇄 버튼 확인 | - | ⚠️ | 1017ms | Checks: 0/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1015ms | Checks: 0/1 verified |
+| 17 | PDF 내보내기 확인 | - | ⚠️ | 1006ms | Checks: 0/1 verified |
+| 18 | 이전/다음 기간 네비게이션 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/expected-expenses |
diff --git a/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_22-26-31.md b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_22-26-31.md
new file mode 100644
index 0000000..5b3493c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-03_22-26-31.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 지출예상내역서 테스트
+
+**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-03_22-26-31 | **결과**: PASS
+**소요 시간**: 11.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 511ms | Menu navigation: 회계관리 > 지출예상내역서 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 27 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | 기간 선택 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
+| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 지출 카테고리별 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 12 | 합계 금액 확인 | - | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+| 13 | 일별 지출 예상 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 인쇄 버튼 확인 | - | ⚠️ | 1004ms | Checks: 0/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1012ms | Checks: 0/1 verified |
+| 17 | PDF 내보내기 확인 | - | ⚠️ | 1002ms | Checks: 0/1 verified |
+| 18 | 이전/다음 기간 네비게이션 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/expected-expenses |
diff --git a/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_10-11-29.md b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_10-11-29.md
new file mode 100644
index 0000000..a81cb7c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_10-11-29.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 지출예상내역서 테스트
+
+**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-04_10-11-29 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 507ms | Menu navigation: 회계관리 > 지출예상내역서 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 27 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | 기간 선택 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [FILTER] 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
+| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+| 11 | 지출 카테고리별 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 12 | 합계 금액 확인 | - | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 13 | 일별 지출 예상 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 인쇄 버튼 확인 | - | ⚠️ | 1015ms | Checks: 0/1 verified |
+| 16 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1006ms | Checks: 0/1 verified |
+| 17 | PDF 내보내기 확인 | - | ⚠️ | 1013ms | Checks: 0/1 verified |
+| 18 | 이전/다음 기간 네비게이션 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/expected-expenses |
diff --git a/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_22-44-41.md b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_22-44-41.md
new file mode 100644
index 0000000..bc9332e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-expense-forecast_2026-03-04_22-44-41.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 지출예상내역서 테스트
+
+**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-04_22-44-41 | **결과**: PASS
+**소요 시간**: 9.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 14 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 504ms | Menu navigation: 회계관리 > 지출예상내역서 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 27 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 7 | 기간 선택 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [FILTER] 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
+| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1514ms | Detail checks: 0/1 matched |
+| 11 | 지출 카테고리별 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 12 | 합계 금액 확인 | - | ⚠️ | 1523ms | Detail checks: 0/1 matched |
+| 13 | 일별 지출 예상 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 이전/다음 기간 네비게이션 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/expected-expenses |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-18-10.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-18-10.md
new file mode 100644
index 0000000..f94e1e6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-18-10.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-03_15-18-10 | **결과**: PASS
+**소요 시간**: 12.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 510ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 270ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 4ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 309ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-29-29.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-29-29.md
new file mode 100644
index 0000000..b961625
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_15-29-29.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-03_15-29-29 | **결과**: PASS
+**소요 시간**: 12.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 505ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 218ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 301ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_21-26-31.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_21-26-31.md
new file mode 100644
index 0000000..cc60a3f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_21-26-31.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-03_21-26-31 | **결과**: PASS
+**소요 시간**: 12.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 515ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 215ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 315ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_22-26-43.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_22-26-43.md
new file mode 100644
index 0000000..86872c2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-03_22-26-43.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-03_22-26-43 | **결과**: PASS
+**소요 시간**: 12.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 516ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 206ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 316ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1034ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_10-11-41.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_10-11-41.md
new file mode 100644
index 0000000..a56d674
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_10-11-41.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-04_10-11-41 | **결과**: PASS
+**소요 시간**: 12.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 508ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 208ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1013ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 311ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1005ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_22-44-54.md b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_22-44-54.md
new file mode 100644
index 0000000..09eccda
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-gift-card_2026-03-04_22-44-54.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 상품권관리 테스트
+
+**테스트 ID**: accounting-gift-card | **실행**: 2026-03-04_22-44-54 | **결과**: PASS
+**소요 시간**: 13.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 9 | 0 | 2 | 82% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 509ms | Menu navigation: 회계관리 > 상품권관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 35 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 203ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1519ms | Detail checks: 0/1 matched |
+| 8 | 등록 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 9 | 상세 행 클릭 | - | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1517ms | Detail checks: 0/1 matched |
+| 11 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/gift-certificates |
diff --git a/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_15-29-43.md b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_15-29-43.md
new file mode 100644
index 0000000..190363c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_15-29-43.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 일반전표입력 테스트
+
+**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-03_15-29-43 | **결과**: PASS
+**소요 시간**: 14.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 일반전표입력 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 44 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 전표 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 206ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 등록 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 10 | 상세 행 클릭 | - | ✅ | 308ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1006ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 354ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |
diff --git a/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_21-26-45.md b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_21-26-45.md
new file mode 100644
index 0000000..7325534
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_21-26-45.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 일반전표입력 테스트
+
+**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-03_21-26-45 | **결과**: PASS
+**소요 시간**: 14.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 일반전표입력 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 44 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 전표 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 212ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 10 | 상세 행 클릭 | - | ✅ | 315ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 358ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |
diff --git a/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_22-26-58.md b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_22-26-58.md
new file mode 100644
index 0000000..f047d96
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-03_22-26-58.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 일반전표입력 테스트
+
+**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-03_22-26-58 | **결과**: PASS
+**소요 시간**: 14.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2528ms | Menu navigation: 회계관리 > 일반전표입력 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 44 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 전표 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 212ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 4ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 10 | 상세 행 클릭 | - | ✅ | 311ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1001ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 455ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |
diff --git a/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_10-11-55.md b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_10-11-55.md
new file mode 100644
index 0000000..b6ae347
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_10-11-55.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 일반전표입력 테스트
+
+**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-04_10-11-55 | **결과**: PASS
+**소요 시간**: 14.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 일반전표입력 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 44 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 5 | 전표 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 210ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 4ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 10 | 상세 행 클릭 | - | ✅ | 311ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 367ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |
diff --git a/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_22-45-10.md b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_22-45-10.md
new file mode 100644
index 0000000..ffa7d39
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-journal-entry_2026-03-04_22-45-10.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 일반전표입력 테스트
+
+**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-04_22-45-10 | **결과**: PASS
+**소요 시간**: 15.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2532ms | Menu navigation: 회계관리 > 일반전표입력 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 44 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 5 | 전표 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 203ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1506ms | Detail checks: 0/1 matched |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
+| 10 | 상세 행 클릭 | - | ✅ | 308ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1518ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 417ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |
diff --git a/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_15-29-57.md b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_15-29-57.md
new file mode 100644
index 0000000..5285815
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_15-29-57.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 결제내역 테스트
+
+**테스트 ID**: accounting-payment | **실행**: 2026-03-03_15-29-57 | **결과**: PASS
+**소요 시간**: 13.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2532ms | Menu navigation: 회계관리 > 결제내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/payment-history |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
+| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1012ms | Checks: 0/4 verified |
+| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
+| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
+| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
+| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 0ms | Table: 6 cols, 13 rows |
+| 10 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1010ms | Detail checks: 0/2 matched |
+| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 3ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
+| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1030ms | Checks: 0/1 verified |
+| 14 | [READ] 결제 상세 조회 | READ | ✅ | 311ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1019ms | Detail checks: 0/4 matched |
+| 16 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
+| 17 | 필수 검증 #1: 엑셀 다운로드 | - | ✅ | 8ms | Element not present (ok): button:has-text('엑셀'), button:has-text('Excel'), butto |
+| 18 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/payment-history |
diff --git a/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_21-26-59.md b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_21-26-59.md
new file mode 100644
index 0000000..9ee9804
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_21-26-59.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 결제내역 테스트
+
+**테스트 ID**: accounting-payment | **실행**: 2026-03-03_21-26-59 | **결과**: PASS
+**소요 시간**: 13.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2512ms | Menu navigation: 회계관리 > 결제내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/payment-history |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
+| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1015ms | Checks: 0/4 verified |
+| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
+| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
+| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
+| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 1ms | Table: 6 cols, 13 rows |
+| 10 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1006ms | Detail checks: 0/2 matched |
+| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 1ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
+| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1002ms | Checks: 0/1 verified |
+| 14 | [READ] 결제 상세 조회 | READ | ✅ | 312ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1005ms | Detail checks: 0/4 matched |
+| 16 | 목록으로 돌아가기 | - | ✅ | 312ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
+| 17 | 필수 검증 #1: 엑셀 다운로드 | - | ✅ | 3ms | Element not present (ok): button:has-text('엑셀'), button:has-text('Excel'), butto |
+| 18 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/payment-history |
diff --git a/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_22-27-11.md b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_22-27-11.md
new file mode 100644
index 0000000..e7957e9
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-03_22-27-11.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 결제내역 테스트
+
+**테스트 ID**: accounting-payment | **실행**: 2026-03-03_22-27-11 | **결과**: PASS
+**소요 시간**: 13.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2523ms | Menu navigation: 회계관리 > 결제내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/payment-history |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 0 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
+| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1014ms | Checks: 0/4 verified |
+| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
+| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
+| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
+| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 0ms | Table: 6 cols, 13 rows |
+| 10 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1011ms | Detail checks: 0/2 matched |
+| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 4ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
+| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1029ms | Checks: 0/1 verified |
+| 14 | [READ] 결제 상세 조회 | READ | ✅ | 301ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/4 matched |
+| 16 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
+| 17 | 필수 검증 #1: 엑셀 다운로드 | - | ✅ | 4ms | Element not present (ok): button:has-text('엑셀'), button:has-text('Excel'), butto |
+| 18 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/payment-history |
diff --git a/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_10-12-09.md b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_10-12-09.md
new file mode 100644
index 0000000..5754b35
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_10-12-09.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 결제내역 테스트
+
+**테스트 ID**: accounting-payment | **실행**: 2026-03-04_10-12-09 | **결과**: PASS
+**소요 시간**: 13.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2507ms | Menu navigation: 회계관리 > 결제내역 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/payment-history |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
+| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1011ms | Checks: 0/4 verified |
+| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
+| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
+| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
+| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 0ms | Table: 6 cols, 13 rows |
+| 10 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1007ms | Detail checks: 0/2 matched |
+| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 1ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
+| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1012ms | Checks: 0/1 verified |
+| 14 | [READ] 결제 상세 조회 | READ | ✅ | 305ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/4 matched |
+| 16 | 목록으로 돌아가기 | - | ✅ | 304ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
+| 17 | 필수 검증 #1: 엑셀 다운로드 | - | ✅ | 4ms | Element not present (ok): button:has-text('엑셀'), button:has-text('Excel'), butto |
+| 18 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/payment-history |
diff --git a/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_22-45-25.md b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_22-45-25.md
new file mode 100644
index 0000000..dd896db
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-payment_2026-03-04_22-45-25.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 결제내역 테스트
+
+**테스트 ID**: accounting-payment | **실행**: 2026-03-04_22-45-25 | **결과**: PASS
+**소요 시간**: 15.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2513ms | Menu navigation: 회계관리 > 결제내역 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/payment-history |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 51 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
+| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1519ms | Checks: 0/4 verified |
+| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
+| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
+| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
+| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 0ms | Table: 6 cols, 13 rows |
+| 10 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1503ms | Detail checks: 0/2 matched |
+| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 4ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
+| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1511ms | Checks: 0/1 verified |
+| 14 | [READ] 결제 상세 조회 | READ | ✅ | 315ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1503ms | Detail checks: 0/4 matched |
+| 16 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
+| 17 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/payment-history |
diff --git a/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_15-30-10.md b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_15-30-10.md
new file mode 100644
index 0000000..6595cda
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_15-30-10.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매입관리 테스트
+
+**테스트 ID**: accounting-purchase | **실행**: 2026-03-03_15-30-10 | **결과**: PASS
+**소요 시간**: 13.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2506ms | Menu navigation: 회계관리 > 매입관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
+| 4 | 매입 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 1 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 305ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매입 상세 보기 | READ | ✅ | 314ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1003ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 317ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매입 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1027ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1018ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_21-27-12.md b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_21-27-12.md
new file mode 100644
index 0000000..84a8ece
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_21-27-12.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매입관리 테스트
+
+**테스트 ID**: accounting-purchase | **실행**: 2026-03-03_21-27-12 | **결과**: PASS
+**소요 시간**: 13.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2506ms | Menu navigation: 회계관리 > 매입관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
+| 4 | 매입 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 1 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1013ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 315ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매입 상세 보기 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 311ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매입 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1006ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1014ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_22-27-24.md b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_22-27-24.md
new file mode 100644
index 0000000..7da1cca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-03_22-27-24.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매입관리 테스트
+
+**테스트 ID**: accounting-purchase | **실행**: 2026-03-03_22-27-24 | **결과**: PASS
+**소요 시간**: 13.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2527ms | Menu navigation: 회계관리 > 매입관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
+| 4 | 매입 테이블 구조 확인 | - | ✅ | 1ms | Table: 11 cols, 1 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1009ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 319ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매입 상세 보기 | READ | ✅ | 307ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 320ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매입 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1025ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1004ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 58ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_10-12-22.md b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_10-12-22.md
new file mode 100644
index 0000000..3861c38
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_10-12-22.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매입관리 테스트
+
+**테스트 ID**: accounting-purchase | **실행**: 2026-03-04_10-12-22 | **결과**: PASS
+**소요 시간**: 13.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 매입관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 45 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
+| 4 | 매입 테이블 구조 확인 | - | ✅ | 1ms | Table: 11 cols, 1 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1018ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 312ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매입 상세 보기 | READ | ✅ | 312ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1010ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 312ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매입 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1021ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1026ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 90ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_22-45-37.md b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_22-45-37.md
new file mode 100644
index 0000000..a3a40f1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-purchase_2026-03-04_22-45-37.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 매입관리 테스트
+
+**테스트 ID**: accounting-purchase | **실행**: 2026-03-04_22-45-37 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 14 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 매입관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
+| 4 | 매입 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 1 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1506ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 312ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매입 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1511ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 303ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매입 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 108ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/purchase |
diff --git a/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_15-30-22.md b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_15-30-22.md
new file mode 100644
index 0000000..239757f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_15-30-22.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 미수금현황 테스트
+
+**테스트 ID**: accounting-receivable | **실행**: 2026-03-03_15-30-22 | **결과**: PASS
+**소요 시간**: 11.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 520ms | Menu navigation: 회계관리 > 미수금현황 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 125 inputs, 212 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 4ms | json_fail:Unexpected token 'S', "Stats: 377"... is not valid JSON/raw:Stats: 377 |
+| 5 | 미수금 테이블 구조 확인 | - | ✅ | 0ms | Table: 15 cols, 310 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 830ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1014ms | Detail checks: 0/0 matched |
+| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 309ms | Clicked (existed): input[placeholder*='검색'], input[placeholder*='거래처'] |
+| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1005ms | Detail checks: 0/0 matched |
+| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 309ms | Clicked (existed): table tbody tr:first-child |
+| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/3 matched |
+| 14 | [READ] 목록으로 복귀 | READ | ✅ | 10ms | Element not present (ok): button:has-text('목록'), button:has-text('목록으로'), button |
+| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 316ms | Clicked (existed): button:has-text('엑셀'), button:has-text('다운로드'), button:has-te |
+| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 20ms | Element not present (ok): th:has-text('미수금액'), th:has-text('미수금'), th:has-text(' |
+| 18 | 연체 현황 탭 확인 | - | ✅ | 315ms | Clicked (existed): button:has-text('연체'), [role='tab']:has-text('연체') |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 501ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/receivables-status |
diff --git a/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_21-27-24.md b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_21-27-24.md
new file mode 100644
index 0000000..5cc176b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_21-27-24.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 미수금현황 테스트
+
+**테스트 ID**: accounting-receivable | **실행**: 2026-03-03_21-27-24 | **결과**: PASS
+**소요 시간**: 11.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 514ms | Menu navigation: 회계관리 > 미수금현황 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 127 inputs, 215 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 383"... is not valid JSON/raw:Stats: 383 |
+| 5 | 미수금 테이블 구조 확인 | - | ✅ | 1ms | Table: 15 cols, 315 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 807ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1013ms | Detail checks: 0/0 matched |
+| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 341ms | Clicked (existed): input[placeholder*='검색'], input[placeholder*='거래처'] |
+| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1021ms | Detail checks: 0/0 matched |
+| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
+| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1016ms | Detail checks: 0/3 matched |
+| 14 | [READ] 목록으로 복귀 | READ | ✅ | 8ms | Element not present (ok): button:has-text('목록'), button:has-text('목록으로'), button |
+| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 311ms | Clicked (existed): button:has-text('엑셀'), button:has-text('다운로드'), button:has-te |
+| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 19ms | Element not present (ok): th:has-text('미수금액'), th:has-text('미수금'), th:has-text(' |
+| 18 | 연체 현황 탭 확인 | - | ✅ | 313ms | Clicked (existed): button:has-text('연체'), [role='tab']:has-text('연체') |
+| 19 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 492ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/receivables-status |
diff --git a/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_22-27-36.md b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_22-27-36.md
new file mode 100644
index 0000000..0bb1ef8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-03_22-27-36.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 미수금현황 테스트
+
+**테스트 ID**: accounting-receivable | **실행**: 2026-03-03_22-27-36 | **결과**: PASS
+**소요 시간**: 11.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 520ms | Menu navigation: 회계관리 > 미수금현황 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 129 inputs, 218 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 389"... is not valid JSON/raw:Stats: 389 |
+| 5 | 미수금 테이블 구조 확인 | - | ✅ | 1ms | Table: 15 cols, 320 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 819ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1010ms | Detail checks: 0/0 matched |
+| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 312ms | Clicked (existed): input[placeholder*='검색'], input[placeholder*='거래처'] |
+| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1017ms | Detail checks: 0/0 matched |
+| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
+| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1030ms | Detail checks: 0/3 matched |
+| 14 | [READ] 목록으로 복귀 | READ | ✅ | 8ms | Element not present (ok): button:has-text('목록'), button:has-text('목록으로'), button |
+| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 322ms | Clicked (existed): button:has-text('엑셀'), button:has-text('다운로드'), button:has-te |
+| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 7ms | Element not present (ok): th:has-text('미수금액'), th:has-text('미수금'), th:has-text(' |
+| 18 | 연체 현황 탭 확인 | - | ✅ | 308ms | Clicked (existed): button:has-text('연체'), [role='tab']:has-text('연체') |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 533ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/receivables-status |
diff --git a/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_10-12-34.md b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_10-12-34.md
new file mode 100644
index 0000000..f163456
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_10-12-34.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 미수금현황 테스트
+
+**테스트 ID**: accounting-receivable | **실행**: 2026-03-04_10-12-34 | **결과**: PASS
+**소요 시간**: 11.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 515ms | Menu navigation: 회계관리 > 미수금현황 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 131 inputs, 221 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 395"... is not valid JSON/raw:Stats: 395 |
+| 5 | 미수금 테이블 구조 확인 | - | ✅ | 1ms | Table: 15 cols, 325 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 2/3 verified |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 814ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1007ms | Detail checks: 0/0 matched |
+| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 312ms | Clicked (existed): input[placeholder*='검색'], input[placeholder*='거래처'] |
+| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1034ms | Detail checks: 0/0 matched |
+| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 311ms | Clicked (existed): table tbody tr:first-child |
+| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1009ms | Detail checks: 0/3 matched |
+| 14 | [READ] 목록으로 복귀 | READ | ✅ | 7ms | Element not present (ok): button:has-text('목록'), button:has-text('목록으로'), button |
+| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 315ms | Clicked (existed): button:has-text('엑셀'), button:has-text('다운로드'), button:has-te |
+| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 24ms | Element not present (ok): th:has-text('미수금액'), th:has-text('미수금'), th:has-text(' |
+| 18 | 연체 현황 탭 확인 | - | ✅ | 318ms | Clicked (existed): button:has-text('연체'), [role='tab']:has-text('연체') |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 516ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/receivables-status |
diff --git a/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_22-45-51.md b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_22-45-51.md
new file mode 100644
index 0000000..49e9b16
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-receivable_2026-03-04_22-45-51.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 미수금현황 테스트
+
+**테스트 ID**: accounting-receivable | **실행**: 2026-03-04_22-45-51 | **결과**: PASS
+**소요 시간**: 13.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 16 | 0 | 3 | 84% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 518ms | Menu navigation: 회계관리 > 미수금현황 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 4ms | Real page: 133 inputs, 224 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 4ms | json_fail:Unexpected token 'S', "Stats: 401"... is not valid JSON/raw:Stats: 401 |
+| 5 | 미수금 테이블 구조 확인 | - | ✅ | 1ms | Table: 15 cols, 330 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
+| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 813ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1512ms | Detail checks: 0/0 matched |
+| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 317ms | Clicked (existed): input[placeholder*='검색'], input[placeholder*='거래처'] |
+| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1505ms | Detail checks: 0/0 matched |
+| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1520ms | Detail checks: 0/3 matched |
+| 14 | [READ] 목록으로 복귀 | READ | ✅ | 13ms | Element not present (ok): button:has-text('목록'), button:has-text('목록으로'), button |
+| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 315ms | Clicked (existed): button:has-text('엑셀'), button:has-text('다운로드'), button:has-te |
+| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 12ms | Element not present (ok): th:has-text('미수금액'), th:has-text('미수금'), th:has-text(' |
+| 18 | 연체 현황 탭 확인 | - | ✅ | 305ms | Clicked (existed): button:has-text('연체'), [role='tab']:has-text('연체') |
+| 19 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 525ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/receivables-status |
diff --git a/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_15-30-35.md b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_15-30-35.md
new file mode 100644
index 0000000..c6a698a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_15-30-35.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매출관리 테스트
+
+**테스트 ID**: accounting-sales | **실행**: 2026-03-03_15-30-35 | **결과**: PASS
+**소요 시간**: 13.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2529ms | Menu navigation: 회계관리 > 매출관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 1 inputs, 205 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
+| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매출 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1022ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 313ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매출 상세 보기 | READ | ✅ | 325ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1012ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 306ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매출 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1012ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1005ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 4ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_21-27-38.md b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_21-27-38.md
new file mode 100644
index 0000000..a2c971a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_21-27-38.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매출관리 테스트
+
+**테스트 ID**: accounting-sales | **실행**: 2026-03-03_21-27-38 | **결과**: PASS
+**소요 시간**: 13.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2515ms | Menu navigation: 회계관리 > 매출관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 205 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
+| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매출 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 313ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매출 상세 보기 | READ | ✅ | 309ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 319ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매출 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1026ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1007ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_22-27-50.md b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_22-27-50.md
new file mode 100644
index 0000000..7dfd618
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-03_22-27-50.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매출관리 테스트
+
+**테스트 ID**: accounting-sales | **실행**: 2026-03-03_22-27-50 | **결과**: PASS
+**소요 시간**: 13.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2531ms | Menu navigation: 회계관리 > 매출관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 3ms | Real page: 1 inputs, 205 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 4ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
+| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매출 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 5ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 316ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매출 상세 보기 | READ | ✅ | 312ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1005ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매출 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1018ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1017ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 5ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_10-12-48.md b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_10-12-48.md
new file mode 100644
index 0000000..bb8c2c3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_10-12-48.md
@@ -0,0 +1,42 @@
+# ✅ E2E 테스트 성공: 매출관리 테스트
+
+**테스트 ID**: accounting-sales | **실행**: 2026-03-04_10-12-48 | **결과**: PASS
+**소요 시간**: 13.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 18 | 14 | 0 | 4 | 78% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 매출관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 205 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
+| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매출 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1007ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 313ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매출 상세 보기 | READ | ✅ | 317ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 360ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매출 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1013ms | Checks: 0/1 verified |
+| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1026ms | Checks: 0/1 verified |
+| 17 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 18 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 125ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_22-46-03.md b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_22-46-03.md
new file mode 100644
index 0000000..9e49f05
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-sales_2026-03-04_22-46-03.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 매출관리 테스트
+
+**테스트 ID**: accounting-sales | **실행**: 2026-03-04_22-46-03 | **결과**: PASS
+**소요 시간**: 12.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 14 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2523ms | Menu navigation: 회계관리 > 매출관리 |
+| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 1 inputs, 205 buttons |
+| 3 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
+| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
+| 5 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
+| 6 | 매출 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 4ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 5ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
+| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1518ms | Detail checks: 0/1 matched |
+| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 319ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
+| 11 | [READ] 매출 상세 보기 | READ | ✅ | 318ms | Clicked (existed): table tbody tr:first-child |
+| 12 | 상세 정보 확인 | - | ⚠️ | 1510ms | Detail checks: 0/3 matched |
+| 13 | 목록으로 돌아가기 | - | ✅ | 307ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 14 | 매출 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 71ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_15-30-46.md b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_15-30-46.md
new file mode 100644
index 0000000..3e2f648
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_15-30-46.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서발행 테스트
+
+**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-03_15-30-46 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 514ms | Menu navigation: 회계관리 > 세금계산서발행 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 1 inputs, 33 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 1 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 1ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 발행 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
+| 10 | 상세 행 클릭 | - | ✅ | 302ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_21-27-49.md b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_21-27-49.md
new file mode 100644
index 0000000..7b28c37
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_21-27-49.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서발행 테스트
+
+**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-03_21-27-49 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 521ms | Menu navigation: 회계관리 > 세금계산서발행 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 33 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 1 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 1ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 발행 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
+| 10 | 상세 행 클릭 | - | ✅ | 308ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1018ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_22-28-01.md b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_22-28-01.md
new file mode 100644
index 0000000..30ab45c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-03_22-28-01.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서발행 테스트
+
+**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-03_22-28-01 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 509ms | Menu navigation: 회계관리 > 세금계산서발행 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 33 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 1 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 1ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 발행 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
+| 10 | 상세 행 클릭 | - | ✅ | 316ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_10-12-59.md b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_10-12-59.md
new file mode 100644
index 0000000..9f97dc5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_10-12-59.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서발행 테스트
+
+**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-04_10-12-59 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 503ms | Menu navigation: 회계관리 > 세금계산서발행 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 2ms | Real page: 1 inputs, 33 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 1 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 0ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 발행 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
+| 10 | 상세 행 클릭 | - | ✅ | 307ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_22-46-15.md b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_22-46-15.md
new file mode 100644
index 0000000..736acb3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-issue_2026-03-04_22-46-15.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서발행 테스트
+
+**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-04_22-46-15 | **결과**: PASS
+**소요 시간**: 11.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 515ms | Menu navigation: 회계관리 > 세금계산서발행 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 33 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 1 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 2ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
+| 9 | 발행 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
+| 10 | 상세 행 클릭 | - | ✅ | 309ms | Clicked (existed): table tbody tr:first-child |
+| 11 | 상세 정보 확인 | - | ⚠️ | 1503ms | Detail checks: 0/1 matched |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_15-30-57.md b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_15-30-57.md
new file mode 100644
index 0000000..9db5e87
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_15-30-57.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서관리 테스트
+
+**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-03_15-30-57 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 516ms | Menu navigation: 회계관리 > 세금계산서관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 1ms | Table: 14 cols, 3 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 2ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
+| 9 | 상세 행 클릭 | - | ✅ | 316ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoices |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_21-28-00.md b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_21-28-00.md
new file mode 100644
index 0000000..99620ed
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_21-28-00.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서관리 테스트
+
+**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-03_21-28-00 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 508ms | Menu navigation: 회계관리 > 세금계산서관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 14 cols, 3 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 3ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
+| 9 | 상세 행 클릭 | - | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoices |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_22-28-12.md b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_22-28-12.md
new file mode 100644
index 0000000..638b113
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-03_22-28-12.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서관리 테스트
+
+**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-03_22-28-12 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 505ms | Menu navigation: 회계관리 > 세금계산서관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 14 cols, 3 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 3ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
+| 9 | 상세 행 클릭 | - | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
+| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoices |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_10-13-10.md b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_10-13-10.md
new file mode 100644
index 0000000..b1e46b6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_10-13-10.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서관리 테스트
+
+**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-04_10-13-10 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 508ms | Menu navigation: 회계관리 > 세금계산서관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 14 cols, 3 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 1ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
+| 9 | 상세 행 클릭 | - | ✅ | 302ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
+| 12 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoices |
diff --git a/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_22-46-26.md b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_22-46-26.md
new file mode 100644
index 0000000..bdfb525
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-tax-mgmt_2026-03-04_22-46-26.md
@@ -0,0 +1,35 @@
+# ✅ E2E 테스트 성공: 세금계산서관리 테스트
+
+**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-04_22-46-26 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 11 | 10 | 0 | 1 | 91% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 509ms | Menu navigation: 회계관리 > 세금계산서관리 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 3 rows |
+| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 14 cols, 3 rows |
+| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 2ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
+| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
+| 9 | 상세 행 클릭 | - | ✅ | 314ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 상세 정보 확인 | - | ⚠️ | 1512ms | Detail checks: 0/1 matched |
+| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
+| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/tax-invoices |
diff --git a/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_15-31-17.md b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_15-31-17.md
new file mode 100644
index 0000000..8dc2cdb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_15-31-17.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 출금관리 테스트
+
+**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-03_15-31-17 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2528ms | Menu navigation: 회계관리 > 출금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 5ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 출금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 307ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 303ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
+| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 497ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 314ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2519ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1005ms | Detail checks: 0/0 matched |
+| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 311ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2544ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1011ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1013ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 53ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/withdrawals |
diff --git a/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_21-28-19.md b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_21-28-19.md
new file mode 100644
index 0000000..c02fdc6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_21-28-19.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 출금관리 테스트
+
+**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-03_21-28-19 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2521ms | Menu navigation: 회계관리 > 출금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 출금 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 302ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 315ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
+| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 500ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 318ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2532ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1001ms | Detail checks: 0/0 matched |
+| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 316ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 2ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 2ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2529ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1017ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1014ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/withdrawals |
diff --git a/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_22-28-31.md b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_22-28-31.md
new file mode 100644
index 0000000..be38184
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-03_22-28-31.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 출금관리 테스트
+
+**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-03_22-28-31 | **결과**: PASS
+**소요 시간**: 19.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2529ms | Menu navigation: 회계관리 > 출금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 출금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 312ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
+| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 483ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1016ms | Detail checks: 0/0 matched |
+| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 313ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2534ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1001ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1011ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 54ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/withdrawals |
diff --git a/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_10-13-29.md b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_10-13-29.md
new file mode 100644
index 0000000..60933b5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_10-13-29.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 출금관리 테스트
+
+**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-04_10-13-29 | **결과**: PASS
+**소요 시간**: 19.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2531ms | Menu navigation: 회계관리 > 출금관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 출금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 314ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 318ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
+| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 473ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 307ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1015ms | Detail checks: 0/0 matched |
+| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 303ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 2ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2533ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1014ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 0ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1017ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/withdrawals |
diff --git a/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_22-46-49.md b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_22-46-49.md
new file mode 100644
index 0000000..3df2393
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-accounting-withdrawal_2026-03-04_22-46-49.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 출금관리 테스트
+
+**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-04_22-46-49 | **결과**: PASS
+**소요 시간**: 22.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 19 | 0 | 6 | 76% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 출금관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 89 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
+| 5 | 출금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
+| 7 | 검색 기능 테스트 | - | ✅ | 314ms | Clicked (existed): input[placeholder*='검색'] |
+| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
+| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 498ms | fill_form: 3/3 filled |
+| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 306ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
+| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3045ms | No toast/notification found |
+| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
+| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1515ms | Detail checks: 0/0 matched |
+| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 0ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
+| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1517ms | Detail checks: 0/3 matched |
+| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('수정') |
+| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 316ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
+| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 3ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
+| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
+| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3034ms | No toast/notification found |
+| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1530ms | Detail checks: 0/2 matched |
+| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 0ms | Element not present (ok): button:has-text('삭제') |
+| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
+| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1514ms | Detail checks: 0/0 matched |
+| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/withdrawals |
diff --git a/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_15-32-03.md b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_15-32-03.md
new file mode 100644
index 0000000..ac89f55
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_15-32-03.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 회계
+
+**테스트 ID**: api-health-acc | **실행**: 2026-03-03_15-32-03 | **결과**: PASS
+**소요 시간**: 46.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 회계관리 > 어음관리 |
+| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2031ms | Menu navigation: 회계관리 > 입금관리 |
+| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2533ms | Menu navigation: 회계관리 > 출금관리 |
+| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 59ms / PASS |
+| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:94 |
+| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 회계관리 > 매출관리 |
+| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:94 |
+| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2529ms | Menu navigation: 회계관리 > 매입관리 |
+| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 88ms / PASS |
+| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 회계관리 > 악성채권관리 |
+| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 예상지출관리 |
+| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 525ms | Menu navigation: 회계관리 > 카드내역관리 |
+| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:101 |
+| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 회계관리 > 결제관리 |
+| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 78ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_21-29-05.md b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_21-29-05.md
new file mode 100644
index 0000000..8e37664
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_21-29-05.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 회계
+
+**테스트 ID**: api-health-acc | **실행**: 2026-03-03_21-29-05 | **결과**: PASS
+**소요 시간**: 46.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:88 |
+| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 527ms | Menu navigation: 회계관리 > 어음관리 |
+| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2029ms | Menu navigation: 회계관리 > 입금관리 |
+| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2525ms | Menu navigation: 회계관리 > 출금관리 |
+| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 53ms / PASS |
+| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:94 |
+| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 526ms | Menu navigation: 회계관리 > 매출관리 |
+| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:94 |
+| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 매입관리 |
+| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 75ms / PASS |
+| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 회계관리 > 악성채권관리 |
+| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 회계관리 > 예상지출관리 |
+| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 카드내역관리 |
+| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 521ms | Menu navigation: 회계관리 > 결제관리 |
+| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_22-29-17.md b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_22-29-17.md
new file mode 100644
index 0000000..b61a17d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-03_22-29-17.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 회계
+
+**테스트 ID**: api-health-acc | **실행**: 2026-03-03_22-29-17 | **결과**: PASS
+**소요 시간**: 46.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:88 |
+| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 507ms | Menu navigation: 회계관리 > 어음관리 |
+| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2022ms | Menu navigation: 회계관리 > 입금관리 |
+| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:88 |
+| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 출금관리 |
+| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 58ms / PASS |
+| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:2 perf:94 |
+| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 회계관리 > 매출관리 |
+| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:94 |
+| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 매입관리 |
+| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 74ms / PASS |
+| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 526ms | Menu navigation: 회계관리 > 악성채권관리 |
+| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 예상지출관리 |
+| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 508ms | Menu navigation: 회계관리 > 카드내역관리 |
+| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:101 |
+| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 결제관리 |
+| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_10-14-15.md b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_10-14-15.md
new file mode 100644
index 0000000..f688c1a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_10-14-15.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 회계
+
+**테스트 ID**: api-health-acc | **실행**: 2026-03-04_10-14-15 | **결과**: PASS
+**소요 시간**: 46.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 505ms | Menu navigation: 회계관리 > 어음관리 |
+| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2022ms | Menu navigation: 회계관리 > 입금관리 |
+| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:86 |
+| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2521ms | Menu navigation: 회계관리 > 출금관리 |
+| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 61ms / PASS |
+| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:2 perf:91 |
+| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 매출관리 |
+| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:91 |
+| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2519ms | Menu navigation: 회계관리 > 매입관리 |
+| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 102ms / PASS |
+| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 악성채권관리 |
+| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 예상지출관리 |
+| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 516ms | Menu navigation: 회계관리 > 카드내역관리 |
+| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 회계관리 > 결제관리 |
+| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 89ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_22-47-35.md b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_22-47-35.md
new file mode 100644
index 0000000..2f81000
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-acc_2026-03-04_22-47-35.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 회계
+
+**테스트 ID**: api-health-acc | **실행**: 2026-03-04_22-47-35 | **결과**: PASS
+**소요 시간**: 46.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 회계관리 > 어음관리 |
+| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
+| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2019ms | Menu navigation: 회계관리 > 입금관리 |
+| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:86 |
+| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2515ms | Menu navigation: 회계관리 > 출금관리 |
+| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 54ms / PASS |
+| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:91 |
+| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 회계관리 > 매출관리 |
+| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:91 |
+| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 매입관리 |
+| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 75ms / PASS |
+| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 회계관리 > 악성채권관리 |
+| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:97 |
+| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 509ms | Menu navigation: 회계관리 > 예상지출관리 |
+| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 516ms | Menu navigation: 회계관리 > 카드내역관리 |
+| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:97 |
+| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 회계관리 > 결제관리 |
+| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_15-32-50.md b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_15-32-50.md
new file mode 100644
index 0000000..03817b5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_15-32-50.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
+
+**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-03_15-32-50 | **결과**: PASS
+**소요 시간**: 46.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 524ms | Menu navigation: 생산관리 > 작업실적 |
+| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4027ms | Menu navigation: 생산관리 > 품목관리 |
+| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2520ms | Menu navigation: 생산관리 > 작업자 화면 |
+| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 98ms / PASS |
+| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 품질관리 > 제품검사관리 |
+| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 자재관리 > 입고관리 |
+| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 109ms / PASS |
+| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:106 |
+| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2512ms | Menu navigation: 자재관리 > 재고현황 |
+| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 110ms / PASS |
+| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:113 |
+| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 게시판 > 자유게시판 |
+| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:113 |
+| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2536ms | Menu navigation: 게시판 > 공지사항 |
+| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 49ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 11 | 11 | 0 | 94ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_21-29-52.md b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_21-29-52.md
new file mode 100644
index 0000000..8e2f964
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_21-29-52.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
+
+**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-03_21-29-52 | **결과**: PASS
+**소요 시간**: 46.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 525ms | Menu navigation: 생산관리 > 작업실적 |
+| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4038ms | Menu navigation: 생산관리 > 품목관리 |
+| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2533ms | Menu navigation: 생산관리 > 작업자 화면 |
+| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 73ms / PASS |
+| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 품질관리 > 제품검사관리 |
+| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 523ms | Menu navigation: 자재관리 > 입고관리 |
+| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 110ms / PASS |
+| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:106 |
+| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 자재관리 > 재고현황 |
+| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 111ms / PASS |
+| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:113 |
+| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 게시판 > 자유게시판 |
+| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:113 |
+| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2512ms | Menu navigation: 게시판 > 공지사항 |
+| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 50ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 11 | 11 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_22-30-04.md b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_22-30-04.md
new file mode 100644
index 0000000..04e9116
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-03_22-30-04.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
+
+**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-03_22-30-04 | **결과**: PASS
+**소요 시간**: 46.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 523ms | Menu navigation: 생산관리 > 작업실적 |
+| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4038ms | Menu navigation: 생산관리 > 품목관리 |
+| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:92 |
+| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 생산관리 > 작업자 화면 |
+| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 74ms / PASS |
+| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 품질관리 > 제품검사관리 |
+| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:104 |
+| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 523ms | Menu navigation: 자재관리 > 입고관리 |
+| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 115ms / PASS |
+| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:106 |
+| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2534ms | Menu navigation: 자재관리 > 재고현황 |
+| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 72ms / PASS |
+| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:9 perf:113 |
+| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 게시판 > 자유게시판 |
+| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:113 |
+| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2523ms | Menu navigation: 게시판 > 공지사항 |
+| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 48ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 11 | 11 | 0 | 76ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_10-15-02.md b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_10-15-02.md
new file mode 100644
index 0000000..7cc23bb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_10-15-02.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
+
+**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-04_10-15-02 | **결과**: PASS
+**소요 시간**: 46.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 생산관리 > 작업실적 |
+| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4037ms | Menu navigation: 생산관리 > 품목관리 |
+| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 생산관리 > 작업자 화면 |
+| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 76ms / PASS |
+| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:4 perf:101 |
+| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 품질관리 > 제품검사관리 |
+| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:4 perf:101 |
+| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 509ms | Menu navigation: 자재관리 > 입고관리 |
+| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 121ms / PASS |
+| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:103 |
+| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2519ms | Menu navigation: 자재관리 > 재고현황 |
+| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 54ms / PASS |
+| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:109 |
+| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 505ms | Menu navigation: 게시판 > 자유게시판 |
+| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:109 |
+| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2534ms | Menu navigation: 게시판 > 공지사항 |
+| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 99ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 11 | 11 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_22-48-22.md b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_22-48-22.md
new file mode 100644
index 0000000..7b30b0d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-prod-misc_2026-03-04_22-48-22.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
+
+**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-04_22-48-22 | **결과**: PASS
+**소요 시간**: 46.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:90 |
+| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 생산관리 > 작업실적 |
+| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4033ms | Menu navigation: 생산관리 > 품목관리 |
+| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
+| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2527ms | Menu navigation: 생산관리 > 작업자 화면 |
+| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 74ms / PASS |
+| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:101 |
+| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 516ms | Menu navigation: 품질관리 > 제품검사관리 |
+| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:101 |
+| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 513ms | Menu navigation: 자재관리 > 입고관리 |
+| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 107ms / PASS |
+| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:103 |
+| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2511ms | Menu navigation: 자재관리 > 재고현황 |
+| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 56ms / PASS |
+| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:109 |
+| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 게시판 > 자유게시판 |
+| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:109 |
+| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2517ms | Menu navigation: 게시판 > 공지사항 |
+| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 53ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 11 | 11 | 0 | 71ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/production/work-orders |
diff --git a/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_15-33-37.md b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_15-33-37.md
new file mode 100644
index 0000000..150f30a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_15-33-37.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
+
+**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-03_15-33-37 | **결과**: PASS
+**소요 시간**: 46.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 526ms | Menu navigation: 판매관리 > 수주관리 |
+| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2021ms | Menu navigation: 판매관리 > 견적관리 |
+| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2516ms | Menu navigation: 판매관리 > 단가관리 |
+| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 119ms / PASS |
+| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:96 |
+| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 인사관리 > 사원관리 |
+| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:96 |
+| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 인사관리 > 급여관리 |
+| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 99ms / PASS |
+| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:104 |
+| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 인사관리 > 근태현황 |
+| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:104 |
+| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 인사관리 > 휴가관리 |
+| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 81ms / PASS |
+| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:111 |
+| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2506ms | Menu navigation: 인사관리 > 카드관리 |
+| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 153ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 109ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_21-30-39.md b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_21-30-39.md
new file mode 100644
index 0000000..d8eb55d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_21-30-39.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
+
+**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-03_21-30-39 | **결과**: PASS
+**소요 시간**: 46.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:89 |
+| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 508ms | Menu navigation: 판매관리 > 수주관리 |
+| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2025ms | Menu navigation: 판매관리 > 견적관리 |
+| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2507ms | Menu navigation: 판매관리 > 단가관리 |
+| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 78ms / PASS |
+| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:96 |
+| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 인사관리 > 사원관리 |
+| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:96 |
+| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 인사관리 > 급여관리 |
+| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 75ms / PASS |
+| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:104 |
+| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 인사관리 > 근태현황 |
+| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:104 |
+| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2519ms | Menu navigation: 인사관리 > 휴가관리 |
+| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 64ms / PASS |
+| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:111 |
+| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2519ms | Menu navigation: 인사관리 > 카드관리 |
+| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 157ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 91ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_22-30-51.md b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_22-30-51.md
new file mode 100644
index 0000000..5f53568
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-03_22-30-51.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
+
+**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-03_22-30-51 | **결과**: PASS
+**소요 시간**: 46.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 판매관리 > 수주관리 |
+| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:89 |
+| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2020ms | Menu navigation: 판매관리 > 견적관리 |
+| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:89 |
+| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2513ms | Menu navigation: 판매관리 > 단가관리 |
+| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 76ms / PASS |
+| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:96 |
+| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 인사관리 > 사원관리 |
+| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:2 perf:96 |
+| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 인사관리 > 급여관리 |
+| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 73ms / PASS |
+| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:104 |
+| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 인사관리 > 근태현황 |
+| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:104 |
+| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2534ms | Menu navigation: 인사관리 > 휴가관리 |
+| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 56ms / PASS |
+| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:111 |
+| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2527ms | Menu navigation: 인사관리 > 카드관리 |
+| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 156ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 87ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_10-15-49.md b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_10-15-49.md
new file mode 100644
index 0000000..78debf3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_10-15-49.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
+
+**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-04_10-15-49 | **결과**: PASS
+**소요 시간**: 46.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 판매관리 > 수주관리 |
+| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2025ms | Menu navigation: 판매관리 > 견적관리 |
+| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:87 |
+| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2517ms | Menu navigation: 판매관리 > 단가관리 |
+| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 76ms / PASS |
+| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:93 |
+| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 인사관리 > 사원관리 |
+| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:93 |
+| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2516ms | Menu navigation: 인사관리 > 급여관리 |
+| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 89ms / PASS |
+| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:100 |
+| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 인사관리 > 근태현황 |
+| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:100 |
+| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2516ms | Menu navigation: 인사관리 > 휴가관리 |
+| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 64ms / PASS |
+| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:106 |
+| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2533ms | Menu navigation: 인사관리 > 카드관리 |
+| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 164ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 97ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_22-49-09.md b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_22-49-09.md
new file mode 100644
index 0000000..f5e3949
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-api-health-sales-hr_2026-03-04_22-49-09.md
@@ -0,0 +1,59 @@
+# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
+
+**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-04_22-49-09 | **결과**: PASS
+**소요 시간**: 46.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 35 | 35 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 판매관리 > 수주관리 |
+| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2026ms | Menu navigation: 판매관리 > 견적관리 |
+| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:87 |
+| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2515ms | Menu navigation: 판매관리 > 단가관리 |
+| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 2ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 180ms / PASS |
+| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:93 |
+| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 인사관리 > 사원관리 |
+| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:2 perf:93 |
+| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 인사관리 > 급여관리 |
+| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 99ms / PASS |
+| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:100 |
+| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 인사관리 > 근태현황 |
+| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
+| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:100 |
+| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2516ms | Menu navigation: 인사관리 > 휴가관리 |
+| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 64ms / PASS |
+| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:106 |
+| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 인사관리 > 카드관리 |
+| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 73ms / PASS |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 94ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-03_14-39-07.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_14-39-07.md
new file mode 100644
index 0000000..1bf9ed3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_14-39-07.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-03_14-39-07 | **결과**: PASS
+**소요 시간**: 25.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2323ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2535ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1001ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 3ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1013ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1511ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1013ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 0ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 0ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1503ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1512ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1505ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2015ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1327ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1506ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 516ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 0ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API total=0 success=0 failed=0 avg=0ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 84ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-03_15-34-03.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_15-34-03.md
new file mode 100644
index 0000000..9cf30cf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_15-34-03.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-03_15-34-03 | **결과**: PASS
+**소요 시간**: 25.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2304ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2534ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1000ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 2ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1035ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1508ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1016ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 1ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 0ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1515ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1514ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1504ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2015ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1316ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1502ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 521ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 0ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API total=0 success=0 failed=0 avg=0ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-03_21-31-05.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_21-31-05.md
new file mode 100644
index 0000000..0e180cc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_21-31-05.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-03_21-31-05 | **결과**: PASS
+**소요 시간**: 25.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2314ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2536ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1003ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 2ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1019ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 0ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1511ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1018ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 1ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 1ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1511ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1510ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1509ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2016ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1317ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1516ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 521ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 1ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 1ms | API_SUMMARY / API total=0 success=0 failed=0 avg=0ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-03_22-31-16.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_22-31-16.md
new file mode 100644
index 0000000..bf76823
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-03_22-31-16.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-03_22-31-16 | **결과**: PASS
+**소요 시간**: 25.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2323ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2521ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1017ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 3ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1016ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1509ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1016ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 1ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 1ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1514ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1514ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1505ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2024ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1322ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1504ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 513ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 1ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API total=0 success=0 failed=0 avg=0ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-04_10-16-14.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-04_10-16-14.md
new file mode 100644
index 0000000..da38845
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-04_10-16-14.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-04_10-16-14 | **결과**: PASS
+**소요 시간**: 25.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2311ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2515ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1017ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 1ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1027ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 0ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1504ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1016ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 1ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 0ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1511ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1503ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1514ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2017ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1318ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1517ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 533ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 1ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 1ms | API_SUMMARY / API total=6 success=6 failed=0 avg=92ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 92ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-approval-box_2026-03-04_22-49-35.md b/e2e/results/hotfix/success/OK-approval-box_2026-03-04_22-49-35.md
new file mode 100644
index 0000000..42c84df
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-approval-box_2026-03-04_22-49-35.md
@@ -0,0 +1,49 @@
+# ✅ E2E 테스트 성공: 결재함 E2E 테스트
+
+**테스트 ID**: approval-box | **실행**: 2026-03-04_22-49-35 | **결과**: PASS
+**소요 시간**: 26.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 25 | 23 | 0 | 2 | 92% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2318ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2523ms | Menu navigation: 결재관리 > 결재함 |
+| 3 | 메뉴 도착 확인 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
+| 4 | 404 에러 감지 | - | ✅ | 1009ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 6 | 통계 카드 확인 | - | ✅ | 1ms | Element exists: [class*='card'], [class*='stat'] |
+| 7 | 탭 구조 확인 | - | ⚠️ | 1512ms | Element not found: [role='tab'], button[role='tab'] |
+| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 15 rows |
+| 9 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 1ms | TAB_COUNT_BEFORE |
+| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1514ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
+| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
+| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1507ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
+| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 1ms | WARN: PDF API call not in logs - skip validation |
+| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 1ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
+| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
+| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1505ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
+| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1501ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 15건 존재 / rows:15 |
+| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1515ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
+| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2019ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
+| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1321ms | REJECT_WITH_REASON / WARN: reason textarea not found |
+| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1511ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 6건 존재 / rows:6 |
+| 23 | 검색 기능 테스트 | - | ✅ | 514ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
+| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 1ms | CONSOLE_CHECK / pass: 0 JS console errors |
+| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 1ms | API_SUMMARY / API total=6 success=6 failed=0 avg=92ms slow=0 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 92ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/inbox |
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_14-58-06.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_14-58-06.md
new file mode 100644
index 0000000..4184a93
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_14-58-06.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-03_14-58-06 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 302ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2017ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2313ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 523ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1012ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 1ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 3ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 1ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'o', "not_checked_in" is not valid JSON/raw:not_check |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 308ms | Clicked (existed): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 317ms | Clicked (existed): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_15-34-15.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_15-34-15.md
new file mode 100644
index 0000000..6ebebad
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_15-34-15.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-03_15-34-15 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 310ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2015ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2306ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 513ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1002ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 1ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 3ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 1ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'o', "not_checked_in" is not valid JSON/raw:not_check |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 305ms | Clicked (existed): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 303ms | Clicked (existed): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_21-31-17.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_21-31-17.md
new file mode 100644
index 0000000..9ad5278
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_21-31-17.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-03_21-31-17 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 314ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2019ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2316ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 522ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1010ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 0ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 2ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 1ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'o', "not_checked_in" is not valid JSON/raw:not_check |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 314ms | Clicked (existed): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 305ms | Clicked (existed): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_22-31-29.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_22-31-29.md
new file mode 100644
index 0000000..0901960
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-03_22-31-29.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-03_22-31-29 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 313ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2024ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2311ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 518ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1013ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 0ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 3ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 1ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'o', "not_checked_in" is not valid JSON/raw:not_check |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 312ms | Clicked (existed): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 315ms | Clicked (existed): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_10-16-27.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_10-16-27.md
new file mode 100644
index 0000000..19d8e02
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_10-16-27.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-04_10-16-27 | **결과**: PASS
+**소요 시간**: 12.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 306ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2015ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2314ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 518ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1005ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 1ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 1ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 0ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'o', "not_checked_in" is not valid JSON/raw:not_check |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 305ms | Clicked (existed): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 3ms | Element not present (ok): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 95ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `[GoogleMap] GPS 오류 코드: 1 메시지: User denied Geolocation`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+3. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_22-49-47.md b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_22-49-47.md
new file mode 100644
index 0000000..97ad79f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-attendance-checkin_2026-03-04_22-49-47.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
+
+**테스트 ID**: attendance-checkin | **실행**: 2026-03-04_22-49-47 | **결과**: PASS
+**소요 시간**: 12.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 17 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 311ms | evaluate ok |
+| 2 | 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2008ms | evaluate ok |
+| 3 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2311ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
+| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ✅ | 521ms | Menu navigation: 인사관리 > 근태현황 |
+| 5 | 2차 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
+| 6 | 404 에러 감지 | - | ✅ | 1005ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
+| 7 | 페이지 정상 로드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
+| 8 | 브라우저 위치 권한 설정 | - | ✅ | 1ms | json_fail:Unexpected token 'G', "Geolocatio"... is not valid JSON/raw:Geolocatio |
+| 9 | 위치 정보 로딩 대기 | - | ✅ | 0ms | Found: region[name='지도'], [class*='map'], canvas, iframe[src*='map'] |
+| 10 | 사용자 정보 확인 | - | ✅ | 0ms | Element exists: body |
+| 11 | 출근 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'c', "checked_in" is not valid JSON/raw:checked_in |
+| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 4ms | Element not present (ok): 출근하기 |
+| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | Element exists: body |
+| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 15 | 퇴근하기 (선택적) | - | ✅ | 310ms | Clicked (existed): 퇴근하기 |
+| 16 | 최종 상태 확인 | - | ✅ | 0ms | Element exists: body |
+| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 1 | 1 | 0 | 92ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance |
+
+### 콘솔 에러 (Health Check)
+1. `[GoogleMap] GPS 오류 코드: 1 메시지: User denied Geolocation`
+2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
+3. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_15-35-52.md b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_15-35-52.md
new file mode 100644
index 0000000..08ccbec
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_15-35-52.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
+
+**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-03_15-35-52 | **결과**: PASS
+**소요 시간**: 96.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 9966ms | CREATE_1 |
+| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2017ms | Waited 2000ms |
+| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1519ms | Waited 1500ms |
+| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 9896ms | CREATE_2 |
+| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 9918ms | CREATE_3 |
+| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1509ms | Waited 1500ms |
+| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8035ms | DELETE_1 |
+| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1510ms | Waited 1500ms |
+| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
+| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1019ms | Waited 1000ms |
+| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8033ms | DELETE_2 |
+| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8017ms | DELETE_3 |
+| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1009ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_21-32-54.md b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_21-32-54.md
new file mode 100644
index 0000000..a44498a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_21-32-54.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
+
+**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-03_21-32-54 | **결과**: PASS
+**소요 시간**: 96.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
+| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 9967ms | CREATE_1 |
+| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1505ms | Waited 1500ms |
+| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 9916ms | CREATE_2 |
+| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2017ms | Waited 2000ms |
+| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 9918ms | CREATE_3 |
+| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1511ms | Waited 1500ms |
+| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1015ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8032ms | DELETE_1 |
+| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
+| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8029ms | DELETE_2 |
+| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
+| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
+| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8035ms | DELETE_3 |
+| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1004ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_22-33-05.md b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_22-33-05.md
new file mode 100644
index 0000000..d7fd8e8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-03_22-33-05.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
+
+**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-03_22-33-05 | **결과**: PASS
+**소요 시간**: 96.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 9880ms | CREATE_1 |
+| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1505ms | Waited 1500ms |
+| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 9893ms | CREATE_2 |
+| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 9900ms | CREATE_3 |
+| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1516ms | Waited 1500ms |
+| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1004ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8017ms | DELETE_1 |
+| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1511ms | Waited 1500ms |
+| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1012ms | Waited 1000ms |
+| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8019ms | DELETE_2 |
+| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1517ms | Waited 1500ms |
+| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1011ms | Waited 1000ms |
+| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8017ms | DELETE_3 |
+| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 2ms | Page reload |
+| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1013ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_10-18-03.md b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_10-18-03.md
new file mode 100644
index 0000000..80c0d3a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_10-18-03.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
+
+**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-04_10-18-03 | **결과**: PASS
+**소요 시간**: 96.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 9933ms | CREATE_1 |
+| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1511ms | Waited 1500ms |
+| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 9903ms | CREATE_2 |
+| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 9916ms | CREATE_3 |
+| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
+| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 10ms | Page reload |
+| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1008ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8031ms | DELETE_1 |
+| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1506ms | Waited 1500ms |
+| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1003ms | Waited 1000ms |
+| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8029ms | DELETE_2 |
+| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1509ms | Waited 1500ms |
+| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
+| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8016ms | DELETE_3 |
+| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1007ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_22-51-24.md b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_22-51-24.md
new file mode 100644
index 0000000..ae8c319
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-bills_2026-03-04_22-51-24.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
+
+**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-04_22-51-24 | **결과**: PASS
+**소요 시간**: 96.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 9890ms | CREATE_1 |
+| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 9859ms | CREATE_2 |
+| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
+| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 9849ms | CREATE_3 |
+| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 2ms | Page reload |
+| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8020ms | DELETE_1 |
+| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1512ms | Waited 1500ms |
+| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1014ms | Waited 1000ms |
+| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8021ms | DELETE_2 |
+| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8032ms | DELETE_3 |
+| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_16-01-22.md b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_15-37-34.md
similarity index 53%
rename from e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_16-01-22.md
rename to e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_15-37-34.md
index 81f5481..154a85e 100644
--- a/e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_16-01-22.md
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_15-37-34.md
@@ -1,47 +1,55 @@
-# ❌ E2E 테스트 실패: 연속 등록 테스트: 입금관리
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
-**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-02-27_16-01-22 | **결과**: FAIL
-**소요 시간**: 74.8초 | **중단 사유**: critical_failure
+**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-03_15-37-34 | **결과**: PASS
+**소요 시간**: 102.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
-| 26 | 25 | 1 | 0 | 96% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | E2E_TEST_ 데이터 없음 (ts=20260227_160016) |
+| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
-| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
-| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
-| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12486ms | CREATE_1 |
-| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12467ms | CREATE_1 |
+| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
-| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12470ms | CREATE_2 |
-| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1511ms | Waited 1500ms |
+| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12456ms | CREATE_2 |
+| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12437ms | CREATE_3 |
-| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
-| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
-| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1510ms | Waited 1500ms |
+| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12488ms | CREATE_3 |
+| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
-| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1004ms | VERIFY_BATCH / rows:20 |
-| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 6517ms | DELETE_1 |
-| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
-| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
-| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1515ms | Waited 1500ms |
+| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1011ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7538ms | DELETE_1 |
+| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
-| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1008ms | Waited 1000ms |
-| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 24 rows |
-| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ❌ | 1018ms | E2E_TEST_ 데이터 없음 (ts=20260227_160016) |
+| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_2 |
+| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7538ms | DELETE_3 |
+| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1007ms | VERIFY_BATCH / rows:20 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
@@ -53,17 +61,3 @@
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_batch-create-acc-deposit_2026-02-27_16-01-21.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 1436 |
-| 테이블 행 | 24 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_21-34-36.md b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_21-34-36.md
new file mode 100644
index 0000000..b8755b6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_21-34-36.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
+
+**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-03_21-34-36 | **결과**: PASS
+**소요 시간**: 102.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
+| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12467ms | CREATE_1 |
+| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1518ms | Waited 1500ms |
+| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12553ms | CREATE_2 |
+| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1511ms | Waited 1500ms |
+| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12469ms | CREATE_3 |
+| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1013ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7531ms | DELETE_1 |
+| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1003ms | Waited 1000ms |
+| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7526ms | DELETE_2 |
+| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1516ms | Waited 1500ms |
+| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
+| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1013ms | Waited 1000ms |
+| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7517ms | DELETE_3 |
+| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1002ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_22-34-48.md b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_22-34-48.md
new file mode 100644
index 0000000..c8b3015
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-03_22-34-48.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
+
+**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-03_22-34-48 | **결과**: PASS
+**소요 시간**: 102.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
+| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12515ms | CREATE_1 |
+| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1517ms | Waited 1500ms |
+| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12503ms | CREATE_2 |
+| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1517ms | Waited 1500ms |
+| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12481ms | CREATE_3 |
+| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1012ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7517ms | DELETE_1 |
+| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7516ms | DELETE_2 |
+| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_3 |
+| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1014ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_10-19-45.md b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_10-19-45.md
new file mode 100644
index 0000000..76f1b4c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_10-19-45.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
+
+**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-04_10-19-45 | **결과**: PASS
+**소요 시간**: 102.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12437ms | CREATE_1 |
+| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1507ms | Waited 1500ms |
+| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12478ms | CREATE_2 |
+| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12435ms | CREATE_3 |
+| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7514ms | DELETE_1 |
+| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
+| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7515ms | DELETE_2 |
+| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1515ms | Waited 1500ms |
+| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7516ms | DELETE_3 |
+| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
+| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1508ms | Waited 1500ms |
+| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:20 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_18-01-29.md b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_22-53-06.md
similarity index 52%
rename from e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_18-01-29.md
rename to e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_22-53-06.md
index 626eb7a..302e6c6 100644
--- a/e2e/results/hotfix/Fail-batch-create-acc-deposit_2026-02-27_18-01-29.md
+++ b/e2e/results/hotfix/success/OK-batch-create-acc-deposit_2026-03-04_22-53-06.md
@@ -1,47 +1,55 @@
-# ❌ E2E 테스트 실패: 연속 등록 테스트: 입금관리
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
-**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-02-27_18-01-29 | **결과**: FAIL
-**소요 시간**: 75.2초 | **중단 사유**: critical_failure
+**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-04_22-53-06 | **결과**: PASS
+**소요 시간**: 102.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
-| 26 | 25 | 1 | 0 | 96% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | E2E_TEST_ 데이터 없음 (ts=20260227_180023) |
+| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
-| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
-| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12500ms | CREATE_1 |
-| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
-| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
-| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12481ms | CREATE_2 |
-| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2007ms | Waited 2000ms |
-| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
-| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1509ms | Waited 1500ms |
-| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12483ms | CREATE_3 |
-| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
-| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
-| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
-| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12436ms | CREATE_1 |
+| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12485ms | CREATE_2 |
+| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1508ms | Waited 1500ms |
+| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12469ms | CREATE_3 |
+| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
+| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1516ms | Waited 1500ms |
+| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
-| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:20 |
-| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 6517ms | DELETE_1 |
-| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1011ms | VERIFY_BATCH / rows:20 |
+| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_1 |
+| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
-| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
-| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1011ms | Waited 1000ms |
-| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 27 rows |
-| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ❌ | 1018ms | E2E_TEST_ 데이터 없음 (ts=20260227_180023) |
+| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7532ms | DELETE_2 |
+| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7548ms | DELETE_3 |
+| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1009ms | VERIFY_BATCH / rows:20 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
@@ -53,17 +61,3 @@
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_batch-create-acc-deposit_2026-02-27_18-01-28.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 1490 |
-| 테이블 행 | 27 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/Fail-batch-create-board_2026-02-27_16-02-57.md b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_15-39-09.md
similarity index 63%
rename from e2e/results/hotfix/Fail-batch-create-board_2026-02-27_16-02-57.md
rename to e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_15-39-09.md
index 74f80b1..f1412a0 100644
--- a/e2e/results/hotfix/Fail-batch-create-board_2026-02-27_16-02-57.md
+++ b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_15-39-09.md
@@ -1,58 +1,55 @@
-# ❌ E2E 테스트 실패: 연속 등록 테스트: 자유게시판
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
-**테스트 ID**: batch-create-board | **실행**: 2026-02-27_16-02-57 | **결과**: FAIL
-**소요 시간**: 95.1초
+**테스트 ID**: batch-create-board | **실행**: 2026-03-03_15-39-09 | **결과**: PASS
+**소요 시간**: 94.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
-| 33 | 32 | 1 | 0 | 97% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | 기대 0건, 실제 3건 rows=10 body=true row0=[ 1
-0E2E_BATCH_3_20260227_160131
- 회원 4 게시됨 2026-02-27] |
+| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
-| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 1ms | evaluate ok |
| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
-| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7937ms | CREATE_1 |
-| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
-| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2017ms | evaluate ok |
+| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7945ms | CREATE_1 |
+| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2019ms | evaluate ok |
| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7950ms | CREATE_2 |
-| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7949ms | CREATE_2 |
+| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2017ms | evaluate ok |
-| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7967ms | CREATE_3 |
-| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
-| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2006ms | evaluate ok |
-| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
-| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
-| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 2ms | Table loaded: 10 rows |
-| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:10 |
-| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 6532ms | DELETE_1 |
-| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
-| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 2017ms | evaluate ok |
-| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
-| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 6526ms | DELETE_2 |
-| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2004ms | Waited 2000ms |
-| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 2009ms | evaluate ok |
-| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1510ms | Waited 1500ms |
-| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 6517ms | DELETE_3 |
+| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1516ms | Waited 1500ms |
+| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7936ms | CREATE_3 |
+| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1009ms | VERIFY_BATCH / rows:10 |
+| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7535ms | DELETE_1 |
+| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
+| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1009ms | Waited 1000ms |
+| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_2 |
+| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1505ms | Waited 1500ms |
+| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_3 |
| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2016ms | Waited 2000ms |
-| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 2015ms | evaluate ok |
-| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
-| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
-| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ❌ | 4036ms | 기대 0건, 실제 3건 rows=10 body=true row0=[ 1
-0E2E_BATCH_3_20260227_160131
- 회원 4 게시됨 |
+| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1015ms | VERIFY_BATCH / rows:10 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
@@ -64,17 +61,3 @@
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_batch-create-board_2026-02-27_16-02-57.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 925 |
-| 테이블 행 | 10 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_21-36-11.md b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_21-36-11.md
new file mode 100644
index 0000000..e01725d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_21-36-11.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
+
+**테스트 ID**: batch-create-board | **실행**: 2026-03-03_21-36-11 | **결과**: PASS
+**소요 시간**: 94.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7963ms | CREATE_1 |
+| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2016ms | Waited 2000ms |
+| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2017ms | evaluate ok |
+| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7951ms | CREATE_2 |
+| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7949ms | CREATE_3 |
+| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1005ms | VERIFY_BATCH / rows:10 |
+| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7529ms | DELETE_1 |
+| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1005ms | Waited 1000ms |
+| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7511ms | DELETE_2 |
+| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7535ms | DELETE_3 |
+| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1516ms | Waited 1500ms |
+| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1016ms | VERIFY_BATCH / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_22-36-23.md b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_22-36-23.md
new file mode 100644
index 0000000..45b6ba1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-03_22-36-23.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
+
+**테스트 ID**: batch-create-board | **실행**: 2026-03-03_22-36-23 | **결과**: PASS
+**소요 시간**: 94.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7953ms | CREATE_1 |
+| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2011ms | evaluate ok |
+| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7955ms | CREATE_2 |
+| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2002ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7949ms | CREATE_3 |
+| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 2ms | Page reload |
+| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:10 |
+| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7539ms | DELETE_1 |
+| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7519ms | DELETE_2 |
+| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7525ms | DELETE_3 |
+| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_10-21-20.md b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_10-21-20.md
new file mode 100644
index 0000000..6b34373
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_10-21-20.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
+
+**테스트 ID**: batch-create-board | **실행**: 2026-03-04_10-21-20 | **결과**: PASS
+**소요 시간**: 94.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 0ms | evaluate ok |
+| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7943ms | CREATE_1 |
+| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7921ms | CREATE_2 |
+| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1503ms | Waited 1500ms |
+| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7949ms | CREATE_3 |
+| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2002ms | evaluate ok |
+| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
+| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:10 |
+| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7518ms | DELETE_1 |
+| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7533ms | DELETE_2 |
+| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2020ms | Waited 2000ms |
+| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1514ms | Waited 1500ms |
+| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 2ms | Page reload |
+| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1013ms | Waited 1000ms |
+| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7518ms | DELETE_3 |
+| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
+| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1009ms | VERIFY_BATCH / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_22-54-41.md b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_22-54-41.md
new file mode 100644
index 0000000..45bb490
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-create-board_2026-03-04_22-54-41.md
@@ -0,0 +1,63 @@
+# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
+
+**테스트 ID**: batch-create-board | **실행**: 2026-03-04_22-54-41 | **결과**: PASS
+**소요 시간**: 94.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 39 | 39 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 1ms | evaluate ok |
+| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7947ms | CREATE_1 |
+| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2014ms | evaluate ok |
+| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7935ms | CREATE_2 |
+| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2002ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7947ms | CREATE_3 |
+| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2012ms | evaluate ok |
+| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
+| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
+| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1002ms | VERIFY_BATCH / rows:10 |
+| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7522ms | DELETE_1 |
+| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7532ms | DELETE_2 |
+| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
+| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
+| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7522ms | DELETE_3 |
+| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
+| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
+| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_15-39-36.md b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_15-39-36.md
new file mode 100644
index 0000000..9a80e60
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_15-39-36.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
+
+**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-03_15-39-36 | **결과**: PASS
+**소요 시간**: 26.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5007ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 514ms | CAPTURE_BEFORE / rows:20 |
+| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 502ms | SELECT_ROW |
+| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1018ms | CHANGE_ACCOUNT |
+| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1511ms | SAVE |
+| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2002ms | CONFIRM |
+| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1003ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
+| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1007ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
+| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 1ms | Page reload |
+| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5014ms | Waited 5000ms |
+| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1004ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
+| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 0ms | RESTORE / 원래 값 없음 - 복원 스킵 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_21-36-38.md b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_21-36-38.md
new file mode 100644
index 0000000..32e473b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_21-36-38.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
+
+**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-03_21-36-38 | **결과**: PASS
+**소요 시간**: 26.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5012ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 515ms | CAPTURE_BEFORE / rows:20 |
+| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 502ms | SELECT_ROW |
+| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1033ms | CHANGE_ACCOUNT |
+| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1505ms | SAVE |
+| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2010ms | CONFIRM |
+| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1017ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
+| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1018ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
+| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 2ms | Page reload |
+| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5006ms | Waited 5000ms |
+| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1002ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
+| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 1ms | RESTORE / 원래 값 없음 - 복원 스킵 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_22-36-50.md b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_22-36-50.md
new file mode 100644
index 0000000..ae2363a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-03_22-36-50.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
+
+**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-03_22-36-50 | **결과**: PASS
+**소요 시간**: 26.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5002ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 517ms | CAPTURE_BEFORE / rows:20 |
+| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 508ms | SELECT_ROW |
+| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1038ms | CHANGE_ACCOUNT |
+| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1502ms | SAVE |
+| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2013ms | CONFIRM |
+| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1005ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
+| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1004ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
+| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 1ms | Page reload |
+| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5014ms | Waited 5000ms |
+| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1017ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
+| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 1ms | RESTORE / 원래 값 없음 - 복원 스킵 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_10-21-47.md b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_10-21-47.md
new file mode 100644
index 0000000..71e113e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_10-21-47.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
+
+**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-04_10-21-47 | **결과**: PASS
+**소요 시간**: 26.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5004ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 503ms | CAPTURE_BEFORE / rows:20 |
+| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 513ms | SELECT_ROW |
+| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1017ms | CHANGE_ACCOUNT |
+| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1513ms | SAVE |
+| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2002ms | CONFIRM |
+| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1013ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
+| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1004ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
+| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 0ms | Page reload |
+| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5017ms | Waited 5000ms |
+| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1015ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
+| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 3ms | RESTORE / 원래 값 없음 - 복원 스킵 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_22-55-07.md b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_22-55-07.md
new file mode 100644
index 0000000..a32b43a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-batch-update-account-sales_2026-03-04_22-55-07.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
+
+**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-04_22-55-07 | **결과**: PASS
+**소요 시간**: 26.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5005ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 508ms | CAPTURE_BEFORE / rows:20 |
+| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 507ms | SELECT_ROW |
+| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1019ms | CHANGE_ACCOUNT |
+| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1503ms | SAVE |
+| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2008ms | CONFIRM |
+| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1008ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
+| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1014ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
+| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 1ms | Page reload |
+| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5001ms | Waited 5000ms |
+| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1007ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
+| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 1ms | RESTORE / 원래 값 없음 - 복원 스킵 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-board-management_2026-03-03_15-39-47.md b/e2e/results/hotfix/success/OK-board-management_2026-03-03_15-39-47.md
new file mode 100644
index 0000000..f7099dc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-management_2026-03-03_15-39-47.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 게시판 관리 테스트
+
+**테스트 ID**: board-management | **실행**: 2026-03-03_15-39-47 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 22 | 22 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 510ms | Menu navigation: 게시판 > 게시판 관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/board/board-management |
+| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
+| 5 | 게시판 관리 페이지 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 7 cols, 3 rows |
+| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 8 | 검색 기능 | - | ✅ | 1012ms | Searched: "테스트" |
+| 9 | 검색 결과 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 10 | 검색 결과 데이터 검증 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
+| 11 | 검색 초기화 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
+| 12 | 검색 초기화 결과 대기 | - | ✅ | 1016ms | Waited 1000ms |
+| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
+| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 15 | 첫 번째 행 클릭 | - | ✅ | 516ms | Clicked first row |
+| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 18 | 상세 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 19 | 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 20 | 페이지네이션 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 22 | 목록 복귀 | - | ✅ | 311ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 51ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/board/board-management |
diff --git a/e2e/results/hotfix/success/OK-board-management_2026-03-03_21-36-49.md b/e2e/results/hotfix/success/OK-board-management_2026-03-03_21-36-49.md
new file mode 100644
index 0000000..1e02968
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-management_2026-03-03_21-36-49.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 게시판 관리 테스트
+
+**테스트 ID**: board-management | **실행**: 2026-03-03_21-36-49 | **결과**: PASS
+**소요 시간**: 11.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 22 | 22 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 509ms | Menu navigation: 게시판 > 게시판 관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/board/board-management |
+| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
+| 5 | 게시판 관리 페이지 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 6 | 테이블 확인 | - | ✅ | 1ms | Table: 7 cols, 3 rows |
+| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 8 | 검색 기능 | - | ✅ | 1004ms | Searched: "테스트" |
+| 9 | 검색 결과 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
+| 11 | 검색 초기화 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
+| 12 | 검색 초기화 결과 대기 | - | ✅ | 1014ms | Waited 1000ms |
+| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
+| 14 | 검색 후 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 15 | 첫 번째 행 클릭 | - | ✅ | 514ms | Clicked first row |
+| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 19 | 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 20 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 22 | 목록 복귀 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 51ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/board/board-management |
diff --git a/e2e/results/hotfix/success/OK-board-management_2026-03-03_22-37-01.md b/e2e/results/hotfix/success/OK-board-management_2026-03-03_22-37-01.md
new file mode 100644
index 0000000..b1cb38b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-management_2026-03-03_22-37-01.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 게시판 관리 테스트
+
+**테스트 ID**: board-management | **실행**: 2026-03-03_22-37-01 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 22 | 22 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 516ms | Menu navigation: 게시판 > 게시판 관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/board/board-management |
+| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
+| 5 | 게시판 관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 6 | 테이블 확인 | - | ✅ | 1ms | Table: 7 cols, 3 rows |
+| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 8 | 검색 기능 | - | ✅ | 1005ms | Searched: "테스트" |
+| 9 | 검색 결과 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 10 | 검색 결과 데이터 검증 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
+| 11 | 검색 초기화 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
+| 12 | 검색 초기화 결과 대기 | - | ✅ | 1015ms | Waited 1000ms |
+| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
+| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 15 | 첫 번째 행 클릭 | - | ✅ | 517ms | Clicked first row |
+| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 18 | 상세 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 19 | 모달 닫기 | - | ✅ | 0ms | No modal open |
+| 20 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 21 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+| 22 | 목록 복귀 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 53ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/board/board-management |
diff --git a/e2e/results/hotfix/success/OK-board-management_2026-03-04_10-21-59.md b/e2e/results/hotfix/success/OK-board-management_2026-03-04_10-21-59.md
new file mode 100644
index 0000000..7ed79c7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-management_2026-03-04_10-21-59.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 게시판 관리 테스트
+
+**테스트 ID**: board-management | **실행**: 2026-03-04_10-21-59 | **결과**: PASS
+**소요 시간**: 11.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 22 | 22 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 519ms | Menu navigation: 게시판 > 게시판 관리 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/board/board-management |
+| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
+| 5 | 게시판 관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 7 cols, 3 rows |
+| 7 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 8 | 검색 기능 | - | ✅ | 1013ms | Searched: "테스트" |
+| 9 | 검색 결과 대기 | - | ✅ | 1015ms | Waited 1000ms |
+| 10 | 검색 결과 데이터 검증 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
+| 11 | 검색 초기화 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
+| 12 | 검색 초기화 결과 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
+| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 15 | 첫 번째 행 클릭 | - | ✅ | 513ms | Clicked first row |
+| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 19 | 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 20 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 22 | 목록 복귀 | - | ✅ | 312ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 83ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/board/board-management |
diff --git a/e2e/results/hotfix/success/OK-board-management_2026-03-04_22-55-19.md b/e2e/results/hotfix/success/OK-board-management_2026-03-04_22-55-19.md
new file mode 100644
index 0000000..d966cba
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-management_2026-03-04_22-55-19.md
@@ -0,0 +1,46 @@
+# ✅ E2E 테스트 성공: 게시판 관리 테스트
+
+**테스트 ID**: board-management | **실행**: 2026-03-04_22-55-19 | **결과**: PASS
+**소요 시간**: 11.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 22 | 22 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 506ms | Menu navigation: 게시판 > 게시판 관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/board/board-management |
+| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
+| 5 | 게시판 관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 7 cols, 3 rows |
+| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
+| 8 | 검색 기능 | - | ✅ | 1006ms | Searched: "테스트" |
+| 9 | 검색 결과 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 10 | 검색 결과 데이터 검증 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
+| 11 | 검색 초기화 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
+| 12 | 검색 초기화 결과 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
+| 14 | 검색 후 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
+| 15 | 첫 번째 행 클릭 | - | ✅ | 507ms | Clicked first row |
+| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1009ms | Waited 1000ms |
+| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
+| 19 | 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 20 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 22 | 목록 복귀 | - | ✅ | 312ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 53ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/board/board-management |
diff --git a/e2e/results/hotfix/success/OK-board-test_2026-03-03_15-40-02.md b/e2e/results/hotfix/success/OK-board-test_2026-03-03_15-40-02.md
new file mode 100644
index 0000000..ad53c0f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-test_2026-03-03_15-40-02.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
+
+**테스트 ID**: board-test | **실행**: 2026-03-03_15-40-02 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 11 | 0 | 2 | 85% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2523ms | Menu navigation: 게시판 > 게시판 테스트 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 69 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 게시판 테이블 구조 확인 | - | ✅ | 1ms | Table: 7 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 215ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 8 | 글쓰기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
+| 9 | 게시글 행 클릭 | - | ✅ | 320ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 게시글 상세 확인 | - | ⚠️ | 1029ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
+| 13 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 7 | 7 | 0 | 67ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
diff --git a/e2e/results/hotfix/success/OK-board-test_2026-03-03_21-37-04.md b/e2e/results/hotfix/success/OK-board-test_2026-03-03_21-37-04.md
new file mode 100644
index 0000000..8ab4196
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-test_2026-03-03_21-37-04.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
+
+**테스트 ID**: board-test | **실행**: 2026-03-03_21-37-04 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 11 | 0 | 2 | 85% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2510ms | Menu navigation: 게시판 > 게시판 테스트 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 69 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 게시판 테이블 구조 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 213ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1007ms | Detail checks: 0/1 matched |
+| 8 | 글쓰기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
+| 9 | 게시글 행 클릭 | - | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 게시글 상세 확인 | - | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 310ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
+| 13 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 7 | 7 | 0 | 72ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
diff --git a/e2e/results/hotfix/success/OK-board-test_2026-03-03_22-37-16.md b/e2e/results/hotfix/success/OK-board-test_2026-03-03_22-37-16.md
new file mode 100644
index 0000000..4c77a8a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-test_2026-03-03_22-37-16.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
+
+**테스트 ID**: board-test | **실행**: 2026-03-03_22-37-16 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 11 | 0 | 2 | 85% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2513ms | Menu navigation: 게시판 > 게시판 테스트 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 69 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 게시판 테이블 구조 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 216ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1018ms | Detail checks: 0/1 matched |
+| 8 | 글쓰기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
+| 9 | 게시글 행 클릭 | - | ✅ | 313ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 게시글 상세 확인 | - | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 318ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
+| 13 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 7 | 7 | 0 | 55ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
diff --git a/e2e/results/hotfix/success/OK-board-test_2026-03-04_10-22-13.md b/e2e/results/hotfix/success/OK-board-test_2026-03-04_10-22-13.md
new file mode 100644
index 0000000..72873a6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-test_2026-03-04_10-22-13.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
+
+**테스트 ID**: board-test | **실행**: 2026-03-04_10-22-13 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 11 | 0 | 2 | 85% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2524ms | Menu navigation: 게시판 > 게시판 테스트 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 69 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 게시판 테이블 구조 확인 | - | ✅ | 1ms | Table: 7 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 214ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1009ms | Detail checks: 0/1 matched |
+| 8 | 글쓰기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
+| 9 | 게시글 행 클릭 | - | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 게시글 상세 확인 | - | ⚠️ | 1018ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
+| 13 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 7 | 7 | 0 | 78ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
diff --git a/e2e/results/hotfix/success/OK-board-test_2026-03-04_22-55-34.md b/e2e/results/hotfix/success/OK-board-test_2026-03-04_22-55-34.md
new file mode 100644
index 0000000..d75f70b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-board-test_2026-03-04_22-55-34.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
+
+**테스트 ID**: board-test | **실행**: 2026-03-04_22-55-34 | **결과**: PASS
+**소요 시간**: 15.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 11 | 0 | 2 | 85% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2514ms | Menu navigation: 게시판 > 게시판 테스트 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 69 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 5 | 게시판 테이블 구조 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 207ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1516ms | Detail checks: 0/1 matched |
+| 8 | 글쓰기 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
+| 9 | 게시글 행 클릭 | - | ✅ | 302ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 게시글 상세 확인 | - | ⚠️ | 1515ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
+| 13 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 7 | 7 | 0 | 74ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
diff --git a/e2e/results/hotfix/success/OK-company-info_2026-03-03_15-40-33.md b/e2e/results/hotfix/success/OK-company-info_2026-03-03_15-40-33.md
new file mode 100644
index 0000000..f8ca00e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-company-info_2026-03-03_15-40-33.md
@@ -0,0 +1,55 @@
+# ✅ E2E 테스트 성공: 설정 - 회사정보
+
+**테스트 ID**: company-info | **실행**: 2026-03-03_15-40-33 | **결과**: PASS
+**소요 시간**: 31.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 31 | 18 | 0 | 13 | 58% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2319ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
+| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2525ms | Menu navigation: 설정 > 회사정보 |
+| 3 | 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 0ms | Detail checks: 1/4 |
+| 6 | 페이지 제목 확인 | - | ⚠️ | 1016ms | Element not found: heading |
+| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1017ms | Element not found: button[text='회사 추가'] |
+| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1022ms | Element not found: button[text='수정'] |
+| 9 | 회사명 필드 확인 | - | ⚠️ | 1010ms | Element not found: textbox[label='회사명'][disabled] |
+| 10 | 대표자명 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='대표자명'][disabled] |
+| 11 | 업태 필드 확인 | - | ⚠️ | 1016ms | Element not found: textbox[label='업태'][disabled] |
+| 12 | 업종 필드 확인 | - | ⚠️ | 1033ms | Element not found: textbox[label='업종'][disabled] |
+| 13 | 주소 필드 확인 | - | ⚠️ | 1015ms | Element not found: textbox[label='주소명'][disabled] |
+| 14 | 이메일 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
+| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1016ms | Element not found: textbox[label='사업자등록번호'][disabled] |
+| 16 | 수정 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='수정'] |
+| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1033ms | Element not found: textbox:not([disabled]) |
+| 18 | 취소 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='취소'] |
+| 19 | 회사 추가 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='회사 추가'] |
+| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1033ms | Element not found: dialog |
+| 21 | 다이얼로그 닫기 | - | ✅ | 1ms | Element not present (ok): dialog button[text='취소'] |
+| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 314ms | Clicked (existed): 수정 |
+| 23 | 업태 필드 수정 | - | ✅ | 217ms | Filled "업태" with "테스트업태_수정" |
+| 24 | 저장 버튼 클릭 | - | ✅ | 316ms | Clicked (existed): 저장 |
+| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 314ms | Clicked (existed): 회사 추가 |
+| 27 | 새 회사 정보 입력 | - | ✅ | 487ms | fill_form: 3/3 filled |
+| 28 | 회사 등록 | - | ✅ | 314ms | Clicked (existed): 등록 |
+| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 0ms | Element exists: body |
+| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3520ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
+| 31 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 242ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/company-info |
diff --git a/e2e/results/hotfix/success/OK-company-info_2026-03-03_21-37-36.md b/e2e/results/hotfix/success/OK-company-info_2026-03-03_21-37-36.md
new file mode 100644
index 0000000..b1f6bfe
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-company-info_2026-03-03_21-37-36.md
@@ -0,0 +1,55 @@
+# ✅ E2E 테스트 성공: 설정 - 회사정보
+
+**테스트 ID**: company-info | **실행**: 2026-03-03_21-37-36 | **결과**: PASS
+**소요 시간**: 31.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 31 | 18 | 0 | 13 | 58% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2329ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
+| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2532ms | Menu navigation: 설정 > 회사정보 |
+| 3 | 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 0ms | Detail checks: 1/4 |
+| 6 | 페이지 제목 확인 | - | ⚠️ | 1016ms | Element not found: heading |
+| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1002ms | Element not found: button[text='회사 추가'] |
+| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1014ms | Element not found: button[text='수정'] |
+| 9 | 회사명 필드 확인 | - | ⚠️ | 1005ms | Element not found: textbox[label='회사명'][disabled] |
+| 10 | 대표자명 필드 확인 | - | ⚠️ | 1010ms | Element not found: textbox[label='대표자명'][disabled] |
+| 11 | 업태 필드 확인 | - | ⚠️ | 1005ms | Element not found: textbox[label='업태'][disabled] |
+| 12 | 업종 필드 확인 | - | ⚠️ | 1026ms | Element not found: textbox[label='업종'][disabled] |
+| 13 | 주소 필드 확인 | - | ⚠️ | 1015ms | Element not found: textbox[label='주소명'][disabled] |
+| 14 | 이메일 필드 확인 | - | ⚠️ | 1010ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
+| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1027ms | Element not found: textbox[label='사업자등록번호'][disabled] |
+| 16 | 수정 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='수정'] |
+| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1004ms | Element not found: textbox:not([disabled]) |
+| 18 | 취소 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='취소'] |
+| 19 | 회사 추가 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='회사 추가'] |
+| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1029ms | Element not found: dialog |
+| 21 | 다이얼로그 닫기 | - | ✅ | 1ms | Element not present (ok): dialog button[text='취소'] |
+| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 318ms | Clicked (existed): 수정 |
+| 23 | 업태 필드 수정 | - | ✅ | 216ms | Filled "업태" with "테스트업태_수정" |
+| 24 | 저장 버튼 클릭 | - | ✅ | 313ms | Clicked (existed): 저장 |
+| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 312ms | Clicked (existed): 회사 추가 |
+| 27 | 새 회사 정보 입력 | - | ✅ | 482ms | fill_form: 3/3 filled |
+| 28 | 회사 등록 | - | ✅ | 307ms | Clicked (existed): 등록 |
+| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 1ms | Element exists: body |
+| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3530ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
+| 31 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 252ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/company-info |
diff --git a/e2e/results/hotfix/success/OK-company-info_2026-03-03_22-37-47.md b/e2e/results/hotfix/success/OK-company-info_2026-03-03_22-37-47.md
new file mode 100644
index 0000000..2fe6cf1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-company-info_2026-03-03_22-37-47.md
@@ -0,0 +1,55 @@
+# ✅ E2E 테스트 성공: 설정 - 회사정보
+
+**테스트 ID**: company-info | **실행**: 2026-03-03_22-37-47 | **결과**: PASS
+**소요 시간**: 31.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 31 | 18 | 0 | 13 | 58% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2317ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
+| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2530ms | Menu navigation: 설정 > 회사정보 |
+| 3 | 페이지 로드 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | Detail checks: 1/4 |
+| 6 | 페이지 제목 확인 | - | ⚠️ | 1017ms | Element not found: heading |
+| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1007ms | Element not found: button[text='회사 추가'] |
+| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1011ms | Element not found: button[text='수정'] |
+| 9 | 회사명 필드 확인 | - | ⚠️ | 1016ms | Element not found: textbox[label='회사명'][disabled] |
+| 10 | 대표자명 필드 확인 | - | ⚠️ | 1014ms | Element not found: textbox[label='대표자명'][disabled] |
+| 11 | 업태 필드 확인 | - | ⚠️ | 1016ms | Element not found: textbox[label='업태'][disabled] |
+| 12 | 업종 필드 확인 | - | ⚠️ | 1003ms | Element not found: textbox[label='업종'][disabled] |
+| 13 | 주소 필드 확인 | - | ⚠️ | 1016ms | Element not found: textbox[label='주소명'][disabled] |
+| 14 | 이메일 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
+| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1032ms | Element not found: textbox[label='사업자등록번호'][disabled] |
+| 16 | 수정 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='수정'] |
+| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1017ms | Element not found: textbox:not([disabled]) |
+| 18 | 취소 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='취소'] |
+| 19 | 회사 추가 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='회사 추가'] |
+| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1014ms | Element not found: dialog |
+| 21 | 다이얼로그 닫기 | - | ✅ | 0ms | Element not present (ok): dialog button[text='취소'] |
+| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 318ms | Clicked (existed): 수정 |
+| 23 | 업태 필드 수정 | - | ✅ | 203ms | Filled "업태" with "테스트업태_수정" |
+| 24 | 저장 버튼 클릭 | - | ✅ | 314ms | Clicked (existed): 저장 |
+| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 304ms | Clicked (existed): 회사 추가 |
+| 27 | 새 회사 정보 입력 | - | ✅ | 492ms | fill_form: 3/3 filled |
+| 28 | 회사 등록 | - | ✅ | 318ms | Clicked (existed): 등록 |
+| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 0ms | Element exists: body |
+| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3539ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
+| 31 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 231ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/company-info |
diff --git a/e2e/results/hotfix/success/OK-company-info_2026-03-04_10-22-45.md b/e2e/results/hotfix/success/OK-company-info_2026-03-04_10-22-45.md
new file mode 100644
index 0000000..97ba2ee
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-company-info_2026-03-04_10-22-45.md
@@ -0,0 +1,55 @@
+# ✅ E2E 테스트 성공: 설정 - 회사정보
+
+**테스트 ID**: company-info | **실행**: 2026-03-04_10-22-45 | **결과**: PASS
+**소요 시간**: 31.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 31 | 18 | 0 | 13 | 58% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2312ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
+| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2524ms | Menu navigation: 설정 > 회사정보 |
+| 3 | 페이지 로드 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | Detail checks: 1/4 |
+| 6 | 페이지 제목 확인 | - | ⚠️ | 1020ms | Element not found: heading |
+| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1014ms | Element not found: button[text='회사 추가'] |
+| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1019ms | Element not found: button[text='수정'] |
+| 9 | 회사명 필드 확인 | - | ⚠️ | 1014ms | Element not found: textbox[label='회사명'][disabled] |
+| 10 | 대표자명 필드 확인 | - | ⚠️ | 1017ms | Element not found: textbox[label='대표자명'][disabled] |
+| 11 | 업태 필드 확인 | - | ⚠️ | 1017ms | Element not found: textbox[label='업태'][disabled] |
+| 12 | 업종 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='업종'][disabled] |
+| 13 | 주소 필드 확인 | - | ⚠️ | 1015ms | Element not found: textbox[label='주소명'][disabled] |
+| 14 | 이메일 필드 확인 | - | ⚠️ | 1022ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
+| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1010ms | Element not found: textbox[label='사업자등록번호'][disabled] |
+| 16 | 수정 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='수정'] |
+| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1017ms | Element not found: textbox:not([disabled]) |
+| 18 | 취소 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='취소'] |
+| 19 | 회사 추가 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='회사 추가'] |
+| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1031ms | Element not found: dialog |
+| 21 | 다이얼로그 닫기 | - | ✅ | 1ms | Element not present (ok): dialog button[text='취소'] |
+| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 309ms | Clicked (existed): 수정 |
+| 23 | 업태 필드 수정 | - | ✅ | 214ms | Filled "업태" with "테스트업태_수정" |
+| 24 | 저장 버튼 클릭 | - | ✅ | 309ms | Clicked (existed): 저장 |
+| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 312ms | Clicked (existed): 회사 추가 |
+| 27 | 새 회사 정보 입력 | - | ✅ | 483ms | fill_form: 3/3 filled |
+| 28 | 회사 등록 | - | ✅ | 315ms | Clicked (existed): 등록 |
+| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 1ms | Element exists: body |
+| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3535ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
+| 31 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 272ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/company-info |
diff --git a/e2e/results/hotfix/success/OK-company-info_2026-03-04_22-56-12.md b/e2e/results/hotfix/success/OK-company-info_2026-03-04_22-56-12.md
new file mode 100644
index 0000000..37592d7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-company-info_2026-03-04_22-56-12.md
@@ -0,0 +1,55 @@
+# ✅ E2E 테스트 성공: 설정 - 회사정보
+
+**테스트 ID**: company-info | **실행**: 2026-03-04_22-56-12 | **결과**: PASS
+**소요 시간**: 38.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 31 | 18 | 0 | 13 | 58% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2311ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
+| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2517ms | Menu navigation: 설정 > 회사정보 |
+| 3 | 페이지 로드 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
+| 5 | 페이지 정상 로드 확인 | - | ✅ | 0ms | Detail checks: 1/4 |
+| 6 | 페이지 제목 확인 | - | ⚠️ | 1528ms | Element not found: heading |
+| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1509ms | Element not found: button[text='회사 추가'] |
+| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1514ms | Element not found: button[text='수정'] |
+| 9 | 회사명 필드 확인 | - | ⚠️ | 1533ms | Element not found: textbox[label='회사명'][disabled] |
+| 10 | 대표자명 필드 확인 | - | ⚠️ | 1515ms | Element not found: textbox[label='대표자명'][disabled] |
+| 11 | 업태 필드 확인 | - | ⚠️ | 1511ms | Element not found: textbox[label='업태'][disabled] |
+| 12 | 업종 필드 확인 | - | ⚠️ | 1521ms | Element not found: textbox[label='업종'][disabled] |
+| 13 | 주소 필드 확인 | - | ⚠️ | 1504ms | Element not found: textbox[label='주소명'][disabled] |
+| 14 | 이메일 필드 확인 | - | ⚠️ | 1515ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
+| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1516ms | Element not found: textbox[label='사업자등록번호'][disabled] |
+| 16 | 수정 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='수정'] |
+| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1518ms | Element not found: textbox:not([disabled]) |
+| 18 | 취소 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='취소'] |
+| 19 | 회사 추가 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='회사 추가'] |
+| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1513ms | Element not found: dialog |
+| 21 | 다이얼로그 닫기 | - | ✅ | 1ms | Element not present (ok): dialog button[text='취소'] |
+| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 312ms | Clicked (existed): 수정 |
+| 23 | 업태 필드 수정 | - | ✅ | 220ms | Filled "업태" with "테스트업태_수정" |
+| 24 | 저장 버튼 클릭 | - | ✅ | 316ms | Clicked (existed): 저장 |
+| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1508ms | Detail checks: 0/1 matched |
+| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 309ms | Clicked (existed): 회사 추가 |
+| 27 | 새 회사 정보 입력 | - | ✅ | 485ms | fill_form: 3/3 filled |
+| 28 | 회사 등록 | - | ✅ | 304ms | Clicked (existed): 등록 |
+| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 0ms | Element exists: body |
+| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3529ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
+| 31 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 100ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/company-info |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_15-41-12.md b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_15-41-12.md
new file mode 100644
index 0000000..f4a989e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_15-41-12.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
+
+**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-03_15-41-12 | **결과**: PASS
+**소요 시간**: 38.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8865ms | CREATE |
+| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1012ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6554ms | DELETE |
+| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_21-38-14.md b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_21-38-14.md
new file mode 100644
index 0000000..5a6a687
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_21-38-14.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
+
+**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-03_21-38-14 | **결과**: PASS
+**소요 시간**: 38.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8866ms | CREATE |
+| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2012ms | evaluate ok |
+| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1016ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6548ms | DELETE |
+| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_22-38-26.md b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_22-38-26.md
new file mode 100644
index 0000000..913700d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-03_22-38-26.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
+
+**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-03_22-38-26 | **결과**: PASS
+**소요 시간**: 38.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8820ms | CREATE |
+| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1002ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6527ms | DELETE |
+| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1013ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 72ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_10-23-23.md b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_10-23-23.md
new file mode 100644
index 0000000..146a4fa
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_10-23-23.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
+
+**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-04_10-23-23 | **결과**: PASS
+**소요 시간**: 38.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8852ms | CREATE |
+| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1007ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6533ms | DELETE |
+| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1007ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 100ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_22-56-51.md b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_22-56-51.md
new file mode 100644
index 0000000..4e9e4a5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-bills_2026-03-04_22-56-51.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
+
+**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-04_22-56-51 | **결과**: PASS
+**소요 시간**: 38.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8819ms | CREATE |
+| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2006ms | evaluate ok |
+| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1015ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6545ms | DELETE |
+| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 13 | 13 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/bills |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_15-41-48.md b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_15-41-48.md
new file mode 100644
index 0000000..e98b42e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_15-41-48.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
+
+**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-03_15-41-48 | **결과**: PASS
+**소요 시간**: 35.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6183ms | CREATE |
+| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2002ms | evaluate ok |
+| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1001ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6545ms | DELETE |
+| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1002ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 15 | 15 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_21-38-50.md b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_21-38-50.md
new file mode 100644
index 0000000..d80d014
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_21-38-50.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
+
+**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-03_21-38-50 | **결과**: PASS
+**소요 시간**: 35.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6165ms | CREATE |
+| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2009ms | evaluate ok |
+| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1002ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6531ms | DELETE |
+| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2007ms | Waited 2000ms |
+| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 15 | 15 | 0 | 70ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_22-39-02.md b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_22-39-02.md
new file mode 100644
index 0000000..84a4690
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-03_22-39-02.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
+
+**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-03_22-39-02 | **결과**: PASS
+**소요 시간**: 35.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6198ms | CREATE |
+| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1003ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6553ms | DELETE |
+| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1001ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 15 | 15 | 0 | 65ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_10-23-59.md b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_10-23-59.md
new file mode 100644
index 0000000..49fb4f7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_10-23-59.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
+
+**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-04_10-23-59 | **결과**: PASS
+**소요 시간**: 35.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6173ms | CREATE |
+| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2006ms | evaluate ok |
+| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1009ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6520ms | DELETE |
+| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2009ms | Waited 2000ms |
+| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1004ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 15 | 15 | 0 | 70ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_22-57-27.md b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_22-57-27.md
new file mode 100644
index 0000000..03ec529
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-acc-deposit_2026-03-04_22-57-27.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
+
+**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-04_22-57-27 | **결과**: PASS
+**소요 시간**: 35.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6166ms | CREATE |
+| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2015ms | evaluate ok |
+| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1001ms | VERIFY_CREATE / rows:20 |
+| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6531ms | DELETE |
+| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:27 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 15 | 15 | 0 | 92ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/Fail-create-delete-board_2026-02-27_16-03-38.md b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_15-42-30.md
similarity index 52%
rename from e2e/results/hotfix/Fail-create-delete-board_2026-02-27_16-03-38.md
rename to e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_15-42-30.md
index 7b9bc20..d52c0e5 100644
--- a/e2e/results/hotfix/Fail-create-delete-board_2026-02-27_16-03-38.md
+++ b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_15-42-30.md
@@ -1,55 +1,39 @@
-# ❌ E2E 테스트 실패: Create+Delete 테스트: 자유게시판
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
-**테스트 ID**: create-delete-board | **실행**: 2026-02-27_16-03-38 | **결과**: FAIL
-**소요 시간**: 41.0초
+**테스트 ID**: create-delete-board | **실행**: 2026-03-03_15-42-30 | **결과**: PASS
+**소요 시간**: 42.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
-| 12 | 11 | 1 | 0 | 92% |
-
-## 실패 스텝
-| # | 스텝 | Phase | 에러 |
-|---|------|-------|------|
-| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | E2E_TEST_ 데이터가 여전히 존재 - 수동 삭제 필요 |
+| 15 | 15 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
-| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
-| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
-| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5954ms | CREATE |
-| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3012ms | Waited 3000ms |
-| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2016ms | evaluate ok |
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5931ms | CREATE |
+| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2013ms | evaluate ok |
| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
-| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1017ms | VERIFY_CREATE / rows:10 |
-| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 6529ms | DELETE |
-| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
-| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 2004ms | evaluate ok |
-| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2006ms | Waited 2000ms |
-| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ❌ | 4023ms | E2E_TEST_ 데이터가 여전히 존재 - 수동 삭제 필요 |
+| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1003ms | VERIFY_CREATE / rows:10 |
+| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8037ms | DELETE |
+| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 2ms | Page reload |
+| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1015ms | VERIFY_DELETE / rows:10 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
-| 21 | 21 | 0 | 67ms | 0 |
+| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |
-
-## 자동 진단
-| 항목 | 내용 |
-|------|------|
-| 근본 원인 | **unknown** |
-| 스크린샷 | diag_create-delete-board_2026-02-27_16-03-38.png |
-
-### 페이지 상태
-| 항목 | 값 |
-|------|----|
-| DOM 노드 | 915 |
-| 테이블 행 | 10 |
-| API 호출 수 | 0 |
-| 로딩 스피너 | No |
diff --git a/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_21-39-32.md b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_21-39-32.md
new file mode 100644
index 0000000..19d19cf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_21-39-32.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
+
+**테스트 ID**: create-delete-board | **실행**: 2026-03-03_21-39-32 | **결과**: PASS
+**소요 시간**: 42.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5935ms | CREATE |
+| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2009ms | evaluate ok |
+| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2006ms | Waited 2000ms |
+| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1002ms | VERIFY_CREATE / rows:10 |
+| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8032ms | DELETE |
+| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 2ms | Page reload |
+| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1010ms | VERIFY_DELETE / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_22-39-44.md b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_22-39-44.md
new file mode 100644
index 0000000..934610c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-03_22-39-44.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
+
+**테스트 ID**: create-delete-board | **실행**: 2026-03-03_22-39-44 | **결과**: PASS
+**소요 시간**: 42.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5953ms | CREATE |
+| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2018ms | evaluate ok |
+| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1008ms | VERIFY_CREATE / rows:10 |
+| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8033ms | DELETE |
+| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 2ms | Page reload |
+| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3015ms | Waited 3000ms |
+| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1016ms | VERIFY_DELETE / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_10-24-41.md b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_10-24-41.md
new file mode 100644
index 0000000..9b94a5e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_10-24-41.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
+
+**테스트 ID**: create-delete-board | **실행**: 2026-03-04_10-24-41 | **결과**: PASS
+**소요 시간**: 42.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5956ms | CREATE |
+| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2003ms | evaluate ok |
+| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2007ms | Waited 2000ms |
+| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1003ms | VERIFY_CREATE / rows:10 |
+| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8034ms | DELETE |
+| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2009ms | Waited 2000ms |
+| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 2ms | Page reload |
+| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1010ms | VERIFY_DELETE / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_22-58-09.md b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_22-58-09.md
new file mode 100644
index 0000000..6f2fe70
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-create-delete-board_2026-03-04_22-58-09.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
+
+**테스트 ID**: create-delete-board | **실행**: 2026-03-04_22-58-09 | **결과**: PASS
+**소요 시간**: 42.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5923ms | CREATE |
+| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2004ms | evaluate ok |
+| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1004ms | VERIFY_CREATE / rows:10 |
+| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8016ms | DELETE |
+| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
+| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 2ms | Page reload |
+| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:10 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_15-43-09.md b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_15-43-09.md
new file mode 100644
index 0000000..877e8ee
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_15-43-09.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
+
+**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-03_15-43-09 | **결과**: PASS
+**소요 시간**: 39.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1514ms | CAPTURE_VENDOR / rows:20 |
+| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2516ms | Menu navigation: 회계관리 > 거래처관리 |
+| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6254ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 00B58F04 / vendor:true / rows:1 |
+| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 판매관리 > 단가관리 |
+| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1513ms | CAPTURE_ITEM / rows:20 |
+| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2521ms | Menu navigation: 생산관리 > 품목관리 |
+| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6266ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 00B58F04 / item:true / rows:1 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 66ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_21-40-11.md b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_21-40-11.md
new file mode 100644
index 0000000..cd1dc46
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_21-40-11.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
+
+**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-03_21-40-11 | **결과**: PASS
+**소요 시간**: 39.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1503ms | CAPTURE_VENDOR / rows:20 |
+| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2530ms | Menu navigation: 회계관리 > 거래처관리 |
+| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3018ms | Waited 3000ms |
+| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6241ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 00B58F04 / vendor:true / rows:1 |
+| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 530ms | Menu navigation: 판매관리 > 단가관리 |
+| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1507ms | CAPTURE_ITEM / rows:20 |
+| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2529ms | Menu navigation: 생산관리 > 품목관리 |
+| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6249ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 00B58F04 / item:true / rows:1 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 79ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_22-40-23.md b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_22-40-23.md
new file mode 100644
index 0000000..1297139
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-03_22-40-23.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
+
+**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-03_22-40-23 | **결과**: PASS
+**소요 시간**: 39.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1516ms | CAPTURE_VENDOR / rows:20 |
+| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 회계관리 > 거래처관리 |
+| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6237ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 00B58F04 / vendor:true / rows:1 |
+| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 판매관리 > 단가관리 |
+| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1504ms | CAPTURE_ITEM / rows:20 |
+| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 생산관리 > 품목관리 |
+| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6248ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 00B58F04 / item:true / rows:1 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 79ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_10-25-21.md b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_10-25-21.md
new file mode 100644
index 0000000..69ed353
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_10-25-21.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
+
+**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-04_10-25-21 | **결과**: PASS
+**소요 시간**: 39.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1502ms | CAPTURE_VENDOR / rows:20 |
+| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2523ms | Menu navigation: 회계관리 > 거래처관리 |
+| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6244ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 00B58F04 / vendor:true / rows:1 |
+| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 판매관리 > 단가관리 |
+| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1509ms | CAPTURE_ITEM / rows:20 |
+| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2524ms | Menu navigation: 생산관리 > 품목관리 |
+| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6233ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 00B58F04 / item:true / rows:1 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 113ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_22-58-48.md b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_22-58-48.md
new file mode 100644
index 0000000..f547534
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-cross-module-data-consistency_2026-03-04_22-58-48.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
+
+**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-04_22-58-48 | **결과**: PASS
+**소요 시간**: 39.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1513ms | CAPTURE_VENDOR / rows:20 |
+| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2525ms | Menu navigation: 회계관리 > 거래처관리 |
+| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6239ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 00B58F04 / vendor:true / rows:1 |
+| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 판매관리 > 단가관리 |
+| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1516ms | CAPTURE_ITEM / rows:20 |
+| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 생산관리 > 품목관리 |
+| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6247ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 00B58F04 / item:true / rows:1 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 123ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-customer-event_2026-03-03_15-43-23.md b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_15-43-23.md
new file mode 100644
index 0000000..6fcae98
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_15-43-23.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
+
+**테스트 ID**: customer-event | **실행**: 2026-03-03_15-43-23 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 510ms | Menu navigation: 고객센터 > 이벤트 게시판 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
+| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/1 matched |
+| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 313ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
+| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/4 matched |
+| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 11 | 공유 기능 확인 | - | ⚠️ | 1002ms | Checks: 0/1 verified |
+| 12 | 목록으로 돌아가기 | - | ✅ | 316ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 13 | 페이지네이션 확인 | - | ⚠️ | 1001ms | Checks: 0/1 verified |
+| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 509ms | Clicked first row |
+| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1005ms | Waited 1000ms |
+| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 17 | 모달/상세 닫기 | - | ✅ | 0ms | No modal open |
+| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1029ms | Detail checks: 0/2 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/events |
diff --git a/e2e/results/hotfix/success/OK-customer-event_2026-03-03_21-40-25.md b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_21-40-25.md
new file mode 100644
index 0000000..8da2eb7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_21-40-25.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
+
+**테스트 ID**: customer-event | **실행**: 2026-03-03_21-40-25 | **결과**: PASS
+**소요 시간**: 13.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 514ms | Menu navigation: 고객센터 > 이벤트 게시판 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
+| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 304ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
+| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/4 matched |
+| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 11 | 공유 기능 확인 | - | ⚠️ | 1017ms | Checks: 0/1 verified |
+| 12 | 목록으로 돌아가기 | - | ✅ | 318ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 13 | 페이지네이션 확인 | - | ⚠️ | 1009ms | Checks: 0/1 verified |
+| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 502ms | Clicked first row |
+| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1003ms | Waited 1000ms |
+| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 17 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/2 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/events |
diff --git a/e2e/results/hotfix/success/OK-customer-event_2026-03-03_22-40-37.md b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_22-40-37.md
new file mode 100644
index 0000000..0e5e1ec
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-event_2026-03-03_22-40-37.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
+
+**테스트 ID**: customer-event | **실행**: 2026-03-03_22-40-37 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 521ms | Menu navigation: 고객센터 > 이벤트 게시판 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
+| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 317ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
+| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1012ms | Detail checks: 0/4 matched |
+| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 11 | 공유 기능 확인 | - | ⚠️ | 1003ms | Checks: 0/1 verified |
+| 12 | 목록으로 돌아가기 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 13 | 페이지네이션 확인 | - | ⚠️ | 1018ms | Checks: 0/1 verified |
+| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 514ms | Clicked first row |
+| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 17 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1007ms | Detail checks: 0/2 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/events |
diff --git a/e2e/results/hotfix/success/OK-customer-event_2026-03-04_10-25-34.md b/e2e/results/hotfix/success/OK-customer-event_2026-03-04_10-25-34.md
new file mode 100644
index 0000000..eb3229e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-event_2026-03-04_10-25-34.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
+
+**테스트 ID**: customer-event | **실행**: 2026-03-04_10-25-34 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 504ms | Menu navigation: 고객센터 > 이벤트 게시판 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
+| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1018ms | Detail checks: 0/1 matched |
+| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 1ms | Checks: 1/1 verified |
+| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 310ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
+| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1013ms | Detail checks: 0/4 matched |
+| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 11 | 공유 기능 확인 | - | ⚠️ | 1016ms | Checks: 0/1 verified |
+| 12 | 목록으로 돌아가기 | - | ✅ | 304ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 13 | 페이지네이션 확인 | - | ⚠️ | 1016ms | Checks: 0/1 verified |
+| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 503ms | Clicked first row |
+| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1011ms | Waited 1000ms |
+| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 17 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1006ms | Detail checks: 0/2 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/events |
diff --git a/e2e/results/hotfix/success/OK-customer-event_2026-03-04_22-59-04.md b/e2e/results/hotfix/success/OK-customer-event_2026-03-04_22-59-04.md
new file mode 100644
index 0000000..af5f448
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-event_2026-03-04_22-59-04.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
+
+**테스트 ID**: customer-event | **실행**: 2026-03-04_22-59-04 | **결과**: PASS
+**소요 시간**: 16.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 14 | 0 | 5 | 74% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 511ms | Menu navigation: 고객센터 > 이벤트 게시판 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
+| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1520ms | Detail checks: 0/1 matched |
+| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 0ms | Checks: 1/1 verified |
+| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 310ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
+| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1517ms | Detail checks: 0/4 matched |
+| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 11 | 공유 기능 확인 | - | ⚠️ | 1517ms | Checks: 0/1 verified |
+| 12 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 13 | 페이지네이션 확인 | - | ⚠️ | 1505ms | Checks: 0/1 verified |
+| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 505ms | Clicked first row |
+| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1008ms | Waited 1000ms |
+| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
+| 17 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1512ms | Detail checks: 0/2 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/events |
diff --git a/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_15-43-34.md b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_15-43-34.md
new file mode 100644
index 0000000..de37307
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_15-43-34.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: FAQ 테스트
+
+**테스트 ID**: customer-faq | **실행**: 2026-03-03_15-43-34 | **결과**: PASS
+**소요 시간**: 11.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 517ms | Menu navigation: 고객센터 > FAQ |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 29 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
+| 5 | FAQ 페이지 구조 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 1ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
+| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 2ms | Element exists: [class*='category'], [class*='tab'] |
+| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1027ms | Detail checks: 0/1 matched |
+| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 318ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/faq |
diff --git a/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_21-40-36.md b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_21-40-36.md
new file mode 100644
index 0000000..5a36dc3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_21-40-36.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: FAQ 테스트
+
+**테스트 ID**: customer-faq | **실행**: 2026-03-03_21-40-36 | **결과**: PASS
+**소요 시간**: 11.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 508ms | Menu navigation: 고객센터 > FAQ |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 29 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
+| 5 | FAQ 페이지 구조 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 1ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
+| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 2ms | Element exists: [class*='category'], [class*='tab'] |
+| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 311ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1005ms | Detail checks: 0/1 matched |
+| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/faq |
diff --git a/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_22-40-48.md b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_22-40-48.md
new file mode 100644
index 0000000..6ddfc95
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-faq_2026-03-03_22-40-48.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: FAQ 테스트
+
+**테스트 ID**: customer-faq | **실행**: 2026-03-03_22-40-48 | **결과**: PASS
+**소요 시간**: 10.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 512ms | Menu navigation: 고객센터 > FAQ |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 29 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
+| 5 | FAQ 페이지 구조 확인 | - | ✅ | 1ms | Checks: 2/3 verified |
+| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 2ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
+| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 0ms | Element exists: [class*='category'], [class*='tab'] |
+| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 317ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1001ms | Detail checks: 0/1 matched |
+| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/faq |
diff --git a/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_10-25-45.md b/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_10-25-45.md
new file mode 100644
index 0000000..5fd97e6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_10-25-45.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: FAQ 테스트
+
+**테스트 ID**: customer-faq | **실행**: 2026-03-04_10-25-45 | **결과**: PASS
+**소요 시간**: 11.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 503ms | Menu navigation: 고객센터 > FAQ |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 29 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
+| 5 | FAQ 페이지 구조 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1007ms | Detail checks: 0/1 matched |
+| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 2ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
+| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1008ms | Detail checks: 0/1 matched |
+| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 1ms | Element exists: [class*='category'], [class*='tab'] |
+| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1010ms | Detail checks: 0/1 matched |
+| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 317ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1033ms | Detail checks: 0/1 matched |
+| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/faq |
diff --git a/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_22-59-17.md b/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_22-59-17.md
new file mode 100644
index 0000000..2dee5d0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-faq_2026-03-04_22-59-17.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: FAQ 테스트
+
+**테스트 ID**: customer-faq | **실행**: 2026-03-04_22-59-17 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 506ms | Menu navigation: 고객센터 > FAQ |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 29 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
+| 5 | FAQ 페이지 구조 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
+| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1502ms | Detail checks: 0/1 matched |
+| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 2ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
+| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1511ms | Detail checks: 0/1 matched |
+| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 1ms | Element exists: [class*='category'], [class*='tab'] |
+| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1514ms | Detail checks: 0/1 matched |
+| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 313ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
+| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1504ms | Detail checks: 0/1 matched |
+| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/faq |
diff --git a/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_15-43-48.md b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_15-43-48.md
new file mode 100644
index 0000000..e0e6ca0
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_15-43-48.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 1:1 문의 테스트
+
+**테스트 ID**: customer-inquiry | **실행**: 2026-03-03_15-43-48 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 1:1 문의 | - | ✅ | 2526ms | Menu navigation: 고객센터 > 1:1 문의 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 46 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 문의 목록 구조 확인 | - | ✅ | 1ms | Table: 6 cols, 3 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 215ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1005ms | Detail checks: 0/1 matched |
+| 8 | 문의하기 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'I', "Inquiry bu"... is not valid JSON/raw:Inquiry bu |
+| 9 | 문의 행 클릭 | - | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 문의 상세 확인 | - | ⚠️ | 1001ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 316ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 54ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/qna |
diff --git a/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_21-40-51.md b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_21-40-51.md
new file mode 100644
index 0000000..19f2520
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_21-40-51.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 1:1 문의 테스트
+
+**테스트 ID**: customer-inquiry | **실행**: 2026-03-03_21-40-51 | **결과**: PASS
+**소요 시간**: 14.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 1:1 문의 | - | ✅ | 2525ms | Menu navigation: 고객센터 > 1:1 문의 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 46 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 문의 목록 구조 확인 | - | ✅ | 1ms | Table: 6 cols, 3 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 217ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 8 | 문의하기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'I', "Inquiry bu"... is not valid JSON/raw:Inquiry bu |
+| 9 | 문의 행 클릭 | - | ✅ | 303ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 문의 상세 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 311ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/qna |
diff --git a/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_22-41-02.md b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_22-41-02.md
new file mode 100644
index 0000000..cef9421
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-03_22-41-02.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 1:1 문의 테스트
+
+**테스트 ID**: customer-inquiry | **실행**: 2026-03-03_22-41-02 | **결과**: PASS
+**소요 시간**: 14.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 1:1 문의 | - | ✅ | 2511ms | Menu navigation: 고객센터 > 1:1 문의 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 46 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 문의 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 3 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 213ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 8 | 문의하기 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'I', "Inquiry bu"... is not valid JSON/raw:Inquiry bu |
+| 9 | 문의 행 클릭 | - | ✅ | 308ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 문의 상세 확인 | - | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 80ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/qna |
diff --git a/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_10-26-00.md b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_10-26-00.md
new file mode 100644
index 0000000..55c8a08
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_10-26-00.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 1:1 문의 테스트
+
+**테스트 ID**: customer-inquiry | **실행**: 2026-03-04_10-26-00 | **결과**: PASS
+**소요 시간**: 14.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 1:1 문의 | - | ✅ | 2511ms | Menu navigation: 고객센터 > 1:1 문의 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 46 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
+| 5 | 문의 목록 구조 확인 | - | ✅ | 1ms | Table: 6 cols, 3 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 213ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 8 | 문의하기 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'I', "Inquiry bu"... is not valid JSON/raw:Inquiry bu |
+| 9 | 문의 행 클릭 | - | ✅ | 305ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 문의 상세 확인 | - | ⚠️ | 1026ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 303ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 78ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/qna |
diff --git a/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_22-59-33.md b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_22-59-33.md
new file mode 100644
index 0000000..77259d4
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-inquiry_2026-03-04_22-59-33.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 1:1 문의 테스트
+
+**테스트 ID**: customer-inquiry | **실행**: 2026-03-04_22-59-33 | **결과**: PASS
+**소요 시간**: 15.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 10 | 0 | 2 | 83% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 1:1 문의 | - | ✅ | 2508ms | Menu navigation: 고객센터 > 1:1 문의 |
+| 2 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 46 buttons |
+| 4 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 3 rows |
+| 5 | 문의 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 3 rows |
+| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 215ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1502ms | Detail checks: 0/1 matched |
+| 8 | 문의하기 버튼 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'I', "Inquiry bu"... is not valid JSON/raw:Inquiry bu |
+| 9 | 문의 행 클릭 | - | ✅ | 314ms | Clicked (existed): table tbody tr:first-child |
+| 10 | 문의 상세 확인 | - | ⚠️ | 1521ms | Detail checks: 0/1 matched |
+| 11 | 목록으로 돌아가기 | - | ✅ | 307ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 77ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/qna |
diff --git a/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_15-44-02.md b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_15-44-02.md
new file mode 100644
index 0000000..40586a3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_15-44-02.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 공지사항 테스트
+
+**테스트 ID**: customer-notice | **실행**: 2026-03-03_15-44-02 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2516ms | Menu navigation: 고객센터 > 공지사항 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
+| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
+| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1013ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 214ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 301ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 12 | 상세 페이지 구조 확인 | - | ✅ | 0ms | Checks: 1/4 verified |
+| 13 | 첨부파일 확인 | - | ⚠️ | 1003ms | Checks: 0/1 verified |
+| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1017ms | Checks: 0/2 verified |
+| 15 | 목록으로 돌아가기 | - | ✅ | 305ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 17 | 정렬 기능 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/notices |
diff --git a/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_21-41-04.md b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_21-41-04.md
new file mode 100644
index 0000000..4fd19fb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_21-41-04.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 공지사항 테스트
+
+**테스트 ID**: customer-notice | **실행**: 2026-03-03_21-41-04 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2519ms | Menu navigation: 고객센터 > 공지사항 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
+| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
+| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 219ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1017ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 308ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 308ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 12 | 상세 페이지 구조 확인 | - | ✅ | 0ms | Checks: 1/4 verified |
+| 13 | 첨부파일 확인 | - | ⚠️ | 1009ms | Checks: 0/1 verified |
+| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1009ms | Checks: 0/2 verified |
+| 15 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 17 | 정렬 기능 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/notices |
diff --git a/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_22-41-16.md b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_22-41-16.md
new file mode 100644
index 0000000..6fcd02e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-notice_2026-03-03_22-41-16.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 공지사항 테스트
+
+**테스트 ID**: customer-notice | **실행**: 2026-03-03_22-41-16 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2521ms | Menu navigation: 고객센터 > 공지사항 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
+| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
+| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 216ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 302ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 12 | 상세 페이지 구조 확인 | - | ✅ | 0ms | Checks: 1/4 verified |
+| 13 | 첨부파일 확인 | - | ⚠️ | 1017ms | Checks: 0/1 verified |
+| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1016ms | Checks: 0/2 verified |
+| 15 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 17 | 정렬 기능 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 52ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/notices |
diff --git a/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_10-26-14.md b/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_10-26-14.md
new file mode 100644
index 0000000..64bdeb2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_10-26-14.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 공지사항 테스트
+
+**테스트 ID**: customer-notice | **실행**: 2026-03-04_10-26-14 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2532ms | Menu navigation: 고객센터 > 공지사항 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
+| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
+| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 204ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 313ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 12 | 상세 페이지 구조 확인 | - | ✅ | 1ms | Checks: 1/4 verified |
+| 13 | 첨부파일 확인 | - | ⚠️ | 1031ms | Checks: 0/1 verified |
+| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1016ms | Checks: 0/2 verified |
+| 15 | 목록으로 돌아가기 | - | ✅ | 304ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 17 | 정렬 기능 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 3 | 3 | 0 | 144ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/notices |
diff --git a/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_22-59-49.md b/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_22-59-49.md
new file mode 100644
index 0000000..d3ac200
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-customer-notice_2026-03-04_22-59-49.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 공지사항 테스트
+
+**테스트 ID**: customer-notice | **실행**: 2026-03-04_22-59-49 | **결과**: PASS
+**소요 시간**: 15.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 19 | 15 | 0 | 4 | 79% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2521ms | Menu navigation: 고객센터 > 공지사항 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
+| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
+| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1507ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 208ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1518ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 314ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
+| 12 | 상세 페이지 구조 확인 | - | ✅ | 1ms | Checks: 1/4 verified |
+| 13 | 첨부파일 확인 | - | ⚠️ | 1515ms | Checks: 0/1 verified |
+| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1515ms | Checks: 0/2 verified |
+| 15 | 목록으로 돌아가기 | - | ✅ | 304ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
+| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 17 | 정렬 기능 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 83ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/customer-center/notices |
diff --git a/e2e/results/hotfix/success/OK-department-add_2026-03-03_15-44-15.md b/e2e/results/hotfix/success/OK-department-add_2026-03-03_15-44-15.md
new file mode 100644
index 0000000..2490da8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-department-add_2026-03-03_15-44-15.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 부서관리 테스트
+
+**테스트 ID**: department-add | **실행**: 2026-03-03_15-44-15 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2512ms | Menu navigation: 인사관리 > 부서관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
+| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
+| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 9 | 부서 추가 버튼 확인 | - | ✅ | 313ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
+| 10 | 추가 폼/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 11 | 추가 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1013ms | Checks: 0/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1019ms | Detail checks: 0/1 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-department-add_2026-03-03_21-41-17.md b/e2e/results/hotfix/success/OK-department-add_2026-03-03_21-41-17.md
new file mode 100644
index 0000000..13048c5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-department-add_2026-03-03_21-41-17.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 부서관리 테스트
+
+**테스트 ID**: department-add | **실행**: 2026-03-03_21-41-17 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2518ms | Menu navigation: 인사관리 > 부서관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
+| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 3ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
+| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 9 | 부서 추가 버튼 확인 | - | ✅ | 313ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
+| 10 | 추가 폼/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 11 | 추가 모달 닫기 | - | ✅ | 0ms | No modal open |
+| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1000ms | Checks: 0/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1002ms | Detail checks: 0/1 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-department-add_2026-03-03_22-41-29.md b/e2e/results/hotfix/success/OK-department-add_2026-03-03_22-41-29.md
new file mode 100644
index 0000000..bd9c181
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-department-add_2026-03-03_22-41-29.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 부서관리 테스트
+
+**테스트 ID**: department-add | **실행**: 2026-03-03_22-41-29 | **결과**: PASS
+**소요 시간**: 12.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2523ms | Menu navigation: 인사관리 > 부서관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
+| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1003ms | Detail checks: 0/1 matched |
+| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 2ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
+| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 9 | 부서 추가 버튼 확인 | - | ✅ | 315ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
+| 10 | 추가 폼/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 11 | 추가 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1001ms | Checks: 0/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1011ms | Detail checks: 0/1 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-department-add_2026-03-04_10-26-27.md b/e2e/results/hotfix/success/OK-department-add_2026-03-04_10-26-27.md
new file mode 100644
index 0000000..e98dcc9
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-department-add_2026-03-04_10-26-27.md
@@ -0,0 +1,43 @@
+# ✅ E2E 테스트 성공: 부서관리 테스트
+
+**테스트 ID**: department-add | **실행**: 2026-03-04_10-26-27 | **결과**: PASS
+**소요 시간**: 13.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2512ms | Menu navigation: 인사관리 > 부서관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
+| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
+| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1033ms | Detail checks: 0/1 matched |
+| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
+| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+| 9 | 부서 추가 버튼 확인 | - | ✅ | 310ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
+| 10 | 추가 폼/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 11 | 추가 모달 닫기 | - | ✅ | 0ms | No modal open |
+| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1006ms | Checks: 0/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1016ms | Detail checks: 0/1 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
+
+### 콘솔 에러 (Health Check)
+1. `[UniversalListPage] Fetch error: TypeError: network error`
diff --git a/e2e/results/hotfix/success/OK-department-add_2026-03-04_23-00-04.md b/e2e/results/hotfix/success/OK-department-add_2026-03-04_23-00-04.md
new file mode 100644
index 0000000..b8b464f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-department-add_2026-03-04_23-00-04.md
@@ -0,0 +1,40 @@
+# ✅ E2E 테스트 성공: 부서관리 테스트
+
+**테스트 ID**: department-add | **실행**: 2026-03-04_23-00-04 | **결과**: PASS
+**소요 시간**: 15.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 16 | 12 | 0 | 4 | 75% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2507ms | Menu navigation: 인사관리 > 부서관리 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 45 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
+| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
+| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1512ms | Detail checks: 0/1 matched |
+| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
+| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1514ms | Detail checks: 0/1 matched |
+| 9 | 부서 추가 버튼 확인 | - | ✅ | 317ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
+| 10 | 추가 폼/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 11 | 추가 모달 닫기 | - | ✅ | 1ms | No modal open |
+| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1502ms | Checks: 0/1 verified |
+| 14 | 페이지네이션 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
+| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1512ms | Detail checks: 0/1 matched |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/department-management |
diff --git a/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_15-44-31.md b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_15-44-31.md
new file mode 100644
index 0000000..5229158
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_15-44-31.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: deposit-management | **실행**: 2026-03-03_15-44-31 | **결과**: PASS
+**소요 시간**: 15.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 21 | 20 | 0 | 1 | 95% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2321ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
+| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2526ms | Menu navigation: 회계관리 > 입금관리 |
+| 3 | 목록 페이지 구조 확인 | - | ✅ | 1ms | Element exists: body |
+| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 3ms | Element not present (ok): 계정과목명 드롭다운 |
+| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1011ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
+| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 1ms | Element exists: body |
+| 7 | 입금 상세 페이지 이동 | - | ✅ | 510ms | Clicked first row |
+| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 1ms | Element exists: body |
+| 9 | 수정 모드 전환 | - | ✅ | 322ms | Clicked (existed): 수정 |
+| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 1ms | Element exists: body |
+| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 1ms | Element not present (ok): 거래처 드롭다운 |
+| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 입금 유형 드롭다운 |
+| 13 | 수정 데이터 입력 | - | ✅ | 1018ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
+| 14 | 저장 및 결과 확인 | - | ✅ | 308ms | Clicked (existed): 저장 |
+| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1018ms | Detail checks: 0/3 matched |
+| 16 | 취소 버튼 동작 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
+| 17 | 목록 버튼 동작 확인 | - | ✅ | 2ms | Element not present (ok): 목록 |
+| 18 | 필터 드롭다운 검증 | - | ✅ | 1ms | Element exists: body |
+| 19 | 날짜 필터 검증 | - | ✅ | 315ms | Clicked (existed): 당해년도 |
+| 20 | 페이지네이션 동작 확인 | - | ✅ | 317ms | Clicked (existed): 다음 |
+| 21 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 55ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_21-41-33.md b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_21-41-33.md
new file mode 100644
index 0000000..dd6a842
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_21-41-33.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: deposit-management | **실행**: 2026-03-03_21-41-33 | **결과**: PASS
+**소요 시간**: 15.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 21 | 20 | 0 | 1 | 95% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2315ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
+| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 입금관리 |
+| 3 | 목록 페이지 구조 확인 | - | ✅ | 1ms | Element exists: body |
+| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 4ms | Element not present (ok): 계정과목명 드롭다운 |
+| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1009ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
+| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 0ms | Element exists: body |
+| 7 | 입금 상세 페이지 이동 | - | ✅ | 513ms | Clicked first row |
+| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 1ms | Element exists: body |
+| 9 | 수정 모드 전환 | - | ✅ | 319ms | Clicked (existed): 수정 |
+| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 0ms | Element exists: body |
+| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 거래처 드롭다운 |
+| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 0ms | Element not present (ok): 입금 유형 드롭다운 |
+| 13 | 수정 데이터 입력 | - | ✅ | 1034ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
+| 14 | 저장 및 결과 확인 | - | ✅ | 317ms | Clicked (existed): 저장 |
+| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1019ms | Detail checks: 0/3 matched |
+| 16 | 취소 버튼 동작 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
+| 17 | 목록 버튼 동작 확인 | - | ✅ | 4ms | Element not present (ok): 목록 |
+| 18 | 필터 드롭다운 검증 | - | ✅ | 1ms | Element exists: body |
+| 19 | 날짜 필터 검증 | - | ✅ | 308ms | Clicked (existed): 당해년도 |
+| 20 | 페이지네이션 동작 확인 | - | ✅ | 314ms | Clicked (existed): 다음 |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 74ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_22-41-45.md b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_22-41-45.md
new file mode 100644
index 0000000..92657a5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-deposit-management_2026-03-03_22-41-45.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: deposit-management | **실행**: 2026-03-03_22-41-45 | **결과**: PASS
+**소요 시간**: 15.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 21 | 20 | 0 | 1 | 95% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2327ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
+| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2513ms | Menu navigation: 회계관리 > 입금관리 |
+| 3 | 목록 페이지 구조 확인 | - | ✅ | 2ms | Element exists: body |
+| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 7ms | Element not present (ok): 계정과목명 드롭다운 |
+| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1011ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
+| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 1ms | Element exists: body |
+| 7 | 입금 상세 페이지 이동 | - | ✅ | 517ms | Clicked first row |
+| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 1ms | Element exists: body |
+| 9 | 수정 모드 전환 | - | ✅ | 318ms | Clicked (existed): 수정 |
+| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 1ms | Element exists: body |
+| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 거래처 드롭다운 |
+| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 1ms | Element not present (ok): 입금 유형 드롭다운 |
+| 13 | 수정 데이터 입력 | - | ✅ | 1034ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
+| 14 | 저장 및 결과 확인 | - | ✅ | 309ms | Clicked (existed): 저장 |
+| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1005ms | Detail checks: 0/3 matched |
+| 16 | 취소 버튼 동작 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
+| 17 | 목록 버튼 동작 확인 | - | ✅ | 4ms | Element not present (ok): 목록 |
+| 18 | 필터 드롭다운 검증 | - | ✅ | 1ms | Element exists: body |
+| 19 | 날짜 필터 검증 | - | ✅ | 310ms | Clicked (existed): 당해년도 |
+| 20 | 페이지네이션 동작 확인 | - | ✅ | 305ms | Clicked (existed): 다음 |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 80ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_10-26-42.md b/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_10-26-42.md
new file mode 100644
index 0000000..0127f7d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_10-26-42.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: deposit-management | **실행**: 2026-03-04_10-26-42 | **결과**: PASS
+**소요 시간**: 15.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 21 | 20 | 0 | 1 | 95% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2316ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
+| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 입금관리 |
+| 3 | 목록 페이지 구조 확인 | - | ✅ | 0ms | Element exists: body |
+| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 계정과목명 드롭다운 |
+| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1014ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
+| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 1ms | Element exists: body |
+| 7 | 입금 상세 페이지 이동 | - | ✅ | 514ms | Clicked first row |
+| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 1ms | Element exists: body |
+| 9 | 수정 모드 전환 | - | ✅ | 317ms | Clicked (existed): 수정 |
+| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 0ms | Element exists: body |
+| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 1ms | Element not present (ok): 거래처 드롭다운 |
+| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 0ms | Element not present (ok): 입금 유형 드롭다운 |
+| 13 | 수정 데이터 입력 | - | ✅ | 1016ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
+| 14 | 저장 및 결과 확인 | - | ✅ | 313ms | Clicked (existed): 저장 |
+| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1019ms | Detail checks: 0/3 matched |
+| 16 | 취소 버튼 동작 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
+| 17 | 목록 버튼 동작 확인 | - | ✅ | 1ms | Element not present (ok): 목록 |
+| 18 | 필터 드롭다운 검증 | - | ✅ | 0ms | Element exists: body |
+| 19 | 날짜 필터 검증 | - | ✅ | 314ms | Clicked (existed): 당해년도 |
+| 20 | 페이지네이션 동작 확인 | - | ✅ | 317ms | Clicked (existed): 다음 |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 75ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_23-00-20.md b/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_23-00-20.md
new file mode 100644
index 0000000..badb5fe
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-deposit-management_2026-03-04_23-00-20.md
@@ -0,0 +1,45 @@
+# ✅ E2E 테스트 성공: 입금관리 테스트
+
+**테스트 ID**: deposit-management | **실행**: 2026-03-04_23-00-20 | **결과**: PASS
+**소요 시간**: 16.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 21 | 20 | 0 | 1 | 95% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2321ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
+| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2513ms | Menu navigation: 회계관리 > 입금관리 |
+| 3 | 목록 페이지 구조 확인 | - | ✅ | 1ms | Element exists: body |
+| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 1ms | Element not present (ok): 계정과목명 드롭다운 |
+| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1011ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
+| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 0ms | Element exists: body |
+| 7 | 입금 상세 페이지 이동 | - | ✅ | 517ms | Clicked first row |
+| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 1ms | Element exists: body |
+| 9 | 수정 모드 전환 | - | ✅ | 316ms | Clicked (existed): 수정 |
+| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 1ms | Element exists: body |
+| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 거래처 드롭다운 |
+| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 1ms | Element not present (ok): 입금 유형 드롭다운 |
+| 13 | 수정 데이터 입력 | - | ✅ | 1033ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
+| 14 | 저장 및 결과 확인 | - | ✅ | 315ms | Clicked (existed): 저장 |
+| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1503ms | Detail checks: 0/3 matched |
+| 16 | 취소 버튼 동작 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
+| 17 | 목록 버튼 동작 확인 | - | ✅ | 1ms | Element not present (ok): 목록 |
+| 18 | 필터 드롭다운 검증 | - | ✅ | 0ms | Element exists: body |
+| 19 | 날짜 필터 검증 | - | ✅ | 309ms | Clicked (existed): 당해년도 |
+| 20 | 페이지네이션 동작 확인 | - | ✅ | 304ms | Clicked (existed): 다음 |
+| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_15-45-04.md b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_15-45-04.md
new file mode 100644
index 0000000..59d0c79
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_15-45-04.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
+
+**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-03_15-45-04 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 519ms | CLICK_ROW / urlChg:true |
+| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1518ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2013ms | GO_BACK |
+| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 524ms | Menu navigation: 회계관리 > 어음관리 |
+| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 회계관리 > 입금관리 |
+| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 513ms | CLICK_ROW / urlChg:true |
+| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2003ms | GO_BACK |
+| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1514ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 14 | 14 | 0 | 71ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_21-42-06.md b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_21-42-06.md
new file mode 100644
index 0000000..47df6fb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_21-42-06.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
+
+**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-03_21-42-06 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 2ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
+| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1518ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2008ms | GO_BACK |
+| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1504ms | LIST_INTACT / intact:true |
+| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 회계관리 > 어음관리 |
+| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
+| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1501ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2013ms | GO_BACK |
+| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1506ms | LIST_INTACT / intact:true |
+| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 회계관리 > 입금관리 |
+| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 513ms | CLICK_ROW / urlChg:true |
+| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1506ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 14 | 14 | 0 | 75ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_22-42-17.md b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_22-42-17.md
new file mode 100644
index 0000000..85f2f0f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-03_22-42-17.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
+
+**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-03_22-42-17 | **결과**: PASS
+**소요 시간**: 32.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1505ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1503ms | LIST_INTACT / intact:true |
+| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 회계관리 > 어음관리 |
+| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 503ms | CLICK_ROW / urlChg:true |
+| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1501ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2016ms | GO_BACK |
+| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1507ms | LIST_INTACT / intact:true |
+| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 회계관리 > 입금관리 |
+| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 513ms | CLICK_ROW / urlChg:true |
+| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2004ms | GO_BACK |
+| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1511ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 14 | 14 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_10-27-15.md b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_10-27-15.md
new file mode 100644
index 0000000..894a953
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_10-27-15.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
+
+**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-04_10-27-15 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 516ms | CLICK_ROW / urlChg:true |
+| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1517ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2015ms | GO_BACK |
+| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
+| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 회계관리 > 어음관리 |
+| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 516ms | CLICK_ROW / urlChg:true |
+| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1504ms | LIST_INTACT / intact:true |
+| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 회계관리 > 입금관리 |
+| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1502ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2016ms | GO_BACK |
+| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1500ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 14 | 14 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_23-00-52.md b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_23-00-52.md
new file mode 100644
index 0000000..c0ee920
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-acc_2026-03-04_23-00-52.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
+
+**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-04_23-00-52 | **결과**: PASS
+**소요 시간**: 32.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 504ms | CLICK_ROW / urlChg:true |
+| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2007ms | GO_BACK |
+| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
+| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 어음관리 |
+| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 511ms | CLICK_ROW / urlChg:true |
+| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1507ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2009ms | GO_BACK |
+| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
+| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 입금관리 |
+| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 2ms | CAPTURE / rows:20 |
+| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 504ms | CLICK_ROW / urlChg:true |
+| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 14 | 14 | 0 | 71ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/vendors |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_15-45-29.md b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_15-45-29.md
new file mode 100644
index 0000000..583b26a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_15-45-29.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
+
+**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-03_15-45-29 | **결과**: PASS
+**소요 시간**: 25.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 509ms | CLICK_ROW / urlChg:true |
+| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2002ms | GO_BACK |
+| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1504ms | LIST_INTACT / intact:true |
+| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2530ms | Menu navigation: 게시판 > 자유게시판 |
+| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:10 |
+| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 509ms | CLICK_ROW / urlChg:true |
+| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2017ms | GO_BACK |
+| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 17 | 17 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_21-42-32.md b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_21-42-32.md
new file mode 100644
index 0000000..e876bb4
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_21-42-32.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
+
+**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-03_21-42-32 | **결과**: PASS
+**소요 시간**: 25.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 501ms | CLICK_ROW / urlChg:true |
+| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2010ms | GO_BACK |
+| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1507ms | LIST_INTACT / intact:true |
+| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 게시판 > 자유게시판 |
+| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:10 |
+| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 517ms | CLICK_ROW / urlChg:true |
+| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1518ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2005ms | GO_BACK |
+| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1512ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 17 | 17 | 0 | 57ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_22-42-43.md b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_22-42-43.md
new file mode 100644
index 0000000..f00a159
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-03_22-42-43.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
+
+**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-03_22-42-43 | **결과**: PASS
+**소요 시간**: 25.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1504ms | LIST_INTACT / intact:true |
+| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 게시판 > 자유게시판 |
+| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:10 |
+| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
+| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1508ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1504ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 17 | 17 | 0 | 53ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_10-27-41.md b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_10-27-41.md
new file mode 100644
index 0000000..73d158d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_10-27-41.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
+
+**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-04_10-27-41 | **결과**: PASS
+**소요 시간**: 25.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
+| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1508ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2015ms | GO_BACK |
+| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1503ms | LIST_INTACT / intact:true |
+| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 게시판 > 자유게시판 |
+| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:10 |
+| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
+| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1505ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2010ms | GO_BACK |
+| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 17 | 17 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_23-01-18.md b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_23-01-18.md
new file mode 100644
index 0000000..b8a4b37
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-hr-board_2026-03-04_23-01-18.md
@@ -0,0 +1,39 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
+
+**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-04_23-01-18 | **결과**: PASS
+**소요 시간**: 25.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 15 | 15 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 508ms | CLICK_ROW / urlChg:true |
+| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1509ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2004ms | GO_BACK |
+| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
+| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 게시판 > 자유게시판 |
+| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:10 |
+| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 508ms | CLICK_ROW / urlChg:true |
+| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1507ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2007ms | GO_BACK |
+| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1509ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 17 | 17 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_15-46-02.md b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_15-46-02.md
new file mode 100644
index 0000000..2e21f99
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_15-46-02.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
+
+**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-03_15-46-02 | **결과**: PASS
+**소요 시간**: 32.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
+| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
+| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 524ms | Menu navigation: 판매관리 > 수주관리 |
+| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 503ms | CLICK_ROW / urlChg:true |
+| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1502ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1503ms | LIST_INTACT / intact:true |
+| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 판매관리 > 견적관리 |
+| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 502ms | CLICK_ROW / urlChg:true |
+| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1502ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 23 | 23 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_21-43-04.md b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_21-43-04.md
new file mode 100644
index 0000000..101e74f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_21-43-04.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
+
+**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-03_21-43-04 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1502ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 524ms | Menu navigation: 판매관리 > 수주관리 |
+| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
+| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1506ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2008ms | GO_BACK |
+| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
+| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 521ms | Menu navigation: 판매관리 > 견적관리 |
+| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 504ms | CLICK_ROW / urlChg:true |
+| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1514ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1503ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 23 | 23 | 0 | 65ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_22-43-16.md b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_22-43-16.md
new file mode 100644
index 0000000..5101dd5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-03_22-43-16.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
+
+**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-03_22-43-16 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
+| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1517ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 521ms | Menu navigation: 판매관리 > 수주관리 |
+| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
+| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1501ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2002ms | GO_BACK |
+| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
+| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 521ms | Menu navigation: 판매관리 > 견적관리 |
+| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 516ms | CLICK_ROW / urlChg:true |
+| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1515ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2003ms | GO_BACK |
+| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1514ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 23 | 23 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_10-28-13.md b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_10-28-13.md
new file mode 100644
index 0000000..580f6b3
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_10-28-13.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
+
+**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-04_10-28-13 | **결과**: PASS
+**소요 시간**: 32.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
+| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
+| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 524ms | Menu navigation: 판매관리 > 수주관리 |
+| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 517ms | CLICK_ROW / urlChg:true |
+| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 판매관리 > 견적관리 |
+| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 502ms | CLICK_ROW / urlChg:true |
+| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
+| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 23 | 23 | 0 | 72ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_23-01-51.md b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_23-01-51.md
new file mode 100644
index 0000000..7f2de4e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-roundtrip-sales_2026-03-04_23-01-51.md
@@ -0,0 +1,47 @@
+# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
+
+**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-04_23-01-51 | **결과**: PASS
+**소요 시간**: 32.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 23 | 23 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 509ms | CLICK_ROW / urlChg:true |
+| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1508ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2006ms | GO_BACK |
+| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1509ms | LIST_INTACT / intact:true |
+| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 판매관리 > 수주관리 |
+| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
+| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 513ms | CLICK_ROW / urlChg:true |
+| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1509ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2008ms | GO_BACK |
+| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1509ms | LIST_INTACT / intact:true |
+| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 판매관리 > 견적관리 |
+| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
+| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 508ms | CLICK_ROW / urlChg:true |
+| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1511ms | VERIFY_DETAIL / idInUrl:true / match:true |
+| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2004ms | GO_BACK |
+| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 23 | 23 | 0 | 64ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_15-46-25.md b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_15-46-25.md
new file mode 100644
index 0000000..cf517cd
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_15-46-25.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
+
+**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-03_15-46-25 | **결과**: PASS
+**소요 시간**: 23.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5010ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 505ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2512ms | READ |
+| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 2ms | DETAIL_VERIFY |
+| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 1ms | SWITCH_VERIFY |
+| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2014ms | EDIT_ACCESS |
+| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2014ms | CANCEL |
+| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 500ms | BACK_VERIFY / rows:2 |
+| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 502ms | NO_CHANGE_VERIFY |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_21-43-28.md b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_21-43-28.md
new file mode 100644
index 0000000..05cd2e2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_21-43-28.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
+
+**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-03_21-43-28 | **결과**: PASS
+**소요 시간**: 23.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5005ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 516ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2513ms | READ |
+| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 2ms | DETAIL_VERIFY |
+| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 1ms | SWITCH_VERIFY |
+| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2015ms | EDIT_ACCESS |
+| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2018ms | CANCEL |
+| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2016ms | Waited 2000ms |
+| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 516ms | BACK_VERIFY / rows:2 |
+| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 501ms | NO_CHANGE_VERIFY |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 58ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_22-43-39.md b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_22-43-39.md
new file mode 100644
index 0000000..7bb63ec
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-03_22-43-39.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
+
+**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-03_22-43-39 | **결과**: PASS
+**소요 시간**: 23.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5013ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 516ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2517ms | READ |
+| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 3ms | DETAIL_VERIFY |
+| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 2ms | SWITCH_VERIFY |
+| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2012ms | EDIT_ACCESS |
+| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2004ms | CANCEL |
+| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 517ms | BACK_VERIFY / rows:2 |
+| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 502ms | NO_CHANGE_VERIFY |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_10-28-37.md b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_10-28-37.md
new file mode 100644
index 0000000..5e26fa5
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_10-28-37.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
+
+**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-04_10-28-37 | **결과**: PASS
+**소요 시간**: 23.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5001ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 508ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2507ms | READ |
+| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 1ms | DETAIL_VERIFY |
+| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 2ms | SWITCH_VERIFY |
+| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2023ms | EDIT_ACCESS |
+| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2007ms | CANCEL |
+| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 504ms | BACK_VERIFY / rows:2 |
+| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 514ms | NO_CHANGE_VERIFY |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 84ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_23-02-14.md b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_23-02-14.md
new file mode 100644
index 0000000..3f6998c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-detail-verify-acc-sales_2026-03-04_23-02-14.md
@@ -0,0 +1,36 @@
+# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
+
+**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-04_23-02-14 | **결과**: PASS
+**소요 시간**: 23.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 12 | 12 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5010ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 515ms | CAPTURE / rows:20 |
+| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2503ms | READ |
+| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 1ms | DETAIL_VERIFY |
+| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 0ms | SWITCH_VERIFY |
+| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2004ms | EDIT_ACCESS |
+| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2003ms | CANCEL |
+| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 506ms | BACK_VERIFY / rows:2 |
+| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 504ms | NO_CHANGE_VERIFY |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 9 | 9 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-03_14-42-04.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_14-42-04.md
new file mode 100644
index 0000000..cce621f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_14-42-04.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-03_14-42-04 | **결과**: PASS
+**소요 시간**: 11.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2519ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1006ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 273ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1009ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 309ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 324ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 309ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 2ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-03_15-46-37.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_15-46-37.md
new file mode 100644
index 0000000..29ded4a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_15-46-37.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-03_15-46-37 | **결과**: PASS
+**소요 시간**: 11.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2529ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 217ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 304ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 313ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 302ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 2ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 73ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-03_21-43-39.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_21-43-39.md
new file mode 100644
index 0000000..37219e9
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_21-43-39.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-03_21-43-39 | **결과**: PASS
+**소요 시간**: 11.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2509ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1010ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 218ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1012ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 318ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 312ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 70ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-03_22-43-51.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_22-43-51.md
new file mode 100644
index 0000000..2e02310
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-03_22-43-51.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-03_22-43-51 | **결과**: PASS
+**소요 시간**: 11.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2512ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1014ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 217ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1015ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 316ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 318ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 316ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 75ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-04_10-28-49.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-04_10-28-49.md
new file mode 100644
index 0000000..6171614
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-04_10-28-49.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-04_10-28-49 | **결과**: PASS
+**소요 시간**: 11.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2511ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1010ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 215ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1004ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 314ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 316ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 317ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 97ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-draft-box_2026-03-04_23-02-27.md b/e2e/results/hotfix/success/OK-draft-box_2026-03-04_23-02-27.md
new file mode 100644
index 0000000..f05ff32
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-draft-box_2026-03-04_23-02-27.md
@@ -0,0 +1,41 @@
+# ✅ E2E 테스트 성공: 기안함 테스트
+
+**테스트 ID**: draft-box | **실행**: 2026-03-04_23-02-27 | **결과**: PASS
+**소요 시간**: 12.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 17 | 15 | 0 | 2 | 88% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2516ms | Menu navigation: 결재관리 > 기안함 |
+| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/approval/draft |
+| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 77 buttons |
+| 4 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 4/4 verified |
+| 5 | 기안함 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
+| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
+| 7 | 데이터 로드 확인 | - | ⚠️ | 1506ms | Detail checks: 0/1 matched |
+| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 206ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
+| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1517ms | Detail checks: 0/1 matched |
+| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 312ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
+| 11 | 필터 기능 테스트 | - | ✅ | 305ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
+| 12 | [READ] 문서 상세 보기 | READ | ✅ | 316ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
+| 13 | 상세 페이지/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
+| 14 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
+| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
+| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 75ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/approval/draft |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_15-47-01.md b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_15-47-01.md
new file mode 100644
index 0000000..4ec4409
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_15-47-01.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
+
+**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-03_15-47-01 | **결과**: PASS
+**소요 시간**: 23.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5014ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 0ms | ZERO_QTY / 수량 필드 미발견 |
+| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 1ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
+| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 0ms | DECIMAL_PRICE / 단가 필드 미발견 |
+| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 535ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
+| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 531ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
+| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 3052ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
+| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 2ms | CLOSE_VALIDATION |
+| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 0ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
+| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 65ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_21-44-03.md b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_21-44-03.md
new file mode 100644
index 0000000..b5ad83d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_21-44-03.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
+
+**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-03_21-44-03 | **결과**: PASS
+**소요 시간**: 23.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5013ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2018ms | Waited 2000ms |
+| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 2ms | ZERO_QTY / 수량 필드 미발견 |
+| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 1ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
+| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 2ms | DECIMAL_PRICE / 단가 필드 미발견 |
+| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 519ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
+| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 524ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
+| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 2986ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
+| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 2ms | CLOSE_VALIDATION |
+| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 0ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
+| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 64ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_22-44-15.md b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_22-44-15.md
new file mode 100644
index 0000000..bb85a90
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-03_22-44-15.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
+
+**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-03_22-44-15 | **결과**: PASS
+**소요 시간**: 23.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5001ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 2ms | ZERO_QTY / 수량 필드 미발견 |
+| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 2ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
+| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 2ms | DECIMAL_PRICE / 단가 필드 미발견 |
+| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 525ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
+| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 517ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
+| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 3022ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
+| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 0ms | CLOSE_VALIDATION |
+| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 1ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
+| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_10-29-12.md b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_10-29-12.md
new file mode 100644
index 0000000..652187f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_10-29-12.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
+
+**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-04_10-29-12 | **결과**: PASS
+**소요 시간**: 23.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5001ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 4ms | ZERO_QTY / 수량 필드 미발견 |
+| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 0ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
+| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 1ms | DECIMAL_PRICE / 단가 필드 미발견 |
+| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 523ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
+| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 517ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
+| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 2983ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
+| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 1ms | CLOSE_VALIDATION |
+| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 0ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
+| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2015ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_23-02-51.md b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_23-02-51.md
new file mode 100644
index 0000000..50a4b54
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-acc-sales_2026-03-04_23-02-51.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
+
+**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-04_23-02-51 | **결과**: PASS
+**소요 시간**: 23.6초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5001ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2513ms | OPEN_FORM |
+| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 2ms | ZERO_QTY / 수량 필드 미발견 |
+| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 0ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
+| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 1ms | DECIMAL_PRICE / 단가 필드 미발견 |
+| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 528ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
+| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 531ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
+| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 2994ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
+| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 1ms | CLOSE_VALIDATION |
+| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 1ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
+| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_15-47-24.md b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_15-47-24.md
new file mode 100644
index 0000000..31a96e8
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_15-47-24.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
+
+**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-03_15-47-24 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2521ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1016ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 314ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1003ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1004ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2514ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_21-44-26.md b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_21-44-26.md
new file mode 100644
index 0000000..0a6547a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_21-44-26.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
+
+**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-03_21-44-26 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1016ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 306ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1014ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 304ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1010ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 301ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1017ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2516ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_22-44-38.md b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_22-44-38.md
new file mode 100644
index 0000000..e6ab5ff
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-03_22-44-38.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
+
+**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-03_22-44-38 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2517ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2007ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1010ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1002ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1004ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1005ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2520ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_10-29-36.md b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_10-29-36.md
new file mode 100644
index 0000000..5e004f2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_10-29-36.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
+
+**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-04_10-29-36 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2511ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1005ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1005ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1006ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 308ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2521ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2008ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_23-03-14.md b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_23-03-14.md
new file mode 100644
index 0000000..1f9baa6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-accounting_2026-03-04_23-03-14.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
+
+**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-04_23-03-14 | **결과**: PASS
+**소요 시간**: 23.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2512ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1003ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1005ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1004ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1004ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2523ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 66ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_15-47-48.md b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_15-47-48.md
new file mode 100644
index 0000000..fa2b941
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_15-47-48.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
+
+**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-03_15-47-48 | **결과**: PASS
+**소요 시간**: 23.5초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2503ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2011ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1003ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 317ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1003ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1015ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 301ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1019ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 311ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 64ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_21-44-50.md b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_21-44-50.md
new file mode 100644
index 0000000..e8e946b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_21-44-50.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
+
+**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-03_21-44-50 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2505ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1001ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 316ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1019ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1016ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1005ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2517ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2014ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_22-45-01.md b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_22-45-01.md
new file mode 100644
index 0000000..d6c9fbf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-03_22-45-01.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
+
+**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-03_22-45-01 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2505ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1002ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 316ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1003ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 309ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1003ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1019ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 316ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2523ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2006ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 75ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_10-29-59.md b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_10-29-59.md
new file mode 100644
index 0000000..53d5c3c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_10-29-59.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
+
+**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-04_10-29-59 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2509ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1002ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 310ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1005ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1011ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 310ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2522ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_23-03-37.md b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_23-03-37.md
new file mode 100644
index 0000000..fd840de
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-hr_2026-03-04_23-03-37.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
+
+**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-04_23-03-37 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1002ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 307ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1010ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1015ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 301ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 314ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2517ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2007ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 95ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_15-48-11.md b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_15-48-11.md
new file mode 100644
index 0000000..be3542a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_15-48-11.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
+
+**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-03_15-48-11 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2502ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1010ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 319ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1002ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 310ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1004ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1018ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2520ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 31ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_21-45-13.md b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_21-45-13.md
new file mode 100644
index 0000000..825621a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_21-45-13.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
+
+**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-03_21-45-13 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2013ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1002ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1016ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1016ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 317ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1002ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2513ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 28ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_22-45-25.md b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_22-45-25.md
new file mode 100644
index 0000000..1f4d8fc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-03_22-45-25.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
+
+**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-03_22-45-25 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2510ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1013ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1012ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1001ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1015ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 314ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2518ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2010ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_10-30-22.md b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_10-30-22.md
new file mode 100644
index 0000000..b41f2ba
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_10-30-22.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
+
+**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-04_10-30-22 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2012ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1004ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 310ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1002ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 301ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1012ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 302ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1002ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2510ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2007ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 50ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_23-04-01.md b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_23-04-01.md
new file mode 100644
index 0000000..281339a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-boundary-input-sales_2026-03-04_23-04-01.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
+
+**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-04_23-04-01 | **결과**: PASS
+**소요 시간**: 23.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2501ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1006ms | FIND_INPUTS |
+| 6 | 경계값: 최대 길이 입력 | - | ✅ | 309ms | Boundary fill [empty]: "" |
+| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1002ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 경계값: 오버플로우 입력 | - | ✅ | 307ms | Boundary fill [empty]: "" |
+| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1009ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 312ms | Boundary fill [empty]: "" |
+| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1006ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값: 공백만 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
+| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2530ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 34ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_15-48-25.md b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_15-48-25.md
new file mode 100644
index 0000000..3d2d16f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_15-48-25.md
@@ -0,0 +1,29 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
+
+**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-03_15-48-25 | **결과**: PASS
+**소요 시간**: 13.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 5 | 5 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2671ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
+| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 2ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
+| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2132ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_21-45-27.md b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_21-45-27.md
new file mode 100644
index 0000000..accd36f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_21-45-27.md
@@ -0,0 +1,29 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
+
+**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-03_21-45-27 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 5 | 5 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2639ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
+| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 2ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
+| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2115ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_22-45-39.md b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_22-45-39.md
new file mode 100644
index 0000000..263b83b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-03_22-45-39.md
@@ -0,0 +1,29 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
+
+**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-03_22-45-39 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 5 | 5 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2687ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
+| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 1ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
+| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2114ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_10-30-36.md b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_10-30-36.md
new file mode 100644
index 0000000..c5f54d7
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_10-30-36.md
@@ -0,0 +1,29 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
+
+**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-04_10-30-36 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 5 | 5 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2655ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
+| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 2ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
+| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2112ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_23-04-15.md b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_23-04-15.md
new file mode 100644
index 0000000..3bb4523
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-concurrent-action-hr_2026-03-04_23-04-15.md
@@ -0,0 +1,29 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
+
+**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-04_23-04-15 | **결과**: PASS
+**소요 시간**: 13.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 5 | 5 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2681ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
+| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 1ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
+| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2098ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 0 | 0 | 0 | 0ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/attendance-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_15-48-44.md b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_15-48-44.md
new file mode 100644
index 0000000..23a8ab6
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_15-48-44.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
+
+**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-03_15-48-44 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1016ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 83ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_21-45-46.md b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_21-45-46.md
new file mode 100644
index 0000000..1ac47d4
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_21-45-46.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
+
+**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-03_21-45-46 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2518ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2018ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 65ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_22-45-58.md b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_22-45-58.md
new file mode 100644
index 0000000..e78a790
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-03_22-45-58.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
+
+**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-03_22-45-58 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2511ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 78ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_10-30-55.md b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_10-30-55.md
new file mode 100644
index 0000000..cbdb796
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_10-30-55.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
+
+**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-04_10-30-55 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2508ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2512ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2009ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_23-04-34.md b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_23-04-34.md
new file mode 100644
index 0000000..ac7b22c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-accounting_2026-03-04_23-04-34.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
+
+**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-04_23-04-34 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2505ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1011ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2008ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_15-49-03.md b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_15-49-03.md
new file mode 100644
index 0000000..32c8318
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_15-49-03.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-03_15-49-03 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2522ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1012ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2015ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 63ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_21-46-05.md b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_21-46-05.md
new file mode 100644
index 0000000..2d6019f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_21-46-05.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-03_21-46-05 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2521ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2535ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1013ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 54ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_22-46-17.md b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_22-46-17.md
new file mode 100644
index 0000000..88dc1ea
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-03_22-46-17.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-03_22-46-17 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3016ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2517ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2014ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 54ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_10-31-14.md b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_10-31-14.md
new file mode 100644
index 0000000..150c3f1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_10-31-14.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-04_10-31-14 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2511ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2004ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2510ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1007ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2018ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_23-04-53.md b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_23-04-53.md
new file mode 100644
index 0000000..a9c78ef
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-board_2026-03-04_23-04-53.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-04_23-04-53 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2518ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 84ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_15-49-22.md b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_15-49-22.md
new file mode 100644
index 0000000..cf7ff73
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_15-49-22.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
+
+**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-03_15-49-22 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2017ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1014ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2014ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_21-46-25.md b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_21-46-25.md
new file mode 100644
index 0000000..92d2962
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_21-46-25.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
+
+**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-03_21-46-25 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2505ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2518ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1013ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2017ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_22-46-36.md b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_22-46-36.md
new file mode 100644
index 0000000..3607d0c
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-03_22-46-36.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
+
+**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-03_22-46-36 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2502ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2010ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2523ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_10-31-34.md b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_10-31-34.md
new file mode 100644
index 0000000..28fc4e1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_10-31-34.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
+
+**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-04_10-31-34 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2512ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1004ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 76ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_23-05-12.md b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_23-05-12.md
new file mode 100644
index 0000000..282bf16
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-hr_2026-03-04_23-05-12.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
+
+**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-04_23-05-12 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2517ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1002ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 6 | 6 | 0 | 76ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/hr/employee-management |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_15-49-41.md b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_15-49-41.md
new file mode 100644
index 0000000..0927c06
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_15-49-41.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
+
+**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-03_15-49-41 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2507ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2009ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2508ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2010ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 23ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_21-46-44.md b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_21-46-44.md
new file mode 100644
index 0000000..1dc1341
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_21-46-44.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
+
+**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-03_21-46-44 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3017ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2511ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2509ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1008ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2015ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 29ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_22-46-55.md b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_22-46-55.md
new file mode 100644
index 0000000..380d7ca
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-03_22-46-55.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
+
+**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-03_22-46-55 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3014ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2517ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2516ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 26ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_10-31-53.md b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_10-31-53.md
new file mode 100644
index 0000000..4191daf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_10-31-53.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
+
+**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-04_10-31-53 | **결과**: PASS
+**소요 시간**: 19.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2506ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2512ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1013ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2017ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 26ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_23-05-31.md b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_23-05-31.md
new file mode 100644
index 0000000..d279bdf
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-empty-submit-sales_2026-03-04_23-05-31.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
+
+**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-04_23-05-31 | **결과**: PASS
+**소요 시간**: 19.1초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2530ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 6 | 결과 확인 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 35ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_15-50-05.md b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_15-50-05.md
new file mode 100644
index 0000000..199099f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_15-50-05.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
+
+**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-03_15-50-05 | **결과**: PASS
+**소요 시간**: 23.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 13 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3013ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2503ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1002ms | FIND_INPUTS |
+| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 532ms | NUMERIC_ZERO |
+| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1014ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 516ms | NUMERIC_NEGATIVE |
+| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1004ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 517ms | NUMERIC_MAX |
+| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1017ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2514ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2019ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 60ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_21-47-07.md b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_21-47-07.md
new file mode 100644
index 0000000..be28d03
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_21-47-07.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
+
+**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-03_21-47-07 | **결과**: PASS
+**소요 시간**: 23.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 13 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2016ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1015ms | FIND_INPUTS |
+| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 519ms | NUMERIC_ZERO |
+| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1004ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 516ms | NUMERIC_NEGATIVE |
+| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1012ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 515ms | NUMERIC_MAX |
+| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1002ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2524ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2009ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_22-47-19.md b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_22-47-19.md
new file mode 100644
index 0000000..b1e90de
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-03_22-47-19.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
+
+**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-03_22-47-19 | **결과**: PASS
+**소요 시간**: 23.7초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 13 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2003ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1017ms | FIND_INPUTS |
+| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 513ms | NUMERIC_ZERO |
+| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1002ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 516ms | NUMERIC_NEGATIVE |
+| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1003ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 512ms | NUMERIC_MAX |
+| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1002ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2507ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2010ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_10-32-17.md b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_10-32-17.md
new file mode 100644
index 0000000..63ba18e
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_10-32-17.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
+
+**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-04_10-32-17 | **결과**: PASS
+**소요 시간**: 23.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 13 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2506ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1005ms | FIND_INPUTS |
+| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 510ms | NUMERIC_ZERO |
+| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1009ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 510ms | NUMERIC_NEGATIVE |
+| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1007ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 515ms | NUMERIC_MAX |
+| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1012ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2516ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 68ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_23-05-55.md b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_23-05-55.md
new file mode 100644
index 0000000..fcb75da
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-numeric-boundary-accounting_2026-03-04_23-05-55.md
@@ -0,0 +1,37 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
+
+**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-04_23-05-55 | **결과**: PASS
+**소요 시간**: 23.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 13 | 13 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2513ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1005ms | FIND_INPUTS |
+| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 510ms | NUMERIC_ZERO |
+| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1011ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 523ms | NUMERIC_NEGATIVE |
+| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1007ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 513ms | NUMERIC_MAX |
+| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1017ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
+| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2521ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
+| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2008ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 104ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/deposits |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_15-50-32.md b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_15-50-32.md
new file mode 100644
index 0000000..617ab78
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_15-50-32.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
+
+**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-03_15-50-32 | **결과**: PASS
+**소요 시간**: 27.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5017ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1550ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
+| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1000ms | Waited 1000ms |
+| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3288ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
+| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1020ms | RAPID_RESULT |
+| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2845ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
+| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2018ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 67ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_21-47-35.md b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_21-47-35.md
new file mode 100644
index 0000000..17941a1
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_21-47-35.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
+
+**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-03_21-47-35 | **결과**: PASS
+**소요 시간**: 27.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5004ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1567ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
+| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1001ms | Waited 1000ms |
+| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3295ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
+| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1008ms | RAPID_RESULT |
+| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2847ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
+| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2020ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 69ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_22-47-46.md b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_22-47-46.md
new file mode 100644
index 0000000..06353cd
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-03_22-47-46.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
+
+**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-03_22-47-46 | **결과**: PASS
+**소요 시간**: 27.4초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5005ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1567ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
+| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1016ms | Waited 1000ms |
+| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
+| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3300ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
+| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1001ms | RAPID_RESULT |
+| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2847ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
+| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2017ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 67ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_10-32-44.md b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_10-32-44.md
new file mode 100644
index 0000000..5ea7aac
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_10-32-44.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
+
+**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-04_10-32-44 | **결과**: PASS
+**소요 시간**: 27.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5005ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1568ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
+| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1006ms | Waited 1000ms |
+| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
+| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3300ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
+| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1004ms | RAPID_RESULT |
+| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2834ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
+| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 86ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_23-06-22.md b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_23-06-22.md
new file mode 100644
index 0000000..c51cb6f
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-acc-sales_2026-03-04_23-06-22.md
@@ -0,0 +1,34 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
+
+**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-04_23-06-22 | **결과**: PASS
+**소요 시간**: 27.3초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 10 | 10 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5000ms | Waited 5000ms |
+| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1565ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
+| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1003ms | Waited 1000ms |
+| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2512ms | OPEN_FORM |
+| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3281ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
+| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1007ms | RAPID_RESULT |
+| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2856ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
+| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2007ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 65ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/accounting/sales |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_15-50-48.md b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_15-50-48.md
new file mode 100644
index 0000000..7b274ba
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_15-50-48.md
@@ -0,0 +1,30 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-03_15-50-48 | **결과**: PASS
+**소요 시간**: 15.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 6 | 6 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 첫 번째 행 클릭 | - | ✅ | 517ms | Clicked first row |
+| 4 | 상세 페이지 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2318ms | RAPID_CLICK_DELETE |
+| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2016ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 84ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_21-47-51.md b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_21-47-51.md
new file mode 100644
index 0000000..884aadc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_21-47-51.md
@@ -0,0 +1,30 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-03_21-47-51 | **결과**: PASS
+**소요 시간**: 15.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 6 | 6 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 첫 번째 행 클릭 | - | ✅ | 505ms | Clicked first row |
+| 4 | 상세 페이지 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2302ms | RAPID_CLICK_DELETE |
+| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2009ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 70ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_22-48-02.md b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_22-48-02.md
new file mode 100644
index 0000000..6c6acad
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-03_22-48-02.md
@@ -0,0 +1,30 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-03_22-48-02 | **결과**: PASS
+**소요 시간**: 15.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 6 | 6 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 첫 번째 행 클릭 | - | ✅ | 503ms | Clicked first row |
+| 4 | 상세 페이지 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2285ms | RAPID_CLICK_DELETE |
+| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2017ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 82ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_10-33-00.md b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_10-33-00.md
new file mode 100644
index 0000000..1fc790b
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_10-33-00.md
@@ -0,0 +1,30 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-04_10-33-00 | **결과**: PASS
+**소요 시간**: 15.8초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 6 | 6 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 첫 번째 행 클릭 | - | ✅ | 510ms | Clicked first row |
+| 4 | 상세 페이지 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2272ms | RAPID_CLICK_DELETE |
+| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2012ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 93ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_23-06-38.md b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_23-06-38.md
new file mode 100644
index 0000000..c62d6bb
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-delete_2026-03-04_23-06-38.md
@@ -0,0 +1,30 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-04_23-06-38 | **결과**: PASS
+**소요 시간**: 15.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 6 | 6 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | 첫 번째 행 클릭 | - | ✅ | 510ms | Clicked first row |
+| 4 | 상세 페이지 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2270ms | RAPID_CLICK_DELETE |
+| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2012ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 4 | 4 | 0 | 61ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_15-51-08.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_15-51-08.md
new file mode 100644
index 0000000..609a234
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_15-51-08.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-03_15-51-08 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2301ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2004ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 59ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_21-48-11.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_21-48-11.md
new file mode 100644
index 0000000..47f005d
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_21-48-11.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-03_21-48-11 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2315ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2005ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2015ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_22-48-22.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_22-48-22.md
new file mode 100644
index 0000000..766e724
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-03_22-48-22.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-03_22-48-22 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3012ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2519ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2301ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2003ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2014ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 56ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_10-33-20.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_10-33-20.md
new file mode 100644
index 0000000..acd29ea
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_10-33-20.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-04_10-33-20 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2517ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2295ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2007ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2005ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 62ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_23-06-58.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_23-06-58.md
new file mode 100644
index 0000000..51709a2
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-board_2026-03-04_23-06-58.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-04_23-06-58 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2506ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2293ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2002ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2006ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 5 | 5 | 0 | 81ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/boards/free |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_15-51-28.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_15-51-28.md
new file mode 100644
index 0000000..e60ce7a
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_15-51-28.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
+
+**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-03_15-51-28 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2284ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2003ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 22ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_21-48-31.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_21-48-31.md
new file mode 100644
index 0000000..2b688bc
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_21-48-31.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
+
+**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-03_21-48-31 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2283ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2004ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2007ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 137ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_22-48-42.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_22-48-42.md
new file mode 100644
index 0000000..03165ed
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-03_22-48-42.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
+
+**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-03_22-48-42 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2509ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2008ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2301ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2004ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 34ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_10-33-39.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_10-33-39.md
new file mode 100644
index 0000000..1da0204
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_10-33-39.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
+
+**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-04_10-33-39 | **결과**: PASS
+**소요 시간**: 19.9초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2501ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2015ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2277ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2006ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2003ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 30ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_23-07-18.md b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_23-07-18.md
new file mode 100644
index 0000000..664c074
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-rapid-click-save-sales_2026-03-04_23-07-18.md
@@ -0,0 +1,31 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
+
+**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-04_23-07-18 | **결과**: PASS
+**소요 시간**: 20.0초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 7 | 7 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
+| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2511ms | OPEN_FORM |
+| 4 | 폼 렌더링 대기 | - | ✅ | 2016ms | Waited 2000ms |
+| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2283ms | RAPID_CLICK_SAVE |
+| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2007ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
+| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
+
+## API 요약
+| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
+|---------|------|------|----------|--------------|
+| 2 | 2 | 0 | 79ms | 0 |
+
+## 페이지 건강 검사
+| 항목 | 결과 |
+|------|------|
+| 상태 | ✅ 정상 |
+| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
diff --git a/e2e/results/hotfix/success/OK-edge-special-chars-board_2026-03-03_15-52-00.md b/e2e/results/hotfix/success/OK-edge-special-chars-board_2026-03-03_15-52-00.md
new file mode 100644
index 0000000..924d7ef
--- /dev/null
+++ b/e2e/results/hotfix/success/OK-edge-special-chars-board_2026-03-03_15-52-00.md
@@ -0,0 +1,38 @@
+# ✅ E2E 테스트 성공: 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판)
+
+**테스트 ID**: edge-special-chars-board | **실행**: 2026-03-03_15-52-00 | **결과**: PASS
+**소요 시간**: 32.2초
+
+## 테스트 요약
+| 전체 | 성공 | 실패 | 경고 | 성공률 |
+|------|------|------|------|--------|
+| 14 | 14 | 0 | 0 | 100% |
+
+## 전체 스텝 결과
+| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
+|---|------|-------|------|---------|------|
+| 1 | 페이지 로드 대기 | - | ✅ | 3011ms | Waited 3000ms |
+| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
+| 3 | 특수문자 검색: