/*대화이력상세 가로 리사이징*/
.chat_resize {
  width: 700px;
}

.prompt_resize {
  width: 1000px;
}

/* ◆◆◆◆◆◆◆◆◆◆ 1400px 이하 ◆◆◆◆◆◆◆◆◆◆ */
@media (max-width: 1400px) {

.chat_resize {
  width: 80%;
}

.prompt_resize {
  width: 80%;
}

}

/* 버튼 공통 */
button.default,
a.default {
  min-width:60px;
  height:28px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 5px;
  white-space: nowrap;
}

.btn_gr {
    color:rgb(0,0,0,.1);
    background: rgb(0,0,0,.07);
}

.btn_bl {
    background: rgb(255,255,2255,1);
    background: #606cfd;
}

button.btn_pr, a.btn_pr {
  padding:0px 10px;
  color:#ffffff;
  text-align: center;
  background: #475FC4;
}

/*팝업버튼*/
button.round,
a.round {
  min-width:100px !important;
  height:28px;
  padding:0px 10px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 5px !important;
  white-space: nowrap;
}

.btn_col_bl {
  color:rgb(255,255,255,1);
  background: rgb(96,108,253,1);
}

.btn_col_gr {
  color:rgb(0,0,0,.5);
  background: rgb(0,0,0,.07);
}

.btn_col_bk {
  color:rgb(255,255,255,1);
  background: rgb(0,0,0,.5);
}

.align_bottom_center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap:5px;
  position: relative;
}

