/* ====== ETL Platform 아이콘 시스템 ====== */

/* 기본 아이콘 스타일 */
.menu-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 8px;
  flex-shrink: 0;
}

/* ====== 기본 아이콘 세트 ====== */

/* 대시보드 아이콘 */
.icon-dashboard {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="2" fill="%23666" stroke="%23666" stroke-width="1"/><rect x="14" y="3" width="7" height="7" rx="2" fill="%23666" stroke="%23666" stroke-width="1"/><rect x="14" y="14" width="7" height="7" rx="2" fill="%23666" stroke="%23666" stroke-width="1"/><rect x="3" y="14" width="7" height="7" rx="2" fill="%23666" stroke="%23666" stroke-width="1"/></svg>');
}

/* 설정/관리 아이콘 */
.icon-settings {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3" fill="%23666"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1 1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" fill="%23666"/></svg>');
}

/* 데이터베이스 아이콘 */
.icon-database {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="12" cy="5" rx="9" ry="3" fill="%23666"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" stroke="%23666" stroke-width="2"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" stroke="%23666" stroke-width="2"/></svg>');
}

/* 폴더 아이콘 */
.icon-folder {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" fill="%23666"/></svg>');
}

/* 문서/파일 아이콘 */
.icon-file {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" fill="%23666"/><polyline points="14,2 14,8 20,8" stroke="%23fff" stroke-width="2"/><line x1="16" y1="13" x2="8" y2="13" stroke="%23fff" stroke-width="1.5"/><line x1="16" y1="17" x2="8" y2="17" stroke="%23fff" stroke-width="1.5"/></svg>');
}

/* 사용자 아이콘 */
.icon-users {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" stroke="%23666" stroke-width="2"/><circle cx="9" cy="7" r="4" fill="%23666"/><path d="M23 21v-2a4 4 0 0 0-3-3.87" stroke="%23666" stroke-width="2"/><path d="M16 3.13a4 4 0 0 1 0 7.75" stroke="%23666" stroke-width="2"/></svg>');
}

/* 홈 아이콘 */
.icon-home {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m0-11l2 2m-2-2v9a1 1 0 001 1m0-10a1 1 0 011-1h2a1 1 0 011 1m0 0v10a1 1 0 001 1h3a1 1 0 001-1V10m0 0l2 2m-2-2l7-7" stroke="%23666" stroke-width="2"/></svg>');
}

/* 그리드 아이콘 */
.icon-grid {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/><rect x="14" y="3" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/><rect x="14" y="14" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/><rect x="3" y="14" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/></svg>');
}

/* 목록 아이콘 */
.icon-list {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="8" y="6" width="13" height="2" rx="1" fill="%23666"/><rect x="8" y="11" width="13" height="2" rx="1" fill="%23666"/><rect x="8" y="16" width="13" height="2" rx="1" fill="%23666"/><circle cx="4.5" cy="7" r="1.5" fill="%23666"/><circle cx="4.5" cy="12" r="1.5" fill="%23666"/><circle cx="4.5" cy="17" r="1.5" fill="%23666"/></svg>');
}

