@charset "utf-8";
/* 공유용 width 지정 클래스 */
.w-50px  { width: 50px  !important; }
.w-60px  { width: 60px  !important; }
.w-80px  { width: 80px  !important; }
.w-100px { width: 100px !important; }
.w-120px { width: 120px !important; }
.w-140px { width: 140px !important; }
.w-150px { width: 150px !important; }
.w-160px { width: 160px !important; }
.w-180px { width: 180px !important; }
.w-200px { width: 200px !important; }
.w-240px { width: 240px !important; }
.w-280px { width: 280px !important; }
.w-320px { width: 320px !important; }
.w-360px { width: 360px !important; }
.w-auto { width: auto !important; }
.w-half { width: 50% !important; }
.w-full { width: 100% !important; }
.w-mng-full {width: calc(50% - 100px) !important;}
.m40 {margin-top: 40px;}
.m30 {margin-top: 30px;}
.m20 {margin-top: 20px;}
.m10 {margin-top: 10px;}
.f-20 {display: flex; align-items: center; gap:20px;}
.ml-4 {margin-left: 4px;}
.ml-10 {margin-left: 10px;}
.mr-4 {margin-right: 4px;}
.mr-10 {margin-right: 10px;}
.mb-4 {margin-bottom: 4px;}
.mb-25 {margin-bottom: 25px;}
.mb-0 {margin-bottom: 0 !important;}
.mt-4 {margin-top: 4px;}
.mt-0 {margin-top: 0 !important;}
.di-b {display: block;}
.font-smaller {font-size: smaller;}