.align_bottom_justify {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

button.btn_edit, a.btn_edit {
  width:24px;
  height:24px;
  background: url('../images/ico_edit_bl.svg') no-repeat center;
  border:1px solid #475FC4;
  border-radius: 5px;
}

button.btn_view, a.btn_view {
  width:24px;
  height:24px;
  background: url('../images/ico_view_bl.svg') no-repeat center;
  border:1px solid #475FC4;
  border-radius: 5px;
}

button.btn_del, a.btn_del {
  width:24px;
  height:24px;
  background: url('../images/ico_del_gr.svg') no-repeat center;
  border:1px solid #A4A4A4;
  border-radius: 5px;
}

button.btn_down, a.btn_down {
  width:90px !important;
  margin-left:0px;
  padding-right:10px;
  color:#ffffff;
  text-align: right;
  background: #475FC4 url('../images/ico_down_wh.svg') no-repeat 10px center;
}

button.btn_upload, a.btn_upload {
  width:100px !important;
  margin-left:0px;
  padding-right:10px;
  color:#ffffff;
  text-align: right;
  background: #475FC4 url('../images/ico_upload_wh.svg') no-repeat 10px center;
}

.con_area {
  display: flex;
  flex-direction: column;
  gap:10px;
  width:100%;
}

.con_wrap {
  display: flex;
  justify-content: center;
  position: relative;
  width:100%;
}

.chat_con_area {
  display: flex;
  flex-direction: column;
  border:0px solid red;
}



.h_gap10 { display: flex; flex-direction: row; gap:10px; width:100%; }
.h_gap20 { display: flex; flex-direction: row; gap:20px; width:100%; }
.h_gap30 { display: flex; flex-direction: row; gap:30px; width:100%; }
.h_gap40 { display: flex; flex-direction: row; gap:40px; width:100%; }
.h_gap50 { display: flex; flex-direction: row; gap:50px; width:100%; }

.v_gap10 { display: flex; flex-direction: column; gap:10px; width:100%; }
.v_gap20 { display: flex; flex-direction: column; gap:20px; width:100%; }
.v_gap30 { display: flex; flex-direction: column; gap:30px; width:100%; }
.v_gap40 { display: flex; flex-direction: column; gap:40px; width:100%; }
.v_gap50 { display: flex; flex-direction: column; gap:50px; width:100%; }

button.link, a.link {
  color:#0063D4;
  text-decoration: underline;
}

button.link.red, a.link.red {
  color:#E60023 !important;
  text-decoration: underline;
}

/* =====전체===== */ 
.all_wrap {
  position: relative;
  display: flex;
  height: 100vh;
  min-width: 1400px;  /* 최소 가로 폭 */
  overflow: auto;  /* 내부 스크롤 */
  border: 0px solid red;
}

/* side_menu */
.side_menu {
  position: sticky; 
  top:0px;
  left:0px;
  flex-shrink: 0;
  width: 250px;
  height: 100vh;
  padding:25px 15px;
  background: #F6FAFF;
  border-right:1px solid #d9d9d9;
  transition: transform 0.3s ease;   /* ★ 슬라이드 애니메이션 */
  will-change: transform;
}

/* side_menu 접힘 상태 */
.all_wrap.is-split .side_menu {
  transform: translateX(-250px);
}

/* split 버튼 닫기 */
button.split {
  position: absolute;
  top: 13px;
  right: 14px;
  width: 22px;
  height: 22px;
  background: url('../images/ico_side_toggle.svg') no-repeat center;
  cursor: pointer;
}

/* split 버튼 열기 */
button.split_open {
  position: absolute;
  top: 13px;
  left: 10px;
  width: 22px;
  height: 22px;
  background: url('../images/ico_side_toggle_open.svg') no-repeat center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.all_wrap.is-split .split_open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.logo {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    /*margin-bottom: 10px;*/
    text-align: center;
}

.logo p {
    color: rgb(0, 0, 0, 1);
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

.logo span {
    color: rgb(0, 0, 0, .5);
}

.logo a {
    display: block;
    width: 160px;
    height: 60px;
    background: url('../images/kobi.png') no-repeat center;
    background-size: contain;
    margin-top: 20px;
    margin-bottom: 10px;
}

/* =====LNB 왼쪽메뉴===== */
.side_menu.closed+.menu_toggle {
    left: 0;
}

.lnb_wrap {
    width: 100%;
}

.lnb_openclose {
    display: flex;
    justify-content: flex-end;
    gap:4px;
    margin-bottom: 5px;
    opacity: 0;
    pointer-events: none; /* 클릭, 호버, 드래그 등 모든 마우스 이벤트 무시 */
}

.lnb_openclose button {
    width:15px;
    height:15px;
    border-radius: 3px;
    border: none;
    cursor: pointer;
}

.lnb_openclose button.all_open {
    background: #475FC4 url('../images/all_open.svg') no-repeat center;
}

.lnb_openclose button.all_close {
    background: #475FC4 url('../images/all_close.svg') no-repeat center;
}

.lnb {
    overflow: hidden;
}

.lnb_root,
.lnb_sub {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lnb_root {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-height: calc(100vh - 220px); /*스크롤생성 높이*/
    overflow-y: auto;
}


.lnb_item {
    background: transparent;
}

.lnb_toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 40px;
    padding: 0px 15px 0px 37px;
    font-weight: 600;
    font-size: 16px;
    color: #626262;
    line-height: 1.2;
    border-radius: 5px;
    cursor: pointer;
}

.lnb_toggle[aria-expanded="true"] {
    background: #E3F0FF;
    color: #475FC4;
}

.lnb_toggle.ic1 {
    background: url('../images/micon_01.svg') no-repeat 10px center;
}

.lnb_toggle.ic1.on {
    background: #E3F0FF url('../images/micon_01_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic2 {
    background: url('../images/micon_02.svg') no-repeat 10px center;
}

.lnb_toggle.ic2.on {
    background: #E3F0FF url('../images/micon_02_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic3 {
    background: url('../images/micon_03.svg') no-repeat 10px center;
}

.lnb_toggle.ic3.on {
    background: #E3F0FF url('../images/micon_03_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic4 {
    background: url('../images/micon_04.svg') no-repeat 10px center;
}

.lnb_toggle.ic4.on {
    background: #E3F0FF url('../images/micon_04_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic5 {
    background: url('../images/micon_05.svg') no-repeat 10px center;
}

.lnb_toggle.ic5.on {
    background: #E3F0FF url('../images/micon_05_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic6 {
    background: url('../images/micon_06.svg') no-repeat 10px center;
}

.lnb_toggle.ic6.on {
    background: #E3F0FF url('../images/micon_06_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic7 {
    background: url('../images/micon_07.svg') no-repeat 10px center;
}

.lnb_toggle.ic7.on {
    background: #E3F0FF url('../images/micon_07_on.svg') no-repeat 10px center;
}

.lnb_toggle.ic8 {
    background: url('../images/micon_08.svg') no-repeat 10px center;
}

.lnb_toggle.ic8.on {
    background: #E3F0FF url('../images/micon_08_on.svg') no-repeat 10px center;
}

.lnb_toggle[aria-expanded="true"] .chevron {
    position: relative;
    top: 2px;
    border-right: 2px solid #475FC4;
    border-bottom: 2px solid #475FC4;
    transform: rotate(225deg);
}

.lnb_toggle.is-active {
    background: #E3F0FF;
    color: #475FC4;
}

.chevron {
    position: relative;
    top: -2px;
    width: 8px;
    height: 8px;
    transform: rotate(-315deg);
    border-right: 2px solid #979CA9;
    border-bottom: 2px solid #979CA9;
    border-radius: 1px;
    transition: transform 0s ease;
}

.lnb_sub {
    padding: 0px 0px;
}

.lnb_sub li {
    padding-left: 37px;
    background: url('../images/menu_bullet.svg') no-repeat 22px 9px;
}

.lnb_sub li a {
    display: flex;
    align-items: center;
    /*height: 30px;*/
    padding: 6px 10px 6px 0px;
    font-size: 14px;
    color: rgb(0, 0, 0, .6);
    font-weight: 600;
}

.lnb_sub li a.active {
    color: #475FC4;
}


/* =====콘텐츠 영역===== */
.content_wrap {
  width: 100%;
  height: 100vh;
  transition: margin-left 0.3s ease;
  z-index: 1;
}

/* side_menu 접힘 시 콘텐츠 확장 */
.all_wrap.is-split .content_wrap {
  margin-left: -250px;
}

/* 상단 사용자 고정 */
.top_user_wrap {
  position: sticky; 
  top:0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding:0px 40px;
  background: #ffffff;
  border-bottom: 1px solid #D9D9D9;
  z-index: 10;
}

/* 상단 사용자 정보 */
.user_wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap:10px;
}

.user_name {
    height:23px;
    padding:2px 0px 0px 24px;
    font-size: 14px;
    background: url('../images/ico_user.svg') no-repeat left 2px;
    background-size:18px;
}

.user_name span {
    font-weight:600;
}

.user_btn {        
    display: flex;
    gap: 5px;
}

.user_btn button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    height: 23px; 
    padding: 0px 10px;
    font-size: 13px;
    border:1px solid;
    border-radius: 100px;
}

.user_btn button.col1 {
  border-color: #CEE3FE;
  background: #F2F8FF;
}

.user_btn button.col2 {
  border-color: #EBD9FE;
  background: #FAF5FF;
}

.user_btn button.col3 {
  border-color: #feddc2;
  background: #fff6ef;
}

/* 접속시간 */
.login_time {
  display: flex;
  align-items: center;
  gap:4px;
  line-height: 20px;
}

button.refresh {
    width: 20px;
    height: 20px;
    background: url('../images/ico_refresh.svg') no-repeat center;
    background-size: 100%;
}



/* 업무컨텐츠 */
.work_wrap {
  flex: 1; 
  padding:20px 40px 40px 40px;                                                                                                                                                                                                       
  background: #ffffff;
  position: relative;
}

.work_con {
  /*min-height: 1000px; 높이 테스트용*/
  border:0px solid red;
}

/*페이지타이틀*/
.page_title_wrap {
  display: flex;
  position: relative;
  height:35px;
  margin-bottom: 20px;
  border-bottom:1px solid #d9d9d9;
}

.title_area {
  display: flex;
  gap:10px;
}

.title_area h1 {
  font-size: 20px;
  font-weight: 600;
}

.chat_total {
  display: flex;
  align-items: center;
  position: relative;
  top:2px;
  padding-left:25px;
  height:20px;
  
  background: url('../images/ico_talk.svg') no-repeat left center;
}

/* 페이지오른쪽 챗정보 */
.right_chat_info {
  position: absolute;
  top:0px;
  right:0px;
  font-weight: 400;
}

.right_chat_info span {
  padding-left:5px;
}

.right_chat_info span:first-child {
  padding-right:10px;
  background: url('../images/gr_line.svg') no-repeat right center;
}

button.btn_chat_list, a.btn_chat_list {
  width:90px !important;
  margin-left:10px;
  padding-right:10px;
  color:#ffffff;
  text-align: right;
  background: #475FC4 url('../images/ico_list_wh.svg') no-repeat 10px center;
}

button.btn_admin_add, a.btn_admin_add {
  width:105px !important;
  margin-left:0px;
  padding-right:10px;
  color:#ffffff;
  text-align: right;
  background: #475FC4 url('../images/ico_add_wh.svg') no-repeat 10px center;
}



/* 상단 콤보박스 영역 */
.combo_wrap {
  display: flex;
  position: relative;
  min-height: 28px;
  margin-bottom: 10px;
}

.combo_wrap .left {
  display: flex;
  align-items: center;
  gap:5px;
  position: absolute;
  left:0px;
}

.combo_wrap .right {
  display: flex;
  align-items: center;
  gap:5px;
  position: absolute;
  right:0px;
}


/*달력기간세트*/
.form_wrap {
    position: relative;
    height:28px;
}

.form_wrap.disabled {
    color:rgb(0,0,0,.4);
}

.form_wrap input.basic, .form_wrap select.basic {
    width:120px;
}

button.ip_icon, a.ip_icon {
    position: absolute;
    top:0px;
    right:0px;
    width:28px;
    height:28px;
}

.ic_calendar {
    background: url('../images/ico_calendar.svg') no-repeat center;
}

.datepicker {
    display: flex;
    align-items: center;
}

.datepicker span.tilde {
    padding:0px 5px;
}

.date_input {
    position: absolute;
    top:23px;
    left:0px;
    border:0px;
    width:0px;
    height:0px;
}

button.btn_search, .a.btn_search {
  width:65px !important;
  padding-right:10px;
  color:#475FC4;
  text-align: right;
  background: #ffffff url('../images/ico_search_bl.svg') no-repeat 10px center;
  border:1px solid #475FC4;
}

/* 차트영역 */
.chart_divide {
  display: flex;
  gap:40px
}

.chart_full {
  display: flex;
}

.chart_box_round {
  display: flex;
  flex-direction: column;
  width:100%;
}

.chart_box_round.h_small { height:160px; }
.chart_box_round.h_big { height:260px; }


.chart_title_area {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  height:35px;
  padding:0px 15px;
  border: 1px solid #D9D9D9;
  border-radius: 10px 10px 0px 0px;
}

.chart_title_area h3 {
  font-size: 15px;
  font-weight: 600;
}

.chart_title_area .right {
  display: flex;
  align-items: center;
  gap:10px;
  position: absolute;
  right:15px;
  height:35px;
}

.chart_bottom {
  padding: 10px 15px;
  border: 1px solid #D9D9D9;
  border-top: 0px;
  border-radius: 0px 0px 10px 10px;
}

.chart_show {
  width:18px;
  height:18px;
  background: url('../images/chart_show.svg') no-repeat center;
}

.chart_show.close {
  background: url('../images/chart_show.svg') no-repeat center;
  transform: scaleY(-1);
}

.chart_view{
  width:18px;
  height:18px;
  background: url('../images/chart_full.svg') no-repeat center;
}

.chart_excel {
  font-size: 12px;
  color: #217346;
  padding: 2px 6px;
  border: 1px solid #217346;
  border-radius: 3px;
  line-height: 1.4;
  background: none;
}

.chart_view_detail {
  display: none; /*기본으로 안보임*/
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  padding:45px 20px 20px 20px;
  margin: 0;
  background:#ffffff;
  border:1px solid #cccccc;
  border-radius: 10px;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.08);
  z-index: 2;
}

