body, .daterangepicker, .fullcalendar {
    font-family: "Noto Sans KR",Inter,Helvetica,sans-serif;
    /* font-weight: 500 !important; */
}

/* inputbox, textarea placeholder 나타나고, 클릭시 사라지게하는 css*/
input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder { /* WebKit browsers */
  color:transparent;
}

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color:transparent;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder { /* Mozilla Firefox 19+ */
  color:transparent;
}

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder { /* Internet Explorer 10+ */
  color:transparent;
}

/* input[type="date"]::-webkit-clear-button, input[type="date"]::-webkit-inner-spin-button { 
    display: none; 
}  */
code, kbd, pre, samp {
  font-family: Inter,Helvetica,"Noto Sans KR",sans-serif;
}

/* textarea 입력값에 따라 높이 조정을 위한 css */
.textarea-auto-height{
  resize: none;
  overflow: hidden;
  /* height: 37.3px; */
}

/* right-sidebar width 조정 */
.sidebar{
    --sidebar-width: 25rem;
}

/* top left brand log image height 조정 */
/* .navbar-brand img{
    height:40px !important;
} */

/* 1depth left 하위 left-padding 조정 */
.nav-group-sub .nav-link {
  padding-left: calc(var(--nav-link-padding-x) + var(--icon-font-size));
}

/* 3depth left 하위 left-padding 조정 */
.nav-group-sub .nav-group-sub .nav-link {
  padding-left: calc(var(--nav-link-padding-x)* 2 + var(--icon-font-size));
}

/* left width 조정 */
.navbar {
    --navbar-brand-width: 13.75rem;
}

/* badge font 굵기 조정*/
.badge {
  --badge-font-weight: none
}

/* h tag font-weight 조정 */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
}

/* [추가] validation text top padding 추가 */
.validation-invalid-label,.validation-valid-label {
  --icon-font-size: 1rem !important;
  padding-top: 0.15rem;
}

/* [추가] validation div 영역 */
.ev-validation-invalid-div {
  --icon-font-size: 1rem !important;
  padding-top: 0.15rem;
  margin-top: .25rem;
  margin-bottom: .25rem;
  display: block;
  color: var(--danger);
  position: relative;
  padding-left: calc(var(--spacer-2) + var(--icon-font-size))
}

