/**
 * ============================================================================
 * TalentProX | CSS — [공통]
 * ----------------------------------------------------------------------------
 * 파일명 : admin/css/layout/common.css
 * 분류   : 공통
 * 용도   : GNB/LNB/카드/검색/버튼/테이블(.tb_list/.tb_view)/CKEditor 격리 등 공통 레이아웃
 * 사용처 : adm_typelink.jsp 항상 로드(Admin Renewal 셸·iframe)
 * 로드   : /inc/adm_typelink.jsp [A] 공통
 * 주의   : resources/css/common.css(레거시 리셋)와 파일명이 비슷하나 다른 파일
 * ============================================================================
 */
/* Google Fonts Import Link */
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap'); */

/***** common *****/
*{font-family: 'Noto Sans KR', sans-serif;color: #242424;letter-spacing: -0.065em;}
.material-symbols-outlined{
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal;
  font-style: normal;
  letter-spacing: normal;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
}
html, body{width: 100%;}
html.admin-html, body.admin-shell{
  --admin-shell-width: 1593px;
  --admin-lnb-width: 48px;
  width: 100%;
  min-width: 1593px;
  background-color: #e7ebee;
}
#wrap{position: relative;width: var(--admin-shell-width, 1593px);min-width: 1593px;max-width: 1593px;overflow-y: hidden;box-sizing: border-box;background-color: #f9fafc;}
/* 고정폭 우측 끝 — 카드(.card-top/.card-btm)와 같은 농도 */
body.admin-shell::after{
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: var(--admin-shell-width, 1593px);
  width: 1px;
  pointer-events: none;
  z-index: 200;
  background: rgba(0, 0, 0, .06);
  box-shadow: 2px 0 8px rgba(0, 0, 0, .08), 6px 0 18px rgba(0, 0, 0, .06);
}


/***** header *****/
/* 상단 GNB(가로 빨간박스) · 좌측 아이콘열(세로 빨간박스) 축소
   header.header 로 구 layout_admin.css 의 header{} 보다 특이성을 높인다 */
header.header{position: fixed;top: 0;left: 0;right: auto;display: flex;flex-direction: column;height: 60px;width: var(--admin-shell-width, 1593px);min-width: 1593px;max-width: 1593px;z-index: 100;background: transparent;border-bottom: 0;box-sizing: border-box;}
header.header .menu, header.header .mini{margin: 0;display: none;cursor: pointer;color: #fff;font-size: 22px;width: 48px;}
header.header .showBtn{display: block;}
header.header ul{overflow: hidden;list-style: none;}
header.header ul.nav, header.header ul.icons{overflow: visible;}
header.header ul li{float: left;}
header.header a{display: block;line-height: 14px;color: #fff;}
header.header, header.header a, header.header span, header.header i,
.sidebar, .sidebar a, .sidebar span, .sidebar i, .sidebar strong, .sidebar b{
  color: #fff;
}
.ttop li::before,
.gnb .nav li::before,
.gnb .icons li::before,
.sidebar .nav-links li::before,
.card-header ul.location li::before,
ul.btns li::before{
  content: none;
  float: none;
  display: none;
}

/* ttop — 우측 유틸(관리자명/홈페이지/로그아웃). header.header ul/li/a 보다 특이성 높게 */
header.header .ttop{flex:0 0 20px;height:20px;color:#fff;}
header.header .ttop > div{display:flex;justify-content:flex-end;align-items:center;width:100%;max-width:100%;height:100%;padding-right:36px;box-sizing:border-box;}
header.header .ttop ul{display:flex;align-items:center;height:100%;overflow:visible;margin:0;padding:0;}
header.header .ttop ul li{float:none;display:flex;align-items:center;margin:0 16px 0 0;height:20px;line-height:20px;}
header.header .ttop ul li:last-child{margin-right:0;}
header.header .ttop li::before{content:none !important;display:none !important;float:none !important;width:0;height:0;}
header.header .ttop a,
header.header .ttop .name,
header.header .ttop span{
  display:inline-block;
  font-size:11px;
  line-height:20px;
  height:20px;
  color:#fff;
  white-space:nowrap;
  vertical-align:middle;
  letter-spacing:-0.02em;
}

/* gnb */
.gnb{flex:0 0 40px;height:40px;}
.gnb > div{display: flex;align-items: stretch;width: 100%;max-width: 100%;height: 100%;padding-right: 36px;box-sizing: border-box;}
.gnb .lnbBtn{width: 48px;flex-shrink: 0;display: flex;align-items: center;justify-content: center;position: relative;height: 100%;cursor: pointer;z-index: 101;}
.gnb .lnbBtn::before{
  content: "";
  position: absolute;
  left: 0;
  top: -20px;
  width: 48px;
  height: 20px;
  background-color: #003782;
  pointer-events: none;
}
.gnb .lnbBtn i{height: 40px;line-height: 40px;text-align: center;width: 48px;font-size: 22px;color: #fff;}
.gnb .logo{margin-left: 10px;height: 24px;font-size: 0;align-self: center;}
.gnb .logo img{width: 100%;height: 100%;object-fit: contain;}
.gnb .logo.logo-text{display:inline-flex;align-items:center;height:24px;font-size:17px;font-weight:700;letter-spacing:-0.03em;color:#fff;white-space:nowrap;}
.gnb .sign{margin-left: 8px;width: 120px;line-height: 13px;font-size: 11px;color: #fff;opacity: .7;align-self: center;}
.gnb .nav{display: flex;align-items: stretch;flex: 1;min-width: 0;height: 100%;margin-left: 24px;overflow-x: auto;overflow-y: hidden;}
.gnb .nav li{float: none;height: 100%;}
.gnb .nav li a{
  display: flex;align-items: center;height: 100%;
  padding: 0 12px;font-size: 15px;font-weight: 700;opacity: .7;
  line-height: 1;color: #fff;white-space: nowrap;
}
.gnb .nav li a:hover{opacity: 1;}
.gnb .nav li.on a{opacity: 1;color: #fff;}
.gnb .icons{display: flex;align-items: stretch;margin-left: auto;height: 100%;flex-shrink: 0;gap: 10px;}
.gnb .icons li{float: none;height: 100%;display: flex;align-items: center;}
.gnb .icons a{display: flex;align-items: center;justify-content: center;height: 100%;}
.gnb .icons i{width: 48px;height: 40px;line-height: 40px;text-align: center;font-size: 22px;color: #fff;}
.gnb .icons .gnb-logout-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  padding: 0 2px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
  opacity: .85;
}
.gnb .icons .gnb-logout-btn:hover{opacity: 1;background: transparent;}
.gnb .icons .gnb-logout-btn i{
  width: auto;
  height: auto;
  line-height: 1;
  font-size: 18px;
  color: #fff;
  font-weight: normal;
}
.gnb .icons .gnb-logout-btn span{color: #fff;font-weight: 400;}

/* LNB 제어: 오버레이 | 좌측고정 (Extend 스위치와 독립) */
.gnb .icons .admin-lnb-mode{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 28px;
}
.gnb .icons .admin-lnb-check{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 28px;
  margin: 0;
  cursor: pointer;
  user-select: none;
  color: #fff;
  z-index: 2;
}
.gnb .icons .admin-lnb-check input{
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.gnb .icons .admin-lnb-box{
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 2px;
  background: transparent;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
}
.gnb .icons .admin-lnb-check input:checked + .admin-lnb-box{
  background: #d71a21;
  border-color: #d71a21;
}
.gnb .icons .admin-lnb-check input:checked + .admin-lnb-box::after{
  content: "";
  position: absolute;
  left: 3px;
  top: 0;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.gnb .icons .admin-lnb-label{
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  opacity: .7;
  white-space: nowrap;
}
.gnb .icons .admin-lnb-check input:checked ~ .admin-lnb-label{
  opacity: 1;
  color: #ffb3b6;
}

.gnb .icons .admin-width-toggle{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 28px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  user-select: none;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.gnb .icons .admin-width-toggle:hover{background: transparent;}
.gnb .icons .admin-width-toggle input{
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.gnb .icons .admin-width-track{
  position: relative;
  display: inline-block;
  width: 36px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  transition: width .35s cubic-bezier(.22,.61,.36,1), background .35s ease, box-shadow .35s ease;
}
.gnb .icons .admin-width-knob{
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.28);
  transition: left .35s cubic-bezier(.22,.61,.36,1), width .35s cubic-bezier(.22,.61,.36,1), background .35s ease;
}
.gnb .icons .admin-width-toggle input:checked + .admin-width-track{
  width: 52px;
  background: #d71a21;
  box-shadow: 0 0 0 1px rgba(215,26,33,.25);
}
.gnb .icons .admin-width-toggle input:checked + .admin-width-track .admin-width-knob{
  left: 34px;
  background: #fff;
}
.gnb .icons .admin-width-text{
  display: inline-block;
  min-width: 3.6em;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
  opacity: .7;
  transition: opacity .3s ease, color .3s ease;
}
.gnb .icons .admin-width-toggle input:checked ~ .admin-width-text{
  opacity: 1;
  color: #ffb3b6;
}

/* 셸 폭: Default 1593px / Extend 100% — LNB 모드는 admin-lnb-* 가 담당 */
body.admin-shell #wrap,
body.admin-shell header.header,
body.admin-shell .container,
body.admin-shell footer,
body.admin-shell .content,
body.admin-shell #RightPane.content{
  transition: width .45s cubic-bezier(.22,.61,.36,1), max-width .45s cubic-bezier(.22,.61,.36,1), min-width .45s cubic-bezier(.22,.61,.36,1), margin-left .45s cubic-bezier(.22,.61,.36,1);
}
body.admin-shell::after{
  transition: left .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
}
html.admin-html.admin-width-fluid,
html.admin-html.admin-width-fluid body.admin-shell{
  --admin-shell-width: 100%;
  min-width: 0;
}
html.admin-html.admin-width-fluid body.admin-shell #wrap,
html.admin-html.admin-width-fluid body.admin-shell header.header,
html.admin-html.admin-width-fluid body.admin-shell .container,
html.admin-html.admin-width-fluid body.admin-shell footer{
  width: 100%;
  min-width: 0;
  max-width: none;
}
html.admin-html.admin-width-fluid body.admin-shell::after{
  opacity: 0;
  pointer-events: none;
}
/* 좌측고정: LNB 220px 도킹(콘텐츠를 밀어냄). 접힘·플라이아웃 오버레이 금지 */
html.admin-html.admin-lnb-fixed body.admin-shell .content,
html.admin-html.admin-lnb-fixed body.admin-shell #RightPane.content{
  margin-left: 220px;
  width: calc(var(--admin-shell-width, 1593px) - 220px);
  max-width: calc(var(--admin-shell-width, 1593px) - 220px);
}
html.admin-html.admin-width-fluid.admin-lnb-fixed body.admin-shell .content,
html.admin-html.admin-width-fluid.admin-lnb-fixed body.admin-shell #RightPane.content{
  width: calc(100% - 220px);
  max-width: calc(100% - 220px);
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar,
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close{
  width: 220px;
  overflow: hidden;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links{
  overflow: auto;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .logo-details .logo_name{
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0.1s;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links i.arrow{
  display: inline-block;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links li .link_name{
  display: inline-block;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close > .nav-links > li > .iocn-link,
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close > .nav-links > li > .profile-details{
  justify-content: flex-start;
  width: 100%;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links li .sub-menu{
  position: static;
  left: auto;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  margin-top: 0;
  padding: 0;
  border-radius: 0;
  min-width: 0;
  max-height: none;
  overflow: visible;
  display: none;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links li.showMenu > .sub-menu,
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links li.on > .sub-menu{
  display: block;
}
html.admin-html.admin-lnb-fixed body.admin-shell .sidebar.close .nav-links li .sub-menu li{
  padding-left: 48px;
}
html.admin-html.admin-lnb-fixed body.admin-shell .lnbBtn{
  opacity: .45;
  cursor: default;
}

/***** container *****/
.container{/*position: relative;*/overflow: hidden;padding-top: 60px;padding-bottom: 50px;width: var(--admin-shell-width, 1593px);min-width: 1593px;max-width: 1593px;height: 100vh;/*min-height: 900px;*/background-color: #f9fafc;box-sizing: border-box;}
.container:after{content: "";display: block;clear: both;}

/*** sidebar ***/
/* 펼침 220 = 아이콘열 48 + 텍스트영역 172 (접힘 48과 열 폭 일치) */
.sidebar{
  position: absolute;
  top: 60px;
  left: 0;
  height: calc(100% - 60px);
  max-height: calc(100vh - 60px);
  width: 220px;
  z-index: 99;
  transition: width 0.5s ease;
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
  overflow: hidden;
}

/* logo-details — 아이콘열 48에 맞춤 */
.sidebar .logo-details{height: 48px;width: 100%;display: flex;align-items: center;}
.sidebar .logo-details i{font-size: 24px;color: #fff;height: 40px;min-width: 48px;line-height: 40px;text-align: center;}
.sidebar .logo-details .logo_name{font-size: 18px;color: #fff;font-weight: 700;transition: 0.3s ease;transition-delay: 0.1s;}

/* nav-links */
.sidebar .nav-links{padding-bottom: 50px;height: 100%;overflow: auto;}
.sidebar .nav-links::-webkit-scrollbar{display: none;}
.sidebar .nav-links li{position: relative;font-size: 0;list-style: none;/* transition: all 0.4s ease; */}
.sidebar > .nav-links > li{padding:0;min-height:40px;}
.sidebar > .nav-links > li > .iocn-link,
.sidebar > .nav-links > li > .profile-details{display:flex;align-items:center;width:100%;min-height:40px;box-sizing:border-box;}
.sidebar.close > .nav-links > li > .iocn-link,
.sidebar.close > .nav-links > li > .profile-details{justify-content:center;width:48px;}
.sidebar.close .profile-details img{margin:0;}
.sidebar.close .nav-links > li > .iocn-link i{margin:0;}
/* 접힘: 행/링크 전체가 아니라 아이콘(이미지)만 포인터 대상 */
.sidebar.close > .nav-links > li > .iocn-link,
.sidebar.close > .nav-links > li > .help.iocn-link,
.sidebar.close > .nav-links > li > .profile-details{
  pointer-events: none;
}
.sidebar.close > .nav-links > li > .iocn-link > i:not(.arrow),
.sidebar.close > .nav-links > li > .help > i,
.sidebar.close > .nav-links > li > .profile-details > img{
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 2;
  flex: 0 0 32px;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  margin: 0 !important;
  align-self: center;
  overflow: hidden;
  box-sizing: border-box !important;
}
/* 선택(on/showMenu) 행도 하단 패딩으로 호버면이 커지지 않게 */
.sidebar.close .nav-links li.showMenu,
.sidebar.close .nav-links li.on{
  padding-bottom: 0 !important;
  min-height: 40px;
}
/* .sidebar > .nav-links > li:first-child{padding: 0;} */
.sidebar > .nav-links > li.lnb-help,
.sidebar > .nav-links > li:last-child:has(.help){position: absolute;left: 0;right: 0;bottom: 0;z-index: 2;}
/* 접힘 시 「도움말」 라벨 플라이아웃 — 최하단 고정, LNB 행 높이(40)에 맞춤 */
.sidebar.close .nav-links > li.lnb-help > .sub-menu,
.sidebar.close .nav-links > li:last-child:has(.help) > .sub-menu{
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
  margin-top: 0 !important;
  padding: 0 12px;
  min-height: 40px;
  height: 40px;
  max-height: 40px !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border-radius: 0 6px 0 0;
  overflow: hidden;
}
.sidebar.close .nav-links > li.lnb-help > .sub-menu > li,
.sidebar.close .nav-links > li:last-child:has(.help) > .sub-menu > li{
  padding: 0 !important;
  margin: 0;
  width: 100%;
}
.sidebar.close .nav-links > li.lnb-help > .sub-menu .link_name,
.sidebar.close .nav-links > li:last-child:has(.help) > .sub-menu .link_name{
  padding: 0;
  line-height: 40px;
  height: 40px;
  font-size: 15px;
}
.sidebar .nav-links li .iocn-link, .iocn-link2{display: flex;align-items: center;/* justify-content: space-between;transition: all 0.4s ease; */}
.sidebar .nav-links li i{margin: 0 8px;min-width: 32px;height: 32px;line-height: 32px;text-align: center;font-size: 22px;color: #fff;transition: all 0.3s ease;box-sizing: content-box;}
.sidebar .nav-links li i.arrow{color: rgba(255, 255, 255, .5);margin: 0;width: 28px;min-width: 28px;height: 32px;line-height: 32px;font-size: 20px;}
.sidebar > .nav-links > li > div > a{display: flex;align-items: center;flex: 1;min-width: 0;}
.sidebar .nav-links li div .link_name{display: inline-block;padding-left: 4px;height: 32px;line-height: 32px;width: 132px;font-size: 15px;font-weight: 400;color: #fff;transition: all 0.4s ease;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}

/* sub-menu — padding-left = 아이콘열 48 */
.sidebar .nav-links li .sub-menu{display: none;}
.sidebar .nav-links li .sub-menu li{padding-left: 48px;padding-top: 8px;}
.sidebar .nav-links li .sub-menu li:first-child{padding-top: 0;}
.sidebar.close .nav-links li .sub-menu li{padding-left: 0;}
.sidebar .nav-links li .sub-menu li:last-child{padding-bottom: 12px;}
.sidebar.close .nav-links li .sub-menu li:nth-child(2){padding-top: 12px;}
.sidebar .nav-links li .sub-menu .link_name, 
.sidebar .nav-links li .sub-menu .iocn-link2 a, 
.sidebar .nav-links li .sub-menu2 li a{display: flex;line-height: 20px;font-size: 13px;color: #fff;align-items: center;white-space: nowrap;transition: all 0.3s ease;}
.sidebar .nav-links li .sub-menu .iocn-link2 a{position: relative;padding-right: 8px;width: 140px;}
.sidebar .nav-links li .sub-menu .iocn-link2 a .link_name2{display:inline-block;width: 100%;/*font-size: .9em;*/color: inherit;overflow: hidden;text-overflow: ellipsis;}
.sidebar .nav-links li .sub-menu .iocn-link2 a ~ button{padding: 0;border: 0;min-height: 20px;}
.sidebar .nav-links li .sub-menu .iocn-link2 a ~ button i{margin: 0;min-width: 20px;height: 20px;line-height: 20px;color: rgba(255, 255, 255, .5);font-size: 18px;}
.sidebar .nav-links li .sub-menu .iocn-link2 a ~ button:hover i, 
.sidebar .nav-links li .sub-menu .iocn-link2 a ~ button:focus i{color: rgba(255, 255, 255, 1);}
.sidebar .nav-links li .sub-menu .iocn-link2 > i{height: auto;line-height: 20px;min-width: 18px;margin-left: 0;margin-right: 4px;font-size: 18px;color: rgba(255, 255, 255, .5);}
.sidebar .nav-links li .sub-menu .link_name{display: none;}
.sidebar .nav-links li .sub-menu.blank{opacity: 1;pointer-events: auto;}
/* .sidebar .nav-links li:hover .sub-menu.blank{top: 50% !important;transform: translateY(-50%);} */

/* showmenu */
.sidebar .nav-links li.showMenu{padding-bottom: 0;}
.sidebar.close .nav-links li.showMenu{padding-bottom: 5px;}
.sidebar .nav-links li.showMenu i.arrow{transform: rotate(90deg);color: rgba(255, 255, 255, 1);}
.sidebar .nav-links li.showMenu .sub-menu{display: block;}
.sidebar .nav-links li.showMenu.profile .profile-details{padding-bottom: 5px;}
.sidebar .nav-links li.profile .profile-details.dis .drop{pointer-events: none;cursor: default;}
.sidebar .nav-links li.profile .profile-details.dis .drop .name-job{width: 152px;}
.sidebar .nav-links li.profile .profile-details.dis .drop .arrow{display: none;}
.sidebar .nav-links li .y_num, .sidebar .nav-links li .y_txt{margin-left: auto;padding: 0 6px 0 5px !important;/* margin-right: 10px;min-width: 20px; */line-height: 20px;text-align: center;font-size: 12px;font-weight: 500;color: #242424;border-radius: 9px;}
.sidebar .nav-links li .y_txt{margin-right: 10px;min-height: unset;color: #fff;border: 0;border-radius: 2px;}

/* help — LNB 최하단 고정 (admin_header .lnb-help) */
.sidebar .help{
  position: relative !important;
  width: 220px;
  display: flex;
  align-items: center;
  min-height: 40px;
  transition: all 0.5s ease;
  cursor: pointer;
}
.sidebar .help > i{
  margin: 0 8px;
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  font-size: 22px;
  color: #fff;
}
.sidebar .help .link_name{
  display: inline-block;
  padding-left: 4px;
  height: 32px;
  line-height: 32px;
  width: 132px;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar .lnb-help > .help:hover,
.sidebar .lnb-help > .help:focus-within{
  filter: brightness(1.06);
}

/* psofile-details */
.sidebar .profile-details{display: flex;align-items: center;justify-content: space-between;}
.sidebar .profile-details i{margin-left: auto;}
.sidebar .profile-details img{height: 32px;width: 32px;max-width: none;object-fit: cover;object-position: center;border-radius: 50%;border: 1px solid rgba(255,255,255,.45);box-sizing: border-box;flex-shrink: 0;margin: 0 8px;transition: all 0.5s ease;}
.sidebar .profile-details .name-job{position: relative;display: block;padding-left: 4px;width: 152px;height: 32px;line-height: 16px;color: #fff;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.sidebar .profile-details .name-job::before, .sidebar .profile-details .name-job:has(.countdown) .profile_name, .sidebar .profile-details .job{display: none;}
.sidebar .profile-details .job{position: absolute;top: 0;font-size: 11px;font-weight: 500;color: inherit;white-space: nowrap;pointer-events: none;}
.sidebar .profile-details .profile_name, .sidebar .profile-details .countdown{line-height: 32px;font-size: 15px;font-weight: 500;color: inherit;white-space: nowrap;pointer-events: none;}
.sidebar .profile-details .countdown{font-size: 16px;font-weight: 700;}
.sidebar .user-menu > li:last-child{position: relative;padding: 0 0 0 48px !important;/* height: 180px; */}
.sidebar .user-icon{position: absolute;left: 0;}
.sidebar .user-icon li{padding: 10px 0 !important;}
.sidebar .user-icon li i{font-size: 20px;}
.sidebar .user-count div{width: 90px;height: 90px;text-align: center;color: #fff;}
.sidebar .user-count div i{display: block;margin: 0;padding-top: 5px;height: 30px;line-height: 30px;font-size: 20px;opacity: .5;}
.sidebar .user-count div b{line-height: 30px;font-size: 30px;font-weight: 700;color: inherit;}
.sidebar .user-count div p{margin-top: 3px;margin-left: 0;font-size: 12px;color: inherit;opacity: .5;}

/* close — 좌측 아이콘열 폭 축소 */
.sidebar.close{width: 48px;overflow: visible;/* overflow-y: auto;scrollbar-width: none;-ms-overflow-style: none;IE, Edge */}
.sidebar.close .logo-details .logo_name{transition-delay: 0s;opacity: 0;pointer-events: none;}
.sidebar.close .nav-links{overflow: visible;/* close에서 sub-menu 보이게 */}
.sidebar.close .nav-links i.arrow{display: none;}
/* .sidebar.close .nav-links li .iocn-link{display: block} */
.sidebar.close .nav-links li .iocn-link, .sidebar.close .nav-links li .iocn-link2{padding-right: 0;}
.sidebar .nav-links .iocn-link,
.sidebar .nav-links .iocn-link i,
.sidebar .nav-links .iocn-link2,
.sidebar .nav-links .iocn-link2 > i,
.sidebar .nav-links .drop,
.sidebar .nav-links .drop2,
.sidebar.close .nav-links > li > .iocn-link,
.sidebar.close .nav-links li .sub-menu a,
.sidebar.close .nav-links li .sub-menu .iocn-link2,
.sidebar.close .nav-links li .sub-menu .link_name2{cursor: pointer;}
.sidebar.close .nav-links li .sub-menu .iocn-link2 a{width: 100%;}
.sidebar.close .nav-links li .link_name{/* opacity: 0; */display: none;}
.sidebar.close .nav-links > li > .sub-menu > li:first-child > a.link_name{cursor: default;pointer-events: none;}
.sidebar.close .nav-links li .sub-menu{position: absolute;left: 100%;top: 0;margin-top: 0;padding: 12px 8px 0 16px;border-radius: 0 6px 6px 0;opacity: 0;display: block;pointer-events: none;transition: all 0.4s ease;transform: translateY(-10px);min-width: 160px;z-index: 120;}
.sidebar.close .nav-links li .sub-menu.user-menu{padding-bottom: 15px;}
.sidebar.close .nav-links li.showMenu .sub-menu{background-image: none !important;}
/* 접힘: 아이콘에서 진입해 is-flyout인 동안에만 플라이아웃 표시 */
.sidebar.close .nav-links > li.is-flyout > .sub-menu{opacity: 1;pointer-events: auto;transform: translateY(0);max-height: calc(100vh - 108px);overflow-y: auto;}
.sidebar.close .nav-links > li.is-flyout > .sub-menu .link_name{pointer-events: initial;}
/* 닫힌 플라이아웃은 하위(showMenu2 의 sub-menu2 등)까지 포인터 차단 — 투명 영역 hover 로 열리던 문제 */
html:not(.admin-lnb-fixed) .sidebar.close .nav-links > li:not(.is-flyout) > .sub-menu,
html:not(.admin-lnb-fixed) .sidebar.close .nav-links > li:not(.is-flyout) > .sub-menu *{pointer-events: none !important;}
.sidebar.close .nav-links li .sub-menu .iocn-link2 > i{display: none;}
.sidebar.close .nav-links li .sub-menu .link_name,/* .sidebar.close .nav-links li .sub-menu p, */
.sidebar.close .nav-links li .user-menu .countdown{display: block;padding-right: 15px;line-height: 20px;font-size: 15px;font-weight: 500;color: #fff;opacity: 1;}
.sidebar.close .nav-links li .user-menu .countdown{font-size: 18px;font-weight: 700;}
.sidebar.close .nav-links li .user-menu:has(.countdown) .link_name{display: none;}
.sidebar.close .nav-links li .y_num{margin-right: 0;}
.sidebar.close .nav-links li.showMenu.profile .profile-details{padding-bottom: 0;}
.sidebar.close .help{width: 48px;}
.sidebar.close .profile-details{background: none;/* width: 48px;height: 48px; */}
.sidebar.close .profile-details .name-job{/* opacity: 0; */display: none;pointer-events: none;}
.sidebar.close .profile-details i, .sidebar.close .profile-details .name-job{display: none;}
.sidebar.close .user-menu > li:last-child{padding: 0 !important;}
.sidebar.close .user-menu li:not(:first-child){display: none;}
.sidebar.close .user-icon{display: none;}
.sidebar.close .user-count div{width: auto;height: auto;}
.sidebar.close .user-count div i{min-width: 48px;}
.sidebar.close .nav-links li .sub-menu2 li{padding-right: 15px;}

/* iocn-link2 */
.sidebar .nav-links li i.arrow2, .sidebar .nav-links li .iocn-link2 > a i{position: absolute;right: 0;margin: 0;height: 20px !important;min-width: 20px !important;line-height: 20px !important;color: rgba(255, 255, 255, .5);font-size: 20px;}
.sidebar .nav-links li .sub-menu2{position: relative;opacity: 0;height: 0;overflow: hidden;pointer-events: none;}
.sidebar .nav-links li .sub-menu2:before{content: "";position: absolute;left: 8px;top: 2px;display: block;width: 2px;height: calc(100% - 10px);background-color: #fff;opacity: .5;}
.sidebar .nav-links li .sub-menu2 li{position: relative;padding-top: 5px !important;padding-bottom: 0 !important;padding-left: 30px;}
.sidebar .nav-links li .sub-menu2 li:before{content: "";position: absolute;left: 10px;top: 60%;display: block;width: 15px;height: 2px;background-color: #fff;opacity: .5;}
/* * {color:#242424} 때문에 sub-menu2 글자가 남색 배경에 묻힘 → 흰색 강제 */
.sidebar .nav-links li .sub-menu2 li a,
.sidebar .nav-links li .sub-menu2 li a .link_name2{color: #fff !important;}
.sidebar .nav-links li.showMenu2 .sub-menu2{opacity: 1;height: auto;overflow: visible;pointer-events: auto;}
.sidebar .nav-links li.showMenu2 i.arrow2, 
.sidebar .nav-links li.showMenu2 .iocn-link2 > i.arrow3{transform: rotate(90deg);color: rgba(255, 255, 255, 1);}


/*** content ***/
/* 접힘·펼침 모두 좌측 48 유지 — 펼침 LNB는 콘텐츠 위에 오버레이 */
.content{margin-left: var(--admin-lnb-width, 48px);padding: 20px;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));height: 100%;color: #11101d;background-color: #f9fafc;transition: all 0.5s ease;overflow-x: auto;box-sizing: border-box;}
#RightPane.content{margin-left: var(--admin-lnb-width, 48px);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));}
body.iframe-body .content,
html.iframe-html .content{margin-left: 0;width: 100%;max-width: none;}
.rows{display: flex;flex-direction: column;gap: 10px;}
.cols{display: grid;gap: 10px;grid-template-columns: 1fr 1fr;grid-template-rows: minmax(0, 1fr);transition: grid-template-columns 0.4s ease-in-out;}
.cols.trd{grid-template-columns: 1fr 1fr 1fr;}
.cols.fth{grid-template-columns: 1fr 1fr 1fr 1fr;}
.cols .dbl{grid-column: span 2;}
.cols .tpl{grid-column: span 3;}
.cols > div, .rows{height: 100%;min-height: 0;}
.content > div.b3{width: calc(75% - 5px);}
.content > div.b4{width: 100%;}
.content.pop{margin: 0;width: 100%;max-width: unset;background: none;}
/* iframe: 상단(제목·검색조건) 고정, 하단 본문만 스크롤 */
html:has(body.iframe-body),
html.iframe-html,
body.iframe-body{
  height: 100%;
  overflow: hidden;
}
/* 레거시(카드 pane 없음)만 전체 스크롤 허용 */
body.iframe-body:not(:has(.card.pane)){
  height: auto;
  min-height: 100%;
  overflow-y: auto;
}
body.iframe-body .content:has(.card.pane){
  display: flex;
  flex-direction: column;
  margin-left: 0;
  padding: 10px 20px;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
body.iframe-body .card.pane{
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
body.iframe-body .card.pane > .card-top{
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}
body.iframe-body .card.pane > .card-btm{
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
body.iframe-body .card.pane > .card-btm > .card-body{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  max-height: none;
}
/* 목록·분할 화면은 자식(.sbbox / .menu-split)이 스크롤 */
body.iframe-body .card.pane > .card-btm > .card-body:has(> .sbbox),
body.iframe-body .card.pane > .card-btm > .card-body:has(> .eval-guide),
body.iframe-body .card.pane > .card-btm > .card-body:has(> .menu-split),
body.iframe-body .card.pane > .card-btm > .card-body:has(> .list-block),
body.iframe-body .card.pane > .card-btm > .card-body:has(> .match-layout),
body.iframe-body .card.pane > .card-btm > .card-body:has(> form#listForm),
body.iframe-body:not(:has(.content.pop)) .card.pane > .card-btm > .card-body:has(> form#iForm),
body.iframe-body .card.pane > .card-btm > .card-body:has(> form > .sbbox){
  overflow: hidden;
}
/* window.open 팝업: 제목 고정, 본문만 스크롤 */
html:has(body.iframe-body .content.pop),
body.iframe-body:has(.content.pop):not(.send-pop){
  height: 100% !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop{
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop > .card.pane{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop > .card.pane > .card-top{
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 6 !important;
}
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop > .card.pane > .card-btm{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop > .card.pane > .card-btm > .card-body,
body.iframe-body:has(.content.pop):not(.send-pop) .content.pop > .card.pane > .card-btm > .card-body:has(> form#iForm){
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}
.card{width: 100%;}
.card-top,
.card-btm{
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 6px 18px rgba(0, 0, 0, .06);
}
.card-top{flex: 0 0 auto;}
.card-top:has(.srcBox){position: relative;}
.card-body, .cols{flex: 0 1 auto;min-height: 0;}
.card-header, .card-tab, .card-search{display: flex;flex-wrap: wrap;align-items: center;}
.card-header{border-bottom: 1px solid rgba(0, 0, 0, .15);padding: 15px;height: 60px;border-radius: inherit;}
.card-header .more{margin-left: auto;font-size: 0;}
.card-header .more i{color: #9e9e9e !important;}
.card-header i{width: 30px;line-height: 30px;text-align: center;}
.card-header span{font-size: 20px;font-weight: 700;font-family: "Noto Sans KR", sans-serif;letter-spacing: -0.03em;color: #1a1f2a;}
.card-header ul.location{
  margin-left: auto;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  flex-shrink: 0;
  height: 20px;
  white-space: nowrap;
}
.card-header ul.location li{
  position: static;
  float: none;
  display: inline-flex;
  align-items: center;
  padding: 0;
  height: 20px;
  line-height: 20px;
  font-size: 14px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 400;
  color: #333;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.card-header ul.location li a{
  display: inline-flex;
  align-items: center;
  height: 20px;
  font-size: 14px;
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: 20px;
}
.card-header ul.location li:last-child{font-weight: 500;color: #d71a21;}
.card-header ul.location i{
  font-variation-settings:'FILL' 1,'wght' 300,'GRAD' 0,'opsz' 20;
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 20px;
  line-height: 20px;
  font-size: 18px;
  color: #333;
  flex-shrink: 0;
}
.card-header ul.location.rev li{padding-left: 0;padding-right: 0;}
.card-header ul.location.rev li:first-child{font-weight: 500;color: #d71a21;}
.card-header ul.location.rev li:last-child{font-weight: normal;color: inherit;}
.card-header ul.location.rev i{left: auto;right: auto;}
.card-tab{border-bottom: 1px solid #d71a21;}
.card-tab li{margin-bottom: -1px;font-size: 0;}
.card-tab li a{border: 1px solid transparent;}
.card-tab li.on a, .card-tab li.on a:hover, .card-tab li.on a:focus{background-color: #fff;border: 1px solid #d71a21;border-bottom-color: transparent;border-top-left-radius: 5px;border-top-right-radius: 5px;}
.card-tab a{display: inline-block;padding: 9px 10px;line-height: 20px;font-size: 14px;font-weight: 700;color: #888;}
.card-tab a:hover, .card-tab a:focus{border-bottom: 1px solid #d71a21;background-color: #eee;}

/* 공통관리 문항/평가항목/평가기준 — tab-step (card-tab 동일) */
ul.tab-step{
  display: flex;flex-wrap: wrap;align-items: center;
  margin: 0 0 8px;padding: 0;list-style: none;
  border-bottom: 1px solid #d71a21;flex: 0 0 auto;
}
ul.tab-step li{margin: 0 0 -1px;padding: 0;font-size: 0;}
ul.tab-step li button,
ul.tab-step li a{
  display: inline-block;padding: 9px 10px;line-height: 20px;
  font-size: 14px;font-weight: 700;color: #888;
  border: 1px solid transparent;background: transparent;cursor: pointer;
  min-height: unset !important;height: auto !important;box-shadow: none;
}
ul.tab-step li.on button,
ul.tab-step li.on a{
  background-color: #fff;border: 1px solid #d71a21;border-bottom-color: transparent;
  border-top-left-radius: 5px;border-top-right-radius: 5px;color: #004a98;
}
ul.tab-step li button:hover,
ul.tab-step li a:hover{border-bottom: 1px solid #d71a21;background-color: #eee;}
.card.pane > .card-btm > .card-body > ul.tab-step{flex: 0 0 auto;}
.card.pane > .card-btm > .card-body > ul.tab-step + .list-info{margin-top: 8px;}
.card-search{padding: 10px 15px 0;min-height: 50px;}
.card-search ul, .tb_search ul, .card-search > input[type="file"], .tb-search > input[type="file"], 
.card-search > p, .card-tb_search > p, .card-search > span, .tb_search-search > span, .card-search > b{margin-bottom: 10px;}
.card-search ul li, .tb_search ul li, ul.btns li{float: left;display: flex;margin-left: 10px;height: 32px;font-size: 0;align-items: center;}
.card-search ul li:first-child, .tb_search ul li:first-child, ul.btns li:first-child, 
.card-search ul li button:first-child, .tb_search ul li button:first-child{margin-left: 0;}
.card-search ul li > label:first-child:before, .card-search ul li > span:first-child:before{content: "\00B7";margin-right: 3px;color: #d71a21;}
.card-search ul li.line{border-left: 1px solid rgba(0, 0, 0, .15);}
.card-search input[type="text"], .tb_search ul li:has(label, span) input[type="text"], .card-search select, .tb_search ul li:has(label, span) select, 
.card-search button[type="button"], .tb_search ul li:has(label, span) button[type="button"]{margin-left: 5px;}
.card-search select, .card-search p, .card-search span{font-size: 13px;}
.card-search > b.date > span{font-size: inherit;}
/* 검색조건 라벨/필드 기본 크기 */
.card-search ul li > span:first-child{
  display: inline-block;min-width: 64px;margin-right: 4px;
  font-size: 13px;font-weight: 500;color: #333;white-space: nowrap;
}
.card-search input[type="text"],
.card-search select{
  height: 32px;line-height: 30px;border-radius: 2px;
}
.card-search .datepicker{width: 110px !important;text-align: center;}
.card-search ul li.date-search-row{
  flex-wrap: nowrap;
  white-space: nowrap;
}
.card-search .dateinput_btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-left: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
  border: 1px solid #d3d3d0;
  background: #fff;
  box-sizing: border-box;
}
.card-search .dateinput_btn::before{
  content: "calendar_month";
  font-family: "Material Symbols Outlined";
  font-size: 18px;
  line-height: 1;
  color: #555;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
}
/* 검색조건 내 width 유틸 재조정 (페이지별 HTML 수정 없이 일괄 적용) */
.card-search .w80{width: 90px !important;}
.card-search .w100{width: 110px !important;}
.card-search .w120{width: 130px !important;}
.card-search .w140{width: 150px !important;}
.card-search .w150{width: 160px !important;}
.card-search .w160{width: 180px !important;}
.card-search .w180{width: 200px !important;}
.card-search .w200{width: 220px !important;}
.card-search .w220{width: 240px !important;}
.card-search .w260{width: 300px !important;}
.card-search .w280{width: 300px !important;}
.card-search .w300{width: 340px !important;}
.card-search .w320{width: 340px !important;}
.card-search .w360{width: 360px !important;}
.card-search .f-plan{width: 340px !important;}
.card-search .f-type{width: 240px !important;}
.card-search .f-rtype{width: 160px !important;} /* 채용유형(목록 검색용 축소) */
.card-search .f-status{width: 130px !important;}
.card-search input.f-plan.w280,
.card-search .w280.f-plan{width: 280px !important;}
.card-search .f-job{width: 110px !important;}
.card-search .f-name{width: 110px !important;}
.card-search .f-code{width: 120px !important;}
.card-search .f-short{width: 90px !important;}
.card-search .f-date{width: 110px !important;}
/* 조회조건 2줄 레이아웃 */
.card-search.multi{padding: 0;min-height: auto;}
.card-search.multi > div,
.card-search.multi > form,
.card-search.multi > form > div{
  display: flex !important;
  justify-content: space-between;
  align-items: flex-end !important;
  gap: 12px;
  width: 100%;
  margin: 0;
}
.card-search.multi .search-rows{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.card-search.multi .search-rows > ul{
  float: none;
  width: 100%;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 10px;
  column-gap: 0;
}
.card-search.multi .search-rows > ul > li{
  float: none;
  margin-left: 0;
  margin-right: 16px;
  height: 32px;
}
.card-search.multi ul.btns.slim{
  margin: 0 !important;
  padding: 0;
  flex-shrink: 0;
  align-self: flex-end;
  display: flex;
  align-items: center;
  height: 32px;
}
.card-search.multi ul.btns.slim li{margin-left: 6px;height: 32px;}
.card-search.multi ul.btns.slim li:first-child{margin-left: 0;}
.card-search.multi ul.btns.slim li button{height: 32px;min-height: 32px;}
/* 채용공고 조회: 1행 채용유형·구분·제목 + 버튼, 2행 일정~게시(전폭) */
.card-search.multi.notice-search > div,
.card-search.multi.notice-search > form > div{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center !important;
  column-gap: 12px;
  row-gap: 10px;
}
.card-search.notice-search .search-rows{
  display: contents;
}
.card-search.notice-search .search-rows > ul{
  margin-bottom: 0;
}
.card-search.notice-search .search-rows > ul:first-child{
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.card-search.notice-search .search-rows > ul:nth-child(2){
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  flex-wrap: wrap;
}
.card-search.notice-search ul.btns.slim{
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  margin: 0 !important;
  z-index: 1;
}
/* 지원자 조회: 1행 채용계획명~직무, 2행 지원일자~목록수+검색/초기화 */
.card-search.multi.applicant-search > div,
.card-search.multi.applicant-search > form > div{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center !important;
  column-gap: 8px;
  row-gap: 10px;
}
.card-search.applicant-search .search-rows{
  display: contents;
}
.card-search.applicant-search .search-rows > ul{
  margin-bottom: 0;
  flex-wrap: nowrap;
}
.card-search.applicant-search .search-rows > ul:first-child{
  grid-column: 1 / -1;
}
.card-search.applicant-search .search-rows > ul:nth-child(2){
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}
.card-search.applicant-search ul.btns.slim{
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  margin-bottom: 0 !important;
}
.card-search.applicant-search .search-rows > ul > li{
  margin-right: 8px;
  flex: 0 0 auto;
}
.card-search.applicant-search .search-rows > ul > li > span:first-child{
  min-width: auto;
  margin-right: 2px;
}
.card-search.applicant-search .f-plan,
.card-search.applicant-search .w220.f-plan,
.card-search.applicant-search .w320.f-plan{width: 210px !important;}
.card-search.applicant-search .f-status,
.card-search.applicant-search .w120.f-status{width: 100px !important;}
.card-search.applicant-search .f-job,
.card-search.applicant-search .w100.f-job{width: 90px !important;}
.card-search.applicant-search .datepicker,
.card-search.applicant-search .f-date{width: 96px !important;}
.card-search.applicant-search .f-code{width: 88px !important;}
.card-search.applicant-search .f-name{width: 80px !important;}
.card-search.applicant-search .f-short{width: 70px !important;}

/* input */
label{font-size: 13px;}
input[type="text"], input[type="password"], input[type="time"], select, input[type="file"]{width: 150px;height: 30px;background-color: #fff;border: 1px solid #d3d3d0;}
input[type="text"], input[type="password"], input[type="time"], button[type="button"]{padding: 0 8px;font-size: 13px;}
/* select 공통 — Flat, 높이 고정 (default.css height:auto 보정) */
select{
  padding: 0 24px 0 8px;
  font-size: 13px;
  height: 30px;
  min-height: 30px;
  line-height: 28px;
  box-sizing: border-box;
  vertical-align: middle;
  border-radius: 2px;
  appearance: auto;
}
input[type="file"]{padding-top: 1px;font-size: 13px;}
button[type="button"]{
  display: inline-flex;align-items: center;justify-content: center;gap: 4px;
  padding: 0 10px;min-height: 30px;line-height: 1;box-sizing: border-box;
  color: #555;border: 1px solid #d3d3d0;border-radius: 2px;vertical-align: middle;
}
button[type="button"] i{font-size: 18px;color: inherit;line-height: 1;}
button.btn-default{color: #333;background-color: #fff;padding: 0 8px;}
button.btn-primary{color: #fff;background-color: #004a98;border: none;}
button.btn-danger{color: #fff;background-color: #e35327;border: none;}
button.btn-secondary{color: #666;background-color: #efefef;border: none;}
button.btn-info{color: #fff;background-color: #009c82;border: none;}
button.btn-gray{color: #fff;background-color: #656565;border: none;}
button.btn-primary,
button.btn-primary i,
button.btn-danger,
button.btn-danger i,
button.btn-info,
button.btn-info i,
button.btn-gray,
button.btn-gray i{color: #fff;}
button.btn-default i,
button.btn-secondary i{color: inherit;}
textarea{padding: 5px 8px;height: 60px;font-size: 13px;border: 1px solid #d3d3d0;}
textarea.rs_n{resize: none;}
ul.btns{margin-left: auto;}
/* ul.btns li{margin-left: 5px;} */
i{-webkit-user-select: none;-moz-user-select: -moz-none;-ms-user-select: none;user-select: none;}
strong.right{display: inline-block;}
strong:has(button){display: block;position: relative;}
strong button{position: absolute;right: 0;top: 0;margin-top: 0;font-weight: normal;}
div:has(caption.right) p, div:has(strong.right) p{margin-left: 15px;font-size: 13px;}
div:has(caption.right) p.ref, div:has(strong.right) p.ref{position: relative;padding-left: 17px;}
div:has(caption.right) p.ref:before, div:has(strong.right) p.ref:before{content: "\203B";position: absolute;left: 0;}
.div_file_wrap:has(.btn_add, .btn_remove) .div_file_input{width: calc(100% - 80px) !important;}
.div_file_wrap .div_file_input{width: 100% !important;}
.div_file_wrap .div_file_btn{width: 80px !important;}

/* details - summary */
.sbbox details{visibility: visible;}
.acc summary{position: relative;padding: 5px 0;display: block !important;height: 40px;line-height: 28px;text-align: center;font-size: 13px;font-weight: 500;background-color: #f9f9f9;border: 1px solid rgba(0, 0, 0, .15);/* pointer-events: none; */}
.acc summary::-webkit-details-marker{display: none;}
.acc summary + div{padding: 5px 10px;border: 1px solid rgba(0, 0, 0, .15);border-top: 0;}
.acc summary::after{content: "펼치기";position: absolute;top: 4px;right: 1em;padding: 0 10px;font-weight: normal;color: #333;background-color: #fff;border: 1px solid #d3d3d0;border-radius: 2px;cursor: pointer;/* pointer-events: visible; */}
details.acc[open] summary::after{content: "접기";}

/* table */
.cols.fth p{font-size: 13px;}
.card p.notice{padding: 5px 15px;font-size: 13px;text-align: center;}
.card p.ellips, .card a.ellips{display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.card a+i.ex{font-size: 20px;cursor: pointer;}
.tb_stky table thead, .tb_stky table caption{position: sticky;top: 0;z-index: 1;}
.tb_stky table caption{background-color: #fff;}
.tb_stky table:has(caption:not(.blind)) thead{top: 32px;}
.tb_stky table:has(> caption.blind) thead{top: 0;}
table{width: 100%;max-width: 100%;border-collapse: separate;border-spacing: 0;table-layout: fixed;}
/* CKEditor 내부 table — 전역 table 스타일 격리 (레이아웃 깨짐 방지) */
.cke table,
.cke_reset table,
table.cke,
span.cke_browser_webkit table,
.cke_chrome table{
  width:auto !important;
  max-width:none !important;
  table-layout:auto !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.cke table th,
.cke table td,
.cke_reset table th,
.cke_reset table td,
.cke_chrome table th,
.cke_chrome table td{
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
  background:transparent !important;
  text-align:left !important;
  vertical-align:top !important;
  line-height:normal !important;
  font-size:inherit !important;
  font-weight:inherit !important;
}
.cke table th span,
.cke table td span,
.cke table td a,
.cke table td b,
.cke_chrome table th span,
.cke_chrome table td span{
  display:inline !important;
  font:inherit !important;
  color:inherit !important;
}
.cke table caption:before,
.cke_chrome table caption:before{content:none !important;}
.cke table caption{min-height:0;padding:0;line-height:normal;font-size:inherit;font-weight:inherit;}
.cke table caption:before,
.cke strong:before{content:none !important;}

table.tLeft th, table.tLeft td{text-align: left !important;}
table caption, .cols.fth strong, strong, strong.dot{line-height: 30px;font-size: 14px;font-weight: bolder;text-align: left;}
table caption{position:relative;min-height:32px;padding-right:8px;box-sizing:border-box;}
table caption:before, .cols.fth strong:before, strong:before, strong.dot:before{content: "\00B7";margin: 0 5px;}
table caption.cap2{font-size: 13px;text-align: right;}
table caption.cap2:before{content: "\203B";}
table caption span{font-size: 13px;font-weight: normal;}
table caption span.inh{font-size: inherit;font-weight: inherit;}
table caption.right, strong.right{position: relative;padding-left: 35px;line-height: 30px;font-size: 14px;font-weight: bolder;text-align: left;}
table caption.right i, strong.right i{position: absolute;top: 7px;left: 15px;font-size: initial;color: #ffbd2f;background-color: #000;font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 200,'opsz' 24;}
table caption.right:before, strong.right:before{content: none !important;}
/* 목록 제목(caption) 오른쪽 액션 버튼 — caption은 table-caption이라 flex 금지, absolute 사용 */
table caption:has(> ul.btns){padding-right: 0;}
table caption ul.btns,
table caption > button.absolute{
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
  padding: 0;
  font-weight: normal;
  line-height: 1;
  z-index: 2;
  white-space: nowrap;
}
table caption ul.btns{
  display: block;
  height: 32px;
}
table caption ul.btns li{
  float: left !important;
  display: flex !important;
  align-items: center;
  margin: 0 0 0 5px !important;
  height: 32px;
  font-size: 0;
}
table caption ul.btns li:first-child{margin-left: 0 !important;}
table caption ul.btns li::before{content: none !important;float: none !important;}
table caption ul.btns button,
table caption ul.btns select{
  font-weight: normal;
  vertical-align: middle;
  height: 30px;
  min-height: 30px;
}
table caption ul.btns .batch-tools{display:inline-flex;align-items:center;gap:6px;height:32px;}
table caption ul.btns .divi{display:inline-block;width:1px;height:18px;margin:0 6px;background:#d3d3d0;vertical-align:middle;}
/* caption에 버튼이 있으면 건수 줄(.list-info)은 왼쪽 정보만 */
.list-info:not(:has(ul.btns)){justify-content:flex-start;}
.list-info:has(+ .sbbox table caption ul.btns),
.list-info:has(+ form .sbbox table caption ul.btns){padding-bottom:4px;}
/* sticky caption도 absolute 기준이 되도록 */
.tb_stky table caption:has(> ul.btns){min-height:32px;}
.tb_stky table:has(caption > ul.btns) thead{top: 32px;}
table th, table td{padding: 3px 8px;height: 34px;text-align: center;border-right: 1px solid rgba(0, 0, 0, .15);border-bottom: 1px solid rgba(0, 0, 0, .15);}
table th, table td, table p, table a{line-height: 18px;font-size: 13px;}
table th{font-weight: 500;background-color: #f9f9f9;}
table td{background-color: #fff;}
table:not(.ui-datepicker-calendar) tr:first-child th, table:not(.ui-datepicker-calendar) tr:first-child td{padding: 2.5px 8px;border-top: 1px solid rgba(0, 0, 0, .15);}
table thead + tbody tr:first-child th, table thead + tbody tr:first-child td, 
table tfoot th, table tfoot td{border-top: none !important;}
table th:first-child, table td:first-child, table th.invisible + th, table td.invisible + td{border-left: 1px solid rgba(0, 0, 0, .15);}
table th.bl0, table td.bl0{border-left: none;}
table th.br1, table td.br1{border-right: 1px solid rgba(0, 0, 0, .15);}
table th.br0, table td.br0{border-right: none;}
table td.br0 + td{text-align: right;}
table th label{display: inline-block;font-family: inherit;font-size: inherit;color: inherit;}
table td label{position: relative;display: inline-block;}
table th span, table td span, table td a, table td b{display: inline-block;}
table th span, table td span{font: inherit;color: inherit;}
table td input[type="file"]{width: 100%;min-height: 30px;background-color: #fff;border: 1px solid #d3d3d0;}
table td input[type="file"].fLeft, table td input[type="file"].fRight{width: calc(100% - 100px);}
table td input[type="file"].add{width: calc(100% - 124px) !important;}
table td input[type="text"], table td select, table td textarea{padding: 0 8px;width: 100%;min-height: 30px;background-color: #fff;}
table td input[type="text"]:read-only, table td input[type="text"]:disabled, 
table td textarea:read-only, table td textarea:disabled{background-color: #f3f3f3;}
table td textarea{display: block;/* vertical-align: top; */}
/* 테이블 셀 안 select: 셀 너비에 맞춤 (w90/w150 등 유틸 폭 무시) — 전 페이지 공통 */
table:not(.ui-datepicker-calendar) td > select,
table:not(.ui-datepicker-calendar) th > select,
table:not(.ui-datepicker-calendar) td select:only-of-type{
  width: 100% !important;
  max-width: 100%;
  height: 30px;
  min-height: 30px;
  box-sizing: border-box;
  padding: 0 24px 0 8px;
}
/* 문자/이메일 템플릿 행: 선택창+불러오기 버튼을 한 줄로 */
table:not(.ui-datepicker-calendar) td .tpl-row{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
}
table:not(.ui-datepicker-calendar) td .tpl-row > select{
  width: 200px !important;
  max-width: 200px !important;
  flex: 0 1 200px;
  min-width: 120px;
}
table:not(.ui-datepicker-calendar) td .tpl-row > button{
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
  white-space: nowrap;
}
table:not(.ui-datepicker-calendar) td:has(> select:only-child),
table:not(.ui-datepicker-calendar) th:has(> select:only-child),
table:not(.ui-datepicker-calendar) td:has(> select:only-of-type):not(:has(> input)):not(:has(> button)):not(:has(> a)){
  padding-left: 6px;
  padding-right: 6px;
}
/* 채용일정: 일자·일시 ~ 일자·일시 한 줄 (채용공고명과 같은 row) */
.tb_view td.date-time-cell{white-space:nowrap;}
.tb_view .date-time-range{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
.tb_view .date-time-range span{flex:0 0 auto;font-size:13px;}
.tb_view .date-time-range input[type="text"],
.tb_view .date-time-range select{
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto;
}
.tb_view .date-time-range .w120,
.tb_view .date-time-range .dateinput,
.tb_view .date-time-range .datepicker{width:110px !important;padding:0 4px !important;}
.tb_view .date-time-range .w80{width:52px !important;padding:0 4px 0 6px !important;}
.tb_view .date-time-range .w60{width:56px !important;padding:0 4px 0 6px !important;}
.tb_view .date-time-range .tilde{margin:0 2px;}
.tb_view .date-time-range .dateinput_btn{
  flex: 0 0 30px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px !important;
  height: 30px;
  margin: 0;
  overflow: hidden;
  font-size: 0 !important;
  line-height: 0;
  color: transparent !important;
  text-indent: 0;
  border: 1px solid #d3d3d0;
  background: #fff;
  box-sizing: border-box;
}
.tb_view .date-time-range .dateinput_btn::before{
  content: "calendar_month";
  font-family: "Material Symbols Outlined";
  font-size: 18px;
  line-height: 1;
  color: #555;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
}
table td label.etc input[type="text"], table td label.sel select{position: absolute;margin-left: 5px;}
table td label.sel select{width: 50px !important;}
table td select:disabled{background-color: #eee;}
.tb_list tbody tr.tr_clr td{background-color:#d9e9f9}
.tb_list tbody tr:hover td{background-color: #eee;}
/* No 컬럼 공통 폭 (모든 테이블 동일) — thead th.col-no 기준으로 table-layout:fixed 열 폭 결정 */
table th.col-no,
table td.col-no,
table col.col-no{
  width: 40px !important;
  min-width: 40px !important;
  max-width: 44px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}
/* 체크박스 컬럼 공통 폭 (모든 테이블 동일) */
table th.col-chk,
table td.col-chk,
table col.col-chk{
  width: 36px !important;
  min-width: 36px !important;
  max-width: 40px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}
table th.col-chk input[type="checkbox"],
table td.col-chk input[type="checkbox"]{
  margin: 0;
  vertical-align: middle;
}
/* JS 미로드 페이지 대비: thead 첫 열이 체크박스면 해당 열 축소 */
table:has(> thead > tr:first-child > th:first-child input[type="checkbox"]) > thead > tr:first-child > th:first-child,
table:has(> thead > tr:first-child > th:first-child input[type="checkbox"]) > tbody > tr > td:first-child,
table:has(> thead > tr:first-child > th:first-child input[type="checkbox"]) > colgroup > col:first-child{
  width: 36px !important;
  min-width: 36px !important;
  max-width: 40px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  box-sizing: border-box;
  text-align: center;
}
/* 저장/삭제·관리 등 액션 버튼 컬럼 — 버튼이 한 줄에 들어가도록 */
table th.col-act,
table td.col-act,
table col.col-act{
  width: 88px !important;
  min-width: 72px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap !important;
  overflow: visible;
}
/* 복사등록+수정+삭제(3버튼) — AS-IS 저장/삭제 열 (아이콘) */
table th.col-act-3,
table td.col-act-3,
table col.col-act-3{
  width: 108px !important;
  min-width: 100px !important;
  max-width: 120px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap !important;
  overflow: visible;
}
table td.col-act button,
table th.col-act button,
table td.col-act-3 button,
table th.col-act-3 button{
  display: inline-block;
  vertical-align: middle;
  margin: 0 1px;
}

/* 채용관리 테이블 행 액션 아이콘 — 01. Flat (전 페이지 공통) */
button.btn-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  min-height: 26px !important;
  min-width: 26px;
  padding: 0 !important;
  margin: 0 1px;
  border: 1px solid #d3d3d0;
  border-radius: 2px;
  background: #fff;
  color: #555;
  cursor: pointer;
  vertical-align: middle;
  line-height: 1;
  box-shadow: none;
  text-shadow: none;
  transform: none;
}
button.btn-ico > .material-symbols-outlined,
button.btn-ico > i.material-symbols-outlined{
  font-size: 16px;
  line-height: 1;
  color: inherit;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
  filter: none;
}
button.btn-ico .blind{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
button.btn-ico:hover{
  background: #eef5fc;
  border-color: #004a98;
  color: #004a98;
  box-shadow: none;
  transform: none;
}
button.btn-ico:active{
  background: #e4eef8;
  box-shadow: none;
  transform: none;
}
button.btn-ico.btn-primary,
button.btn-ico.is-primary{
  background: #004a98;
  border-color: #004a98;
  color: #fff;
  box-shadow: none;
}
button.btn-ico.btn-primary:hover,
button.btn-ico.is-primary:hover{
  background: #003d7a;
  border-color: #003d7a;
  color: #fff;
}
button.btn-ico.is-danger{
  color: #555;
}
button.btn-ico.btn_del{
  text-indent: 0;
  font-size: inherit;
  background-image: none;
  position: relative;
  z-index: 2;
}
button.btn-ico.is-danger:hover{
  background: #fff4f4;
  border-color: #d71a21;
  color: #d71a21;
}
/* 버튼 2개 이상인 셀: 클래스 없어도 줄바꿈 방지 */
table.tb_list td:has(> button + button),
table.tb_list td:has(> a + a),
table.tb_list td:has(> button + a),
table.tb_list td:has(> a + button){
  white-space: nowrap !important;
}
/* 지원자 목록: 채용계획명 칸 여유 */
#myTable th.tal,
#myTable td.tal{text-align:left;padding-left:10px;padding-right:10px;word-break:keep-all;}
#myTable td.tal:nth-child(2){white-space:normal;line-height:1.35;min-width:220px;}
/* 평가위원 등록: 역할 체크/버튼 셀 정렬 */
#evTable th,
#evTable td{text-align:center;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;}
#evTable td.tal{text-align:left;white-space:nowrap;}
#evTable td input[type="checkbox"]{margin:0;vertical-align:middle;}
#evTable td button:not(.btn-ico){min-width:56px;padding:0 6px;height:28px;min-height:28px;}
#evTable colgroup col{box-sizing:border-box;}
.tb_type01 thead td, .tb_type01 tbody td{text-align: left;}
.tb_type01 tbody td:has(.txt_n, .txt_t){text-align: center;}
.tb_type01 .today_icon{font-size: 0;vertical-align : middle;}
.tb_type01 .today_icon i{vertical-align : middle;}
.tb_type01 .fst{background-color: #eee;}
.tb_type01 .thumb{margin: 5px 0;display: inline-block;line-height: 20px;font-size: 12px;}
.tb_type01 .note{line-height: 20px;font-size: 12px;color: #333;}
.tb_type01.sum tbody tr td:nth-child(2){text-align: right;}

/* Magic-check */
th:has(.radio), th:has(.checkbox), td:has(.radio), td:has(.checkbox){position: relative;}
.radio, .checkbox{position: absolute;overflow: hidden;clip: rect(0,0,0,0);}
.radio[disabled], .checkbox[disabled]{cursor: not-allowed;}
.radio + label, .checkbox + label{position: relative;display: inline-block;margin-right: 5px;padding-left: 22px;cursor: pointer;vertical-align: middle;height: 20px;line-height: 20px;}
.radio + label.txt_n, .checkbox + label.txt_n{margin-right: 0;padding-left: 18px;}
.radio + label.txt_t, .checkbox + label.txt_t{margin-right: 0;padding-left: 0;margin-bottom: 20px;}
.radio + label:hover:before, .checkbox + label:hover:before{animation-duration: 0.4s;animation-fill-mode: both;animation-name: hover-color;}
.radio:focus + label:before, .checkbox:focus + label:before{border: 1px solid #3e97eb;}
.radio:checked:focus + label:before, .checkbox:checked:focus + label:before{border: 2px solid #000;}
.radio + label:before, .checkbox + label:before{position: absolute;top: 1px;left: 0;display: inline-block;width: 18px;height: 18px;content: "";background-color: #fff;;border: 1px solid #c0c0c0;}
.radio + label:after, .checkbox + label:after{position: absolute;display: none;content: "";}
table .radio + label, table .checkbox + label{height: 30px;line-height: 30px;}
table .radio + label:before, table .checkbox + label:before{top: 6px;}
table .radio + label:after{top: 11px;} 
table .checkbox + label:after{top: 7px;}
table .radio + label.txt_t:before, table .checkbox + label.txt_t:before{top: 30px;left: calc(50% - 9px);}
table .radio + label.txt_t:after, table .checkbox + label.txt_t:after{top: 31px;left: calc(50% - 3px);}

.radio[disabled] + label, .checkbox[disabled] + label{cursor: not-allowed;color: #e4e4e4;}
.radio[disabled] + label:hover, .radio[disabled] + label:before, .radio[disabled] + label:after,
.checkbox[disabled] + label:hover, .checkbox[disabled] + label:before, .checkbox[disabled] + label:after{cursor: not-allowed;}
.radio[disabled] + label:hover:before, .checkbox[disabled] + label:hover:before{border: 1px solid #e4e4e4;animation-name: none;}
.radio[disabled] + label:before, .checkbox[disabled] + label:before{border-color: #e4e4e4;}
.radio:checked + label:before, .checkbox:checked + label:before{animation-name: none;}
.radio:checked + label:after, .checkbox:checked + label:after{display: block;}
.radio + label:before{border-radius: 50%;}
.radio + label:after{top: 6px;left: 5px;width: 8px;height: 8px;border-radius: 50%;background-color: #3e97eb;}
.radio:checked + label:before{border: 1px solid #3e97eb;}
.radio:checked[disabled] + label:before{border: 1px solid #c9e2f9;}
.radio:checked[disabled] + label:after{background-color: #c9e2f9;}
.checkbox + label:before{border-radius: 3px;}
.checkbox + label:after{top: 2px;left: 6px;box-sizing: border-box;width: 6px;height: 12px;transform: rotate(45deg);border-width: 2px;border-style: solid;border-color: #fff;border-top: 0;border-left: 0;}
.checkbox:checked + label:before{border: #3e97eb;background-color: #3e97eb;}
.checkbox:checked[disabled] + label:before{border: #c9e2f9;background-color: #c9e2f9;}
@keyframes hover-color{
  from{border-color: #c0c0c0;}
  to{border-color: #3e97eb;}
}
/*
  The MIT License (MIT)
  Copyright (c) 2016 forsigner
*/

/* paging */
/* 공고관리 등 등록/상세 폼 */
.tb_view th{width:140px;text-align:left !important;vertical-align:middle;}
.tb_view td{text-align:left !important;vertical-align:middle;}
.tb_view textarea{width:100%;min-height:160px;box-sizing:border-box;}
.tb_view .editor-mock{min-height:220px;padding:12px;border:1px solid #d3d3d0;background:#fafafa;line-height:1.6;}
/* eGov 공통 CKEditor — 메모 셀(td) 안에 에디터 전체 수용 */
.tb_view textarea.ckeditor,
.tb_view textarea[data-editor]{width:100%;min-height:280px;box-sizing:border-box;}
.tb_view td.td-editor,
.tb_view td:has(.cke),
.tb_view td:has(textarea.ckeditor),
.tb_view td:has(.editor-wrap){
  padding-top:8px;padding-bottom:8px;
  overflow:visible;
  max-width:none;
  width:auto;
  vertical-align:top !important;
}
.tb_view .editor-wrap{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.tb_view .qna-question{
  display:block;
  min-height:80px;
  padding:12px 14px;
  border:1px solid #d3d3d0;
  background:#fafafa;
  line-height:1.6;
  white-space:pre-wrap;
  word-break:keep-all;
  box-sizing:border-box;
}
.tb_view .cke{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  display:block !important;
}
.tb_view .cke_chrome{
  width:100% !important;
  max-width:100% !important;
  border-color:#d3d3d0 !important;
  border-radius:2px;
  box-sizing:border-box !important;
  display:block !important;
}
.tb_view .cke_inner{width:100% !important;box-sizing:border-box !important;}
.tb_view .cke_top{
  width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  padding:4px 3px 2px !important;
}
.tb_view .cke_toolbox{
  display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;
  width:100%;box-sizing:border-box;
}
.tb_view .cke_toolbar{float:none !important;display:inline-block;vertical-align:middle;}
.tb_view .cke_toolbar_break{display:none !important;} /* 강제 개행 숨김 → 박스 폭에 맞춰 자연 줄바꿈 */
.tb_view .cke_contents{
  width:100% !important;
  min-height:200px;
  box-sizing:border-box !important;
}
.tb_view .cke_bottom{width:100% !important;box-sizing:border-box !important;}
.tb_view .cke_wysiwyg_frame,
.tb_view .cke_wysiwyg_div{width:100% !important;box-sizing:border-box !important;}
.tb_view .intable{margin:0;width:100%;table-layout:fixed;}
.tb_view .intable th,
.tb_view .intable td{
  height:36px;vertical-align:middle !important;box-sizing:border-box;
  text-align:center !important;
}
.tb_view .intable td.tal,
.tb_view .intable th.tal{text-align:left !important;}
.tb_view .intable td.tac{text-align:center !important;}
.tb_view .intable select.wp100,
.tb_view .intable input.wp100{width:100% !important;max-width:100%;box-sizing:border-box;}
.tb_view .intable td:has(select){padding-left:6px;padding-right:6px;}
.tb_view .intable td:has(button){padding-left:4px;padding-right:4px;}
.tb_view .intable .btn-del-row{min-width:52px;height:28px;min-height:28px;}
.tb_view .chk-group,
.tb_view .radio-group{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:6px 12px;padding:4px 8px;
}
.tb_view .chk-group label,
.tb_view .radio-group label{
  margin-right:0;display:inline-flex;align-items:center;gap:4px;
  white-space:nowrap;line-height:1.2;
}
.tb_view .chk-group input[type="checkbox"],
.tb_view .radio-group input[type="radio"]{margin:0;flex-shrink:0;}
.tb_view .req:before{content:"*";margin-right:3px;color:#d71a21;}
.tb_view input.wp100{width:100% !important;max-width:100%;box-sizing:border-box;}
.tb_view .hint{color:#666;font-size:13px;}
.btn-wrap{display:flex;justify-content:center;gap:8px;padding:16px 0 8px;}
.list-info{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0 0 6px;font-size:13px;}
.list-info .hint{color:#888;font-size:12px;}
/* AS-IS 문항 인트로 hover → 심층문항 툴팁 (레이아웃을 밀지 않음) */
.tooltip_label{position:relative;cursor:help;display:inline-block;max-width:100%;text-align:left;z-index:1;}
.tooltip_label .tooltip_box{
  visibility:hidden;opacity:0;pointer-events:none;
  position:absolute;left:0;top:100%;z-index:40;
  min-width:280px;max-width:min(520px, 70vw);width:max-content;
  margin:0;padding:8px 10px;
  border:1px solid #333;background:#efecec;color:#222;
  text-align:left;white-space:normal;line-height:1.45;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.tooltip_label:hover,.tooltip_label:focus-within{z-index:20;}
.tooltip_label:hover .tooltip_box,.tooltip_label:focus-within .tooltip_box{visibility:visible;opacity:1;}
.tb_list td:has(.tooltip_label){overflow:visible;position:relative;}
.sbbox:has(.tooltip_label){overflow:visible;}
/* 목록 제목 + 액션 버튼 한 줄 — 테이블 바로 위 */
.list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:32px;
  margin:0;
  padding:0 0 4px;
  flex:0 0 auto;
  flex-wrap:wrap;
}
.list-head > strong,
.list-head > .list-title{
  position:relative;
  margin:0;
  padding:0;
  line-height:30px;
  font-size:14px;
  font-weight:bolder;
  text-align:left;
  flex:0 1 auto;
}
.list-head > strong:before,
.list-head > .list-title:before{
  content:"\00B7";
  margin:0 5px;
}
.list-head > ul.btns{
  margin:0 0 0 auto;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:0;
}
.list-head > ul.btns li{
  float:none !important;
  margin:0 0 0 5px !important;
  height:32px;
  display:inline-flex !important;
  align-items:center;
}
.list-head > ul.btns li:first-child{margin-left:0 !important;}
.list-head > ul.btns li::before{content:none !important;float:none !important;}
.list-head > ul.btns button,
.list-head > ul.btns select{
  font-weight:normal;
  height:30px;
  min-height:30px;
  vertical-align:middle;
}
.list-head .batch-tools{display:inline-flex;align-items:center;gap:6px;}
.list-head .divi{display:inline-block;width:1px;height:18px;margin:0 6px;background:#d3d3d0;vertical-align:middle;}
.list-info + .list-head{margin-top:0;}
/* 제목+버튼 줄을 테이블에 바로 붙임 */
.list-head + .sbbox,
.list-head + form,
form:has(> .list-head) + form > .sbbox,
form:has(> .sbbox) > .list-head + .sbbox{
  margin-top:0 !important;
}
/* 평가위원 등록: 등록 폼(list-head) 바로 아래 테이블 */
#regForm{flex:0 0 auto;margin:0;padding:0;}
#regForm + #listForm{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;}
#regForm + #listForm > .sbbox{flex:1;min-height:0;margin-top:0;}
.list-head-reg{align-items:center;}
.list-head-reg > ul.btns{max-width:100%;}
.list-head-reg > ul.btns label{
  display:inline-flex;align-items:center;gap:3px;
  font-size:13px;font-weight:normal;white-space:nowrap;line-height:1.2;
}
.list-head-reg > ul.btns input[type="text"]{height:30px;min-height:30px;}
.list-head-reg > ul.btns input[type="checkbox"]{margin:0;}
.list-block{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.list-block > .list-head{flex:0 0 auto;}
.list-block > .sbbox,
.list-block > form{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.list-block > form > .sbbox{flex:1;min-height:0;}
.blind, .sr-only{
  position:absolute !important;
  width:1px !important;height:1px !important;
  margin:-1px !important;padding:0 !important;
  overflow:hidden !important;clip:rect(0,0,0,0) !important;
  border:0 !important;
}
/* table caption.blind 는 높이 자리를 잡아 공백이 생기므로 완전 제거 */
table caption.blind{
  display:none !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border:0 !important;
}
.tal{text-align:left !important;}
.tac{text-align:center !important;}
.status-ing{color:#004a98;font-weight:500;}
.status-end{color:#888;}
.status-wait{color:#e35327;}

.paging{margin-top: 10px;padding-bottom: 10px;display: flex;justify-content:center;}
.paging li{float: none;}
.paging li::before{content: none;float: none;}
.paging li.on a, .paging li.on button{font-weight: bold;}
.paging li a, .paging li button{
  display: flex;align-items: center;justify-content: center;
  width: 40px;height: 40px;padding: 0;min-height: 0;line-height: 1;
  border: 1px solid #dedede;border-right: none;border-radius: 0;
  box-sizing: border-box;text-align: center;
}
.paging li:last-child a,
.paging li:last-child button{border-right: 1px solid #dedede;}
.paging li i{/*font-size: inherit;*/color: inherit;}

/* datepicker */
.ui-datepicker{font-size: 13px !important;width: 200px !important;}
.ui-datepicker select.ui-datepicker-month{width:30% !important;font-size: 12px !important;}
.ui-datepicker select.ui-datepicker-year{width:40% !important;font-size: 12px !important;}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next{top: 50% !important;transform: translateY(-50%) !important;}
.ui-datepicker .ui-datepicker-prev{left: 1px !important;}
.ui-datepicker .ui-datepicker-next{right: 1px !important;}
.ui-datepicker select.ui-datepicker-year, 
.ui-datepicker select.ui-datepicker-month{padding: 0 !important;width: 40% !important;}


/***** footer *****/
footer{position: absolute;left: 0;right: auto;bottom: 0;width: var(--admin-shell-width, 1593px);min-width: 1593px;max-width: 1593px;height: 50px;background-color: #e7ebee;z-index: 90;box-sizing: border-box;}
footer > div{padding-left: 48px;width: 100%;max-width: 100%;height: 50px;box-sizing: border-box;}
footer > div > p{padding: 10px;line-height: 20px;text-align: center;font-size: 13px;}
footer > div > p .fc_blue{color: #44aaee !important;}

/* fnb */
.fnb{position: relative;}
.fnb .f_btn{display: block;}
.fnb .f_btn i{width: 48px;height: 40px;line-height: 40px;text-align: center;font-size: 22px;}

.fnb .f_site{display: none;position: absolute;right: 20px;bottom: 60px;width: 350px;list-style: none;}
.fnb.open .f_site{display: block;}
.fnb .f_site_tit{display: flex;align-items: center;padding: 15px 10px 15px 20px;border-top-left-radius: 6px;border-top-right-radius: 6px;}
.fnb .f_site_tit span{line-height: 30px;font-size: 20px;}
.fnb .f_site_tit a{margin-left: auto;display: block;line-height: normal;font-size: 0;}
.fnb .f_site_tit i{margin: 0;width: 30px;height: 30px;line-height: 30px;font-size: 25px;opacity: 1;}
.fnb .f_site_list a, .fnb .f_site span, .fnb .f_site i, .fnb .f_site div{color: #fff;}
.fnb .f_site_list a{line-height: 20px;font-size: 15px;}
.fnb .f_site_list i{margin-right: 5px;font-size: 20px;opacity: .5;}
.fnb .f_site_list li{display: flex;align-items: center;padding: 10px 20px;}
.fnb .f_site_list li a{display: flex;align-items: center;}
.fnb .f_site_list li:first-child{padding-top: 20px;}
.fnb .f_site_list li:last-child{padding-bottom: 20px;border-bottom-left-radius: 6px;border-bottom-right-radius: 6px;}

/* bxSlider */
.bx-wrapper{float: left;padding: 13px !important;margin-bottom: 0 !important;width: calc(100% - 48px);height: 100%;background: none !important;border: none !important;box-shadow: none !important;}

/* scrollbar */
.sbbox{visibility: hidden;}
.sbbox > div, .sbbox > table, .sbbox > ul, .sbbox:hover, .sbbox:focus{visibility: visible;}
::-webkit-scrollbar-track{background-color: transparent;}
::-webkit-scrollbar-thumb{background-color: #d71a21;border-radius: 100px;background-clip: padding-box;}
body::-webkit-scrollbar-thumb{background-color: hsla(0, 0%, 42%, 0.29);}

@media only screen and (max-width: 420px){
  .sidebar.close .nav-links li .sub-menu{display: none;}
}
