/* ===================================================================
   CEFC-GJ LEFT MENU — CLEAN FINAL (No Tabs)
=================================================================== */

#leftMenuContainer,
.left-menu {
  width: 240px !important;
  flex-shrink: 0;
  background: #fafafa;
  border-right: 1px solid #e1e1e1;
  padding: 0;
  margin: 0;
  user-select: none;
}

/* 검색 영역 */
.menu-search {
  padding: 8px 10px;
  background: #fff;
  border-bottom: 1px solid #e1e1e1;
}

.menu-search input {
  height: 28px !important;
  font-size: 12px;
}

/* 메뉴 목록 공통 */
.menu-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.menu-item {
  padding: 0;
  margin: 0;
}

/* ----------------------------
   DEPTH 1
---------------------------- */
.menu-link.depth-1 {
  display: block;
  padding: 10px 16px;
  padding-left: 26px;
  font-size: 10px;
  font-weight: 700;
  background: #f3f6fb;
  border-bottom: 1px solid #dce3ed;
  color: #222;
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

.menu-link.depth-1.menu-toggle::before {
  content: "▾";
  position: absolute;
  left: 10px;
  font-size: 10px;
  color: #666;
}

.menu-link.depth-1.menu-toggle[data-toggle="closed"]::before {
  content: "▸";
}

.menu-link.depth-1:hover {
  background: #e8eef7;
  color: #1e4da0;
}

/* ----------------------------
   DEPTH 2
---------------------------- */
.menu-link.depth-2 {
  display: block;
  padding: 7px 20px;
  padding-left: 32px;
  font-size: 10px;
  font-weight: 600;
  background: #e7efff;
  border-left: 3px solid #8bb4e9;
  border-bottom: 1px solid #d5e1f5;
  color: #1b3f80;
  cursor: pointer;
  position: relative;
}

.menu-link.depth-2.menu-toggle::before {
  content: "▾";
  position: absolute;
  left: 18px;
  color: #4469a8;
  font-size: 10px;
}

.menu-link.depth-2.menu-toggle[data-toggle="closed"]::before {
  content: "▸";
}

.menu-link.depth-2:hover {
  background: #d9e7ff;
  color: #003c8f;
}

/* ----------------------------
   DEPTH 3 (링크)
---------------------------- */
.menu-link.depth-3 {
  padding: 6px 18px;
  padding-left: 42px;
  font-size: 10px;
  font-weight: 400;
  background: #eef5ff;
  color: #2b456e;
  text-decoration: none;
  display: block;
}

.menu-link.depth-3::before {
  content: "• ";
  color: #4f6a94;
}

.menu-link.depth-3:hover {
  background: #dde9ff;
  color: #003c8f;
}

/* ACTIVE */
.menu-link.depth-3.active {
  background: #c6dcff;
  color: #003c8f;
  border-left: 4px solid #003c8f;
  font-weight: 600;
}

/* SUBMENU */
.submenu {
  display: none;
}

.depth-2-item + .submenu {
  background: #f5f8ff;
  border-left: 3px solid #bdd2f0;
  padding: 4px 0;
}

/* 검색 결과 */
#leftMenuSearchResult {
  padding: 10px;
  background: #fff;
  border-top: 1px solid #ddd;
}