/* [추가] validation div 영역 : befor */
.ev-validation-invalid-div:before {
  content: "\f62d";
  font-family: var(--icon-font-family);
  font-size: var(--icon-font-size);
  position: absolute;
  top: calc((var(--body-line-height-computed) - var(--icon-font-size)) * .5);
  left: 0;
  display: inline-block;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

/* [신규] border dashed 추가*/
.border-bottom-dashed{
  border-bottom: 1px dashed var(--border-color);
}
.border-top-dashed{
  border-top: 1px dashed var(--border-color);
}

/*[신규] 자간조정 -2px */
.ls-minus-2px{
  letter-spacing: -2px;
}

/*[신규] 자간조정 -1px */
.ls-minus-1px{
  letter-spacing: -1px;
}

/*[신규] 페이지 title에 button이 없을 경우 */
.page-title-height {
  height:57px;
  vertical-align: middle;
}

/*[신규] width 115px */
.w-115px {
  width: 115px;
}

.w-120px {
  width: 120px;
}

/*[신규] 좌우 뒤집기 */
.transform-x{
  transform: scaleX(-1);
}

/*[신규] 상하 뒤집기 */
.transform-y{
  transform: scaleY(-1);
}

.list-btn-USE {
  --bg-opacity: 1;
  background-color: rgba(var(--primary-rgb), var(--bg-opacity)) !important;
  --text-opacity: 1;
  color: rgba(var(--white-rgb), var(--text-opacity)) !important;
}

.list-btn-UNUSED {
  --bg-opacity: 0.5;
  background-color: rgba(var(--danger-rgb), var(--bg-opacity)) !important;
  --text-opacity: 1;
  color: rgba(var(--white-rgb), var(--text-opacity)) !important;
}

/* [신규] modal size (icon용) */
@media (min-width: 992px) {
  .modal-w-893 {
      --modal-width: 893px !important;
  }
}

/*-------------------------------------------------------------------------------------
plupload upload 관련
-------------------------------------------------------------------------------------*/
/*plupload upload start button 삭제 */
.plupload_button.plupload_start{ display:none;}

/* plupload 아이콘 font size 조정 default 2.25rem*/
.plupload_filelist li.plupload_droptext:before, .plupload_filelist:empty:before {
    font-size: 2.0rem;
}
/* plupload 아이콘과 text사이 높이 default 1.75rem */
.plupload_filelist li.plupload_droptext:after, .plupload_filelist:empty:after {
    margin-top: 1.3rem;
}
.plupload_wrapper {
  --plu-max-height: 100px !important;
  --plu-border-width: 0.5px;
}
.plupload_filelist_header, .plupload_filelist_footer {
  padding: 0.5rem;
}

.plupload_filelist li {
  padding: 0.3rem var(--spacer);
}

.plupload_button {
  --btn-padding-x: 0.5rem;
  --btn-padding-y: 0.3rem;
}
/*-------------------------------------------------------------------------------------
date range picer 관련
-------------------------------------------------------------------------------------*/
.daterangepicker .drp-buttons {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.daterangepicker td, .daterangepicker th {
  padding: 0.25rem;
}

.editor-result {
  display: none;
}

/*-------------------------------------------------------------------------------------
data table 관련
-------------------------------------------------------------------------------------*/
/* data table 검색영역, footer 영역 padding 조정 */
.datatable-footer, .datatable-header {
  padding: 1rem !important;
}

/* data table 검색 필터 영역 margin 조정 */
.dataTables_filter, .dataTables_length, .dataTables_info, .dataTables_paginate {
  margin-bottom: 0px !important;
}

/* pagenation margin 조정 */
.dataTables_paginate{
  margin: 0rem;
}

.table th { 
  font-weight: 500 !important;
}

.table td { 
  font-weight: 400 !important;
}

/* .table {
  --table-cell-padding-y: 0.5rem !important;
  --table-cell-padding-x: 0.75rem !important;
}

.table th { 
    font-weight: 500 !important;
} */

.datatable-thumbnail-width {
  max-width: 100px;
}

/* data 없을경우 height */
.table-no-data-height-100{
  height: 100px;
  text-align: center;
}

/* datatable row가 0일 경우 height 높이 지정 */
.dataTables_empty{
  height: 20rem;
  vertical-align: middle;
}

.dataTables_wrapper .datatable-scroll-wrap{
  min-height: 20rem;
}

.min-height-16 {
  min-height: 16rem !important;
}

/*-------------------------------------------------------------------------------------
right form 관련
-------------------------------------------------------------------------------------*/
/* 내용 입력폼 */
.modal-end-1120 {
  max-width: 1120px !important; 
}

.offcanvas.offcanvas-end-1071 {
  width: 1071px !important; 
}

/* 입력폼 */
.offcanvas.offcanvas-end-500 {
  width: 500px !important; 
}

.file-preview-pdf{
  height: 100% !important;
}

/*-------------------------------------------------------------------------------------
status 관련
-------------------------------------------------------------------------------------*/
.USE, .VALID, .ACTIVATED-Y {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 1;
  background-color: rgba(var(--primary-rgb), var(--bg-opacity)) !important;
}

.UNUSED, .UNVALID, .ACTIVATED-N {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 0.5;
  background-color: rgba(var(--secondary-rgb), var(--bg-opacity)) !important;
}

.DRAFT {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 0.7;
  background-color: rgba(var(--primary-rgb), var(--bg-opacity)) !important;
}

.REVIEW {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 0.7;
  background-color: rgba(var(--secondary-rgb), var(--bg-opacity)) !important;
}

.SIGN {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 0.7;
  background-color: rgba(var(--success-rgb), var(--bg-opacity)) !important;
}

.FINISHED {
  --badge-font-weight: none;
  min-width: calc(var(--badge-padding-y)* 2 + var(--badge-font-size));
  --bg-opacity: 0.7;
  background-color: rgba(var(--danger-rgb), var(--bg-opacity)) !important;
}


/* [신규] 상태구분별 bg 색상지정 */
.btn-badge-USE, .btn-badge-DONE { /*사용중*/
  width:100%;
  background-color: #2d89ef;
  color: #ffffff;
}

.btn-badge-WAITING { /* 사용예정 */
  width:100%;
  background-color: #25b372;
  color: #ffffff;
}

.btn-badge-NOTHING { /* 미승인 */
  width:100%;
  background-color: #000000;
  color: #ffffff;
}

.btn-badge-EXPIRY, .btn-badge-CANCEL, .btn-badge-CANCELED { /* 기간만료, 청약철회 */
  width:100%;
  background-color: #F44336;
  color: #ffffff;
}

.btn-badge-PARTIAL_CANCELED { /* 기간만료 */
  width:100%;
  background-color: #FF7043;
  color: #ffffff;
}

/* [신규] 상태구분별 border 색상지정 */
.btn-badge-border-USE { /*사용중*/
  width:100%;
  border: 1px solid #2d89ef;
  border-radius: 0.2rem;
  color: #000000;
}

.btn-badge-border-USE:hover { /*사용중:hover*/
  width:100%;
  background-color: #2d89ef;
  color: #ffffff;
}

.btn-badge-border-WAITING { /* 사용예정 */
  width:100%;
  border: 1px solid #25b372;
  border-radius: 0.2rem;
  color: #000000;
}

.btn-badge-border-WAITING:hover { /* 사용예정:hover */
  width:100%;
  background-color: #25b372;
  color: #ffffff;
}

.btn-badge-border-NOTHING { /* 미승인 */
  width:100%;
  border: 1px solid #000000;
  border-radius: 0.2rem;
  color: #000000;
}

.btn-badge-border-NOTHING:hover { /* 미승인:hover */
  width:100%;
  background-color: #000000;
  color: #ffffff;
}

.btn-badge-border-EXPIRY { /* 기간만료 */
  width:100%;
  border: 1px solid #F44336;
  border-radius: 0.2rem;
  color: #000000;
}

.btn-badge-border-EXPIRY:hover { /* 기간만료:hover */
  width:100%;
  background-color: #F44336;
  color: #ffffff;
}

.btn-badge-border-SUM { /* 전체 */
  width:100%;
  border: 1px solid #7a7a7a;
  border-radius: 0.2rem;
  color: #000000;
}

.btn-badge-border-SUM:hover { /* 전체:hover */
  width:100%;
  background-color: #7a7a7a;
  color:#ffffff
}

.btn-badge-border-TRIAL {
  /* TRIAL */
  width: 100%;
  border: 1px solid #00aba9;
  border-radius: 0.2rem;
  color: #000000;
}
/*-------------------------------------------------------------------------------------
amChart 관련
-------------------------------------------------------------------------------------*/
.full-chart-div{
  width: 100%;
  height: 700px;
}

.half-chart-div{
  width: 100%;
  height: 500px;
}

.tree-drag{
  max-height: 970px;
  overflow-y: auto;
  overflow-x: hidden;
}

.letter-icon {
  font-size: 0.7rem;
}

.accordion-body>figure {
  display: contents;
}

.custom-col-min-height {
  min-height:100px !important;
}

.custom-col-min-height-150 {
  min-height:150px !important;
}

.custom-col-min-height-170 {
  min-height:170px !important;
}

.custom-col-min-height-200 {
  min-height:200px !important;
}

.custom-col-min-height-232 {
  min-height:232px !important;
}

.custom-col-min-height-250 {
  min-height:250px !important;
}

.custom-col-min-height-300 {
  min-height:300px !important;
}

.custom-col-min-height-298 {
  min-height:298px !important;
}

.custom-col-min-height-400 {
  min-height:400px !important;
}

.custom-min-width-130 {
  min-width:130px !important;
}
/* .select2-search--inline,
.select2-search__field:placeholder-shown {
    width: 10% !important;
} */

.select2-search__field{
  width:unset !important;
}

/* top 로고영역 width 조정 */
.navbar-expand-lg .navbar-brand {
  width:unset;
}

/* right history text width 조정 */
@media (min-width: 576px) {
  .media-chat-item {
    width: 95%;
  }
}
/* right history text height 조정 */
.media-chat-scrollable {
  /* max-height: 40rem; */
  max-height: 100%;
}

/* fullcalendar 날짜에 걸린 링크 무효화 */
.fc-content-skeleton .fc-day-number{
  pointer-events: none;
  cursor: default;
}

.fullcalendar 
/* fullcalendar 이전, 다음 버튼 margin 조정 */
.fullcalendar > .fc-header-toolbar > .fc-center > .fc-prev-button{
  margin-right: 1rem;
} 
/* .fullcalendar > .fc-header-toolbar > .fc-center > .fc-next-button{
  margin-left: 1rem;
}  */
.fc-toolbar h2 {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0;
  padding-top: .3rem;
}

.fc-button .fc-icon {
  vertical-align: middle;
  font-size: 1em !important;
}

.fc-day-top{
  padding: .3125rem !important;
}

.fancytree-ico-c .fancytree-icon:after, .fancytree-ico-e .fancytree-icon:after {
  content: "\f414";
}

figure > table{
  width:100%;
  border:1px solid #e0e0e0;
}

figure > table > tbody > tr > td{
  padding: 1rem;
}

.fs-lg-1-2rem{
  font-size: 1.2rem;
}

.modal-body > div > .view-contents > figure > img {
  max-width: -webkit-fill-available;
}

/* jquery ui autocomplet 관련 */
/* jquery ui 에서 select 되었을 경우 bg, font 색상 적용 */
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
  background: #007fff;
  color: #ffffff;
  padding-left:0.2rem;
}

.ui-menu {
  list-style: none;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.15);
  z-index: 1000;
  border-radius: .25rem;
  box-shadow: 0 .25rem .5rem rgba(0,0,0,.1)
}

