/* 로그인 */
div.login-wrap{position:relative; width:100%; height:100vh; overflow:hidden; background: url('../img/login_bg.jpg') center 100% / cover no-repeat;}
div.login-wrap div.inner{position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:60rem; height:auto;}
div.login-wrap div.inner div.login-top div.mode{ font-size:2.5rem; color:#fff; text-align: right;}
div.login-wrap div.inner div.login-bot{width:100%; height:auto; padding:4rem; margin-top:1rem; border-radius:2rem; background:rgba(0, 0, 0, 0.6); box-shadow:0 8px 35px rgba(0, 0, 0, 0.2);}
div.login-wrap div.inner div.login-bot div.lb01{display: flex; justify-content: space-between; align-items: center;}
div.login-wrap div.inner div.login-bot div.lb01 div.logo{width: 22rem; height: auto;}
div.login-wrap div.inner div.login-bot div.lb01 div.logo img{display:inline-block; width:100%; height:auto;}
div.login-wrap div.inner div.login-bot div.lb01 div.form{ width:47%;}
div.login-wrap div.inner div.login-bot div.lb01 div.form input.id,
div.login-wrap div.inner div.login-bot div.lb01 div.form input.pw{height:4rem; line-height:4rem; background: none; color: #fff; padding:0 1rem; margin-bottom:0.5rem; border-radius:0; font-size:1.125rem; border: none; border-bottom: 1px solid #fff;}
div.login-wrap div.inner div.login-bot div.lb01 div.form input.id::placeholder,
div.login-wrap div.inner div.login-bot div.lb01 div.form input.pw::placeholder{color: #fff; opacity: 1;}
div.login-wrap div.inner div.login-bot div.lb01 div.form div.check{text-align:center;}
div.login-wrap div.inner div.login-bot div.lb01 div.form div.check label.c-input{font-size:1rem;}
div.login-wrap div.inner div.login-bot div.lb01 div.form a.login-btn{display:block; width:100%; height:4rem; line-height:4rem; margin-top:2rem; border-radius:2rem; background:linear-gradient(90deg, var(--color-main01) 0%, var(--color-main02) 100%); color:#fff; text-align:center; font-size:1.125rem; font-family:"Montserrat_SB";}
div.login-wrap div.inner div.login-bot div.lb02{margin-top:3rem; padding-top:1.5rem; border-top:1px solid #fff;}
div.login-wrap div.inner div.login-bot div.lb02 ul{display:flex;}
div.login-wrap div.inner div.login-bot div.lb02 ul li{width:50%; padding:0.75rem 1rem; border-right:1px solid #fff;}
div.login-wrap div.inner div.login-bot div.lb02 ul li:last-child{border-right:0;}
div.login-wrap div.inner div.login-bot div.lb02 ul li span.txt{display:block; margin-bottom:0.5rem; color:#fff; opacity: .8;}
div.login-wrap div.inner div.login-bot div.lb02 ul li span.txt br{display:none;}
div.login-wrap div.inner div.login-bot div.lb02 ul li a.link{display:block; font-size:1.125rem; font-family:"NotoKr_B"; color: #fff;}
div.login-wrap div.inner div.login-bot div.lb02 ul li a.link:after{content:""; display:inline-block; width:0.8rem; height:0.8rem; transform:translateY(1px) rotate(-90deg); margin-left:0.5rem; background:url("../img/arrow_wh.svg") center / cover no-repeat;}

/* 최초 로그인 시 보여지는 비밀번호 변경화면 */
div.first-change-pw{position:relative; width:100%; height:100vh; overflow:hidden;}
div.first-change-pw div.inner{position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:40rem; height:auto;}
div.first-change-pw div.box{width:100%; height:auto; padding:4rem; margin-top:1rem; border:1px solid #ddd; border-radius:3rem; background:#fff; box-shadow:0 8px 35px rgba(0, 0, 0, 0.2);}
div.first-change-pw div.box div.top{display: flex; flex-direction: column; justify-content: center; align-items: center; margin-bottom: 4rem;}
div.first-change-pw div.box div.top a.logo{display:inline-block; width:18rem; height:auto; margin-bottom: 1rem;}
div.first-change-pw div.box div.top div.title{font-size: 2rem; font-family: "NotoKr_B"; color: var(--color-main02); text-align: center;}
div.first-change-pw div.box div.top div.title > p.txt{font-size: 1.25rem; margin-top: 1rem; color: #777; font-family: "NotoKr_M"; line-height: 1.5;}
div.first-change-pw div.inner div.lb01 div.form span.sm-tit{margin-bottom: 0.5rem; display: inline-block; font-size: 1.125rem;}
div.first-change-pw div.inner div.lb01 div.form input.pw{height:4rem; line-height:4rem; padding:0 1.5rem; margin-bottom:1.5rem; border-radius:2rem; font-size:1.125rem;}
div.first-change-pw div.inner div.lb01 div.form div.check{text-align:center;}
div.first-change-pw div.inner div.lb01 div.form div.check label.c-input{font-size:1rem;}
div.first-change-pw div.inner div.lb01 div.form a.login-btn{display:block; width:100%; height:4rem; line-height:4rem; margin-top:2rem; border-radius:2rem; background:var(--color-main02); color:#fff; text-align:center; font-size:1.25rem; font-family:"NotoKr_B";}
div.first-change-pw div.inner div.lb01 div.form a.underline-btn{font-size: 1.125rem; text-decoration: underline; color: #777; text-align: center; margin-top: 2rem; display: block; font-family:"NotoKr_M";}


div.member div.form div.list.pw div.con div.con01 input{float:left; width:70%}
div.member div.form div.list.pw div.con div.con01 span.pw-secure{float:right; display:inline-block; width:28%; margin:0.5rem 0;}
div.member div.form div.list.pw div.con div.con02{margin-top:0.5rem;}
div.member div.form div.list.pw div.con div.con02 ul.pw-txt li{padding-left:1rem; text-indent:-1rem;}
div.member div.form div.list.birth div.con div.con01 div.sel-wrap{float:left; width:31%; margin-right:3.5%;}
div.member div.form div.list.birth div.con div.con01 div.sel-wrap:last-child{margin-right:0;}
div.member div.form div.list.auth > div{font-size:1.5rem; text-align:center;}
div.member div.form div.list.auth > div > a{display:block; padding:1rem 0;}
div.member div.form div.list.auth > div > a img{display:inline-block; width:4rem; height:auto; margin-right:0.5rem; vertical-align:middle;}
div.member div.form div.list.e-name div.con > div.con01{margin-bottom:0.5rem;}
div.member div.form div.list.id div.con input{float:left; width:70%; border-top-right-radius:0; border-bottom-right-radius:0;}
div.member div.form div.list.id div.con a.form-btn{float:left; display:inline-block; width:30%; height:3rem; line-height:3rem; background:#333; border-top-right-radius:0.5rem; border-bottom-right-radius:0.5rem; text-align:center; color:#fff;}
div.member div.form div.list.mail div.con div.con01{margin-bottom:0.25rem;}
div.member div.form div.list.mail div.con div.con01 input{float:left; width:35%;}
div.member div.form div.list.mail div.con div.con01 span.bar{float:left; width:5%; height:3rem; line-height:3rem;}
div.member div.form div.list.mail div.con div.con01 div.sel-wrap{float:left; width:23%; margin-left:2%;}
div.member div.form div.list.phone div.con div.sel-wrap,
div.member div.form div.list.phone div.con input{float:left; width:30%;}
div.member div.form div.list.phone div.con span.bar{float:left; width:5%; height:3rem; line-height:3rem;}
div.member div.form div.list.kor-add div.con div.con01{margin-bottom:0.5rem;}
div.member div.form div.list.kor-add div.con div.con01 input[type="text"]{float:left; width:70%; border-top-right-radius:0; border-bottom-right-radius:0;}
div.member div.form div.list.kor-add div.con div.con01 a.form-btn{float:left; display:inline-block; width:30%; height:3rem; line-height:3rem; background:#333; border-top-right-radius:0.5rem; border-bottom-right-radius:0.5rem; text-align:center; color:#fff;}
div.member div.form div.list.bank-account div.con div.con01{margin-bottom:0.25rem; display: flex; gap: 5px;}
div.member div.form div.list.bank-account div.con div.con01 input{width:40%;}
div.member div.form div.list.bank-account div.con div.con01 div.sel-wrap{width:23%;}

div.member.join div.join-type{text-align:center;}
div.member.join div.join-type label{margin:0 1rem;}

div.member.find div.find-type{margin-bottom:3rem; text-align:center;}
div.member.find div.find-type label{margin:0 1rem;}
div.member.find div.form div.list.phone,
div.member.find div.form div.list.mail{display:none;}

div.member.pw div.find-type{margin-bottom:3rem; text-align:center;}
div.member.pw div.find-type label{margin:0 1rem;}
div.member.pw div.form div.list.phone,
div.member.pw div.form div.list.email{display:none;}

/* 비밀번호 변경 모달 */
div.khu-modal.change-pw div.outer{min-width: 40rem;}

@media screen and (max-width:1440px){

}

@media screen and (max-width:1024px){
	div.login-wrap div.inner{width:90%;}
	div.first-change-pw div.inner{width:90%;}
}

@media screen and (max-width:900px){
	div.login-wrap div.inner div.login-bot div.lb01 div.logo{width: 20rem;}
}

@media screen and (max-width:768px){
	div.login-wrap{overflow:auto; padding:2rem;}
	div.login-wrap div.inner{position:inherit; top:auto; left:auto; transform:none; width:100%;}
	div.login-wrap div.inner div.login-top div.mode{font-size:2rem;}
	div.login-wrap div.inner div.login-bot{padding:3rem;}
	div.login-wrap div.inner div.login-bot div.lb01{flex-wrap: wrap;}
	div.login-wrap div.inner div.login-bot div.lb01 div.logo{margin: 0 auto;}
	div.login-wrap div.inner div.login-bot div.lb01 div.form{float:none; width:100%; margin-top:1.5rem;}
	div.login-wrap div.inner div.login-bot div.lb02{margin-top:2rem; padding-top:0; background: rgba(255,255,255,.4); border-radius: 1rem; border-top: 0; backdrop-filter:blur(1px);}
	div.login-wrap div.inner div.login-bot div.lb02 ul{padding: 1rem 0;}
	div.login-wrap div.inner div.login-bot div.lb02 ul li{padding: 0 1rem;;}
	div.login-wrap div.inner div.login-bot div.lb02 ul li span.txt br{display:block;}
	
	div.first-change-pw{height:auto; overflow:auto; padding:2rem;}
	div.first-change-pw div.inner{position:inherit; top:auto; left:auto; transform:none; width:100%;}
	div.first-change-pw div.box div.top a.logo{width:10rem;}
}

@media screen and (max-width:640px){
	div.member div.form div.list.auth > div > a img{display:block; margin:0 auto 1rem;}

	div.member.join div.join-type{text-align:left;}
	div.member.join div.join-type label{display:block; width:100%; margin:0.25rem 0;}
}

@media screen and (max-width:480px){
	div.login-wrap{padding:1.5rem;}
	div.login-wrap div.inner div.login-bot{padding: 2rem;}
	div.login-wrap div.inner div.login-bot div.lb02 ul{flex-wrap: wrap; padding: 0;}
	div.login-wrap div.inner div.login-bot div.lb02 ul li{width: 100%; padding: 1rem;}
div.login-wrap div.inner div.login-bot div.lb02 ul li:first-child{border-right: 0; border-bottom: 1px solid #fff;}

/* 로그인 직후 개인정보 활용 동의를 받는 모달 */
.student-agreement-modal{display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center; padding:1.5rem;}
.student-agreement-modal.is-open{display:flex;}
.student-agreement-dim{position:absolute; inset:0; background:rgba(12,18,35,.72); backdrop-filter:blur(4px);}
.student-agreement-panel{position:relative; width:min(760px, 100%); max-height:min(850px, 92vh); overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.28); color:#253047;}
.student-agreement-header{padding:28px 32px 20px; border-bottom:1px solid #e8ebf1;}
.student-agreement-header h2{margin:0 0 8px; font-size:24px; font-weight:700; color:#18243b;}
.student-agreement-header p{margin:0; color:#68758a; font-size:14px;}
.student-agreement-content{max-height:48vh; overflow-y:auto; padding:24px 32px; line-height:1.7; font-size:14px;}
.student-agreement-content h3{margin:0 0 18px; font-size:18px; color:#18243b;}
.student-agreement-section-title{display:flex; align-items:center; gap:8px; margin:24px 0 8px; padding:9px 12px; border-top:2px solid #315b91; border-bottom:1px solid #d5dfeb; background:#f2f6fb; color:#1e4e86; line-height:1.4;}
.student-agreement-section-title:first-of-type{margin-top:8px;}
.student-agreement-section-title span{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#315b91; color:#fff; font-size:12px; font-weight:700; flex:0 0 auto;}
.student-agreement-section-title strong{font-size:15px; font-weight:700;}
.student-agreement-section-title em{font-style:normal; color:#52729b; font-size:12px;}
.student-agreement-content p{margin:0; color:#556176;}
.student-agreement-content .agreement-introduction{margin-bottom:14px;}
.student-agreement-table{width:100%; border-collapse:collapse; table-layout:fixed; color:#556176; font-size:13px;}
.student-agreement-table th,.student-agreement-table td{border:1px solid #cbd5e3; padding:8px 10px; vertical-align:top; line-height:1.55;}
.student-agreement-table th{width:24%; background:#f3f6fa; color:#35496c; font-weight:700; text-align:center;}
.student-agreement-table td strong{color:#35496c;}
.student-agreement-table td small{font-size:12px;}
.student-agreement-choice{margin:8px 0 16px; padding:9px 12px; border:1px solid #cbd5e3; background:#f8faff; color:#35496c; font-weight:700; font-size:13px;}
.agreement-legal-note{margin-top:12px !important; font-size:12px;}
.agreement-signature{margin-top:20px !important; padding-top:14px; border-top:1px dotted #9aa8ba; color:#35496c !important;}
.student-agreement-check{position:relative; z-index:2; display:flex; gap:10px; align-items:flex-start; margin:0 32px; padding:15px 16px; border:1px solid transparent; border-radius:10px; background:#f5f7fb; color:#273753; font-size:14px; cursor:pointer; pointer-events:auto;}
.student-agreement-check.is-checked{border-color:#8da5e8; background:#eef2ff;}
.student-agreement-check input{position:relative; z-index:3; width:18px; height:18px; margin:1px 0 0; accent-color:#405ed8; cursor:pointer; pointer-events:auto;}
.student-agreement-actions{display:flex; gap:10px; justify-content:flex-end; padding:22px 32px 28px;}
.student-agreement-actions button{min-width:140px; height:46px; border:0; border-radius:8px; font-size:14px; font-weight:700; cursor:pointer;}
.student-agreement-cancel{background:#eef1f6; color:#5d687b;}
.student-agreement-submit{background:linear-gradient(90deg,#405ed8,#6179eb); color:#fff;}
.student-agreement-submit:disabled{opacity:.6; cursor:wait;}
@media (max-width:600px){
    .student-agreement-modal{padding:.75rem;}
    .student-agreement-header{padding:22px 20px 16px;}
    .student-agreement-header h2{font-size:20px;}
    .student-agreement-content{max-height:52vh; padding:20px; font-size:13px;}
    .student-agreement-check{margin:0 20px; font-size:13px;}
    .student-agreement-actions{padding:18px 20px 20px;}
    .student-agreement-actions button{min-width:0; flex:1;}
}

/* 번호별 구분과 체크박스 클릭 영역을 로그인 모달에 공통 적용한다. */
.student-agreement-section-title{display:flex; align-items:center; gap:8px; margin:24px 0 8px; padding:9px 12px; border-top:2px solid #315b91; border-bottom:1px solid #d5dfeb; background:#f2f6fb; color:#1e4e86; line-height:1.4;}
.student-agreement-section-title:first-of-type{margin-top:8px;}
.student-agreement-section-title span{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#315b91; color:#fff; font-size:12px; font-weight:700; flex:0 0 auto;}
.student-agreement-section-title strong{font-size:15px; font-weight:700;}
.student-agreement-section-title em{font-style:normal; color:#52729b; font-size:12px;}
.student-agreement-check{position:relative; z-index:2; pointer-events:auto; border:1px solid transparent;}
.student-agreement-check input{position:relative; z-index:3; cursor:pointer; pointer-events:auto;}
.student-agreement-check.is-checked{border-color:#8da5e8; background:#eef2ff;}

/* 약관 번호 헤더와 체크박스는 데스크톱·모바일 공통으로 적용한다. */
.student-agreement-section-title{display:flex; align-items:center; gap:8px; margin:24px 0 8px; padding:9px 12px; border-top:2px solid #315b91; border-bottom:1px solid #d5dfeb; background:#f2f6fb; color:#1e4e86; line-height:1.4;}
.student-agreement-section-title:first-of-type{margin-top:8px;}
.student-agreement-section-title span{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#315b91; color:#fff; font-size:12px; font-weight:700; flex:0 0 auto;}
.student-agreement-section-title strong{font-size:15px; font-weight:700;}
.student-agreement-section-title em{font-style:normal; color:#52729b; font-size:12px;}
.student-agreement-check{position:relative; z-index:2; pointer-events:auto;}
.student-agreement-check input{position:relative; z-index:3; cursor:pointer; pointer-events:auto;}
.student-agreement-check.is-checked{border-color:#8da5e8; background:#eef2ff;}
	
	div.member div.form div.list.pw div.con div.con01 input{float:none; width:100%;}
	div.member div.form div.list.pw div.con div.con01 span.pw-secure{float:none; display:block; width:100%;}
	div.member div.form div.list.id div.con input,
	div.member div.form div.list.id div.con a.form-btn,
	div.member div.form div.list.kor-add div.con div.con01 input[type="text"],
	div.member div.form div.list.kor-add div.con div.con01 a.form-btn{width:50%;}

	div.member div.form div.list.e-name div.con > div div.c-tit,
	div.member div.form div.list.e-name div.con > div input{display:block; width:100%;}
	
	div.member.find div.find-type{text-align:left;}
	div.member.find div.find-type label{display:block; margin:0;}
	div.member div.form div.list.auth > div{font-size:1.25rem;}
	div.member div.form div.list.mail div.con div.con01 input:nth-child(1){width:90%; margin-bottom:0.5rem;}
	div.member div.form div.list.mail div.con div.con01 span.bar{width:10%; margin-bottom:0.5rem;}
	div.member div.form div.list.mail div.con div.con01 input:nth-child(3){width:50%;}
	div.member div.form div.list.mail div.con div.con01 div.sel-wrap{width:48%;}
	div.member div.form div.list.bank-account div.con div.con01{flex-wrap: wrap;}
	div.member div.form div.list.bank-account div.con div.con01 input{width:100%;}
	div.member div.form div.list.bank-account div.con div.con01 div.sel-wrap{width:100%;}

	div.first-change-pw div.box{padding: 4rem 3rem;}
	div.first-change-pw div.box div.top{margin-bottom: 2.5rem;}
	div.first-change-pw div.box div.top div.title{font-size: 1.8rem;}
	div.first-change-pw div.box div.top div.title > p.txt{font-size: 1.125rem;}
	div.first-change-pw div.inner div.lb01 div.form span.sm-tit{font-size: 1rem;}
}

@media screen and (max-width:425px){

}

@media screen and (max-width:360px){
	div.first-change-pw div.box{padding: 3rem 2rem;}
}

/* 로그인 화면 계정 찾기 모달 */
body.member-modal-open{overflow:hidden;}
div.member-modal{display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center; padding:1.5rem;}
div.member-modal.is-open{display:flex;}
div.member-modal div.member-modal-dim{position:absolute; inset:0; background:rgba(7, 12, 18, .64); backdrop-filter:blur(3px);}
div.member-modal section.member-modal-panel{position:relative; z-index:1; width:min(58rem, 100%); max-height:calc(100vh - 3rem); overflow:hidden; border:1px solid rgba(255, 255, 255, .65); border-radius:1.4rem; background:rgba(255, 255, 255, .98); box-shadow:0 1.5rem 4rem rgba(0, 0, 0, .32);}
div.member-modal div.member-modal-head{display:flex; align-items:center; justify-content:space-between; padding:1.25rem 1.75rem; border-bottom:1px solid #eceaf0;}
div.member-modal div.member-modal-head h2{font-size:1.45rem; font-family:"NotoKr_B"; color:#24262a; letter-spacing:-.04rem;}
div.member-modal button.member-modal-close{display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border:0; border-radius:50%; background:transparent; color:#666; font-size:2rem; line-height:1; cursor:pointer; transition:.2s;}
div.member-modal button.member-modal-close:hover{background:#f1eff4; color:#222; transform:rotate(90deg);}
div.member-modal div.member-modal-body{max-height:calc(100vh - 8.5rem); overflow-y:auto; padding:1.5rem 1.75rem 1.75rem; scrollbar-width:thin; scrollbar-color:#aeb2b7 transparent;}
div.member-modal div.member-modal-body div.sub-wrap{width:auto; min-height:0; margin:0; padding:0; border-radius:0; background:transparent; box-shadow:none;}
div.member-modal div.member-modal-body div.b02{margin-top:0; padding:0; border-radius:0; background:transparent;}
div.member-modal div.member-modal-body div.form div.list{margin-bottom:.7rem; padding:.8rem 1rem; border:1px solid #ebe9ee; border-radius:.75rem; box-shadow:0 .25rem .9rem rgba(25, 28, 33, .06);}
div.member-modal div.member-modal-body div.form div.list div.tit{width:18%; padding:.55rem 0; font-size:1.05rem;}
div.member-modal div.member-modal-body div.form div.list div.tit span{padding-left:.35rem;}
div.member-modal div.member-modal-body div.form div.list div.con{width:82%;}
div.member-modal div.member-modal-body input[type="text"],
div.member-modal div.member-modal-body select{height:2.7rem; line-height:2.7rem;}
div.member-modal div.member-modal-body div.br-wrap > label.btn-radio{padding:.6rem 1rem;}
div.member-modal div.member-modal-body div.btn-wrap{margin:1.4rem 0 0;}
div.member-modal div.member-modal-body .khu-btn{min-width:8.5rem; padding:.7rem 1.5rem; border-radius:2rem; font-size:1.05rem; box-shadow:0 .35rem 1rem rgba(0, 0, 0, .18);}
div.member-modal div.member-modal-body .khu-btn.kb01{background:linear-gradient(90deg, var(--color-main01) 0%, var(--color-main02) 100%);}
div.member-modal div.member-modal-body .khu-btn:hover{transform:translateY(-2px); box-shadow:0 .55rem 1.4rem rgba(0, 0, 0, .24);}

@media screen and (max-width:640px){
    div.member-modal{padding:.75rem;}
    div.member-modal section.member-modal-panel{max-height:calc(100vh - 1.5rem); border-radius:1rem;}
    div.member-modal div.member-modal-head{padding:1rem 1.15rem;}
    div.member-modal div.member-modal-head h2{font-size:1.25rem;}
    div.member-modal div.member-modal-body{max-height:calc(100vh - 6.5rem); padding:1rem;}
    div.member-modal div.member-modal-body div.form div.list{padding:.8rem;}
    div.member-modal div.member-modal-body div.form div.list div.tit{float:none; width:100%; padding:0 0 .5rem;}
    div.member-modal div.member-modal-body div.form div.list div.con{float:none; width:100%;}
    div.member-modal div.member-modal-body .khu-btn{min-width:0; padding:.65rem 1.2rem; font-size:1rem;}
}

/* 회원정보 수정 전 비밀번호 재확인 화면 */
div.student-modify-auth{min-height:100vh; background:#f5f6f8;}
div.student-modify-auth div.sub-wrap.modify-auth{width:min(42rem, 100%); min-height:0; margin:2rem auto 0; padding:3rem; border:1px solid #e3e5e8; border-radius:1rem; background:#fff; box-shadow:0 .75rem 2.5rem rgba(0, 0, 0, .1);}
div.modify-auth div.modify-auth-guide{display:flex; flex-direction:column; gap:.5rem; padding:1rem 1.25rem; margin-bottom:1rem; border-radius:.6rem; background:#f4f7fb; color:#555; line-height:1.5;}
div.modify-auth div.modify-auth-guide strong{font-family:"NotoKr_B"; color:#263746;}
div.modify-auth form.form-wrap div.form{padding:1.25rem .5rem;}
div.modify-auth form.form-wrap div.f-tit{min-width:8rem;}
div.modify-auth form.form-wrap div.con{width:calc(100% - 8rem);}
div.modify-auth form.form-wrap input[type="password"]{width:100%; height:3.2rem; padding:0 1rem; border:1px solid #d4d8dd; border-radius:.35rem;}
div.modify-auth form.form-wrap input[type="password"]:focus{border-color:var(--color-main01); outline:0; box-shadow:0 0 0 .2rem rgba(0, 161, 168, .12);}
div.modify-auth form.form-wrap div.btn-wrap{margin-top:1.5rem;}
@media screen and (max-width:640px){
    div.student-modify-auth{padding:1.5rem;}
    div.student-modify-auth div.sub-wrap.modify-auth{margin-top:1rem; padding:1.5rem;}
    div.modify-auth form.form-wrap div.f-tit,
    div.modify-auth form.form-wrap div.con{width:100%; min-width:0;}
}

/* 회원정보 수정 비밀번호 재확인 모달 */
body.modify-auth-modal-open{overflow:hidden;}
div.student-modify-modal{display:none; position:fixed; inset:0; z-index:1200; align-items:center; justify-content:center; padding:1.25rem;}
div.student-modify-modal.is-open{display:flex;}
div.student-modify-modal-dim{position:absolute; inset:0; background:rgba(10, 18, 28, .68); backdrop-filter:blur(5px);}
section.student-modify-modal-panel{position:relative; z-index:1; width:min(31rem, 100%); padding:2.5rem 2.5rem 2.25rem; border:1px solid rgba(255,255,255,.7); border-radius:1.4rem; background:#fff; box-shadow:0 1.5rem 4rem rgba(0,0,0,.3); text-align:center; animation:studentModifyModalIn .22s ease-out;}
button.student-modify-modal-close{position:absolute; top:1rem; right:1rem; width:2.2rem; height:2.2rem; border:0; border-radius:50%; background:#f3f5f7; color:#65717b; font-size:1.6rem; line-height:1; cursor:pointer;}
button.student-modify-modal-close:hover{background:#e8edf1; color:#19232c;}
div.student-modify-modal-icon{display:flex; align-items:center; justify-content:center; width:3.6rem; height:3.6rem; margin:0 auto 1rem; border-radius:50%; background:linear-gradient(135deg,var(--color-main01),var(--color-main02)); color:#fff; font-size:1.8rem; font-family:"NotoKr_B"; box-shadow:0 .5rem 1.2rem rgba(0,151,167,.25);}
section.student-modify-modal-panel h2{margin:0; color:#202b34; font-size:1.55rem; font-family:"NotoKr_B";}
p.student-modify-modal-description{margin:.65rem 0 1.7rem; color:#6c7780; font-size:.98rem; line-height:1.55;}
section.student-modify-modal-panel form{text-align:left;}
section.student-modify-modal-panel label{display:block; margin-bottom:.5rem; color:#38444d; font-family:"NotoKr_B"; font-size:.95rem;}
section.student-modify-modal-panel input{width:100%; height:3.35rem; padding:0 1rem; border:1px solid #d5dce2; border-radius:.5rem; background:#fbfcfd; font-size:1rem;}
section.student-modify-modal-panel input:focus{border-color:var(--color-main01); outline:0; box-shadow:0 0 0 .2rem rgba(0,161,168,.14);}
p.student-modify-modal-error{min-height:1.35rem; margin:.45rem 0 0; color:#d34b4b; font-size:.88rem;}
div.student-modify-modal-actions{display:flex; gap:.6rem; margin-top:.8rem;}
div.student-modify-modal-actions button{flex:1; height:3.2rem; border:0; border-radius:.5rem; font-size:1rem; cursor:pointer;}
button.student-modify-modal-cancel{background:#eef1f3; color:#58636b;}
button.student-modify-modal-submit{background:linear-gradient(100deg,var(--color-main01),var(--color-main02)); color:#fff; font-family:"NotoKr_B"; box-shadow:0 .45rem 1rem rgba(0,144,163,.24);}
div.student-modify-modal-actions button:hover{transform:translateY(-1px);}
div.student-modify-modal-actions button:disabled{opacity:.6; cursor:wait; transform:none;}
@keyframes studentModifyModalIn{from{opacity:0; transform:translateY(10px) scale(.98);}to{opacity:1; transform:translateY(0) scale(1);}}
@media screen and (max-width:480px){
    section.student-modify-modal-panel{padding:2.25rem 1.5rem 1.5rem; border-radius:1rem;}
    p.student-modify-modal-description{font-size:.9rem;}
}

/* 로그인 약관 모달은 모든 해상도에서 동일하게 노출한다. */
.student-agreement-modal{display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center; padding:1.5rem;}
.student-agreement-modal.is-open{display:flex;}
.student-agreement-dim{position:absolute; inset:0; background:rgba(12,18,35,.72); backdrop-filter:blur(4px);}
.student-agreement-panel{position:relative; width:min(760px, 100%); max-height:min(850px, 92vh); overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.28); color:#253047;}
.student-agreement-header{padding:28px 32px 20px; border-bottom:1px solid #e8ebf1;}
.student-agreement-header h2{margin:0 0 8px; font-size:24px; font-weight:700; color:#18243b;}
.student-agreement-header p{margin:0; color:#68758a; font-size:14px;}
.student-agreement-content{max-height:48vh; overflow-y:auto; padding:24px 32px; line-height:1.7; font-size:14px;}
.student-agreement-content h3{margin:0 0 18px; font-size:18px; color:#18243b;}
.student-agreement-content h4{margin:18px 0 5px; font-size:15px; color:#35496c;}
.student-agreement-content p{margin:0; color:#556176;}
.student-agreement-check{display:flex; gap:10px; align-items:flex-start; margin:0 32px; padding:15px 16px; border-radius:10px; background:#f5f7fb; color:#273753; font-size:14px; cursor:pointer;}
.student-agreement-check input{width:18px; height:18px; margin:1px 0 0; accent-color:#405ed8;}
.student-agreement-actions{display:flex; gap:10px; justify-content:flex-end; padding:22px 32px 28px;}
.student-agreement-actions button{min-width:140px; height:46px; border:0; border-radius:8px; font-size:14px; font-weight:700; cursor:pointer;}
.student-agreement-cancel{background:#eef1f6; color:#5d687b;}
.student-agreement-submit{background:linear-gradient(90deg,#405ed8,#6179eb); color:#fff;}
.student-agreement-submit:disabled{opacity:.6; cursor:wait;}
@media (max-width:600px){
    .student-agreement-modal{padding:.75rem;}
    .student-agreement-header{padding:22px 20px 16px;}
    .student-agreement-header h2{font-size:20px;}
    .student-agreement-content{max-height:52vh; padding:20px; font-size:13px;}
    .student-agreement-check{margin:0 20px; font-size:13px;}
    .student-agreement-actions{padding:18px 20px 20px;}
    .student-agreement-actions button{min-width:0; flex:1;}
}