.chart_view_detail h3 {
  position: fixed;
  top: 13px;
  left: 20px;
}



.chart_view_detail img {
  display: block;
  width: 100%;
}

.chart_import {
  display: flex;
  align-items: center;
  justify-content: center;
  height:100%;
  padding:15px;
}

.chart_bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  height:100%;
  padding:0px 8%;
}

.chart_bnr .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width:60px;
  height:60px;
}

.chart_bnr .icon.ic1 { background: url('../images/ico_ch1.svg') no-repeat center; }
.chart_bnr .icon.ic2 { background: url('../images/ico_ch2.svg') no-repeat center; }
.chart_bnr .icon.ic3 { background: url('../images/ico_ch3.svg') no-repeat center; }

ul.chart_user_number {
  display: flex;
  flex-direction: column;
  width:100%;
}

ul.chart_user_number li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width:100%;
  padding:1px 0px;
}

ul.chart_user_number li p.col1 { color:#239CF4; }
ul.chart_user_number li p.col2 { color:#FF5589; }
ul.chart_user_number li p.col3 { color:#44BA92; }

ul.chart_user_number li p {
  display: flex;
  justify-content: flex-end;
  width:50%;
  text-align: right;
}

ul.chart_user_number li p:first-child {
  width:55%;
  font-weight: 600;
  color: rgb(0,0,0,.4)
}

ul.chart_user_number li p:last-child {
  font-size: 20px;
  font-weight: 600;
  width:45%;
}

table.detail {
    width: 100%;
    border-top: 1px solid #595959;
    table-layout: fixed;
}

table.detail th {
    height:35px;
    padding: 4px;
    font-weight: 600;
    text-align: center;
    background:#F6F7FB;
    white-space: normal;     /* 기본값이지만 명시 추천 */
    word-break: break-word; /* 긴 단어도 줄바꿈 */
}

table.detail th:first-child, table.detail td:first-child {
    border-left: 0px;
}

table.detail th:last-child, table.detail td:last-child {
    border-right: 0px;
}

table.detail td {
    height:35px;
    padding: 4px;
    font-weight: 400;
    background:#ffffff;
    white-space: normal;     /* 기본값이지만 명시 추천 */
    word-break: break-word; /* 긴 단어도 줄바꿈 */
}

/*말줄임*/
table td.ellipsis  {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

table th, table td {
    vertical-align: middle;
    line-height: 1.2;
    border: 1px solid #d9d9d9;
}r

table th.top, table td.top {
    vertical-align: top;
}

table th.disabled {
    color:rgb(0,0,0,.5);
}

table td.disabled {
    color:rgb(0,0,0,.5);
    background: rgb(0,0,0,.05);
}

table th.top_line, table td.top_line {
    border-top: 1px solid #101010;
}

/*sort 화살표*/
.align_center {
  display: flex;
  justify-content: center;
  gap:5px;
}

button.sort_arrow {
  position:relative;
  width:16px;
  height:16px;
  border:0;
  cursor:pointer;
}

/* 기본 ↑ */
button.sort_arrow::after {
  content:'';
  position:absolute;
  inset:0;
  background:url('../images/ico_arrow_bk.svg') no-repeat center;
  background-size:10px;
}

/* ↓ 상태 */
button.sort_arrow.is-desc::after {
  transform:rotate(180deg);
}

.no_tata {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:3px;
}

.no_tata p {
  display: flex;
  width:40px;
  height:40px;
  background: url('../images/ico_nodata.png') no-repeat center;
  background-size: 100%;
}

.text_center { text-align: center !important; }
.text_left { text-align: left !important; }
.text_right { text-align: right !important; }

/* 페이징 */
.paging{ 
    float: left;
    display: flex;
    justify-content: center;
    width:100%; 
    text-align:center; 
    margin:5px 0px 0px 0px;
}

.paging a {
    display:inline-block; 
    vertical-align:middle;
    width:22px; 
    height:22px; 
    line-height: 21px;
    margin:0px 2px 0px 2px;
    border:1px solid #d3d3d3;
    text-align:center;
    font-size:13px;
    border-radius:5px; 
}

.paging a.on { 
    border:1px solid #4d4d4d;
    background-color:#4d4d4d;
    color:#fff;
    pointer-events: none;
    cursor: default;
}

.paging a.arrow { 
    line-height: 20px;
    letter-spacing: -0.15em;
}

/* +++++토글 스위치+++++ */
.toggle_switch_center {
    display: flex;
    justify-content: center;
    width:100%;
}
.toggle_switch_wrap {
  display: flex;
  align-items: center;
}

.toggle_switch_wrap p {
  display: flex;
  justify-content: flex-end;
  font-weight: 500;
  margin-right: 5px;
  width: 40px;
  text-align: right;
}

.toggle_switch_wrap p.disabled {
    opacity: 0.5;
}

.toggle_switch {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 16px;
}

/* 실제 체크박스 숨김 */
.toggle_switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* 슬라이드 배경 */
.toggle_switch .slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  border-radius: 100px;
  transition: background-color 0.25s ease;
}

/* 동그라미 */
.toggle_switch .slider::before {
  content: "";
  position: absolute;
  height: 12px;
  width: 12px;
  left: 2px;
  top: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: transform 0.25s ease;
}

/* 체크 ON 상태 */
.toggle_switch input:checked + .slider {
  background: #475FC4;
}

.toggle_switch input:checked + .slider::before {
  transform: translateX(14px);
}

/* 활성,비활성 텍스트 자동변경 */
.state-off {
  display: none;
}

.toggle_switch_wrap.is-off .state-on {
  display: none;
}

.toggle_switch_wrap.is-off .state-off {
  display: block;
}

.state.disabled {
  display: none;
  color: #999;
}

/*팝업*/
button.pop_close {
    position: absolute;
    top: 13px;
    right: 18px;
    width: 18px;
    height: 18px;
    background: url('../images/ico_close_bk.svg') no-repeat center;
}




/*대화이력상세, 사용자화면과 css동일*/
/*제목+버튼*/
.chat_title {
	display: flex;
	justify-content: space-between;
	min-height: 45px;
	margin-bottom:25px;
	padding-bottom:10px;
	border-bottom:1px solid rgb(0, 0, 0, .1);
}

.chat_title .title_place {
	display: flex;
    width: 100%;
	margin-right:10px;
	padding-left:42px;
	font-size:17px;
	font-weight: 600;
	background: url('../images/ico_chat_title.svg') no-repeat left 0px;
	background-size: 32px;
	word-break: keep-all;
}

/*질문답변화면 상단 타이틀 textarea*/
textarea.title_edit {
    position: relative;
    top: -2px;
    min-height: 38px;
    height: 36px;              /* 초기 높이 */
    padding: 8px 10px;
    background: rgb(0, 0, 0,.03);
    border: 1px solid #ffffff;
    border-radius: 0px 15px 15px 15px;
    line-height: 1.3;
    resize: none;
    overflow-y: hidden;        /* 자동 늘어날 때 스크롤 제거 */
    cursor: not-allowed;
}

textarea.title_edit.on {
    background: rgb(0, 0, 0, 0);
    border: 1px solid #606CFD;
    cursor: auto;
}



.chat_title .title_place p {
	position: relative;
    top: 5px;
	padding-bottom: 10px;
}


.chat_title .btn_area {
	display: flex;
}

.chat_title button {
	width:28px;
	height:28px;
	margin-left:0px;
	border-radius: 100px;
}

.chat_title button.editBt {background:url('../images/ico_edit.svg') no-repeat center;}
.chat_title button.saveBt {background:url('../images/ico_save.svg') no-repeat center;}
.chat_title button.delBt {background:url('../images/ico_del.svg') no-repeat center;}

.chat_title button.editBt.on {background:url('../images/ico_edit_on.svg') no-repeat center;}
.chat_title button.saveBt.on {background:url('../images/ico_save_on.svg') no-repeat center;}
.chat_title button.delBt.on {background:url('../images/ico_del_on.svg') no-repeat center;}

/* .chat_title button.editBt:hover {background:rgb(0, 0, 0, .06) url('../images/ico_edit.svg') no-repeat center;}
.chat_title button.saveBt:hover {background:rgb(0, 0, 0, .06) url('../images/ico_save.svg') no-repeat center;}

.chat_title button.editBt.on:hover {background:rgb(0, 0, 0, .06) url('../images/ico_edit_on.svg') no-repeat center;}
.chat_title button.saveBt.on:hover {background:rgb(0, 0, 0, .06) url('../images/ico_save_on.svg') no-repeat center;} */

/*나의질문*/
.chat_my_wrap {
	display: flex;
	margin-bottom:20px;
}

.chat_my_wrap span.ico {
	display: inline-block;
	width:32px;
	height:32px;
	margin-right:10px;
	background:#F1F1FE url('../images/ico_user_bl.svg') no-repeat center;
	border-radius: 100px;
}

.chat_my_wrap .chat_my_area {
	display: inline-block;
	width:calc(100% - 42px);
}

.chat_my_wrap p {
	display: inline-block;
	padding:10px 15px;
	font-size:16px;
	border-radius: 0px 15px 15px 15px;
	background:#F1F1FE;
	word-break: keep-all;
}

/*답변중입니다 로딩*/
.loading {
	display: flex;
	align-items: center;
	margin-top: 7px;
}

.loading svg {
	width:30px
}

.loading span {
	position: relative;
    top: 0px;
	margin-left: 8px;
    font-size: 15px;
	color: rgb(0, 0, 0, 1);
}

/*서포터답변*/
.chat_assist_wrap {
	display: flex;
	margin-bottom:20px;
}

.chat_assist_wrap span.ico {
	display: inline-block;
	flex-shrink: 0;
	width:32px;
	height:42px;
	margin-right:10px;
	background: url('../images/character_one.png') no-repeat left top;
	background-size: 100%;
}

.chat_assist_wrap .chat_assist_area {
	display: inline-block;
	width:calc(100% - 47px);
}

.chat_assist_wrap p {
	display: inline-block;
	padding-top: 15px;
	font-size:16px;
	word-break: keep-all;
}

.chat_assist_column {
	display: flex;
	flex-direction: column;
}

.feed_wrap {
	display: flex;
  position: relative;
	margin-bottom: 20px;
}

.feed_wrap button {
	width:28px;
	height:28px;
	margin-right: 2px;
	border-radius: 100px;
}

.feed_wrap button.likeBt {background: url('../images/ico_like.svg') no-repeat center;}
.feed_wrap button.likeBt.on {background: url('../images/ico_like_on.svg') no-repeat center;}

.feed_wrap button.hateBt {background: url('../images/ico_hate.svg') no-repeat center;}
.feed_wrap button.hateBt.on {background: url('../images/ico_hate_on.svg') no-repeat center;}

.feed_wrap button.copyBt {background: url('../images/ico_copy.svg') no-repeat center;}
.feed_wrap button.copyBt.on {background: url('../images/ico_copy_on.svg') no-repeat center;}

/* .feed_wrap button.likeBt:hover {background: rgb(0, 0, 0, .06) url('../images/ico_like.svg') no-repeat center;}
.feed_wrap button.hateBt:hover {background: rgb(0, 0, 0, .06) url('../images/ico_hate.svg') no-repeat center;}
.feed_wrap button.copyBt:hover {background: rgb(0, 0, 0, .06) url('../images/ico_copy.svg') no-repeat center;}

.feed_wrap button.likeBt.on:hover {background: rgb(0, 0, 0, .06) url('../images/ico_like_on.svg') no-repeat center;}
.feed_wrap button.hateBt.on:hover {background: rgb(0, 0, 0, .06) url('../images/ico_hate_on.svg') no-repeat center;}
.feed_wrap button.copyBt.on:hover {background: rgb(0, 0, 0, .06) url('../images/ico_copy_on.svg') no-repeat center;} */

.feed_wrap button.sourceBt {
	display: flex;
	justify-content: center;
    align-items: center;
	min-width: 120px;
	height:28px;
	margin-left: 10px;
	border-radius: 100px;
	background: #EFF1FC;
	border:1px solid #C2CAF3;
}

.feed_wrap button.sourceBt.on {
	background: #EFF1FC;
	border:1px solid #C2CAF3;
}

.feed_wrap button span.mark {
	width:18px;
	height:18px;
	margin-left:3px;
	background: url('../images/ico_mark.svg') no-repeat;
}

/* ===관련질의=== */
.que_wrap {
	margin-top: 5px;
}

.que_wrap p {
    margin-bottom: 8px;
    font-weight: 600;
    padding: 0px 0px 0px 20px;
    line-height: 18px;
    background: url('../images/ico_que.svg') no-repeat left center;
}

.que_wrap ul {
	display: flex;
	flex-wrap: wrap;              /* 줄바꿈 허용 */
  	gap: 10px;
}

.que_wrap ul li {
	display: flex;
	/*width: calc(25% - 7.5px);*/    /* 한 줄 4개 */
    width: calc(33.3333% - 7.5px); /* 한 줄 3개 */
}

.que_wrap ul li a {
	width:100%;
	height:100%;
	padding:10px;
	font-size: 14px;
	background: #f5f5f5;
	border:1px solid #EBEBEB;
	border-radius: 10px;
	word-break: keep-all;

	/* padding:0px;
	font-size: 14px;
	background: #f5f5f5;
	border:1px solid #EBEBEB;
	border-radius: 10px;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden; */

	/*max-height: calc(1.4em * 3); /* 3줄 높이 고정 */
  	/*word-break: break-word;*/
}

.data_import {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    padding: 140px 0px;
    border: 1px solid #cecece;
    border-radius: 15px;
}

/*출처보기*/
.admin_credit_con {
  display: flex;
  position: fixed;
  top: 125px;
  right: 80px;
  width: 335px;
  height: calc(100vh - 145px);
  transition: top 0.15s ease-out;
  z-index: 1;

  transition: transform 0.3s ease;
}

.admin_credit_con.is-hide {
  transform: translateX(382px);
}

.admin_credit_con .area1 {
  flex-shrink: 0;
  width:25px;
  margin-right:8px;
}

.admin_credit_con .area2 {
  position: relative;
  width:100%;
  padding: 15px;
  background: #ffffff;
  border:1px solid #d9d9d9;
  border-radius: 5px;
}

button.btn_credit {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 25px;
  height: calc(100vh - 145px);
  background: #EFF1FC url('../images/ico_credit.svg') no-repeat center;
  background-size: 14px;
  border: 1px solid #C2CAF3;
  border-radius: 5px;
  cursor: pointer;
}

/* 닫혀있을 때 (열기 아이콘) */
button.btn_credit.open {
  background: #EFF1FC url('../images/ico_credit_open.svg') no-repeat center;
  background-size: 14px;
}

.area2 button.close {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 20px;
    height: 20px;
    background: url('../images/ico_close_bk.svg') no-repeat center;
}

/*출처보기박스안 컨텐츠*/
h3.credit_tit {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 16px;
}

h3.credit_tit span {
    display: flex;
    width: 5px;
    height: 16px;
    margin-right: 5px;
    background: linear-gradient(180deg, #4373FC 0%, #915BD8 100%);
    border-radius: 100px;
}

p.credit_tit_sub {
    margin-bottom: 5px;
    line-height: 16px;
    text-decoration: underline;
}

.credit_area {
	width:100%;
}

ul.credit_list {
	display: flex;
	flex-direction: column;
  gap: 10px;
	height: calc(100vh - 225px);
	padding-right:0px;
	overflow-y: auto;
  overflow-x: hidden;
}

ul.credit_list li a {
	display: flex;
	flex-direction: column;
	padding:10px;
	border:1px solid #D9D9D9;
	border-radius: 8px;
}

.credit_detail_01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
	padding-bottom: 5px;
	border-bottom:1px solid rgb(0, 0, 0, .1)
}

.credit_detail_01 .name {
	display: flex;
	align-items: center;
	width:calc(100% - 18px);
	font-weight: 600;
}

.credit_detail_01 .name p {
	font-size: 13px;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.credit_detail_01 span.number {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width:19px;
	height:19px;
	margin-right:5px;
	font-size: 13px;
	font-weight: 700;
	color:#ffffff;
	text-align: center;
	border-radius: 5px;
}

.credit_detail_01 span.number.n1 { background: #1D92FF; }
.credit_detail_01 span.number.n2 { background: #5E71FC; }
.credit_detail_01 span.number.n3 { background: #933CFC; }

.credit_detail_01 .icon_link {
	width:18px;
	height:18px;
	background: url('../images/ico_link.svg') no-repeat center;
}

.credit_detail_02 {
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 600;
	display: -webkit-box;
    -webkit-line-clamp: 2;   /* 2줄 표시 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.credit_detail_03 {
	font-size: 13px;
	color: #6D6D6D;
	display: -webkit-box;
    -webkit-line-clamp: 4;   /* 4줄 표시 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*프롬프트관리*/
.df_search {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin-bottom:10px;
}

.search_form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    top: 0px;
    height: 38px;
    width: 300px;
    padding:0px 5px;
    border: 1px solid #ccc;
    background: #ffffff;
    border-radius: 100px;
}

.search_form input {
    background: transparent !important;
}

.search_word {
  width: calc(100% - 40px);
    height: 36px;
    border: 0;


    padding: 0;
    text-indent: 15px;
}

.search_word:focus {
    color: #333;
}

button.search_btn {
    float: right;
    margin: 0px;
    border: 0;
    width: 34px;
    height: 34px;
    color: #fff;
    background: url('../images/btn_search.svg') no-repeat center;
    background-size: 18px;
    border-radius: 100px;
    cursor: pointer;
}

/*프롬프트목록탭 + 신규생성버튼*/
.top_prompt_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom:1px solid #cccccc;
}

/*프롬프트목록탭*/
.top_tab_wrap {
    display: flex;
    justify-content: center;
    width: 500px;
} 

ul.top_tab_area {
    display: flex;
    width: 100%;
    gap:3px;
}

ul.top_tab_area li {
    flex: 1; /* 7개 균등 분할 */
}

ul.top_tab_area li button {
  display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    color: rgb(0, 0, 0, .6);
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    letter-spacing: -0.08em;
    background: rgb(30, 57, 104, .07);
    border-bottom:0px;
    border-radius: 10px;
}

ul.top_tab_area li button.on {
    color:#ffffff;
    background: #606CFD;
    pointer-events: none;
    cursor: default;
}


/*업무구분탭*/
.tab_wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 20px;
} 

ul.tab_area {
    display: flex;
    width: 100%;
    padding:0px;
    border-bottom:1px solid #606CFD;
}

ul.tab_area li {
    flex: 1; /* 7개 균등 분할 */
    position: relative;
}

ul.tab_area li button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    color: rgb(0, 0, 0, .8);
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    letter-spacing: -0.08em;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-bottom-color: #ffffff;
    border-radius: 10px 10px 0px 0px;
}

ul.tab_area li button.on {
    position: absolute;
    height: 37px;
    color: #606CFD;
	line-height: 35px;
    background: #ffffff;
    pointer-events: none;
    cursor: default;
    border: 1px solid #606CFD;
    border-bottom-color: #ffffff;
}
button.btn_add_prompt {
    display: flex;
    align-items: center;
    height: 36px;
    margin-left: 5px;
    padding: 0px 13px 0px 33px;
    /*color:#606CFD;*/
    font-size: 14px;
    font-weight: 600;
    background: #f2f8ff url('../images/ico_add_circle_bl.svg') no-repeat left 10px center;
    border: 1px solid #606CFD;
    background-size: 16px;
    border-radius: 10px;
   
}

/*프롬프트,저장대화 리스트*/

.df_list_area {
  display: flex;
  flex-direction: column;
  width: 100%;
}

ul.df_list {
  display: flex;
  flex-wrap: wrap; 
  gap: 15px;
  margin-bottom: 10px;
}

ul.df_list li {
  width: calc((100% - 30px) / 3); /* 3개 노출 (gap 2개 = 30px) */
  min-height: 120px;
  padding: 20px;
  border: 1px solid #cccccc;
  border-radius: 15px;
}

.lst_step1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lst_row_wrap {
  display: flex;
  align-items: center;
}

.lst_step1 span.category {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width:80px;
  margin-right:5px;
  padding:0px 8px;
  line-height: 24px;
  color:#ffffff;
  font-weight: 500;
  background: #606CFD;
  border-radius: 100px;
  text-align: center;

}

.lst_step1 span.model_name {
  color:rgb(0, 0, 0, .6);
}

button.btn_df_save {
    width: 24px;
    height: 24px;
    background: url('../images/ico_save.svg') no-repeat center;
}

button.btn_df_pin {
    width: 18px;
    height: 24px;
    margin-right:6px;
    background: url('../images/ico_new_pin.svg') no-repeat center;
}

button.btn_df_del {
    width: 18px;
    height: 24px;
    margin-right:6px;
    background: url('../images/ico_del.svg') no-repeat center;
}

button.btn_df_name {
    width: 18px;
    height: 24px;
    margin-right:6px;
    background: url('../images/ico_edit.svg') no-repeat center;
}

/* 클릭 후 상태 */
button.btn_df_save.active {
    background: url('../images/ico_save_on.svg') no-repeat center;
}

button.btn_df_pin.active {
    background: url('../images/ico_new_pin_on.svg') no-repeat center;
}

button.btn_df_del.active {
    background: url('../images/ico_new_del_on.svg') no-repeat center;
}

button.btn_df_name.active {
    background: url('../images/ico_edit_on.svg') no-repeat center;
}



.lst_step2 {
  display: flex;
  margin-top:10px;
}

.lst_step2.mgt0 {
  margin-top:0px !important;
}

.lst_step2 h3 {
  font-size: 16px;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lst_step3 {
  display: flex;
  margin-top:5px;
}

.lst_step3 p {
  min-height: 38px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;   /* 두 줄 */
  overflow: hidden;
  word-break: keep-all;
  min-width: 0;            /* flex 필수 */
}

.lst_step4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top:15px;
}

.lst_step4 p.date {
  color: rgb(0, 0, 0, .5);
  font-size: 13px;
  letter-spacing: -0.1em;
}

.lst_creator {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
  letter-spacing: -0.03em;
  flex-shrink: 0;
}

.lst_step4 button.view {
  width:80px;
  padding:0px 0px 0px 10px;
  line-height: 23px;
  text-align: left;
  background: #edfbfe url('../images/ico_pt_next.svg') no-repeat right 10px center;
  background-size: 5px;
  border: 1px solid #baf1fa;
  border-radius: 100px;
}

.bot_view,
.bot_favorite {
  display: flex;
  align-items: center;
}

.bot_view {
  margin-right: 15px;
}

.bot_view span.ico {
  width:18px;
  height:24px;
  margin-right:2px;
  background: url('../images/ico_view.svg') no-repeat center;
}

.bot_talk {
  position: absolute;
  left:0px;
  display: flex;
  align-items: center;
  /*text-decoration: underline;*/
}

.bot_talk span.ico {
  width:24px;
  height:24px;
  margin-right:2px;
  background: url('../images/ico_talk.svg') no-repeat center;
  background-size: 100%;
}

.bot_favorite span.ico {
  width:18px;
  height:24px;
  margin-right:2px;
  background: url('../images/ico_save.svg') no-repeat center;
}

.state {
	display: flex;
	align-items: center;
	gap:5px;
}

.state span {
	display: flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    height: 21px;
    padding: 0px 10px;
    font-size: 13px;
	line-height: 21px;
    border-radius: 100px;
}

.state span.share {
    background: #FF3880;
	color:rgb(255,255,255,1);
}

.state span.wait {
    background: rgb(0,0,0,.1);
	color:rgb(0,0,0,.5);
}

/*좋아요,싫어요 오픈 레이어*/
.feed_relative {
  position: relative;
}

.feed_layer {
  display: none;
  position: absolute;
  left:0px;
  bottom:40px;
  width: 500px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 10px;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.08);
}

.feed_layer.is_open {
  display: block;
}

.feed_layer textarea {
  width:100%;
  height:70px;
}

/*좋아요,싫어요 컨텐츠*/
.feed_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.feed_tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0px 15px 0px 15px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.03em;
    background: #ffffff;
    border-radius: 5px;
}

.feed_tab.like {
  color: #0866FF;
  border: 1px solid #0866FF;
}

.feed_tab.like span.check {
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url('../images/ico_feed_ch_bl.svg') no-repeat center;
}

.feed_tab.hate {
  color: #FE4343;
  border: 1px solid #FE4343;
}

.feed_tab.hate span.check {
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url('../images/ico_feed_ch_re.svg') no-repeat center;
}

.feed_right_info {
  font-weight: 400;
}

.feed_right_info span {
  padding-left:5px;
}

.feed_right_info span:first-child {
  padding-right:10px;
  background: url('../images/gr_line.svg') no-repeat right center;
}



/*상단우측 프로그래스바*/
.top_user_right {
  display: flex;
  align-items: center;
  justify-content: end;
  gap:10px;
}

.user_progress {
  display: flex;
  align-items: center;
  gap:5px;
  line-height: 20px;
}

.user_progress .title_text {
  display: flex;
  align-items: center;
}

.user_progress .title_text span.line {
  display: flex;
  position: relative;
  top: 0px;
  width: 5px;
  height: 14px;
  margin-right: 5px;
  background: #4373FC;
  border-radius: 100px;
}

.user_progress .sub_text {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 5px;
}

.user_progress .sub_text p {
  font-size: 16px;
  font-weight: 600;
  color:#0063D4;
}

.user_progress .sub_text span {
  position: relative;
  top: 1px;
  padding-left: 4px;
  font-size: 13px;
  color: rgb(0, 0, 0, .4);
  line-height: 11px;
  border-left: 1px solid rgb(0, 0, 0, .3);
}

.h_progress {
  position: relative;
  top: 1px;
  width: 150px;
  height: 8px;
  margin-left: 2px;
  background: #d9d9d9;
  border-radius: 100px;
}

.h_progress_bar {
  position: relative;
  display: block;
  height: 100%;
  background: linear-gradient(to right, #4373FC, #915BD8);
  border-radius: 6px;
}

.progress_text {
  position: absolute;
  top: -18px;          /* 프로그래스바 위 */
  right: 0;            /* 진행 끝 위치 */
  transform: translateX(50%);
  font-size: 12px;
  font-weight: 600;
  color: rgb(0, 0, 0, .7);
  white-space: nowrap;
}

/*+++++팝업+++++*/
/*=====샘플용=====*/
/*팝업샘플백그라운드용(작업시 필요없음)*/
.sample_white_bg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background: #ffffff;
}

.sample_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:10px;
  text-align: center;
}

.sample_wrap p {
  font-size: 20px;
}

.sample_wrap span {
  font-size: 16px;
  color:rgb(0, 0, 0, .5)
}

.click_popup {
  width:130px;
  line-height: 28px;
  color:#ffffff;
  font-size: 15px;
  background: #4373FC;
  border-radius: 100px;
}
/*=====샘플용=====*/

/*모든팝업*/
.dimmed {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, .7);
  z-index: 10;
  /*pointer-events: none;*/

  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s; /* opacity 끝난 뒤 숨김 */
}