.ui-autocomplete {
  position: absolute;
  display: none;
  padding: .5rem;
  z-index: 1100;
  max-height: 250px;
  overflow: auto;
  font-size: .8125rem;
  line-height: 2.2;
  text-transform: uppercase;
}

.ui-autocomplete-processing:after {
  content: "";
  font-family: icomoon;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: .875rem;
  width: 1rem;
  text-align: right;
  margin-top: -.5rem;
  font-size: .8125rem;
  line-height: 2;
  color: inherit;
  -webkit-animation: rotation 1s linear infinite;
  animation: rotation 1s linear infinite;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.ui-autocomplete > .ui-menu-item > .ui-menu-item-wrapper {
  padding-left: 0.5rem
}
/* jquery ui autocomplet 관련 */

#file_view > .nav > .nav-item > .nav-link, #file_modify > .nav > .nav-item > .nav-link {
  font-weight: 300;
}

.z-index-5{
  z-index: 5;
}

.form-floating > textarea {
  line-height:unset !important;
}

.modal-content > .page-content {
  background-color: var(--body-bg);
}

.border-card-body-bottom-line {
  --border-opacity: 1;
  border-color: #e8e8e8 !important;
}

.btn-close-kor {
  --btn-close-width: unset;
  opacity: unset;
  border: 1px solid #D1D5DB;
  background: unset;
}

