
/* (S) 벨리데이션 처리시 사용함 --------------------------------------------------------------------------->> */
/* 파란색 에러 말풍선 */
.dev-fix-error-bubble {
    position: absolute;
    background: #3742fa; /* 진한 파란색 */
    color: white;
    padding: 8px 15px;
    border-radius: 20px; /* 좀 더 둥글게 */
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(55, 66, 250, 0.3); /* 푸른빛 그림자 */
    z-index: 1000;
    pointer-events: none;
    white-space: nowrap;
    /* 애니메이션 */
    animation: dev-fix-fadeInUp 0.3s ease-out forwards;
}

    /* 말풍선 꼬리 */
    .dev-fix-error-bubble::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 20px;
        border-width: 6px;
        border-style: solid;
        border-color: #3742fa transparent transparent transparent;
    }

/* 입력창 파란색 강조 및 흔들기 */
.dev-fix-input-error {
    border: 2px solid #3742fa !important;
    background-color: #f1f3ff !important; /* 연한 파란색 배경 */
    outline: none;
    /*animation: dev-fix-shake 0.4s ease-in-out; 흔들리는 애니메이션 제거*/
}

/* 애니메이션 정의 */
@keyframes dev-fix-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dev-fix-shake {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-3px);
    }

    75% {
        transform: translateX(3px);
    }
}
/* (E) 벨리데이션 처리시 사용함 --------------------------------------------------------------------------->> */

.board_page_line{font-size: 11px; font-family:'sans-serif'; color:#e7320e; font-weight:-1px;}

/* 웹폰트체 2024년 3월 20일에 추가 */
@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;}

@font-face {
        font-family: 'SUIT-Regular';
        src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
        font-weight: normal;
        font-style: normal;}

@font-face {
            font-family: 'SUITE-Regular';
            src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/SUITE-Regular.woff2') format('woff2');
            font-weight: 400;
            font-style: normal;}

@font-face {
     font-family: 'S-CoreDream-3Light';
     src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff') format('woff');
     font-weight: normal;
     font-style: normal;
}

body{letter-spacing: 0px; font-family: 'Pretendard-Regular';}
.content-page {background: #fafafa;}

.table tbody {overflow-y: scroll!important;}
tbody.picom-scroll tr:last-child {border-bottom: 1px solid;}

.modal-content {
    border-radius: 8px!important;
  }

/*body
{
	FONT-SIZE: 12px;
    COLOR: #000000;
    FONT-FAMILY: 'Pretendard-Regular';
}*/


/* .button-design button {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #777 !important;
} */

button.btn.btn-outline-secondary.symbol-btn {
    font-size:18px;
}

.button-design a {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #777 !important;
}

.button-selection button {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #777 !important;
    font-size: 0.9rem;
}

/* 24-12-27 납입영수증 모달 css start */

table.statementArea {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}
table.statementArea th {
    background: #efefef;
}

table.statementArea td, table.statementArea th {
    border: 1px solid #000;
    color: #000;
    padding: 5px 15px;
    text-align: center;
    width: 10%;
    font-size: 0.8rem;
}

.custom-modal {
    max-width: 210mm!important;
    max-height: 297mm;

}

.statementWrap tr:nth-child(n+22):nth-child(-n+26) td {
    padding: 15px;
}

tbody.picom-scroll.deposit_list td {
    font-size: 12px;
}

.row.mx-0.justify-content-center.border.border-primary.mb-5.py-3 {
    background: #fff;
    border-radius: 5px;
    margin-top: 15px;
}


/* 24-12-24 영수증모달 css start */
.receipt-section {
    margin-bottom: 10px;
}
.receipt-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 20px;
}
.receipt-table {
    width: 100%;
}
.receipt-table th, .receipt-table td {
    padding: 12px;
    border-bottom: 1px solid #dee2e6;
}
.total-amount {
    font-weight: bold;
    color: #000;
}

.receiptArea {
    width: 80%;
    margin: 10px auto;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px;
    font-size: 0.85rem;
    font-family: 'Pretendard-Regular';
}

.receiptArea table thead th {
    padding-left: 0px
}

.receipt-section table td {
    padding: 1px;
    width: 20%;

    }
/* 모달 크기 조절 */
.custom-modal {
    width: 50%; 
    margin: auto;
        }

@media print {
body {
    margin: 0;
    padding: 0;
    font-size: 14px; /* 글씨 크기 조정 */
    line-height: 1.2; /* 줄 간격 */
    font-family: sans-serif!important;
    background:none!important;
    color: black!important;
}

.modal-content {
    width: 50%; /* 모달 크기 조정 */
    max-width: 400px;
    margin: 0 auto; /* 중앙 정렬 */
    padding: 10px;
    border: none!important; 
    background:none!important;
    font-family: sans-serif!important;
    color: black;
    
}

table {
   
    width: 100%;
    border-collapse: collapse!important; /* 테이블 경계 */
    font-family:sans-serif;
    border-collapse: collapse!important;
}

table.table-bordered > thead > tr > th,
    table.table-bordered > tbody > tr > td {             
        border: 0.2px solid #000!important; /* 기존 테두리 제거 */   
        color: black;    
    }

thead {
    width: 100%!important; /* 헤더 고정 제거 */
    font-size: 15px;
}


.receipt-section {
    margin-bottom: 10px;
    background:none!important;
    color: black;
    font-size: 15px;
}
.receipt-title {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 20px;
    font-family: sans-serif!important;
    color: black;
    font-size: 15px;

}

.receipt-table {
    width: 100%;
    font-size: 15px;
    
}
.receipt-table th, .receipt-table td {
    padding: 10px;
    border-bottom: 1px solid #ccc!important;
    font-family: sans-serif!important;
    color: black;
    font-size: 15px;
    
}
.total-amount {
    font-weight: bold;
    color: #267ddf;
    
}

.receiptArea {
    width: 50%;
    margin: 15px auto;
    border: 1px solid #464848!important;
    border-radius: 5px;
    padding: 5px;
    font-size: 15px;
    font-family: sans-serif;
    color: black;
    
}

.modal-header h5 {
    font-size: 15px;
    font-weight: bold;
    margin: 3px 0px;
}

.receipt-table thead th {
    background-color: #f4f4f4 !important; /* 배경색 설정 */
    color: #000; /* 글자색 설정 */
    -webkit-print-color-adjust: exact; /* 브라우저에서 정확한 색상 출력 */
    print-color-adjust: exact; /* 색상 조정 */
}

/* 다른 요소에는 배경색 제거 */
.receipt-table td, .receipt-table th:not(thead th) {
    background-color: transparent !important;
}

/* 모달 크기 조절 */
.custom-modal {
    width: 50%; 
    margin: auto;
        }


/* 불필요한 UI 숨기기 */
.modal-footer, .btn {
    display: none !important;
}
}

/* 24-12-24 영수증모달 css end */





.none
{
	FONT-SIZE: 12px;
    COLOR: #000000;
    text-decoration:none;
    FONT-FAMILY: ����;
}

.ppBody
{
    FONT-SIZE: 12px;
    COLOR: red;
    FONT-FAMILY: ����;
}

.ppLink
{
    FONT-SIZE: 12px;
    COLOR: #000000;
    FONT-FAMILY: ����;
}

.nexion_admin_paging_link_no {
	font-size: 11px;
	color: #020202;
	font-family: "Arial";
	font-style: bold;
	font-weight: bold;
}


.nexion_admin_paging_link_yes {
	font-size: 11px;
	color: #bab9b9;
	font-family: "Arial";
	font-style: bold;
	font-weight: bold;
}

.set_address_01{
	font-size: 12px;
	font-family:"����";
	color:#6f6d6b;
	border: 1px solid #cccccc;
	background-color: #ffffff;
    line-height:21px;
}

thead.picom-scroll {
    width: calc(100% - 0.37em)!important;
}
table thead th {
    font-weight: 700!important;
}

.table {
    color: black!important;
}

.row.p-3 {padding: 20px 80px!important; font-family:'S-CoreDream-3Light';}

.modal button {
    font-family: 'sans-serif';
}

#receiptBorder {
    padding: 4px 16px;
}

.modal table th, .modal table td {
    font-family: 'Pretendard-Regular';
}

.modal-content p {
    font-family: 'Pretendard-Regular';
}

.modal-body {
    font-family: 'Pretendard-Regular';
}

.modal-header.border-bottom-0 {
    padding: 0px;
}

input[type="radio"] {
    accent-color: #17a2b8;
}

/* 첫페이지 수정 start.aspx 2024년 3월 20일 [수정]*/
.container-fluid {padding: 0px 40px;}
nav.navbar-custom {padding-right: 41px!important;}
span.font-30.text-primary {font-size:24px; padding: 6px;}
small.col.font-weight-bold.text-dark {padding: 6px; font-size: 14px; text-align: center; font-weight: 400 !important;}

/* 일정관리 */
table.table.table-bordered.border-0.modal-table tbody th {width: 15%;}
div#schdule_wrap a:hover {color: #000;border: 1px solid #267ddf !important;background: none;}
div#schdule_wrap a {background: #fff;padding: 0px 5px;border: 1px solid #666 !important; border-radius: 3px; line-height: 29px; font-size: 0.75rem;}
div#schdule_wrap button {background: #fff;
padding: 0px 9px; line-height: 27px; border: 1px solid #666 !important;color: #000; border-radius: 3px;}
.sch_wrapping {width: 100%;display: flex;justify-content: center;font-size: 0.8rem;align-items: center;}
div#schdule_wrap button:hover {color: #000;border: 1px solid #267ddf !important;background: none;}
.sch_wrapping button {margin-right: 0px!important;}
div#schdulepadding {padding-top: 40px!important;}