.dimmed.is-open {
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0s;
}

.dimmed.gap10 {
  gap:10px;
}

/*팝업공통박스*/
.popup_box {
  position: relative;
  padding: 20px;
  border-radius: 20px;
  background: #ffffff;
} 

/*팝업큰사이즈*/
.popup_box.large {
    width: 700px;
}

/*팝업작은사이즈*/
.popup_box.small {
    width: 500px;
}

.pop_top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  width:100%;
  height:28px;
  margin-bottom: 15px;
  border-bottom: 1px solid #D9D9D9;
}

.pop_top h3 {
  display: flex;
  font-weight: 600;
}

.pop_top .right {
  position: relative;
  display: flex;
  gap:10px;
}

.pop_top button.close, .pop_top a.close {
    width: 20px;
    height: 20px;
    background: url('../images/ico_close_bk.svg') no-repeat center;
}

.pop_top button.alert_close, .pop_top a.alert_close {
    width: 20px;
    height: 20px;
    background: url('../images/ico_close_bk.svg') no-repeat center;
}

/*사용량,요금 탭클릭시 노출,미노출*/
.combo_place > div {
  display: none;
}

.combo_place > div.is_show {
  display: block;
}

.combo_place {
  display: flex;
  gap:10px;
}

.combo_place > * {
  flex: 1;
}