@keyframes spinner {
  to {transform: rotate(360deg);}
}
 
.spinner:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #333;
  animation: spinner .6s linear infinite;
}

/*[신규] iframe css */
.frame-full {
  /* width:100%;
  border:1px solid #ddd;
  height:890px; */
  overflow: hidden;
}

.tree-drag > .ui-fancytree > .fancytree-lastsib > ul > li > ul > li > .fancytree-node > .fancytree-title{
  font-weight: 400 !important;
}

.template-frame > .table-sm {
  --table-cell-padding-y: 0.56rem;
}

.ui-helper-hidden {
  display: none; }

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; 
}

.comma-type{
  text-align: right;
  padding-right: 30px !important;
}

/*****************************************
ckeditor 관련
*****************************************/
.ck-body-wrapper{ z-index: 1300 !important;}

/* ckeditor powered by 제거 */
.ck-powered-by-balloon {
	visibility: hidden;
}

.ck ck-form__row ck-image-insert-form__action-row {
	margin-top: unset !important;	
}

.ck.ck-editor__editable {
	position: relative;
	min-height: var(--ck-sample-editor-min-height);
}

body .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label {
    transform: translate(var(--ck-spacing-medium), -6px) scale(.75) !important;
	background-color: white !important;
}

/* toolbar margin 조정 */
.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break), .ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown {
    margin-bottom: var(--ck-spacing-tiny) !important;
    margin-top: var(--ck-spacing-tiny) !important;
}