/* 엑셀일괄등록시 에러 스타일 코드 */
.error-cell {background-color: #F8D7DA; color: #721C24; font-weight: bold;}
.error-msg {font-size: 0.85em; font-style: italic; color: #D9534F;}
.warn-cell {background-color: #FFF3CD; color: #856404; font-weight: bold;}

/* 메인 대시보드 */
div.dash-info {background-color: #F8F9FB; padding: 20px 24px 28px 24px; flex: 1; /* overflow-y: auto;*/overflow-x: hidden; min-height:0; scroll-padding-top: 120px;}
div.dash-info > section {display: flex; align-items: stretch; justify-content: space-between; gap: 20px; margin-top: 20px;}
div.dash-info > section > div {padding: 20px; background-color: #fff; border-radius: 5px; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);}
div.dash-info span.dash-gray {color: #A3A9B3; font-size: 14px;}
div.dash-topbar {display: flex; align-items: center; justify-content: space-between;}
div.dash-topbar div.dash-breadcrumb {display: flex; align-items: center; gap: 8px;}
div.dash-topbar div.dash-breadcrumb > img.crumb-icon {width: 16px; height: 16px; display: inline-block;}
div.dash-topbar div.dash-breadcrumb > span.crumb-home, span.crumb-sep {color: #797F85;}
div.dash-topbar div.dash-filter {display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 5px; background-color: #fff; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);}
div.dash-topbar div.dash-filter div.filter-base-date {display: flex; align-items: center; justify-content: center; gap: 4px; background-color: #F8F9FB; border: 1px solid #D0D7E7; border-radius: 5px; height: 40px; padding: 0 10px; box-sizing: border-box;}
div.dash-topbar div.dash-filter div.filter-base-date span.base-date {color: #797F85;}
div.dash-info section.dash-pro-wrap div.dash-progress {width: 20%;}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-title {display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px;}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-title p {color: #4F4F4F; font-family: "Pretendard-Medium";}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-title label {padding: 6px 10px; border-radius: 100px; font-size: 14px;}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-circle {position: relative; width: 130px; height: 130px; margin: 0 auto;}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-circle div.progress-value {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center;}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-circle div.progress-value div.value-main {font-size: 22px; font-family: "Pretendard-Bold";}
div.dash-info section.dash-pro-wrap div.dash-progress div.dash-circle div.progress-value div.value-sub {font-size: 12px; color: #797F85;}
div.dash-info section.dash-pro-wrap div.dash-progress div.progress-label {margin-top: 20px; display: flex; align-items: center; justify-content: center; gap: 4px;}
div.dash-info section.dash-pro-wrap div.dash-progress div.progress-label > img {width: 18px; height: 18px;}
.chart-blue {color: #3b82f6;} .blue-bg {background-color: #3b82f6 !important;}
.chart-blue-bg {background-color: #e0f2fe;}
.chart-green {color: #10b981;} .green-bg {background-color: #10b981 !important;}
.chart-green-bg {background-color: #d1fae5;}
.chart-yellow {color: #f59e0b;} .yellow-bg {background-color: #f59e0b !important;}
.chart-yellow-bg {background-color: #fff7ed;}
.chart-red {color: #f43f5e;} .red-bg {background-color: #f43f5e !important;}
.chart-red-bg {background-color: #ffe4e6;}
.chart-purple {color: #8b5cf6;} .purple-bg {background-color: #8b5cf6 !important;}
.chart-purple-bg {background-color: #ede9fe;}
div.dash-info section.dash-graph-wrap div.dash-graph div.dash-graph-top div.dash-title h3{display: flex; align-items: center; gap: 6px; margin-bottom: 4px;}
div.dash-info section.dash-graph-wrap div.dash-graph div.dash-graph-top div.dash-title h3 > img{width: 20px; height: 20px;}
div.dash-info section.dash-graph-wrap div.graph01 {flex:0 0 calc(40% - 50px); max-width: calc(40% - 50px);}
div.dash-info section.dash-graph-wrap div.dash-graph div.dash-graph-top-fl {display: flex; align-items: center; justify-content: space-between;}
div.dash-info section.dash-graph-wrap div.graph01 div.dash-graph-top-fl div.dash-num {display: flex; flex-direction: column; align-items: flex-end; gap: 4px;}
div.dash-info section.dash-graph-wrap div.graph01 div.dash-graph-top-fl div.dash-num > h3 {font-size: 22px; color: var(--color-main04);}
div.dash-info section.dash-graph-wrap div.graph01 div.dash-graph-top-fl div.dash-num > label {font-size: 14px; color: #4F4F4F; padding: 4px 6px; background-color: #E5EEFF; border-radius: 5px;}
div.dash-info section.dash-graph-wrap div.graph01 div.dash-graph-top-fl div.dash-num > label > span {color: #004FA3; font-family: "Pretendard-Medium";}
div.dash-info section.dash-graph-wrap div.graph01 div.dash-graph-body {height: 280px;}
div.dash-info section.dash-graph-wrap div.graph02, div.graph04, div.graph05 {display: flex; flex-direction: column; justify-content: space-between;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body {display: flex; justify-content: space-between;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body div.chartage {height: 250px; width: 60%;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body div.chartgender {height: 160px; width: 160px; position: relative;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body div.chartgender div.chartgender-txt {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; gap: 4px;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body div.chartgender div.chartgender-txt span.fm {color: #f43f5e;}
div.dash-info section.dash-graph-wrap div.graph02 div.dash-graph-body div.chartgender div.chartgender-txt span.m {color: #004FA3;}
div.dash-info section.dash-graph-wrap div.graph03 {display: flex; flex-direction: column; justify-content: space-between;}
div.dash-info section.dash-graph-wrap div.graph03 div.dash-graph-body div.charttraffic {height: 250px;}
div.dash-info section.dash-graph-wrap div.graph03 div.dash-graph-top div.dash-title span.dash-gray > b {color: #2b2b2b; font-size: 18px;}
div.dash-info section.dash-graph-wrap div.graph02, div.graph03, div.graph04, div.graph05, div.graph06 {flex: 1 1 0; min-width: 0;}
div.dash-info section.dash-graph-wrap div.graph04 div.dash-graph-body div.chartmajors {height: 320px;}
div.dash-info section.dash-graph-wrap div.graph05 div.dash-graph-body div.chartcounselingtype {height: 310px;}
div.dash-info section.dash-graph-wrap div.graph05 div.dash-graph-top-fl > label {padding: 6px 10px; background-color: #E5EEFF; border-radius: 100px; color: var(--color-main04); font-size: 14px; font-family: "Pretendard-Bold";}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-sumbar {padding: 10px 16px; background-color: #f9fafb; border: 1px solid #E2E6EB; border-radius: 5px; margin-top: 14px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-sum {display: flex; align-items: center; justify-content: space-between;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-bar {position: relative; background-color: #E2E6EB; border-radius: 100px; width: 100%; height: 6px; margin: 20px 0 10px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-bar div.lecture-bar-fill {position: absolute; top: 0; left: 0; width: 75%; height: 6px; border-radius: 100px; background-color: #004FA3;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-sum div.sum-left {display: flex; align-items: center; gap: 4px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-sum div.sum-right {display: flex; align-items: center; gap: 4px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher div.teacher-top {display: flex; align-items: center; justify-content: space-between; padding: 10px; margin-top: 14px; border-bottom: 1px solid #E2E6EB;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher div.teacher-top h4 {color: #4F4F4F;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher div.teacher-top > label {padding: 4px 6px; font-size: 14px; color: var(--color-main04); background-color: #E5EEFF; border-radius: 5px; font-family: "Pretendard-Bold";}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list {padding: 6px; overflow-y: auto; height: 150px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item {display: flex; align-items: center; justify-content: space-between; padding: 10px; border-radius: 10px; margin: 6px 0;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item:hover {background-color: #f7f9fc;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item div.teacher-info {display: flex; align-items: center; gap: 6px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item div.teacher-info label {padding: 4px 6px; font-size: 10px; border-radius: 4px; font-family: "Pretendard-Bold"; margin-right: 6px;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item div.teacher-info label.deg {background-color: #eff6ff; color:#2563eb; border: 1px solid #bfdbfe;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item div.teacher-info label.nondeg {background-color: #fff7ed; color:#ea580c; border: 1px solid #fed7aa;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item div.teacher-info > span {color: #4F4F4F; padding-left: 10px; border-left: 1px solid #D0D7E7;}
div.dash-info section.dash-graph-wrap div.graph06 div.dash-graph-body div.lecture-wrap div.lecture-teacher ul.teacher-list li.teacher-item p.teacher-period {font-size: 14px; color: #797F85;}
div.dash-info section.dash-quick-action a.quick-action-item {flex: 1 1 0; min-width: 0; display: flex; align-items: center; width: 100%; height: 100%; gap: 20px;}
div.dash-info section.dash-quick-action a.quick-action-item > img {width: 62px; height: 62px;}
div.dash-info section.dash-quick-action a.quick-action-item div.quick-txt {display: flex; flex-direction: column; gap: 10px;}
div.dash-info section.dash-quick-action a.quick-action-item div.quick-txt p {font-size: 18px; font-family: "Pretendard-Bold";}
div.dash-info section.dash-quick-action a.quick-action-item div.quick-txt > span.dash-gray {font-size: 16px; font-family: "Pretendard Medium";}
div.dash-info section.dash-quick-action a.quick-action-item:nth-child(1) div.quick-txt p, a.quick-action-item:nth-child(5) div.quick-txt p {color: #566082;}
div.dash-info section.dash-quick-action a.quick-action-item:nth-child(2) div.quick-txt p, a.quick-action-item:nth-child(6) div.quick-txt p {color: #3B648F;}
div.dash-info section.dash-quick-action a.quick-action-item:nth-child(3) div.quick-txt p {color: #437885;}
div.dash-info section.dash-quick-action a.quick-action-item:nth-child(4) div.quick-txt p {color: #567DA5;}
div.dash-info > section > a.quick-action-item {padding: 20px; background-color: #fff; border-radius: 5px; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);}

/* 리스트 공통사항 */
div.cont-info { background-color: #F8F9FB; padding: 34px 24px 28px 24px; flex: 1; /* overflow-y: auto;*/overflow-x: hidden; min-height:0; scroll-padding-top: 120px;}
.check-group label {display: inline-flex; align-items: center; gap: 6px; margin-right: 40px;}
.form-checkbox{position:relative;}
input.form-checkbox {appearance: none; -webkit-appearance: none; -moz-appearance: none; width: 20px; height: 20px; border: 1px solid #D0D7E7; background-color: #fff; padding: 0;}
input.form-checkbox:checked {background-color: var(--color-main04);}
input.form-checkbox:checked::after {content: ""; display: block; width: 6px; height: 10px; border: 1px solid #fff; border-width: 0 2px 2px 0; position: absolute; top: 1px; left: 5px; transform: rotate(45deg);}
input.check-box { appearance: none; -webkit-appearance: none; -moz-appearance: none; width: 20px; height: 20px; background: url(../img/checkbox_off.svg) center / contain no-repeat; /*border: 1px solid #D0D7E7; border-radius: 50%; background-color: #fff; padding: 0; 비활성화 : #EEF1F4 */ }
.check-box:checked { background: url(../img/checkbox_on.svg) center / contain no-repeat #fff; }
.hidden{display: none !important;}
.checkbox-wrap { width: 40px; }
.radiobox-wrap { width: 60px;}
table.list-table > tbody {background-color: #fff;}
table.list-table thead th, tbody td { border-left: 1px solid #D0D7E7; border-right: 1px solid #D0D7E7; }
table.list-table thead th:first-child, tbody td:first-child { border-left: none; }
table.list-table thead th:last-child, table.list-table tbody td:last-child { border-right: none; }
input:focus, textarea:focus, select:focus { outline: none; }
span.inner {line-height: 50px; color: #797F85;}
.list-wrap {position: relative;}
.result-info-bar { display: flex; justify-content: space-between; margin-bottom: 10px;}
.list-wrap .result-info-bar .result-cont { display: flex; align-items: center; gap: 2px; font-family: "Pretendard-Medium"; }
.list-wrap .result-info-bar .result-cont .result-icon { display: inline-block; width: 20px; height: 20px; background: url('../img/icon_search.png') no-repeat center / contain; }
.list-wrap .result-info-bar .result-cont strong { color: var(--color-main04); font-weight: 500; }
.list-wrap .result-info-bar .result-cont > .manager-title-btn {margin-bottom: 0; margin-left: 4px;}
.click-txt { color: var(--color-main04); font-weight: 600; text-decoration: underline; }
div.cont-info section.contents-form .list-wrap table.list-table tbody tr td.checkbox-wrap .check-box-off {background: url("../img/checkbox_disabled.svg") center / contain no-repeat; pointer-events: none;}
.header-actions + .question-list, .search-flex + .search-flex {margin-top: 20px;}
.date-search, .dropdown-search {display: flex; align-items: center; gap: 4px;}
.date-search h4, .dropdown-search h4 {flex: 0 0 auto;}
.date-search button {flex: none; cursor: pointer; display: inline-block; z-index: 999;}
.check-box-all {display: flex; align-items: center; gap: 6px;}
.delete-btn { background-color: #fff; color: #4F4F4F; border: 1px solid #D0D7E7;}
/* 250828 [시스템관리] - [기본정보설정] - [학사 기본정보] 삭제버튼 및 수정버튼 */
.delete-btn-disable {opacity: 0.5; pointer-events: none;}
.update-btn { background-color: #fff; color: #4F4F4F; border: 1px solid #D0D7E7;}
.bottom-save-btn-wrap { text-align: center; margin-top: 20px; padding: 20px 0; }
.bottom-save-btn-wrap a { display: inline-flex; align-items: center; justify-content: center; font-size: 16px; line-height: 16px; width: 95px; height: 40px; }
table.list-table > tbody > tr:hover { background-color: #FBFCFD; }
table.list-table .list-in-button:hover {box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1); transform: translateY(-1px);}
.hvr:hover {box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1); transform: translateY(-1px); transition: transform 0.2s ease, box-shadow 0.2s ease;}
.title-flex {display: flex; align-items: center; gap: 6px;}
.save-btn { background-color: #F29600; color: #fff;}
.manager-wrap, .wrap {background-color: #fff; padding: 30px 24px; border-radius: 5px; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1); margin-bottom: 30px;}
p.guide-text {color: #797F85; margin-bottom: 30px;}
.form-field > div, .form-field > label {width:100%; padding: 16px 18px 16px; border-bottom: 1px solid #E2E6EB;}
.sub-guide-text {color:#797F85; line-height: 20px; font-size: 14px;}
.radio-group {display: flex; flex-wrap: wrap; row-gap: 6px;}
.radio-group label {display: inline-flex; align-items: center; gap: 6px; margin-right: 38px;}
.radio-group label:last-child {margin-right: 0px;}
.radio-group label input[type="radio"] {appearance: none; -webkit-appearance: none; -moz-appearance: none; margin:0; width: 20px; height: 20px; border: 1px solid #D0D7E7; border-radius: 50%; position: relative; cursor: pointer; outline: none; background-color: #fff;}
.radio-group label input[type="radio"]:checked { border-color: #D0D7E7; background-color: #fff; }
.radio-group label input[type="radio"]:checked::before {content: ""; width: 10px; height: 10px; background-color: var(--color-main04); border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)}
.search-radio-group {width: calc(100% - 210px);}
table .radio-group label {margin-right: 0;}
.input-center {display: flex; align-items: center;}
select { height: 40px; border: 1px solid #D0D7E7; border-radius: 5px; font-family: "Pretendard-Medium"; font-size: 16px; padding: 0 30px 0 10px; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: #fff url('../img/dropdown_icon.png') no-repeat right 10px center / 20px auto; }
select:required:invalid { color: #A3A9B3; font-family: "Pretendard-Regular";}
select option:not([value=""]) { color:#2b2b2b; }
.dropdown-search-box {width: 180px;}
.apply-all, .excel-upload-btn { background-color: #fff; border: 1px solid var(--color-main04); color: var(--color-main04); height: 40px; font-size: 16px; font-family: "Pretendard-Medium"; padding: 0 14px;}
.ui-btn {height: 40px; font-size: 16px; color: #fff; padding: 0 14px 0; background-color: #F29600;}
.input-group-title {font-size: 14px; color: #797F85; font-family: "Pretendard-Medium"; flex: 0 0 auto;}
.check-text input {vertical-align: middle;}
.manager-title {margin-bottom: 20px; font-size: 18px; display: flex; align-items: center; gap: 6px;}
.manager-info-wrap {margin-bottom: 40px;}
.manager-info-wrap:last-child {margin-bottom: 0;}
.center-wrap {display: flex; justify-content: center; gap: 6px;}
.graywrap-guide-text {background-color: #F8F9FB; color: #797F85; padding: 16px; border-radius: 5px; margin-bottom: 20px; line-height: 24px;}
.graywrap-guide-box {background-color: #F8F9FB; color: #2b2b2b; padding: 16px; border-radius: 5px; margin-bottom: 20px; line-height: 24px;}
.title-fixed-wrap {display: flex; gap: 4px; align-items: center; margin-bottom: 10px;}
.title-fixed-wrap h4 {width: 100px; flex: 0 0 auto;}
.title-fixed-wrap h4 img {margin-right: 4px;}
.title-fixed-wrap input {width: 100%;}
.border-line {border-bottom: 1px solid #E2E6EB; margin: 30px 0; display: block;}
.manager-input-title {font-size: 18px; margin-bottom: 6px;}
.lightblue {background-color: #E5EEFF;}
.orange-number {width: 20px; height: 20px; display: inline-flex; flex: 0 0 20px; align-items: center; justify-content: center; background-color: var(--color-main02); color: #fff;}
.orange-number > span {display: inline-block;}
.line-right {border-right: 1px solid #D0D7E7;}
.line-gray {border: 1px solid #D0D7E7; height: 20px;}
.flex-field .flex {gap: 4px;}
.flex .mx-8 {margin: 0 8px;}
.table-guidetitle {font-size: 14px; color: #797F85; font-family: "Pretendard-Regular";}
.professor-picker {display: inline-block;}
.nonetype-txt {line-height: 40px; margin-top: 6px; padding-left: 10px;}
.table-primary {flex: 0 0 auto;}
td.stack-vert {padding: 8px 12px !important;}
td.stack-vert a {display: block; margin-bottom: 4px;}
td.stack-vert a:last-child {margin-bottom: 0;}
tr.lightblue:hover {background-color: #E5EEFF !important; }
.fl-bet {display: flex; align-items: center; justify-content: space-between;}
img.swipe-hand {animation: swipe-hand 1.6s ease-in-out infinite; transform-origin: center; width: 30px; height: 30px;}
/* 가로스크롤 애니메이션(손 아이콘) 효과 */
@keyframes swipe-hand {
  0% {transform: translateX(0) scale(1); opacity: 1;}
  30% {transform: translateX(4px) scale(1.02); opacity: 1;}
  60% {transform: translateX(-2px) scale(0.98); opacity: 0.9;}
  100% {transform: translateX(0) scale(1); opacity: 1;}
}



/* 달력입력(공통) */
.date-input{position:relative; width:132px; height: 40px;}
.date-field{width:100%; height:40px; box-sizing:border-box;border:1px solid #D0D7E7;border-radius:5px;font-family:"Pretendard-Medium";font-size:16px;color:#2b2b2b;background:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;}
.date-input::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:url('../img/calendar.png') no-repeat center/20px auto;pointer-events:none;}
.date-field::-webkit-calendar-picker-indicator{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;opacity:0;cursor:pointer;}
.date-field:focus{border-color:var(--color-main04); box-shadow:0 0 0 3px rgba(0,79,163,.12);outline:none;}
.date-field:required:invalid::-webkit-datetime-edit { color:#A3A9B3; }
.time-input::-webkit-calendar-picker-indicator{ display:none;}
.time-input::-webkit-clear-button{ display:none; }
.time-input::-webkit-inner-spin-button{ display:none; }
.time-input::-ms-reveal, .time-input::-ms-clear{ display:none; }
.time-input {width:67px; height:40px; padding:0 10px; border:1px solid #D0D7E7; border-radius:5px; font-family:"Pretendard-Medium", sans-serif; font-size:16px; color:#2b2b2b; background:#fff; outline:none; -webkit-appearance:none; appearance:none;}
.time-input::placeholder {color:#A3A9B3;}
.step-btn-bar {display:flex; justify-content: flex-end; margin-bottom: 10px; gap: 10px; }
.input-option-group .time.w-80px {flex: 0 0 auto;}
.pagination input[type="number"] {height: 32px;}

/* 타이틀, 버튼 */
.btn-primary {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: #fff; background-color: var(--color-main04); padding: 0 14px 0; font-size: 16px;}
.btn-green {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: #fff; background-color: var(--color-main03); padding: 0 14px 0; font-size: 16px;}
.btn-orange {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: #fff; background-color: #F29600; padding: 0 14px 0; font-size: 16px;}
.btn-warn {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: #fff; background-color: #FF4C4C; padding: 0 14px 0; font-size: 16px;}
.btn-outline-primary {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: var(--color-main04); border: 1px solid var(--color-main04); padding: 0 14px 0; font-family:"Pretendard-Medium"; font-size: 16px; background-color: #fff;}
.btn-outline-green {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: var(--color-main03); border: 1px solid var(--color-main03); padding: 0 14px 0; font-family:"Pretendard-Medium"; font-size: 16px; background-color: #fff;}
.btn-outline-warn {box-sizing: border-box; display: inline-block; line-height: 40px; height: 40px; color: #FF4C4C; border: 1px solid #FF4C4C; padding: 0 14px 0; font-family:"Pretendard-Medium"; background-color: #fff; font-size: 16px;}
.btn-img-primary {box-sizing: border-box; display: flex; height: 40px; align-items: center; justify-content: center; gap: 4px; color: #fff; background-color: var(--color-main04); padding: 0 14px 0; font-size: 16px;}
.list-in-button {box-sizing: border-box; display: inline-block; background-color: #fff; border: 1px solid var(--color-main04); color: var(--color-main04); padding: 0 14px 0; height: 40px; line-height: 40px; font-size: 16px; font-family: "Pretendard-Medium"; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.list-btn { background-color: #fff; color: var(--color-main04); border: 1px solid var(--color-main04);}
.sub-btn {display: inline-block; padding: 0 14px 0; height: 40px; line-height: 40px; border: 1px solid #D0D7E7; color: #4F4F4F; font-size: 16px; font-family: "Pretendard-Medium"; background-color: #fff;}
.action-btn {display: inline-flex; align-items: center; background-color: #fff; color: #4F4F4F; border: 1px solid #D0D7E7; height: 40px; line-height: 40px; font-size: 16px; padding: 0 14px 0; flex: 0 0 auto; box-sizing: border-box;}
.add-btn {box-sizing: border-box; display: inline-flex; line-height: 40px; height: 40px; background-color: var(--color-main04); color: #fff; align-items: center; justify-content: center; gap: 4px;}
.action-btn img {margin-right: 4px;}
.header-actions .action-bar {display: flex; align-items: center; margin-bottom: 10px;}
.header-actions .action-bar .ab-left, .ab-right {display: flex; align-items: center; gap: 6px;}
.header-actions .action-bar .ab-right {margin-left: auto;}
.header-actions .action-bar .privacy-officer-label {font-family: "Pretendard-Medium"; font-size: 16px; color: #4F4F4F; white-space: nowrap;}
.header-actions .action-bar .privacy-officer-label strong {color: var(--color-main04); font-weight: 500;}
.drag-handle {width: 30px; height: 30px; flex: 0 0 auto;}
.drag-handle img {display: inline-block; width: 100%; height: 100%;}
.calendar-actions {display: flex; justify-content: flex-end; gap: 10px;}
.btn-primary-label {display: inline-block; line-height: 30px; height: 30px; color: var(--color-main04); background-color: #E5EEFF; padding: 0 14px 0; font-size: 16px; font-family:"Pretendard-Medium"; border-radius: 5px;}
.btn-warn-label {display: inline-block; line-height: 30px; height: 30px; color: #FF4C4C; background-color: #FFE7E7; padding: 0 14px 0; font-size: 16px; font-family:"Pretendard-Medium"; border-radius: 5px;}
.btn-gray-label {display: inline-block; line-height: 30px; height: 30px; color: #A3A9B3; background-color: #EEF1F4; padding: 0 14px 0; font-size: 16px; font-family:"Pretendard-Medium"; border-radius: 5px;}
.title-wrap {width: 100%;}
div.cont-info .title-btn-wrap { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
div.cont-info .title-btn-wrap .title-wrap h1 { font-size: 20px; display: flex; align-items: center; }
div.excel-info .title-btn-wrap {align-items: flex-start;}
.title-box { display: inline-block; width: 8px; height: 8px; background-color: var(--color-main04); margin-right: 6px;}
.action-btn-wrap { display: flex; align-items: center; gap: 10px; flex:0 0 auto;}
.action-btn-wrap .add-btn, .delete-btn, .list-btn, .save-btn, .update-btn { display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; font-size: 16px; line-height: 16px; width: 95px; height: 40px; font-family: "Pretendard-Medium";}
.action-btn-wrap a img { margin-left: 4px; }
div.cont-info section.contents-form { background-color: #fff; padding: 30px 24px; border-radius: 5px; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1); }
.input-side-btn {cursor:pointer; line-height: 40px; font-size: 16px; box-sizing: border-box; border: 1px solid var(--color-main04); background-color: #fff; color: var(--color-main04); height: 40px; width: auto; padding: 0 14px 0; flex: 0 0 auto;}
.full-color-button a.btn-create-bulk {color: #fff; background-color: var(--color-main04); display: inline-block; padding: 10px 16px 10px;}
div.cont-info .title-btn-wrap .title-wrap nav.stepper {margin-top: 20px; width: 100%; background-color: #EEF1F4; border-radius: 999px;}
div.cont-info .title-btn-wrap .title-wrap nav.stepper ol.stepper-list {display:flex; align-items:center; gap:10px;}
div.cont-info .title-btn-wrap .title-wrap nav.stepper ol.stepper-list li.step-item {flex: 1 1 auto;}
div.cont-info .title-btn-wrap .title-wrap nav.stepper ol.stepper-list li.step-item span.step-pill {display: flex; align-items: center; justify-content: center; padding:10px 0 10px; border-radius:999px; background:#EEF1F4; pointer-events:none; user-select:none;}
div.cont-info .title-btn-wrap .title-wrap nav.stepper ol.stepper-list li.step-item span.step-pill[aria-current="step"] {background-color: #fff; color: var(--color-main04); border: 1px solid var(--color-main04); font-family:"Pretendard-Medium";}
.btn-outline-primary:disabled {opacity:.6; cursor:not-allowed}


/* 검색 */
.search-bar {position: relative; background-color: #F8F9FB;padding: 16px; border-radius: 5px; margin-bottom: 30px;}
.search-bar .search-flex {display: flex; align-items: center; gap: 20px 30px; }
.search-bar .search-flex > div { display: flex; align-items: center; gap: 4px; }
.search-bar div h4 { flex: 0 0 auto; }
h4 img.sub-title-icon { margin-right: 4px; }
.search {background-color: #fff; border: 1px solid var(--color-main04); color: var(--color-main04); width: 56px; height: 40px; font-size: 16px; font-family: "Pretendard-Medium"; }
.search-bar .page-number select { height: 40px; width: 130px; border: 1px solid #D0D7E7; border-radius: 5px; font-family: "Pretendard-Medium"; font-size: 16px; padding: 0 30px 0 10px; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: #fff url('../img/dropdown_icon.png') no-repeat right 10px center / 20px auto; }
.search-bar .keyword-search input {box-sizing: border-box;}
.search-bar:first-of-type {margin-bottom: 10px;}
.title-line h4::after {content: ""; display: inline-block; vertical-align: middle; width: 1px; height: 40px; background-color: #D0D7E7; margin-left: 30px;}
.search-center {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); background-color: #fff; border: 1px solid var(--color-main04); color: var(--color-main04); width: 56px; height: 40px; font-size: 16px; font-family: "Pretendard-Medium";}
.search-bar .search-flex .check-search {gap:40px; width: 100%; align-items: flex-start;}
.search-bar .search-flex .check-search h4 {position: relative;}
.search-bar .search-flex .check-search h4::after {content: ""; width: 1px; height: 40px; background-color: #D0D7E7; position: absolute; right: -20px; top: -50%;}
.upload-bar {display: flex; align-items: center; margin-bottom: 20px;}
.upload-bar .upload-flex {display: flex; align-items: center; gap: 6px;}
.upload-bar .upload-flex .basic-title .simple-file {margin-top: 0;}

/* 리스트(목록)_공통 */
.title-guide-text {color: #797F85; line-height: 22px;}
table.list-table tbody tr .list-number {width: 70px;}
table.list-table tbody tr .col-yn {width: 200px;}

h4.cont-form-title {font-size: 18px; margin-bottom: 10px;}
.bulk-controls {display: flex; align-items: center; gap: 4px;}
.list-wrap .result-info-bar .pagination { display: flex; align-items: center; gap: 10px; }
.list-wrap .result-info-bar .pagination .page-input { width: 90px;}
.list-wrap .result-info-bar .pagination .page-input[type=number] {-moz-appearance: textfield;}
.list-wrap .result-info-bar .pagination .page-input::-webkit-outer-spin-button, .page-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.list-wrap .result-info-bar .pagination .page-arrow { background-color: #fff; }
.list-wrap table.list-table { width: 100%; border-collapse: collapse; border-top: 1px solid #2b2b2b; min-width: 100%; table-layout: auto;}
.list-wrap table.list-table thead { background-color: #F8F9FB; }
.list-wrap table.list-table th, table.list-table td { padding: 8px 0; border-bottom: 1px solid #e0e0e0; text-align: center; }
.list-wrap table.list-table thead tr:first-child th { border-top: none; }
.list-wrap table.list-table tbody tr td.year-td .dropdown-search-box {width: 90px;}
.list-wrap table.list-table tbody tr td.year-td {width: 100px;}
.list-wrap table.list-table tbody tr td.semester-td .dropdown-search-box {width: 90px;}
.list-wrap table.list-table tbody tr td.semester-td {width: 100px;}
.list-wrap table.list-table tbody tr td.course-td {width: 190px;}
.list-wrap table.list-table tbody tr td.date-time-form {text-align: left; padding: 8px 10px; width: 218px;}
.list-wrap table.list-table tbody tr td.date-time-form .date-time-cont .caption{font-family:"Pretendard-Medium"; font-size:14px; color:#797F85; display: inline-block; margin-bottom: 4px;}
.list-wrap table.list-table tbody tr td.date-time-form .date-time-cont .field-row { display:flex; gap:4px;}
.list-wrap .table-hscroll {display: block; max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling:touch; width: 100%; cursor: grab;}
.list-wrap .table-hscroll:active {cursor: grabbing; user-select: none; -webkit-user-select: none;}
.list-wrap .table-hscroll table.list-table th, .table-hscroll table.list-table td {white-space: nowrap; padding: 8px 14px;}


/* 리스트(목록)_별개 */
div.cont-info .bulk-row {display: flex; justify-content: space-between; align-items:flex-end; margin: 20px 10px 20px;}
div.cont-info .bulk-row-t10 {margin: 10px 10px 20px;}
div.cont-info .depth04-tab .title-guide-text {margin: 0 10px 20px;}
div.cont-info .list-transfer-wrap {display: flex; gap: 20px;}
div.cont-info .list-transfer-wrap .result-info-bar {height: 40px;}
div.cont-info .list-transfer-wrap .list-transfer-panel {flex: 1 1 0; display: flex; flex-direction: column; min-width: 0; min-height: 0;}
div.cont-info .list-transfer-wrap .list-transfer-panel .list-table-wrap {height: 500px; background-color: #F8F9FB; flex: 1 1 auto; min-height: 0; overflow: auto;}
div.cont-info .list-transfer-wrap .list-transfer-panel .list-table-wrap table.list-table {width: 100%;}
div.cont-info .list-transfer-wrap .list-transfer-panel .list-table-wrap table.list-table th, table.list-table td {white-space: normal; word-break: break-all; overflow-wrap: anywhere; padding: 8px;}
div.cont-info .list-transfer-wrap .transfer-actions {display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 20px;}
div.cont-info .list-transfer-wrap .transfer-actions .btn-transfer {width: 56px; height: 40px; color: #fff;}
div.cont-info .list-transfer-wrap .transfer-actions .add {background-color: var(--color-main04); clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%, 7% 50%);}
div.cont-info .list-transfer-wrap .transfer-actions .remove {background-color: #797F85; clip-path: polygon(100% 0, 15% 0, 0 50%, 15% 100%, 100% 100%, 93% 50%);}
div.cont-info .list-wrap table.list-table tbody tr td .input-group {display: flex; align-items: center; justify-content: center; gap: 4px;}
div.cont-info section.contents-form .list-wrap table.list-table tbody tr .date-form .date-cont, .text-cont {display: flex; align-items: center; justify-content: center; gap: 4px;}
div.cont-info .list-wrap table.list-table tbody tr td .input-group-form {display: flex; align-items: center; justify-content: center;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .search-input {position: relative; display: flex; align-items: center;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .search-input input {width: 100%;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .search-input input:focus {border-color: #2C6AE5; box-shadow: 0 0 0 3px #2c6ae51a;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .search-input .prof-btn {position: absolute; right: 10px; border: 0; background: transparent; cursor: pointer;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .assignee-box-empty {margin-top: 4px; width: 150px; height: 80px; line-height: 80px; background-color: #F8F9FB; color: #A3A9B3; user-select: none; border-radius: 5px;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .assignee-box-filled {position: relative; margin-top: 4px; width: 150px; height: 80px; display: flex; align-items: center; justify-content: center; background-color: #fff; border: 1px solid #D0D7E7; border-radius: 5px; flex-direction: column;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .assignee-box-filled .filled-prof-text {color: #2b2b2b; font-size: 16px; font-family: "Pretendard-Medium";}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .assignee-box-filled .filled-id-text {color: #797F85; font-size: 14px; font-family: "Pretendard-Medium"; display: block; line-height: 24px;}
div.cont-info .list-wrap table.list-table tbody td .professor-picker .assignee-box-filled .close-btn {position: absolute; top: 8px; right:8px; background: transparent;}
div.cont-info .list-wrap table.list-table tbody tr td.merge-id {padding: 8px 18px;}
div.cont-info .list-wrap table.list-table tbody tr td.primary-id {text-align: left; padding: 30px 18px;}
div.cont-info .list-wrap table.list-table > tbody > tr.hover-none:hover {background: transparent !important;}
div.cont-info  div.list-wrap table.list-table tbody tr.hover-none td div.id-target {border: 1px solid #D0D7E7; border-radius: 10px; box-shadow:0 4px 5px rgba(0, 0, 0, 0.2); padding: 16px 0 16px;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap {max-height: 680px; overflow-y: auto; height: 100%; padding-bottom: 10px;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card {margin-top: 14px;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info {display: flex; align-items: center; gap: 20px; padding: 10px 30px; border: 1px solid #D0D7E7; border-radius: 10px; box-shadow:0 4px 5px rgba(0, 0, 0, 0.2)}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info div.card-number {color: var(--color-main04); font-size: 20px; font-weight: bold;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info div.card-user-info h4.emil-address {font-size: 18px; margin-bottom: 10px; }
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info div.card-user-info p.email-name-id {color: #797F85; display: flex; gap: 16px;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info div.card-user-info p.email-name-id span.email-name {position: relative;}
div.cont-info div.email-cont-right section.wrap ul.email-list-wrap li.email-list-card div.email-list-info div.card-user-info p.email-name-id span.email-name::after {content: ""; display: block; position: absolute; right: -8px; width: 1px; background-color: #D0D7E7; height: 20px; top: 50%; transform: translateY(-50%);}
div.cont-info div.depth04-tab section.manager-wrap div.header-actions div.action-bar div.ab-right div.check-group {position: relative;}
div.cont-info div.depth04-tab section.manager-wrap div.header-actions div.action-bar div.ab-right div.check-group .after-bar::after {content: ""; display: inline-block; width: 1px; height: 20px; background-color: #D0D7E7; position: absolute; top: 50%; transform: translateY(-50%); right: 20px;}

/* 리스트(입력)_공통 */
form.setting-form {border-top: 1px solid #2b2b2b;}
form.setting-form > section {display: flex; justify-content: space-between; align-items: stretch;}
.form-col {width: 100%; display: flex; flex-direction: column;}
.form-col .form-field {display: flex; height: 100%; border-right: 1px solid #E2E6EB;}
.form-col:last-child .form-field {border-right: none;}
.field-input-wrap {display: flex; gap: 10px; width: 100%;}
.form-col .form-field label.field-label {width: 150px; box-sizing: border-box; font-family: "Pretendard-Bold"; border-right: 1px solid #E2E6EB; flex: 0 0 150px;}
/* 2026-05-21 가로 정렬 폼 css 추가 */
.form-row{width: 100%; display: flex;}
.form-row .form-row-field{width: 100%;display: flex;flex-direction: column;height: 100%; border-right: 1px solid #E2E6EB;}
.form-row .form-row-field:last-child{border-right:none;}
.form-row .form-row-field label.field-label{width: 100%; display: block;padding: 16px 18px 16px;box-sizing: border-box;font-family: "Pretendard-Bold"; background: #F8F9FB; flex:none;}
.form-row .form-row-field div.field-full-wrap{width: 100%; padding: 16px 18px 16px;border-bottom: 1px solid #E2E6EB; box-sizing:border-box;}
.field-input > div {margin-bottom: 10px;}
.title-input-type {width: 100%;}
.title-input-type.select-row {display: flex; align-items: center; gap: 10px;}
.title-input-type p.input-title {margin-bottom: 6px; font-family: "Pretendard-Medium";}
.title-input-type input {width: 100%;}
.desc-list {margin-top: 20px; width: 100%;}
.field-full-wrap {width: 100%;}
.field-full-wrap .title-input-type input[type="text"] {width: 100%;}
.title-input-type select {width: 100%;}
.memo-type > textarea.memo-textarea {font-size:16px; width: 100%; height: 130px; box-sizing: border-box; padding: 10px; border: 1px solid #D0D7E7; border-radius: 5px; line-height: 20px; resize: vertical; font-family: "Pretendard-Regular"}
.memo-type > textarea.memo-textarea.memo50 {height: 50px;}
td .memo-type {padding: 0 10px;}
.input-unit {display: flex; align-items: center; gap: 6px; width: 100%;}
.input-unit span {width: 34px; flex: 0 0 auto;}
.input-unit > span.txt {width: auto; flex: 0 0 auto;}
.input-type-none {background-color: #F8F9FB; color: #A3A9B3;}
.input-wrap {width: 100%;}
.input-wrap .input-option-group {display: flex; align-items: center; gap: 6px; width: 100%;}
.input-wrap .input-option-group input, select {width: 100%; flex: 1 1 auto;}
.input-wrap .input-top-group {display: flex; align-items: flex-start; gap: 20px; width: 100%;}
.input-btn-wrap {width: 100%; display: flex; gap: 6px; align-items: center;}
.input-btn-wrap input {width: 100%; flex: 1;}
.input-disabled {background-color: #EEF1F4; color: #2b2b2b;}
.input-static {background-color: #EEF1F4; color: #2b2b2b;}
.cont-flex {display: flex; gap:30px;}
.flex {display: flex; align-items: center;}
.right-blue-search-wrap {position: relative; display: flex; align-items: center;}
.right-blue-search {position: absolute; right: 10px; border: 0; background: transparent; cursor: pointer;}
.search-action-box {width: 100%;}
.search-action-input {width: 100%; display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; border: 1px solid #D0D7E7; background-color: #fff; border-radius: 5px; max-height: 140px; height: 140px; overflow: auto;}
.search-action-input li {display: flex; align-items: center; height: 40px; border: 1px solid #D0D7E7; border-radius: 999px; background-color: #fff; overflow: hidden;}
.search-action-input li a {display: inline-flex; align-items: center; height: 100%; padding: 0 12px; font-family: "Pretendard-Medium";}
.search-action-input li.on {background-color: var(--color-main04); border-color: var(--color-main04);}
.search-action-input li.on a {color: #fff;}
.manager-title-btn {display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px;}
.manager-title-btn > .manager-title {margin-bottom: 0;}
.h-half {height: 50% !important;}
.h-auto {height: auto !important;}
.form-field.h-auto {flex: 1 1 0;}
.title-input-flex {display: flex; gap: 30px; align-items: center; width: 100%;}
.title-input-flex > div {width: 100%;}
.title-input-flex div.labeled-input-box {display: flex; gap: 6px; align-items: center;}
.title-input-flex div.labeled-input-box span {flex: 0 0 auto;}
.free-select:has(+ .free-input) {width: 200px;}

/* 리스트(입력)_별개 */
div.cont-info section.manager-wrap form.setting-form section.course-settings .form-col .form-field .radio-group .title-input-type {margin-top: 20px;}
div.cont-info section.manager-wrap form.setting-form section.course-info .form-col .form-field .field-input-wrap .title-input-type .select-info {margin-top: 10px;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .course-subject-fields {width: 100%; padding: 16px 18px; box-sizing: border-box;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .course-full-field {width: 100%;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .course-check-inline label,
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .type-select-none-wrap label {display: inline-flex; align-items: center; gap: 8px; margin-right: 0; line-height: 1.4;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .course-check-inline input[type="checkbox"],
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .type-select-none-wrap input[type="checkbox"] {width: 18px; height: 18px; flex: 0 0 auto;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .course-check-inline span,
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .type-select-none-wrap span {display: inline-block; white-space: normal;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .type-select-none-wrap {margin-top: 10px;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .type-select-none-guide {margin-top: 10px;}
div.cont-info section.manager-wrap form.setting-form section.course-subject-settings .is-hidden {display: none !important;}
div.cont-info div.cont-flex {height: 700px;}
div.cont-info div.cont-flex > div > .wrap {height: 100%;}
div.cont-info div.cont-flex div.sms-cont-left {width:30%}
div.cont-info div.cont-flex div.cont-left section.wrap div.graywrap-guide-box {display: flex; justify-content: space-between;}
div.cont-info div.cont-flex div.cont-left section.wrap div.graywrap-guide-box p {font-size: 18px;}
div.cont-info div.cont-flex div.cont-left section.wrap div.graywrap-guide-box p span {color: var(--color-main04); margin-left: 10px;}
div.cont-info div.cont-flex div.cont-left section.wrap ul.id-chip-list {max-height: 340px; overflow-y: auto; scrollbar-gutter: stable;}
div.cont-info div.cont-flex div.cont-left section.wrap ul.id-chip-list li.chip{display:flex; height: 40px; justify-content: space-between; align-items:center; gap:6px; padding:0 20px 0; border:1px solid #d0d7e7; border-radius:999px; background:#fff; font-size:16px; color:#111827; margin-bottom: 10px;}
div.cont-info div.cont-flex div.cont-left section.wrap ul.id-chip-list li.chip .remove{ width:18px; height:18px; border-radius:50%; border:0; cursor:pointer; background:#111827; color:#fff; font-size:14px; display: flex; justify-content: center; align-items: center;}
div.cont-info div.cont-flex div.cont-left section.wrap div h1.sms-number {font-size: 18px;}
div.cont-info div.cont-flex div.cont-left section.wrap div p.sms-title {margin-bottom: 10px;}
div.cont-info div.cont-flex div.sms-cont-right {width: 70%;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div.title-radio {display: flex; justify-content: space-between; align-items: center;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div.title-radio strong {font-size: 18px;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div.title-radio div.radio-group label span.byte-pill {display: inline-block; padding: 4px 10px; border: 1px solid #D0D7E7; background-color: #F8F9FB; color: #797F85; border-radius: 999px; font-size: 14px;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div div.memo-type > textarea.memo-textarea {height: 420px;  border-radius: 0 0 4px 4px;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div div.memo-info {display: flex; align-items: center; color: #fff; margin-top: 10px; border-radius: 4px 4px 0 0; background-color: var(--color-main04); padding: 0 14px 0; height: 40px;}
div.cont-info div.cont-flex div.sms-cont-right section.wrap div.graywrap-guide-box div.radio-group label div.flex p {flex:0 0 auto;}
div.cont-info div.cont-flex div.email-cont-left {width: 60%;}
div.cont-info div.cont-flex div.email-cont-left section.wrap div div.memo-type > textarea.memo-textarea {height: 520px;}
div.cont-info div.cont-flex div.email-cont-right {width: 40%;}

 /* tabs-nav */
.depth04-tab {display: none;}
.depth04-tab.is-active {display: block;}
div.search-tab-wrap ul.ui-tabs-nav {margin: 0;}
ul.ui-tabs-nav {display: flex; width:100%; margin: 20px 0 20px; flex-wrap: wrap;}
ul.ui-tabs-nav > li {display: flex; flex: 1; text-align: center; border: 1px solid #D0D7E7; background-color: #fff; padding: 0; line-height: normal;}
ul.ui-tabs-nav li a {display: flex; flex: 1; align-items: center; justify-content: center; width: 100%; padding: 12px 0;}
ul.ui-tabs-nav li.is-active a {background-color: var(--color-main04); border: none; color: #fff; font-family:"Pretendard-Bold"; width: 100%;}
ul.ui-tabs-nav > li.tab-w {flex-grow: 0;}
ul.ui-tabs-nav li a.tab-search-basic, ul.ui-tabs-nav li a.tab-search-advanced {width: 330px;}
ul.ui-tabs-cert li a {width: 200px !important;}
ul.ui-tabs-nav.out-taps-nav {margin: 20px 0 0;}

/* 모달 */
.modal{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; z-index:9999;}
.modal input {min-width: none;}
.modal .modal-overlay{position:absolute; inset:0; background:rgba(0,0,0,.5);}
.modal .modal-panel{position:relative; background:#fff; padding:30px; border-radius:10px; max-width:92vw; max-height: 85vh; min-width: 350px; overflow-y: auto;}
.modal .modal-panel div.table-modal, .modal .modal-panel div.input-modal {width: 800px;}
.modal .modal-panel-delete{position:relative; background:#fff; padding:30px; border-radius:10px; max-width:720px; transform: translateY(-40px);}
.modal .modal-x{position:absolute; top:8px; right:16px; background:none; border:0; font-size:30px; cursor:pointer;}
.modal .modal-title {display: flex; align-items: center; font-size: 20px; margin-bottom: 30px;}
.modal .sub-title-icon {margin-right: 4px;}
.modal .modal-input-title {flex: 0 0 130px;}
.modal .modal-cont .modal-input-wrap {display: flex; align-items: center; margin-bottom: 20px;}
.modal .modal-cont .modal-input-wrap input {flex: 1 1 auto; min-width: 0;}
.modal .modal-actions {display: flex; justify-content: flex-end; gap: 10px;}
.modal .modal-actions a {display: inline-block; align-items: center; padding: 10px 16px 10px;}
.modal .modal-actions a.modal-close-btn {border: 1px solid var(--color-main04); background-color: #fff; color: var(--color-main04);}
.modal .delete-modal-actions a.delete-close-btn {border: 1px solid var(--color-main04); background-color: #fff; color: var(--color-main04);}
.modal .modal-actions a.modal-save-btn {background-color: var(--color-main04); color: #fff;}
.modal .delete-modal-actions a.delete-save-btn {background-color: var(--color-main04); color: #fff;}
.modal .delete-modal-actions {display: flex; gap: 10px; margin-top: 30px;}
.modal .delete-modal-actions a {flex: 1; text-align: center; height: 40px; line-height: 40px;}
.modal .modal-actions-center {display: flex; justify-content: center; gap: 10px;}
.modal .modal-cont .delete-text .delete-main-text {font-size: 18px;}
.modal .modal-cont .delete-sub-text {font-size: 16px; color: #797F85; margin-top: 10px;}
.modal .modal-panel div.modal-guide-text {background-color: #F8F9FB; color: #797F85; padding: 16px; border-radius: 5px; margin-bottom: 20px; line-height: 24px; max-width: 1000px;}
.modal .modal-panel div.modal-guide-text .guide-section {margin-bottom: 20px;}
.modal .modal-panel div.modal-guide-text .guide-section:last-child {margin-bottom: 0;}
.modal .modal-panel div.modal-guide-text .guide-title {font-size: 16px; font-weight: 700; color: #2b2b2b; margin-bottom: 8px; font-family: 'Pretendard-Bold';}
.modal .modal-panel div.modal-guide-text .guide-title strong {font-weight: 700; color: #2b2b2b;}
.modal .modal-panel div.modal-guide-text .guide-section.notice .guide-title {color: #d63384;}
.modal .modal-panel div.modal-guide-text .guide-section.notice .guide-title strong {color: #d63384;}
.modal .modal-panel div.modal-guide-text p strong {font-weight: 700; color: #2b2b2b;}
.modal .modal-panel div.modal-guide-text .guide-section.notice p strong {color: #d63384;}
.modal .modal-cont .modal-select-wrap {display: flex; align-items: flex-start; gap: 40px; flex-wrap: nowrap; background-color: #F8F9FB; padding: 16px; border-radius: 5px; margin-bottom: 20px;}
.modal .modal-cont .modal-select-wrap legend {position: static; display: block; width: auto; height: auto; font-size: 16px; line-height: 1.4; overflow: visible; visibility: visible; clip: auto; clip-path: none; white-space: normal; margin: 0 0 10px;     font-family: 'Pretendard-Bold';}
.modal .modal-cont .modal-select-wrap h4 {flex: 0 0 auto;}
.modal .modal-cont .modal-select-wrap .option-group {border: 0; padding: 0; min-inline-size: 0; margin-bottom: 40px;}
.modal .modal-cont .modal-select-wrap .option-group:last-child {margin-bottom: 0px;}
.modal .modal-cont .modal-select-wrap .option-group ul.option-list {display: flex; flex-wrap: wrap; column-gap: 40px; row-gap: 20px; width: 100%;}
.modal .modal-cont .modal-select-wrap .option-group ul.option-list li label.option {display: flex; align-items: center; gap: 4px;}
.modal-info-wrap {padding: 16px; background-color: #F8F9FB;}
.modal-info {display: flex; gap: 10px; align-items: center;}
.modal-info + .modal-info, .modal-info-txt + .modal-info-txt {margin-top: 10px;}
.modal .modal-panel .modal-info-wrap .calc-divider {border: 1px solid #ddd; margin: 16px 0;}
.modal .modal-panel .modal-info-wrap .modal-info span.modal-sub-txt {margin-left: 4px; color: #666; font-size: 14px;}
.modal .modal-panel .modal-cont div.popup-txt-info {height: 379px; width: 322px; padding: 28px; border: 1px solid #A3A9B3; display: flex; flex-direction: column; justify-content: space-between;}
.modal .modal-panel .modal-cont div.popup-txt-info p.popup-num {font-size: 16px; margin-bottom: 8px; color: #D0D7E7;}
.modal .modal-panel .modal-cont div.popup-txt-info p.popup-main-text {font-size: 24px; height: 64px; margin-bottom: 10px;}
.modal .modal-panel .modal-cont div.popup-txt-info p.popup-sub-text {font-size: 18px; padding-top: 24px; border-top: 1px solid #D0D7E7; line-height: 1.5; word-wrap: break-word;}
.modal .modal-panel .modal-cont div.popup-img-info {height: 435px; width: 378px; border: 1px solid #A3A9B3;}
.modal .modal-panel .modal-cont div.popup-img-info img {width: 100%; height: 100%; object-fit: contain;}
.modal .popup-modal-actions {display: flex;}
.modal .popup-modal-actions a {flex:1; text-align: center; height: 48px; line-height: 44px; border: 2px solid var(--color-main04); border-radius: 8px; font-size: 16px; font-family: "Pretendard-Medium";}

/* 출석부 팝업(반응형) */
div.cont-info section.contents-form div.list-wrap ul.status-guide {display: flex; gap: 1.875rem; margin-bottom: 2.5rem; font-size: 1rem;}
div.cont-info section.contents-form div.list-wrap ul.status-guide li {display: flex; gap: 0.25rem; align-items: center;}
div.cont-info section.contents-form div.list-wrap div.att-list div.name-wrap {display: flex; align-items: center; gap: 0.625rem;}
div.cont-info section.contents-form div.list-wrap div.att-list div.name-wrap div.name {font-size: 18px;}
div.cont-info section.contents-form div.list-wrap div.att-list div.name-wrap div.sub-name {color: #797F85; display: flex; gap: 1.25rem;}
div.cont-info section.contents-form div.list-wrap div.att-list div.name-wrap div.sub-name span.bar-id {position: relative;}
div.cont-info section.contents-form div.list-wrap div.att-list div.name-wrap div.sub-name span.bar-id::before {content: ""; width: 1px; height: 20px; background-color: #D0D7E7; position: absolute; left: -0.625rem;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.name-wrap {display: flex; align-items: center; gap: 0.625rem;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.name-wrap div.sub-name {color: #797F85; display: flex; gap: 1.25rem;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.name-wrap div.sub-name span.bar-id {position: relative;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.name-wrap div.sub-name span.bar-id::before {content: ""; width: 1px; height: 20px; background-color: #D0D7E7; position: absolute; left: -0.625rem;}
div.att-class, div.att-item {display: inline-flex; justify-content: space-between; gap: 4px; align-items: center;}
div.att-class div input[type="button"] {display: inline-block; width: 1.5rem; height: 1.5rem; font-size: 1rem; background-color: #fff; border: 1px solid #E2E6EB; border-radius: 5px; cursor: pointer;}
div.att-item div {box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);}
div.att-item div input[type="button"] {display: inline-block; width: 1.25rem; height: 1.25rem; background-color: #fff; border: 0; cursor: pointer;}
div.att-list + div.att-list, div.att-single-list + div.att-single-list {margin-top: 3.75rem;}
div.att-list div.table-hscroll table.list-table tbody tr td.mob-class {display: none;}
div.cont-info section.title-btn-wrap div.att-btn-wrap {display: none;}
div.cont-info section.contents-form div.list-wrap div.att-list div.att-info-wrap div.att-dropdown {display: none;}
/* 개인출석부 */
div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap {position: relative;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap div.att-total {display:flex; align-items:center; gap:0.375rem; line-height:1;}
.att-bar{flex:0 0 6px; width:0.375rem; height:1.125rem; background: var(--color-main02); margin-right: 6px;}
.att-info-wrap {display: flex; align-items: center; margin-bottom: 0.625rem; gap: 1.25rem;}
div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap div.att-dropdown {display: none;}

@media screen and (max-width:1024px) {
    td.att-label {display: none;}
    thead.att-thead {display: none;}
    tr.web-class {display: none;}
    div.cont-info section.contents-form div.list-wrap div.att-list div.att-info-wrap div.att-dropdown {display: inline-block;}
    div.cont-info section.contents-form div.list-wrap div.att-list div.att-info-wrap {justify-content: space-between;}
    div.att-list div.table-hscroll table.list-table tbody tr td.mob-class, div.att-list div.table-hscroll table.list-table tbody tr td.row-class {display: flex; align-items: center;}
    div.att-list div.table-hscroll table.list-table tbody tr td.mob-class {border-top: 1px solid #D0D7E7;}
    div.att-list div.table-hscroll table.list-table tbody tr td:nth-child(even) {background-color: #F8F9FB;}
    div.att-list div.table-hscroll table.list-table tbody tr td:nth-child(odd) {margin-bottom: 1.25rem;}
    div.att-list div.table-hscroll table.list-table tbody tr td:before {content: attr(data-th); display: inline-block; font-size: 1rem; text-wrap: nowrap; padding-right: 1.875rem; width: 6.25rem;}
    div.att-list div.table-hscroll table.list-table tbody tr td.row-class:before {color: #004FA3; font-weight: bold;}
    div.att-list div.table-hscroll table.list-table tbody tr {display: block; width: 100%; overflow: hidden;}
    div.att-list div.table-hscroll table.list-table tbody tr.web-class {display: none;}
    div.cont-info section.title-btn-wrap div.att-btn-wrap {display: block;}
    /* 개인출석부 반응형 */
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap {justify-content: space-between;}
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap div.att-total div.att-dropdown {display: inline-block;}
    .att-single-list .table-hscroll { overflow-x: visible; }
    .att-single-list .list-table { display: block; width: 100%; border-collapse: separate; }
    .att-single-list .list-table thead { display: none; }
    .att-single-list .list-table tbody {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem;}
    .att-single-list .list-table tbody tr { display: contents; }
    .att-single-list .list-table tbody td {display: flex; align-items: center; gap: 0.5rem; box-sizing: border-box; border: 1px solid #E2E6EB; background: #fff; min-width: 0; overflow: hidden;}
    .att-single-list .list-table tbody td::before {content: ""; flex: 0 0 3rem; font-weight: 600; color: #272E43; white-space: nowrap; overflow: hidden;}
    .att-single-list .list-table tbody td::before  { content: attr(data-th) }
    .att-single-list .date-input { flex: 1; min-width: 0; }
    .att-single-list .date-field { width: 100%; min-height: 36px; min-width: 0; }
    div.att-single-list table.list-table thead th:last-child, table.list-table tbody td:last-child {border-right: 1px solid #E2E6EB;}
}
@media screen and (max-width:540px) {
    .att-info-wrap {gap: 0.375rem;}
    .att-single-list .list-table tbody {grid-template-columns: 1fr;}
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap {flex-wrap: wrap; padding-right: 2.25rem;}
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap .name-wrap,
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap .att-total{flex: 0 0 100%; min-width: 0;}
    div.cont-info section.contents-form div.list-wrap div.att-single-list div.att-info-wrap .att-total .att-dropdown{display: inline-block; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
}

/* 시스템 기본정보 */
div.basic-title .simple-file .visually-hidden {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0,0,0,0);white-space:nowrap;border:0}
div.basic-title .simple-file .file-text {background-color: #EEF1F4;}
div.basic-title .bulk-row {margin: 10px 10px 20px;}
.basic-panel {display: flex; align-items: stretch; gap: 20px;}
.basic-panel + .basic-panel {margin-top: 20px;}
.basic-panel .basic-cont {display: flex; flex: 1; padding: 20px; box-shadow: 0 2px 5px rgba(208, 215, 231, 1); border-radius: 5px; background-color: #fff;}
.basic-panel .basic-cont:nth-child(2) {align-items: flex-start;}
.basic-cont .basic-time-cont, .basic-input-cont {width: 100%; position: relative;}
.basic-cont .basic-time-cont .basic-title h4 {flex: 1; display: flex; align-items: center;}
.basic-cont .basic-time-cont .basic-title .input-time-unit {position: absolute; top: 0; right: 0;}
.basic-cont .basic-time-cont .basic-title .input-time-unit input {width: 70px;}
.basic-cont .basic-time-cont .basic-title .input-time-unit span {font-weight: bold;}
.basic-cont .basic-time-cont .control-row {margin-top: 10px; display: flex; gap: 20px;}
.basic-cont .basic-time-cont .control-row .slider-wrap {flex: 1;}
.basic-cont .basic-time-cont .control-row .slider-wrap #timeRange{width:100%; height:4px; border-radius:999px; appearance:none; background:#D0D7E7; outline:0}
.basic-cont .basic-time-cont .control-row .slider-wrap #timeRange::-webkit-slider-thumb{appearance:none; width:24px; height:24px; border-radius:50%; border: 1px solid #D0D7E7; background:#fff; cursor:pointer; box-shadow:0 4px 5px rgba(0, 0, 0, 0.2)};
.basic-cont .basic-time-cont .control-row .slider-wrap #timeRange::-moz-range-thumb{width:24px; height:24px; border-radius:50%; border:1px solid #D0D7E7; background:#fff; cursor:pointer; box-shadow:0 4px 5px rgba(0, 0, 0, 0.2);} /* 파이어폭스로 볼때 */
.basic-cont .basic-time-cont .control-row .slider-wrap .ticks{display:flex; justify-content:space-between; margin-top:10px; font-size:12px; color:#97A0AE}
.basic-cont .basic-time-cont .control-row .slider-wrap .ticks span {width: 20px; text-align: center;}
.basic-cont .basic-time-cont .control-row .input-side-btn {flex: 0 0 auto;}
.basic-cont .basic-input-cont .basic-title .basic-input-wrap {display: flex; gap: 6px; margin-top: 6px;}
.basic-cont .basic-input-cont .basic-title .basic-input-wrap input {flex: 1;}
.basic-cont .basic-input-cont .basic-title .basic-input-wrap select {flex: 1;}
.basic-cont .basic-time-cont .basic-title h4 img.sub-title-icon, .basic-cont .basic-title h4 img.sub-title-icon  {margin-right: 4px;}
.basic-cont .basic-time-cont .basic-title h4 img.sub-title-icon, .basic-cont .basic-title #previewManagerLogo .current-file {display: flex; align-items: center; gap: 10px;}
.basic-cont .basic-time-cont .basic-title h4 .basic-cont .basic-title #previewManagerLogo .current-file img {width: 40px; border: 1px solid #EEF1F4;}
.basic-cont .basic-input-cont .basic-title .input-guide-text {font-size: 14px; color: var(--color-main04); margin-top: 6px;}
hr {border: none; border-top: 1px solid #E2E6EB; margin: 30px 0;}
.basic-cont .basic-input-cont .basic-title .basic-bold-title {font-size: 18px; font-weight: bold;}
.basic-cont .basic-id-cont{flex: 1;}
.basic-cont .basic-id-cont .basic-title .basic-input-wrap {display: flex; gap: 6px; margin-top: 6px;}
.basic-cont .basic-id-cont .basic-title .basic-input-wrap input {flex:1;}
.basic-cont .basic-id-cont .id-list-wrap{  margin-top:8px;  padding:12px;  min-height:96px;  background:#f7f9fc;  border:1px solid #edf1f7;  border-radius:8px;}
.basic-cont .basic-id-cont .id-list-wrap .id-chip-list {  display:flex;  flex-wrap:wrap;  gap:8px;  list-style:none;  margin:0;  padding:0;}
.basic-cont .basic-id-cont .id-list-wrap .id-chip-list .chip{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #d0d7e7; border-radius:999px; background:#fff; font-size:16px; color:#111827;}
.basic-cont .basic-id-cont .id-list-wrap .id-chip-list .chip .remove{ width:18px; height:18px; border-radius:50%; border:0; cursor:pointer; background:#111827; color:#fff; font-size:14px; display: flex; justify-content: center; align-items: center;}

/* 입력줄과 버튼 정렬 (필요 시) */
.basic-input-wrap {display:flex; align-items:center; gap:8px;}
.basic-input-wrap input[type="text"] {flex:1; min-width:0;}

/* 학적부 */
div.table-wrap {padding: 40px 24px 28px 24px; background-color: #fff;}
div.table-wrap table.head-table {width:100%; border-collapse:collapse; border: 0;}
.head-table th, .head-table td {padding:5px; border: 0;}
.head-table th.border_view, .head-table td.border_view {border:1px solid #000;text-align:center;}
.page-title{font-size:33px;background-color: #fff;}
.body-table{width:100%;border-collapse:collapse;background-color: #fff;}
.body-table th, .body-table td {border:1px solid #000; padding:10px;}
.body-table th{font-weight:normal; text-align:left; font-weight:bold; text-align:center;}

/* 강의계획서 */
div.type-select label.type-one:has(input[type="radio"]:checked){border-color:var(--color-main04); box-shadow:0 0 0 2px #E5EEFF;}
div.type-select label.type-one {min-height: 300px; display: flex; flex-direction: column;}
.file-title .simple-file .visually-hidden {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0,0,0,0);white-space:nowrap;border:0}
.file-title .simple-file .file-text {background-color: #EEF1F4;}
.file-title #previewManagerLogo .current-file img {width: 40px; border: 1px solid #EEF1F4;}
div.file-title {display: flex; align-items: center;}
div.type-select {display: flex; justify-content: space-between; gap: 10px;}
div.type-select label.type-one {width: 50%; padding: 16px; border: 1px solid #D0D7E7; border-radius: 10px;}
div.type-tit {display: flex; justify-content: space-between;}
p.radio-tit {display: flex; align-items: center; gap: 6px;}
span.tit-bar {display: inline-block; flex:0 0 6px; width:6px; height:18px; background: var(--color-main02);}
.file-title {display: flex; align-items: center;}
.file-title h4 {flex: 1; display: flex; align-items: center;}
.file-title h4 img.sub-title-icon  {margin-right: 4px;}
.simple-file {display: flex; gap: 6px; margin-top: 6px;}
.simple-file input {flex: 1;}
div.list-wrap div.type-select label.type-one .center-wrap {margin-top: auto;}
.stepper.stepper--circle .stepper-list{display:flex; align-items:center; gap:6px; list-style:none; padding:0; margin:0;}
.stepper.stepper--circle .step-pill{display:inline-grid; place-items:center; width:40px; height:40px; border-radius:9999px; font-weight:700; font-size:16px; line-height:1; box-sizing:border-box;}
.stepper.stepper--circle .step-pill[aria-current="step"]{border:2px solid #0F56A8; color: var(--color-main04); background-color: #fff; box-shadow:0 0 0 2px #E3ECF8 inset;}
.stepper.stepper--circle .step-pill[aria-current="false"],
.stepper.stepper--circle .step-pill:not([aria-current]){border: 1px solid #D0D7E7; color: #D0D7E7;}
.stepper.stepper--circle .step-sep{position:relative; width:20px; height:12px; display:inline-block;}
.stepper.stepper--circle .step-sep::before{content:""; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); height:0; border-top:1px dashed #0F56A8;}
div.cont-info div.step-panel section.manager-wrap div.result-info-bar h4.manager-title {margin-bottom: 0; line-height: 40px;}

/* 설문 평가 관리 */
div.cont-info section.manager-wrap form.setting-form section.course-settings div.form-col div.form-field div.memo-type textarea.survey-memo {height: 80px;}
div.cont-info section.manager-wrap div.header-actions div.action-bar .add-box {display: inline-flex; align-items: center; gap: 4px; position: relative;}
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box .add-toggle {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; margin: -1px;}/* 체크박스 숨김 */
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box .add-menu {display: none; list-style: none; padding: 0; margin: 0; gap: 4px; align-items: center;}
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box .add-toggle:checked ~ .add-menu {display: inline-flex;}
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box .add-toggle:checked + .add-btn {box-shadow: 0 0 0 3px #E5EEFF;}
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box label.add-btn {cursor: pointer;}
div.cont-info section.manager-wrap div.header-actions div.action-bar div.add-box .add-menu .choice-btn {display: inline-flex; align-items: center; gap: 4px; padding: 0 14px 0; border: 1px solid #D0D7E7; height: 40px; line-height: 40px; box-sizing: border-box;}
.q-title-pd {background-color: #F8F9FB; border-radius: 5px; padding: 16px; margin: 10px 0 10px;}
.q-item {display: flex; align-items: center; gap: 12px;}
.q-item .q-item-left {display: flex; align-items: center; gap: 10px;}
.q-item .q-item-left .q-item-title {display: flex; align-items: center; gap:4px;}
.q-item .q-item-left .q-item-title b {color: var(--color-main04);}
.q-item .q-item-left .q-item-title strong {width: 60px;}
.q-item .input-btn-wrap .q-item-type {color: #797F85; background-color: #EEF1F4; padding: 0 14px 0; border: 1px solid #D0D7E7; border-radius: 5px; height: 40px; line-height: 40px; display: inline-block; box-sizing: border-box; font-family: "Pretendard-Medium"; flex: 0 0 auto; user-select: none;}
.q-item .input-btn-wrap .q-item-type.type-view {height: 30px; line-height: 30px;}
.q-item div.input-btn-wrap .x-btn {width: 30px; height: 30px; line-height: 30px; padding: 0; border-radius: 5px;}
.q-list .q-row {display: flex; align-items: center; gap: 6px;}
.q-list .q-row span.q-idx {background-color: var(--color-main04); color: #fff; border-radius: 50%; width: 20px; height: 20px; line-height: 20px; display: inline-flex; justify-content: center; font-size: 14px;}
.q-list .q-row strong {flex: 0 0 auto; width: 68px;}
.q-row + .q-row, .q-bar + .q-list-wrap  {margin-top: 10px;}
div.q-title-pd .q-bar {border-bottom: 1px dashed #DDE3EE; padding-bottom: 10px;}
/* div.q-title-pd .q-bar::after {content: ""; position:absolute; left: -16px; right: -16px; bottom: -10px; border-bottom: 1px dashed var(--color-main04);} */
.q-item .q-item-left span.q-item-title span.tit-bar {margin-right: 4px;}
/* 하단 토스트 팝업 스타일 */
.toast-notice {position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); border-radius: 999px; min-width: 320px; max-width: min(720px, 90vw); display: flex; align-items: center; gap: 10px; padding: 14px 20px; background-color: #1F2933; z-index: 9999;}
.toast-notice.show {opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
.toast-notice .toast-icon {width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.2); display:inline-flex; align-items:center; justify-content:center; font-weight:700;}
.toast-notice .toast-msg {color: #fff; flex:1 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.toast-notice .divider {width:1px; height:18px; background:rgba(255,255,255,0.6); margin:0 6px 0 2px;}
.toast-notice .toast-action {color:#9fb4ff; font-weight:700; text-decoration:none; padding:4px 8px; border-radius:6px;}
/* 설문평가조회 세부결과표 */
.contents-form .list-table td .sr-result{min-width: 200px; padding: 0 10px;}
.contents-form .list-table td .sr-result .sr-block {display: flex; gap: 4px; align-items: stretch;}
.contents-form .list-table td .sr-result .sr-block .sr-col {flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 6px;}
.contents-form .list-table td .sr-result .sr-block .sr-col .sr-seg {width: 100%; height: 20px; cursor: pointer;}
.contents-form .list-table td .sr-result .sr-block .sr-col .sr-top {font-family: "Pretendard-Medium";}
.contents-form .list-table td .sr-result .sr-block .sr-col .sr-bot {color: #4F4F4F;}
.contents-form .list-table td .sr-result .sr-block .sr-col .sr-bot span.flag {color: var(--color-main04); margin-left: 2px;}
.sr-col:first-child .sr-seg {border-top-left-radius:999px; border-bottom-left-radius:999px;}
.sr-col:last-child .sr-seg {border-top-right-radius:999px; border-bottom-right-radius:999px;}
.sr-seg.b1 {background:var(--color-main04);}
.sr-seg.b2 {background:#1E68C1;}
.sr-seg.b3 {background:#3D82D7;}
.sr-seg.b4 {background:#6DA0E6;}
.sr-seg.b5 {background:#9BBCEF;}
.sr-seg.b6 {background:#C6DBF7;}
.sr-seg.b7 {background:#E4EFFB;}
.sr-tooltip {position: fixed; z-index: 2000; background-color: #fff; border: 1px solid #D0D7E7; border-radius: 6px; padding: 8px 10px; font-size: 14px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); pointer-events: none; color: #111;  max-width: 280px; white-space: normal; line-height: 20px; word-break: break-word;}
.sr-tooltip b {font-weight: 700;}
/* 설문평가보고서 */
div.cont-info section.contents-form .drop-table tbody tr.drop-head td .drop-q {display: flex; align-items: center; justify-content: space-between; position: relative;}
div.cont-info section.contents-form .drop-table tbody tr.drop-head td .drop-q .drop-toggle {position: absolute; right: 12px; top: 50%; transform: translateY(-50%);}
div.cont-info section.contents-form .drop-table tbody tr.drop-head[aria-expanded="true"] .drop-toggle img {transform: rotate(180deg);}
div.cont-info section.contents-form .drop-table tbody tr.drop-detail td.answer-list .expander .opinion-list {padding: 16px 20px; background-color: #F8F9FB;}
div.cont-info section.contents-form .drop-table tbody tr.drop-detail td.answer-list .expander .opinion-list li {display: flex; gap: 4px; align-items: flex-start; padding: 14px 0; border-bottom: 1px dashed #D0D7E7;}
div.cont-info section.contents-form .drop-table tbody tr.drop-detail td.answer-list .expander .opinion-list li:last-child {border-bottom: 0}
div.cont-info section.contents-form .drop-table tbody tr.drop-detail td.answer-list .expander .opinion-list .badge {flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 9999px; background-color: var(--color-main04); color: #fff; font-weight: 700; font-size: 14px;}
div.cont-info section.contents-form .drop-table tbody tr.drop-detail td.answer-list {padding: 0;}
div.cont-info section.contents-form .list-table .drop-detail > td {text-align: left; line-height: 24px;}



/* 다중검색 */
div.search-bar div.search-btn-flex {gap: 20px 6px; width: calc(100% - 70px);}
.chips-input {padding: 0 10px 0; height: 40px; border: 1px solid #D0D7E7; line-height: 40px; width: calc(100% - 70px); border-radius: 5px; background-color: #fff;}
.detail-picker{position:relative; width:100%}
.chips-input .placeholder{opacity:.7; user-select:none}
.chip{display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; background:#F1F5F9; border:1px solid #E2E8F0; font-size:14px; line-height:1;}
.chip .chip-remove{background:transparent; border:0; cursor:pointer; font-size:14px; background: url('../img/x-black.svg') center / cover no-repeat; width: 10px; height: 10px;}
.chip .chip-remove:hover{opacity:.75}
.detail-picker .w-full[readonly]{position:absolute; left:-9999px; width:1px; height:1px}
.detail-dropdown{position:absolute; left:0; top:calc(100% + 8px); width:100%; background:#fff; border:1px solid #E5E7EB; border-radius:10px; padding:10px; box-shadow:0 10px 30px rgba(0,0,0,.08); opacity:0; transform:translateY(6px); pointer-events:none; transition:opacity .15s ease, transform .15s ease; z-index:9999;}
.detail-dropdown[aria-hidden="false"]{opacity:1; transform:translateY(0); pointer-events:auto}
.dropdown-head{display:flex; gap:10px; align-items:center; margin-bottom:8px}
.detail-filter-input{flex:1; height:36px; padding:0 10px; border:1px solid var(--border-color-input); border-radius:8px;}
.dropdown-ctrl{display:flex; align-items:center; gap:10px; font-size:14px}
.dropdown-ctrl label {display: flex; align-items: center;}
.btn-clear{background:transparent; color:#6B7280; cursor:pointer}
.btn-clear:hover{color:#111827}
.check-list{max-height:260px; overflow:auto; padding:6px; margin:0; list-style:none; border:1px solid #F1F5F9; border-radius:8px;}
.check-list li{padding:6px 8px}
.check-list label{display:flex; align-items:center; gap:8px; cursor:pointer}
.check-list input[type="checkbox"]{width:18px; height:18px}
.dropdown-actions{display:flex; justify-content:flex-end; gap:8px; padding:10px 4px 2px}
.picture-wrap {width: 105px; height: 140px; border: 1px solid #D0D7E7; flex: 0 0 auto; box-sizing: border-box; color: #A3A9B3; display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: center; cursor: pointer;}
div.submit-confirm {text-align: center; display: flex; justify-content: center; flex-direction: column; margin: 50px 0 26px;}
div.submit-confirm h4 {font-size: 20px; margin-bottom: 20px;}
div.submit-confirm div.submit-info {display: flex; align-items: center; justify-content: center; gap: 30px; font-family:"Pretendard-Medium";}
div.submit-confirm div.submit-info > div {display: flex; align-items: center; justify-content: center; gap: 10px;}
div.submit-confirm div.submit-info > div > span.submit-label {color: #797F85;}

/* 250930 엑셀일괄등록시 에러 스타일 코드 */
.error-cell {background-color: #f8d7da; color: #721c24; font-weight: bold;}
.error-msg {font-size: 0.85em; font-style: italic; color: #d9534f;}
.warn-cell {background-color: #fff3cd; color: #856404; font-weight: bold;}

/* 수강등록현황 */
.header-actions .action-bar .action-bar-filter {display: flex; align-items: center; gap: 6px;}
.header-actions .action-bar .action-bar-filter > a {--dot-color:#D0D7E7; display: inline-flex; align-items: center; gap: 4px; box-sizing: border-box; line-height: 40px; height: 40px; color: #2b2b2b; background-color: #F8F9FB; padding: 0 14px 0; font-size: 16px; border: 1px solid #D0D7E7;}
.header-actions .action-bar .action-bar-filter > a::before {content: ""; width: 8px; height: 8px; background: var(--dot-color); flex: 0 0 8px;}
.header-actions .action-bar .action-bar-filter > a .count-badge {color: #797F85;}
.header-actions .action-bar .action-bar-filter > a.is-selected {background-color: #fff; border: 1px solid var(--dot-color);}
.header-actions .action-bar .action-bar-filter > a.is-selected .count-badge {color: var(--dot-color);}
.header-actions .action-bar .action-bar-filter a[data-status="all"]{--dot-color: var(--color-main04);}
.header-actions .action-bar .action-bar-filter a[data-status="1"]{--dot-color: var(--color-main03);}
.header-actions .action-bar .action-bar-filter a[data-status="2"]{--dot-color: #EF4444;}
.header-actions .action-bar .action-bar-filter a[data-status="3"]{--dot-color: var(--color-main02);}
.header-actions .action-bar .action-bar-filter a[data-status="5"]{--dot-color: #DC2626;}
.header-actions .action-bar .action-bar-filter a[data-status="7"]{--dot-color: #2563EB;}
.header-actions .action-bar .action-bar-filter a[data-status="8"]{--dot-color: #1D4ED8;}
.header-actions .action-bar .action-bar-filter a[data-status="9"]{--dot-color: #EC4899;}
.header-actions .action-bar .action-bar-filter a[data-status="11"]{--dot-color: #7C3AED;}

@page {
    size: A4 portrait;
}

@media print {
    body {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .att-single-list {
        break-inside: avoid;
        page-break-inside: avoid;
        break-after: avoid-page;
        page-break-after: auto;
    }

    .att-single-list .att-info-wrap,
    .att-single-list .table-hscroll,
    .att-single-list .list-table {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* 251022 설문 결과 인쇄용 페이지 구분 */
.poll-print-page-break {page-break-before: always;}

/* 251022 응답인원 0명 버튼 비활성화 */
.poll-btn-disabled {pointer-events: none; opacity: 0.5;}

/* 설문 결과 보고서 - 평가문항 왼쪽 정렬 */
.text-left {text-align: left; padding-left: 16px;}

/* 결제/환불 일괄처리 */
div.list-wrap div.list-card ul.list-card-wrap {display: flex; flex-direction: column; gap: 30px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont {display: flex; box-shadow:0 2px 5px rgba(208, 215, 231, 1); border-radius: 20px; border: 1px solid #D0D7E7;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-left {padding: 20px; border-right: 1px solid #D0D7E7; width: 23%;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-left label.card-title {display: flex; align-items: center; gap: 4px; font-size: 18px; padding: 5px 10px; background-color: #F8F9FB; border-radius: 10px; cursor: pointer;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-left ul li {display: flex; justify-content: space-between; margin-top: 10px; font-family: "Pretendard-Medium";}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-left ul li p.col-head {color: #797F85;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-left ul li p.col-body {color: #4F4F4F;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right {padding: 20px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-top {display: flex; gap: 10px; border-bottom: 1px dashed #D0D7E7; padding:10px 0 40px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.label-cont .caption {font-family:"Pretendard-Medium"; color:#797F85; display: inline-block; margin-bottom: 4px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom {display: flex; justify-content: space-between; align-items: flex-start; width: 100%; gap: 20px; padding-top: 20px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.card-bt-left {display: flex; align-items: center; flex-wrap: wrap; gap: 16px; min-height: 68px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.card-bt-left div.inline-paid {width: auto; min-width: 250px; margin-left: 4px; padding-left: 14px; border-left: 1px dashed #D0D7E7;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.card-bt-memo {display: flex; flex-direction: column; justify-content: center; flex: 1; min-width: 240px; max-width: 480px; gap: 6px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.card-bt-memo .memo-input {width: 100%; min-height: 68px; padding: 8px 10px; border: 1px solid #D0D7E7; border-radius: 8px; font-family: "Pretendard-Regular"; resize: vertical;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.fee-item {display: flex; justify-content: space-between; width: 230px; font-family: "Pretendard-Bold"; font-size: 18px;}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.item01 span.fee-price {color: var(--color-main03);}
div.list-wrap div.list-card ul.list-card-wrap li.card-cont div.card-cont-right div.card-bottom div.item02 span.fee-price {color: var(--color-main01);}

/* 국평원자료 다운로드 */
td.left-txt-btn {text-align: center; vertical-align: middle; width: 160px;}
td.left-txt-btn div.label-cont {display: inline-block; text-align: center;}
td.left-txt-btn div.label-cont div.label-inner {display: flex; flex-direction: column; align-items: center; gap: 4px;}
td.left-txt-btn div.label-cont div.label-inner label.caption {align-self: flex-start; text-align: left; font-size: 14px; color: #797F85; font-family: "Pretendard-Medium";}
td.left-txt-btn div.label-cont div.label-inner label.caption div.card-field {display: inline-flex; justify-content: center; gap: 8px; padding: 0 6px; box-sizing: border-box;}

/* 전체메뉴(사이트맵) */
body.all-menu-body {background-color: #fff;}
body.modal-open {overflow: hidden;}
.all-menu-modal[aria-hidden="true"] {display: none;}
.all-menu-modal[aria-hidden="false"] {display: block;}
.all-menu-backdrop {position: fixed; inset: 0; background-color: rgba(0,0,0,0.6); z-index: 998;}
.all-menu-dialog {position: fixed; inset: 0; z-index: 999; overflow-y: auto;}
.all-menu-dialog .all-menu {min-height: 100vh; box-sizing: border-box;}
span.am-dep-box {display: inline-block; width: 5px; height: 5px; background-color: #797F85; margin-right: 4px; flex: 0 0 auto;}
span.am-title-box {display: inline-block; width: 5px; height: 5px; background-color: var(--color-main04); margin-right: 4px; flex: 0 0 auto; transform: translateY(10px);}
div.all-menu {background-color: #fff; padding: 60px 120px;}
div.all-menu em {font-style: normal;}
div.all-menu div.am-wrap a > em {position: relative; display: inline-block; padding-bottom: 2px;}
div.all-menu div.am-wrap a > em::after {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #2b2b2b; transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease;}
div.all-menu div.am-wrap a > em:hover::after,
div.all-menu div.am-wrap a > em:focus-visible::after {transform: scaleX(1);}
div.all-menu div.am-wrap a:hover span.am-dep-box {background-color: var(--color-main04);}
div.all-menu div.am-title-wrap {margin-bottom: 80px; display: flex; align-items: center; justify-content: space-between;}
div.all-menu div.am-title-wrap h1 {user-select: none;}
div.all-menu div.am-title-wrap div.close-icon {width: 22px; height: 22px; flex: 0 0 auto;}
div.all-menu div.am-title-wrap div.close-icon > a {display: inline-flex; width: 100%; height: 100%; align-items: center; justify-content: center;}
div.all-menu div.am-title-wrap div.close-icon > img {width: 22px; height: 22px; display: block;}
div.all-menu div.am-wrap div.am-box {display: flex; gap: 70px; padding: 30px 0; border-bottom: 1px solid #E2E6EB; align-items: start;}
div.all-menu div.am-wrap div.am-box:last-child {border-bottom: none;}
div.all-menu div.am-wrap div.am-box h2.am-dep01 {width: 120px; font-size: 20px; display: flex; align-items: flex-start;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner {display: flex; gap: 46px; flex-wrap:wrap;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list {min-width: 140px;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list > li.am-dep02:has(+ ul.am-dep03) > span {user-select: none;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list > li.am-dep02:has(+ ul.am-dep03:hover) .am-dep-box {background-color: var(--color-main04);}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list li.am-dep02 a {display: flex; align-items: center; gap: 2px; font-family: "Pretendard-Medium";}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list li.am-dep02 a::after {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: var(--color-main04); transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list li.am-dep02 > span {display: flex; align-items: center; gap: 2px;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 {display: flex; flex-direction: column; gap: 16px;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 a {position: relative; display: inline-block; padding-bottom: 1px;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 li > a {color: #797F85; position: relative; display: inline-block; padding-bottom: 1px;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 li > a::after {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: var(--color-main04); transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease;}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 li > a:hover {color: var(--color-main04);}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep03 li > a:hover::after {transform: scaleX(1);}
div.all-menu div.am-wrap div.am-box div.am-dep-inner ul.am-dep-list > li.am-dep02 + ul.am-dep03 {margin-top: 20px;}

/* 원고관리 */
div.manuscript-wrap div.mns-item-list {display: flex; align-items: flex-start;}
div.manuscript-wrap div.mns-item-list h4.mns-title {display: inline-flex; gap: 6px; width: 180px; padding: 14px 0;}
div.manuscript-wrap div.mns-item-list + div.mns-item-list {border-top: 1px dashed #D0D7E7; padding-top: 20px; margin-top: 20px;}
div.manuscript-wrap div.mns-item-list div.mns-item-wrap {display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: 1;}
div.manuscript-wrap div.mns-item-list div.mns-item-wrap label.mns-item {display: flex; align-items: center; justify-content: space-between; width: 290px; padding: 10px 20px; border: 1px dashed #D0D7E7; transition: border .2s ease; border-radius: 10px; background-color: #fff; margin-right: 0;}
div.manuscript-wrap div.mns-item-list div.mns-item-wrap label.mns-item:has(input[type="radio"]:checked) {border: 1px solid var(--color-main04);}
div.manuscript-wrap div.mns-item-list div.mns-item-wrap label.mns-item > div {display: flex; align-items: center; gap: 6px;}

/* 신청 가능 증명서 설정 */
div.mode-wrap div.mode-item-list {display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
div.mode-wrap div.mode-item-list div.mode-item-wrap label.mode-item {display: flex; align-items: center; justify-content: space-between; width: 340px; padding: 10px 20px; border: 1px dashed #D0D7E7; transition: border .2s ease; border-radius: 10px; background-color: #fff;}
div.mode-wrap div.mode-item-list div.mode-item-wrap label.mode-item:has(input.check-box:checked) {border: 1px solid var(--color-main04);}
div.mode-wrap div.mode-item-list div.mode-item-wrap label.mode-item > div {display: flex; align-items: center; gap: 6px;}

/* 251211 관리자 로그인 페이지 */
.bg-motion {position: fixed; inset: 0; overflow: hidden; z-index: -2;}
.bg-motion img {width: 110%; height: 110%; object-fit: cover; animation: bgFloat 18s ease-in-out infinite alternate; will-change: transform; filter: brightness(1.05);}
@keyframes bgFloat {
    0%   { transform: translate3d(-3%, -4%, 0) scale(1.05); }
    50%  { transform: translate3d(3%, 0, 0) scale(1.08); }
    100% { transform: translate3d(-2%, 3%, 0) scale(1.1); }
}
.particle-layer {pointer-events: none; position: fixed; inset: 0; z-index: -1; overflow: hidden;}
.particle {position: absolute; width: 4px; height: 4px; background: rgba(255, 255, 255, 0.85); border-radius: 50%; box-shadow: 0 0 8px rgba(255,255,255,0.9); animation: particleFloat linear infinite; opacity: 0;}
@keyframes particleFloat {
    0% { transform: translateY(10px) scale(0.7); opacity: 0; }
    10% { opacity: 1; }
    100% { transform: translateY(-180px) scale(1.1); opacity: 0; }
}
.content {position: relative; z-index: 10; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
.login-box {width: 540px; padding: 42px 50px 50px; border-radius: 28px; position: relative; backdrop-filter: blur(22px); background: rgba(255,255,255,0.14); border: 2px solid transparent; background-clip: padding-box; box-sizing: border-box;}
.login-box::before {content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: linear-gradient(135deg, rgba(252, 252, 252, 0.95), rgba(226, 226, 226, 0.85), rgba(255, 255, 255, 0.95)); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; z-index: -1;}
.login-logo {text-align: center; margin-bottom: 32px;}
.login-logo img {height: 70px; opacity: 0.95;}
.login-title {font-size: 1.55rem; font-weight: 600; color: #fff; text-align: center; margin-bottom: 32px; text-shadow: 0 0 10px rgba(150,180,255,0.6);}
div.login-box > .input-wrap {position: relative; margin-bottom: 24px;}
.input-wrap input.login-input {width: 100%; height: 58px; padding: 24px 18px 12px; font-size: 17px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.55); outline: none; background: rgba(255,255,255,0.90); color: #1F2430; font-weight: 500; transition: 0.25s ease; box-shadow: inset 0 0 6px rgba(255,255,255,0.55), 0 0 14px rgba(180,210,255,0.35);}
.input-wrap input.login-input::placeholder { color: transparent; }
.input-wrap input.login-input:focus {border-color: #7A6EF5; box-shadow: 0 0 8px rgba(122,110,245,0.35);}
/* 로그인 화면의 플로팅 라벨 전용: 다른 폼(input-wrap)까지 영향이 가지 않도록 범위를 제한 */
div.login-box > .input-wrap label {position: absolute; left: 20px; top: 22px; color: #BFC6D4; font-size: 15px; pointer-events: none; transition: 0.25s ease;}
.input-wrap input.login-input:focus + label,
.input-wrap input.login-input:not(:placeholder-shown) + label {top: 8px; left: 18px; font-size: 12px; opacity: 0.9; color: #B6C0CE;}
.input-wrap.pw-wrap input.login-input {padding-right: 50px;}
.pw-toggle {position: absolute; top: 50%; right: 16px; transform: translateY(-50%); border: none; background: transparent; cursor: pointer; padding: 0;}
.pw-toggle img {width: 22px; height: 22px; opacity: 0.65; transition: 0.25s;}
.pw-toggle:hover img {opacity: 1; transform: scale(1.05);}
.login-btn {width: 100%; margin-top: 10px; padding: 16px; font-size: 18px; font-weight: 700; border-radius: 12px; border: none; cursor: pointer; color: #ffffff; letter-spacing: 0.5px; background: linear-gradient(135deg, #7A6EF5, #5D8CFF); box-shadow: 0 0 18px rgba(130,130,255,0.45), 0 0 34px rgba(110,130,255,0.30); transition: 0.25s ease;}
.login-btn:hover { background: linear-gradient(135deg, #8B7CFF, #6DA1FF); box-shadow: 0 0 26px rgba(140,160,255,0.55), 0 0 46px rgba(150,180,255,0.35);}

input.login-input:-webkit-autofill,
input.login-input:-webkit-autofill:hover,
input.login-input:-webkit-autofill:focus,
input.login-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,0.90) inset !important;
  box-shadow: 0 0 0px 1000px rgba(255,255,255,0.90) inset !important;
  -webkit-text-fill-color: #1F2430 !important;
  caret-color: #1F2430 !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* 수강신청 검증 상태 표시 전용 안내 박스 */
.validation-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fff7e6;
  color: #c87600;
  font-size: 14px;
  line-height: 1.4;
}
.validation-hint::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(200, 118, 0, 0.35);
  border-top-color: rgba(200, 118, 0, 0.95);
  animation: validation-hint-spin 0.9s linear infinite;
}
@keyframes validation-hint-spin {
  to {
    transform: rotate(360deg);
  }
}

.apply-status-modal .status-message {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  word-break: keep-all;
}
.apply-status-modal .status-tab-wrap {
  margin-top: 12px;
}
.apply-status-modal .status-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.apply-status-modal .status-tab-btn {
  border: 1px solid #d6dae2;
  background-color: #fff;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  color: #56606f;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}
.apply-status-modal .status-tab-btn .tab-count {
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 12px;
  background-color: #f0f2f7;
  font-weight: 600;
  color: #1f2430;
  font-size: 12px;
}
.apply-status-modal .status-tab-btn.is-active {
  background-color: #3949ab;
  border-color: #3949ab;
  color: #fff;
}
.apply-status-modal .status-tab-btn.is-active .tab-count {
  background-color: rgba(255,255,255,0.2);
  color: #fff;
}
.apply-status-modal .status-tab-panel {
  display: none;
}
.apply-status-modal .status-tab-panel.is-active {
  display: block;
}
.apply-status-modal .status-error-wrapper {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  max-height: 360px;
  overflow-y: auto;
  background-color: #fafafb;
}
.apply-status-modal .status-error-block + .status-error-block {
  margin-top: 12px;
}
.apply-status-modal .status-error-title {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  margin-bottom: 6px;
  color: #2a2f3b;
}
.apply-status-modal .status-error-block {
  padding: 10px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(57,73,171,0.08), rgba(57,73,171,0.02));
  border: 1px solid rgba(57,73,171,0.12);
  box-shadow: 0 4px 8px rgba(31,36,48,0.05);
}
.apply-status-modal .status-error-title::before {
  content: '•';
  color: #3949ab;
  margin-right: 8px;
}
.apply-status-modal .status-error-list {
  margin: 0;
  padding-left: 20px;
  color: #444;
}
.apply-status-modal .status-error-list li + li {
  margin-top: 4px;
}
.apply-status-modal .status-empty {
  color: #666;
  font-size: 13px;
}
.apply-status-modal .status-type-desc {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #1f2430;
}
.select-readonly {
  pointer-events: none;
}

/* 원서 지원 내역 입력폼 */
div.cont-info #application-write-wrap section.contents-form{margin-bottom:30px;}
section.title-btn-wrap.application-write .btn-submit-final{padding: 0 14px 0 10px; height:40px; display:flex; gap:4px; align-items:center; color:var(--color-main04); background-color:#E5EEFF; font-size:16px; font-family:"Pretendard-Medium"; border:1px solid rgba(0, 79, 163,.5); cursor:pointer;}
section.title-btn-wrap.application-write .btn-submit-final.is-active{background-color:#D4E5FF; border-color:var(--color-main04);}
#application-write-wrap div.guide-box{background-color:#f6f9ff; color:var(--color-main04); font-family:"Pretendard-SemiBold"; border:1px solid rgba(0,79,163,.2); padding:16px 18px; border-radius:4px; margin-bottom:20px;}
#application-write-wrap div.application-info{display:flex; gap:20px; align-items:center; background:#FFF; padding:16px 20px; border-radius:4px; border:1px solid #E2E6EB; font-family:"Pretendard-Bold";}
#application-write-wrap div.application-info div.inf-item{padding-right:20px; border-right:1px solid #E2E6EB;}
#application-write-wrap div.application-info div.inf-item:last-child{border-right:none; padding-right:0;}
#application-write-wrap div.application-info div.inf-item span.tit{font-size:14px; font-family:"Pretendard-SemiBold"; color:#777; display:inline-block; margin-right:10px;}
#application-write-wrap div.application-info div.inf-item.status span.s-lab{font-family:"Pretendard-Bold"; font-size:14px; padding:6px 10px; border-radius:50px;}
#application-write-wrap div.application-info div.inf-item.status span.s-lab.lab01{background:#d1fae5; color:var(--color-main03);}
#application-write-wrap div.application-info div.inf-item.status span.s-lab.lab02{background:#ffe4e6; color:#f43f5e;}
#application-write-wrap #tab-app-step3 .ec-cont{margin-bottom:32px;}
#application-write-wrap #tab-app-step3 .ec-cont:last-of-type{margin-bottom:0;}
#application-write-wrap #tab-app-step3 .cont-in-box{border: 1px dashed #D0D7E7; border-radius: 5px; padding: 20px; background: #F8F9FB;; margin-bottom:20px;}
#application-write-wrap #tab-app-step3 .cont-in-box:first-child{background:#f6f9ff;}
#application-write-wrap #tab-app-step3 .cont-in-box .form-col .form-field > div, .form-field > label{background:#fff;}
#application-write-wrap #tab-app-step3 .cont-in-box .add-con-lab{padding: 0.25rem 0.5rem; border: 2px solid var(--color-main04); border-radius: 50px; background: #fff; display: inline-block; margin-right: 6px; font-family: 'Pretendard-Regular' !important; color: var(--color-main04);}
#application-write-wrap div.sub-title{display:flex; justify-content: space-between; align-items: center; margin-bottom: 16px;}
#application-write-wrap div.sub-title > h4{display:flex; align-items:center;}
#application-write-wrap .byte-guide{display:flex; justify-content:flex-end; gap:14px; margin-top:6px; font-size:13px; color:#667085; font-family:"Pretendard-Medium";}
#application-write-wrap .byte-guide strong{color:var(--color-main04); font-family:"Pretendard-Bold";}
#application-write-wrap .byte-guide em{font-style:normal; color:#344054; font-family:"Pretendard-Bold";}
#application-write-wrap .byte-guide.is-over strong{color:#f43f5e;}
#application-write-wrap div.application-noti-box{position:relative; text-align:center; font-size:18px; line-height:1.5; padding:18px; padding-top:50px; background:#ffe4e6; color:#f43f5e; font-family:'Pretendard-SemiBold',sans-serif; border-radius:5px;}
#application-write-wrap div.application-noti-box::before{content: '!'; position: absolute; width: 28px; height: 28px; left: 50%; top: 18px; transform: translateX(-50%); background: #f43f5e; color: #fff; font-size: 20px; line-height: 28px; border-radius: 50%; font-family: 'Montserrat_B', sans-serif;}
.application-status-badge{display:inline-flex; align-items:center; justify-content:center; min-width:58px; height:28px; padding:0 10px; border-radius:4px; font-family:'Pretendard-Bold',sans-serif; font-size:14px; line-height:1; white-space:nowrap;}
.application-status-badge.is-submitted{color:#13813a; background:#e9f8ed; border:1px solid #c9ecd2;}
.application-status-badge.is-saved{color:#f28a00; background:#fff7e8; border:1px solid #ffd58a;}
.application-delete-badge{display:inline-flex; align-items:center; justify-content:center; min-width:86px; height:26px; padding:0 12px; border-radius:999px; font-family:'Pretendard-Bold',sans-serif; font-size:13px; line-height:1; white-space:nowrap;}
.application-delete-badge.delete-badge-pass{color:#13813a; background:#e9f8ed; border:1px solid #c9ecd2;}
.application-delete-badge.delete-badge-fail{color:#d64040; background:#fff0f0; border:1px solid #ffcaca;}
.application-delete-badge.delete-badge-apply{color:#1a4fc4; background:#eef4ff; border:1px solid #cbdcff;}
.application-delete-badge.delete-badge-process-fail{color:#b85f00; background:#fff6e5; border:1px solid #f2aa3b;}
.application-delete-badge.delete-badge-admission-fail{color:#e33445; background:#fff0f3; border:1px solid #ff7b8a;}
.application-delete-badge.delete-badge-unpaid{color:#4c5be8; background:#eff1ff; border:1px solid #9aa3ff;}
.application-delete-badge.delete-badge-cancel{color:#555; background:#f4f5f7; border:1px solid #cfd4dc;}
.application-delete-badge.delete-badge-refund{color:#0b7285; background:#e7f8fb; border:1px solid #8bd7e5;}
.application-delete-lock{display:inline-flex; align-items:center; height:24px; margin-left:6px; padding:0 8px; border-radius:4px; color:#777; background:#f1f3f5; border:1px solid #dde1e5; font-family:'Pretendard-SemiBold',sans-serif; font-size:12px;}
.pass-locked-row{background:#fafafa;}

/***** term 약관동의 *****/
div.term-wrap div.term{margin-bottom:20px; border: 1px solid #ddd;}
div.term-wrap div.term div.term-input{position:relative;}
div.term-wrap div.term div.term-input a.term-box-arrow{width: 24px; height: 24px;  display: block; background: url(../img/next_arrow.png) center / 100% auto no-repeat; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%) rotate(90deg);}
div.term-wrap div.term div.term-input a.term-box-arrow.open{transform: translateY(-50%) rotate(270deg);}
div.term-wrap div.term div.term-input label{font-family:'Pretendard-Bold',sans-serif; display:block; padding:1rem; background:#F8F9FB; border-bottom:1px solid #ddd; cursor:pointer;}
div.term-wrap div.term div.term-input p.term-tit{font-size: 18px; padding:1rem; padding-left:0; font-family: 'Pretendard-Bold', sans-serif; display: block; padding: 1rem; background: #F8F9FB; border-bottom: 1px solid #ddd;}
div.term-wrap div.term div.term-box{border: none; background:#fff; overflow: hidden; height:0; border-radius:0;}
div.term-wrap div.term div.term-box.open{height: auto !important; padding: 16px; overflow-y: auto; max-height: 18rem; border-bottom:1px solid #ddd;}
div.term-wrap div.term div.term-box div.set{}
div.term-wrap div.term div.term-box p.tit01{font-family:'Pretendard-Bold','NotoKr_B',sans-serif; text-align:center; font-size:1.35em; margin:2rem 0;}
div.term-wrap div.term div.term-box p.tit02{font-family:'Pretendard-Bold','NotoKr_B',sans-serif; font-size:1.05em; margin:1.5rem 0 0.5rem 0;}
div.term-wrap div.term div.term-box p.txt01{margin-bottom:0.5rem;}
div.term-wrap div.term div.term-box ul.num{}
div.term-wrap div.term div.term-box ul.num > li{position:relative; padding-left:1rem; margin:0.32rem 0; color:#000;}
div.term-wrap div.term div.term-box ul.num > li:before{content:'0.'; display:block; font-size:1em; position:absolute; top:0; left:0;}
div.term-wrap div.term div.term-box ul.num > li:nth-child(1):before{content:'1.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(2):before{content:'2.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(3):before{content:'3.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(4):before{content:'4.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(5):before{content:'5.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(6):before{content:'6.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(7):before{content:'7.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(8):before{content:'8.';}
div.term-wrap div.term div.term-box ul.num > li:nth-child(9):before{content:'9.';}
div.term-wrap div.term div.term-box ul.bar{}
div.term-wrap div.term div.term-box ul.bar > li{position:relative; padding-left:0.65rem; margin:0.4rem 0; color:#5f5f5f; text-align:left;}
div.term-wrap div.term div.term-box ul.bar > li:before{content:'-'; display:block; color:#5f5f5f; font-size:1em; position:absolute; top:0; left:0;}
div.term-wrap div.term div.term-box > table{font-size:16px; text-align:center;}
div.term-wrap div.term div.term-box > table th{padding:0.5rem; border:1px solid #ddd; background:#eee;}
div.term-wrap div.term div.term-box > table td{padding:0.5rem; border:1px solid #ddd;}
div.term-wrap div.term ul.term-inf{border:1px solid #ddd; padding:1rem; margin:0.5rem 0;}
div.term-wrap div.term ul.term-inf li{font-size:0.95rem; margin-bottom:0.5rem; position:relative; padding-left:0.8rem;}
div.term-wrap div.term ul.term-inf li:last-child{margin-bottom:0;}
div.term-wrap div.term ul.term-inf li:before{content:''; display:block; width:5px; height:1px; background:#777; position:absolute; top:0.5rem; left:0;}
div.term-wrap div.term div.term-chk{font-family:'Pretendard-Bold', sans-serif; background:#F8F9FB; padding:0.5rem; display:flex; align-items:center; gap:2rem;}
div.term-wrap div.term div.term-chk label.c-input{font-family: 'Pretendard-Bold', sans-serif; padding: 0.5rem 1.8rem; padding-left:0;}

/* 원서 학업계획서는 문항이 많아 2열 그리드로 배치해 입력 가독성을 확보한다. */
#tab-app-step4 .application-plan-guide {
    margin-bottom: 20px;
    padding: 16px 18px;
    border: 1px solid #D0D7E7;
    border-radius: 5px;
    background: #F8F9FB;
    color: #555;
    line-height: 1.65;
}

#tab-app-step4 .application-plan-guide .guide-title {
    margin-bottom: 8px;
    color: #222;
    font-family: 'Pretendard-Bold', sans-serif;
}

#tab-app-step4 .application-plan-guide p + p {
    margin-top: 6px;
}

#tab-app-step4 .application-plan-attach-guide {
    margin-bottom: 10px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.5;
}

#tab-app-step4 .application-plan-file + .title-input-type {
    margin-top: 8px;
}

#tab-app-step4 .application-plan-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#tab-app-step4 .application-plan-grid .form-row-field {
    min-width: 0;
    border-right: 1px solid #E2E6EB;
}

#tab-app-step4 .application-plan-grid .form-row-field:nth-child(2n) {
    border-right: none;
}

#tab-app-step4 .application-plan-grid .field-label {
    min-height: 72px;
}

#tab-app-step4 .application-plan-grid .memo-type > textarea.memo-textarea {
    min-height: 150px;
}

#tab-app-step4 .application-plan-file {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
}

#tab-app-step4 .application-plan-file input[type="file"] {
    display: none;
}

#tab-app-step4 .application-plan-file .line-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #D0D7E7;
    border-radius: 4px;
    background: #fff;
    color: #272E43;
    font-family: 'Pretendard-Medium', sans-serif;
    cursor: pointer;
}

#tab-app-step4 .application-plan-file .file-name {
    flex: 1;
    min-width: 0;
    color: #555;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    #tab-app-step4 .application-plan-grid {
        grid-template-columns: 1fr;
    }

    #tab-app-step4 .application-plan-grid .form-row-field {
        border-right: none;
    }
}

/* 2026-07-10: 장제훈, 개설과목 목록에서 주강사를 공동강사와 구분한다. */
#searchResultBody .course-teacher-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
}

#searchResultBody .course-teacher {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}

#searchResultBody .course-teacher.is-main-teacher {
    color: #0755B8;
    font-family: "Pretendard-Bold";
    font-weight: 700;
}

/* 2026-07-30: 장제훈, 졸업사정 검색조건의 요건 안내 아이콘을 강조한다. */
.degree-requirement-guide-button {display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; margin-left: 4px; padding: 0; border: 0; border-radius: 50%; background: #e53935; color: #fff; font-size: 12px; font-weight: 700; line-height: 1; cursor: pointer; vertical-align: 1px;}
.degree-requirement-guide-button:hover, .degree-requirement-guide-button:focus-visible {background: #c62828; outline: 2px solid #ffcdd2; outline-offset: 2px;}
.graduation-requirement-guide-content {min-width: 460px;}
.graduation-requirement-credit-list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px;}
.graduation-requirement-credit-list p {display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 8px 10px; border: 1px solid #dce2eb; border-radius: 4px; background: #fff;}
.graduation-requirement-credit-list p.total-credit {grid-column: 1 / -1; border-color: #0b5cad; background: #edf5ff;}
.graduation-requirement-detail {margin-top: 2px; padding-left: 10px; color: #5e6978;}
.graduation-requirement-grade {margin: 0; padding: 10px; border-radius: 4px; background: #edf5ff; color: #0b5cad;}


/* 졸업작품 과목 선택 UI 개선 */
div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options {
    padding: 16px;
    border: 1px solid #E2E6EB;
    border-radius: 8px;
    background: #F8F9FB;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-header .input-title {
    margin-bottom: 3px;
    color: #272E43;
    font-family: "Pretendard-Bold";
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-description {
    color: #797F85;
    font-size: 13px;
    line-height: 1.5;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-state {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid #C8D9F5;
    border-radius: 999px;
    background: #EAF2FF;
    color: var(--color-main04);
    font-size: 13px;
    font-family: "Pretendard-Medium";
    white-space: nowrap;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid #E2E6EB;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-label {
    display: flex;
    flex: 0 0 112px;
    flex-direction: column;
    gap: 3px;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-label > span {
    color: #272E43;
    font-family: "Pretendard-Medium";
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-label > small {
    color: #97A0AE;
    font-size: 12px;
    line-height: 1.4;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row .course-check-inline {
    gap: 8px;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row .course-check-inline label {
    min-height: 36px;
    box-sizing: border-box;
    margin-right: 0;
    padding: 7px 12px;
    border: 1px solid #D0D7E7;
    border-radius: 6px;
    background: #fff;
    color: #4F4F4F;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row .course-check-inline label:hover {
    border-color: #9EB9E8;
    background: #F4F8FF;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row .course-check-inline label:has(input:checked) {
    border-color: var(--color-main04);
    background: #EAF2FF;
    color: var(--color-main04);
    font-family: "Pretendard-Medium";
    box-shadow: 0 0 0 1px var(--color-main04);
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row .course-check-inline label:has(input:disabled) {
    cursor: not-allowed;
    opacity: .55;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-guide {
    margin: 10px 0 0;
    color: #797F85;
    font-size: 13px;
    line-height: 1.5;
}

@media screen and (max-width: 540px) {
    div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options-header,
    div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-row {
        align-items: flex-start;
        flex-direction: column;
    }

    div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-option-label {
        flex-basis: auto;
    }
}


/* 메모와 졸업작품 설정을 같은 행에 배치합니다. */
div.cont-info section.manager-wrap form.setting-form section.course-note-row > .form-col {
    width: 50%;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .graduation-project-options {
    height: 100%;
    box-sizing: border-box;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .memo-type {
    height: 100%;
}

div.cont-info section.manager-wrap form.setting-form section.course-note-row .memo-type > textarea.memo-textarea {
    height: 100%;
    min-height: 180px;
}

@media screen and (max-width: 1024px) {
    div.cont-info section.manager-wrap form.setting-form section.course-note-row {
        flex-direction: column;
    }

    div.cont-info section.manager-wrap form.setting-form section.course-note-row > .form-col {
        width: 100%;
    }

    div.cont-info section.manager-wrap form.setting-form section.course-note-row > .form-col .form-field {
        border-right: none;
        border-bottom: 1px solid #E2E6EB;
    }

    div.cont-info section.manager-wrap form.setting-form section.course-note-row > .form-col:last-child .form-field {
        border-bottom: none;
    }
}