.combo_area {
  display: flex;
  gap:10px;
  width:100%;
}

/*사용량탭영역*/
.tab_use {
  display: flex;
  align-items: center;
  position: relative;
}

.tab_use ul {
  display: flex;
  gap: 5px;
  margin-right: 10px;
}

.tab_use ul li {
  flex: 1;
}

.tab_use ul li button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 21px;
    color: rgb(0, 0, 0, .4);
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    letter-spacing: -0.08em;
    background: rgb(0, 0, 0, .05);
    border:1px solid rgb(0, 0, 0, .1);
    border-radius: 100px;
}

.tab_use ul li button.on {
    color: #475FC4;
    background: #ffffff;
    border:1px solid #475FC4;
    pointer-events: none;
    cursor: default;
}

.tab_use p {
  color: rgb(0, 0, 0, .5);
}

.btn_right_etc {
  position: absolute;
  right:0px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 21px;
  padding:0px 15px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.08em;
  background: #933CFC;
  border-radius: 100px;
}

.prt_part {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.prt_part p.title {
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    padding-left: 8px;
    font-weight: 600;
}

.prt_part p.title::before {
    content: "";
    position: absolute;
    left: 0px;
    width: 4px;
    height: 4px;
    background: #606CFD;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.essential_red{
  width: 5px;
  height: 5px;
  background: url('../images/ico_essential_red.svg') no-repeat;
}

textarea.h60 { height:60px; }

.import_chart_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height:80px;
  padding:5px;
  border:1px solid #D9D9D9;
  border-radius: 5px;
}