/* 링크 아이콘 */
.icon-link {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 레이어 아이콘 */
.icon-layers {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polygon points="12,2 22,8.5 12,15 2,8.5" fill="%23666" opacity="0.8"/><polyline points="2,12.5 12,19 22,12.5" stroke="%23666" stroke-width="2"/><polyline points="2,16.5 12,23 22,16.5" stroke="%23666" stroke-width="2"/></svg>');
}

/* 통계보고서 아이콘 */
.icon-report {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="2" width="16" height="20" rx="2" fill="%23666"/><path d="M9 9h6M9 13h6M9 17h4" stroke="%23fff" stroke-width="2" stroke-linecap="round"/><rect x="7" y="5" width="10" height="2" rx="1" fill="%23fff"/><rect x="16" y="9" width="2" height="2" rx="1" fill="%23fff"/><rect x="16" y="13" width="2" height="4" rx="1" fill="%23fff"/></svg>');
}

/* 분석 아이콘 */
.icon-analytics {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 3v18h18" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 14l4-4 4 4 6-6" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="7" cy="14" r="2" fill="%23666"/><circle cx="11" cy="10" r="2" fill="%23666"/><circle cx="15" cy="14" r="2" fill="%23666"/><circle cx="21" cy="8" r="2" fill="%23666"/></svg>');
}

/* 트렌드 아이콘 */
.icon-trending {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polyline points="22,7 13.5,15.5 8.5,10.5 2,17" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><polyline points="16,7 22,7 22,13" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 파이차트 아이콘 */
.icon-pie-chart {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.21 15.89A10 10 0 1 1 8 2.83" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12A10 10 0 0 0 12 2v10z" fill="%23666"/></svg>');
}

/* ETL 아이콘 */
.icon-etl {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="8" width="6" height="8" rx="2" fill="%23666" opacity="0.8"/><rect x="16" y="8" width="6" height="8" rx="2" fill="%23666" opacity="0.8"/><path d="M8 12h8" stroke="%23666" stroke-width="2" stroke-linecap="round"/><path d="M12 8l4 4-4 4" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><rect x="9" y="5" width="6" height="2" rx="1" fill="%23666"/><rect x="9" y="17" width="6" height="2" rx="1" fill="%23666"/></svg>');
}

/* 서버 아이콘 */
.icon-server {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="3" width="20" height="6" rx="2" fill="%23666"/><rect x="2" y="11" width="20" height="6" rx="2" fill="%23666"/><rect x="2" y="19" width="20" height="2" rx="1" fill="%23666"/><circle cx="6" cy="6" r="1" fill="%23fff"/><circle cx="9" cy="6" r="1" fill="%23fff"/><circle cx="6" cy="14" r="1" fill="%23fff"/><circle cx="9" cy="14" r="1" fill="%23fff"/></svg>');
}

/* 코드 아이콘 */
.icon-code {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polyline points="16,18 22,12 16,6" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><polyline points="8,6 2,12 8,18" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 워크플로 아이콘 */
.icon-workflow {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="8" width="6" height="3" rx="1" fill="%23666"/><rect x="15" y="8" width="6" height="3" rx="1" fill="%23666"/><rect x="9" y="2" width="6" height="3" rx="1" fill="%23666"/><rect x="9" y="19" width="6" height="3" rx="1" fill="%23666"/><path d="M12 5v3M12 11v8" stroke="%23666" stroke-width="2" stroke-linecap="round"/><path d="M9 9.5h6M9 10.5h6" stroke="%23666" stroke-width="1"/></svg>');
}

/* 팝업 관리 아이콘 */
.icon-popup {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="6" width="18" height="12" rx="2" stroke="%23666" stroke-width="2"/><rect x="6" y="3" width="12" height="12" rx="2" fill="%23666" opacity="0.8"/><path d="M13 9l2 2-2 2M11 13l-2-2 2-2" stroke="%23fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 배너관리 아이콘 */
.icon-banner {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="6" width="20" height="12" rx="3" fill="%23666"/><rect x="5" y="9" width="14" height="2" rx="1" fill="%23fff"/><rect x="5" y="13" width="10" height="2" rx="1" fill="%23fff"/><circle cx="18" cy="14" r="2" fill="%23fff"/></svg>');
}

/* 이미지 아이콘 */
.icon-image {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" fill="%23666"/><circle cx="8.5" cy="8.5" r="1.5" fill="%23fff"/><polyline points="21,15 16,10 5,21" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 비디오 아이콘 */
.icon-video {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polygon points="23,7 16,12 23,17" fill="%23666"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2" fill="%23666" opacity="0.8"/><polygon points="6,9 6,15 11,12" fill="%23fff"/></svg>');
}

/* 갤러리 아이콘 */
.icon-gallery {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/><rect x="14" y="3" width="7" height="7" rx="1" fill="%23666" opacity="0.6"/><rect x="14" y="14" width="7" height="7" rx="1" fill="%23666" opacity="0.8"/><rect x="3" y="14" width="7" height="7" rx="1" fill="%23666" opacity="0.6"/><circle cx="6" cy="6" r="1" fill="%23fff"/><circle cx="17" cy="6" r="1" fill="%23fff"/><circle cx="17" cy="17" r="1" fill="%23fff"/><circle cx="6" cy="17" r="1" fill="%23fff"/></svg>');
}

/* 레이아웃 아이콘 */
.icon-layout {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" fill="%23666"/><line x1="9" y1="9" x2="21" y2="9" stroke="%23fff" stroke-width="2"/><line x1="9" y1="21" x2="9" y2="9" stroke="%23fff" stroke-width="2"/></svg>');
}

/* ====== 추가 특화 아이콘 세트 ====== */

/* 플랫폼 아이콘 */
.icon-platform {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="8" width="18" height="8" rx="3" fill="%23666"/><rect x="7" y="4" width="10" height="4" rx="2" fill="%2390a4ae"/><circle cx="6" cy="12" r="1" fill="%23fff"/><circle cx="9" cy="12" r="1" fill="%23fff"/><circle cx="12" cy="12" r="1" fill="%23fff"/></svg>');
}

/* 메뉴 관리 아이콘 */
.icon-menu {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="2" rx="1" fill="%23666"/><rect x="3" y="11" width="18" height="2" rx="1" fill="%23666"/><rect x="3" y="17" width="18" height="2" rx="1" fill="%23666"/><circle cx="20" cy="6" r="2" fill="%2390a4ae"/><circle cx="20" cy="12" r="2" fill="%2390a4ae"/><circle cx="20" cy="18" r="2" fill="%2390a4ae"/></svg>');
}

/* 보안/권한 아이콘 */
.icon-security {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" fill="%23666"/><path d="M9 12l2 2 4-4" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 키/인증 아이콘 */
.icon-key {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="16" r="6" fill="%23666"/><path d="M13.11 10.89l6.89-6.89v4h3v-4h-4l6.89-6.89" stroke="%2390a4ae" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="8" cy="16" r="2" fill="%23fff"/></svg>');
}

/* CMS 관리 아이콘 */
.icon-cms {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="3" fill="%23666"/><rect x="6" y="6" width="12" height="2" rx="1" fill="%23fff"/><rect x="6" y="10" width="8" height="2" rx="1" fill="%23fff"/><rect x="6" y="14" width="10" height="2" rx="1" fill="%23fff"/><circle cx="18" cy="18" r="3" fill="%2390a4ae"/><path d="M17 18l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 메타데이터 관리 아이콘 */
.icon-metadata {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="12" cy="5" rx="9" ry="3" fill="%23666"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" stroke="%23666" stroke-width="1.5"/><rect x="8" y="9" width="8" height="1" fill="%23fff"/><rect x="8" y="12" width="6" height="1" fill="%23fff"/><rect x="8" y="15" width="7" height="1" fill="%23fff"/><circle cx="18" cy="15" r="3" fill="%2390a4ae"/><path d="M16.5 15l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 협업 아이콘 */
.icon-collaboration {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="7" r="4" fill="%23666"/><circle cx="16" cy="7" r="4" fill="%2390a4ae"/><path d="M8 14c-2.21 0-4 1.79-4 4v2h8v-2c0-2.21-1.79-4-4-4z" fill="%23666"/><path d="M16 14c-1.5 0-2.87.84-3.58 2h7.16c-.71-1.16-2.08-2-3.58-2z" fill="%2390a4ae"/><circle cx="18" cy="18" r="3" fill="%2342a5f5"/><path d="M17 18l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 차트/분석 아이콘 */
.icon-chart {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="14" width="4" height="7" rx="1" fill="%23666"/><rect x="10" y="9" width="4" height="12" rx="1" fill="%2390a4ae"/><rect x="17" y="4" width="4" height="17" rx="1" fill="%2342a5f5"/></svg>');
}

/* 모니터링 아이콘 */
.icon-monitor {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="4" width="20" height="12" rx="2" fill="%23666"/><path d="M8 21h8" stroke="%2390a4ae" stroke-width="2" stroke-linecap="round"/><path d="M12 17v4" stroke="%2390a4ae" stroke-width="2" stroke-linecap="round"/><circle cx="7" cy="10" r="1.5" fill="%2342a5f5"/><circle cx="12" cy="8" r="1.5" fill="%2364b5f6"/><circle cx="17" cy="12" r="1.5" fill="%2390caf9"/></svg>');
}

/* 네트워크 아이콘 */
.icon-network {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3" fill="%23666"/><circle cx="6" cy="6" r="2" fill="%2390a4ae"/><circle cx="18" cy="6" r="2" fill="%2390a4ae"/><circle cx="6" cy="18" r="2" fill="%2390a4ae"/><circle cx="18" cy="18" r="2" fill="%2390a4ae"/><path d="M9.5 10.5L8 8" stroke="%23666" stroke-width="1.5"/><path d="M14.5 10.5L16 8" stroke="%23666" stroke-width="1.5"/><path d="M9.5 13.5L8 16" stroke="%23666" stroke-width="1.5"/><path d="M14.5 13.5L16 16" stroke="%23666" stroke-width="1.5"/></svg>');
}

/* API 아이콘 */
.icon-api {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="6" width="20" height="12" rx="2" fill="%23666"/><circle cx="7" cy="12" r="2" fill="%23fff"/><circle cx="17" cy="12" r="2" fill="%23fff"/><path d="M9 12h6" stroke="%23fff" stroke-width="2" stroke-linecap="round"/><rect x="6" y="2" width="3" height="4" rx="1" fill="%2390a4ae"/><rect x="15" y="2" width="3" height="4" rx="1" fill="%2390a4ae"/></svg>');
}

/* ETL 아이콘 */
.icon-etl {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="4" width="4" height="6" rx="1" fill="%23666"/><rect x="18" y="4" width="4" height="6" rx="1" fill="%23666"/><circle cx="12" cy="7" r="2" fill="%2342a5f5"/><path d="M12 9l-1.5 1.5L12 12l1.5-1.5L12 9z" fill="%23fff"/><path d="M6 7h4m2 0h4" stroke="%2390a4ae" stroke-width="1.5" stroke-linecap="round"/><rect x="2" y="14" width="4" height="6" rx="1" fill="%2390a4ae"/><rect x="18" y="14" width="4" height="6" rx="1" fill="%2390a4ae"/><path d="M6 17h4m6 0h4" stroke="%2390a4ae" stroke-width="1.5" stroke-linecap="round"/><path d="M12 10v4" stroke="%2342a5f5" stroke-width="1.5" stroke-linecap="round"/><path d="M10.5 12.5l1.5 1.5 1.5-1.5" stroke="%2342a5f5" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>');
}

/* 배너 아이콘 */
.icon-banner {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4h16v12H4z" fill="%23666" stroke="%23666" stroke-width="1.5" stroke-linejoin="round"/><path d="M4 16l4-3 4 3v4l-4-3-4 3v-4z" fill="%2390a4ae"/><rect x="6" y="7" width="12" height="1.5" rx="0.75" fill="%23fff"/><rect x="6" y="10" width="8" height="1.5" rx="0.75" fill="%23fff"/><circle cx="18" cy="6" r="2" fill="%2342a5f5"/><path d="M17 6l0.5 0.5L19 5" stroke="%23fff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 팝업 아이콘 */
.icon-popup {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="16" height="12" rx="2" fill="%23666"/><rect x="5" y="3" width="16" height="12" rx="2" fill="%2390a4ae"/><circle cx="17" cy="7" r="1" fill="%23fff"/><circle cx="15" cy="7" r="1" fill="%23fff"/><circle cx="13" cy="7" r="1" fill="%23fff"/><rect x="7" y="10" width="10" height="1" fill="%23fff"/><rect x="7" y="12" width="7" height="1" fill="%23fff"/><circle cx="20" cy="17" r="3" fill="%2342a5f5"/><path d="M19 17l1 1 1.5-1.5" stroke="%23fff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* ====== 활성 상태 아이콘 (파란색) ====== */

/* 활성 상태 - 대시보드 */
.menu-item.active .icon-dashboard {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="2" fill="%231976d2" stroke="%231976d2" stroke-width="1"/><rect x="14" y="3" width="7" height="7" rx="2" fill="%231976d2" stroke="%231976d2" stroke-width="1"/><rect x="14" y="14" width="7" height="7" rx="2" fill="%231976d2" stroke="%231976d2" stroke-width="1"/><rect x="3" y="14" width="7" height="7" rx="2" fill="%231976d2" stroke="%231976d2" stroke-width="1"/></svg>');
}

/* 활성 상태 - 설정 */
.menu-item.active .icon-settings {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3" fill="%231976d2"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1 1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" fill="%231976d2"/></svg>');
}

/* 활성 상태 - 데이터베이스 */
.menu-item.active .icon-database {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="12" cy="5" rx="9" ry="3" fill="%231976d2"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" stroke="%231976d2" stroke-width="2"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" stroke="%231976d2" stroke-width="2"/></svg>');
}

/* 활성 상태 - 폴더 */
.menu-item.active .icon-folder {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" fill="%231976d2"/></svg>');
}

/* 활성 상태 - 파일 */
.menu-item.active .icon-file {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" fill="%231976d2"/><polyline points="14,2 14,8 20,8" stroke="%23fff" stroke-width="2"/><line x1="16" y1="13" x2="8" y2="13" stroke="%23fff" stroke-width="1.5"/><line x1="16" y1="17" x2="8" y2="17" stroke="%23fff" stroke-width="1.5"/></svg>');
}

/* 활성 상태 - 사용자 */
.menu-item.active .icon-users {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" stroke="%231976d2" stroke-width="2"/><circle cx="9" cy="7" r="4" fill="%231976d2"/><path d="M23 21v-2a4 4 0 0 0-3-3.87" stroke="%231976d2" stroke-width="2"/><path d="M16 3.13a4 4 0 0 1 0 7.75" stroke="%231976d2" stroke-width="2"/></svg>');
}

/* 활성 상태 - 플랫폼 */
.menu-item.active .icon-platform {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="8" width="18" height="8" rx="3" fill="%231976d2"/><rect x="7" y="4" width="10" height="4" rx="2" fill="%2364b5f6"/><circle cx="6" cy="12" r="1" fill="%23fff"/><circle cx="9" cy="12" r="1" fill="%23fff"/><circle cx="12" cy="12" r="1" fill="%23fff"/></svg>');
}

/* 활성 상태 - 메뉴 */
.menu-item.active .icon-menu {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="2" rx="1" fill="%231976d2"/><rect x="3" y="11" width="18" height="2" rx="1" fill="%231976d2"/><rect x="3" y="17" width="18" height="2" rx="1" fill="%231976d2"/><circle cx="20" cy="6" r="2" fill="%2364b5f6"/><circle cx="20" cy="12" r="2" fill="%2364b5f6"/><circle cx="20" cy="18" r="2" fill="%2364b5f6"/></svg>');
}

/* 활성 상태 - 보안 */
.menu-item.active .icon-security {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" fill="%231976d2"/><path d="M9 12l2 2 4-4" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 키 */
.menu-item.active .icon-key {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="16" r="6" fill="%231976d2"/><path d="M13.11 10.89l6.89-6.89v4h3v-4h-4l6.89-6.89" stroke="%2364b5f6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="8" cy="16" r="2" fill="%23fff"/></svg>');
}

/* 활성 상태 - CMS */
.menu-item.active .icon-cms {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="3" fill="%231976d2"/><rect x="6" y="6" width="12" height="2" rx="1" fill="%23fff"/><rect x="6" y="10" width="8" height="2" rx="1" fill="%23fff"/><rect x="6" y="14" width="10" height="2" rx="1" fill="%23fff"/><circle cx="18" cy="18" r="3" fill="%2364b5f6"/><path d="M17 18l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 활성 상태 - 메타데이터 */
.menu-item.active .icon-metadata {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="12" cy="5" rx="9" ry="3" fill="%231976d2"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" stroke="%231976d2" stroke-width="1.5"/><rect x="8" y="9" width="8" height="1" fill="%23fff"/><rect x="8" y="12" width="6" height="1" fill="%23fff"/><rect x="8" y="15" width="7" height="1" fill="%23fff"/><circle cx="18" cy="15" r="3" fill="%2364b5f6"/><path d="M16.5 15l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 활성 상태 - 협업 */
.menu-item.active .icon-collaboration {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="7" r="4" fill="%231976d2"/><circle cx="16" cy="7" r="4" fill="%2364b5f6"/><path d="M8 14c-2.21 0-4 1.79-4 4v2h8v-2c0-2.21-1.79-4-4-4z" fill="%231976d2"/><path d="M16 14c-1.5 0-2.87.84-3.58 2h7.16c-.71-1.16-2.08-2-3.58-2z" fill="%2364b5f6"/><circle cx="18" cy="18" r="3" fill="%2390caf9"/><path d="M17 18l1 1 2-2" stroke="%23fff" stroke-width="1" stroke-linecap="round"/></svg>');
}

/* 활성 상태 - 차트 */
.menu-item.active .icon-chart {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="14" width="4" height="7" rx="1" fill="%231976d2"/><rect x="10" y="9" width="4" height="12" rx="1" fill="%2364b5f6"/><rect x="17" y="4" width="4" height="17" rx="1" fill="%2390caf9"/></svg>');
}

/* 활성 상태 - 모니터링 */
.menu-item.active .icon-monitor {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="4" width="20" height="12" rx="2" fill="%231976d2"/><path d="M8 21h8" stroke="%2364b5f6" stroke-width="2" stroke-linecap="round"/><path d="M12 17v4" stroke="%2364b5f6" stroke-width="2" stroke-linecap="round"/><circle cx="7" cy="10" r="1.5" fill="%2390caf9"/><circle cx="12" cy="8" r="1.5" fill="%23bbdefb"/><circle cx="17" cy="12" r="1.5" fill="%23e3f2fd"/></svg>');
}

/* 활성 상태 - 네트워크 */
.menu-item.active .icon-network {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3" fill="%231976d2"/><circle cx="6" cy="6" r="2" fill="%2364b5f6"/><circle cx="18" cy="6" r="2" fill="%2364b5f6"/><circle cx="6" cy="18" r="2" fill="%2364b5f6"/><circle cx="18" cy="18" r="2" fill="%2364b5f6"/><path d="M9.5 10.5L8 8" stroke="%231976d2" stroke-width="1.5"/><path d="M14.5 10.5L16 8" stroke="%231976d2" stroke-width="1.5"/><path d="M9.5 13.5L8 16" stroke="%231976d2" stroke-width="1.5"/><path d="M14.5 13.5L16 16" stroke="%231976d2" stroke-width="1.5"/></svg>');
}

/* 활성 상태 - API */
.menu-item.active .icon-api {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="6" width="20" height="12" rx="2" fill="%231976d2"/><circle cx="7" cy="12" r="2" fill="%23fff"/><circle cx="17" cy="12" r="2" fill="%23fff"/><path d="M9 12h6" stroke="%23fff" stroke-width="2" stroke-linecap="round"/><rect x="6" y="2" width="3" height="4" rx="1" fill="%2364b5f6"/><rect x="15" y="2" width="3" height="4" rx="1" fill="%2364b5f6"/></svg>');
}

/* 활성 상태 - 홈 */
.menu-item.active .icon-home {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m0-11l2 2m-2-2v9a1 1 0 001 1m0-10a1 1 0 011-1h2a1 1 0 011 1m0 0v10a1 1 0 001 1h3a1 1 0 001-1V10m0 0l2 2m-2-2l7-7" stroke="%231976d2" stroke-width="2"/></svg>');
}

/* 활성 상태 - 그리드 */
.menu-item.active .icon-grid {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/><rect x="14" y="3" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/><rect x="14" y="14" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/><rect x="3" y="14" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/></svg>');
}

/* 활성 상태 - 목록 */
.menu-item.active .icon-list {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="8" y="6" width="13" height="2" rx="1" fill="%231976d2"/><rect x="8" y="11" width="13" height="2" rx="1" fill="%231976d2"/><rect x="8" y="16" width="13" height="2" rx="1" fill="%231976d2"/><circle cx="4.5" cy="7" r="1.5" fill="%231976d2"/><circle cx="4.5" cy="12" r="1.5" fill="%231976d2"/><circle cx="4.5" cy="17" r="1.5" fill="%231976d2"/></svg>');
}

/* 활성 상태 - 링크 */
.menu-item.active .icon-link {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 레이어 */
.menu-item.active .icon-layers {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polygon points="12,2 22,8.5 12,15 2,8.5" fill="%231976d2" opacity="0.8"/><polyline points="2,12.5 12,19 22,12.5" stroke="%231976d2" stroke-width="2"/><polyline points="2,16.5 12,23 22,16.5" stroke="%231976d2" stroke-width="2"/></svg>');
}

/* 활성 상태 - 통계보고서 */
.menu-item.active .icon-report {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="2" width="16" height="20" rx="2" fill="%231976d2"/><path d="M9 9h6M9 13h6M9 17h4" stroke="%23fff" stroke-width="2" stroke-linecap="round"/><rect x="7" y="5" width="10" height="2" rx="1" fill="%23fff"/><rect x="16" y="9" width="2" height="2" rx="1" fill="%23fff"/><rect x="16" y="13" width="2" height="4" rx="1" fill="%23fff"/></svg>');
}

/* 활성 상태 - 분석 */
.menu-item.active .icon-analytics {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 3v18h18" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 14l4-4 4 4 6-6" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="7" cy="14" r="2" fill="%231976d2"/><circle cx="11" cy="10" r="2" fill="%231976d2"/><circle cx="15" cy="14" r="2" fill="%231976d2"/><circle cx="21" cy="8" r="2" fill="%231976d2"/></svg>');
}

/* 활성 상태 - 트렌드 */
.menu-item.active .icon-trending {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polyline points="22,7 13.5,15.5 8.5,10.5 2,17" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><polyline points="16,7 22,7 22,13" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 파이차트 */
.menu-item.active .icon-pie-chart {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.21 15.89A10 10 0 1 1 8 2.83" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12A10 10 0 0 0 12 2v10z" fill="%231976d2"/></svg>');
}

/* 활성 상태 - ETL */
.menu-item.active .icon-etl {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="8" width="6" height="8" rx="2" fill="%231976d2" opacity="0.8"/><rect x="16" y="8" width="6" height="8" rx="2" fill="%231976d2" opacity="0.8"/><path d="M8 12h8" stroke="%231976d2" stroke-width="2" stroke-linecap="round"/><path d="M12 8l4 4-4 4" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><rect x="9" y="5" width="6" height="2" rx="1" fill="%231976d2"/><rect x="9" y="17" width="6" height="2" rx="1" fill="%231976d2"/></svg>');
}

/* 활성 상태 - 서버 */
.menu-item.active .icon-server {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="3" width="20" height="6" rx="2" fill="%231976d2"/><rect x="2" y="11" width="20" height="6" rx="2" fill="%231976d2"/><rect x="2" y="19" width="20" height="2" rx="1" fill="%231976d2"/><circle cx="6" cy="6" r="1" fill="%23fff"/><circle cx="9" cy="6" r="1" fill="%23fff"/><circle cx="6" cy="14" r="1" fill="%23fff"/><circle cx="9" cy="14" r="1" fill="%23fff"/></svg>');
}

/* 활성 상태 - 코드 */
.menu-item.active .icon-code {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polyline points="16,18 22,12 16,6" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><polyline points="8,6 2,12 8,18" stroke="%231976d2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 워크플로 */
.menu-item.active .icon-workflow {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="8" width="6" height="3" rx="1" fill="%231976d2"/><rect x="15" y="8" width="6" height="3" rx="1" fill="%231976d2"/><rect x="9" y="2" width="6" height="3" rx="1" fill="%231976d2"/><rect x="9" y="19" width="6" height="3" rx="1" fill="%231976d2"/><path d="M12 5v3M12 11v8" stroke="%231976d2" stroke-width="2" stroke-linecap="round"/><path d="M9 9.5h6M9 10.5h6" stroke="%231976d2" stroke-width="1"/></svg>');
}

/* 활성 상태 - 팝업 관리 */
.menu-item.active .icon-popup {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="6" width="18" height="12" rx="2" stroke="%231976d2" stroke-width="2"/><rect x="6" y="3" width="12" height="12" rx="2" fill="%231976d2" opacity="0.8"/><path d="M13 9l2 2-2 2M11 13l-2-2 2-2" stroke="%23fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 배너관리 */
.menu-item.active .icon-banner {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="6" width="20" height="12" rx="3" fill="%231976d2"/><rect x="5" y="9" width="14" height="2" rx="1" fill="%23fff"/><rect x="5" y="13" width="10" height="2" rx="1" fill="%23fff"/><circle cx="18" cy="14" r="2" fill="%23fff"/></svg>');
}

/* 활성 상태 - 이미지 */
.menu-item.active .icon-image {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" fill="%231976d2"/><circle cx="8.5" cy="8.5" r="1.5" fill="%23fff"/><polyline points="21,15 16,10 5,21" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* 활성 상태 - 비디오 */
.menu-item.active .icon-video {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><polygon points="23,7 16,12 23,17" fill="%231976d2"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2" fill="%231976d2" opacity="0.8"/><polygon points="6,9 6,15 11,12" fill="%23fff"/></svg>');
}

/* 활성 상태 - 갤러리 */
.menu-item.active .icon-gallery {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/><rect x="14" y="3" width="7" height="7" rx="1" fill="%2364b5f6" opacity="0.6"/><rect x="14" y="14" width="7" height="7" rx="1" fill="%231976d2" opacity="0.8"/><rect x="3" y="14" width="7" height="7" rx="1" fill="%2364b5f6" opacity="0.6"/><circle cx="6" cy="6" r="1" fill="%23fff"/><circle cx="17" cy="6" r="1" fill="%23fff"/><circle cx="17" cy="17" r="1" fill="%23fff"/><circle cx="6" cy="17" r="1" fill="%23fff"/></svg>');
}

/* 활성 상태 - 레이아웃 */
.menu-item.active .icon-layout {
  background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" fill="%231976d2"/><line x1="9" y1="9" x2="21" y2="9" stroke="%23fff" stroke-width="2"/><line x1="9" y1="21" x2="9" y2="9" stroke="%23fff" stroke-width="2"/></svg>');
}

/* ====== 호버 상태 아이콘 ====== */
.menu-link:hover .menu-icon,
.submenu-link:hover .menu-icon {
  filter: brightness(1.2) saturate(1.3);
  transform: scale(1.05);
  transition: all 0.2s ease;
}

/* ====== 아이콘 피커 전용 스타일 ====== */

/* 아이콘 피커 내부의 아이콘들 */
.icon-picker-container .menu-icon {
  width: 24px;
  height: 24px;
  margin-right: 0;
  filter: none;
  transition: all 0.2s ease;
}

/* 선택된 아이콘 미리보기 영역 */
.selected-icon-preview .menu-icon,
.icon-preview .menu-icon {
  margin-right: 0;
  flex-shrink: 0;
}

/* 아이콘 호버 및 선택 효과 */
.icon-item:hover .menu-icon,
.icon-item.selected .menu-icon {
  transform: scale(1.1);
}

/* ====== 반응형 아이콘 크기 ====== */
@media (max-width: 768px) {
  .menu-icon {
    width: 16px;
    height: 16px;
    margin-right: 6px;
  }
  
  .icon-picker-container .menu-icon {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  .menu-icon {
    width: 14px;
    height: 14px;
    margin-right: 4px;
  }
  
  .icon-picker-container .menu-icon {
    width: 18px;
    height: 18px;
  }
}

/* ====== 아이콘 선택 기능 스타일 ====== */
.icon-input-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon-input {
  flex: 1;
  padding-right: 60px;
  cursor: pointer;
}

.icon-preview {
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: #2196f3;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.icon-preview .menu-icon {
  width: 18px;
  height: 18px;
  margin-right: 0;
}

.icon-preview svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.icon-select-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: #f8f9fa;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  z-index: 3;
}

.icon-select-btn:hover {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #2196f3;
}

.icon-select-btn svg {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}

/* ====== 아이콘 피커 모달 스타일 ====== */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  transition: all 0.3s ease;
}

.modal-overlay.show {
  display: flex;
  opacity: 1;
}

/* 아이콘 피커 모달 컨테이너 */
.icon-picker-container {
  max-width: 1200px;
  width: 95%;
  max-height: 90vh;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 20px;
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  overflow: hidden;
  transform: scale(0.7) translateY(50px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.modal-overlay.show .icon-picker-container {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.icon-search-section {
  margin-bottom: 20px;
}

.icon-search-section .search-container {
  position: relative;
  max-width: 300px;
}

.icon-search-section .search-input {
  width: 100%;
  padding: 10px 16px 10px 40px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  font-size: 14px;
  background: #f8f9fa;
  transition: all 0.2s ease;
}

.icon-search-section .search-input:focus {
  outline: none;
  border-color: #2196f3;
  background: white;
  box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
}

.icon-search-section .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  pointer-events: none;
}

.icon-search-section .search-icon svg {
  width: 16px;
  height: 16px;
}

.icon-categories {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.category-btn {
  padding: 8px 16px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  background: white;
  color: #666;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.category-btn:hover {
  border-color: #2196f3;
  color: #2196f3;
}

.category-btn.active {
  background: #2196f3;
  border-color: #2196f3;
  color: white;
}

.icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(85px, 1fr));
  gap: 14px;
  max-height: 450px;
  overflow-y: auto;
  padding: 20px 16px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #fafafa;
}

.icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  border: 2px solid transparent;
  border-radius: 12px;
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  min-height: 100px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.icon-item:hover {
  border-color: #e3f2fd;
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.15);
}

.icon-item.selected {
  border-color: #2196f3;
  background: #e3f2fd;
  color: #1976d2;
  box-shadow: 0 6px 20px rgba(33, 150, 243, 0.25);
}

.icon-item-icon {
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  color: #666;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-item-icon .menu-icon {
  width: 24px;
  height: 24px;
  margin-right: 0;
  flex-shrink: 0;
}

.icon-item:hover .icon-item-icon,
.icon-item.selected .icon-item-icon {
  color: #2196f3;
}

.icon-item:hover .icon-item-icon .menu-icon,
.icon-item.selected .icon-item-icon .menu-icon {
  filter: brightness(0) saturate(100%) invert(41%) sepia(99%) saturate(1015%) hue-rotate(201deg) brightness(96%) contrast(98%);
}

.icon-item-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 2;
}

.icon-item-name {
  font-size: 10px;
  font-weight: 500;
  color: #666;
  line-height: 1.2;
  margin-top: 4px;
  word-break: keep-all;
  transition: color 0.2s ease;
}

.icon-item:hover .icon-item-name,
.icon-item.selected .icon-item-name {
  color: #1976d2;
}

.selected-icon-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.selected-icon-preview {
  width: 32px;
  height: 32px;
  padding: 6px;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2196f3;
}

.selected-icon-preview .menu-icon {
  width: 20px;
  height: 20px;
  margin-right: 0;
}

.selected-icon-preview svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.selected-icon-name {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

/* 아이콘 그리드 스크롤바 */
.icon-grid::-webkit-scrollbar {
  width: 8px;
}

.icon-grid::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.icon-grid::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

.icon-grid::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 빈 상태 표시 */
.icon-grid-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px 20px;
  color: #999;
}

.icon-grid-empty svg {
  width: 48px;
  height: 48px;
  opacity: 0.5;
  margin-bottom: 12px;
}

/* 아이콘 피커 반응형 */
@media (max-width: 768px) {
  .icon-picker-container {
    width: 95%;
    max-width: none;
  }
  
  .icon-grid {
    grid-template-columns: repeat(auto-fill, minmax(75px, 1fr));
    gap: 12px;
    max-height: 300px;
    padding: 16px 12px;
  }
  
  .icon-item {
    padding: 14px 8px;
    min-height: 80px;
  }
  
  .icon-item-icon {
    width: 22px;
    height: 22px;
    margin-bottom: 8px;
  }
  
  .icon-item-icon .menu-icon {
    width: 20px;
    height: 20px;
  }
  
  .icon-item-name {
    font-size: 10px;
  }
  
  .icon-categories {
    gap: 6px;
  }
  
  .category-btn {
    padding: 6px 12px;
    font-size: 11px;
  }
  
  .modal-footer {
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .icon-picker-container .menu-icon {
    width: 18px;
    height: 18px;
  }
} 