.ck.ck-editor__editable_inline {
	--ck-spacing-standard: 0.75rem;
}

.ck.ck-button, a.ck.ck-button {
    --ck-spacing-tiny: 0.35rem !important;
	padding: 0.1rem !important;
}

body .ck-content .table table td, body .ck-content .table table th {
    padding: 0.35rem 0.55rem;
}

/* editor button padding 조정 */
.ck-rounded-corners .ck.ck-button {
	padding: 0px !important;
}

.ck-editor__editable p {margin: 0}

/*특수문자 선택 select layer width 조정 */
.ck.ck-character-grid {
    width: 250px;
}

body .ck.ck-dropdown .ck-dropdown__panel .ck-list {
    padding: .625rem !important;
}
.ck.ck-button.ck-source-editing-button{
	margin-left: 0.5rem !important;
}

.ck-source-editing-area{
	min-height: var(--ck-sample-editor-min-height) !important;
}

/* .ck.ck-balloon-panel {
	z-index: 2000 !important;
} */
/* --------- EDITOR STYLES  ---------------------------------------------------------------------------------------- */

/* Because of sidebar `position: relative`, Edge is overriding the outline of a focused editor. */


/* .editor-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	position: relative;
	width: 100%;
	justify-content: center;
} */

/* 이미지 업로드 select layer padding 조정 */
/* .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se {
	padding: 0.5rem; 
} */

/*특수문자 선택 select layer width 조정 */
.ck.ck-character-grid {
    width: 250px;
}

/* toolbar margin 조정 */
.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break), .ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown {
    margin-bottom: var(--ck-spacing-tiny) !important;
    margin-top: var(--ck-spacing-tiny) !important;
}

/* 링크등 layer popup input text padding 조정 */
body .ck.ck-input-text {
/* padding-top: 1px; */
	padding: 8px 5px 0px 5px;
	--ck-spacing-extra-tiny: unset !important;
}

/*특수문자 선택 select layer padding 조정 */
/* body .ck.ck-dropdown .ck-dropdown__panel .ck-list {
padding: 0.625rem !important;
}

/* 입력창 border-radius top 조정 */
.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners {
	border-radius: var(--border-radius-sm) !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	}