.import_text_box {
  width: 100%;
  max-height:80px;
  padding:5px;
  border:1px solid #D9D9D9;
  border-radius: 5px;
  overflow-y: auto;
}

.prt_three_way {
    display: flex;
    gap: 10px;
}

.btn_group {
  display: flex;
  gap:5px;
}

/*프롬프트 승인요청 팝업용*/
.scroll_v525 {
  height:525px;
  overflow-y: auto;
}
.chat_toggle {
  display: flex;
  align-items: center;
  gap:4px;
}

/* 토글 버튼 */
button.chat_more {
  position: relative;
  top:2px;
  width: 18px;
  height: 18px;
  background: none;
  border: 0;
  cursor: pointer;
}

/* 화살표 (after로 처리) */
button.chat_more::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background: url('../images/ico_arrow_bk.svg') no-repeat center;
  transition: transform 0s ease;
  transform: rotate(180deg); /* 닫힘 상태 */
}

/* 열렸을 때 화살표 */
button.chat_more.is-open::after {
  transform: rotate(0deg);
}

.ico_new {
  position: relative;
  top:1px;
  left:-2px;
  width:13px;
  height:13px;
  background: url('../images/ico_new.svg') no-repeat center;
}

.ico_new.top {
  position: relative;
  top:-1px;
  left: 1px;
}

