.content-wrapper {display: flex;}
.body, .header { padding-left: 10%; padding-right: 10%}
.left-menu {flex: 1; min-width: 275px;}
.right-content {flex: 5; min-width: 874px; padding-left: 20px;}

input:focus, textarea:focus, select:focus { box-shadow: none !important; outline: none !important; }


.loading-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; background-color: rgba(0, 0, 0, 0.4); z-index: 10055; justify-content: center; align-items: center;}
label.required::before { content: "*"; color: red; margin-right: 4px; }

ul { padding-left: 0 !important; }

.note-editable ul, .note-editable ul li {
    list-style: disc !important;
    list-style-position: inside !important;
}

.note-editable ol, .note-editable ol li {
    list-style: decimal !important;
    list-style-position: inside !important;
}

.preview-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
}

.preview-image {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.file-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 5px;
  gap: 1rem;
}

.file-name {
  flex: 1;
  font-size: 0.85rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* .container{display: flex; justify-content: space-between; padding: 0 !important;} */
/* nav{width:275px;} */

table td { word-break: break-word; }
.table-small th, .table-small td{font-size: 14px;}

/* 캘린더 날짜 입력 버튼 */
.date_wrap .btn_input_date{border: 1px solid var(--bs-primary); color:var(--bs-primary); border-radius: 60px; padding:10px 16px; box-sizing: border-box;} /* position: absolute; right: 0; */
.date_wrap .btn_input_date:hover{background:#FFF3F2;}

/* 로그인 */
.login_body{width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
.login_box{border: 1px solid #ddd; border-radius: 8px; padding: 60px; box-sizing: border-box; display:flex; flex-direction: column; gap: 36px;}
.logo_wrap{ display:flex; flex-direction: column; gap:14px; align-items: center;}
.logo_wrap img{width: 300px;}
.login_input_wrap{display:flex; flex-direction: column; gap:24px;}
.login_input_wrap .login_input{display:flex; flex-direction: column; gap:8px;}

.accordion {width:100%; margin: 30px auto 0; display: flex; flex-direction: column;}
.accordion .link {cursor:pointer; display:flex; justify-content:space-between; padding: 15px 0 15px 0; color: var(--txt-basic); font-size: 14px; font-weight: 700; border-bottom: 1px solid #ddd; position: relative; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; font-size: 18px; font-family:'font-b';} 
.accordion li:last-child .link {border-bottom: 0; }
.accordion li i {-webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; width: 24px;}
.accordion li i.fa-chevron-down {right: 12px; left: auto; font-size: 16px;}
.accordion li.open .link {color: var(--main-color); border-bottom:2px solid var(--main-color);}
.accordion li i img, .accordion li.open i img{width: 24px;}
.accordion li.open i {width: 24px; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg);}
.accordion .open .submenu {display: block;}

.submenu {display: none; font-size: 14px;}
.submenu a {display:flex; gap:16px; align-items:center; text-decoration:none; color:var(--txt-basic); padding:12px 16px; -webkit-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; font-size: 16px;}
.submenu a:hover {background:#f6f6f6; color:var(--txt-basic);}
.submenu a.active{font-family:'font-b'; background:#f6f6f6;}
.submenu a img{width: 24px;}
.submenu .icon-reservation { background-image: url('../images/ic_menu_1.png'); }
.submenu .icon-schedule { background-image: url('../images/ic_menu_2.png'); }
.submenu .icon-usage { background-image: url('../images/ic_menu_3.png'); }

/* 공통 아이콘 스타일 */
.submenu .menu-icon { display: inline-block; width: 24px; height: 24px; background-size: contain; background-repeat: no-repeat; }


/* section{width:874px;} */
.tit_bar{border-bottom: 1px solid #ddd; display: flex; align-items: center; gap:4px; margin-top: 30px; height:56px;}
.tit_bar span{font-size: 14px; color:var(--txt-sub);}

.date_wrap{position: relative; display:flex; align-items:center; justify-content: center; margin-top: 20px;}
.date_select{display: flex; align-items: center; gap:16px;}
.date_select span{font-size: 16px;}
.date_select img{width: 36px; cursor: pointer;}
.date_wrap .btn_today{border: 1px solid var(--main-color); color:var(--main-color); border-radius: 60px; padding:10px 16px; box-sizing: border-box;} /* position: absolute; right: 0; */
.date_wrap .btn_today:hover{background:#FFF3F2;}
.legend_wrap{display:flex; align-items:center; justify-content: center; gap:16px; margin-top:30px;}
.legend_item{display: flex; align-items: center; gap:6px; color:var(--txt-sub);}
.legend_item span{width:10px; height: 10px; border-radius: 10px;}
.legend_item .item_1, .event_1{background:#C5E6FF;}
.legend_item .item_2, .event_2{background:#DAD7F5;}
.legend_item .item_3, .event_3{background:#BFC8FF;}
.legend_item .item_4, .event_4{background:#D8D8D8;}
.legend_item .item_5, .event_5{background:#C1FFA2;}
.legend_item .item_6, .event_6{background:#FFCCC8;}
.legend_item .item_7, .event_7{background:#FFD09E;}
.legend_item img{width: 16px;}

.info_box{background:#F6F6F6; border-radius: 16px; padding: 20px; box-sizing: border-box; font-size: 14px; margin-top: 40px;}

.calendar_wrap{display: flex; flex-direction: column; margin-top: 20px;}
.calendar_wrap .c_header_wrap{display: flex; border-bottom: 1px solid #3C3D46;}
.calendar_wrap .c_header_wrap .c_label{width: 60px;}
.calendar_wrap .c_header_wrap .c_content{flex: 1 1; display: flex; flex-direction: row;}
.calendar_wrap .c_header_wrap .c_content>div{flex: 1 0; height: 36px; align-items: center; display: flex; justify-content: center;}
.calendar_wrap .c_header_wrap .c_content>div span{position: relative;}
.calendar_wrap .c_header_wrap .c_content>div span .mark_today{position:absolute; z-index:2; width:25px; right:-26px; top:-7px}
.calendar_wrap .c_body_wrap{display: flex;}
.calendar_wrap .c_body_wrap .time_label_wrap{width: 60px;}
.calendar_wrap .c_body_wrap .time_label_wrap>div{height:48px; border-bottom: 1px solid #ddd; border-right: 1px solid #f2f2f2; box-sizing: border-box;}
.calendar_wrap .c_body_wrap .time_column{flex: 1; border-right: 1px solid #f2f2f2; box-sizing: border-box;}
.calendar_wrap .c_body_wrap .time_column .time_item{border-bottom: 1px solid #f2f2f2; height: 24px; position: relative; box-sizing: border-box;}
.calendar_wrap .c_body_wrap .time_column .time_item:nth-child(even){border-bottom: 1px solid #ddd;}
.calendar_wrap .c_body_wrap .time_column .time_item .schedule_event{position: relative; z-index: 2; width: 100%; min-height:24px; padding:5px; box-sizing: border-box; display: flex; flex-direction: column; gap:2px; cursor: pointer; overflow: hidden; border-bottom: 1px solid #f2f2f2;}
.calendar_wrap .c_body_wrap .time_column .time_item .schedule_event div{display:flex; align-items: center; justify-content: center; gap: 4px; font-size: 12px;}
.calendar_wrap .c_body_wrap .time_column .time_item .schedule_event div img{width: 16px;}
.calendar_wrap .c_body_wrap .time_column .time_item.cell-selecting div{display:flex; align-items: center; justify-content: center; gap: 4px; font-size: 12px;padding: 5px;}
.calendar_wrap .c_body_wrap .time_column .time_item.cell-selecting div img{width: 16px;}
.dragging div{display:flex; align-items: center; justify-content: center; gap: 4px; font-size: 12px;padding-top: 5px;}
.dragging div img{width: 16px;}
.calendar_wrap, 
.calendar_wrap * {
  -webkit-user-select: none; /* Chrome, Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE10+ */
  user-select: none;         /* 표준 */
}

.schedule_detail li{display: flex; justify-content: space-between; padding: 8px 0;}
.schedule_detail li label{width: 100px; color: #777;}
.schedule_detail li div{flex: 1; position: relative;}
.schedule_detail li div .txt_unit{position:absolute; right:16px; top:12px}

.btn_group{display: flex; justify-content: flex-end; gap: 8px;}

.textarea{height: 200px;}
.txt_info{font-size: 13px; color: var(--txt-sub);}
a.txt_link{border-bottom: 1px solid #ccc;}

.board_list .txt_item_1{font-size: 14px; color: var(--main-color);}
.board_list .txt_item_2{font-size: 14px;}
.board_list .txt_item_2 span{font-size:12px; color:#999;}
.board_list .txt_item_3{font-size: 14px; color:#999;}
.board_list .txt_item_4{font-size: 14px; color:#808ef5;}

.company_logo{width: 320px;}
.company_wrap{width:793px; display: flex; flex-direction: column; gap: 40px;}
.company_wrap h1{font-family: 'font-eb'; color:#000;}
.company_wrap .tit_bold_bar{background:#000; color:#fff; padding: 8px 20px; box-sizing: border-box; font-family: 'font-eb'; font-size: 20px; margin-top:8px;}
.stocks_news{font-size: 16px; color: #666; line-height: 1.8; margin-top: 20px;}
.stocks_news p{margin-top: 20px; color:#000; font-family: 'font-b';}
.cs_wrap{border-top: 2px solid #000; margin-top: 10px; display: flex; flex-direction: column; gap: 40px; padding-top: 40px;}
.cs_bn{display:flex; width: 440px; align-items:center; justify-content:space-between; cursor: pointer;}
.cs_bn>div{display: flex; align-items: center; gap: 45px;}
.cs_bn .txt_item_1{font-size: 20px; font-family:'font-m';}
.cs_bn .txt_item_2{font-size:16px; color: #666;}
.ic_48{width: 48px;}
.ic_24{width: 24px;}
.midnight-separator {border-top: 2px solid red !important;}
.selected-week {background-color: #fffaeb; border: 2px solid orange;}
.today {font-weight: bold; color: red;}
.cell-selecting {
  border: none !important;
  box-shadow: 1px 4px 4px 0 rgba(51, 47, 47, .21), -2px 7px 7px 0 rgba(51, 47, 47, .18), 0 2px 2px -1px rgba(51, 47, 47, .3);
}
.ghost_block {
  box-shadow: 1px 4px 4px 0 rgba(51, 47, 47, .21), -2px 7px 7px 0 rgba(51, 47, 47, .18), 0 2px 2px -1px rgba(51, 47, 47, .3);
  z-index: 10002;
}
.custom_modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: overlay;
}

/* 모달 박스 (사이즈 확대됨) */
.custom_modal {
  width: 600px; /* 기존 400px → 확대 */
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  animation: fadeIn 0.2s ease-out;
  z-index: 10003;
}

/* 모달 푸터 및 버튼 UI */
.custom_modal label {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 700;
  width: 100%;
}

.custom_modal select {
  margin-top: 15px;
  font-size: 15px;
  height: 38px;
  padding: 0 25px 0 10px;
  border-radius: 6px;
}

.custom_modal select#is_repeat {
  margin-top: -15px;
  margin-bottom: 15px;
  font-size: 15px;
  height: 38px;
  padding: 0 25px 0 10px;
  border-radius: 6px;
}

.custom_modal input[type='text'], .custom_modal input[type='select'], .custom_modal input[type='number'], .custom_modal span {
  margin-top: 15px;
  font-size: 15px;
  height: 38px !important;
  padding: 0 25px 0 10px;
  border-radius: 6px;
}

.input_group_text {
  margin-top: 15px;
  font-size: 15px;
  height: 38px !important;
}

.custom_modal input#description {
  height: 100px !important;
}

/* 모달 헤더 */
.custom_modal_header {
  background: #f6f6f6;
  padding: 0 16px;
  font-size: 24px;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 모달 헤더 */
.custom_modal_header h5{
  margin: auto 0;
}

/* 닫기 버튼 */
.btn_close {
  background: transparent;
  border: none;
  font-size: 40px;
  cursor: pointer;
}

/* 모달 바디 (텍스트 크기 확대) */
.custom_modal_body {
  padding: 16px;
  font-size: 18px; /* 기존 14px → 확대 */
  line-height: 1.7;
}


/* 모달 텍스트(텍스트 크기 확대) */
.custom_modal_body p, .custom_modal_body .refund_section, .custom_modal_body .resv_change_section, .custom_modal_body label {
  padding: 8px 0;
}

/* label 텍스트 (모달 내부 입력폼) */
.schedule_detail label {
  width: 100px;
  color: #777;
  font-size: 18px; /* 명시적으로 확대 */
}

/* 일반 텍스트 필드 내용 */
.schedule_detail li div {
  font-size: 18px; /* 기본 크기 키움 */
  position: relative;
}

/* 모달 푸터 및 버튼 UI */
.custom_modal_footer {
  padding: 12px 16px;
  text-align: right;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}


/* 버튼 기본 */
.custom_modal_footer button, .resv_change_section #changeScheduleSearch {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  background-color: var(--main-color);
  color: white;
  transition: background 0.3s;
}

/* 버튼 hover 효과 */
.custom_modal_footer button:hover, .resv_change_section #changeScheduleSearch:hover {
  background-color: #dd243d;
}

/* 취소 버튼 */
.custom_modal_footer .btn_close, .custom_modal_footer .btn_resv_back {
  background-color: #ddd;
  color: #333;
}

.custom_modal_footer .btn_close:hover, .custom_modal_footer .btn_resv_back:hover {
  background-color: #bbb;
}

/* 반복일정용 버튼 */
.custom_modal_footer .btn_apply_one,
.custom_modal_footer .btn_apply_all{
  background-color: var(--main-color);
}

.custom_modal_footer .btn_apply_one:hover,
.custom_modal_footer .btn_apply_all:hover {
  background-color: #dd243d;
}

/* 저장 버튼 */
.custom_modal_footer .btn_save {
  background-color: var(--main-color);
}

.custom_modal_footer .btn_save:hover {
  background-color: #dd243d;
}

/* label 텍스트 (더 크고 강조됨) */
.schedule_detail li label {
  width: 100px;
  color: #555;
  font-size: 18px;  /* 강조 */
  font-weight: 600;
}

/* 일반 텍스트 필드 영역 */
.schedule_detail li div {
  font-size: 18px;  /* 강조 */
  font-weight: 600;
  position: relative;
}

/* 단위 표시 텍스트 (예: 원, 시 등) */
.schedule_detail li div .txt_unit {
  position: absolute;
  right: 16px;
  top: 12px;
  font-size: 16px;
  font-weight: 600;
  color: #666;
}

/* 입력 요소 내부 폰트는 기존 수준 유지 */
.schedule_detail input,
.schedule_detail select,
.schedule_detail textarea {
  font-size: 18px;
  font-weight: 400;
}

.mt20 {
  min-height: 10vh;
}

#changeScheduleSearch {
  width: 100%;
  margin-left: 20px;
}

.resv_change_section .option-non {
  color: var(--txt-deepgray);
}

.resv_change_section .option-on {
  color: var(--txt-basic);
}

.handle {
    cursor: grab;
    font-weight: bold;
}

.handle:active {
    cursor: grabbing;
}

.handle-highlight {
    height: 2.5em;
    line-height: 2.5em;
    border: 1px dashed #999;
    background: #f1f1f1;
}

.guide {
  height: 500px;
}

.split-line {
  border-top: 1px dotted #e22 !important;
}

.left-time {
  font-size:15px;
  color:#777;
  display: inline-block;
  padding-left: 10px;
}