/* 입력창 border-radius bottom 조정 */
.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable, .ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners {
	border-radius: var(--border-radius-sm) !important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

/* 팝업 padding 조정 */
/* .ck.ck-image-insert-form{
padding: var(--ck-spacing-tiny) var(--ck-spacing-standard) !important;
} */
  

/* select2 css 조정*/
.select2-results__group {
	margin-bottom: 0;
}

/* dashboard **/
.dashboard-notice-link-tr, .dashboard-contract-link-tr, .dashboard-advisory-link-tr{
  cursor:pointer
}

.view-contents{
  display: inline-block;
}

.view-contents img {
  width: 100%;
}

.dropdown-item {
  display: block !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 300px;
}

/*
* 2025.10.22 추가
* 부서 찾기 모달창 css
*/
/* ── 레이어/틀 ───────────────────────────────────── */
#deptPickerModal[hidden]{display:none}
#deptPickerModal{position:fixed; inset:0; z-index:2000; font-size:14px;}
#deptPickerModal .hm-overlay{position:absolute; inset:0; background:rgba(15,23,42,.35); backdrop-filter:saturate(120%) blur(2px);}
#deptPickerModal .hm-card{position:relative; z-index:2001; margin:5vh auto; max-width:960px; background:#fff; color:#111; border-radius:12px; overflow:hidden;}
.hm-elev{box-shadow:0 16px 48px rgba(0,0,0,.2);}

/* ── 헤더/풋터/바디 ─────────────────────────────── */
.hm-head,.hm-foot{padding:12px 16px; background:#fff;}
.hm-head{border-bottom:1px solid #e9ecef;}
.hm-foot{border-top:1px solid #e9ecef;}
.hm-title{font-size:16px; font-weight:700;}
.hm-count-badge{display:inline-block; min-width:20px; padding:2px 6px; border-radius:999px; font-size:12px; background:#e7f1ff; color:#0b5ed7; text-align:center;}
.hm-body{padding:12px 16px; background:#fff;}
.hm-toolbar{gap:.5rem; margin-bottom:10px; flex-wrap:wrap;}
.hm-soft{color:#6b7280;}
.hm-btn{--bs-btn-padding-y:.15rem; --bs-btn-padding-x:.5rem; --bs-btn-font-size:.75rem;}
.hm-search .input-group-text{background:#fff}

/* ── 그리드/패널 ────────────────────────────────── */
.hm-grid{min-height:420px}
.hm-pane{height:100%; border:1px solid #e9ecef; border-radius:10px; overflow:hidden; background:#fff;}
.hm-pane-title{padding:8px 12px; border-bottom:1px solid #e9ecef; font-weight:600; background:#f8fafc;}

/* ── 트리 영역 ──────────────────────────────────── */
.hm-tree{padding:10px 12px; max-height:350px; overflow:auto;}
.hm-tree, .hm-tree ul{list-style:none; margin:0; padding-left:14px;}
.hm-tree li{margin:4px 0; line-height:1.3;}
.hm-tree label{display:inline-flex; align-items:center; gap:6px; padding:2px 6px; border-radius:6px; cursor:pointer;}
.hm-tree label:hover{background:#f1f5f9;}
.hm-tree label.hit{background:#fffbeb; outline:1px dashed #f59e0b;}

/* ── 선택 목록 ─────────────────────────────────── */
.hm-picked{padding:10px 12px; max-height:350px; overflow:auto;}
.hm-picked li{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:6px; background:#fafafa;}
.hm-picked li .hm-tag{font-weight:600;}
.hm-picked li .hm-sub{color:#6b7280; font-size:12px;}
.hm-picked li .hm-remove{cursor:pointer; color:#9ca3af;}
.hm-picked li .hm-remove:hover{color:#ef4444}
.department-select-data .nav-link:hover { filter: brightness(0.95); }
.department-select-data .user-remove-btn { cursor: pointer; }

/* ── 반응형 ─────────────────────────────────────── */
@media (max-width: 992px){
  #deptPickerModal .hm-card{max-width:92vw;}
  .hm-grid{min-height:360px}
}

/*
* 2025.10.24 추가
* 퍼블 css
*/
/* sweet alert */
.swal2-popup {
    padding: 30px;
}

.swal2-title {
    font-weight: 500;
    margin-top: 0;
    padding: 10px;
}

/* user search modal - tree */
#users_search_modal > .fancytree-node .fancytree-checkbox {
  position: relative;
  left: 25px; /* 아이콘 너비에 맞춰 조정 */
}

#users_search_modal > .fancytree-node .fancytree-icon {
  position: relative;
  left: -33px; /* 체크박스 너비에 맞춰 조정 */
}