/* 토글 레이어 */
.list_layer {
  display: none;
}

/* 토글 열림 */
.list_layer.is-show {
  display: block;
}

ul.chat_comment {
  display: flex;
  flex-direction: column;
  width:100%;
}

ul.chat_comment li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width:100%;
  padding:8px 0px;
  border-bottom:1px solid #D9D9D9;
}

.comment_info {
  display: flex;
  align-items: center;
  gap:5px;
  line-height: 19px;
}

.comment_info p {
  padding-left:22px;
  font-weight: 600;
}

.comment_info p.admin {
  background: url('../images/ico_admin.svg') no-repeat left center;
}

.comment_info p.man {
  background: url('../images/ico_man.svg') no-repeat left center;
}

.comment_info span {
  font-size: 13px;
  color: rgb(0, 0, 0, .5);
}

p.comment_text {
  font-weight: 400;
}

.comment_write {
  display: flex;
  justify-content: space-between;
  margin-top:10px;
}

.comment_write {
  display: flex;
  justify-content: space-between;
  gap:5px;
}

/*댓글작성*/
.comment_write {
  height:80px;
}

.comment_write button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width:80px;
  height:80px;
  color:#ffffff;
  font-weight: 500;
  text-align: center;
  background: #606CFD;
  border-radius: 5px;
}

.ip_btn_wrap {
  display: flex;
  align-items: center;
  gap:5px;
}

.ip_btn_wrap button {
  flex-shrink: 0;
}

/*팝업안의 알럿창*/
.popin_pop {
        /* 처음엔 안 보이게 */
}

.popin_pop {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width:300px;
  padding:20px;
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 20px;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  z-index: 2;
}

.popin_pop.small {
  width:300px;
}

.popin_pop.large {
  width:700px;
}

.popin_pop_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:10px;
}

.popin_pop_area.nogap {
  gap:0px !important;
}

.popin_pop_area .word{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}


p.important{
  position: relative;
  padding-left: 18px; /* 아이콘 공간 */
  color: #e60012;     /* 빨간색 (예시) */
}

