/**
 * ============================================================================
 * TalentProX | CSS — [공통]
 * ----------------------------------------------------------------------------
 * 파일명 : admin/css/layout/tab.css
 * 분류   : 공통
 * 용도   : 탭·slim 테이블·파일업로드·카드 pane 높이/스크롤 등 보조 레이아웃
 * 사용처 : adm_typelink.jsp 항상 로드(목록/등록·탭 화면)
 * 로드   : /inc/adm_typelink.jsp [A] 공통
 * 주의   : —
 * ============================================================================
 */
/*** content ***/
html{height: 100%; width: 100%;}
html.admin-html, body.admin-shell{height: 100%; width: 100%; min-width: 1593px; overflow: hidden;}
html.admin-html.admin-width-fluid, html.admin-html.admin-width-fluid body.admin-shell{min-width: 0;}
html, body.iframe-body{height: 100%; width: 100%;}
.content{display: block;}
.content:has(.tab-top){padding: 0;}
.content > div{width: 100%;}
.content:has(.card.pane){display: flex;flex-direction: column;margin-left: 0;padding: 10px 20px;width: 100%;height: 100%;overflow: hidden;}
html.iframe-html .content:has(.card.pane),
body.iframe-body .content:has(.card.pane){
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.card-btm{flex: 1;min-height: 0;display: flex;flex-direction: column;gap: 10px;overflow: hidden;}
.card.pane > .card-btm > .card-body{flex: 1;min-height: 0;display: flex;flex-direction: column;gap: 0;padding: 14px 16px;box-sizing: border-box;}
.card.pane > .card-btm > .card-body > .sbbox,
.card.pane > .card-btm > .card-body > .eval-guide,
.card.pane > .card-btm > .card-body > .list-block,
.card.pane > .card-btm > .card-body > .menu-tree-wrap,
.card.pane > .card-btm > .card-body > form#listForm,
.card.pane > .card-btm > .card-body > form#iForm,
.card.pane > .card-btm > .card-body > form:has(> .sbbox){flex: 1;min-height: 0;display: flex;flex-direction: column;overflow: auto;}
.card.pane > .card-btm > .card-body > .menu-split{
  flex: 1;min-height: 0;display: flex;flex-direction: row;overflow: hidden;
}
.card.pane > .card-btm > .card-body > .menu-split > .menu-panel{
  display: flex;flex-direction: column;min-height: 0;overflow: hidden;
}
.card.pane > .card-btm > .card-body > .menu-split > .menu-panel > .menu-panel-hd,
.card.pane > .card-btm > .card-body > .menu-split > .menu-panel > .menu-panel-search{flex: 0 0 auto;}
.card.pane > .card-btm > .card-body > .menu-split > .menu-panel > .menu-panel-body{
  flex: 1;min-height: 0;overflow: auto;
}
.card.pane > .card-btm > .card-body > form#listForm > .sbbox,
.card.pane > .card-btm > .card-body > form#iForm > .sbbox,
.card.pane > .card-btm > .card-body > form:has(> .sbbox) > .sbbox{flex: 1;min-height: 0;overflow: auto;}
.card.pane > .card-btm > .card-body > .list-info,
.card.pane > .card-btm > .card-body > .list-head,
.card.pane > .card-btm > .card-body > .tab-step,
.card.pane > .card-btm > .card-body > form#frm,
.card.pane > .card-btm > .card-body > form#regForm,
.card.pane > .card-btm > .card-body > form.menu-edit-form{flex: 0 0 auto;}
.card.pane > .card-btm > .card-body > .list-head + .sbbox,
.card.pane > .card-btm > .card-body > .list-head + form,
.card.pane > .card-btm > .card-body > form#regForm + form#listForm{margin-top: 0;}
.card.pane > .card-btm > .card-body > .paging{flex: 0 0 auto;margin-top: 8px;}
.card-inner{flex: 1;min-height: 0;display: flex;flex-direction: column;padding: 10px 10px;width: 100%;background-color: #fff;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 6px 18px rgba(0, 0, 0, .06);}
.card-inner:has(.tb_stky){padding-right: 0;}
.card-inner:has(.tb_stky > table caption:not(.blind), .toggle-si){padding-top: 5px;}
.card-inner:has(.card-tab){padding-top: 0;padding-left: 0;}
.card-inner:has(.card-tab) .card-tab ~ .in-tabbox{margin-top: 10px;margin-left: 10px;}
.card-inner:has(.card-tab) .card-tab~.in-tabbox:has(.in-tabcon > table caption){margin-top: 5px;}
.card-inner:has(.popup.cal){position: relative;}
.card-inner .card-tab{flex: 0 0 auto;}
.card-inner .sbbox, .card-inner .in-tabbox{flex: 1;min-height: 0;}

/* foldable */
.toggle-si{display: flex;justify-content: space-between;align-items: flex-start;}
.toggle-si .arrow-wrap{min-height: 30px;font-size: 0;}
.toggle-si .arrow-wrap button{line-height: 1;}
.toggle-si .arrow-wrap i{transition: transform 0.3s ease;}
.is-folded .toggle-si .arrow-wrap button{border-color: #d71a21;}
.is-folded .toggle-si .arrow-wrap i{transform: rotate(180deg);color: #d71a21;}
.card-inner:has(.tb_stky) .toggle-si{padding-right: 10px;}
.fold-y{flex: 0 0 auto;}
.fold-x{min-width: 80px;}
.fold-x .toggle-si{overflow: hidden;flex-wrap: nowrap;}
.fold-x .toggle-si strong{white-space: nowrap;max-width: 300px;opacity: 1;transition: max-width 0.3s ease, opacity 0.2s ease;}
.fold-x .toggle-con{overflow-x: hidden;overflow-y: auto;}
.fold-x .toggle-con table{width: max-content;min-width: 100%;}
.fold-x .toggle-con table th,
.fold-x .toggle-con table td{white-space: nowrap !important;}
/* .fold-x.is-folded .toggle-si{justify-content: flex-end;} */
.fold-x.is-folded .toggle-si strong{max-width: 0;opacity: 0;margin: 0;padding: 0;}
.fold-x.is-folded .toggle-con table th:first-child,
.fold-x.is-folded .toggle-con table td:first-child{min-width: 60px;}
/* 부모 그리드(.cols)의 공간 재분배 */
.cols:has(> .fold-x.is-folded:first-child){grid-template-columns: 0fr 1fr;}
.cols.trd:has(> .fold-x.is-folded:first-child){grid-template-columns: 0fr 1fr 1fr;}
.cols.fth:has(> .fold-x.is-folded:first-child){grid-template-columns: 0fr 1fr 1fr 1fr;}
/* .card-inner.fit{flex: 0 0 auto;}
.toggle-si .arrow-wrap{position: absolute;top: 0;right: 0;line-height: 1;}
.toggle-si .arrow-bottom{display: none;}
.toggle-si .arrow-top{display: block;}
.toggle-si.on .arrow-top{display: none;}
.toggle-si.on .arrow-bottom{display: block;} */

/* slim — 검색영역 높이/여백
   location(우상단)과 검색/초기화 버튼이 겹치지 않도록
   card-top 상단에 브레드크럼 행을 확보 */
div:has(.slim) .card-top{
  position: relative;padding: 34px 16px 14px;display: flex;flex-shrink: 0;
  height: auto;min-height: 60px;align-items: center;box-sizing: border-box;
}
div:has(.slim) .card-header{padding: 0;height: auto;border-bottom: 0;flex-shrink: 0;min-width: 110px;}
div:has(.slim) .card-header > span{font-size: 18px;line-height: 1.2;white-space: nowrap;}
div:has(.slim) .location{
  position: absolute;top: 10px;right: 16px;z-index: 1;
  margin: 0;display: flex;align-items: center;flex-wrap: nowrap;
  height: 20px;white-space: nowrap;
}
div:has(.slim) .location li{
  float: none;display: inline-flex;align-items: center;padding: 0;height: 20px;
}
div:has(.slim) .location i{position: static;}
div:has(.slim) .card-search{margin-left: 12px;padding: 0;min-height: unset;flex: 1 1 auto;}
/* 조회조건 2줄 */
/* multi: 검색/초기화 버튼은 조회조건 우측 하단 정렬 */
div:has(.slim):has(.card-search.multi) .card-top{min-height: 100px;padding-top: 34px;padding-bottom: 14px;align-items: flex-start;}
div:has(.slim):has(.card-search.multi) .location{top: 10px;}
.card-search ul{margin-bottom: 0;}
.card-search ul.btns.slim{margin-top: 0;position: relative;z-index: 2;}
.card-search .search-group{display: none;}
.card-search .search-group.active{display: flex;}
.card-search > div:has(ul){display: flex;justify-content: space-between;align-items: center;width: 100%;gap: 12px;}
.card-search.multi > div:has(ul),
.card-search.multi > form > div:has(ul){align-items: flex-end;}
ul.btns.slim li{margin-left: 5px;}
/* 검색조건 컨트롤 크기 (slim 25px 강제 해제) */
div:has(.slim) .card-search input[type="text"],
div:has(.slim) .card-search select,
div:has(.slim) .card-search button[type="button"]{height: 32px !important;min-height: 32px !important;box-sizing: border-box;}
div:has(.slim) .card-search ul.btns li,
div:has(.slim) .card-search ul.btns li button{height: 32px !important;min-height: 32px !important;}
div:has(.slim) button.sq, div:has(.slim) caption button.sq{padding: 0;width: 25px;min-height: 25px;}
div:has(.slim) button.sq_B, div:has(.slim) caption button.sq_B{padding: 0;width: 30px;min-height: 30px;}
div:has(.slim) table th,
div:has(.slim) table td{padding: 2px 5px;height: 30px;}
div:has(.slim) table tr:first-child th,
div:has(.slim) table tr:first-child td{padding: 1.5px 5px;}
div:has(.slim) table input, div:has(.slim) table button:not(.btn-ico), div:has(.slim) table select, ul.slim li button{height: 25px;min-height: unset !important;}
div:has(.slim) table button.btn-ico{
  width: 24px;height: 24px;min-width: 24px;min-height: 24px !important;padding: 0 !important;
}
div:has(.slim) table button.btn-ico > .material-symbols-outlined,
div:has(.slim) table button.btn-ico > i.material-symbols-outlined{font-size: 15px;}
div:has(.slim) table .radio + label, div:has(.slim) table .checkbox + label{height: 25px;line-height: 25px;}
div:has(.slim) table .radio + label:before, div:has(.slim) table .checkbox + label:before{top: 4px;}
div:has(.slim) table .radio + label.txt_t:before, div:has(.slim) table .checkbox + label.txt_t:before{top: 25px;}
div:has(.slim) table .radio + label.txt_t::after, div:has(.slim) table .checkbox + label.txt_t::after{top: 26px;}
div:has(.slim) table .radio + label:after{top: 9px;right: 5px;}
div:has(.slim) table .checkbox + label:after{top: 5px;}
div:has(.slim) .card-tab a,
div:has(.slim) ul.tab-step li button,
div:has(.slim) ul.tab-step li a{padding: 4px 10px;}
div:has(.slim) .list-info ul.btns li,
div:has(.slim) .list-info ul.btns li button,
div:has(.slim) .card-body > .list-info ~ * ul.btns li button{height: 28px;min-height: 28px;}
div:has(.slim) ul.btns li{margin-left: 5px;}
div:has(.slim) ul.btns li:first-child{margin-left: 0;}
div:has(.slim) .paging li a,
div:has(.slim) .paging li button{padding: 0;width: 30px;height: 30px;min-height: 30px;}

/* tab-menu */
#tabs{position: relative;display: block !important;width: 100% !important;height: 30px;overflow: hidden;}
#tabs .tab-menu li.ui-sortable-helper{box-shadow: 0 5px 15px rgba(0,0,0,0.2);opacity: 0.9;z-index: 9999;cursor: move;}
#tabs .tab-menu li.ui-sortable-placeholder{border: 1px dashed #ccc;background-color: #f8f9fa;visibility: visible !important;}

.tab-top{background-color: #e7ebee;}
.tab-wrap{padding-top: 10px;width: 100%;max-width: 100%;}
.tab-arrow-left, .tab-arrow-right{position: absolute;top: 0;width: 20px;height: 40px;background-color: #e7ebee;cursor: pointer;display: flex !important;justify-content: center;align-items: center;font-size: 18px !important;font-variation-settings:'FILL' 1;color: #999;z-index: 20;user-select: none;}
.tab-arrow-left{left: 0;}
.tab-arrow-right{right: 0;}
.no-overflow .tab-arrow-left, .no-overflow .tab-arrow-right{display: none !important;}

.tab-menu{display: flex;flex-wrap: nowrap;padding: 0 20px;width: 100% !important;height: 30px;overflow-x: auto;overflow-y: hidden;white-space: nowrap;scrollbar-width: none;}
.tab-menu::-webkit-scrollbar{display: none;}
.tab-menu li{
	display: inline-flex;justify-content: space-between;align-items: center;
	padding: 0 2px 0 10px;width: auto;min-width: 120px;height: 30px;font-size: 14px;font-weight: bold;cursor: pointer;user-select: none;
	border: 1px solid #e7ebee;border-bottom: none;border-top-left-radius: 5px;border-top-right-radius: 5px;background-color: #fff;
}
.tab-menu li::before{content: none;}
/* .tab-menu li:hover, .tab-menu li:focus{} */
.tab-menu li i.material-symbols-outlined{font-variation-settings: 'wght' 300,'opsz' 20;}
.tab-menu li.active{background-color: #44aaee;color: #fff;}
.tab-menu li.active,
.tab-menu li.active i{color: #fff;}

/* Iframe 연동 공통 레이어 팝업 */
.pane-modal-overlay{
	position: fixed;top: 0;left: 0;bottom: 0;width: 100%;min-width: 1440px;background-color: rgba(0, 0, 0, .6);transition: opacity 0.3s ease, visibility 0.3s ease;
	display: flex;align-items: center;justify-content: center;opacity: 0;visibility: hidden;pointer-events: none;z-index: 9999;
}
.pane-modal-overlay.active{opacity: 1;visibility: visible;pointer-events: auto;}
.pane-modal{
	background-color: #fff;border-radius: 4px;box-shadow: 0 4px 20px rgba(0, 0, 0, .3);outline: none;transform: translateY(-20px);transition: transform 0.3s ease;
	display: flex;flex-direction: column;width: 1000px;max-width: 95vw;height: auto;/* max-height: min(600px, 90vh);*/overflow: hidden;
}
.pane-modal.w700{width: 700px;}
.pane-modal:has(.slim) button, .sm-modal:has(.slim) button, 
.pane-modal:has(.slim) input[type="text"], .sm-modal:has(.slim) input[type="text"], 
.pane-modal:has(.slim) input[type="password"], .sm-modal:has(.slim) input[type="password"], 
.pane-modal:has(.slim) input[type="time"], .sm-modal:has(.slim) input[type="time"], 
.pane-modal:has(.slim) input[type="file"], .sm-modal:has(.slim) input[type="file"],
.pane-modal:has(.slim) select, .sm-modal:has(.slim) select{height: 25px;min-height: unset !important;line-height: 1;}
.pane-modal:has(.slim) ul.btns li{margin-left: 5px;}
.pane-modal-overlay.active .pane-modal{transform: translateY(0);}
.pane-modal-header, .sm-modal-header{display: flex;justify-content: space-between;align-items: center;padding: 0 15px;height: 40px;background-color: rgba(0, 0, 0, .05);border-bottom: 1px solid #d3d3d0;cursor: move;flex-shrink: 0;}
.pane-modal-desc, .sm-modal-header span{font-size: 14px;font-weight: 700;color: #111;}
.pane-modal-close, .btn-sm-modal-close{background: transparent;border: none;cursor: pointer;padding: 0;align-items: center;}
.pane-modal-close{ color: #111;font-weight: 700;gap: 5px;}
.pane-modal-close span{ font-size: 13px;}
.pane-modal-close i{ font-size: 18px;}
.pane-modal-close:focus{outline: 2px solid #004a98;}
.pane-modal-toolbar{padding: 0 15px;height: 40px;border-bottom: 1px solid #d3d3d0;display: flex;justify-content: space-between;align-items: center;flex-shrink: 0;}
.pane-modal-toolbar .card-search{justify-content: space-between;}
.pane-modal-title{font-size: 14px;font-weight: 700;margin: 0;}
.pane-modal-body, .sm-modal-body{position: relative;padding: 10px 15px;flex: 1;overflow-y: auto;font-size: 13px;}
.pane-modal-body:has(.sbbox), .sm-modal-body:has(.sbbox){padding-right: 5px;}
.pane-modal-body{min-height: 0;max-height: min(520px, calc(90vh - 80px));}
.pane-modal-body .sbbox{overflow-y: visible;}
.pane-modal-body .in-tabbox{display: grid;align-items: start;}
.pane-modal-body .in-tabbox .in-tabcon{grid-area: 1 / 1;display: block !important;visibility: hidden;}
.pane-modal-body .in-tabbox .in-tabcon.active{visibility: visible;}
.pane-modal-body .in-tabbox .in-tabcon:not(.active) .sbbox table{visibility: hidden;}
.pane-modal-body ul li{font-size: 13px;}
.pane-modal-body ul.dot li{position: relative;padding-left: 8px;}
.pane-modal-body ul.dot span, .pers strong{display: inline-block;}
.pane-modal-body ul.dot li:before{content: "\00B7";position: absolute;left: 0;}
.pane-modal-footer{padding: 10px 15px;border-top: 1px solid #d3d3d0;text-align: center;}

.sm-modal{position: absolute;width: 600px;/* max-height: 200px; */background-color: #fff;border: 1px solid #888;border-radius: 4px;box-shadow: 0 4px 15px rgba(0, 0, 0, .3);z-index: 1000;display: flex;flex-direction: column;}
.sm-modal-header{height: 30px;}
.sm-modal:has(.slim) .btn-sm-modal-close{font-size: 16px;border: none;}

/* pane */
/* 셸: 탭바 고정 + iframe 영역만 남은 높이 사용 */
#RightPane.content:has(.tab-top){
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding: 0;
  width: calc(var(--admin-shell-width, 1593px) - var(--admin-lnb-width, 48px));
  max-width: calc(var(--admin-shell-width, 1593px) - var(--admin-lnb-width, 48px));
}
#RightPane .tab-top{flex: 0 0 auto;}
.pane-wrap{
  flex: 1 1 auto;
  min-height: 0;
  max-width: none;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.tab-pane{height: 100%; overflow: hidden;}
.tab-pane iframe{
  display: block;vertical-align: top;width: 100%;
  height: 100% !important;min-height: 0 !important;
  max-width: none !important;border: none;
}

.card.pane{flex: 1;min-height: 0;display: flex;flex-direction: column;gap: 10px;margin-bottom: 0;}
/* .pane .card-btm .card-body, .pane .card-btm:has(.card-tab) .card-body{max-height: calc(100vh - 140px);}
.pane:has(.slim) .card-btm .card-body{max-height: calc(100vh - 90px);} */
.pane .card-btm .tb_stky{max-height: unset !important;}
.pane .card-btm .sbbox{scrollbar-gutter: auto;}
.pane .card-search{padding-top: 0;}
/* .pane .card-search ul{margin: 0;} */
.pane .card-search span{font-weight: normal;}

.pane button.red{font-weight: bolder;color: red;border-color: red;}
.pane button.sq{width: 30px;}
.pane caption ul.btns li{margin-left: 5px;height: 25px;}
.pane caption ul.btns li button, .pane caption > button.absolute{min-height: 25px;line-height: 1;font-weight: normal;}
.pane strong span.toRight{right: 0;font-size: 13px;font-weight: normal;}

.in-tabbox .in-tabcon{display: none;}
.in-tabbox .in-tabcon.active{display: block;}
.in-tabbox .in-tabcon p{font-size: 13px;}
/* .card-tab + .in-tabbox.tb_stky{height: calc(100% - 40px);}
.pane:has(.slim) .card-tab + .in-tabbox.tb_stky{height: calc(100% - 30px);} */

.ano-tab{display: flex;flex-wrap: wrap;align-items: center;flex: 0 0 auto;}
.ano-tab a{display: inline-block;padding: 5px 10px;line-height: 20px;font-size: 14px;font-weight: 500;color: #888;}
.ano-tabbox, .ano-tabcon{height: 100%;}

.conn_box{padding: 4px 10px;min-height: 50px;background-color: #f9f9f9;border: 1px solid rgba(0, 0, 0, .15);}
.conn_box.add_scr{/* min-height: 90px;*/max-height: 150px;overflow-y: overlay;}
.conn_box.add_scr .s_up{font-size: 1.2em;font-weight: 500;}
.conn_box, .conn_box p{line-height: 20px;font-size: 14px;}
/* .conn_box.add_scr::-webkit-scrollbar, .pane-modal-body::-webkit-scrollbar, .sbbox:has(table)::-webkit-scrollbar{width: 15px;}
.conn_box.add_scr::-webkit-scrollbar-thumb, .pane-modal-body::-webkit-scrollbar-thumb, .sbbox:has(table)::-webkit-scrollbar-thumb{background-color: #d71a21;border-radius: 100px;background-clip: padding-box;border: 5px solid transparent;}
.conn_box.add_scr::-webkit-scrollbar-track, .pane-modal-body::-webkit-scrollbar-track, .sbbox:has(table)::-webkit-scrollbar-track{background-color: transparent;} */

/* .card-body > .siChg{display: flex;flex-direction: column;height: 100%;}
.siChg > .toggle-si, .siChg > .toggle-con, .siChg > .card-tab.in-tab{flex-shrink: 0;}
.siChg > .in-tabbox.tb_stky{flex: 1;min-height: 0;height: auto !important;max-height: none !important;} */

/** 파일 첨부 **/
.file-drop-zone{display: flex;flex-direction: column;align-items: center;justify-content: center;margin-bottom: 10px;padding: 18px 12px;min-height: 96px;border: 2px dashed #888;background-color: #fff;text-align: center;cursor: pointer;border-radius: 4px;box-sizing: border-box;}
.file-drop-zone, .file-drop-zone p, .file-upload-icon{transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;}
.file-drop-zone:hover, .file-drop-zone.dragover{background-color: #e7f3ff;border-color: #004a98;}
.file-drop-zone:hover .file-upload-icon, .file-drop-zone.dragover .file-upload-icon, .file-drop-zone:hover p, .file-drop-zone.dragover p{color: #004a98;}
.file-drop-zone.dragover{border-style: solid;box-shadow: inset 0 0 0 1px #004a98;}
.file-drop-zone p{margin: 6px 0 0;font-size: 14px;line-height: 1.45;color: #888;font-weight: 500;max-width: 480px;}
.file-drop-zone .file-sub{margin-top: 4px;font-size: 12px;font-weight: 400;opacity: .85;}
.file-upload-icon{font-size: 40px !important;color: #888;}
.file-upload-wrapper .file-hint{margin: 0 0 8px;font-size: 12px;color: #888;}
.file-upload-wrapper .file-count{margin-left: 8px;font-size: 12px;font-weight: 600;color: #004a98;}
.file-list li::before, .file-list li::after{content: none !important;display: none !important;}
.file-list{margin: 0;padding: 0;list-style: none;}
.file-list li{display: flex;align-items: center;justify-content: space-between;min-height: 34px;margin-bottom: 5px;padding: 4px 12px;background-color: #f9f9f9;border: 1px solid #d3d3d0;border-radius: 4px;box-sizing: border-box;}
.file-list li .file-name{display: flex;align-items: center;font-size: 13px;color: #242424;max-width: calc(100% - 36px);overflow: hidden;gap: 2px;}
.file-list li .file-name i{margin-right: 8px;color: #e35327;flex-shrink: 0;}
.file-list li .file-name .name{display: inline-block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;flex-shrink: 1;}
.file-list li .file-name .ext{flex-shrink: 0;white-space: nowrap;}
.file-list li .file-name .size{margin-left: 10px;flex-shrink: 0;font-size: 12px;color: #888;}
.file-list li .file-name i, .file-list li button i{font-size: 18px;}
.file-list li .btn-remove, .file-list li .btn-download{background: transparent;border: none;cursor: pointer;color: #888;display: flex;align-items: center;padding: 0;min-height: unset;}
.file-list li .file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.file-list li .btn-remove:hover{color: #d71a21;}
.file-list li .btn-download:hover{color: #111;}
.file-list li a.btn-download{text-decoration:none;}
.file-list.half{display: flex;flex-wrap: wrap;gap: 5px;}
.file-list.half li{width: calc(50% - 2.5px);margin-bottom: 0}
.tb_view .file-upload-wrapper{width: 100%;}

/* 달력 calendar */
.fc .fc-toolbar{margin-bottom: 10px !important;}
.fc-toolbar-chunk{display: flex;align-items: center;}
.fc-toolbar-chunk .fc-button:focus,
.fc-toolbar-chunk .fc-button:active{outline: none !important;box-shadow: none !important;}
.fc-toolbar-title{display: inline-block;font-size: 1em !important;font-weight: bold;margin: 0 10px !important;width: 100px;text-align: center;}
.fc .fc-button-primary{padding: 0 8px !important;min-height: 30px;color: #888 !important;border: 1px solid #d3d3d0;border-radius: 2px;background-color: transparent;cursor: pointer;}
.fc .fc-button-primary:hover, .fc .fc-button-primary:focus{background-color: inherit !important;}
.fc .fc-button-primary:disabled{color: #fff !important;background-color: #656565 !important;border: none;}
.fc .fc-button-primary span{font-size: 13px !important;vertical-align: unset !important;}
.fc-prev-button, .fc-next-button{margin: 0 !important;}
.fc-today-button{margin-left: 5px !important;}
.fc .fc-col-header-cell-cushion{padding: 4px;}
.fc-daygrid-body, .fc-daygrid-body-unbalanced, .fc-scrollgrid-sync-table{height: 100% !important;}
.fc-daygrid-block-event .fc-event-main, .fc-daygrid-block-event .fc-event-title{color: #fff !important;}
.fc-daygrid-block-event .fc-event-time{display: none;}
.fc-daygrid-block-event .fc-event-main{overflow: hidden;}
.fc-daygrid-day:focus{outline: none;}
.fc-daygrid-day:focus-visible{background-color: rgba(0, 0, 0, 0.05);outline: 2px solid #004a98;outline-offset: -2px;z-index: 5;}
.fc-daygrid-day.no-outline:focus-visible{background-color: transparent !important;}
.fc-theme-standard .fc-scrollgrid{border-top: 0;}
.fc-daygrid-dot-event{padding: 0;}
.fc-event-title{display: block !important;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.no-outline:focus, .no-outline:focus-visible{outline: none !important;box-shadow: none !important;}
.tb_stky .fc table thead, .tb_stky .fc table caption{position: static !important;}.sbbox .fc{visibility: visible !important;}
.calendar .fc-daygrid-day-frame{min-height: 105px;}
.calendar table, .calendar table th, .calendar table td, .calendar table tr{height: auto; padding: 0 !important;}
.calendar table{table-layout: auto;}
.calendar table th{text-align: center;}
.calendar table td{text-align: unset;}
.calendar table tbody tr:hover td{background-color: transparent;}

/* .popup{top: 0;transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;transform: translateY(-100%);}
.popup.active{opacity: 1;transform: translateY(0);transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0s;} */

.popup.cal{
	position: absolute;top: -30px;right: 0;transition: opacity 0.3s ease, top 0.3s ease, visibility 0.3s;
	visibility: hidden;opacity: 0;z-index: 100;pointer-events: none;width: 720px;height: 100%;
	display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;
	background-color: #fff;border-top-left-radius : 10px;border-bottom-left-radius : 10px;
	box-shadow: 0px 0px 10px -2px rgba(0, 0, 0, .3);
}
.popup.cal.active{visibility: visible;opacity: 1;top: 0;pointer-events: auto;}
.popup.cal .popup-header{display: flex;justify-content: space-between;align-items: center;width: 100%;height: 51px;border-bottom: 1px solid rgba(0, 0, 0, .15);}
.popup.cal .popup-body{width: 100%;height: calc(100% - 51px);padding: 30px 40px;overflow-y: auto;}
.popup.cal .popup-body h3{margin: 20px 0 10px;font-weight: bold;}
.popup.cal .popup-tit{text-align: center;font-weight: bold;font-size: 1.5em;margin-bottom: 30px;}
.popup.cal .close-btn{min-width: 50px;height: 100%;background-color: red;color: white;border: none;padding: 10px;cursor: pointer;font-size: 20px;border-radius: 0;border-top-left-radius : 10px;}
.popup.cal .close-btn i{vertical-align: sub;}
.popup.cal .btn-wrap{display: flex;align-items: center;padding-right: 15px;gap: 5px;}
.popup.cal .hidden-section{display: none !important;}
.popup.cal .popup-body{flex: 1;overflow-y: auto;}
.popup.cal .form-group{margin-bottom: 15px;}
.popup.cal .form-group label{display: block;margin-bottom: 5px;line-height: 20px;font-weight: 500;font-size: 14px;}
.popup.cal .form-group textarea{height: 100px;resize: none;padding: 5px;border: 1px solid #d3d3d0;}
.popup.cal .datetime-row{display: flex;align-items: center;gap: 5px;}
.popup.cal .datetime-row input[type="text"].datepicker{text-align: center;}
.popup.cal .datetime-row span{font-weight: bold;color: #666;}
.popup.cal .file-box{border: 1px dashed #ccc;padding: 14px;text-align: center;border-radius: 4px;background-color: #fafafa;}
.popup.cal .file-box input[type="file"]{width: 100%;}
.popup.cal .event-list{list-style: none;padding: 0;margin: 0;}
.popup.cal .event-item{display: flex;justify-content: space-between;align-items: center;padding: 14px 15px 14px 20px;margin-bottom: 10px;border-radius: 5px;border: 1px solid rgba(0,0,0,0.05);}
.popup.cal .event-item.bg-red{background-color: #ffe5e6;}
.popup.cal .event-item.bg-green{background-color: #e0f2f1;}
.popup.cal .event-item.bg-blue{background-color: #eef6fc;}
.popup.cal .event-info{flex-grow: 1;line-height: 20px;font-size: 13px;}
.popup.cal .event-info .event-file{height: 25px;}
.popup.cal .event-info:has(.event-file) .event-desc{margin-bottom: 5px;padding-bottom: 9px;border-bottom: 1px dashed rgba(0,0,0,0.25);}
.popup.cal .event-title{font-weight: bold;font-size: 14px;}
.popup.cal .event-date{margin: 5px 0;}
.popup.cal .event-desc{white-space: pre-wrap;display: -webkit-box;/*-webkit-line-clamp: 2;*/-webkit-box-orient: vertical;overflow: hidden;}
.popup.cal .event-file{display: flex;align-items: center;justify-content: space-between;height: 30px;font-size: 13px;/*border-top: 1px dashed transparent;*/}
/* .popup.cal .event-file:nth-child(n+2){border-top: 1px dashed #ccc;} */
.popup.cal .event-file a.btn-download{display: inline-flex;align-items: flex-end;max-width: 85%;text-decoration: none;gap: 4px;}
.popup.cal .event-file a.btn-download .file-txt {border-bottom: 1px solid #000;transition: border-color 0.2s;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.popup.cal .event-file a i, .popup.cal .btn-file-del i{font-size: 18px;vertical-align: middle;}
.popup.cal .btn-file-del{background: none;border: none;cursor: pointer;color: #999;padding: 0 5px;display: flex;align-items: center;justify-content: center;min-width: 24px;}
.popup.cal .btn-file-del:hover{color: #d71a21;}
.popup.cal .event-btn{display: flex;gap: 5px;padding-left: 15px;}
.popup.cal .event-btn button{font-size: 12px;}
.popup.cal .event-btn button.edit:hover{background-color: #f0f0f0;}
.popup.cal .event-btn button.del:hover{background-color: #bb2d3b;}
.popup.cal .view-mode .datetime-row{gap: 5px;}
.popup.cal .view-mode .datetime-row input{width: auto;max-width: 100px;}
.popup.cal .view-mode .form-group{margin-bottom: 10px;border-bottom: 1px solid #f5f5f5;padding-bottom: 10px;}
.popup.cal .view-mode .form-group:last-child{border-bottom: none;}
.popup.cal .view-mode label{margin-bottom: 3px;}
.popup.cal .view-mode textarea{height: auto;}
.popup.cal .view-mode input, .popup.cal .view-mode textarea, .popup.cal .view-mode select
{border: none !important;background-color: transparent !important;padding: 0 !important;pointer-events: none;resize: none;appearance: none;-webkit-appearance: none;box-shadow: none !important;}

/* Autocomplete Custom Style (테이블형 드롭다운) */
.ui-autocomplete{max-height: 200px;overflow-y: auto;overflow-x: hidden;background: #fff;border: 1px solid #d3d3d0;box-shadow: 0 4px 6px rgba(0,0,0,0.1);padding: 0;z-index: 9999 !important;}
.ui-menu-item{list-style: none;padding: 0;margin: 0;border-bottom: 1px solid #eee;}
.ui-menu-item:last-child{border-bottom: none;}
.ui-menu-item .ui-menu-item-wrapper{padding: 8px 10px;display: flex;justify-content: space-between;font-size: 13px;cursor: pointer;}
.ui-menu-item .ui-menu-item-wrapper.ui-state-active{background-color: #f9f9f9;color: #d71a21;margin: 0;border: none;}
.ui-menu-item.ac-header .ui-menu-item-wrapper{cursor: default !important;background-color: #f9f9f9 !important;color: #242424 !important;font-weight: inherit !important;}
.ac-row{display: flex;width: 100%;justify-content: space-between;align-items: center;}
.ac-col-left{font-weight: 500;width: 50%;text-align: left;}
.ac-col-right{color: #888;width: 50%;text-align: right;font-size: 12px;}
.ac-header{background-color: #f9f9f9;font-weight: 700;border-bottom: 1px solid #d3d3d0;cursor: default;}

/* scrollbar */
.sbbox{overflow-y: auto;scrollbar-gutter: stable;}
.sbbox.lines5{overflow-y: auto;max-height: 240px;}
.pane-modal:has(.slim) .sbbox.lines5{max-height: 180px;}
::-webkit-scrollbar{width: 10px;height: 10px;}
::-webkit-scrollbar-thumb{border: 3px solid transparent;}

@media only screen and (max-height: 600px) {
	.pane-modal-body .in-tabbox{display: block;}
	.pane-modal-body .in-tabbox .in-tabcon{display: none !important;visibility: visible;}
	.pane-modal-body .in-tabbox .in-tabcon.active{display: block !important;}
}