@charset "UTF-8";

body{ -ms-overflow-style: none; }
body::-webkit-scrollbar { display: none;}

a {color: var(--btn-color);}
a:hover{color: var(--btn-color); text-decoration: none;}
a:not([href]){color: var(--btn-color);}
a:not([href]):hover{color: var(--btn-color);}
p, dl, dt, dd, h1, h2, h3, h4, h5, h6, ul, label{margin: 0 0 0 0; padding: 0 0 0 0;}
th.left, td.left{text-align: left !important; padding: 5px 5px 5px 10px !important;}
th.right, td.right{text-align: right !important; padding: 5px 10px 5px 5px !important;}
th.center, td.center{text-align: center !important;}
input.right{text-align: right;}
input.center{text-align: center;}
li{list-style: none;}
#wrapper { display: flex; }
#wrapper #content-wrapper { background-color: #f8f9fc; width: 100%; overflow-x: hidden;}
#wrapper #content-wrapper #content {flex: 1 0 auto;}



.link-underline{text-decoration: underline;}
.form-control::placeholder{color:rgba(0, 0, 0, .3);}

.container-fluid{padding: 0 0 0 0;}
.warp{ min-height: calc(100vh - (60px * 2)); padding: 20px 20px 30px 0px;}
.vertical-wrapper { display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - (1.625rem * 2)); }