p.important::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url('../images/ico_important_red.svg') no-repeat center;
  background-size: contain;
}

.check_btn_text_wrap {
  display: flex;
  align-items: center;
  gap:4px;
  line-height: 20px;
}

.round_box_bl {
  display: flex;
  flex-direction: column;
  gap:15px;
  width:100%;
  padding:15px;
  background:#F6FAFF;
  border:1px solid rgb(0,0,0,.1);
  border-radius: 5px;
}

.round_box_bl.gap10 {
  gap:10px;
}

.radio_area {
  display: flex;
  flex-direction: column;
}

.radio_area .left_pad {
  display: flex;
  flex-direction: column;
  gap:8px;
  padding-left:20px
}

.radio_area .left_pad p {
  font-weight: 400;
}

.limit_wrap {
  display: flex;
  align-items: center;
  gap:5px;
  width: 70%;
}

.limit_box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width:160px;
  height:28px;
  padding:0px 10px;
  background:rgb(255,255,255,1);
  border: 1px solid rgb(0, 0, 0, .2);
  border-radius: 5px;
}

.pop_feed_con {
  display: flex;
  flex-direction: column;
  gap:10px;
  margin-top: 10px;
}

.feed_wrap  {
	display: flex;
  position: relative;
	margin-bottom: 20px;
}

.no_event {
  pointer-events: none;
}

.copy_tip {
  display: none;
}

.copy_tip {
  position: absolute;
  left: 28px;
  bottom: 7px;
  min-width: 100px;
  padding: 2px 5px;
  color: #ffffff;
  background: rgb(0,0,0,.5);
  text-align: center;
  border-radius: 5px;
}

.copyBt.on + .copy_tip {
  display: block;
}

.pop_feed_scroll {
  font-weight: 400;
  max-height: 55px;
  overflow-y: auto;
}


/*+++++로그인화면,내정보수정 20260204+++++*/
.my_info_wrap {
  display: flex;
  justify-content: center;
  width:100%;
}

.login_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  height:100vh;
  background:#f2f2f2 url('../images/login_bg.png') no-repeat;
  background-size: cover;
  overflow:hidden;
    
}

.login_area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  top: -2%;
  width:420px;
}

.system_info {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.system_info img.logo {
  width: 100px;
  margin-bottom: 15px;
}

.system_info img.kland_logo {
  width: 100px;
  margin-bottom: 15px;
}

.system_info h1 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

.info_input_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width:100%;
  padding:25px 30px;
  background:rgb(255,255,255,.6);
  border-radius: 15px;
  box-shadow: 0px 0px 12px 5px rgb(0, 0, 0, .15);
}

.circle_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width:55px;
  height:55px;
  margin-bottom: 10px;
  background: #004191 url('../images/ico_lock_wh.svg') no-repeat center;
  background-size: 58%;
  border-radius: 100px;
}

.info_input_box.myinfo {
  width:400px !important;
  padding: 50px 0px 0px 0px !important;
  background:rgb(0,0,0,0) !important;
  border-radius: 0px !important;
  box-shadow: none;
}

.info_input_box form {
  width:100%;
}

.info_input_box p.admin_text {
  width: 100%;
  margin-bottom: 7px;


  text-align: center;
}

.info_input_box p.admin_text.bl_small {
  margin-top: 15px;
  font-size: 13px;
  color:#0055ff;
}

.info_input_box .human {
  margin-bottom:20px;
}

.login_ip {
  display: flex;
  width:100%;
  margin-bottom: 8px;
  background:#ffffff;
  border: 1px solid #D9D9D9;
  border-radius: 5px;
}

/* input 포커스 시 부모 border 변경 */
.login_ip:focus-within {
  border-color: #004191 !important;
}


.login_ip.brd {
  border:1px solid #D9D9D9;
}

.login_ip .ic_id {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width:45px;
  background: url('../images/icon_man.svg') no-repeat center;
}

.login_ip .ic_name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width:45px;
  background: url('../images/icon_name.svg') no-repeat center;
}

.login_ip .ic_pw {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width:45px;
  background: url('../images/icon_lock.svg') no-repeat center;
}

.login_ip.disabled:hover,
.login_ip.disabled:hover * {
  cursor: not-allowed !important;
}


.login_ip .ic_id.disabled {
  background: #f1f1f1 url('../images/icon_man.svg') no-repeat center;
  border-radius: 5px 0px 0px 5px;
}

.login_ip .ic_name.disabled {
  background: #f1f1f1 url('../images/icon_name.svg') no-repeat center;
  border-radius: 5px 0px 0px 5px;
}

.login_ip .ic_pw.disabled {
  background: #f1f1f1 url('../images/icon_lock.svg') no-repeat center;
  border-radius: 5px 0px 0px 5px;
}

.btn_pw_view {
  flex-shrink: 0;
  width:38px;
  height:38px;
  background: url('../images/ico_eye.svg') no-repeat center;
  background-size: 23px;
}

.btn_pw_view.on {
  flex-shrink: 0;
  width:38px;
  height:38px;
  background: url('../images/ico_eye_none.svg') no-repeat center;
  background-size: 23px;
}

.login_ip .form {
  width:100%;
}

.login_ip .form input {
  display: flex;
  width: 100%;
  height: 38px;
  padding: 0px;
  background: #ffffff;
  border:0;
  font-size: 14px;
}



.login_ip .form input:disabled {
  border-radius: 0px 5px 5px 0px !important;
}

button.btn_login, a.btn_login {
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  height:44px;
  margin-top: 5px;
  padding-bottom: 2px;
  color:#ffffff;
  font-weight:400;
  font-size: 20px;
  border-radius: 5px;
  background:#004191;
  transition: all 0.2s;
}

.align_bottom_full {
  display: flex;
  gap:5px;
  position: relative;
  width: 100%;
}

button.round.large,
a.round.large {
  min-width:100px !important;
  width:100% !important;
  height:38px !important;
  padding:0px 10px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 5px !important;
  white-space: nowrap;
}

/* ===== 404 에러 페이지 ===== */
.error_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 500px;
  gap: 16px;
  text-align: center;
}

.error_code {
  font-size: 100px;
  font-weight: 700;
  color: #475FC4;
  line-height: 1;
  letter-spacing: -4px;
}

.error_title {
  font-size: 22px;
  font-weight: 600;
  color: #222222;
}

.error_desc {
  font-size: 14px;
  color: #888888;
  margin-bottom: 8px;
}

/* ===== 에러 메시지 ===== */
.error_msg {
  color: #e53935;
  font-size: 13px;
  margin: 0 0 8px;
  text-align: center;
}

/* ===== 툴팁 아이콘 ===== */
.tooltip_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0;
  margin-left: 4px;
}


.kland_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    /*margin-bottom: 10px;*/
    text-align: center;
}

.kland_logo p {
    color: rgb(0, 0, 0, 1);
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

.kland_logo span {
    color: rgb(0, 0, 0, .5);
}

.kland_logo a {
    display: block;
    width: 160px;
    height: 60px;
    background: url('../images/kland.svg') no-repeat center;
    background-size: contain;
    margin-top: 20px;
    margin-bottom: 10px;
}