/* 종합관리 수정 all_management.aspx 2024년 3월 20일~4월 1일 [원생목록창 수정]*/
.col-9.buttonline-custom a {border: 1px solid #464848 !important;border-radius: 4px !important;height: 30px;
font-weight: 600;letter-spacing: -1px;font-size: 13px;}
.checkbox-lg {transform:scale(1.4);}
span.mr-3 {vertical-align: text-bottom;}
td#height-custom {padding: 0.2rem; padding-left: 13px; padding-right: 13px;}
table#tblHk th {border: 1px solid #444;}
table#tblHk td {border: 1px solid #444;}
tbody.kw_enroll_2 tr:nth-child(6) th {border: 1px solid #999;}
table#tech-companies-5 th span {color: red;}
span.mr-5 {margin-right: 27px!important; vertical-align: text-bottom;}
td#studentImg {padding: 7px;}
tbody.kw_enroll_1 td:first-child img {max-height: 121px !important;object-fit: fill;min-width: 125px;}
tbody.RegisterTable th {width: 30%;background: #efefef !important; letter-spacing: 0px;}
.button-container .btn {margin-right: 0px !important; padding: 5px 14px !important; font-size: 0.77rem!important;}
.button-container button:hover {background: #4546!important;}
#btnEtcSms2:hover {background: #4546!important;}
.col-12.custom-divide {display: flex; padding-bottom: 100px;}
tbody.overflow-auto.d-block td {font-size: 0.8rem;}
.card-header.font-weight-bold.font-18.bg-primary.text-white.text-center{font-size: 17px; background: none!important; font-weight: 600!important; color: #000!important; border: none; letter-spacing: -1.5px; padding: 10px 0; width: 63px; font-family: 'S-CoreDream-3Light';}
.col-12.mb-3 >p {font-family: 'S-CoreDream-3Light';font-size: 17px; text-align: center;}
.col-12 >p {font-family: 'Pretendard-Regular';font-size: 17px;}
tr#customer_sumr_list td:nth-child(2) {overflow-x: hidden;}
tr.text-center.bg-secondary th:nth-child(1) {width: 16%; padding: 6px;}
tbody.overflow-y.d-block td:nth-child(1) {width: 16%;}
.row.px-4.pt-4 {font-family:"SUIT-Regular";}
.content-page {font-family:"SUIT-Regular";}
td.font-weight-bold {overflow-x: hidden; font-weight: 400!important; }
nav.navbar-custom {font-family:"SUIT-Regular";}
h4#menu1_tx_name {font-family:"Pretendard-Regular"; font-size: 21px; padding-top:55px;}
.topbar-left {background: #001845!important}
button.button-menu-mobile.open-left.waves-effect {background: #0353A4;}
li.list-group-item.nav-background.d-none.d-sm-block.pr-1 {background: #0353A4;}
nav.navbar-custom {background: #0353A4!important}
.nav-background {background: #0353A4!important}
div#kw_color {background: #666!important; height: 123px; border-radius: 6px; align-items: center; display: flex;}
div#kw_alert {background: #e9f3fb; border-top:2px solid #efefef; margin-top: 2px; border-radius: 0px;}
a.btn.btn-sm.btn-primary.btn-icon {background: #efefef; border: 1px solid #0353A4 !important; font-size: 13px; font-weight: 600;}
a.btn.btn-sm.btn-primary.btn-icon:hover {color: #0353A4;}
a.btn.bg-primary.border-light.text-light.p-0.px-1.Pointer {background: #666!important; margin-left: 3px!important;}
label.label-outline-blue {border: 1px solid #464848 !important; color: #464848; padding: 2px;}
button.btn.btn-light.waves-effect.text-primary.font-weight-bold.btn-icon.border{color: black!important; font-weight: 400!important; font-size: 14px;}
div#kw_border {justify-content: center; padding-bottom: 14px; border-bottom: 1px solid #999;}
.col-auto.input-group.input-group-sm.align-items-center.mb-2{width: 786px;margin: 0 auto;}
.enroll_input{display: flex;margin: 7px auto;width: 1030px;align-items: center;flex-wrap: wrap; justify-content: center;}
.enroll_button{display: flex; margin: 21px auto 0; justify-content: center; overflow-x: auto;}
.col-md-1.col-sm-11.mr-0 {flex-wrap: wrap; display: flex; white-space: pre;}
div#dvcustomer_list {border: 1px solid #ccc!important;}
.search-bar.d-flex.justify-content-center.px-5.py-2 {background: #efefef;}
.table-responsive.mb-0.tb-type1 {border: 1px solid #ccc!important;}
div#dvcustomer_list {height: 100%;}
.form-group.row {margin-top: 20px;}
tbody.kw_enroll_1 th {font-size: 14px!important;}
tbody.kw_enroll_2 {font-size: 14px;}
tbody.kw_enroll_2 th {font-size: 14px!important;}
tbody.overflow-y.d-block td {padding: 3.5px; font-size: 0.85rem; overflow: hidden;}
button.btn.btn-sm.allManaButtonColor.text-light {border: 1px solid #999;background: #efefef;color: #464848 !important; font-size: 12px;
padding: 5px 5px; font-weight: 600; margin-left: 2px;}
input#txCard {border-radius: 3px!important;}
button.btn.btn-sm.font-weight-bold.border.rounded.mr-1 {border: 1px solid #777!important; padding: 7px 11px; font-size: 0.77rem; margin-top: 14px; background: #fff;}
.btn-group.mb-1 {display: flex; width: 100%;}
a#btnModify {background-color: #fff; font-size:13px; line-height: 20px; color: 000!important; border: 1px solid #999!important; border-radius: 4px; height: 30px; font-weight: 600; letter-spacing: -1px; }
button.btn.btn-sm.font-weight-bold.border.rounded.mr-1:hover{background: #4546;}
a#btnEtcSms2:hover{background: #4546;}
.btn-group.mb-1.button-selection {width: 50%;}
.col-12.mb-3.pt-4.width-custom {width: 98%; margin: 0 auto;}
/* p.font-16.font-weight-bold.text-dark.mb-0.paymisus {margin-top: 30px!important; text-align: center; background: #FBFEFF; border: 1px solid #464848;} */
.d-flex.justify-content-between.align-content-center.unpay_total {margin-top: 30px !important;text-align: center;
background: #FBFEFF;border: 1px solid #464848;padding: 0px 20px;position: relative;}
.d-flex.justify-content-between.align-content-center.unpay_total p:nth-child(2) {margin: 0; position: absolute; right: 5%; font-weight: 600; bottom: 15%;}
p#kw_paylist {margin-top: 30px; text-align: center; background: #FBFEFF; border: 1px solid #464848; font-size: 1.3rem;}
table#tblMisu{border: 1px solid #999;}
tbody#kw_unpay td {padding: 0; font-size: 13px; border-bottom: 1px;}
p#kw_unpaylist {font-size: 1.3rem;}
table#tblMisu th {font-size: 14px; font-weight: 400;}
table#tblClass th {font-size: 14px; font-weight: 400;}
table#tblClass td {padding: 3px;border: 1px solid #999;border-collapse: collapse;}
table#tblIbkum {border: 1px solid #999;}
table#tblIbkum th {font-size: 14px; font-weight: 400;}
button.btn.btn-sm.btn-secondary.ml-2 {padding: 0px;margin-left: -1px !important;}
table#tblIbkum td {padding: 0.01rem 11px; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; border-bottom: 1px;}
.form-group.row th {font-weight: 400!important;}
textarea#PopupSms2_sms_msg1 {padding: 10px; align-content: start!important; background: #f2f3f5; height: 192px;}
.row {font-family: 'SUIT-Regular'; font-size: 15px;}
tbody.picom-scroll td {font-size: 14px;}
.table-responsive.mb-0 tbody {overflow-y: scroll!important;}
td.border-bottom-0 span {display: none;}
a#PopupSms2_smsbtnEtc2 {background: #4676F4;font-size: 1.2rem;color: #fff;margin-top: -62px;width: 363px;
height: 40px; line-height: 30px;}
a#PopupSms2_smsbtnEtc2:hover {background: #464848;}
table#tbl01 tbody {overflow-y: scroll!important; scrollbar-width: auto;}



/* 학생관리 등 조회부분 표디자인 student_all 2024년 3월 29일*/
thead#managelist {width: calc( 100% - 0.4em )!important;}
.col-12.input-group.align-items-center.pl-0.mb-0 span {margin-right: 10px; font-size: 0.8rem;}
.col-12.input-group.align-items-center.pl-0.mb-0 input {width: 208px;border: 1px solid #267ddf;border-radius: 3px !important}
td.py-1.col-12 {display: flex;}
table#hakList tbody tr td:nth-child(3) {font-weight: 700!important;}
table#hakList th{background:#efefef; font-size: 13px;}
table#hakList td{border: 1px solid #999; border-bottom: 0; padding: 3px; font-size: 0.85rem; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;}
.col-12.mt-4 >p {margin-top: -5px;text-align: center; font-size: 18px;}
table#tech-companies-2{border-top: 4px solid #464848!important;}
div#kw_margin{margin-top: 23px;}
table thead th {background: #DFE5ED!important;}
table#tblHk {border-top: 4px solid #464848!important;}
p.font-16.font-weight-bold.text-dark.mb-1{text-align: center; font-family: 'S-CoreDream-3Light';}
a#btnWrite{border: 1px solid #ccc;}
a#btnEtc3{border: 1px solid #ccc;}
p.font-weight-bold.font-16.text-dark.mb-2{text-align: center;}
th.th-bg-white.p-2{background: #efefef!important;}

tbody#numberarea td {background: #ccc;}

/* 학생관리-신규등록 수정 start.aspx 2024년 3월 21일 [원생명 등  기본정보 제목 수정]*/
table#tech-companies-5 th {text-align: center; padding: 17px; font-weight: 700!important;}
.table-responsive.mb-0 input {font-size: 14px;}
th.py-1{background: #efefef!important;}
a#ahrusermanual {background-color: transparent !important;border: 1px solid #ccc !important;color: #222 !important;font-family: 'SUIT-Regular';font-size: 0.87rem;line-height: 19px;}

/* 학생관리-프로파일부분 수정 start.aspx 2024년 4월 2일 [원생명 등  기본정보 제목 수정]*/
table#hakList thead th {font-weight: 700!important; border: 1px solid #444;}
a.btn.btn-sm.btn-light.mr-2.border {background-color: #fff;font-size: 13px;line-height: 20px; border: 1px solid #464848 !important;border-radius: 4px; height: 30px;font-weight: 600; padding: 11px; line-height: 7px; letter-spacing: -1px; color: #000!important;}
button.btn.btn-sm.btn-light.mr-2.border {background-color: #fff;font-size: 12.5px;line-height: 20px; border: 1px solid #464848 !important;border-radius: 4px; height: 30px;font-weight: 600; letter-spacing: -1px;}
.input-group.d-flex.align-items-center {display: flex;align-content: center;margin: 0 auto;
width: 74px;}
.table-responsive.mb-0 p {font-size: 13px; font-weight: 400!important;}
.table-responsive.mb-0 th {font-size: 13px!important; }
TABLE.detail1 {border-collapse:collapse;BORDER: #d5d5d5 1px solid; padding:2px; }
TABLE.detail1 TD.name { FONT-SIZE: 9pt ;BACKGROUND: #F6F6F6; BORDER: #d5d5d5 1px solid; text-align: center; white-space:nowrap;}
TABLE.detail1 TD.value { FONT-SIZE: 9pt ;background: #ffffff; padding-left:5px;padding-right:5px; BORDER: #d5d5d5 1px solid;}
TABLE.detail2 {border-collapse:collapse;BORDER: #d5d5d5 1px solid; padding:2px; }
TABLE.detail2 TD.name { FONT-SIZE: 9pt ;BACKGROUND: #F6F6F6; padding-left:10px; padding-right:5px; BORDER: #d5d5d5 1px solid; white-space:nowrap;}
TABLE.detail2 TD.value { background: #ffffff; padding-left:5px;padding-right:5px; BORDER: #d5d5d5 1px solid;}


/* 상담관리 24-11-21*/
div#indivformName p {font-size: 1.2rem; color: #464848; font-family: 'Pretendard-Regular';}
tbody.consultform {font-size: 0.9rem;}
tbody#indivContent td {border: 1px solid #e0e0e0!important; overflow-x: auto;}
div#indivbottom {color: black;}
body.specific-page #btnModify {color: #464848;border-radius: initial;height: initial;font-weight: 600;border: 1px solid #e5e5e5 !important;}
body.specific-page a#btnDelete {border-radius: initial; height: initial; font-weight: 600; border: 1px solid #e5e5e5 !important; font-size: 0.85rem; background: #fff;}

/* 과정반생성 24-11-21*/
div#headTitle {align-items: baseline;}
div#headTitle p {margin-right: 9px;}
table#hakBan tr:hover {background: #F1F0E8; font-weight: 700;}
table#hakClass tr:hover {background: #F1F0E8; font-weight: 700;}


/* 포인트설정관리 */
.close {font-size: 24px;}
div#autoTitleheader {display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dee2e6 !important;}
div#autoTitleheader h5 {color: #666; font-weight: 700; font-size: 1rem; margin-left: 5px;}
div#auto_notice p {color: #dc3545;font-weight: 600; text-decoration: underline; margin: 0px;}
div#autocheckCircle label {margin-top: 0px!important; margin-top: 0px !important; font-weight: 600; color: black;}
table#pointsettingArea td:nth-of-type(2) {width: 17%;}
tr#autotitle th {padding: 5px;}
table#pointsettingArea span {margin: 0px;}
div#checkCircle label {margin-top: 0px!important;}
div#addConnect span {margin-left: 5px;}
div#addConnect select {border: 1px solid #ccc;color: #666; width: 79px; height: 28px; flex: 1;}
table#pointArea {margin-bottom: 24px!important;}
table#pointArea td {padding: 3px 16px;}
table#pointsettingArea {margin-bottom: 24px!important;}
table#pointsettingArea th {width: 4%;}
table#pointsettingArea td {padding: 3px 12px;}
table#pointsettingArea {color: #000!important;}
span.custom span {font-size: 0.9rem;}
td#firstArea {padding: 14px 7px 3px!important;}
div#input-custom input {border-top-right-radius: 3px; border-bottom-right-radius: 3px; width: 0px;}

/* 수납관리 */
div#totalArea {padding: 0px 60px;}
div#headalign {display: flex; justify-content: space-between; align-items: center;}
div#headalign span {color: #000; font-size: 1.1rem; font-weight: 700;}
table#headsearch td {padding: 6px!important;}
thead#kw_payTotal tr:first-child th {color: blue;}
table#tbl01 th {border: 1px solid #444;}
table#payTable tbody th {font-size: 0.85rem; width: 90px;}
table#payTable tbody td input {font-size: 0.8rem;padding-left: 19px;font-weight: 600;}
tr.studentpayInfo td:nth-of-type(4) input {font-size: 1rem!important; font-weight: 700;}
div#popupButton button {font-weight: 600;}
div#receive_wrap {padding: 0px 80px;}
.modal-content {padding: 7px;}
.text-center.mb-3 {font-family: 'Pretendard-Regular'; font-size: 0.9rem; color: #000;}
tr.border-bottom.custom-color th  {font-weight: 700 !important;font-family: 'Pretendard-Regular';letter-spacing: 0px;}
button.col.btn.btn-secondary.rounded-0.waves-effect {margin: 1px;}
.col-12.input-group.justify-content-center {margin-top: 33px;}
table#kw_padding td {padding: 1px 7px !important; line-height: 1.2 !important;}
.col-6.input-group.input-group-sm.align-items-center.custom-margin-left span {font-weight: 700; font-size: 0.85rem;}
.custom-margin-left {margin-left: 0!important;}
ul.nav.nav-pills.nav-justified {background: #fff;}
code#totkum {font-size: 1.2em; color: red; font-family:"SUIT-Regular";}
button.btn.btn-sm.btn-outline-secondary.mr-0.font-weight-bold.border.text-black {background: #fff;padding: 6px 20px;font-size: 14px;border: 1px solid #666 !important;
}
a#btnEtc6 {background: #fff; padding: 6px 20px; font-size: 14px; border: 1px solid #666 !important;}
/* 25-07-24 : 사장님 요청으로 검은색을 원 스타일 시트색으로 변경함 */
button#kw_pay_btn {/*color:#000!important; */ margin-top: 8px;height: 35px;margin-right: -1px !important;
border: 1px solid #666 !important;font-size: 13px;border-radius: 3px !important;}
th.th-bg-lightgray {background: #efefef !important; font-size: 14px !important; font-weight: 400 !important;}
button.btn.btn-sm.btn-outline-secondary.mr-0.font-weight-bold.border.text-black:hover {background: #4546;}
a#btnEtc6:hover {background: #4546; color: #000;}
a#btnEtcXls:hover {background: #4546;}
table#tbl01 th {font-size: 14px; font-weight: 700!important;}
table#tbl01 td {overflow: auto; border: 1px solid #444; padding: 4px; text-align: center!important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; table-layout: fixed; border-bottom: 0;}
.text-center.mb-3 input {vertical-align: -9%;}
.text-center.mb-3 span {font-size: 25px;}
table#kw_pay_modal th {font-size: 13px; font-weight: 600;}
table#kw_pay_modal td {font-size: 15px; color: blue; text-align: center !important;}
table#kw_pay_modal {font-family: 'SUIT-Regular';}
div#sunap12 {font-family: 'SUIT-Regular';}
table#kw_pay_plus th {font-size: 13px;}
table#kw_pay_plus input {font-size: 13px!important;}
th.vertical-th {background: #efefef !important; font-size: 14px !important; font-weight: 400 !important;}
td.text-left.w-35 input[type=radio] {vertical-align: -13%;}
td#yTotal {font-size: 17px;font-weight: 700 !important;text-decoration: underline;}

/* 상담관리 */
tbody#title_area {overflow-y: scroll!important; height: 410px;}
table#Table3 {display: block;}
div#studentsave_layout {padding: 0px 220px;}

/* 회차 관리 */
a#btnEtc5 {padding: 1px 20px; height: 28px; font-size: 14px;border: 1px solid #666 !important; line-height: 24px; display: flex; align-items: center;}
.col-7.text-left.d-flex button {padding: 6px 20px; font-size: 14px; border: 1px solid #666 !important;}

/* 포인트설정관리 */
button.btn.btn-sm.btn-outline-secondary.float-right.ml-2.font-weight-bold {background-color: #fff;font-size: 13px;line-height: 20px;color: 000 !important;border: 1px solid #999 !important;border-radius: 4px;height: 30px;font-weight: 600;letter-spacing: -1px; margin-left: 1px!important;}

/* 수납관리 */
button#btnReg {font-size: 14px; font-weight: 600!important;}
button#btnClose {font-size: 14px; font-weight: 600!important;}
div#ctl01 {margin-top: 0;}
div#pay_wrapping {font-family: 'SUIT-Regular'; font-weight: 600; color: #000;}
div#button_wrap button {margin: 1px;}

/* 수업관리 */
div#classTitle select {height: 27px;font-size: 0.75rem;text-align: right;font-weight: 700;margin-left: 11px;padding-left: 0px;
margin-right: 15px; border-radius: 3px;}
div#classTitle input {height: 27px;font-size: 0.75rem;text-align: right;font-weight: 700;margin-left: 11px;padding-left: 0px;
    margin-right: 15px; border-radius: 3px;}
div#makeButton a {margin-right: 4px!important;}
div#boxdeco table td p {text-align: right !important;font-size: 0.75rem;color: #dc3545 !important;}
div#boxdeco table td select {text-align: right;font-weight: 700;font-family: 'Pretendard-Regular';}
div#boxdeco table td input {text-align: right;font-weight: 700;font-family: 'Pretendard-Regular';}
div#headTitle p {font-size: 1.1rem;}
div#boxdeco table td {border: 1px solid #464848;}
div#boxdeco table th {font-weight: 700 !important;border: 1px solid #464848; width: 10%;}
div#classTitle {padding: 3px; background: #464848!important;}
.label-skyblue.item-content-center.py-3 {border-top: 2px solid #464848;border-bottom: 2px solid #464848;}
div#buttonArea {padding: 0px;justify-content: flex-end;display: flex;margin-top: 0px !important;}
div#makeButton a:hover {background: #4546;}
a.kw_modify {font-size: 13px;align-items: center;display: flex;font-family: inherit;font-weight: 600;padding: 1px 10px; border: 1px solid #999 !important;
background: #fff;border-radius: 4px;}
.custom-align table td {font-family: system-ui;font-size: 0.8rem;text-align: left;width: 20%;}
.custom-align table td:first-child {text-align: center;}
.custom-align table thead th {font-size: 0.9rem; font-weight: 700; letter-spacing: 0px;}
.custom-align table thead th:nth-child(2) {text-align: left;}

/* 수강반 신청 24/04/11*/
div#kw_class p {text-align: left; margin-left: 8px;}
tbody.kw_class_search th{background: #efefef!important;}
tbody.kw_class_search td{padding: 7px;}
div#kw_class_list p {text-align: left;margin-left: 7px}
button.btn.btn-sm.btn-primary.border.mr-1.font-weight-bold {border: 1px solid #999 !important;background: #fff; font-size: 13px;color: #000;border-radius: 4px; margin-right: 0!important; }
.col-6.text-left p {text-align: left!important;}
.col-6.text-left button {background-color: #fff;font-size: 13px;line-height: 20px;border: 1px solid #464848 !important;border-radius: 4px;height: 30px;
font-weight: 600;letter-spacing: -1px; color: #000!important;}
a#btnEtcSms {background-color: #fff;font-size: 13px;line-height: 20px;border: 1px solid #464848 !important;border-radius: 4px;height: 30px;font-weight: 600;letter-spacing: -1px; font-weight: 400;}
.col-4.text-left button {background-color: #fff; font-size: 13px;
line-height: 20px;border: 1px solid #464848 !important;border-radius: 4px;
height: 30px;font-weight: 600;letter-spacing: -1px}
a#btnDelete1 {background-color: #fff; line-height: 20px; border: 1px solid #464848 !important; border-radius: 4px; height: 30px;font-weight: 600;letter-spacing: -1px; width: 50px; font-size: 13px;}
button#btnEdit {width: 50px; font-size: 13px;margin-right: 0px !important;}
.col-8.input-group.align-items-center.mb-0.d-flex.justify-content-end >input {height: 30px;}
.col-4.text-left p {text-align: left!important;}
.col-6.text-left a#btnEtcXls {height: 30px;line-height: 19px; border: 1px solid #464848 !important;
}


/* 출결문구 설정 */
a#kw_presense_setting{line-height: 68px;}
div#kw_presense_line {margin-top: -34px!important;}
label.col.text-right >p {text-align: center; width: 73px;}
.select_wrap {display: flex; justify-content: flex-start; width: 189px; padding: 0 14px;}
div#kw_align{text-align: center;margin: 0 auto;width: 100px;}
#kw_kakao_button {display: inline-flex;width: 205px; margin: 0 -77px;} 
.col-6.text-right >a {background: #fff;padding: 4px 20px; font-size: 13px;border: 1px solid #999 !important;color: #335677 !important;font-weight: 600; cursor:pointer;}
.custom-width button {width:80px}

/* 출결 현황 */
tbody#kw_line2 td {border: 1px solid #444!important;border-collapse: collapse!important;border-bottom: 0px!important;padding: 3px!important;}
tbody#kw_line2 td:nth-child(10), tbody#kw_line2 td:nth-child(11) {color: blue;letter-spacing: 1px;
font-weight: 600;}
.col-6.text-left >a {border: 1px solid #999 !important;background: #fff;font-size: 13px;color: #000;border-radius: 3px;margin-right: 0!important;}
div#kw_check_area {margin-top: 34px !important;margin-bottom: -16px !important;}
tbody#kw_line2 td {border: 1px solid #efefef; padding: 11px;}
tbody.picom-scroll td {padding: 4px;}
button.btn.btn-sm.btn-light.font-weight-bold {border-radius: 3px;}
p#kw_height {margin-top: 25px;}
div#monthview {padding: 7px 4px 4px !important;margin-top: 31px;background: #464848 !important; border-radius: 3px;}
div#monthview p {margin-right: 28px !important; margin-left: 10px;}
div#monthview input {font-weight: 700;}

/* 문자관리 */
.table-rep-plugin.mt-3 {font-family: 'Ionicons';}
div#kw_text_save {margin-top: 0px;}
.card-footer {background: #fff; padding: 30px;}
.card-footer p {margin: 0px;font-size: 14px;}

/* 심사관리 */
div#eduexam_area {margin-top: 0px;}
tbody#examarea td {padding:1px!important}
div#allsearch span {margin-right: 10px;font-weight: 700;font-size: 0.85rem}
td#searchline {display: flex;}
.dayconfirm {display: flex; justify-content: center; align-items: normal; white-space: pre;}
.dayconfirm input[type=date] {border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; flex: 1; min-width: 20px; max-width: 150px; font-size: 0.8rem;}
.dayconfirm button {border: 1px solid; border-radius: 3px; border-top-left-radius: 0px;border-bottom-left-radius: 0px; color: #fff; background: #e83e8c; font-size: 0.8rem;}

/* 원생별교재관리 */
/* 왼쪽 패널 (검색 및 목록) */
.left-panel {
    background-color: #ffff;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;

}

.left-panel h6 {
    font-size: 15px;
    padding-left: 2px;
    color: black
}

/* 검색 패널 */
.search-panel {
    border: 1px solid #ccc;
    background-color: #ffffff;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 15px;
}

/* 원생 목록 */
.student-list-container {
    border: 1px solid #ccc;
    background-color: #ffffff;
    padding: 10px;
    border-radius: 5px;
    height: 600px;
    overflow-y: auto;
    scrollbar-width: thin;
    white-space: nowrap;
}

/* 오른쪽 패널 (원생 정보 및 교재 내역) */
.info-panel-box {
    border: 1px solid #ccc;
    background-color: #ffffff;
    padding: 15px;
    border-radius: 5px;
    height: 830px;
}

.info-panel-box h6 {
    font-size: 15px;
    color: black
}

select.custom-input.year-select.ml-2 {
    width: 100px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #888;
    border-radius: 3px;
}


.transaction-container {
    width: 100%;
    border: 1px solid #ddd;
    max-height: 511px;
    overflow-y: auto;
    scrollbar-width: thin;
    white-space: nowrap;

}

table.transaction-table {
    width: 100%;
    min-width: 1100px;
}

table.table.student-list-table tr th:first-child {
    width: 10%;
}

table.table.student-list-table tr th:nth-child(2) {
    width: 10%;
}

/* 📌 thead 테이블 (헤더 고정) */
.transaction-header {
    display: table;
    width: 100%;
    table-layout: fixed;
    background: #DFE5ED;
    border-top: 3px solid #464848;

}

/* 📌 tbody 테이블 (스크롤 가능) */
.transaction-body {
    display: table-row-group;

}

/* 📌 tbody 내부 테이블 */
.transaction-body table {
    display: table;
    width: 100%;
    table-layout: fixed;
}


/* 📌 각 열의 고정 너비 설정 */

.checkbox-col,
.transaction-body td:nth-child(1) {
    width: 3%;
}

.release-date,
.transaction-body td:nth-child(2) {
    width: 12%;
}

.bookname,
.transaction-body td:nth-child(3) {
    width: 21%;
}

.booknumber,
.transaction-body td:nth-child(4) {
    width: 7%;
}

.bookprice,
.transaction-body td:nth-child(5) {
    width: 10%;
}

.paybook,
.transaction-body td:nth-child(6) {
    width: 12%;
}

.payamount,
.transaction-body td:nth-child(7) {
    width: 12%;
}

.sort,
.transaction-body td:nth-child(8) {
    width: 10%;
}

.addmemo,
.transaction-body td:nth-child(9) {
    width: 15%;
}

/* 📌 스크롤바 스타일 */
.transaction-container::-webkit-scrollbar {
    width: 3px;
    height: 100px;
}

.transaction-container::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 464848px;
}

.checkbox-col {
    text-align: center;
}

.container-fluid {
    max-width: 100% !important;
    overflow-x: hidden;
}

.transaction-container th,
.transaction-container td {
    font-size: 13px;
    padding: 5px;
    text-align: center;
    border: 1px solid #555;
    color: black;
}

.rowCheckbox {
    vertical-align: middle;
}

.form-row.mt-2.book-info select,
.form-row.mt-2.book-info input,
.payment-info select,
.payment-info input {
    font-size: 12px;
}

.form-row.mt-2 {
    font-size: 12px;
    font-weight: 700;
}

.searchWrapping {
    border-bottom: 1px solid #ccc;
    margin-top: 20px;
    margin-bottom: 1px;
    margin-left: 5px;
}

.payment-info {
    margin-top: 0px !important;
}

.remark-input {
    position: absolute;
}

.book-button {
    left: 1%;
    line-height: 88px;
}

.mg-custom {
    margin-bottom: 0px;
}

.year-selection {
    padding-bottom: 8px;
}

table.table.student-list-table thead tr th {
    padding: 5px;
    font-size: 13px;
    background: #efefef;
    border-top: 3px solid #555 !important;
}

table.table.student-list-table tbody tr td {
    padding: 5px;
    font-size: 13px;

}

table.table.student-list-table tbody tr {
    cursor: pointer;
}

table.table.student-list-table thead tr th,
table.table.student-list-table tbody tr td {
    border: 1px solid #ccc;
}

.search-panel select {
    font-size: 12px !important;
}

.search-panel input {
    font-size: 12px !important;
}

.booksearch {
    padding: 3px 9px;
    font-size: 12px;
    border: 1px solid #999;
    background: none;
    color: black;
    font-weight: 600;
    border-radius: 2px;
    background: #efefef;
}

.book-button button {
    background: #f5f5f5;
    color: black;
    font-weight: 600;
    font-weight: 600;
    font-size: 13px;
    padding: 5px 12px;
    border: 1px solid #464848;
}

.button_bookarea button {
    background: #f5f5f5;
    color: black;
    font-weight: 600;
    font-weight: 600;
    font-size: 12px;
    padding: 4px 10px;
    border: 1px solid #464848;
}

.studentlist-headtitle p {
    font-size: 15px;
    margin: 0px !important;
}

.transaction-body tr.selected {
    background-color: #ffeeba !important;
    /* 연한 노랑색 */
}

.searchWrapping label {
    color: #000;
    font-size: 14px;
}

.buttoncustom_area button {
    background: #efefef;
    color: black !important;
    font-weight: 800;
    font-size: 11px;
    padding: 5px 12px;
    border: 1px solid #464848;
    font-family: 'S-CoreDream-3Light'
}

.quantity_btnline button {
    background: #efefef;
    color: black !important;
    font-weight: 800;
    font-size: 11px;
    padding: 5px 12px;
    border: 1px solid #464848;
    font-family: 'S-CoreDream-3Light';
}

.col-5.quantity_btnline {
    padding: 0;
}

.quantity_btnline a {
    background: #efefef;
    color: black !important;
    font-weight: 800;
    font-size: 11px;
    padding: 5px 12px;
    border: 1px solid #464848;
    font-family: 'S-CoreDream-3Light';
}

.buttoncustom_area a {
    background: #efefef;
    color: black !important;
    font-weight: 600;
    font-size: 11px;
    padding: 5px 12px;
    border: 1px solid #464848;
    font-family: 'S-CoreDream-3Light';
}

.booksave tbody tr td {
    background: #fff!important;
    padding: 3px!important;
}

.find_book input {
    border-top-right-radius: 3px !important;
    border-bottom-right-radius: 3px !important;
}

.col-4.input-group.input-group-sm.align-items-center.find_book a {
    background: #efefef;
    font-weight: 600;
    font-size: 11px;
    padding: 5px 12px;
    font-family: 'S-CoreDream-3Light' !important;
    letter-spacing: 1px;
    padding: 5px 14px;
    border: 1px solid #464848;
}

.table-rep-plugin.booksave_wrap {
    padding: 10px;
    background: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow-y: auto;
    margin-top: -15px; 
}

.bookallwrap {
    padding: 10px;
    border: 1px solid #ccc;
    margin-top: 10px;
    background: white;
    border-radius: 5px;
    margin: 20px 30px;
}

.allwrap_quantitybook {
    padding: 10px 40px;
    border: 1px solid #ccc;
    background: white;
    border-radius: 5px;
    margin: 20px 30px;
}

tr.text-center.picom-scroll-c {
    border: 1px solid;
}

.col-6.input-group.input-group-sm.align-items-center.search_date span {
    padding: 3.5px 8px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

.nametitle {
    border-radius: 3px !important;
}

.main_quantity thead {
    border: 1px solid;
}

span.namebook.font-weight-bold {
    color:blueviolet;
    padding-right: 7px;
}

tbody.picom-scroll.result_custom td {
    font-size:12px
}

/* 학생 프로파일 세부정보 */

.profile-cell {
    border-top: 4px solid #464848!important;
}

tbody.basis-cell tr:nth-child(2) td {
    width: 30%;
    font-size: 14px;
}

tbody.basis-cell {
    font-family: sans-serif;
}

tbody.basis-cell td {
    font-size: 14px;
    text-align: center!important;
}

.profile_delete {
    background-color: #fff!important;
    font-size: 13px!important;
    line-height: 20px;
    border: 1px solid #464848 !important;
    border-radius: 4px!important;
    height: 30px!important;
    font-weight: 600!important;
    padding: 11px!important;
    line-height: 7px!important;
    letter-spacing: -1px!important;
    color: #000 !important;
}

button.btn.btn-sm.btn-primary.not-representative {
    color: #999;
  border-color: #ddd;
  background-color: #f8f9fa;
}

/* 25-10-21 회차,시간제추가 start */

.turn-mgr{ --ink:#111827; --muted:#6b7280; --line:#e5e7eb; --blue:#2563eb; --blue-100:#eff6ff;}
.turn-mgr{ color:var(--ink); }
.turn-mgr .card-main{border:0; border-radius:1rem; margin-top: 10px; height: 90vh; overflow-y: hidden; padding-top: 30px;}
.turn-mgr .col-panel{ border-left:1px solid var(--line); }
.turn-mgr .col-panel:first-child{ border-left:0; }

/* heights & scroll */
.turn-mgr .panel-body{
  height: calc(100vh - 220px);
  min-height: 420px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  font-family: sans-serif;
}

/* section titles */
.turn-mgr .section-title{ font-weight:700; font-size:1rem; margin-bottom:.75rem; margin-top: 5px;}

/* search */
.turn-mgr .search .input-group-text{
  background:#fff; border-right:0;
}
.turn-mgr .search .form-control{
  border-left:0;
}

/* student list item */
.turn-mgr .tm-student{
  display:flex; align-items:center;
  padding:.4rem .3rem; border-radius:.75rem;
  border:1px solid transparent; cursor:pointer;
  transition:background .15s, border-color .15s, box-shadow .15s;
}
.turn-mgr .tm-student + .tm-student{ margin-top:.35rem; }
.turn-mgr .tm-student:hover{ background:#fafafa; }
.turn-mgr .tm-student.active{
  background: var(--blue-100);
  border-color:#bfdbfe;
  box-shadow:0 0 0 2px #dbeafe inset;
}
.turn-mgr .tm-avatar{
  width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#e5e7eb; font-weight:700; margin-right:.6rem;
}
.turn-mgr .tm-name{ font-weight:600; }
.turn-mgr .tm-count{ font-size:.85rem; color:var(--muted); white-space:nowrap; }

/* progress line (thin) */
.turn-mgr .tm-progress{
  height:6px; border-radius:999px; background:#f1f5f9;
  overflow:hidden; margin-top:.25rem;
}
.turn-mgr .tm-progress > span{
  display:block;height:100%;background:var(--blue);
  width:0%;
}
.turn-mgr .tm-progress.green > span{ background:var(--green); }
.turn-mgr .tm-progress.orange > span {
background: red !important;
}

/* class list (middle) */
.turn-mgr .list-classes .list-group-item{
  border-color:var(--line); border-left:0;border-right:0;
  padding:.85rem 1rem; font-weight:600;
}
.turn-mgr .list-classes .list-group-item:first-child{ border-top-left-radius:.75rem;border-top-right-radius:.75rem; border-top:1px solid var(--line); }
.turn-mgr .list-classes .list-group-item:last-child{ border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem; border-bottom:1px solid var(--line); }
.turn-mgr .btn-add-students{
  border-radius:.6rem; font-weight:700;
}

/* right actions */
.turn-mgr .summary-box{
  border:1px solid var(--line); border-radius:.75rem; padding:1rem;
  background:#fff;
}
.turn-mgr .summary-box .label{ color:var(--muted); font-size:.9rem; }
.turn-mgr .summary-box .value{ font-weight:700; }

.turn-mgr .keypad .btn{
  width:90px;height:40px; border-radius:.6rem; font-weight:700;
  margin:.25rem; border-color:#e5e7eb; background:#fff;
  font-size: 13px;
}
.turn-mgr .keypad .btn.active{
  background:var(--blue); color:#fff; border-color:var(--blue);
}
.turn-mgr .btn-primary{
  background:var(--blue); border-color:var(--blue);
}
.turn-mgr .btn-restart{
  background:var(--blue); border-color:var(--blue); color:#fff; font-weight:800; padding:8px; font-size:15px;}

.turn-mgr .btn-restart,
.turn-mgr .btn-restart:hover,
.turn-mgr .btn-restart:focus,
.turn-mgr .btn-restart:active {
    color:#fff
}

/* small helpers */
.material-symbols-outlined{ font-size:18px; line-height:1; vertical-align:middle; }
@media (max-width:991.98px){
  .turn-mgr .panel-body{ height:auto; min-height:unset; }
  .turn-mgr .col-panel{ border-left:0; border-top:1px solid var(--line); padding-top:1rem; margin-top:1rem; }
  .turn-mgr .col-panel:first-child{ border-top:0; margin-top:0; padding-top:0; }
}

/* ===== 클래스 카드 아코디언 ===== */
.turn-mgr .cls-accordion{ display:block; }
.turn-mgr .cls-card{
border:1px solid var(--line);
border-radius:.75rem;
background:#fff;
box-shadow:0 6px 16px rgba(17,24,39,.05);
overflow:hidden;
}
.turn-mgr .cls-card + .cls-card{ margin-top:.75rem; }

.turn-mgr .cls-head{
display:flex; align-items:center; justify-content:space-between;
padding:.85rem 1rem; color:inherit; text-decoration:none;
}
.turn-mgr .cls-head:hover{ background:#fafafa; }
.turn-mgr .cls-title{ font-weight:700; }
.turn-mgr .cls-meta{ display:flex; align-items:center; gap:.25rem; font-size: 16px;  }
span.badge.badge-light.mr-2 {color: #2563eb;}
.turn-mgr .cls-head .chev{ margin-left:.25rem; font-size:20px; transition:transform .2s; }
.turn-mgr .cls-head[aria-expanded="true"] .chev{ transform:rotate(180deg); }

.turn-mgr .cls-body{ padding:.5rem .5rem 1rem; border-top:1px dashed var(--line); }

/* 학생 행: 3열 그리드 느낌 */
.turn-mgr .std-row{
display:flex; align-items:center;
padding:.5rem .5rem;
border-radius:.5rem;
}
.turn-mgr .std-row + .std-row{ margin-top:.25rem; }
.turn-mgr .std-row:hover{ background:#f9fafb; }
.turn-mgr .std-name{ flex:0 0 34%; font-weight:600; }
.turn-mgr .std-progress{ flex:1 1 auto; padding:0 .5rem; }
.turn-mgr .std-right{ flex:0 0 auto; white-space:nowrap; }

/* 원생 아이콘 배지 (이니셜 스타일 대체) */
.turn-mgr .tm-avatar-icon{
width:30px; height:35px; flex:0 0 36px;
display:inline-flex; align-items:center; justify-content:center;
border-radius: 10px;
background:#fff;            /* 기존 연회색 배경 */
color:#374151;                  /* 아이콘 색 */
font-size:20px;                 /* 아이콘 크기 */
margin-right:20px;
box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}

span.material-symbols-outlined.tm-avatar-icon {
transform: scale(1.2);
}
.turn-mgr .progress-thin{ height:6px; background:#eef2f7; border-radius:999px; margin-bottom:.2rem; }
.turn-mgr .btn-xs{ padding:.15rem .5rem; font-size:.78rem; border-radius:.4rem; }

/* 모바일 스택 정리 */
@media (max-width: 575.98px){
.turn-mgr .std-row{ flex-wrap:wrap; }
.turn-mgr .std-name{ flex:0 0 100%; margin-bottom:.25rem; }
.turn-mgr .std-progress{ flex:0 0 100%; padding:0 0 .25rem 0; }
.turn-mgr .std-right{ width:100%; display:flex; justify-content:flex-end; }
}

/* 패널 내부만 스크롤 (페이지는 고정 길이) */
.turn-mgr .panel-body {
height: calc(100vh - 220px);
min-height: 420px;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

/* 패널 상단 툴바 고정 */
.turn-mgr .panel-sticky {
position: sticky;
top: 0;
z-index: 2;
background: #fff;
padding-bottom: .5rem;
margin-bottom: .5rem;
border-bottom: 1px solid var(--line);
}

/* 페이징 바 */
.turn-mgr .pager-wrap {
position: sticky;
bottom: 0;
z-index: 2;
background: #fff;
padding: .5rem 0;
border-top: 1px solid var(--line);
}

.turn-mgr .info-grid{
border:1px solid var(--line);
border-radius:.6rem;
overflow:hidden;
background:#fff;
}
.turn-mgr .info-row{
display:flex; align-items:center;
padding:.6rem .75rem;
border-top:1px dashed var(--line);
}
.turn-mgr .info-row:first-child{ border-top:0; }
.turn-mgr .info-key{
flex:0 0 110px; color:var(--muted);
}
.turn-mgr .info-val{
flex:1 1 auto;
}

/* 열림 상태 화살표 회전 유지 */
.turn-mgr .cls-head .chev{ margin-left:.25rem; font-size:20px; transition:transform .2s; }
.turn-mgr .cls-head[aria-expanded="true"] .chev{ transform:rotate(180deg); }

.no-gutters {
font-family: sans-serif;
font-size: 13px;
}

/* 공통 변수 */
.turn-mgr { --sb-w: 8px; }
.turn-mgr .scroll-y,
.turn-mgr .collapse-scroll {
scrollbar-width: thin;                   /* 얇게 */
scrollbar-color: #cfd6e0 transparent;    /* thumb / track */
scrollbar-gutter: stable both-edges;
}


.turn-mgr .scroll-y::-webkit-scrollbar,
.turn-mgr .collapse-scroll::-webkit-scrollbar {
width: var(--sb-w);
height: var(--sb-w);
}
.turn-mgr .scroll-y::-webkit-scrollbar-track,
.turn-mgr .collapse-scroll::-webkit-scrollbar-track {
background: transparent;
}
.turn-mgr .scroll-y::-webkit-scrollbar-thumb,
.turn-mgr .collapse-scroll::-webkit-scrollbar-thumb {
background-color: rgba(0,0,0,.22);      
border-radius: 999px;
border: 2px solid transparent;          
background-clip: padding-box;
}
.turn-mgr .scroll-y:hover::-webkit-scrollbar-thumb,
.turn-mgr .collapse-scroll:hover::-webkit-scrollbar-thumb {
background-color: rgba(0,0,0,.38);      
}

/* Naver Whale 브라우저일 때 항상 스크롤 표시 */
.is-whale .turn-mgr .scroll-y,
.is-whale .turn-mgr .collapse-scroll {
  scrollbar-width: thin;
}

.is-whale .turn-mgr .scroll-y::-webkit-scrollbar,
.is-whale .turn-mgr .collapse-scroll::-webkit-scrollbar {
  width: var(--sb-w);
  height: var(--sb-w);
}

.turn-mgr .scroll-y:hover,
.turn-mgr .collapse-scroll:hover {
scrollbar-color: #c8cacc transparent;
}

.turn-mgr .snap-y { scroll-snap-type: y proximity; }
.turn-mgr .snap-item { scroll-snap-align: start; }
.turn-mgr .cls-card{
border:1px solid var(--line);
border-radius:.75rem;
background:#fff;
transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.turn-mgr .cls-head{ position: relative; }
.studentall-clscard:active,.studentall-clscard:checked {border-color:#286dd4;}

/* 헤더가 열린 상태 시, 헤더 배경/왼쪽 포인트 */
.turn-mgr .cls-head[aria-expanded="true"]{
background:#f8fafc;
}

/* 페이지로딩시 전체원생 체크 */
.cls-card.studentall-clscard {
    background-color: #2563EB;
    color: white;
}

.cls-card.studentall-clscard:hover {
    color: black;
    border: 1px solid #e5e7eb;
}

.turn-mgr .cls-head:focus{
outline: none;
border-radius:.1rem;
background: #2563eb;
color: white;
}

/* :has() 미지원 브라우저 폴백 → 헤더만이라도 강조 */
@supports not selector(.cls-card:has(.collapse.show)) {
.turn-mgr .cls-head[aria-expanded="true"]{
box-shadow: inset 0 0 0 2px rgba(96,165,250,.35);
}
}

/* 모바일화면에서 세로로 스크롤되도록함 */
@media (max-width: 991.98px) {
    .turn-mgr .card-main {
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch; /* 모바일 부드러운 스크롤 */
    }
    .turn-mgr .panel-body {
        overflow-y: auto !important;
        touch-action: auto; /* 터치 스크롤 강제 활성화 */
        -webkit-overflow-scrolling: touch; /* iOS, 크롬 계열 부드러운 스크롤 */
      }
  }

.turn-mgr .input-group-search .form-control{
border-right: 0;        
}
.turn-mgr .input-group-search .btn-search{
background:#fff;
border:1px solid #ced4da; 
border-left: 0;          
border-top-right-radius: .25rem;
border-bottom-right-radius: .25rem;
display:inline-flex; align-items:center; justify-content:center;
min-width: 44px;          /* 터치 타겟 확보 */
padding: 0 .5rem;
}

.round-student-search{
margin-top: 18px;
margin-bottom: 19px;
}
.sort-select {
background: #fff;
border: 1px solid #ced4da;
border-left: 0;
display: inline-flex
;
align-items: center;
justify-content: center;
min-width: 44px;
padding: 0 .5rem;
color: #999;
}

.sort-select-second {
    background: #fff;
    border: 1px solid #ced4da;
    border-left: 0;
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
    display: inline-flex
    ;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 0 .5rem;
    color: #999;
    }


.turn-mgr .input-group-search .btn-search:hover{
background:#3954c3;
color: white;
}
.turn-mgr .input-group-search .btn-search:focus{
outline: none;
box-shadow: 0 0 0 3px rgba(37,99,235,.2);
}

.input-group-search .form-control::placeholder {
font-size: 13px;   /* 원하는 크기 */
color: #999;       /* 필요 시 색상 */
vertical-align: top;
}

.turn-mgr .search .input-group-text{ border-right:0; } /* (사용 안 해도 안전) */
.turn-mgr .search .form-control{ border-left:1px solid #ced4da; } /* 오른쪽 버튼 구조에 맞춤 */

/* 아이콘 크기 */
.turn-mgr .btn-search .material-symbols-outlined{ font-size:20px; line-height:1; }

/* 툴팁 은은하게 */
.tooltip-inner {
background-color: #374151;   /* 딥 그레이 */
color: #fff;
font-size: 12px;
padding: .4rem .6rem;
border-radius: .4rem;
}
.tooltip.bs-tooltip-top .arrow::before {
border-top-color: #374151;
}
.tooltip.bs-tooltip-bottom .arrow::before {
border-bottom-color: #374151;
}

/* 체크박스 컨테이너 */
.tm-check {
position: relative;
display: inline-block;
width: 32px;
height: 32px;
margin-right: .6rem;
cursor: pointer;
}

/* 기본 체크박스 숨김 */
.tm-check input {
opacity: 0;
width: 0;
height: 0;
position: absolute;
}

/* 박스 모양 */
.tm-check .checkmark {
width: 100%;
height: 100%;
background: #f9fafb;       
border: 2px solid #d1d5db;  
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
transition: all .2s;
font-size: 18px;
color: rgba(0,0,0,0.25);   
}

.tm-check .checkmark::before {
content: "✔";
}

/* hover 시 */
.tm-check:hover .checkmark {
background: #eef2f7;
}

/* 체크된 상태 */
.tm-check input:checked + .checkmark {
background: #2563eb;   /* 파란색 배경 */
border-color: #2563eb;
color: #fff;           /* 진한 체크 */
}

/* 버튼 컨테이너 */
.action-buttons {
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
}

/* 공통 버튼 디자인 (세 개 전부 동일 스타일) */
.page-actions .cls-btn-action {
display: flex;
align-items: center;
font-size: 12px;
font-weight: 500;
padding: 0.25rem 0.6rem;
border-radius: 6px;
border: 1px solid #dee2e6;
background-color: #e9ecef;
color: #000;
transition: all 0.2s ease-in-out;
padding: 10px;
box-shadow: 0 1px 2px rgba(0,0,0,.06);
}

.page-actions .cls-btn-action:hover {
background-color: #2563eb;
color: #fff;
}

.action-buttons .cls-btn-action {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 500;
    padding: 0.25rem 0.6rem;
    border-radius: 6px;
    border: 1px solid #dee2e6;
    background-color: #e9ecef;
    color: #000;
    transition: all 0.2s ease-in-out;
    padding: 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
    }
    
.action-buttons .cls-btn-action:hover {
    background-color: #2563eb;
    color: #fff;
}


.name-detail button {
font-size: 12px;
padding: 2px 5px
}

.panel-body-roundnumber {
height: calc(105vh - 220px);
min-height: 420px;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}

.turn-mgr .panel-body {
height: calc(92vh - 220px);
min-height: 420px;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;  
padding-bottom: 130px;  
margin-bottom:10px   
}


.turn-mgr .panel-body:hover {
scrollbar-width: thin;
scrollbar-color: #aaa transparent;
}


.turn-mgr .panel-body::-webkit-scrollbar {
width: 8px;
opacity: 0;                  
}

.turn-mgr .panel-body:hover::-webkit-scrollbar {
opacity: 1;                  /* hover 시 나타남 */
}

.turn-mgr .panel-body::-webkit-scrollbar-track {
background: transparent;
}

.turn-mgr .panel-body::-webkit-scrollbar-thumb {
background-color: #aaa;
border-radius: 4px;
border: 2px solid transparent;
background-clip: content-box;
}

/* ↑↓ 버튼 제거 */
.turn-mgr .panel-body::-webkit-scrollbar-button {
display: none;
width: 0;
height: 0;
}

tbody.session-form {
font-size: 15px;
}

.search.mb-3.cls-srch{
margin-top: 12px;
}

/* ====== 원생추가 모달 전용 start====== */
.addstd-modal .modal-dialog { max-width: 1100px; }
.addstd-body { max-height: 70vh; padding-bottom: .5rem; }
.addstd-footer { display: block; }

/* 툴바 간격/정렬 */
.addstd-toolbar .addstd-field,
.addstd-toolbar .addstd-search { 
padding-left: 0.25rem;
padding-right: 0.25rem;
}

.addstd-select{
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-right: 2rem; /* 드롭다운 화살표 영역 확보 */
}


.addstd-select option{
white-space: normal;
}

.addstd-select { font-size: 14px; }      /* 선택 영역 */
.addstd-select option { font-size: 14px; } /* 목록 */
.addstd-select,
.addstd-search-input { height: calc(2.25rem + 2px)!important;}

/* 2) placeholder 살짝 위로 보이도록 패딩 미세 조정 */
.addstd-search-group .addstd-search-input{
padding-top: .20rem;         /* ↑ 위 여백 줄임 */
padding-bottom: .45rem;      /* ↓ 아래 여백 늘림 */
-webkit-appearance: none;    /* 사파리 등 보정 */
}

/* placeholder 작게 */
.addstd-search-group .addstd-search-input::placeholder {
font-size: 12px;
color: #888;
}

/* 4개 셀렉트 동일 폭 보장 */
.addstd-select { width: 100%; height: calc(2.25rem + 2px); }

/* === 원생추가 모달: select 공통 스타일 (오른쪽 테두리 짤림 방지 + 커스텀 화살표) === */
.addstd-select{
box-sizing: border-box;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 100%;
background-color: #fff;
background-clip: padding-box;      /* border 씹힘 방지 */
border: 1px solid #ced4da;         /* Bootstrap 톤 */
border-radius: .25rem;
padding-right: 2.5em;              /* 화살표 공간 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;

background-image:
linear-gradient(45deg, transparent 50%, #6c757d 50%),
linear-gradient(-45deg, transparent 50%, #6c757d 50%),
linear-gradient(to right, #ced4da, #ced4da); /* 세로 구분선 */
background-position:
right .9em center,
right .55em center,
right 2em center;
background-size:
.5em .5em,
.5em .5em,
1px 1.5em;
background-repeat: no-repeat;
}


.addstd-select:focus{
outline: none;
border-color: #86b7fe;
box-shadow: 0 0 0 .2rem rgba(13,110,253,.15);
}


.addstd-select::-ms-expand{
display: none;
}

.addstd-field{
overflow: visible;
}

.addstd-search-group .addstd-search-input::placeholder { font-size: 12px; color: #888; }


.addstd-search-group .form-control {
border-color: #ced4da;
height: calc(2.25rem + 2px);
}
.addstd-btn-search {
border: 1px solid #ced4da!important;
background: #fff;
color: #495057;
height: calc(2.25rem + 2px);
line-height: 1.5;
padding: .375rem .75rem;
border-left: 0;                
border-top-left-radius: 0;     
border-bottom-left-radius: 0;
}
/* hover/focus도 동일 톤 유지 */
.addstd-btn-search:hover,
.addstd-btn-search:focus {
border-color: #ced4da;
background: #f8f9fa;
color: #212529;
box-shadow: none;
}
/* 인풋 오른쪽 경계선 제거해 버튼과 매끈하게 연결 */
.addstd-search-group .form-control {
border-right: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}

/* 아주 좁은 뷰에서 레이아웃 보정 */
@media (max-width: 576.98px) {
.addstd-table { font-size: 13px; }
}


/* 매우 좁은 화면에서 표 폰트 약간 축소 */
@media (max-width: 576.98px) {
.addstd-table { font-size: 13px; }
}

/* 모달을 컬럼 레이아웃으로: 본문만 스크롤 */
.addstd-modal .modal-content{
display: flex;
flex-direction: column;
max-height: 90vh;
}

/* 본문이 표를 스크롤하고, 푸터와 겹치지 않도록 하단 여백 확보 */
.addstd-modal .addstd-body{
flex: 1 1 auto;
overflow: auto;
padding-bottom: 20px; /* 푸터+버튼 높이만큼 확보(필요시 조절) */
}

/* 푸터를 하단에 고정 + 표 위에 오도록 */
.addstd-modal .addstd-footer{
position: sticky;
bottom: 0;
z-index: 3;
background: #fff;
border-top: 1px solid #e9ecef;
margin-top: 0; /* 일부 테마 충돌 방지 */
}

/* 버튼 클릭 영역 보장(안전장치) */
.addstd-modal .addstd-submit{
pointer-events: auto;
}


/* 원생 추가 팝업창표 */
.addstd-table-wrap { overflow: auto; border: 1px solid #e9ecef; border-radius: .5rem;}
.addstd-table { table-layout: fixed; font-size: 15px;}
.addstd-thead th { background: #f8f9fb; color: #333; font-weight: 600; border-bottom: 1px solid #e5e7eb; font-size:14px!important; position: sticky; top: 0; background: #fff; z-index: 100; border-top: 0px !important;}
.addstd-tbody td { vertical-align: middle; font-size: 14px;}
.addstd-col-check { width: 44px; }

/* 원생 추가 팝업창행 hover/선택 스타일 */
.addstd-row:hover { background-color: #f9fbff; }
.addstd-row:has(.addstd-check:checked) { 
background-color: #eef5ff;
outline: 2px solid #286dd4;
outline-offset: -2px;
}

/* 체크박스 크기 & 색 (최신 브라우저) */
.addstd-check, .addstd-check-all { width: 18px; height: 18px; accent-color: #286dd4;}

/* 이름 강조 */
.addstd-name { font-weight: 600; }

/* 하단 버튼 */
.addstd-submit { width: 100%; border-radius: .75rem; padding: .9rem 1rem; font-weight: 700; }

/* 반응형: 아주 좁은 화면에서 일부 컬럼 폭 자동 */
@media (max-width: 576.98px) {
.addstd-select { min-width: 100px; }
.addstd-table { font-size: 13px; }
}

@media (max-width: 991.98px) { /* 부트스트랩 기준: md 이하 (태블릿/모바일) */
    .container.turn-mgr .card-main {
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch; 
    }
}

/* ====== 원생추가 모달 전용 end====== */
.ccm-modal .modal-dialog { max-width: 880px; }
.ccm-card{
border: 1px solid #e8ebf0;
border-radius: 14px;
overflow: hidden;
background: #fff;
box-shadow: 0 6px 28px rgba(18, 31, 53, .08);
}

/* Header */
.ccm-header{
background: linear-gradient(180deg,#fbfbfe 0%, #f6f8ff 100%);
border-bottom: 1px solid #e6e9f2;
padding: 14px 18px;
}
.ccm-title{
margin: 0 0 0 8px;
font-weight: 700;
letter-spacing: -.2px;
color: #111827;
}
.ccm-title-icon{
display:inline-flex; width:22px; height:22px; 
align-items:center; justify-content:center;
background:#EFF6FF; color:#2563EB; 
border-radius:6px; font-size:12px;
border:1px solid #DBEAFE;
}
.ccm-close{
border:0; background:transparent; font-size:28px; line-height:1;
color:#6b7280; opacity:.7;
}
.ccm-close:hover{ opacity:1; }

/* Body */
.ccm-body{ padding: 18px; }

/* Table-like form */
.ccm-form-table{
width: 100%;
border-collapse: separate;
border-spacing: 0;
border: 1px solid #e8ebf0;
border-radius: 12px;
overflow: hidden;
color: black;
}
.ccm-form-table th,
.ccm-form-table td{
padding: 14px 16px;
vertical-align: middle;
border-bottom: 1px solid #eef1f6;
}
.ccm-form-table tr:last-child th,
.ccm-form-table tr:last-child td{ border-bottom: 0; }

.ccm-form-table th{
background: #f9fafc;
color:#374151;
font-weight: 600;
text-align: left;
border-right: 1px solid #eef1f6;
white-space: nowrap;

}
.ccm-form-table tr:hover td{ background:#fcfdff; } /* hover 더 진하게 */
.ccm-req{ color:#f97316; font-weight:700; margin-right:4px; }

/* Inputs */
.ccm-input{
height: 44px;
padding: 10px 12px;
border: 1px solid #d9e0ea;
border-radius: 10px;
font-size: 14px;
transition: box-shadow .15s ease, border-color .15s ease, background .15s;
background:#fff;
}
.ccm-input:focus,
.ccm-days .ccm-day-check:checked + label {
outline: 0;
border:2px solid #000;    
box-shadow: none;        
}

.ccm-days{ display:flex; flex-wrap:wrap; gap: 10px; }

.ccm-days .ccm-day-check{ display:none; }

.ccm-days label{
user-select:none;
cursor:pointer;
border:1px solid #cbd5e1;
background:#fff;
border-radius: 3px;     
padding: 14px 20px;     
line-height: 1;
font-size: 15px;
font-weight: 600;
color:#374151;
min-width: 54px;
text-align: center;
transition: all .15s ease;
}

/* hover */
.ccm-days label:hover{
background:#f1f5f9;
border-color:#94a3b8;
}

.ccm-days .ccm-day-check:checked + label{
background:#2563EB;       
border: none;
color:#fff;
font-weight: 700;}


/* Footer & Buttons */
.ccm-footer{
border-top: 1px solid #e6e9f2;
background:#fbfcff;
padding: 12px 16px;
}
.ccm-btn{
height: 42px;
border-radius: 10px;
padding: 0 16px;
font-weight: 600;
border:1px solid transparent;
}
.ccm-btn-primary{
background:#2563EB;
border-color:#1D4ED8;
color:#fff;
}
.ccm-btn-primary:hover{ background:#1E40AF; border-color:#1E40AF; }
.ccm-btn-light{
background:#fff;
border-color:#d9e0ea;
color:#000;
}
.ccm-btn-light:hover{ background:#f4f6fa; }

.ccm-modal .modal-body {
max-height: 70vh;   /* 화면 높이의 70%까지만 */
overflow-y: auto;   
padding-right: 10px; 
}

/* === 회차/반 설정 전용 체크박스 === */
.ccm-check {
position: relative;
display: inline-flex;
align-items: center;
cursor: pointer;
font-size: 16px;
font-weight: 500;
user-select: none;
gap: 6px;
font-weight: 600;
}

/* 실제 체크박스 숨기기 */
.ccm-check input {
position: absolute;
opacity: 0;
cursor: pointer;
}

/* 커스텀 박스 */
.ccm-check .checkmark {
position: relative;
width: 20px;
height: 20px;
background: #fff;
border: 2px solid #cbd5e1;
border-radius: 4px;
transition: all 0.2s ease;
flex-shrink: 0;
}

/* hover 시 */
.ccm-check:hover .checkmark {
background-color: #f1f5f9;
}

/* 체크된 상태 */
.ccm-check input:checked ~ .checkmark {
background-color: #2563EB;   /* 파란 배경 */
border-color: #000;          /* 검은 보더 */
}

/* 체크 표시(✔) */
.ccm-check .checkmark:after {
content: "";
position: absolute;
display: none;
}

.ccm-check input:checked ~ .checkmark:after {
display: block;
left: 6px;
top: 2px;
width: 5px;
height: 10px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}

.rr-modal .modal-content { border: 1px solid #e9ecef; border-radius: .6rem; }
.rr-modal .modal-header { border-bottom-color: #eef2f6; }
.rr-modal .modal-footer { border-top-color: #eef2f6; }

.rr-classinfo{
background: #f5f9ff;
border: 1px solid #cfe2ff;
border-radius: .5rem;
padding: .5rem .75rem;
line-height: 1.35;
text-align: center;
font-weight: 700;

}
.rr-classinfo-line
{ font-size: 16px; 
color: #000; } 


.rr-row{ display:flex; justify-content:space-between; align-items:center; }
.rr-label{ font-size: .85rem; color:#495057; white-space:nowrap; }


.rr-stepper .form-control{
height: 34px; text-align:center; box-shadow:none;
border-color:#ced4da;
}
.rr-stepper .rr-step{
min-width: 34px; border-color:#ced4da; background:#fff;
}
.rr-stepper .btn:focus, .rr-stepper .form-control:focus{
box-shadow:0 0 0 .2rem rgba(13,110,253,.1);
border-color:#86b7fe;
}


.rr-note{ 
border-color:#dc3545!important; 
color:#dc3545!important;
font-size: 13px; }


.round-btn {
gap: 0.4em;
}

.rr-stepper-mini .btn,
.rr-stepper-mini .form-control {
height: 31px;         
line-height: 26px;     
padding-top: 0;
padding-bottom: 0;
border-color: #ced4da;
width: 38px;
}

.rr-stepper-mini input[type="number"] {
-moz-appearance: textfield;
appearance: textfield;          
}
.rr-stepper-mini input[type="number"]::-webkit-outer-spin-button,
.rr-stepper-mini input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

.rr-stepper-mini .form-control { width: 56px; text-align: center; }

.input-group.input-group-sm.rr-stepper-mini.d-inline-flex.w-auto input[type=number] {
font-size: 14px;
font-weight: 700;
width:134px;
}

.rr-row.mb-2 span:nth-child(2) {
padding: 8px 12px;
border-radius: 10px;
}

.rrc-confirm {
position: relative;
border: none;
border-radius: 12px;
overflow: hidden;
}

.rrc-confirm::before{
content:"";
position:absolute; left:0; top:0; right:0; height:4px;
background: linear-gradient(90deg, #0d6efd, #66a6ff);
}

.rrc-body{
padding: 16px 16px 8px;
text-align: center;
background: #fff;
}

.rrc-chip{
display: inline-block;
padding: 4px 10px;
border-radius: 999px;
background: #eef4ff;
border: 1px solid #cfe2ff;
color: #0b5ed7;
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 10px;
}

.rrc-question{
margin: 0 0 6px;
font-size: 0.98rem;
color: #212529;
line-height: 1.5;
}
.rrc-number{
font-weight: 700;
color: #0d6efd;
}

.rrc-subtext{
color: #6c757d;
}

.rrc-actions{
display: flex;
align-items: center;
padding: 8px 12px 12px;
background: #fff;
}
.rrc-actions .btn{
flex: 1 1 0;
min-width: 0;
}
.rrc-actions .btn + .btn{
margin-left: 8px; 
}

/* 닫기(X) 버튼: 헤더 없이 상단 우측 고정 */
.rrc-close{
position: absolute;
top: 6px;
right: 8px;
z-index: 1;
opacity: .1;
}
.rrc-close:hover{ opacity: 1; }

.modal.show .rrc-confirm{
box-shadow:
0 0 0 2px rgba(13,110,253,.15),
0 10px 24px rgba(0,0,0,.08);
}


.rr-help{
display:inline-block;
background:#eef4ff;           
border:1px solid #cfe2ff;     
border-radius:.5rem;
padding:.35rem .6rem;
color:#1f2d3d;
line-height:1.3;
font-weight: 600;
}

.rr-date input[type=date] {
font-weight: 700;
text-align: center;
width: 208px;
}

.keypad .btn { margin: 6px; border-radius: 10px; }
  .keypad .btn:active, .keypad .btn.active-press {
    transform: translateY(1px);
    box-shadow: inset 0 2px 0 rgba(0,0,0,.06);
    
  }
  .keypad .btn:hover { color: #2563eb; border: 1px solid #2563eb;}
  .total-box { background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.06); border-radius:14px; }

  .timeClass input {
  text-align: center;
  width: 70px;
}

.timeClass input::placeholder {
  text-align: center;
}

.total-box a {
  right: 1%;
    top: 57%;
}

.time-field button {
  border: 1px solid #dcdcdc;
}

.rr-hour-input,
.rr-minute-input {
  max-width: 60px;
  display: inline-block;
  text-align: center;
}

.turn-mgr .keypad-time .btn {
    width: 48px;
    height: 40px;
    border-radius: .6rem;
    font-weight: 700;
    margin: .25rem;
    border-color: #e5e7eb;
    background: #fff;
    font-size: 13px;
    margin: 6px;
    border-radius: 10px;
    min-width: 84px
}

.turn-mgr .keypad-time .btn:hover 
{ color: #2563eb; border: 1px solid #2563eb;} 

.total-box.mt-3.p-3.border.rounded.text-center.position-relative span {
    font-size: 40px;
}

p.mc-text.mb-0 {
    font-size: 15px;
    color: #353535;
    font-weight: 500;
}

.rr-row span.rr-label.text-primary.mr-2 {
    color: #2563eb;
    font-weight: 600;
    font-size: 14px;
}

.rr-row span.badge.badge-primary.badge-pill {
    background: #2563eb;
    padding: 9px 20px 5px;
    border-radius: 5px;
    font-size: 14px;
}

button.btn.btn-primary {
    background: #3563eb;
}

ul.nav.nav-tabs.px-3.pt-3 {
    font-family:sans-serif;
}

.modal-backdrop { background:#000 !important; }
.modal-backdrop.show { opacity:.3 !important; } 

.second-title input {width: 310px;}
.col-md-8.mb-2.mb-md-0.first-title input {width: 310px;}

/* 25-10-21 회차,시간제추가 end */

/* 문자전송 시,분 영역 */
label.col-form-label.ml-1 {
    margin-right: 5px;
}

/* 회차관리 변경 25-11-06 */

/* 변경 요약 스타일 */
.change-summary {
    background: #f8f9fb;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 100%;
  }
  .change-title {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    margin-top: 5px;
  }
  .change-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .change-line {
    background: #fff;
    border: 1px dashed #dee2e6;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
    line-height: 1.7;
  }
  .change-label {
    display: inline-block;
    min-width: 76px;
    padding: 3px 10px;
    margin-right: 8px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
    vertical-align: middle;
  }
  .change-total .change-label {
    background: #e8f0ff;
    color: #1b5cff;
  }
  .change-used .change-label {
    background: #e9f7ef;
    color: #198754;
  }
  .change-from,
  .change-to {
    font-weight: 700;
    color: #3563eb;;
  }
  .change-arrow {
    margin: 0 6px;
    opacity: 0.6;
  }
  .change-note {
    color: #495057;
  }
  .change-summary ::selection {
    background: #dfe9ff;
    color: #0d47a1;
  }

  .round-card .arrow-btn {
    width: 26px;
    height: 26px;
    line-height: 1;
    padding: 0;
  }
  .round-card .number-box {
    font-size: 21px;
    font-weight: bold;
    color: #212529;
  }
  .round-card .value-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .round-card .arrow-wrap {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
  }

  .d-flex.justify-content-between.align-items-center.mb-2.total-round > span {
    padding: 6px 12px;
    font-size: 13px;
    background-color: #f0f7ff;
    color: #0d6efd;
    font-weight: 600;
    border-radius: 5px;
    border-color: #d6e8ff;
  }

  .d-flex.justify-content-between.align-items-center.mb-2.use-round > span {
    padding: 6px 12px;
    font-size: 13px;
    background-color: #f0f7ff;
    color: #0d6efd;
    font-weight: 600;
    border-radius: 5px;
    border-color: #d6e8ff;
  }

  /* 회차기록 팝업창 수정 25-11-07 */

  /* 좌측 스크롤 */
  .sess-classlist {
    max-height: 450px;      
    overflow-y: auto;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
  }

    /* 우측 스크롤 */
  .sess-scroll {
    max-height: 410px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
  }

  /* 검색 버튼 전용 스타일 */
.sess-search-btn {
    position: relative;
    font-weight: 600;
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    padding: 6px 16px 6px 29px !important;
  }
  
  /* 아이콘 (구글 머티리얼 아이콘 스타일) */
  .sess-search-btn::before {
    content: "search";
    font-family: 'Material Symbols Outlined';
    font-size: 18px;
    position: absolute;
    left: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    font-weight: normal;
    line-height: 1;
  }

  .sess-summary b {
    font-weight: 800;
  }

  .card.sess-card .card-body h6 span {
    color: #3563eb;
  }

  li.list-group-item.d-flex.justify-content-between.align-items-center.sess-classitem.active {
    background: #3563eb;
    border-color: #3563eb;
  }

  ul.list-group.list-group-flush.sess-classlist li {
    cursor: pointer;
  }

  .total-time-content {
    padding-left: 10px;
  }
  
/* 회차관리 -> 상세이력 -> 과정반(회차반) 기록 */
.sess-scroll table thead th {
	position: sticky; 
	top: 0;
    z-index: 1;
    background-color: #e9ecef; 
}

/* 2025-11-27 */
/* 일괄 버튼 전용 영역 */
.rm-batch-buttons {
    display: flex;
    gap: 4px;
  }
  
  /* 공통 버튼 */
  .rm-btn {
    min-width: 90px;
    height: 34px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    border: 1px solid transparent;
    background-color: #f3f4f6;
    color: #111827;
    cursor: pointer;
  }
  
  .rm-btn:hover {
    background-color: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
  }

  .rm-batch-title {
    display: flex;
    align-items: center;
  }

  .rm-badge-count {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    background-color: #eef2ff;
    color: #3730a3;
    vertical-align: middle;
  }
  
  /* 회차 패널 */
.rm-round-panel {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px 16px;
    background-color: #ffffff;
    margin-top: 15px;
  }

  input.rm-stepper-input.active {
    color: #2563eb;;
  }
  
  /* 리스트 */
  .rm-round-list {
    max-height: 460px;
    overflow-y: auto;
  }
  
  /* 행 */
  .rm-round-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
  }
  
  .rm-round-row + .rm-round-row {
    border-top: 1px solid #f3f4f6;
  }
  
  /* 이름 + 반 묶음 */
  .rm-round-main {
    display: flex;
    flex-direction: column;
  }
  
  .rm-round-name {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
  }
  
  .rm-round-class {
    margin-top: 2px;
    font-size: 13px;
    color: #6b7280;
  }
  
  /* 스텝퍼 */
  .rm-stepper {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  
  .rm-stepper-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #d1d5db;
    background-color: #f9fafb;
    font-size: 18px;
    line-height: 1;
    padding: 0;
  }
  
  .rm-stepper-btn:hover {
    background-color: #e5e7eb;
  }
  
  .rm-stepper-input {
    width: 60px;
    height: 32px;
    text-align: center;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
  }
  
  /* 안내문 */
  .rm-helper-text {
    margin-top: 20px;
    font-size: 14px;
    color: #000;
    margin-bottom: 0px;
  }

  /* 회차 + 시간 컨테이너 */
.rm-control-box {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  
  /* 시간 영역 */
  .rm-timebox {
    display: flex;
    align-items: center;
    gap: 4px;
  }
  
  /* 시간 / 분 input */
  .rm-time-input {
    width: 42px;
    height: 32px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    text-align: center;
    padding: 0;
  }
  
  /* 단위 텍스트 */
  .rm-time-unit {
    font-size: 12px;
    color: #6b7280;
    margin-right: 4px;
  }
  