.question-tooltip { position: relative; display: inline-block; cursor: pointer; }
.question-tooltip span { display: inline-flex; width: 18px; height: 18px; justify-content: center; align-items: center; background: #eee;border-radius: 50%; font-size: 12px; color: #555; }
.question-tooltip i {font-size: 10px;}
.tooltip-content { position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); width: 220px; max-width: 220px; padding: 8px 12px; background: #333; color: #fff; font-size: 12px; line-height: 1.4; border-radius: 6px; white-space: normal; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease; z-index: 20; }
.tooltip-content::after { content: ""; position: absolute; top: -6px; left: 50%; transform: translateX(-50%); border-width: 0 6px 6px 6px; border-style: solid; border-color: transparent transparent #333 transparent; }
.question-tooltip:hover .tooltip-content { opacity: 1; visibility: visible; word-break: keep-all;}

.btn-primary.focus, .btn-primary:focus,
.btn-primary.active, .btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active{background-color: var(--primary); box-shadow: none; border-color: var(--primary);}
.btn-outline-primary.focus, .btn-outline-primary:focus,
.btn-outline-primary.active, .btn-outline-primary:active,
.btn-outline-primary:not(:disabled):not(.disabled):active{background-color: #fff; color: var(--primary); box-shadow: none; border-color: var(--primary);}
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus{box-shadow: none;}
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus{box-shadow: none;}


.vr {background-color: var(--gray-600)}
.form-solo-box{display: flex; justify-content: center; align-items: center;}
.form-solo-box .form-check-input{width: 14px; height: 14px; padding: 0 0 0 0; margin: 0 0 0 0; position: relative;}

.file-upload-list{padding: 5px 0; display: flex; flex-direction: column; gap: 7px;}
.file-upload-area{display: flex; justify-content: space-between; align-items: center;}
.file-upload-box { display: flex; flex-direction: column; gap: 6px; }
.file-upload-box .file-upload-control { display: flex; align-items: center; gap: 10px; }
.file-upload-box .file-upload-input { display: none;  }
.file-upload-box .file-upload-name { font-size: 13px; color: #666; min-width: 160px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-upload-desc{ font-size: 12px; color: #666;}

.user-thumb{display: block; width: 150px; height: 150px; overflow: hidden; border-radius: 100px; border: 1px solid rgba(0, 0, 0, 0.1); background: url(../images/thumb_user.jpg) no-repeat 50% 50%; background-size: cover;}
.user-thumb img{width: 100%; height: 100%;}

.thumb-input-area{position: relative; width: 150px; height: 150px; margin: 0 auto;}
.thumb-input-area .btn-thumb-area{position: absolute; right: 8px; bottom: -3px;}
.thumb-input-area .btn-thumb-area label{display: inline-block; background: #fff; border: 1.5px solid #101010; padding: 3px; border-radius: 50%; margin-bottom: 0;}
.thumb-input-area .btn-thumb-area .text{display: none; }

.text-red{color: rgba(230, 0, 19, 1);}
.text-blue{color: #0057b4;}
.text-green{color: #007b21;}
.text-orange{color: #ff7700;}
.form-check-label{line-height: 100%;}
.form-check-label.w50{width: 50px;}
.form-check-label.w220{width:220px;}
.form-control.center{text-align: center;}
.form-control.right{text-align: right;}
.mark-ess::after{content: '*'; color: #ff0000; font-style: normal; padding-left: 5px;}
.btn-lg{font-size: 16px; line-height: 100%;}

.form-control{height: calc(1.5em + .4rem + 2px); border-radius: .25rem; line-height: 100%;}
.form-control[type="date"]{padding: 6px 6px 6px 12px; width: 130px;}
.form-control-lg{font-size: 14px; height: calc(1.5em + .75rem + 2px); padding: 0.4rem 0.75rem 0.4rem 0.75rem;}
.form-select, .datatable-selector{height: calc(1.5em + .4rem + 2px); border-radius: .25rem; line-height: 100%; width: 100%; background-position: right 6px center;}
.form-select-lg{font-size: 14px; height: calc(1.8em + .75rem + 2px); padding: 0.4rem 2.25rem 0.4rem 0.75rem;}

a.btn:hover{color: var(--btn-color);}

.date-range{display: flex; flex-direction: row; align-items: center; gap: 5px;}
.date-range.center{justify-content: center;}

.w-auto{width:auto}
.w-auto{width:auto}
.input-inline-guidebox{ text-align: center; font-size: 12px;}
.input-inline-guidebox.w230{width: 230px;}
.input-inline-guidebox.disabled{color: var(--gray-400);}


.scrollbox { overflow-y: scroll; }
.scrollbox::-webkit-scrollbar { width: 12px;}
.scrollbox::-webkit-scrollbar-thumb { background: rgba(185, 182, 183, 1); border-radius: 10px; border: 3px solid #f9f9f9;}
.scrollbox::-webkit-scrollbar-track { background: #f9f9f9;}

.form-control:focus{box-shadow: none;}
.header{position: relative; height: 50px; display: flex; padding: 0 20px;  justify-content: space-between; align-items: center; flex: 1 0 0; align-self: stretch; background: #fff; border-bottom: 3px solid var(--dark);}
.header .logo-area{display: flex; justify-content: flex-start; align-items: center; gap: 10px;}
.header .logo-area .logo{width: 66px; height: 30px; display:block; background: url(../images/logo.png) no-repeat 50% 50%; background-size: cover;}
.header .logo-area .name{ font-size: 18px; font-weight: 700; letter-spacing: -0.4px;}
.header .outlogin-area .user-info-area{display: flex; align-items: center; justify-content: center; gap: 10px; margin-right: 10px;}
.header .outlogin-area .user-info-area .user-thumb{display: inline-block; width: 40px; height: 40px; border-radius: 40px;}
.header .header-btn{cursor: pointer; display: inline-flex; align-items: center; justify-self: center; height: 30px; padding: 0 16px; border-radius: 4px; border: 1px solid var(--dark); background: #FFF;}
.header .header-btn.remain-time-btn{background: var(--primary); border-color: var(--primary); color: #fff;}
.header .outlogin-area{display: flex; justify-content: flex-end; align-items: center; gap: 10px; position: relative; z-index: 1;}
.header .control-area{display: flex; justify-content: center; align-items: center; gap: 10px;}
.header .nav-menu{padding: 0 100px; border-bottom: 3px solid #9C9698; position: absolute; height: 50px; top:0px; left: 50%; transform: translate(-50%, 0%); display: flex; justify-content: center; align-items: center;}
.header .nav-menu .nav-link{ border-bottom: 3px solid var(--primary); width: 150px; height: 53px; display: flex; align-items: center; justify-content: center;}
.header .nav-menu .nav-link span{ font-size: 18px; font-weight: 600; padding-top: 5px;}
.header .nav-menu .nav-link:nth-child(1){ border-color: var(--part-franchise);}
.header .nav-menu .nav-link:nth-child(2){ border-color: var(--part-academic);}
.header .nav-menu .nav-link:nth-child(3){ border-color: var(--part-learning);}
.header .nav-menu .nav-link:nth-child(1):hover,
.header .nav-menu .nav-link.on:nth-child(1){ color: var(--part-franchise);}
.header .nav-menu .nav-link:nth-child(2):hover,
.header .nav-menu .nav-link.on:nth-child(2){ color: var(--part-academic);}
.header .nav-menu .nav-link:nth-child(3):hover,
.header .nav-menu .nav-link.on:nth-child(3){ color: var(--part-learning);}
.header .user-info{display: flex; align-items: center; gap: 8px;}
.header .user-info .user-info-data{display: flex; align-items: center; gap: 3px;}
.header .user-info .user-name{font-size: 14px; font-weight: 700; line-height: 100%; cursor: pointer;}
.header .user-info .user-team{color: var(--gray-600); font-size: 14px; font-weight: 400; line-height: 100%}
.header .user-info .user-team span::after{content: '>'; display: inline-block; padding: 0 5px;}
.header .user-info .user-team span:last-child::after{display: none;}
.header .user-info .cs-unprocessed{ font-size: 14px; line-height: 100%;}
.header .user-info .cs-unprocessed span{font-weight: 700; display: inline-block; padding-left: 3px;}
.header .user-info .cs-unprocessed::before{content: '['; padding-right: 1px;}
.header .user-info .cs-unprocessed::after{content: ']'; padding-left: 1px;}
.remain-time{ display: inline-block; padding-left: 26px; background: url(../images/icon/remain_time.svg) no-repeat 0 50%; background-size: 24px}
.remain-time span{color: var(--primary); font-family: Inter; font-size: 14px; font-style: normal; font-weight: 600; line-height: 100%;}
.security-mode-set .mode-set-btn { appearance: none; border: none; cursor: pointer; margin: 3px 0 0 0; width: 30px; height: 30px; background: url(../images/icon/security_mode.svg) no-repeat 50% 50%; background-size: cover; transition: fill 0.3s ease;}
.security-mode-set .mode-set-btn:checked { background: url(../images/icon/security_mode_lock.svg) no-repeat 50% 50%; background-size: cover; animation: like-button-bounce 0.4s ease;}
.security-mode-set .security-mode-icon{cursor: pointer; display: inline-block; width: 30px; height: 30px; background: url(../images/icon/security_mode.svg) no-repeat 50% 50%; background-size: cover;}
.security-mode-set .security-mode-icon.lock{width: 30px; height: 30px; background: url(../images/icon/security_mode_lock.svg) no-repeat 50% 50%; background-size: cover;}

.favorites-pick .favorites-pick-btn {position: relative; z-index: 1001; appearance: none; border: none; cursor: pointer; margin: 3px 0 0 0; width: 30px; height: 30px; background: url(../images/icon/star.svg) no-repeat 50% 50%; background-size: cover; transition: fill 0.3s ease;}
.favorites-pick .favorites-pick-btn:checked { background: url(../images/icon/star_on.svg) no-repeat 50% 50%; background-size: cover; animation: like-button-bounce 0.4s ease;}

.member-wrapper{min-height: 100vh; padding: 0 30px; width: 100%; display: flex; align-items: center; justify-content: center; background: url(../images/outlogin_bg.jpg) no-repeat; background-size: cover;}
.member-wrapper .member-warp{background: rgba(255,255,255,.8); padding: 50px; border-radius: 30px; border: 1px solid rgba(255,255,255,1);}
.member-wrapper .member-warp .member-warp-title{font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 25px;}
.member-wrapper .member-warp .member-warp-title .logo{width: 180px; height: 83px; margin: 0 auto 10px auto; background:url(../images/logo.png) no-repeat 50% 50%; background-size: cover;}
.member-wrapper .member-warp .find-password{display: block; padding: 10px 0px; font-size: 14px; color: var(--dark); text-align: center;}
.member-wrapper .member-warp .find-password::after{content: '>'; padding-left: 5px;}
.member-wrapper .input-group-area ul li{margin-top: 10px;}
.member-wrapper .input-group-area .btn{width: 100%; height: 50px; font-size: 16px; display: flex; align-items: center; justify-content: center; font-weight: 600;}
.member-wrapper .member-area{display: flex; flex-direction: column; gap: 10px; width: 350px; }

.sidebar{ width: 220px; min-height: calc(100vh - (1.625rem * 2)); padding: 20px 16px 20px 16px;}
.sidebar .nav{gap: 20px;}
.sidebar .item-menu-box{width: 100%; display: flex; align-items: center; cursor: pointer; padding: 8px 6px 8px 6px ;}
.sidebar .item-menu-box:hover{color: var(--primary);}
.sidebar .item-menu-box.active{background: var(--primary); border-radius: 4px;}
.sidebar .item-menu-box.active .item-menu{color: #fff;}
.sidebar .item-menu-box .sb-sidenav-collapse-arrow {display: flex; justify-content: center; align-items: center;}
.sidebar .item-menu-box .item-menu{display: flex; align-items: center; justify-content: flex-start; flex: 1 0; gap: 5px; color:  #101010; font-size: 14px; font-weight: 600;}
.sidebar .item-menu-box .item-menu .icon{width: 24px; height: 24px; margin: 0 0 0 0;}
.sidebar .item-menu-box .item-menu .icon svg{fill: #101010;}
.sidebar .item-menu-box.active .item-menu .icon svg{fill: #fff;}
.sidebar .item-submenu{padding-top: 10px; padding-left: 0; margin-left: 0; display: flex; flex-direction: column; gap: 5px;}
.sidebar .item-submenu li{list-style: none; padding-left: 5px;}
.sidebar .item-submenu a{font-size: 14px; font-weight: 500; letter-spacing: -1px;}
.sidebar .item-submenu a::before{content: '┖'; font-size: 16px; font-weight: 700; padding-right: 7px;}
.sidebar .item-submenu li.active a{color: var(--primary); font-weight:700;}
.sidebar .sidebar-btn{position: fixed; bottom: 0px; left: 0px; width: 200px; padding: 20px; text-align: center; z-index: 99;}

.btn-favorite{background: #282b3a; border: 1px solid #fff; cursor: pointer; color: #fff !important; width: 100px; margin: 0 auto; height: 40px; border-radius: 6px; display: flex; align-items: center; justify-content: center; gap:10px;}
.btn-favorite span{width: 18px; height: 18px; position: relative; top: -2px; display: inline-block;}
.btn-favorite span img{width: 100%; height: 100%;}
.btn-listdata-add{ border: 1px solid rgba(0, 0, 0, .7); color: rgba(0, 0, 0, .8); padding: 3px 10px 6px 10px; min-width: 200px; background: #fff; border-radius: 50px; height: 100%;}
.btn-listdata-add::before{content: '+'; padding-right: 10px; font-size: 18px;}
.btn-listdata-add:hover{ border: 1px solid rgba(0, 0, 0, .79); color: rgba(0, 0, 0, 1);}

.error-cont-wrapper, .error-cont-area { display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - (1.625rem * 2));}
.error-cont-area dl{text-align: center;}
.error-cont-area dl dt {max-width: 300px; width: 70%; margin:0 auto 30px auto;}
.error-cont-area dl dt img{width: 100%;}
.error-cont-area dl dd{font-size: 16px; padding: 0 30px; word-break:keep-all; line-height: 160%;}
.error-cont-area dl dd p{ font-size: 28px; margin:0 0 10px 0; font-weight: 700;}
.error-cont-area dl dd .btn{max-width: 200px; width: 100%;}
.error-cont-area dl dd a{background: #fffecd; color: #000; display: inline-block; padding: 0 5px; border-radius: 3px;}
.error-cont-area dl dd a:hover{color: #000;}


.dashboard-area{margin:24px auto;}

.dashboard-area .grid{display:grid; gap:12px}
.dashboard-area .grid.cols-2{grid-template-columns:repeat(2,1fr)}
.dashboard-area .grid.cols-3{grid-template-columns:2fr 1fr 1fr}

.dashboard-area .card{background:#fff; border:1px solid #eceff3; border-radius:16px; box-shadow:0 6px 18px rgba(0,0,0,.06)}
.dashboard-area .card .body{padding:18px}
.dashboard-area .h-100{height:100%}

.dashboard-area .row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dashboard-area .title-sm{font-size:16px; color:#6b7280}
.dashboard-area .link-muted{color:#9ca3af;font-size:12px}

.dashboard-area .kpis{display:flex; justify-content: space-between; align-items:center;}
.dashboard-area .kpis.part04 .kpi{width: 25%;}
.dashboard-area .kpis.part03 .kpi{width: 33.333%;}
.dashboard-area .kpis.part02 .kpi{width: 50%;}
.dashboard-area .kpi{display: flex; flex-direction: column; justify-content: center; align-items: center;}
.dashboard-area .kpi .val{font-size:36px; font-weight:800; padding: 10px 0;}
.dashboard-area .kpi .sub{font-size:14px;color:#6b7280}

.dashboard-area .chips{display:flex;gap:6px;align-items:center}
.dashboard-area .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:9999px;padding:2px 8px;font-size:12px;color:#6b7280}

.dashboard-area .chart-100{height:100px}
.dashboard-area .chart-130{height:130px}
.dashboard-area .chart-210{height:210px}
.dashboard-area .chart-240{height:240px}
.dashboard-area .chart-260{height:260px}

.dashboard-area .mt-12{margin-top:12px}

.dashboard-ucc-best-area ul li { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 5px; margin-bottom: 5px;}
.dashboard-ucc-best-area .ucc-best-box { display: flex; justify-content: center; align-items: center; padding: 3px 5px; background: #eef0f6; border-radius: 50px; width: 100%; box-sizing: border-box; }
.dashboard-ucc-best-area .ucc-best-box strong{font-weight: 500;}
.dashboard-ucc-best-area .ucc-best-box span{ font-size: 12px;}
.dashboard-ucc-best-area .ucc-best-box span::before{content: '-'; padding-left: 5px; padding-right: 5px;}

.btn-file-choice{ width: 70px; padding: 6px 6px;}

.gnb-title{display: flex; justify-content: space-between; align-items: center; padding-right: 10px;}
.gnb-title h1{color: #000; font-size: 24px; font-weight: 600; margin-bottom: 10px; display:flex; align-items: center; justify-content: flex-start;}
.gnb-title h1::before{content: ''; display: inline-block; width: 7px; height: 22px; background: var(--primary); margin-right: 10px;}
.gnb-title h1 span::after{position: relative; top: 3px; content: ''; width: 24px; height: 24px; background: url(../images/icon/arrow_right.svg) no-repeat 50% 50%; background-size: cover; display: inline-block; opacity: 0.8; padding: 0 5px 0 7px; }
.gnb-title h1 span:last-child::after{display: none;}
.gnb-title .favorites-pick-area{position: relative; top: -4px;}
.gnb-title .right-cont{display: flex; justify-content: flex-end; align-items: center; gap: 6px;}

.tool-tip-area{width: 250px; min-height: 150px; padding: 8px 20px; display: flex; align-items: flex-start;}
.tool-tip-box{display: flex; flex-direction: column;  gap: 10px; width: 100%;}
.tool-tip-box h3{font-size: 14px; color: var(--gray-700); font-weight: 600;}

.icon-tip-area .dropdown-toggle::after{display: none;}
.icon-tip-area .dropdown-toggle img{width: 32px; position: relative; top: -5px; }

.btn-data-add{display: flex; width: auto; min-width: 150px; height: 40px; line-height: 100%; cursor: pointer; justify-content: center; align-items: center; gap: 5px; border-radius: 5px; border: 1px solid #ff6200; background: var(--secondary); box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.30); color: #FFF; font-size: 15px; line-height: 100%; font-weight: 600;}
.btn-data-add .icon-add{width: 16px; height: 16px; display: block; background: url(../images/icon/add_w.svg) no-repeat 50% 50%;}
.btn-data-add .icon-add.student{background: url(../images/icon/add_student_w.svg) no-repeat 50% 50%; background-size: cover;}
.btn-data-add .text{display: block; padding-top: 1px; color: #fff;}
.btn-data-add:hover{color: #fff;}
.btn-data-add.mw200{min-width: 200px;}

.btn-data-add.quick-advice{background: #fff; box-shadow: none;}
.btn-data-add.quick-advice .icon-add{background: url(../images/icon/quick_advice.svg) no-repeat 50% 50%; background-size: cover;}
.btn-data-add.quick-advice .text{color: var(--secondary); letter-spacing: -1px;}

.sms-set-box dl{ display: flex; justify-content: flex-start; align-items: center;}
.sms-set-box dl dt{width: 100px; font-weight: 500; text-align: center;}

.list-search-box{display: flex; padding: 10px 20px; margin-bottom: 15px; justify-content: space-between; align-items: center; gap: 20px;  border-radius: 10px; background: #FFF; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10);}
.list-search-box .search-keyword-area{display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%;}
.list-search-box .title-item{margin-right: 10px;}
.list-search-box .title-item{display: flex; align-items: center; justify-content: center; gap: 5px;}
.list-search-box .title-item dt{font-weight: 500;}
.list-search-box .form-control{height: 40px; padding: 8px 12px; border-radius: 4px; border: 1px solid rgba(60, 60, 67, 0.05); background-color: #F9FAFC;}
.list-search-box .form-select{height: 40px; padding: 8px 12px; border-radius: 4px; max-width: 200px; border: 1px solid rgba(60, 60, 67, 0.05); background-color: #F9FAFC;}
.list-search-box .form-select.mw-auto{ max-width: none; width: auto; padding: 8px 32px 8px 12px;}
.list-search-box .form-control::placeholder{color: rgba(60, 60, 67, 0.60); font-size: 14px; font-weight: 400; }
.list-search-box .form-control{max-width: 400px;}
.list-search-box .form-check-inline .form-check{margin-bottom: 0;}
.list-search-box .btn-search{display: flex; min-width: 60px; height: 40px; padding: 0 16px; justify-content: center; align-items: center; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.10); background: var(--primary); color: #FFF; font-size: 14px; font-weight: 600;}
.list-search-box .search-btn-area{display: flex; align-items: center; justify-content: center; gap: 10px; height: 40px;}
.list-search-box .search-btn-area .btn i{padding-right: 10px;}
.list-search-box .search-btn-area .btn-primary{height: 40px; width: 100px;}
.list-search-box .search-btn-area .btn-primary.btn-add{width: 100px;}
.list-search-box .search-btn-area .btn-file-upload .btn-primary{position: relative; top: 4px; width: 150px;}
.list-search-box .search-btn-area .btn{min-width: 80px; padding: 11px 10px;}
.list-search-box .form-check-btn.deadlin { width: 300px; display: flex; align-items: center; gap: 5px; }
.list-search-box .form-check-btn label {margin: 0 0 0 0; font-size: 16px; display: flex; justify-content: center; align-items: center;}
.list-search-box .btn-area{display: flex; align-items: center; justify-content: center; gap: 10px;}
.list-search-box .btn-search-sub{height: 40px; cursor: pointer; line-height: 38px; padding: 0 16px; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.10); background: var(--secondary); color:rgba(255,255,255,1); font-size: 14px; font-weight: 600;}
.list-search-box .btn-search-sub:hover{color:rgba(255,255,255,0.8);}
.list-search-box .btn-search-sub.outline{color: rgba(243, 112, 33, 1); background: #fff; border-color: var(--secondary);}
.list-search-box .btn-search-sub.outline:hover{color: rgba(243, 112, 33, 0.8);}
.list-search-box.side-content{box-shadow: none; padding: 0;}
.list-search-box.side-content .search-keyword-area{width: 50%;}
.list-search-box.side-content .title{display: flex; justify-content: flex-start; align-items: center; gap: 10px; flex: 1 0;}
.list-search-box.side-content .title .form-control{font-size: 18px; font-weight: 700;}
.list-search-box.side-content .title.lg{font-size: 18px;}

.list-search-box .btn-today{ cursor: pointer; min-width :100px; height: 38px; padding: 0 10px; font-size: 14px; line-height: 110%; color: var(--primary); font-weight: 400; background: #fff; border: 1px solid var(--primary); border-radius: 4px; display: flex; justify-content: center; align-items: center;}
.list-search-box .btn-today .icon{margin-right: 5px;}
.list-search-box .btn-today .icon svg{width: 18px; height: 18px; fill: var(--primary);}
.list-search-box .btn-today:hover{color: var(--primary);}


.detail-part-area{display: inline-flex;}
.detail-part-area::before{content: '('; padding-right: 3px;}
.detail-part-area::after{content: ')'; padding-left: 3px;}
.detail-part-area p::after{content: '|'; font-size: 10px; padding: 0 4px; position: relative; top: -1px;}
.detail-part-area p:last-child::after{display: none;}
.detail-part-area span{display: inline-block; padding-left: 2px;}

.move-month-area{display: flex; align-items: center; justify-content: center;}
.move-month-area input{width: 120px;height: 40px; padding: 8px 12px; border-radius: 4px; border: 1px solid rgba(60, 60, 67, 0.05); background-color: #fff;}
.move-month-area button{border: 1px solid var(--gray-300); height: 40px; width: 20px; background: var(--gray-200); color: var(--gray-700);}
.move-month-area button.perv{border-radius: 5px 0 0 5px;}
.move-month-area button.next{border-radius: 0 5px 5px 0;}



.list-search-tab{display: flex; justify-content: space-between; align-items: flex-end; height: 50px; margin-bottom: 15px; gap: 20px; border-bottom: 1px solid var(--gray-200);}
.list-search-tab .nav-area{width: 400px;}
.list-search-tab .nav-area .nav-tabs .nav-link{font-size: 16px; font-weight: 700; height: 50px; width: 200px; background: var(--gray-200);}
.list-search-tab .nav-tabs .nav-link.active, .list-search-tab .nav-tabs .nav-item.show .nav-link {background: var(--primary); color: #fff;}
.list-search-tab .tab-content{flex: 1; padding: 5px 0;}
.list-search-tab .tab-content .nav-cont-area{display: none;}
.list-search-tab .tab-content .nav-cont-area.active{width: 100%; display: flex; justify-content: space-between; align-items: center;}
.list-search-tab .tab-content .btn{min-width: 150px; padding: 11px 10px; font-weight: 700;}
.list-search-tab .tab-content .nav-cont-area .form-select{max-width: 260px; height: 40px;}




.schedule-card-list{display: flex; flex-direction: column; gap: 20px;}
.schedule-card{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;}
.schedule-card.active{background:#fff3cd; border-color: #ffe69c;}
.schedule-card .schedule-title-area .schedule-title{border-radius:8px; padding:8px 10px; font-weight:700; display:flex; align-items:center; justify-content: space-between;}
.schedule-card .schedule-title-area .schedule-title .name{flex:1}
.schedule-card .schedule-title-area{display: flex; justify-content: space-between; align-items: center;}
.schedule-card .schedule-title-area .schedule-control-area{display: flex; justify-content: center; align-items: center; gap: 5px;}
.schedule-card .schedule-title-area .schedule-control-area .btn-list{width: 75px;}
.schedule-card .schedule-title-area .schedule-control-area .toggle-switch-area{width: auto;}
.schedule-card .schedule-title-area .schedule-edit-title{display:flex; flex-direction:column; gap:6px; width: 100%;}
.schedule-card .table{margin-top: 10px;}
.schedule-card .table-light tbody+tbody, .schedule-card .table-light td, .schedule-card .table-light th, .schedule-card .table-light thead th{border-color: #dee2e6;}
.schedule-card .table-light th{font-weight: 400;}
.schedule-card .table .form-control[type="date"]{width: 120px;}

.schedule-card .filed-view, .schedule-card-list .filed-edit{width: 100%; display: 100%;}
.schedule-card .filed-view .text{ border:1px solid rgba(0, 0, 0, 0); font-size: 16px; font-weight: 600; padding: 6px 10px; height: 32px; border-radius:6px; display: block; width: 100%; min-width: 100px;}
.schedule-card .filed-edit input{ border:1px solid rgba(0, 0, 0, 0.25); font-size: 16px; font-weight: 600; padding: 6px 10px; height: 32px; border-radius: 6px; }
.schedule-card .btn-area label, .schedule-card .filed-edit label{ cursor:pointer; font-size:18px; color:#555; width: 30px; text-align: center; display: inline-block;}
.schedule-card .btn-area{display: flex; align-items: center; justify-content: center; gap: 3px; margin-left: 5px; height: 32px;}
.schedule-card .filed-edit{display:none;}

.collapse-btn-toggle { display: block; width: 24px; height: 24px; }
.collapse-btn-toggle.collapsed { background: url("../images/icon/collapse_arrow_down.svg") no-repeat 50% 50%; background-size: 24px; }
.collapse-btn-toggle:not(.collapsed) { background: url("../images/icon/collapse_arrow_up.svg") no-repeat 50% 50%; background-size: 24px; }
.collapse-btn-toggle.no-schedule{ opacity: 0.3; pointer-events: none; cursor: default;}


.day-badge-choice { display: flex; gap: 3px; justify-content: space-between; padding: 0 5px;}
.day-badge-choice .day-badge{ display:inline-flex;align-items:center;justify-content:center; width:28px;height:28px;border-radius:6px;font-weight:700;font-size:12px; background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;}
.day-badge-choice .day-badge.active{color:#111; border-color:transparent}
.day-badge-choice .day-badge input[type="checkbox"] { display: none; }
.day-badge-choice .day-badge label { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:6px; font-weight:700; font-size:12px; background:#f3f4f6; color:#6b7280; border:1px solid #e5e7eb; cursor:pointer; user-select:none;}
.day-badge-choice .day-badge input[type="checkbox"]:checked + label {background:var(--gray-800); color:#fff; border-color:transparent; }
.day-badge-choice.NS .day-badge input[type="checkbox"]:checked + label {background:#94ff7f; color: #163d00;}
.day-badge-choice.FW .day-badge input[type="checkbox"]:checked + label {background:#ffd54a; color: #3d3a00;}
.day-badge-choice.LF .day-badge input[type="checkbox"]:checked + label {background:#ffa15d;color:#3a1a00;}

.weekly-date-area .day-badge-choice{padding: 0 0;}
.weekly-date-area .day-badge-choice .day-badge{background: var(--gray-100); color: var(--gray-600); border-color: var(--gray-100);}
.weekly-date-area .day-badge-choice .day-badge.sun{background: #fff; border-color: #ff8484; color: #ff8484;}
.weekly-date-area .day-badge-choice .day-badge.sat{background: #fff; border-color: #6595dd; color: #6595dd;}
.weekly-date-area .day-badge-choice .day-badge.today{background: var(--secondary); border-color: var(--secondary); color:#fff;}

.pagination{padding-top: 15px;}
.pagination, .datatable-pagination ul{justify-content: center;}
.pagination .page-item .page-link{border-color: #fff; font-size: 14px; height: 30px;}
.pagination .page-item.active .page-link{background: #fff; border-color: var(--primary); color: var(--primary); border-radius: 3px;}

.input-group-daterange{display: flex; justify-content: center; align-items: center; gap: 10px; width: 289px;}
.input-group-daterange .form-control{max-width: none; width: 100%; width: 130px; }

.list-top-area{margin-bottom: 5px; display: flex; justify-content: space-between; align-items: flex-end;}
.list-top-area .list-control-area{ display: flex; justify-content: center; align-items: center; gap: 10px;}
.list-top-area .text{color: var(--gray-800);}

.list-top-area .list-total-inline-item{gap: 5px;}

.list-top-area .btn-search-sub{ display: block; height: 40px; cursor: pointer; line-height: 38px; padding: 0 16px; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.10); background: var(--secondary); color:rgba(255,255,255,1); font-size: 14px; font-weight: 600;}
.list-top-area .btn-search-sub:hover{color:rgba(255,255,255,0.8);}
.list-top-area .btn-search-sub.outline{color: rgba(243, 112, 33, 1); background: #fff; border-color: var(--secondary);}
.list-top-area .btn-search-sub.outline:hover{color: rgba(243, 112, 33, 0.8);}

.btn-list,
.btn-list::after {
  display: inline-block;
  --btn-color: #fff;
  color: #fff;
  text-align: center;
  cursor: pointer;
  background: var(--dark);
  border: 1px solid var(--dark);
  font-size: 12px;
  line-height: 100%;
  min-width: 50px;
  font-weight: 500;
  padding: 3px 7px 2px 7px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

/* hover */
.btn-list:hover {
  color: #fff;  
  color: var(--btn-color);

}
/* 색상 변형 */
.btn-list.primary,
.btn-list.primary::after {
  background: var(--primary);
  border-color: var(--primary);
  --btn-color: #fff;
}

.btn-list.secondary,
.btn-list.secondary::after {
  background: var(--secondary);
  border-color: var(--secondary);
  --btn-color: #fff;
}

/* outline 기본 */
.btn-list.outline {
  background: #fff;
  --btn-color: var(--dark);
  color: var(--dark);
}

/* outline 변형 */
.btn-list.outline.primary {
  --btn-color: var(--primary);
  border-color: var(--primary);
  color: var(--primary);
}

.btn-list.outline.secondary {
  --btn-color: var(--secondary);
  border-color: var(--secondary);
  color: var(--secondary);
}

.btn-list.outline.gray {
  --btn-color: rgba(0, 0, 0, 0.6);
  border-color: rgba(0, 0, 0, 0.6);
  color: rgba(0, 0, 0, 0.6);
  background: #fff;
}

/* ===== disabled 상태 추가 ===== */
.btn-list:disabled,
.btn-list[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; /* hover 무효화 */
  background: #e0e0e0 !important;
  border-color: #ccc !important;
  color: #666 !important;
}

.btn-list-control #file, .btn-list-control #download{ display: none; }
.btn-list-control{cursor: pointer; margin: 0;}
.btn-list-control .icon-box{ display: block; width: 24px; height: 24px;}
.btn-list-control .icon-box.file-print{background: url(../images/icon/print.svg) no-repeat 50% 50%; background-size: cover;}
.btn-list-control .icon-box.file-download{background: url(../images/icon/excel.svg) no-repeat 50% 50%; background-size: cover;}
.btn-list-control .text{ display: block;}



.btn-drag{cursor: pointer; display: block; width: 24px; height: 24px; background: url(../images/icon/list_drag.svg) no-repeat 50% 50%; background-size: cover;}

.btn-list.outline:hover{color: var(--btn-color);}
.btn-list.outline:active{color: var(--btn-color);}

.btn-list.primary:disabled,
.btn-list.secondary:disabled,
.btn-list.outline:disabled,
.btn-list.outline.primary:disabled,
.btn-list.outline.secondary:disabled,
.btn-list.outline.gray:disabled,
.btn-list:disabled{ --btn-color: rgba(0, 0, 0, 0.3); border-color: rgba(0, 0, 0, 0.3); color: rgba(0, 0, 0, 0.3);}

.onair-badge{display: block; width: 14px; height: 14px; border-radius: 50%; background: var(--gray-300); border: 1px solid rgba(0, 0, 0, 0.05); box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10);}
.onair-badge.on{background: #00ff40;}

.icon-target-blank{ display: block; width: 24px; height: 24px; margin: 0 auto; background: url(../images/icon/link_target_blank.svg) no-repeat 50% 50%; background-size: cover;}
.icon-link-copy{ display: block; width: 24px; height: 24px; margin: 0 auto; background: url(../images/icon/copy.svg) no-repeat 50% 50%; background-size: 18px;}
.icon-arrow { display: inline-block; width: 20px; height: 20px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'><path d='M14.1922 10.4422L7.94218 16.6922C7.88412 16.7502 7.81518 16.7963 7.73931 16.8277C7.66344 16.8592 7.58212 16.8753 7.5 16.8753C7.41787 16.8753 7.33656 16.8592 7.26069 16.8277C7.18482 16.7963 7.11588 16.7502 7.05781 16.6922C6.99974 16.6341 6.95368 16.5652 6.92225 16.4893C6.89082 16.4134 6.87465 16.3321 6.87465 16.25C6.87465 16.1679 6.89082 16.0865 6.92225 16.0107C6.95368 15.9348 6.99974 15.8659 7.05781 15.8078L12.8664 9.99998L7.05781 4.19217C6.94053 4.07489 6.87465 3.91583 6.87465 3.74998C6.87465 3.58413 6.94053 3.42507 7.05781 3.30779C7.17508 3.19052 7.33414 3.12463 7.5 3.12463C7.66585 3.12463 7.82491 3.19052 7.94218 3.30779L14.1922 9.55779C14.2503 9.61584 14.2964 9.68477 14.3278 9.76064C14.3593 9.83652 14.3755 9.91785 14.3755 9.99998C14.3755 10.0821 14.3593 10.1634 14.3278 10.2393C14.2964 10.3152 14.2503 10.3841 14.1922 10.4422Z' fill='%231C394A' fill-opacity='0.4'/></svg>") no-repeat center;background-size: contain; }
.icon-trash{ display: block; width: 18px; height: 18px; margin: 0 auto; background: url(../images/icon/trash.svg) no-repeat 50% 50%; background-size: cover;}
.icon-remove{ display: block; width: 20px; height: 20px; margin: 0 auto; background: url(../images/icon/remove.svg) no-repeat 50% 50%; background-size: cover;}
.icon-camera{ display: block; width: 18px; height: 18px; margin: 0 auto; background: url(../images/icon/camera.svg) no-repeat 50% 50%; background-size: cover;}
.icon-photo-change{ display: block; width: 18px; height: 18px; margin: 0 auto; background: url(../images/icon/photo_change.svg) no-repeat 50% 50%; background-size: cover;}
.icon-mobile{ display: block; width: 22px; height: 22px; margin: 0 auto; background: url(../images/icon/mobile.svg) no-repeat 50% 50%; background-size: cover;}
.icon-desktop{ display: block; width: 22px; height: 22px; margin: 0 auto; background: url(../images/icon/desktop.svg) no-repeat 50% 50%; background-size: cover;}

.icon-link{ display: block; width: 22px; height: 22px; margin: 0 auto; background: url(../images/icon/link.svg) no-repeat 50% 50%; background-size: cover;}
.text-link:hover{cursor: pointer; --btn-color: var(--link-point); color: var(--link-point) !important;}

.text-link-icon{cursor: pointer;}
.text-link-icon::after{content: ''; position: relative; top: 3px; display: inline-block; width: 16px; height: 16px; background: url(../images/icon/modify.svg) no-repeat 50% 50%; background-size: cover; padding-left: 10px;}
.text-link-icon:hover{color: var(--link-point) !important;}
.text-link-icon:hover::after{background: url(../images/icon/modify_on.svg) no-repeat 50% 50%; background-size: cover;}

.text-link-icon.blank::after{background: url(../images/icon/link_target_blank.svg) no-repeat 50% 50%; background-size: cover;}
.text-link-icon.blank:hover::after{background: url(../images/icon/link_target_blank_on.svg) no-repeat 50% 50%; background-size: cover;}

.text-link-icon.data-add::after{background: url(../images/icon/data_add.svg) no-repeat 50% 50%; background-size: 16px; padding-left: 24px;}
.text-link-icon.data-add:hover::after{background: url(../images/icon/data_add_link.svg) no-repeat 50% 50%; background-size: 16px;}
.text-link-icon.data-add span::after{content: ','; padding: 0 3px;}
.text-link-icon.data-add span:last-child::after{display: none;}

.toggle-cell{ display:flex; justify-content:center; align-items:center; width:100%;}
.toggle-switch-area{width:100%; height: 100%; display: flex; justify-content: center; align-items: center;}
.table-list-view .toggle-switch-area{width:fit-content;}
.toggle-switch { position: relative; display: inline-block; width: 45px; height: 18px; margin: 0 auto;}
.toggle-switch .switch-btn { display: none;}

.switch-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #9d98a1; transition: .4s; border-radius: 34px; }
.switch-slider:before { position: absolute; content: ""; height: 12px; width: 12px; left: 3px; bottom: 3px; background-color: #ffffff; transition: .4s; border-radius: 50%; }
.switch-btn:checked+.switch-slider { background-color: var(--secondary);}
.switch-btn:focus+.switch-slider { box-shadow: 0 0 1px  var(--secondary); }
.switch-btn:checked+.switch-slider:before { transform: translateX(24px); }
.switch-slider::after { content: "OFF"; display: inline-block; line-height: 100%; position: absolute; top: 50%; left: calc(100% - 25px); transform: translateY(-50%); font-size: 11px; letter-spacing: -0.5px; color: #ffffff; }
.switch-btn:checked+.switch-slider::after {content: "ON"; color: var(--primary); font-weight: 700; left: 8px; color: #fff; letter-spacing: normal;}
.switch-btn:disabled+.switch-slider { background-color:  #cddddd; cursor:default;}

.no-results-warp{text-align: center; padding: 60px 0 100px 0;}
.no-results-warp .visual{width: 300px; margin: 0 auto; height: 200px; background: url(../images/no_results_img.gif) no-repeat 50% 50%; background-size: cover;}
.no-results-warp .title{color: #5a5c69; font-weight: 800; font-size: 1.5rem; margin: 0 0 5px 0;}
.no-results-warp .text{color: #b7b9cc; font-weight: 500; font-size: 1rem;}

.side-content-container{display: flex; align-items: flex-start; gap: 10px; align-self: stretch; width: 100%;}
.side-content-container .content-sidebar{display: flex; min-height: 700px; padding: 20px; flex-direction: column; align-items: center; gap: 10px; border-radius: 10px; background: #FFF; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10);}
.side-content-box{width: 100%; background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 15px; min-height: 750px;}
.side-content-filed{width: 100%;}

.side-content-container.combine-area{width: 100%; background: #fff; border: 1px solid #ddd; border-radius: 0 8px 8px 8px; padding: 20px;}
.side-content-container.combine-area .content-sidebar{box-shadow: none; border-right: 1px solid #ddd; border-radius: 0; padding: 0 20px 0 0; margin-right: 10px;}
.side-content-container.combine-area .side-content-box{border: none; padding: 0 0 0 0;}

.textarea-counter { position: relative; width: 100%; }
.textarea-counter__field { padding-bottom: 26px;}
.textarea-counter__count { position: absolute; right: 12px; bottom: 3px; font-size: 12px; color: #999; pointer-events: none; }
.textarea-counter__count .current {font-variant-numeric: tabular-nums; color: #000;}


.upload-method { display: flex; align-items: stretch; gap: 12px; font-size: 14px; }
.upload-method__options { display: flex; align-items: center; gap: 16px; } 
.upload-option { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.upload-option input { display: none; }
.upload-option__radio { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #333; box-sizing: border-box; position: relative; }
.upload-option.active .upload-option__radio::after { content: ""; position: absolute; inset: 3px;  border-radius: 50%; background: #333; }
.upload-option--file:not(.active) .upload-option__btn { opacity: 0.4; cursor: default; pointer-events: none; }
.upload-option__btn { margin-left: 6px; padding: 4px 10px; border-radius: 4px; border: 1px solid #f08300; background: #fff; color: #f08300; font-size: 13px; cursor: pointer; }
.upload-option--file:not(.active) .upload-option__btn { opacity: 0.4; cursor: default; pointer-events: none; }
.upload-method__content { flex: 1; }
.upload-panel { display: none; }
.upload-panel.active { display: block; }
.upload-file-box { border: 1px solid #ddd; border-radius: .25rem; padding: 10px 16px; background: #fafafa; display: flex; justify-content: space-between; align-items: center; margin: 9px 0 8px 0; }
.upload-file-text { width: 100%; display: flex; justify-content: space-between; gap: 12px;}
.upload-file-text .file-name { color: #666; }
.upload-file-text .file-help { color: #999; font-size: 12px; white-space: nowrap; }


.side-division-layout { display: flex; gap: 10px;}
.side-division-left { width: 400px; flex-shrink: 0;}
.side-division-left.w600 { width: 600px;}
.side-division-right { flex: 1;}

.side-division-left .list-search-box{padding: 10px 0 0 0; box-shadow: none;}
.side-division-left .list-search-box .btn { width: 140px; height: 36px; display: flex; justify-content: center; align-items: center; font-size: 15px;}

.side-content-container .list-search-box{padding: 0 0 0 0; box-shadow: none;}
.side-content-container .list-search-box .btn{box-shadow: none; min-width: 100px; font-weight: 600;}

.access-control-area{width: 100%;}
.access-control-area .info-architecture-box{ margin-bottom: 20px; }
.access-control-area .info-architecture-box .depth-main{ background: #f4f4fb; padding: 10px; font-weight: 700; border-radius: 6px; font-size: 15px; display: flex; justify-content: space-between; align-items: center;}
.access-control-area .info-architecture-box .depth-sub{display: flex; justify-content: space-between; align-items: center; padding: 10px 10px 10px 20px; border-bottom: 1px solid #eee; }

.cont-search-box{display: flex; flex-direction: column; gap: 20px; width: 210px;}
.cont-search-box .search-input{display: flex; flex-direction: column; gap: 7px;}
.cont-search-box .search-input .btn{height: 42px; font-size: 15px; font-weight: 600; padding: 10px 0 8px 0;}
.cont-search-box .search-student-list{display: flex; flex-direction: column;}
.cont-search-box .btn{padding: 8px 0;}

.student-result-box{display: flex; justify-content: space-between; align-items: center; padding: 3px 3px 4px 3px; cursor: pointer;}
.student-result-box .student-info{display: flex; justify-content: flex-start; align-items: center;}
.student-result-box .icon-gender{display: block; margin: 0 5px 0 0; width: 20px; height: 20px; padding: 4px; border-radius:8px; background: #E5E8FF; overflow: hidden;}
.student-result-box .icon-gender.girl{background: url(../images/thumb_girl.jpg) no-repeat 50% 50%; background-size: cover;}
.student-result-box .icon-gender.boy{background: url(../images/thumb_boy.jpg) no-repeat 50% 50%; background-size: cover;}
.student-result-box .name-en::before{content: '(';}
.student-result-box .name-en::after{content: ')';}
.student-result-box .school-grade{padding-left: 1px;}
.student-result-box .school-grade::before{content: '|'; padding-right: 3px; color: rgba(0, 0, 0, 0.4);}
.student-result-box:hover{background: var(--gray-100);}
.student-result-box.selected {background: var(--gray-100);}


.content-sidebar table{width: 100%;}
.content-sidebar table thead th{background: var(--gray-100); padding: 3px 0; font-weight: 400; text-align: center;}
.content-sidebar table thead th:first-child{border-radius: 5px 0 0 5px;}
.content-sidebar table thead th:last-child{border-radius: 0 5px 5px 0;}
.content-sidebar table tbody th, .content-sidebar table tbody td{padding: 2px 3px; border-right: 1px solid var(--gray-200); text-align: center;}
.content-sidebar table tbody td:last-child{border: none;}

.code-group-title{font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: space-between;}
.code-group-box{display: flex; flex-direction: column; gap: 20px; width: 210px;}
.content-sidebar .code-group-box table thead{margin-bottom: 5px;}
.content-sidebar .code-group-box table tbody th, .content-sidebar .code-group-box table tbody td{padding: 7px 3px; border-right: none; border-bottom: 1px solid var(--gray-200);}
.content-sidebar .code-group-box .group-code-name{font-size: 18px; color: var(--primary);}

.side-content-container .content-sidebar.franchise .cont-search-box,
.side-content-container .content-sidebar.franchise .code-group-box{width: 300px;}

.content-sidebar.transfer-academy{height: 100%;}
.content-sidebar.transfer-academy .cont-search-box{width: 300px;}
.content-sidebar.transfer-academy .pick-student-add{width: 100%; padding: 8px 16px;}
.content-sidebar.transfer-academy .pick-student-add span{display: block;}
.content-sidebar.transfer-academy .pick-student-add span::after{content: '>'; padding-left: 10px;}

.academic-transfer-area { display: none; }
.academic-transfer-area.is-show { display: block; }


.import-files-area{width: 400px; min-height: 710px;}
.thumb-add-area { border: 1px dashed #cbd5e1; border-radius: 8px; background: #f9fafb; height: 710px; text-align: center; color: #6b7280; font-size: 14px; display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 12px; }
.thumb-add-area:hover { background: #f3f4f6; border-color: #94a3b8;}
.thumb-add-btn { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 10%; border: 1px solid #94a3b8; cursor: pointer; transition: all 0.2s; }
.thumb-add-btn::before {content: "+";font-size: 40px; color: #475569; }
.thumb-add-btn:hover { background: #e2e8f0; border-color: #64748b; color: #111827; }

.import-files-area .file-thumb-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 600px; }
.file-thumb-box { width: 100%; aspect-ratio: 1 / 1; border: 1px solid #ddd; border-radius: 3px; background: #f9fafb; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.file-thumb-box img { width: 100%; height: 100%; object-fit: cover; }
.file-thumb-box:hover {border-color: #4b5f7b; background: #000018;}
.file-thumb-box:hover img{opacity: 0.4;}
td.file-thumb-area{background: #f8f8f8 !important; padding: 3px;}
.file-thumb-area .file-thumb-box {max-width: 50px; margin: 0 auto;}
.file-thumb-area .file-thumb-box:hover {border-color:#ddd;}
.file-thumb-area .file-thumb-box:hover img{opacity: 1;}

.content-box{padding: 10px 20px 20px 20px; border-radius: 10px; background: #FFF; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10);}
.content-box.inner-field{min-height: 750px;}
.content-box.full-field{min-height: 825px;}
.content-sub-title{font-size: 18px; font-weight: 700; }

.student-control-box{min-height: calc(100vh - (190px)); border-radius: 10px; flex: 1 0; overflow: hidden; position: relative; top: -1px; background: #FFF; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10); display: flex; justify-content: flex-start; align-items: flex-start;}
.student-control-box .student-info-sidebar{display: flex; background: #FFFBF4; width: 230px; padding: 10px 15px; flex-direction: column; align-items: center; gap: 15px; align-self: stretch;}
.student-control-box .student-info-detail{padding: 10px 20px 30px 20px; width: 100%;}

.student-control-box .no-results-warp{width: 100%; padding: 183px 0;}

.table-student-detail ul{display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px;}
.table-student-detail ul li{width: 50%;}
.table-student-detail table {width: 100%; border-collapse: separate; border-spacing: 5px;}
.table-student-detail table tr{border-bottom: 5px;}
.table-student-detail table tr.h100 td{height: 100px;}
.table-student-detail table th{padding: 3px 5px; vertical-align: middle; width: 100px; height: 34px; text-align: center; font-weight: 400; line-height: 100%; border-radius: 4px; background: #EDEDF6;}
.table-student-detail table td{padding: 3px 10px; vertical-align: middle; font-size: 14px; height: 34px; border-radius: 4px; background: #F9FAFC;}
.table-student-detail table td.column-item-title{width: 100px; text-align: center;}
.table-student-detail table td .tbl-separate-box{display: flex; width: 100%; justify-content: space-between; align-items: center; height: 80px; gap: 5px;}
.table-student-detail table td .tbl-separate-box span{display: flex; justify-content: center; align-items: center; height: 100%; line-height: 120%; text-align: center; white-space: normal; word-break: keep-all; background: #fff; padding: 0 3px;}

.table-student-detail table tr.payment-point th{color: #0057b4; font-weight: 700; color: #0057b4;}
.table-student-detail table tr.payment-point td .form-control{font-size: 18px; font-weight: 700;}

.right-fixed-table table{border-collapse:unset; border-spacing: 5px; width: 100%;}
.right-fixed-table table tr th{padding: 6px 0px; height: 40px; text-align: center; font-weight: 400; line-height: 100%; border-radius: 4px; background: #EDEDF6;}
.right-fixed-table table tr td{padding: 6px 5px; text-align: left; background: #F9FAFC;}
.right-fixed-table table tr td .form-control[type="date"]{width: 120px; min-width: auto;}
.right-fixed-table table tr td .form-select.w-auto{width: auto;}
.right-fixed-table table tr td .w-100{width: 100%;}
.right-fixed-table table tr td .btn{height: calc(1.5em + .4rem + 2px);}
.right-fixed-table table tr.payment-point-line th{color: #0057b4;}
.right-fixed-table table tr.payment-point-line td input{color: #0057b4; font-size: 18px;}
.right-fixed-table input[readonly]{border: none; background: none; padding: 6px 0px;}
.right-fixed-table .course-table tr th, .right-fixed-table .course-table tr td{padding: 0px 5px; height: 34px;}
.right-fixed-table .course-table tr th .btn-list{padding: 3px 6px 2px 4px; min-width: auto;}

.div-section-layout ul{display: flex; justify-content: space-between; align-items: flex-start;}
.div-section-layout ul li{width: 50%;}

.memo-wrap{ width:100%; display: flex; align-items: center; flex-direction: column; gap: 10px; width: 100%;}
.memo-wrap .textarea-btn{ display: flex; justify-content: flex-end; align-items: center; width: 100%;}
.memo-wrap .btn{width: 120px;}
.textarea-box{ position:relative; width: 100%;}
.textarea-box textarea{ width:100%; min-height:240px; box-sizing:border-box; padding:12px 16px 24px 16px; line-height:1.6; resize:vertical; }
.textarea-box textarea.mh200{min-height:200px; }
.textarea-box .char-counter{ position:absolute; right:10px; bottom:10px; font-size:12px; color:#9ca3af; pointer-events:none; }
.textarea-box .char-counter .count::after{ content: '/'; padding: 5px;}

.hr-solid { border : 0px; border-top: 1px solid var(--gray-700); }
.hr-dotted { border : 0px; border-top: 1px dotted var(--gray-700); }
.hr-dashed { border : 0px; border-top: 1px dashed var(--gray-700); }

.result-topline-box{border-top: 1px dashed var(--gray-300); padding-top: 10px; margin-top: 10px;}

.student-info-box{display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%;}
.student-info-box .student-data{display: flex; justify-content: flex-start; align-items: flex-start; gap: 10px; padding: 10px 0;}
.student-info-box .student-data .student-thumb{display: block; overflow: hidden; width: 85px; height: 85px; border-radius: 30px; border: 5px solid #FFF; box-shadow: 0 4px 3px 0 rgba(0, 0, 0, 0.05);}
.student-info-box .student-data .student-thumb img{width: 100%; height: 100%;}
.student-info-box .name{color: var(--secondary); font-size: 18px; font-weight: 700; line-height: 150%; padding: 5px 0 3px 0;}
.student-info-box .meta{color: #000; font-size: 14px; font-weight: 400; line-height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 3px;}
.student-info-box .point-card{display: flex; cursor: pointer; width: 100%; text-align: right; border-radius: 4px; color: #FFF; font-size: 14px; font-weight: 700; line-height: 150%; padding: 10px 12px; align-items: center; justify-content: space-between; border: 4px; background: var(--secondary);}
.student-info-box .point-card .point-state{line-height: 100%; position: relative; padding-right: 10px;}
.student-info-box .point-card .point-state::after{content: ''; display:block; position:absolute; top: -3px; right: -8px; width: 20px; height: 20px; background: url(../images/icon/arrow_right_w.svg) no-repeat 50% 50%; background-size: cover;}

.student-data-btn{width: 100%;}
.student-data-btn .btn{width: 100%; height: 30px;}
.student-data-btn p{display: flex; align-items: center; justify-content: space-between; margin-top: 10px; gap: 10px;}
.student-data-btn p .btn{ padding-left: 0; padding-right: 0;}

.student-icon-menu{ width: 100%;}
.student-icon-menu ul{ width: 100%;display: flex; flex-direction: column; gap: 10px;}
.student-icon-menu ul li{display: flex; justify-content: flex-start; align-items: center; width: 100%; gap: 10px;}
.student-icon-menu .icon-btn{display: flex; width: 60px; height: 58px; padding: 7px 0 5px 0; flex-direction: column; cursor: pointer; justify-content: center; align-items: center; border-radius: 4px; border: 1px solid #979797; background: #FFF;}
.student-icon-menu .icon-btn .icon svg{width: 26px; height: 26px; fill: #3d3d3d;}
.student-icon-menu .icon-btn .text{color: #3D3D3D; font-weight: 600; line-height: 150%; font-size: 13px;}
.student-icon-menu .icon-btn .text.letter-spacing{ letter-spacing: -1px;}
.student-icon-menu .icon-btn:hover{background: #FFFEEA;}
.student-icon-menu .icon-btn.active{ border-color: var(--secondary); background: #FFFEEA;}
.student-icon-menu .icon-btn.active .icon svg{fill: var(--secondary);}

.student-icon-menu .icon-btn.active .text{color: var(--secondary);}

.section-div-table{display: flex; justify-content: space-between; align-items: flex-start; flex: 1 1; gap: 20px; min-height: 300px;}
.section-div-table .section{ width: 100%;}
.section-div-table .section .title{ display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; height: 28px; margin-bottom: 5px;}
.section-div-table .section .title.v-center{align-items: center; padding: 10px 0px 5px 0px; height: auto;}
.section-div-table .section .title-text{ display: flex; justify-content: center; align-items:center; line-height: 100%; gap: 10px; height: 22px;}
.section-div-table .section .title h3{ color: #000; font-size: 18px; font-weight: 600; line-height: 30px;}
.section-div-table .section .title .btn-area{ display: flex; justify-content: center; align-items: center; gap: 10px;}
.section-div-table .section .title .btn{font-style: 13px; line-height: 100%;}
.section-div-table .section .title .form-check{margin: 0 0 0 0;}
.section-div-table .list-search-box{box-shadow: none; padding: 0 0 0 0;}

.title-search-box{display: flex; justify-content: flex-start; align-items:center; gap: 5px;}
.title-search-box .form-select{width: auto; height: 30px;}
.title-search-box .form-control{height: 30px;}
.title-search-box .btn{width: 100px; height: 30px; line-height: 32px;}

.cont-sub-title{display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px;}
.cont-sub-title h5{font-size: 18px; font-weight: 700;}

.section-div-table .list-scroll-table .list-scroll-thead table tr th{height: 30px; padding: 7px 0px 5px 0px;}

.top-btn-area{padding-top: 10px; display: flex; justify-content: flex-start; align-items: center; gap: 10px;}

.list-scroll-table{ width: 100%; overflow: hidden;}
.list-scroll-table tr th,
.list-scroll-table tr td{line-height: 120%; text-align: center; }
.list-scroll-table .list-scroll-thead table{width: 100%;} 
.list-scroll-table .list-scroll-thead{padding-right: 12px; background: #F5F6F8;}
.list-scroll-table .scrollbox{max-height: 350px;}
.list-scroll-table .list-scroll-thead table tr th{background: #F5F6F8; border-left: 1px solid #fff; height: 40px; align-self: stretch; color:#1E1E1E; font-size: 13px; font-weight: 600; line-height: 100%;}
.list-scroll-table .list-scroll-tbody table{width: 100%;}
.list-scroll-table .list-scroll-tbody table tr td{border-bottom: 1px solid #E9E9E9; padding: 3px 0px; height: 30px; font-size: 14px;}
.list-scroll-table .list-scroll-tbody table tr.default td{color: var(--danger);}
.list-scroll-table .list-scroll-tbody table tr:hover td{background: #FFFAF1;}

.list-scroll-table .table-border{border-color:#dee2e6;}
.list-scroll-table .table-border tr th, .list-scroll-table .table-border tr td{font-size: 14px;}
.list-scroll-table .list-scroll-thead .table-border tr th{border-left:none;}

.list-scroll-table .list-scroll-tbody table tr.list-off:hover td{ background: var(--gray-100);}
.list-scroll-table tr.list-off td{color: var(--gray-500); background: var(--gray-100);}
.list-scroll-table tr.list-off td a{pointer-events: none;}
.list-scroll-table tr.list-off td .btn-list{opacity: 0.2;}

.point-charge .ph-type{color: #0000ff;}
.point-charge .ph-money::before{content: '+'; padding-right: 5px;}
.point-deduct .ph-type{color: #ff0000;}
.point-deduct .ph-money{color: #ff0000;}
.point-deduct .ph-money::before{content: '-'; padding-right: 5px;}

.memo-tooltip { display: inline-flex; align-items: center; cursor: pointer; position: relative; top: 4px;}
.memo-tooltip .memo-toggle { display: none; }
.memo-tooltip .memo-cont{ display: none; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); min-width: 120px; padding: 8px 12px 6px 12px; background: rgba(0, 96, 57, 0.9); color: #fff; border-radius: 6px; font-size: 13px; white-space: nowrap; box-shadow: 0 2px 6px rgba(0,0,0,0.2); z-index: 10; }
.memo-tooltip .memo-cont .memo-icon{width: 16px; height: 16px;}
.memo-tooltip .memo-toggle:checked ~ .memo-cont { display: block;}
.memo-tooltip .memo-toggle:checked ~ .icon .memo-icon path {fill: var(--primary); }

.modify-tab{display:flex; align-items: center; justify-content: flex-start; width: 100%; position: relative; bottom: -1px;}
.modify-tab .tab{position: relative; display: flex; align-items: center; cursor:pointer; height: 41px; min-width: 130px; font-size: 15px; font-weight: 600; padding: 11px 13px 7px 15px; color: var(--secondary); gap: 10px; border-radius: 10px 10px 0 0; background: #FFFBF4; border: 1px solid rgba(0, 0, 0, 0.05);}
.modify-tab .tab:hover{ background: #fff8eb;}
.modify-tab .tab.active{ background: var(--secondary); color:#fff; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.10);}
.modify-tab .tab.active:hover{color: rgba(255,255,255,0.9);}
.modify-tab .tab .tab-close{position: absolute; right: 6px; top: 4px; z-index: 1001; cursor:pointer; padding: 5px; display: block;}
.modify-tab .tab .tab-close svg{fill: var(--secondary); width:10px; height:10px }
.modify-tab .tab.active .tab-close svg{fill: #fff;}
.modify-tab .tab .tab-close i{width: 10px; height: 10px; display: block; background: url(../images/icon/tab_close.svg) no-repeat 50% 50%; background-size: 10px;}
.modify-tab .tab.active .tab-close i{ background: url(../images/icon/tab_close_active.svg) no-repeat 50% 50%; background-size: 10px;}
.modify-tab .tab-right-area{position: absolute; top: 0px; right: 20px; display: flex; align-items: center; justify-content: flex-end; gap: 10px;}
.modify-tab .tab-right-area .btn-data-add{height: 30px; font-size: 14px; width: 120px; color: #fff;}

.modify-tab .tab.tab-target{ background: var(--gray-200); color: var(--gray-500); justify-content: center; align-items: center;}
.modify-tab .tab.tab-target.active{ background: var(--gray-800); color: #fff;}

.side-content-filed .modify-tab{margin-left: 10px; }

.class-join-state .title{color: #000; line-height: 100%; font-size: 14px; font-weight: 600; margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between;}
.class-join-state .title p{ display: flex; align-items: center; justify-content: flex-start;}
.class-join-state .title p svg{width: 18px; height: 18px; margin-right: 5px;}
.class-join-box{border-top: 1px solid rgba(0, 0, 0, 0.12); padding: 10px 0;}
.class-join-box .class-name{color: #000; font-size: 14px; font-weight: 700; margin-bottom: 5px; display: flex; align-items: center; justify-content: space-between;}
.class-join-box .class-name.special{color: rgba(230, 0, 19, 1);}
.class-join-box .class-teacher{color: rgba(0, 0, 0, 0.60); font-size: 12px; font-weight: 400;}
.class-join-box .class-teacher svg{width: 14px; height: 14px;}
.class-join-box .class-info{ font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 5px; align-self: stretch;}
.class-join-box .class-info .time::before{content: '/'; font-size: 12px; font-weight: 400; padding-right: 5px;}
.class-join-state .btn{font-size: 12px; letter-spacing: -1px; width: 60px;}

.table{margin-bottom: 0;}
.table-bordered thead td, .table-bordered thead th{ color: #000018; text-align: center; vertical-align: middle; border-bottom-width: 1px; padding: 3px 5px; font-size: 14px; font-weight: 500; background: #F5F6F8;}
.table-bordered tbody th{ padding: 5px 10px; font-size: 14px; font-weight: 500; background: #F8f8f8; text-align: center; vertical-align: middle;}
.table-bordered tbody td{vertical-align: middle; text-align: center; color: #1E1E1E; padding: 3px 5px; line-height: 23px; min-height: 30px;}
.table-bordered tfoot th{ padding: 3px 10px; font-size: 14px; font-weight: 500; background: var(--gray-100); text-align: center; vertical-align: middle;}
.table-bordered tfoot td{vertical-align: middle; text-align: center; color: rgba(0, 0, 0, 0.8); padding: 3px 5px; font-weight: 600; min-height: 30px; background: var(--gray-100);}

.table-bordered tfoot.tfoot-total th, .table-bordered tfoot.tfoot-total td{background: #ecffed; font-weight: 600;}
.table-bordered tfoot.tfoot-total input{display: inline-block;}
.table-bordered tfoot.tfoot-total input:read-only{ font-weight: 600;}

.table-bordered thead th.point-bg01{background-color: rgba(0, 96, 57, 0.2);}
.table-bordered tbody td.point-bg01{background-color: rgba(0, 96, 57, 0.06);}
.table-bordered tfoot td.point-bg01{background-color: rgba(0, 96, 57, 0.1);}

.table-bordered thead th.point-bg02{background-color: rgba(255, 123, 0, 0.2);}
.table-bordered tbody td.point-bg02{background-color: rgba(255, 123, 0, 0.1);}
.table-bordered tfoot td.point-bg02{background-color: rgba(255, 123, 0, 0.15);}

.table-bordered.hover tr:hover td{background: rgba(0, 96, 57, 0.05);}


.table-list-view .table-bordered tbody tr td{text-align: left; min-height: 40px; padding: 5px 10px;}
.table-list-view .table-bordered tr.view{border: none;}
.table-list-view .table-bordered tr.view td{padding: 0 0 0 0;}
.table-list-view .table-bordered tr.view .editor-content{width: 100%; border: none; outline: none; padding: 15px 10px;}
.table-list-view .form-select{width: auto;}
.table-list-view .form-select.w100{width: 100%;}
.table-list-view .form-select.w200{width: 200px;}
.table-list-view .form-select.w300{width: 300px;}
.board-view-contener{min-height: 300px}
.board-view-contener.mh200{min-height: 200px}
.board-view-contener.mh100{min-height: 100px}

.table-bordered thead tr th.table-textarea-view, .table-bordered tbody tr td.table-textarea-view{padding: 0 0 0 0;}
.table-bordered tbody tr td.table-textarea-view .memo-wrap{gap: 0px;}
.table-bordered tbody tr td.table-textarea-view textarea{border-color: #fff; min-height: 300px;}
.table-bordered tbody tr td.table-textarea-view .textarea-box-guide{text-align: left; padding: 15px 10px; width: 100%; display: block; font-size: 12px; background-color: var(--gray-200);}
.table-bordered tbody tr td.table-textarea-view .textarea-box-guide p{margin-bottom: 10px;}
.table-bordered tbody tr td.table-textarea-view .textarea-box-guide .type{color: #0057b4;}

.table-enhanced{padding: 10px 5px;}
.table-enhanced table{width: 100%;}

.table-hover{font-size: 14px; }
.table-hover tbody tr:first-child th, .table-hover tbody tr:first-child td{border-top:none;}
.table-hover thead tr th, .table-hover thead tr td{background: #f0f1f5; text-align: center; border: none; color: #1E1E1E; font-weight: 600; padding: 5px 5px 5px 5px;}
.table-hover tbody tr th, .table-hover tbody tr td{text-align: center; border-color: #E9E9E9; padding: 5px 5px 5px 5px; line-height: 20px;}
.table .consul-status{display: inline-block; width: 70px;}

tr.td-disabled td{background: var(--gray-200); color: rgba(0, 0, 0, .4);}
tr.td-disabled td span{opacity: 0.3;}
tr.td-disabled:hover td{background: var(--gray-200) !important; color: rgba(0, 0, 0, .4);}
tr.td-disabled td input,
tr.td-disabled td select,
tr.td-disabled td textarea { pointer-events: none; opacity: 0.5;}

.class-detail-view{display: flex; flex-direction: column;}

.btn-warp{position: relative; display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 20px;}
.btn-warp.left{justify-content: left;}
.btn-warp.right{justify-content: right;}
.btn-warp.between{justify-content: space-between;}
.btn-warp .btn-area{display: flex; justify-content: center; align-items: center; gap: 10px;}
.btn-warp .btn{width: 150px; height: 40px; font-weight: 600; font-size: 16px; display: flex; justify-content: center; align-items: center;}
.btn-warp .btn-primary:active{color: var(--primary);}

#attendanceRegister, #attendanceStatus { display: none; }
#attendanceRegister.active, #attendanceStatus.active { display: block; }

.table-tab { display: flex; align-items: center; gap: 24px; border-bottom: 1px solid #e5e7eb; margin-bottom: 10px; }
.table-tab .tab { position: relative; padding: 6px 2px; font-size: 15px; color: #6b7280; cursor: pointer; transition: color 0.2s ease; }
.table-tab .tab:hover { color: #374151; }
.table-tab .tab.active { color: #111827; font-weight: 700; } 
.table-tab .tab.active::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 2px; background-color: #111827; border-radius: 2px; }
.table-tab .tab { user-select: none; }

.table input[readonly]{border: none; background: none;}
.table thead .calendar-daily-area th{ padding: 3px 0px; width: 30px;}
.table tbody .calendar-attendance-status td{ padding: 3px 0px; width: 30px;}
.table .date-small-text{font-size:10px; color:#374151;}
.table .date-small-text.sat{color:#2563eb;} /* 토요일 */
.table .date-small-text.sun{color:#ef4444;} /* 일요일 */
.table td.today{background:#fff7e6; font-weight: 700;}

.table tbody .calendar-reviewtest-cont th{background: #fff;}
.table tbody .calendar-reviewtest-cont .average{background: #fffee7;}
.table tbody .calendar-reviewtest-cont-average th, .table tbody .calendar-reviewtest-cont-average td{background: #fffee7;}
.table tbody .calendar-reviewtest-cont-average .average{background: #fffcc5;}
.table tfoot .calendar-reviewtest-cont-average th, .table tfoot .calendar-reviewtest-cont-average td{background: #e9ffe9; padding: 10px 5px;}
.table tfoot .calendar-reviewtest-cont-average .average{background: #d7ffd7;}

.btn-warp .btn.w-auto{width: auto; min-width: 100px;}
.btn-warp .fix-left{position: absolute; left: 0; top: 0;}

.icon-blank-link{width: 18px; height: 18px; display: block; margin: 0 auto;}
.icon-blank-link i{width: 18px; height: 18px; margin: 0 0 0 0; padding: 0 0 0 0; display: block;}
.icon-blank-link i.icon-youtube{background: url(../images/icon/youtube.svg) no-repeat 50% 50%; background-size: 18px;}
.icon-blank-link i.icon-page-link{background: url(../images/icon/link.svg) no-repeat 50% 50%; background-size: 18px;}
.icon-blank-link.inactive i.icon-page-link{opacity: 0.4;cursor: default;}

.popup-site-show-area{display: flex; flex-direction: row; gap: 10px; align-items: center;}
.popup-site-pick .popup-site-grid{ display: grid; grid-template-columns: repeat(3, 24px);}
.popup-site-pick .popup-site-num{ position: relative; display: block; cursor: pointer; }
.popup-site-pick .popup-site-num input{ position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.popup-site-pick .num-box{ display: flex; align-items: center; justify-content: center; margin-left: -1px; margin-top: -1px; border: 1px solid #cfcfd6; width: 24px; height: 20px; line-height: 100%; background: #fff; font-size: 12px; font-weight: 600; color: #333; user-select: none; }
.popup-site-pick .popup-site-num input:checked + .num-box{ background: #2f6bff; border-color: #2f6bff; color: #fff; }
.popup-site-pick .popup-site-num input:disabled + .num-box{ background: #f1f1f1; border-color: #cfcfd6; color: #aaa; cursor: not-allowed; }
.popup-site-pick .popup-site-num:has(input:disabled){ cursor: not-allowed; }
.popup-site-pick .popup-site-num input:disabled:checked + .num-box{ background: #cfd8ff; border-color: #cfd8ff; color: #666; }
.popup-site-pick--viewer{display: flex; justify-content: center; align-items: center;}
.popup-site-pick--viewer .popup-site-num{ cursor: default; }
.popup-site-pick--viewer .popup-site-num.is-selected .num-box{ background: #45464a; border-color: #45464a; color: #fff; }

.object-choose-list .title{width: 30px; text-align: center; font-weight: 600; font-size: 13px;}
.object-choose-list ul li{display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px;}
.object-choose-list ul li:last-child{margin-bottom: 0;}
.object-choose-box{width: 100%; min-width: 170px; display: flex; align-items: center; background: #fff; justify-content: space-between; flex: 1 1 0; height: calc(1.5em + .4rem + 2px); border-radius: .15rem; padding: 6px 6px 6px 12px; border: 1px solid #ced4da; border-radius: 0.375rem;}
.object-choose-box.lg{height: calc(1.8em + .75rem + 2px);}
.object-choose-box.disabled { background: var(--gray-200); pointer-events: none; opacity: 0.6; height: 35px;}
.object-choose-box.disabled .selected-text span{display: none;}
.object-choose-box.disabled .icon-btn{opacity: 0.4;}
.object-choose-box .selected-text { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 0;}
.object-choose-box .selected-text span{display: inline-block;}
.object-choose-box .selected-text span::after{content: ','; padding: 5px 0 0 3px;}
.object-choose-box .selected-text span:last-child::after{display: none;}
.object-choose-box .icon-btn-area{display: flex; align-items: center; justify-content: center; position: relative; z-index: 999;}
.object-choose-box .icon-btn-area #chooseInput{display: none;}
.object-choose-box .icon-btn {width: 18px; height: 18px; display: block; cursor: pointer;}
.object-choose-box .icon-btn.data-add-modal{background:url(../images/icon/data_add.svg) no-repeat 50% 50%; background-size: cover;}
.object-choose-box .icon-btn:hover.data-add-modal{background:url(../images/icon/data_add_on.svg) no-repeat 50% 50%; background-size: cover;}
.object-choose-box .text-input{width: 100%; border: none; outline: none;}
/*.object-choose-box .icon-btn.data-clear{background:url(../images/icon/data_clear.svg) no-repeat 50% 50%; background-size: cover;}
.object-choose-box .icon-btn:hover.data-clear{background:url(../images/icon/data_clear_on.svg) no-repeat 50% 50%; background-size: cover;}*/


.icon-btn.data-clear{display: flex; justify-content: center; align-items: center; width: 18px; height: 18px;}
.icon-btn.data-clear::after{ background: rgba(0, 0, 0, .8); content: 'X'; font-size: 8px; color: #fff; width: 12px; height: 12px; line-height: 12px; text-align: center; border-radius: 50%;}
.icon-btn:hover.data-clear::after{ background: rgba(0, 0, 0, 1);}

.inline-area{ display: flex; align-items: center; justify-content:center; gap: 10px;}
.inline-area.left{justify-content: flex-start;}
.inline-area.right{justify-content: flex-end;}
.listtop-point-box{margin-bottom: 10px;}

.justify-box-between{display: flex; align-items: center; justify-content: space-between;}
.justify-box-center{display: flex; align-items: center; justify-content: center;}
.justify-box-left{display: flex; align-items: center; justify-content: flex-start;}
.justify-box-right{display: flex; align-items: center; justify-content: flex-end;}

.gap05{gap: 5px;}
.gap10{gap: 10px;}
.gap20{gap: 20px;}
.gap30{gap: 30px;}

.inline-form-area{ display: flex; align-items: center; justify-content: flex-start; padding-left: 5px;}
td .inline-form-area{padding-left: 0px;}
.form-check-inline{ display: flex; align-items: center; justify-content: center;}

.image-upload-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 10px;}
.image-upload-container .image-box { position: relative; background: var(--gray-100); border: 1px solid var(--gray-200);  color: #fff; display: flex; justify-content: center; align-items: center; height: 200px; border-radius: 4px; overflow: hidden; }
.image-upload-container .image-box img { width: 100%; height: 100%; object-fit: cover; }
.image-upload-container .image-box .btn-area { position: absolute; bottom: 6px; right: 6px; display: flex; gap: 4px; }
.image-upload-container .btn-area .btn-delete,
.image-upload-container .btn-area .btn-change {font-size: 14px; color: #fff; padding: 2px 8px; font-size: 12px; border-radius: 4px; border: none; cursor: pointer; margin-bottom: 0;}
.image-upload-container .btn-change { background: rgba(0, 0, 0, 0.30); }
.image-upload-container .btn-delete { background: rgba(255, 0, 0, 0.60);}
.image-upload-container input[type="file"] { display: none;}
.image-upload-container .image-add-btn label { width: 100%; height: 100%; cursor: pointer; font-size: 18px; border-radius: 50px; font-weight: 400; background: rgba(0, 0, 0, 0.15); padding: 20px 50px;}

.list-lesson-plan{display: inline-flex; align-items: center; justify-content: center;}
.list-lesson-plan span{display: block; text-align: center; font-weight: 600; line-height: 100%; height: 20px; position: relative;}
.list-lesson-plan span.level{background: var(--primary); color: #fff; width: 85px; letter-spacing: 1px; padding: 3px 0; font-weight: 600; }
.list-lesson-plan span.subject{border: 3px solid var(--primary); color: var(--primary); width: 40px; padding: 0 5px; font-weight: 700; }
.list-lesson-plan span.class{ padding: 3px 0; width: 50px; background: #D9FFF0; font-size: 12px; display: block; color: var(--primary); padding: 5px 5x 3px 5px; }

.thumb-display{width: 160px; height: 40px; margin: 0 auto; overflow: hidden; border: 1px solid var(--gray-200); background: #F7F9FA; position: relative;}
.thumb-display.pc{width: 160px; height: 40px;}
.thumb-display.mo{width: 35px; height: 40px;}
.thumb-display.store{width: 70px; height: 48px;}
.thumb-display.popup{ width: 55px; height: 60px;}
.thumb-display img{width: 100%; height: 100%;}
.thumb-display .default-label{ position: absolute; top: 3px; right: 3px; background-color: #444946; color: #fff; padding: 5px 7px; border-radius: 5px; font-size: 12px; font-weight: 500; line-height: 100%; }

.file-uplode-box{width: 100%; text-align: left; display: flex; align-items:flex-end; gap: 10px;}
.file-uplode-box .thumb-display{margin: 0 0;}
.file-uplode-box .thumb-display.store{width: 130px; height: 90px;}
.file-uplode-box .thumb-display.pc{width: 120px; height: 60px;}
.file-uplode-box .thumb-display.mo{width: 50px; height: 60px;}
.file-uplode-box .btn-file-uplode label{margin-bottom: 0; width: auto;}
.file-uplode-box #file-uplode, .file-uplode-box #banner-image{display: none;}

.btn-filebox label{cursor: pointer; margin-bottom: 0;}
.btn-filebox input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip:rect(0,0,0,0); border: 0; }

.title-breadcrumb {font-size: 16px; color: rgb(21, 19, 48); background-color: #eaeaff; border:1px solid rgba(0, 0, 0, 0.1); font-weight: 600; text-align: center; padding: 10px 0; border-radius: 7px;}
.title-breadcrumb .line-box{display: inline-block;}
.title-breadcrumb .line-box::after{content: '|'; padding: 0 10px; color: rgba(0, 96, 57, 0.6); font-weight: 400;}
.title-breadcrumb .local-nav-flow span::after{content: '>'; padding: 0 3px;}
.title-breadcrumb .local-nav-flow span:last-child::after{display: none;}

.modal-header{padding: 20px 20px 15px 20px}
.modal .modal-breadcrumb {margin-bottom: 20px; font-size: 16px; color: rgba(0, 96, 57, 1); background-color: #f4fefa; border:1px solid rgba(0, 96, 57, .1); font-weight: 600; text-align: center; padding: 10px 0; border-radius: 7px;}
.modal .modal-breadcrumb .line-box{display: inline-block;}
.modal .modal-breadcrumb .line-box::after{content: '|'; padding: 0 10px; color: rgba(0, 96, 57, 0.6); font-weight: 400;}
.modal .modal-breadcrumb .local-nav-flow span::after{content: '>'; padding: 0 3px;}
.modal .modal-breadcrumb .local-nav-flow span:last-child::after{display: none;}
.modal .modal-footer .btn{font-size: 16px; padding: 10px 20px;}
.modal .modal-footer .btn-basic{min-width: 100px;}
.modal .table, .modal .datatable-table{margin-bottom: 0;}
.modal .list-scroll-table .list-scroll-thead .table-border tr th{height: 30px;}
.modal-footer{padding: 15px 20px 20px 20px;}

.modal-footer.between{justify-content: space-between;}


.add-form-list{display: flex; flex-direction: column; gap: 10px;}
.add-form-list ul li{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.add-form-list ul li .remove-btn { display: block; width: 18px; height: 18px; border: none; background: url(../images/icon/data_clear.svg); background-size: cover;}
.add-form-list ul li .form-select{width: 70px;}
.add-form-list .add-btn { display: block; width: 150px; padding: 5px 15px; font-size: 16px; cursor: pointer; border: 1px solid #ccc; background-color: #fff; border-radius: 20px; margin: 0px auto 0 auto; }
.add-form-list .add-btn:hover { background-color: #f0f0f0;}
.add-form-list-title{padding-right: 80px; font-weight: 600;}

.form-list-area{display: flex; flex-direction: column; gap: 10px;}
.form-list-area dl{display: flex; align-items: center; justify-content: flex-start; flex: 1 0; width: 100%;}
.form-list-area dl dt{width: 170px; font-weight: 500;}
.form-list-area dl dd{width: 100%; text-align: left;}
.form-list-area .guide-box{font-size: 12px; padding: 3px 0 0 4px;}
.form-list-area .guide-text{font-size: 12px; padding: 0 0 0 4px;}
.form-list-area ul{display: flex; flex-direction: column; gap: 10px;}
.form-list-area dl.va-top{align-items: flex-start;}
.form-list-area dl.va-top dt{padding-top: 10px;}
.form-list-area dl.va-top dd{display: flex; flex-direction: column; gap: 5px; justify-content: flex-start;}

.form-list-area dl.ui-column{flex-direction: column;}
.form-list-area dl.ui-column dt{width: 100%;}

.favorite-list-area{display: flex; flex-direction: column;}
.favorite-list-area .favorite-list-box{display: flex; padding: 10px 0; align-items: center; justify-content:space-between; border-bottom:1px solid var(--gray-200) ;}
.favorite-list-area .favorite-list-box:last-child{border: none;}
.favorite-list-area .favorite-list-box .menu-name{font-size: 16px; font-weight: 600;}

.security-mode-box{background: url(../images/icon/security_mode_lock.svg) no-repeat 50% 0; background-size: 70px; padding-top: 85px;}
.security-mode-box h5{font-size: 18px; text-align: center; margin-bottom: 20px;}

.report-box-area{width: 700px; min-height: 849px; margin: 30px auto; padding: 40px 30px; border: 1px solid var(--gray-300); border-radius: 6px; box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.05);}
.report-box-area .report-title{margin-bottom: 20px; font-size: 24px; font-weight: 700; width: 100%; text-align: center;}
.report-box-area .report-info{display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 14px;}
.report-box-area .report-info .name{width: 30%; text-align: left;}
.report-box-area .report-info .school{width: 40%; text-align: center;}
.report-box-area .report-info .year{width: 30%; text-align: right;}
.report-box-area .report-cont img{width: 100%;}


.treemenu-box-area{display: flex; flex-direction: column; gap: 20px; width: 210px; min-height: 590px;}
.treemenu-box { font-size: 14px; line-height: 1.5;}
.treemenu-box ul { list-style: none; margin: 0; padding-left: 6px; }
.treemenu-box ul:first-child{padding-left: 0;}
.treemenu-box ul > li { padding: 6px 0 6px 6px; border-radius: 6px; color: var(--gray-800);}
.treemenu-box input[type="checkbox"] { display: none; }
.treemenu-box label { position: relative; padding-left: 24px; cursor: pointer; display: inline-block; transition: color 0.2s, background 0.2s;}
.treemenu-box ul > li label{ font-weight: 600;}
.treemenu-box ul li label{ color: #0057b4; font-weight: 400;}
.treemenu-box ul li ul li label{color: #000018; font-weight: 300;}
.treemenu-box ul li ul li label.active { color: var(--dark); font-weight: 600;}
.treemenu-box label::before { position: absolute; top: 50%; left: 0; content: ""; width: 16px; height: 16px; transform: translateY(-50%); background: url(../images/icon/arrow_right.svg) no-repeat 50% 50%; background-size: 14px; opacity: 0.7; }
.treemenu-box input[type="checkbox"]:checked + label::before { background: url(../images/icon/arrow_btm.svg) no-repeat 50% 50%; background-size: 14px; opacity: 0.9; }
.treemenu-box input[type="checkbox"]:checked + label{font-weight: 600;}
.treemenu-box input[type="checkbox"] ~ ul { display: none; margin: 8px 0 0 0;}
.treemenu-box input[type="checkbox"]:checked ~ ul { display: block; }
.treemenu-box li.no-children label::before { content: ""; background: none !important; width: 16px; height: 16px; opacity: 0.4; border-right: 2px solid #bbb; margin-right: 4px; }
.treemenu-box ul li.assist-set-class label{ color: #b40000;}
.treemenu-box ul li.assist-set-class ul li label{color: #000018; font-weight: 300;}


.class-detail-section { display: none; }
.class-detail-section.active { display: block; }
.treemenu-box .class-tab.active { font-weight: 700;}
.class-detail-view .class-detail-section-title{margin-bottom: 10px; font-size: 20px;}
.class-detail-view .class-detail-section-title .class-title { font-weight: 500;}
.class-detail-view .class-detail-section-title .class-section-title{ font-weight: 600;}
.class-detail-view .class-detail-section-title .class-section-title::before{content: '|'; padding: 0 5px; opacity: 0.6; font-weight: 400;}

.att-status-box{display: flex; justify-content: center; align-items: center; gap: 10px;}
.att-check::before{content: '✓';}/*출석*/
.att-present::before{content: '○';}/*출석*/
.att-late::before{content: '△';}/*지각*/
.att-absent::before{content: 'X'; color: var(--danger);}/*결석*/
.att-leave::before{content: '◐';}/*조퇴*/

.week-pick-group { display: flex; gap: 3px; justify-content: space-between; align-items: center;}
.week-pick-group input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.week-pick-group input[type="checkbox"]:checked + .day-pick-btn { background: rgba(0, 0, 0, 1); border-color: rgba(0, 0, 0, 1); color: #fff; font-weight: 600; box-shadow: 0 2px 6px rgba(25,118,210,0.2); }
.day-pick-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--gray-300); display: flex; align-items: center; justify-content: center; color: var(--dark); cursor: pointer; transition: all 0.2s ease; background: #fff; user-select: none; font-weight: 400; }
.day-pick-btn:hover { border-color: rgba(0, 0, 0, 0.8); color: rgba(0, 0, 0, 0.8); font-weight: 600;}


.modify-input-box{display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--gray-500); padding: 0 5px; background: #fff; border-radius: 5px; overflow: hidden;}
.modify-input-box input{border: none; outline: none; width: 100%;}
.modify-input-box .save{background-size: contain; background-repeat: no-repeat; background-position: center;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M19.5 3H4.5C4.10218 3 3.72064 3.15804 3.43934 3.43934C3.15804 3.72064 3 4.10218 3 4.5V19.5C3 19.8978 3.15804 20.2794 3.43934 20.5607C3.72064 20.842 4.10218 21 4.5 21H19.5C19.8978 21 20.2794 20.842 20.5607 20.5607C20.842 20.2794 21 19.8978 21 19.5V4.5C21 4.10218 20.842 3.72064 20.5607 3.43934C20.2794 3.15804 19.8978 3 19.5 3ZM19.5 19.5H4.5V4.5H19.5V19.5ZM15.5306 12.2194C15.6004 12.289 15.6557 12.3717 15.6934 12.4628C15.7312 12.5538 15.7506 12.6514 15.7506 12.75C15.7506 12.8486 15.7312 12.9462 15.6934 13.0372C15.6557 13.1283 15.6004 13.211 15.5306 13.2806L12.5306 16.2806C12.461 16.3504 12.3783 16.4057 12.2872 16.4434C12.1962 16.4812 12.0986 16.5006 12 16.5006C11.9014 16.5006 11.8038 16.4812 11.7128 16.4434C11.6217 16.4057 11.539 16.3504 11.4694 16.2806L8.46937 13.2806C8.32864 13.1399 8.24958 12.949 8.24958 12.75C8.24958 12.551 8.32864 12.3601 8.46937 12.2194C8.61011 12.0786 8.80098 11.9996 9 11.9996C9.19902 11.9996 9.38989 12.0786 9.53063 12.2194L11.25 13.9397V8.25C11.25 8.05109 11.329 7.86032 11.4697 7.71967C11.6103 7.57902 11.8011 7.5 12 7.5C12.1989 7.5 12.3897 7.57902 12.5303 7.71967C12.671 7.86032 12.75 8.05109 12.75 8.25V13.9397L14.4694 12.2194C14.539 12.1496 14.6217 12.0943 14.7128 12.0566C14.8038 12.0188 14.9014 11.9994 15 11.9994C15.0986 11.9994 15.1962 12.0188 15.2872 12.0566C15.3783 12.0943 15.461 12.1496 15.5306 12.2194Z' fill='currentColor'/></svg>");
}
.modify-input-box .cancel{  background-size: contain; background-repeat: no-repeat; background-position: center;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M19.5 3H4.5C4.10218 3 3.72064 3.15804 3.43934 3.43934C3.15804 3.72064 3 4.10218 3 4.5V19.5C3 19.8978 3.15804 20.2794 3.43934 20.5607C3.72064 20.842 4.10218 21 4.5 21H19.5C19.8978 21 20.2794 20.842 20.5607 20.5607C20.842 20.2794 21 19.8978 21 19.5V4.5C21 4.10218 20.842 3.72064 20.5607 3.43934C20.2794 3.15804 19.8978 3 19.5 3ZM19.5 19.5H4.5V4.5H19.5V19.5ZM15.5306 9.53063L13.0603 12L15.5306 14.4694C15.6003 14.5391 15.6556 14.6218 15.6933 14.7128C15.731 14.8039 15.7504 14.9015 15.7504 15C15.7504 15.0985 15.731 15.1961 15.6933 15.2872C15.6556 15.3782 15.6003 15.4609 15.5306 15.5306C15.4609 15.6003 15.3782 15.6556 15.2872 15.6933C15.1961 15.731 15.0985 15.7504 15 15.7504C14.9015 15.7504 14.8039 15.731 14.7128 15.6933C14.6218 15.6556 14.5391 15.6003 14.4694 15.5306L12 13.0603L9.53063 15.5306C9.46094 15.6003 9.37822 15.6556 9.28717 15.6933C9.19613 15.731 9.09855 15.7504 9 15.7504C8.90145 15.7504 8.80387 15.731 8.71283 15.6933C8.62178 15.6556 8.53906 15.6003 8.46937 15.5306C8.39969 15.4609 8.34442 15.3782 8.3067 15.2872C8.26899 15.1961 8.24958 15.0985 8.24958 15C8.24958 14.9015 8.26899 14.8039 8.3067 14.7128C8.34442 14.6218 8.39969 14.5391 8.46937 14.4694L10.9397 12L8.46937 9.53063C8.32864 9.38989 8.24958 9.19902 8.24958 9C8.24958 8.80098 8.32864 8.61011 8.46937 8.46937C8.61011 8.32864 8.80098 8.24958 9 8.24958C9.19902 8.24958 9.38989 8.32864 9.53063 8.46937L12 10.9397L14.4694 8.46937C14.5391 8.39969 14.6218 8.34442 14.7128 8.3067C14.8039 8.26899 14.9015 8.24958 15 8.24958C15.0985 8.24958 15.1961 8.26899 15.2872 8.3067C15.3782 8.34442 15.4609 8.39969 15.5306 8.46937C15.6003 8.53906 15.6556 8.62178 15.6933 8.71283C15.731 8.80387 15.7504 8.90145 15.7504 9C15.7504 9.09855 15.731 9.19613 15.6933 9.28717C15.6556 9.37822 15.6003 9.46094 15.5306 9.53063Z' fill='currentColor'/></svg>");
}
.modify-input-box.money{width: 200px; margin: 0 auto;}
.modify-input-box.money input{text-align: center; padding: 5px 0;}
.modify-input-box a{ cursor: pointer; width: 20px; height: 20px; display: inline-block; color: var(--dark);}
.modify-input-box a:hover{color: var(--secondary);}

.table-bordered.timetable .form-control{text-align: center;}
.table-bordered.timetable thead td .form-control{border-color: var(--gray-600); font-weight: 700;}
.table-bordered.timetable thead th .weekly-title{display: flex; justify-content: center; align-items: center; gap: 5px;}
.table-bordered.timetable td{padding: 9px 10px;}
.table-bordered.timetable .th-sat{background:rgba(0, 4, 230, 0.05); color: rgba(0, 4, 230, 1);}
.table-bordered.timetable .td-sat{background:rgba(0, 4, 230, 0.02);}
.table-bordered.timetable .th-sun{background:rgba(230, 0, 19, 0.05); color: rgba(230, 0, 19, 1);}
.table-bordered.timetable .td-sun{background:rgba(230, 0, 19, 0.03);}

.classroom-status-box{font-size: 13px; letter-spacing: -3%; padding: 5px 0 2px 0; display: flex; align-items: center; flex-direction: column; gap: 5px;}
.classroom-status-box div{line-height: 100%;}
.classroom-status-box .level{color: rgba(0, 0, 0, 1);}
.classroom-status-box .classes{color: rgba(0, 0, 0, .8);}
.classroom-status-box .teacher{color: rgba(0, 0, 0, .6);}
.classroom-status-box .week{color: rgba(0, 0, 0, 1);}

.recruit-status-box{ height: 16px; color: rgba(0, 0, 0, 1); display:flex; justify-content: center; align-items: center; padding-left: 20px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><path d='M30.5999 18.7999C30.4948 18.8787 30.3753 18.936 30.2481 18.9686C30.1209 19.0012 29.9885 19.0084 29.8585 18.9898C29.7285 18.9713 29.6034 18.9273 29.4904 18.8604C29.3774 18.7935 29.2787 18.705 29.1999 18.5999C28.5972 17.7897 27.8126 17.1324 26.9094 16.6808C26.0063 16.2292 25.0097 15.996 23.9999 15.9999C23.8032 15.9999 23.611 15.9419 23.4471 15.8332C23.2833 15.7244 23.1551 15.5698 23.0786 15.3886C23.0267 15.2656 23 15.1334 23 14.9999C23 14.8664 23.0267 14.7342 23.0786 14.6111C23.1551 14.43 23.2833 14.2754 23.4471 14.1666C23.611 14.0579 23.8032 13.9999 23.9999 13.9999C24.561 13.9998 25.1108 13.8424 25.5869 13.5456C26.063 13.2487 26.4464 12.8243 26.6934 12.3204C26.9403 11.8166 27.0411 11.2537 26.9841 10.6955C26.9272 10.1373 26.7149 9.60624 26.3713 9.16268C26.0276 8.71911 25.5665 8.3808 25.0403 8.18617C24.514 7.99154 23.9437 7.94839 23.3942 8.06163C22.8446 8.17486 22.3379 8.43994 21.9314 8.82676C21.525 9.21358 21.2352 9.70662 21.0949 10.2499C21.0621 10.3771 21.0045 10.4966 20.9255 10.6016C20.8465 10.7066 20.7475 10.7949 20.6344 10.8617C20.5212 10.9284 20.396 10.9722 20.2659 10.9906C20.1358 11.0089 20.0034 11.0015 19.8761 10.9686C19.7489 10.9358 19.6294 10.8783 19.5244 10.7992C19.4195 10.7202 19.3311 10.6213 19.2644 10.5081C19.1976 10.395 19.1538 10.2697 19.1355 10.1397C19.1171 10.0096 19.1246 9.87712 19.1574 9.7499C19.3521 8.99654 19.7199 8.29902 20.2316 7.71284C20.7433 7.12665 21.3848 6.66799 22.1049 6.37334C22.8251 6.07868 23.6041 5.95618 24.3799 6.01556C25.1558 6.07495 25.9071 6.31459 26.574 6.71541C27.2409 7.11624 27.8051 7.66719 28.2216 8.32442C28.6381 8.98165 28.8955 9.72703 28.9733 10.5012C29.0511 11.2755 28.9471 12.0571 28.6696 12.7841C28.3921 13.511 27.9488 14.1632 27.3749 14.6886C28.7347 15.2774 29.9167 16.2117 30.8036 17.3986C30.8824 17.504 30.9397 17.6238 30.9721 17.7513C31.0045 17.8788 31.0114 18.0114 30.9925 18.1415C30.9736 18.2717 30.9291 18.3969 30.8618 18.5098C30.7944 18.6228 30.7054 18.7214 30.5999 18.7999ZM23.8649 26.4999C23.9372 26.6137 23.9858 26.741 24.0077 26.8741C24.0296 27.0072 24.0243 27.1433 23.9923 27.2743C23.9602 27.4053 23.9019 27.5284 23.821 27.6363C23.7401 27.7442 23.6382 27.8346 23.5214 27.9021C23.4047 27.9696 23.2754 28.0128 23.1416 28.0291C23.0077 28.0453 22.8719 28.0343 22.7424 27.9968C22.6128 27.9592 22.4922 27.8958 22.3878 27.8104C22.2834 27.725 22.1974 27.6194 22.1349 27.4999C21.5049 26.4332 20.6078 25.5492 19.5319 24.9352C18.4561 24.3211 17.2387 23.9981 15.9999 23.9981C14.7611 23.9981 13.5437 24.3211 12.4679 24.9352C11.392 25.5492 10.4948 26.4332 9.86489 27.4999C9.80238 27.6194 9.71633 27.725 9.61194 27.8104C9.50755 27.8958 9.38696 27.9592 9.25743 27.9968C9.1279 28.0343 8.99211 28.0453 8.85822 28.0291C8.72434 28.0128 8.59513 27.9696 8.47836 27.9021C8.3616 27.8346 8.25969 27.7442 8.17878 27.6363C8.09786 27.5284 8.03961 27.4053 8.00752 27.2743C7.97543 27.1433 7.97018 27.0072 7.99206 26.8741C8.01395 26.741 8.06254 26.6137 8.13489 26.4999C9.10439 24.8341 10.5826 23.5232 12.3524 22.7599C11.3566 21.9974 10.6247 20.9421 10.2596 19.7422C9.89461 18.5423 9.91477 17.2581 10.3173 16.0703C10.7198 14.8824 11.4844 13.8506 12.5037 13.1197C13.523 12.3889 14.7457 11.9959 15.9999 11.9959C17.2541 11.9959 18.4768 12.3889 19.4961 13.1197C20.5153 13.8506 21.28 14.8824 21.6825 16.0703C22.085 17.2581 22.1052 18.5423 21.7401 19.7422C21.3751 20.9421 20.6432 21.9974 19.6474 22.7599C21.4171 23.5232 22.8954 24.8341 23.8649 26.4999ZM15.9999 21.9999C16.791 21.9999 17.5644 21.7653 18.2222 21.3258C18.88 20.8863 19.3927 20.2615 19.6954 19.5306C19.9982 18.7997 20.0774 17.9955 19.923 17.2195C19.7687 16.4436 19.3877 15.7309 18.8283 15.1715C18.2689 14.6121 17.5562 14.2311 16.7803 14.0768C16.0043 13.9224 15.2001 14.0016 14.4692 14.3044C13.7383 14.6071 13.1135 15.1198 12.674 15.7776C12.2345 16.4354 11.9999 17.2088 11.9999 17.9999C11.9999 19.0608 12.4213 20.0782 13.1715 20.8283C13.9216 21.5785 14.939 21.9999 15.9999 21.9999ZM8.99989 14.9999C8.99989 14.7347 8.89453 14.4803 8.707 14.2928C8.51946 14.1053 8.26511 13.9999 7.99989 13.9999C7.4388 13.9998 6.88897 13.8424 6.41285 13.5456C5.93673 13.2487 5.55341 12.8243 5.30643 12.3204C5.05945 11.8166 4.9587 11.2537 5.01564 10.6955C5.07258 10.1373 5.28491 9.60624 5.62853 9.16268C5.97214 8.71911 6.43326 8.3808 6.95952 8.18617C7.48577 7.99154 8.05605 7.94839 8.6056 8.06163C9.15514 8.17486 9.66192 8.43994 10.0684 8.82676C10.4748 9.21358 10.7646 9.70662 10.9049 10.2499C10.9712 10.5068 11.1368 10.7269 11.3654 10.8617C11.594 10.9965 11.8667 11.035 12.1236 10.9686C12.3806 10.9023 12.6006 10.7367 12.7354 10.5081C12.8702 10.2796 12.9087 10.0068 12.8424 9.7499C12.6477 8.99654 12.2799 8.29902 11.7682 7.71284C11.2564 7.12665 10.615 6.66799 9.89483 6.37334C9.17467 6.07868 8.39568 5.95618 7.61984 6.01556C6.844 6.07495 6.09273 6.31459 5.4258 6.71541C4.75887 7.11624 4.1947 7.66719 3.77817 8.32442C3.36164 8.98165 3.10425 9.72703 3.02648 10.5012C2.94871 11.2755 3.05271 12.0571 3.3302 12.7841C3.60769 13.511 4.05101 14.1632 4.62489 14.6886C3.26649 15.278 2.08578 16.2122 1.19989 17.3986C1.0406 17.6108 0.972109 17.8776 1.0095 18.1403C1.04689 18.4029 1.18709 18.64 1.39927 18.7993C1.61144 18.9586 1.8782 19.0271 2.14087 18.9897C2.40354 18.9523 2.6406 18.8121 2.79989 18.5999C3.40262 17.7897 4.18716 17.1324 5.09034 16.6808C5.99352 16.2292 6.99011 15.996 7.99989 15.9999C8.26511 15.9999 8.51946 15.8945 8.707 15.707C8.89453 15.5195 8.99989 15.2651 8.99989 14.9999Z' fill='%23101010'/></svg>") no-repeat left center;
  background-size: 16px 16px; background-position: 0 -2px;}
.recruit-status-box.no-icon{background: none; padding-left: 0;}
.recruit-status-box .counting{color: var(--primary); width: 13px; text-align: right; font-weight: 600; font-size: 13px; display: block; position: relative; top: -1px;}
.recruit-status-box .limit{ font-size: 12px; width: 30px; text-align: center;}
.recruit-status-box .limit::before{content: '/'; padding: 0 2px; display: inline-block; font-size: 11px; position: relative; top: -1px;}

.popup-warp{width: 100%; padding: 30px; background-color: #fff;}
.popup-warp .popup-header{padding-bottom: 10px;}
.popup-warp .popup-header .popup-title{font-size: 24px; font-weight: 700;}
.popup-warp .popup-content { position: relative; display: flex; flex-direction: column; width: 100%; }
.popup-warp .popup-footer{display: flex; justify-content: center; align-items: center; gap: 10px;}
.popup-warp .popup-footer .btn{font-size: 16px; padding: 10px 20px; min-width: 100px;}
.popup-warp .table, .popup-warp .datatable-table{margin-bottom: 0;}
.popup-footer{padding: 15px 20px 20px 20px;}
.popup-warp .table-bordered tbody tr td.table-textarea-view textarea{border-color: #fff; min-height: 200px;}

.student-data-text{font-size: 18px; display: flex; justify-content: flex-start; align-items: center; padding: 10px 0;}
.student-data-text::before { content: ''; width: 24px; height: 24px; display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640' fill='%23101010'%3E%3Cpath d='M463 448.2C440.9 409.8 399.4 384 352 384L288 384C240.6 384 199.1 409.8 177 448.2C212.2 487.4 263.2 512 320 512C376.8 512 427.8 487.3 463 448.2zM64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM320 336C359.8 336 392 303.8 392 264C392 224.2 359.8 192 320 192C280.2 192 248 224.2 248 264C248 303.8 280.2 336 320 336z'/%3E%3C/svg%3E");
  background-size: 24px 24px; background-repeat: no-repeat; background-position: center; }
.student-data-text .name{ font-weight: 700;}
.student-data-text .name-en::before{content: '(';}
.student-data-text .name-en::after{content: ')';}
.student-data-text .member-type{font-size: 18px; padding-left: 5px;}

.form-list-box{width: 100%; padding: 10px;}
.form-list-box .form-list-area{width: 100%;}

.select-results-area{ width: 100%; border: 1px solid #ddd; border-radius: 6px; padding: 8px; background: var(--gray-200); }
.select-results-area .select-results-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; font-size: 13px; padding: 5px 10px 5px 10px;}
.select-results-area .select-results-header h5{font-size: 16px; font-weight: 700;}
.select-results-area .select-results-header .reset { color: #0d6efd; cursor: pointer; font-size: 12px; }
.select-results-area .select-results-cont{background: #fff; padding: 10px 5px 10px 10px; border-radius: 10px;  min-height: 700px; }
.tag-box{ display: flex; flex-wrap: wrap; gap: 5px; }
.tag-box .alert{padding: 0 0 0 0; margin:0 0 0 0;}
.tag-box .tag{ font-size: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: #f1f1f1; border: 1px solid #ddd; border-radius: 20px; padding: 2px 5px 2px 8px;}
.tag-box .tag .btn-close { width: 7px; height: 7px; background-size: 7px 7px;}

.memo-view td{padding: 0 0 0 0 !important; background: #fff;}
.memo-view-box{ padding: 5px 10px; display: flex; background: #fffede; justify-content: space-between; align-items: center;}
.memo-view-box .memo-view-cont::before{content: '제목'; color: #412b00; padding-right: 10px; font-weight: 700;}
.memo-view-box .memo-view-cont{font-weight: 400;}
.memo-view-box .memo-btn{ cursor: pointer;
  width: 20px;
  height: 20px;
  display: inline-block;
  background-color: transparent; /* 배경이 필요하면 변경 */
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M505 122.9L517.1 135C526.5 144.4 526.5 159.6 517.1 168.9L488 198.1L441.9 152L471 122.9C480.4 113.5 495.6 113.5 504.9 122.9zM273.8 320.2L408 185.9L454.1 232L319.8 366.2C316.9 369.1 313.3 371.2 309.4 372.3L250.9 389L267.6 330.5C268.7 326.6 270.8 323 273.7 320.1zM437.1 89L239.8 286.2C231.1 294.9 224.8 305.6 221.5 317.3L192.9 417.3C190.5 425.7 192.8 434.7 199 440.9C205.2 447.1 214.2 449.4 222.6 447L322.6 418.4C334.4 415 345.1 408.7 353.7 400.1L551 202.9C579.1 174.8 579.1 129.2 551 101.1L538.9 89C510.8 60.9 465.2 60.9 437.1 89zM152 128C103.4 128 64 167.4 64 216L64 488C64 536.6 103.4 576 152 576L424 576C472.6 576 512 536.6 512 488L512 376C512 362.7 501.3 352 488 352C474.7 352 464 362.7 464 376L464 488C464 510.1 446.1 528 424 528L152 528C129.9 528 112 510.1 112 488L112 216C112 193.9 129.9 176 152 176L264 176C277.3 176 288 165.3 288 152C288 138.7 277.3 128 264 128L152 128z"/></svg>') no-repeat center;
  -webkit-mask-size: contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M505 122.9L517.1 135C526.5 144.4 526.5 159.6 517.1 168.9L488 198.1L441.9 152L471 122.9C480.4 113.5 495.6 113.5 504.9 122.9zM273.8 320.2L408 185.9L454.1 232L319.8 366.2C316.9 369.1 313.3 371.2 309.4 372.3L250.9 389L267.6 330.5C268.7 326.6 270.8 323 273.7 320.1zM437.1 89L239.8 286.2C231.1 294.9 224.8 305.6 221.5 317.3L192.9 417.3C190.5 425.7 192.8 434.7 199 440.9C205.2 447.1 214.2 449.4 222.6 447L322.6 418.4C334.4 415 345.1 408.7 353.7 400.1L551 202.9C579.1 174.8 579.1 129.2 551 101.1L538.9 89C510.8 60.9 465.2 60.9 437.1 89zM152 128C103.4 128 64 167.4 64 216L64 488C64 536.6 103.4 576 152 576L424 576C472.6 576 512 536.6 512 488L512 376C512 362.7 501.3 352 488 352C474.7 352 464 362.7 464 376L464 488C464 510.1 446.1 528 424 528L152 528C129.9 528 112 510.1 112 488L112 216C112 193.9 129.9 176 152 176L264 176C277.3 176 288 165.3 288 152C288 138.7 277.3 128 264 128L152 128z"/></svg>') no-repeat center;
  mask-size: contain;
  background-color: #101010;}


#calendar {width: 100%; height: 100%; margin: 0 auto;}
.calendar-area{min-height: 700px; padding: 10px;}
.calendar-area .fc table{height: 100%;}
.calendar-area .fc-timeGridWeek-view .fc-timegrid-body { display: flex; flex-direction: column; height: 100%; }
.calendar-area .fc-timeGridWeek-view .fc-timegrid-slot { flex: 1; height: auto !important; }
.calendar-area .calendar-area .fc .fc-timegrid-slot { height: auto !important; flex: 1; height: 60px !important;}
.calendar-area .fc-v-event.reservation-available { background:#bcd6ff; border-color:#bcd6ff; color: #000018;}
.calendar-area .fc-v-event.reservation-member { background:#3B82F6; border-color:#3B82F6; }
.calendar-area .fc-v-event.reservation-leveltest { background:#e88000; border-color:#e88000; }
.calendar-area .fc .fc-button-primary{background: #fff; color: #000;}
.calendar-area .fc .fc-button:disabled{opacity: .2; background:rgba(0, 0, 0, 0.15);}
.calendar-area .fc-timegrid-slot { height: calc(100% / 20);}
.calendar-area .fc-col-header-cell-cushion { font-size: 14px; }
.calendar-area .fc-header-date { font-size: 18px; font-weight: bold; color: #333; }
.calendar-area .fc-header-weekday { font-size: 12px; color: #888; }

.calendar-area.holiday .fc-toolbar-chunk{white-space: nowrap; display: inline-flex; align-items: center; gap: 8px;}
.calendar-area.cacademy .fc-toolbar-chunk{white-space: nowrap; display: inline-flex; align-items: center; gap: 8px;}


.counsel-schedule-set{width: 100%;padding-top: 20px; }
.counsel-schedule-set .modal-body {padding:0 0 0 0; position: relative;}
.counsel-schedule-set .modal-body .btn-close{position: absolute; right: 20px;}
.counsel-schedule-set__top {display:flex; gap:8px; justify-content:center;}
.counsel-schedule-set__tab {cursor:pointer; padding:8px 16px; border-radius:999px; font-weight:600; border:1px solid #dee2e6; background:#f8f9fa; color:#6c757d;}
#css-tab-schedule:checked ~ .counsel-schedule-set__top .counsel-schedule-set__tab--schedule {background:#0f7b53; color:#fff; border-color:#0f7b53;}
#css-tab-booking:checked  ~ .counsel-schedule-set__top .counsel-schedule-set__tab--booking  {background:#0f7b53; color:#fff; border-color:#0f7b53;}
.counsel-schedule-set__panels {display:block; }
.counsel-schedule-set__panel {display:none;}
#css-tab-schedule:checked ~ .counsel-schedule-set__panels .counsel-schedule-set__panel--schedule {display:block;}
#css-tab-booking:checked  ~ .counsel-schedule-set__panels .counsel-schedule-set__panel--booking  {display:block;}
.counsel-schedule-set__viewport {height: 600px; overflow-y: auto;}
.counsel-schedule-set__inner {max-width: 100%; margin: 0 auto; padding: 16px;}
.text-title-area{font-size: 16px; font-weight: 600; display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 5px;}
.text-title-area h5{margin-bottom: 20px;}
.schedule-panels{width: 100%; max-width: 450px; margin: 0 auto;}
.schedule-panels .panel {display:none;}
#schedule-single:checked ~ .counsel-schedule-set__panels .panel-single {display:block;}
#schedule-bulk:checked   ~ .counsel-schedule-set__panels .panel-bulk  {display:block;}
.schedule-panels .panel .form-list-area{display: flex; flex-direction: column; gap: 20px;}
.schedule-panels .panel .form-list-area dt{width: 170px;}

.sms-send-area{display: flex; justify-content: center;}
.sms-send-box{ border: 1px solid rgba(16,24,40,.12); width:min(100%,400px); background:#ffffff; border-radius:28px; box-shadow:0 8px 14px rgba(16,24,40,.12); padding: 25px 20px 20px 20px; position:relative;}
.sms-send-box::before{ content:""; position:absolute; left:50%; top:0px; transform:translateX(-50%); width:110px; height:16px; background:#0f172a; border-radius:0 0 12px 12px; opacity:.12;}
.sms-send-box .template-select-field{margin-bottom: 10px;}
.sms-send-box .sender{display: flex; flex-direction: row; align-items: center;}
.sms-send-box .sender label{width: 80px;}

.message-field{ margin-bottom: 10px; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }
.message-field textarea{min-height: 380px; line-height: 140%; border: none; padding: 15px 10px; box-shadow: none;}
.message-field .message-info .meta{ display:flex; gap:8px; align-items:center; justify-content:space-between; padding:4px 12px; background:#f7f9fe; border-top:1px solid #e5e7eb; font-size:12px;}
.message-field .message-info .meta .chip{ padding:4px 8px; border-radius:999px; font-weight:400; background: #eaf2ff; color: #0d6efd; }
.message-field .message-info .guide-text{ background:#f7f9fe; padding: 0px 12px 7px 12px; line-height: 120%; font-size:11px; border-bottom:1px solid #e5e7eb; }
.message-field .message-info .guide-text.left{text-align: left;}
.message-field .message-info .guide-text .point{ color:#ef4444; margin-bottom: 3px;}
.message-field .guide-item{ border: none; border-top:1px solid #e5e7eb; background:linear-gradient(180deg,#fff 0%,#fbfbfb 100%); width:100%; border-collapse:collapse;}
.message-field .guide-item th, .guide-item td{ padding: 5px 10px 3px 10px; border: none; border-top:1px solid #e5e7eb; text-align:left; font-size:12px; }
.message-field .guide-item thead th{ color:#475569; background:#f9fafb; font-weight:600; }
.message-field .guide-item tbody th{ width:25%; color:#334155; font-weight:600; }
.message-field .guide-item tbody td{ color:#334155; }
.message-field .btn-warp {margin: 20px 0 20px 0;}

.modal .message-field{ margin-bottom: 0px;  border-radius:0px; border: none;}
.modal .message-field-box{ margin-bottom: 10px; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }

.message-field.table-in .message-info .meta{font-size: 14px;}
.message-field.table-in .message-info .guide-text{font-size: 13px;}

.search-result{border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.06); background: #FFF;}
.search-result .search-result-title{border-bottom: 1px solid rgba(0, 0, 0, 0.07); display: flex; padding: 10px 10px 6px 10px; justify-content: space-between; align-items: center; align-self: stretch; font-size: 14px; font-weight: 600; }
.search-result .search-result-list{font-size: 13px; padding: 10px 0px 10px 10px; max-height: 400px;}
.search-result .search-result-table{width: 100%; font-size: 14px;}
.search-result .search-result-table thead tr th{font-size: 13px; padding: 4px 5px 3px 5px; background: var(--gray-100); text-align: center;}
.search-result .search-result-table tbody tr td{ padding: 4px 5px 3px 5px; text-align: center;}
.search-result .search-result-table li{margin-bottom: 5px;}
.search-result .search-result-table li:last-child{margin-bottom: 0px;}

.justify-box-title{min-width: 60px;}
.justify-box-btn{min-width: 60px;}

.move-process-area{display: flex; justify-content: center; align-items: center;}
.move-process-area span{display: flex; justify-content: center; align-items: center;}
.move-process-area span::after{content: ''; display: block; margin: 0 3px; width: 14px; height: 14px; background: url(../images/icon/arrow_right2.svg) no-repeat 45% 50%; background-size: 14px;}
.move-process-area span:last-child::after{display: none;}

.question-block[data-type="subjective"] .choice-row{display:none;}
.question-block[data-type="subjective"] .subjective-answer{display:table-row;}
.question-block[data-type="objective"] .choice-row{display:table-row;}
.question-block[data-type="objective"] .subjective-answer{display:none;}

.q-choice-row{display: flex; align-items: center; justify-content: flex-start; gap: 10px;}
.q-choice-row input[type="text"], .q-choice-row .file-upload-area{width: 80%;}

.table-responsive{overflow: visible;}
.table-responsive.test-question .table-bordered tbody td{padding: 7px 10px;}

.tab-panel{display: none;}
.tab-panel.active{display: block;}

.btn-audio{cursor: pointer; display: block; width: 24px; height: 24px; background: url(../images/icon/audio.svg) no-repeat 50% 50%; background-size: cover;}
.btn-audio:active, .btn-audio.on, .btn-audio:hover{background: url(../images/icon/audio_on.svg) no-repeat 50% 50%;}


.audio-check{ position: absolute; opacity: 0; pointer-events: none; }
.audio-check:checked + .btn-audio{ background-image: url(../images/icon/audio_on.svg); }
.audio-check:focus-visible + .btn-audio{ outline: 2px solid #333; outline-offset: 2px; }

.audio-toggle .btn-audio{ cursor: pointer; display: block; width: 24px; height: 24px; background: url(../images/icon/audio.svg) no-repeat 50% 50%; background-size: cover; }
.audio-toggle .btn-audio:hover{ background-image: url(../images/icon/audio_on.svg); }


.testpaper-preview-wrap{max-width: 1200px; margin: 0px auto;}
.testpaper-preview-wrap .topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; background: var(--gray-100); padding: 10px; border-radius: 12px;}
.testpaper-preview-wrap .title{font-size:20px; font-weight:700; padding: 0 6px;}
.testpaper-preview-wrap .right-actions{display:flex; gap:16px; align-items:center;}
.testpaper-preview-wrap .timer{font-weight:600;}
.testpaper-preview-wrap .timer span{color:#2563eb; font-weight:700;}
.testpaper-preview-wrap .btn-submit{background:#f97316; font-size: 16px; min-width: 160px; color:#fff; border:0; padding:10px 18px; border-radius:10px; font-weight:700;}

.testpaper-preview-layout{display:grid; grid-template-columns:1fr 180px; gap:20px; align-items:start;}
.testpaper-area .q-head{display:flex; align-items:center; gap:8px; font-weight:800; font-size:18px; margin-bottom: 12px; padding: 0 10px;}
.testpaper-area .stem{border:1px solid rgba(0, 68, 216, 0.1); background:rgba(0, 68, 216, 0.1); border-radius:8px; padding:12px 13px; font-size: 22px; font-weight:700;}
.testpaper-area .stem .stem-img{width: auto; height: 70px; border-radius: 12px; margin: 0 5px;}
.testpaper-area .choices{margin-top:14px;}
.testpaper-area .choices-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:10px 0;}
.testpaper-area .choice-box{display:flex; align-items:center; gap:5px; position: relative;}
.testpaper-area .choice-box .badge{width:22px; height:22px; line-height: 100%; cursor: pointer; font-size: 14px; position: absolute; top: 10px; left: 10px; border: 2px solid #111; color:#111; border-radius:999px; display:flex; align-items:center; justify-content:center; font-weight:700;}
.testpaper-area .choice-box .answer-card{flex:1; min-height: 150px; overflow: hidden; border: 3px solid #f9f9f9; border-radius: 16px; display: flex; justify-content: center; align-items: center; background:#f9f9f9;}
.testpaper-area .choice-box .answer-card img{width: 100%;}
.testpaper-area .text-answer{border-bottom: 1px solid #6c757d; width: 100%; max-width: 700px; margin: 50px auto 100px auto;}
.testpaper-area .text-answer .text-input{width: 100%; font-size: 60px; border: none; text-align: center; outline: none; box-shadow: none; }
.testpaper-area .choice-box.is-selected .answer-card{ border-color: var(--secondary); background: #ffffff; }
.testpaper-area .choice-box.is-selected .badge { border-color: var(--secondary); background: var(--secondary); color: #fff; font-weight: 800; }
.testpaper-area .actions{display:flex; justify-content:flex-end; margin: 10px 0;}
.testpaper-area .actions-nav button{min-width: 200px; border:0; padding:10px 24px; font-size: 16px; border-radius:999px; font-weight:700;}
.testpaper-area .actions-nav button.btn-next{border: 1px solid var(--primary); background:var(--primary); color:#fff;}
.testpaper-area .actions-nav button.btn-prev{ margin-right:auto; border: 1px solid var(--primary); background: #fff;  color:var(--primary);}

.answer-panel{border:1px solid #e5e7eb; border-radius:10px; overflow:hidden;}
.answer-head{background:#f8fafc; padding:10px 12px; font-weight:800; border-bottom:1px solid #e5e7eb;}
.answer-table{width:100%; border-collapse:collapse;}
.answer-table th, .answer-table td{border-bottom:1px solid #e5e7eb; padding:2px 0px; text-align:center; font-size:12px; line-height: 100%;}
.answer-table thead th{background:#f8fafc; font-weight:700; padding: 5px 0;}
.answer-table tbody tr:hover td,
.answer-table tbody tr:hover th{background: rgba(243, 205, 33, 0.15); font-weight: 700;}
.answer-body{max-height:606px; overflow:auto;}
.answer-table .js-jump{ pointer-events: auto; cursor: pointer; display: block;}
.question-choice .opt{display:inline-block; padding:4px 5px; border-radius: 12px; cursor:pointer; user-select:none;}
.question-choice .opt:hover{outline:2px solid #fde68a; outline-offset:2px;}
.question-choice input[type="radio"]{position:absolute; opacity:0; pointer-events:none; pointer-events: none;}
.question-choice input[type="radio"]:checked + .opt{background:#f97316; color:#fff; font-weight:700;}
.question-text input[type="text"]{height: 25px; font-size: 14px; text-align: center; border: none; background: transparent; pointer-events: none; caret-color: transparent;}

.question-page { display: none; }
.question-page.is-active { display: block; }
.answer-panel .answer-table td, .answer-panel .answer-table td * { pointer-events: none; }

.question-audio-area{display: flex; justify-content: center; align-items: center; margin: 30px 0;}
.btn-audio-icon{width:100px; height:100px; border:none; background:url("../images/icon/audio.svg") no-repeat center; background-size:cover; cursor:pointer; }
.btn-audio-icon:hover{background-image:url("../images/icon/audio_on.svg");}




.attachment-area { position:relative; display:inline-block; }
.attachment-btn { --btn-color:#0d6efd; cursor:pointer; text-decoration:underline; }
.attachment-btn.open { color:#f97316; font-weight:700; }
.attachment-list{ display:none; position:absolute; left:0; top:calc(100% + 6px); min-width:220px; background:#fff; border:1px solid #ddd; border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.15); padding:8px 0; z-index:1000;}
.attachment-list ul{margin:0; padding:0; list-style:none;}
.attachment-list li{display:flex; align-items:center; gap:8px; padding:6px 12px; font-size:14px; cursor:pointer;}
.attachment-list li:hover{background:#f5f5f5;}
.attachment-list i{font-size:16px;}

.attachment-list .pdf{color:#e63946;}
.attachment-list .ppt{color:#f59e0b;}
.attachment-list .doc{color:#2563eb;}
.attachment-list .xls{color:#10b981;}

.holiday-md-main   { background:#1f2937; border-color:#1f2937; color:#fff; } /* 목동본원 캠퍼스 */
.holiday-md-global { background:#2563eb; border-color:#2563eb; color:#fff; } /* 목동글로벌 캠퍼스 */
.holiday-md-vision { background:#0ea5e9; border-color:#0ea5e9; color:#fff; } /* 목동비전 캠퍼스 */
.holiday-dongjak   { background:#10b981; border-color:#10b981; color:#fff; } /* 동작 캠퍼스 */
.holiday-magok     { background:#f59e0b; border-color:#f59e0b; color:#111; } /* 마곡 캠퍼스 */
.holiday-ujangsan  { background:#ef4444; border-color:#ef4444; color:#fff; } /* 우장산 캠퍼스 */
.holiday-dangsan  { background:#334eb0; border-color:#334eb0; color:#fff; } /* 당산 캠퍼스 */

.campus-schedule-ns{background:#ffd64a; border-color:#ffd64a;}
.campus-schedule-fw{background:#34d399; border-color:#34d399;}
.campus-schedule-lf{background:#60a5fa; border-color:#60a5fa;}

.user-filter-box { display: flex; gap: 8px; padding: 10px; border: 1px solid #ddd; border-radius: 10px; margin-bottom: 10px;}
.user-filter-box input[type="checkbox"] { display: none; }
.user-filter-box label { padding: 6px 14px; border: 1px solid #aaa; border-radius: 20px; font-size: 14px; cursor: pointer; color: #333; background: #fff; transition: all 0.2s; }
.user-filter-box input[type="checkbox"]:checked + label { background: #444; color: #fff; border-color: #444; }

.part-list-warp { display: flex; gap: 8px; padding: 10px; border: 1px solid #ddd; border-radius: 10px; margin-bottom: 10px;}

.homework-wrapper { display: flex; flex-direction: column; gap: 16px; }
.homework-wrapper .homework-card { border: 1px solid #ddd; border-radius: 8px; padding: 16px 16px 8px; background-color: #fff; }
.homework-wrapper .homework-title { font-size: 15px; font-weight: 600; margin: 0 0 8px; }
.homework-wrapper .homework-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #eee; }
.homework-wrapper .homework-item { display: flex; align-items: center; justify-content: space-between; padding: 0 8px; background-color: #f7f7f7; border-bottom: 1px solid #eee;}
.homework-wrapper .homework-item:nth-child(odd) { background-color: #f4f4f4; }
.homework-wrapper .homework-text { display: flex; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; }
.homework-wrapper .homework-text .code { display: inline-flex; min-width: 36px; padding: 2px 8px; border-radius: 3px; background-color: #e5e5e5; font-size: 12px; font-weight: 600; text-align: center; }
.homework-wrapper .homework-text .desc { font-size: 14px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.homework-wrapper .homework-actions { display: flex; align-items: center; gap: 4px; margin-left: 8px; }
.homework-wrapper .btn-icon { border: none; background: transparent; padding: 4px; cursor: pointer; }
.homework-wrapper .btn-icon i { font-size: 18px; }
.homework-wrapper .drag-handle { cursor: grab;}
.homework-wrapper .homework-item.dragging { opacity: 0.6; background-color: #e8f0ff;}

.btn-icon-right{font-size: 13px; line-height: 100%; cursor: pointer;}
.btn-icon-right::after{content: '>'; padding-left: 5px; position: relative; top: -1px;}

.shipment-cycle-select { display: none;}
.shipment-cycle-select .justify-box-between{margin-top: 5px;}
.shipment-cycle-select.is-show { display: block; }

.receiver-type-select {display: none;}
.receiver-type-select.is-show {display: block;}
.receiver-type-select-result{font-size: 16px; font-weight: 600; text-align: center; margin-top: 20px;}

@keyframes like-button-bounce {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.3); }
  50%  { transform: scale(0.9); }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}

@keyframes drawCircle {
to {stroke-dashoffset: 0;}
}


.academic-calendar { max-width: 760px;}
.academic-calendar .calendar-header { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 4px; padding: 20px 0 10px 0; }
.academic-calendar .calendar-header .academic-schedule-dropdown .btn{font-size: 18px; font-weight: 600;}
.academic-calendar .calendar-header .academic-schedule-dropdown .btn:hover{background: none; border-color: #fff;}
.academic-calendar .calendar-header .academic-schedule-dropdown .dropdown-menu{width: 250px;}
.academic-calendar .calendar-title-wrap { display: flex; align-items: center; border: 1px solid #ccc; border-radius: 6px; overflow: hidden; }
.academic-calendar .calendar-title-input { border: none; padding: 4px 8px; min-width: 220px; font-size: 13px; }
.academic-calendar .calendar-title-input:focus {outline: none;}
.academic-calendar .title-dropdown-btn,
.academic-calendar .nav-btn { border: 1px solid #ccc; background: #f7f7f7; padding: 2px 8px; cursor: pointer; font-size: 12px;}
.academic-calendar .nav-btn {border-radius: 4px;}
.academic-calendar .calendar-divider { border: none; border-top: 1px solid #ccc; margin: 6px 0 8px; }
.academic-calendar .calendar-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: center;}
.academic-calendar .calendar-table th,
.academic-calendar .calendar-table td { border: 1px solid #ddd; vertical-align: top; padding: 3px; }
.academic-calendar .weekday-row th { background: #f5f5f8; font-weight: 600; padding: 4px 0; }
.academic-calendar .weekday-row .sun { color: #c62828; }
.academic-calendar .weekday-row .sat { color: #1565c0; }
.academic-calendar .day-cell { height: 90px; position: relative; background: #fff; }
.academic-calendar .day-cell.sun .day-num { color: #c62828; }
.academic-calendar .day-cell.sat .day-num { color: #1565c0; }
.academic-calendar .day-cell.prev-month,
.academic-calendar .day-cell.next-month { background: #fafafa; color: #999; }
.academic-calendar .day-num { font-size: 12px; margin-bottom: 2px; text-align: right; }
.academic-calendar .day-cell.holiday { background: #e8f5e9; }
.academic-calendar .day-cell.holiday .day-num{color: #2e7d32;}
.academic-calendar .day-cell.holiday .day-num::before { content: '휴무'; font-size: 11px; color: #2e7d32; margin-right: 2px; }
.academic-calendar .event-list { list-style: none; margin: 2px 0 0; padding: 0; }
.academic-calendar .event { display: block; margin: 1px 0; padding: 1px 4px; font-size: 11px; border-radius: 3px; }
.academic-calendar .event.ns {background:#94ff7f; color: #163d00;}
.academic-calendar .event.fw {background:#ffd54a; color: #3d3a00;}
.academic-calendar .event.lf{background:#ffa15d;color:#3a1a00;}
.academic-calendar .memo-icon { margin-top: 10px; font-size: 22px; }

.class-teacher-add-area{padding: 30px 0 0 0;}
.class-teacher-add{ display: flex; gap: 24px; justify-content: center; align-items: flex-start;}
.class-teacher-add .day-schedule{ flex: 1;}
.class-teacher-add .day-title{padding: 5px 0 4px 0; width: 60px; border-radius: 10px 0 10px 0; border: 2px solid var(--gray-800); color: var(--gray-800); text-align: center; font-size: 14px; font-weight: 700; display: block;}
.class-teacher-add .schedule-table{ width: 100%; border-collapse: collapse; }
.class-teacher-add th,
.class-teacher-add td{ border: 1px solid #cfcfcf; padding: 6px; text-align: center; font-size: 13px; }
.class-teacher-add th{ background: #f3f4fa; font-weight: 600; }
.class-teacher-add td.time{ width: 60px; font-weight: 600; color: #333; }
.class-teacher-add .form-select{ width: 100%; height: 32px; }


.shuttle-manage-list table th{text-align: left; font-weight: 600;}
.shuttle-stop-point-manage{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;color:#111;display:block;position:relative;-webkit-overflow-scrolling:touch;overflow-x:hidden;}
.shuttle-stop-point-manage.is-time-scroll{overflow-x:auto;}
.shuttle-stop-point-manage .shuttle-table{border-collapse:collapse;width:100%;min-width:980px;background:#fff;table-layout:fixed;}
.shuttle-stop-point-manage th,.shuttle-stop-point-manage td{border:1px solid #dee2e6;padding:8px 10px;text-align:center;white-space:nowrap;vertical-align:middle;}
.shuttle-stop-point-manage thead th{background:#F5F6F8;font-weight:600;}
.shuttle-stop-point-manage .col-check{width:30px;padding:0;}
.shuttle-stop-point-manage .col-stop{text-align:center;width:25%;max-width:200px;}
.shuttle-stop-point-manage .col-add{width:30px;padding:0;}
.shuttle-stop-point-manage .add-col{width:24px;height:24px;background:url(../images/icon/plus_solid_full.svg) no-repeat 50% 50%;background-size:24px;border:none;}
.shuttle-stop-point-manage .drag-handle-title{display:flex;align-items:center;justify-content:flex-start;}
.shuttle-stop-point-manage .drag-handle{cursor:grab;user-select:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:url(../images/icon/list_drag.svg) no-repeat 50% 50%;background-size:24px;}
.shuttle-stop-point-manage tr.dragging{opacity:.45;}
.shuttle-stop-point-manage tr.drag-over{outline:2px dashed #777;outline-offset:-2px;}

.btn-editor-icon{width:18px;height:22px;background:#fff;cursor:pointer;border:none;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;}
.btn-editor-icon.js-remove-col,.btn-editor-icon.js-delete-row{background:url(../images/icon/trash.svg) no-repeat 50% 50%;background-size:16px;}
.btn-editor-icon.js-edit{background:url(../images/icon/modify.svg) no-repeat 50% 50%;background-size:16px;}
.btn-editor-icon.js-clear{background:url(../images/icon/input_data_clear.svg) no-repeat 50% 50%;background-size:14px;}
.btn-editor-icon.js-save{background:url(../images/icon/input_data_save.svg) no-repeat 50% 50%;background-size:14px;}

.shuttle-stop-point-manage td.stop-cell{text-align:left;}
.shuttle-stop-point-manage td.time-cell{text-align:center;}
.shuttle-stop-point-manage td.time-cell .cell-text{text-align:center;}
.shuttle-stop-point-manage .muted{color:#777;font-weight:500;}
.shuttle-stop-point-manage td:last-child,.shuttle-stop-point-manage th.col-add{width:50px;min-width:50px;}

.cell-editor{display:flex;align-items:center;justify-content:space-between;width:100%;}
.cell-editor .editor-view{display:flex;align-items:center;gap:6px;width:100%;}
.cell-editor .editor-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.cell-editor .editor-edit{display:none;align-items:center;width:100%;border:1px solid #bdbdbd;border-radius:8px;background:#fff;overflow:hidden;}
.cell-editor .editor-input{flex:1;height:34px;padding:0 10px;border:none;outline:none;font-size:14px;width:100%;}
.cell-editor .editor-actions{display:inline-flex; align-items: center; gap:4px;}
.cell-editor .editor-edit .editor-actions{ gap: 2px; margin-right: 10px;}
.cell-editor .editor-edit .editor-actions.cell-actions--edit{ gap: 2px; margin-right: 10px;}
.cell-editor[data-mode="edit"] .editor-view{display:none;}
.cell-editor[data-mode="edit"] .editor-edit{display:flex;}
.cell-editor.is-editor-open .editor-view{display:none!important;}
.cell-editor.is-editor-open .editor-edit{display:flex!important;}

.progress-indicator-area{padding: 20px 0 30px 0;}
.progress-indicator-area dl{width: 100%;}
.progress-indicator-area dl dt{text-align: center;}
.progress-indicator-area dl dd{text-align: center; font-size: 18px;}
.development-working-loader{
  color: var(--primary);
  font-family: Consolas, Menlo, Monaco, monospace;
  font-weight: bold;
  font-size: 78px;
  opacity: 0.8;
}
.development-working-loader:before {
  content: "{";
  display: inline-block;
  animation: development-working-loader 0.4s alternate infinite ease-in-out;
}
.development-working-loader:after {
  content: "}";
  display: inline-block;
  animation: development-working-loader 0.4s 0.3s alternate infinite ease-in-out;
}

@keyframes development-working-loader {
  to {
    transform: scale(0.8);
    opacity: 0.5;
  }
}
    