:root{--key-color:#2C5BF6; --txt:#333; --muted:#777; --line:#E5E7EB; --cardLine:#E6E9EF; --bgSoft:#F3F5F8;}

/* =========================
BASE / LAYOUT
========================= */
#wrapper{overflow: hidden;}
.event-wrap{color:var(--txt);}
.inner{max-width:1200px; margin:0 auto;}
.lecture-wrap .inner{padding:0 0 60px;}

.blind{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

.mo-sub-header{display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line); background:#fff;}
.mo-sub-header-back{width:36px; height:36px; border:0; background:transparent; padding:0; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.mo-sub-header-back img{width:20px; height:auto;}
.mo-sub-header-title{font-size:16px; font-weight:600; margin:0;}

/* =========================
VISUAL
========================= */
.visual-wrap .visual{width:100%; max-width:1200px; margin:0 auto; text-align:center;}
.visual-wrap .visual h1{font-size:clamp(18px, calc(18px + (30 - 18) * ((100vw - 360px) / 840)), 30px); padding:56px 0;}

/* =========================
TABS
========================= */
.tab-contents{padding:0;}
.tab.tab-e{margin-bottom:24px;}
.tab.tab-e .tab-list{max-width:1200px; margin:0 auto; display:flex; border-bottom:1px solid var(--line);width:auto;}
.tab.tab-e .tab-btn{
	flex:1; padding:16px 0; background:transparent; border:0; font-size:clamp(14px, calc(14px + (16 - 14) * ((100vw - 360px) / 840)), 16px); color:#555; cursor:pointer; 
	position:relative;
}
.tab.tab-e .tab-btn.is-on{color:var(--key-color); font-weight:600;}
.tab.tab-e .tab-btn.is-on:after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--key-color);}
.tab-panel{display:none;}
.tab-panel.is-on{display:block;}

/* =========================
FILTER / CHIP
========================= */
.filter-box{background:#F7F7F7; border-radius:8px; padding:20px; margin:0 0 30px;}

.filter-row{display:flex; align-items:center; gap:0; position:relative;}
.filter-row + .filter-row{margin-top:10px;}
.filter-label{width:50px; flex:0 0 auto;font-size: 14px;color:#333;}

/* wrap: 섀도우/클리핑용 */
.filter-controls-wrap{flex:1; min-width:0; overflow:hidden; position:relative;}

/* scroll list */
.filter-controls.scroll_menu{display:flex; overflow-x:auto; overflow-y:hidden; cursor:grab; user-select:none; -ms-overflow-style:none; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.filter-controls.scroll_menu::-webkit-scrollbar{display:none;}
.filter-controls.scroll_menu .item{flex:0 0 auto; margin-left:8px;}
.filter-controls.scroll_menu .item:first-child{margin-left:0;}
.filter-controls.scroll_menu .chip{white-space:nowrap;}

/* shadow (overflow 있을 때만) */
.filter-shadow{position:absolute; right:0; top:0; bottom:0; width:18px; display:none; background:linear-gradient(to left, #F7F7F7 30%, rgba(247,247,247,0)); pointer-events:none;}
/* .filter-row.has-overflow .filter-shadow{display:block;} */

/* chip */
.chip{height:26px; padding:0 8px; border-radius:4px; border:1px solid #777; background:#fff; color:#555; font-size:14px; font-weight:400; cursor:pointer;}
.chip.is-on{border-color:var(--key-color); color:var(--key-color);}

/* =========================
FILTER SELECT (34px)
========================= */
.filter-controls .custom-select .select-btn{height:34px; min-width:200px; padding:0 10px; font-size:14px;}
.filter-controls .custom-select .select-arrow{width:8px; height:8px;}
.filter-controls .custom-select .option{padding:8px 12px; font-size:14px;}

/* basic select */
.sel{width:100%; height:32px; padding:0 12px; border:1px solid #D6DAE2; border-radius:6px; background:#fff; font-size:13px;}

/* =========================
INPUT
========================= */
.input-basic{width:100%; min-height:42px; padding:0 12px; border:1px solid #DBDEE5; border-radius:6px; font-size:14px; background:#fff;}
.input-basic::placeholder{color:#7E7E7E; opacity:1;}
.input-basic:-ms-input-placeholder{color:#7E7E7E;}
.input-basic::-ms-input-placeholder{color:#7E7E7E;}
.input-basic:disabled{background:#F5F5F5; color:#7E7E7E;}
.input-basic:focus{outline:none;}
.is-active .input-basic,.input-basic:focus{border-color:var(--key-color);}

.input-basic[readonly]{background:#F5F5F5; color:#888; cursor:default;}
.input-basic[readonly]:focus{outline:none; border-color:#DBDEE5;}

/* =========================
CUSTOM SELECT
========================= */
.custom-select{position:relative; display:inline-block; width:auto;}
.custom-select.select-wrap::after{content:none;}
.custom-select .select-btn{
	width:100%; min-width:150px; height:42px; padding:0 12px; border-radius:6px; border:1px solid #DBDEE5; 
	background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:14px;
	
}
.custom-select .select-text{flex:1; min-width:0; text-align:left; white-space:nowrap;}
.custom-select .select-arrow{width:10px; height:10px; margin-top: -7px; border-right:1px solid #222; border-bottom:1px solid #222; transform:rotate(45deg); flex:0 0 auto;}

.custom-select .select-list{position:absolute; left:0; top:calc(100% - 1px); width:100%; max-height:200px; overflow-y:auto; background:#fff; 
	border:1px solid var(--key-color); border-radius:6px; padding:6px 0; margin:0; list-style:none; display:none; z-index:9999;
	/* ? 이 두 개가 핵심 */
	background-clip:padding-box;
	scrollbar-gutter:stable;
}
.custom-select.open .select-list{display:block;}
.custom-select .option{padding:10px 14px; font-size:14px; color:#222; cursor:pointer;}
.custom-select .option:hover{background:#F1F3F8;}

/* .custom-select.open .select-btn,.custom-select.is-selected .select-btn{border-color:var(--key-color);} */
.custom-select.open .select-arrow,.custom-select.is-selected .select-btn[aria-expanded="true"] .select-arrow{transform:rotate(-135deg); margin-top:5px;}

.custom-select.is-disabled .select-btn,.custom-select.is-disabled-row .select-btn{background:#F5F5F5; color:#888; cursor:default; pointer-events:none;}
.custom-select.is-disabled .select-arrow,.custom-select.is-disabled-row .select-arrow{border-color:#888;}
.custom-select.is-scroll .select-list{max-height:190px; overflow:auto;}

.custom-select .select-list::-webkit-scrollbar{
	width:10px;
}

.custom-select .select-list::-webkit-scrollbar-track{
	background:transparent;
	border-radius:6px;
}

.custom-select .select-list::-webkit-scrollbar-thumb{
	background:#888;
	border-radius:999px;
	border:2px solid #fff;
}


input.is-disabled{background:#F5F5F5; color:#888; cursor:default; pointer-events:none; border:1px solid #DBDEE5;}
input:disabled{font-size:14px;}



/* =========================
EMPTY
========================= */
.empty-box{border:1px solid #DBDEE5; border-radius:8px; background:#fff; min-height:200px; display:flex; align-items:center; justify-content:center; text-align:center;}
.empty-box p{font-size:15px; color:#555; font-weight:400; line-height:140%; letter-spacing:-0.3px;}

/* =========================
COMMON TITLES
========================= */
.reserve-bg__title{background:#F1F3F8; padding:8px 24px; font-size:18px; font-weight:600; letter-spacing:-0.36px; margin-bottom:20px;}
.reserve-bg__subtitle{padding:8px 24px; font-size:14px; font-weight:500;}
.alarm-sub{font-size:14px; font-weight:400; color:#ED2024; margin-left:4px; line-height:140%; letter-spacing:-0.28px;}

/* =========================
LIST PAGE
========================= */
.lecture-list{display:flex; flex-direction:column; gap:20px;}

.lecture-card{
	position:relative; display:grid; grid-template-columns:1fr; grid-template-areas:"head head" "body side"; gap:0; 
	border:1px solid #DBDEE5; border-radius:8px; background:#fff; overflow:hidden; text-decoration:none; color:inherit; padding:24px; 
	transition:border-color .2s ease, box-shadow .2s ease;
}
@media (min-width:768px){
	.lecture-card:hover{border:1px solid var(--key-color); box-shadow:4px 4px 4px 0 rgba(0,0,0,0.10);}
}
@media (max-width:767px){
	.lecture-card:active{border:1px solid var(--key-color); box-shadow:4px 4px 4px 0 rgba(0,0,0,0.10);}
}

.card-head{grid-area:head; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 24px; background:#F2F4F7; border-radius:8px;}
.tab-panel-aca .card-head{position:absolute; top:0; right:0; background:none;padding:0;}

.card-campus{flex:1 1 auto; min-width:0; font-size:18px; font-weight:600; color:#2A2F3A; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lecture-card.is-closed .card-campus{color:#7E7E7E;}

.card-head + .card-body{ margin-top: 16px;}
.tab-panel-aca .card-head + .card-body{ margin-top: 0;}

.card-body{grid-area:body; min-width:0; padding:0 16px 0 16px;}
.card-tags{display:flex; gap:6px; margin:0 0 10px;flex-wrap: wrap;}
.tag{display:inline-flex; align-items:center; height:24px; padding:0 9px; border-radius:4px; border:1px solid #C9CED9; background:#fff; color:#555; font-size:14px; font-weight:500; line-height:100%; letter-spacing:-0.28px;}

.card-title{font-size:20px; font-weight:600; line-height:140%; letter-spacing:-0.36px; margin:0 0 16px;}
.card-sub-title{font-size: 17px;}

/* .card-meta{display:flex; flex-wrap:wrap; gap:100px;}
.meta-row{display:flex; align-items:flex-start; gap:25px; font-size:15px; color:#333; line-height:140%; letter-spacing:-0.3px;}
.meta-key{position:relative; padding-left:10px; font-weight:600;}
.meta-key:before{content:"·"; position:absolute; left:0; top:0;}
.meta-val{color:#444; font-weight:500;}

@media (min-width:1200px){
	.card-meta{
		display:grid; grid-template-columns:290px minmax(0, 1fr); column-gap:40px; row-gap:8px;
	}
	.meta-row{min-width:0; gap:20px;}
} */

.card-meta{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); column-gap:40px; row-gap:8px;}
.meta-row{display:grid; grid-template-columns:52px minmax(0, 1fr); align-items:start; gap:0; min-width:0; font-size:15px; color:#333; line-height:140%; letter-spacing:-0.3px;}
.meta-key{position:relative; padding-left:10px; font-weight:600;}
.meta-key:before{content:"·"; position:absolute; left:0; top:0;}
.meta-val{color:#444; font-weight:500; min-width:0; word-break:break-word;}

@media (min-width:1200px){
	.card-meta{grid-template-columns:290px minmax(0, 1fr); column-gap:40px; row-gap:8px;}
}

@media (max-width:1199px) and (min-width:768px){
	.card-meta{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); column-gap:24px; row-gap:8px;}
	.meta-row{grid-template-columns:52px minmax(0, 1fr);}
}

@media (max-width:767px){
	.card-meta{display:flex; flex-direction:column; gap:8px;}
	.meta-row{display:grid; grid-template-columns:46px minmax(0, 1fr); font-size:14px;}
}


.card-side{grid-area:side; display:flex; align-items:center; justify-content:center; padding:0 16px 0 0;}
.status-circle{float:right; margin-top:23px; display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:999px; font-size:15px; font-weight:600; line-height:140%; letter-spacing:-0.3px;}

.lecture-card.has-sub-title .status-circle{
    margin-top:35px;
}

.status-circle--open{border:1px solid var(--key-color); color:var(--key-color); background:#fff;}
.status-circle--closed{border:1px solid #7E7E7E; color:#7E7E7E; background:#fff;}

.status-pill{min-width:58px; text-align:center; padding:6.5px 0; border-radius:999px; font-size:13px; font-weight:700; line-height:100%; letter-spacing:-0.26px;}
.status-pill--open{border:1px solid var(--key-color); color:var(--key-color); background:#fff;}
.status-pill--closed{border:1px solid #7E7E7E; color:#7E7E7E; background:#fff;}

.more-wrap{display:flex; justify-content:center; margin:40px 0 0;}
.btn-more{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:160px; height:40px; border:1px solid #777; border-radius:4px; background:#fff; font-size:14px; font-weight:500; line-height:150%; letter-spacing:-0.28px; cursor:pointer;}
.ico-down{display:inline-block; width:8px; height:8px; border-right:1.5px solid #333; border-bottom:1.5px solid #333; transform:rotate(45deg); margin-top:-3px;}

/* =========================
VIEW PAGE
========================= */
/* .lecture-view{padding:0 0 80px;} */
.view-title{margin:0 auto 14px; max-width:1200px; font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px); font-weight:600;}
.view-card{border:1px solid #E6E9EF; border-radius:10px; background:#fff; padding:32px;}

.view-info{background:#F7F7F7; border-radius:10px; padding:30px; display:flex; justify-content:space-between; align-items:center;}
.info-list{margin:0; padding:0; list-style:none;}
.info-item{display:flex; gap:14px; font-size:15px; line-height:1.6;}
.info-item + .info-item{margin-top:8px;}
.info-key{min-width:60px; font-weight:600;}
.info-val{font-weight:400;}

.view-note{margin:16px 0 0; font-size:13px; color:#7E7E7E; font-weight:400; line-height:140%; letter-spacing:-0.52px;}
.view-cta{display:flex; justify-content:center;}
.btn-reserve{display:inline-flex; align-items:center; justify-content:center; width:90px; height:90px; border-radius:999px; font-size:16px; font-weight:600; line-height:140%; letter-spacing:-0.32px; text-decoration:none; background:var(--key-color); color:#fff;}
.btn-reserve .btn-arrow{display:inline-block; width:7px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); margin-left:7px; margin-top:1px;}
.btn-reserve.is-disabled{background:#E9E9E9; color:#7E7E7E; pointer-events:none;}
.btn-reserve.is-done{background:#9AA3B2; color:#fff; pointer-events:none;}
.btn-reserve.is-disabled .btn-arrow,.btn-reserve.is-done .btn-arrow{display:none;}

.view-speakers{padding:32px 0 0;}
.speaker-list{display:flex; justify-content:center; gap:8px; margin:0; padding:0; list-style:none;}
.speaker-item{width:230px; text-align:center;}
.speaker-thumb{width:100%; aspect-ratio:1/1; overflow:hidden; background:#fff;}
.speaker-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.speaker-name{margin-top:10px; font-size:15px; font-weight:400; line-height:140%; letter-spacing:-0.3px;}

.view-img{padding:32px 0 0; text-align:center;}
.view-img img{width:100%; max-width:900px;}

.view-bottom{display:flex; justify-content:center; margin:16px 0 0;}
.btn-list{display:inline-flex; align-items:center; justify-content:center; width:160px; height:40px; border:1px solid #C9CDD6; border-radius:4px; background:#fff; font-size:15px; font-weight:600; line-height:140%; letter-spacing:-0.3px; text-decoration:none;}

/* =========================
LAYER (reserve-layer)
========================= */
.reserve-layer{display:none; position:fixed; inset:0; z-index:20000;}
.reserve-layer.is-open{display:block;}
.reserve-layer__dim{position:absolute; inset:0; background:rgba(0,0,0,0.6);}
.reserve-layer__dialog{
	position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:648px; max-height:calc(100vh - 24px);
	background:#fff; border-radius:18px; overflow:hidden; 
	box-shadow:0 20px 60px rgba(0,0,0,0.18); display:flex; flex-direction:column; 
}
.reserve-layer__head{flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:22px 24px 0;}
.reserve-layer__title{margin:0; font-size:18px; font-weight:600; color:#333; line-height:140%; letter-spacing:-0.36px;}
.reserve-layer__close{width:40px; height:40px; border:0; background:transparent; cursor:pointer; position:relative;}
.reserve-layer__close:before,.reserve-layer__close:after{content:""; position:absolute; left:50%; top:50%; width:28px; height:2px; background:#333; transform-origin:center;}
.reserve-layer__close:before{transform:translate(-50%,-50%) rotate(45deg);}
.reserve-layer__close:after{transform:translate(-50%,-50%) rotate(-45deg);}
.reserve-layer__body{flex:1 1 auto; min-height:0; padding:20px 0 32px; overflow:auto; -webkit-overflow-scrolling:touch;}
html.is-layer-open,body.is-layer-open{overflow:hidden;}


@media (max-width:767px){
	.reserve-layer__dialog{
		width:100% !important;
		height:100% !important;
		border-radius: 0 !important;
		max-height:100vh !important;
	}
}

/* 팝업 내부 스크롤바 얇게 (reserve layer body) */
.reserve-layer__body{scrollbar-width:thin; scrollbar-color:rgba(0,0,0,.25) transparent;} /* Firefox */
.reserve-layer__body::-webkit-scrollbar{width:6px; height:6px;} /* Chrome/Edge/Safari */
.reserve-layer__body::-webkit-scrollbar-track{background:transparent;}
.reserve-layer__body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25); border-radius:999px;}
.reserve-layer__body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.35);}
/* 팝업 내부 스크롤바 얇게 (reserve layer body) */
.school-result__list{scrollbar-width:thin; scrollbar-color:rgba(0,0,0,.25) transparent;} /* Firefox */
.school-result__list::-webkit-scrollbar{width:6px; height:6px;} /* Chrome/Edge/Safari */
.school-result__list::-webkit-scrollbar-track{background:transparent;}
.school-result__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25); border-radius:999px;}
.school-result__list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.35);}

/* summary */
.reserve-summary{padding:0 24px;}
.reserve-summary .summary-inner{border:1px solid var(--key-color); border-radius:6px; padding:20px;}
.reserve-summary__tit{margin:0 0 14px; font-size:18px; font-weight:600;}
.reserve-summary__list{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
.reserve-summary__list li{display:flex; gap:10px; font-size:15px; font-weight:400; line-height:140%; letter-spacing:-0.3px;}
.reserve-summary__list .k{flex:0 0 60px; font-weight:600;}
.reserve-summary__list .v{flex:1; font-weight:500;}

/* guide */
.reserve-guide{margin:20px 0 24px;}
.guide-inner{padding:0 24px;}

.auth-msg{color:var(--blue, #2C5BF6);font-size:13px; font-weight:400; line-height:140%; letter-spacing:-0.52px;
	margin-top:-4px;margin-bottom: 10px;
}

.reserve-guide p{position:relative; padding-left:10px; font-size:13px; color:#7E7E7E; font-weight:400; line-height:140%; letter-spacing:-0.26px;}
.reserve-guide p:before{content:"\00B7"; position:absolute; left:0; top:0;}

.line{border:0; height:8px; opacity:0.3; background:var(--line, #DBDEE5);}
.undline{text-decoration:underline;}

/* fields */
.reserve-form{margin:0;}
.reserve-field{padding:10px 24px;}
.reserve-field + #authDiv {
    padding-top: 0;
	margin-top: -4px;
}


.reserve-field:first-of-type{padding:24px 24px 10px;}
.reserve-field__label{font-size:15px; font-weight:600; letter-spacing:-0.3px; margin:0 0 6px;}
.req{color:#ED2024; font-weight:600;}
.reserve-inline{display:flex; flex-wrap:wrap; gap:32px;}

.reserve-phone{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px;}
.reserve-school{display:grid; grid-template-columns:1fr 120px; gap:12px;}

.btn-school{height:42px; border:0; border-radius:6px; background:#9AA3B2; color:#fff; font-size:14px; font-weight:600; cursor:pointer;}

.reserve-layer .custom-select{display:block; width:100%;}
.reserve-layer .custom-select .select-btn{min-width:0; width:100%;}

/* privacy */
.reserve-privacy{margin-top:14px; overflow:hidden;}
.reserve-privacy__row{display:flex; align-items:center; justify-content:space-between; gap:12px; height: 38px; padding:6px 24px;}
.reserve-privacy__row .lnk{font-size:15px; font-weight:600; text-decoration:underline; background:transparent; border:0; cursor:pointer; padding:0;}

.reserve-privacy__row .btn-toggle{position:relative;padding-right:16px;color:#333;font-size:13px;font-style:normal;font-weight:400;line-height:1.5;letter-spacing:-0.13px;}
.reserve-privacy__row .btn-toggle:after{content:"";position:absolute;right:2px;top:5px;width:7px;height:7px;border-right:1px solid #333;border-bottom:1px solid #333;transform:rotate(45deg);}
.reserve-privacy__row .btn-toggle[aria-expanded="true"]:after{top:8px;transform:rotate(225deg);}

.reserve-privacy__row-detail {padding: 0 24px;}
.reserve-privacy__row-detail .privacy-doc{width:100%; height: 168px; padding:12px 18px;border:1px solid #dbdee5;border-radius:4px;background:#fff;color:#7e7e7e;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-0.28px;overflow-y:auto;}
@media (max-width:767px){
	.reserve-privacy__row {padding-left: 16px; padding-right: 16px;}
	.reserve-privacy__row-detail {padding: 0 16px;}
	.reserve-privacy__row-detail .privacy-doc {padding-top: 12px; padding-bottom: 12px; font-size: 13px;}
}
/* submit */
.reserve-submit{padding-top:24px; text-align:center;}
.btn-submit{width:100%; max-width:206px; height:42px; border:0; border-radius:10px; background:#2F2F2F; color:#fff; cursor:pointer; margin:0 auto; font-size:15px; font-weight:600; line-height:140%; letter-spacing:-0.28px;}
.btn-submit.is-disabled{ background:#9AA3B2;}
/* checkbox */
.chk-row{position:relative; display:flex; align-items:center; gap:10px; cursor:pointer; user-select:none;}
.chk-row input{position:absolute; opacity:0; pointer-events:none;}
.chk-ui{flex:0 0 22px; width:22px; height:22px; border:1px solid #CFD5DC; border-radius:4px; background:#fff; display:inline-block; position:relative; box-sizing:border-box;}

/* 체크 상태 */
.chk-row input:checked + .chk-ui{background:var(--key-color); border-color:var(--key-color);}
.chk-row input:checked + .chk-ui::after{content:""; position:absolute; left:50%; top:50%; width:7px; height:12px; border:2px solid #fff; border-top:0; border-left:0; transform:translate(-50%,-55%) rotate(45deg); box-sizing:border-box;}

.chk-txt{font-size:14px; font-weight:500; line-height:150%; white-space:nowrap; cursor: pointer;}

/* radio */
.rdo-row{position:relative; display:flex; align-items:center; gap:10px; cursor:pointer; user-select:none;}
.rdo-row input{position:absolute; opacity:0; pointer-events:none;}
.rdo-ui{width:22px; height:22px; border-radius:50%; background:#CFD5DC; display:inline-block; position:relative; box-sizing:border-box; flex:0 0 auto;}
.rdo-ui:after{content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; border-radius:50%; background:#fff; transform:translate(-50%,-50%);}
.rdo-row input:checked + .rdo-ui{background:var(--key-color);}
.rdo-txt{font-size:15px; font-weight:500; line-height:150%; letter-spacing:-0.3px;}
.rdo-row input:focus-visible + .rdo-ui{box-shadow:0 0 0 3px rgba(44,91,246,0.18);}
.rdo-row.is-disabled{cursor:default;}
.rdo-row.is-disabled .rdo-ui{background:#D7D7D7;}
.rdo-row.is-disabled .rdo-txt{color:#9A9A9A;}
.rdo-row.is-disabled input:checked + .rdo-ui{background:#C9D3FF;}

/* textarea */
.pop-textarea{padding:12px; border:1px solid #DBDEE5; border-radius:6px; font-size:14px; background:#fff;color:#333; resize:none;}
.pop-textarea::placeholder{color:#7E7E7E;}
.pop-textarea:disabled{background:#F5F5F5; color:#7E7E7E;}
.pop-textarea:focus{outline:none;}

.reserve-field__count {margin-top: 4px; font-size: 12px; line-height: 1.4; letter-spacing: -0.48px; color: #B1B1B1; text-align: right;}
/* MO */
@media (max-width:767px){
	/* submit */
	.btn-submit {height: 38px; border-radius: 4px; font-weight: 500; font-size: 14px;}
	/* textarea */
	.pop-textarea{}
	.reserve-field__count {margin-top: 2px;}
}

/* =========================
ALARM LAYER
========================= */

.alarm-layer .reserve-layer__title{font-size:18px;}
.alarm-summary{padding:0 24px;}
.alarm-summary .alarm-inner{border:1px solid var(--key-color); border-radius:6px; padding:20px;}
.alarm-summary__tit{margin:0 0 10px; font-size:18px; font-weight:600; color:var(--key-color);}
.alarm-summary__desc{margin:0; font-size:15px; color:#333; line-height:1.55;}

.alarm-address{display:flex; flex-direction:column; gap:10px;}
.alarm-zip{display:grid; grid-template-columns:1fr 120px; gap:10px;}

.alarm-campus{margin-top:14px; overflow:hidden;}
.alarm-campus__group{padding:0 24px; margin-bottom:10px;}
.alarm-campus__group + .alarm-campus__group{margin-top:20px;}
.alarm-campus__label{font-size:13px; font-weight:600; margin:0 0 10px;}

.alarm-campus__grid{display:grid; gap:10px 14px;}
.alarm-campus__grid--wide{display:grid; gap:10px 14px;}

.alarm-campus .chk-row{gap:8px; min-width:0;}
.alarm-campus .chk-txt{font-size:13px; font-weight:600; word-break:keep-all; }


.alarm-campus__grid{grid-template-columns:repeat(7, minmax(0, 1fr));}
.alarm-campus__grid--wide{grid-template-columns:repeat(4, minmax(0, 1fr));}
/* TA */
@media (min-width:768px) and (max-width:1199px){
	.alarm-campus__grid{grid-template-columns:repeat(auto-fit, minmax(110px, 1fr));}
	.alarm-campus__grid--wide{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));}
}
/* MO */
@media (max-width:767px){
	.alarm-campus__group{padding:0 16px;}
	.alarm-campus__grid{grid-template-columns:repeat(auto-fit, minmax(96px, 1fr)); gap:10px 12px;}
	.alarm-campus__grid--wide{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));}
}

@media (max-width:420px){
	.alarm-campus__grid--wide{
		grid-template-columns:1fr;
	}
}
/* =========================
CHECK LAYER
========================= */












/* =========================
POPOVER (pop-layer)
========================= */
.pop-layer{display:none; position:fixed; inset:0; z-index:30000; --pop-top:50%; --pop-left:50%; --pop-tx:-50%; --pop-ty:-50%; --pop-w:min(640px, calc(100vw - 24px)); --pop-max-h:calc(100vh - 24px);}
.pop-layer.is-open{display:block;}
.pop-layer__dialog{
	position:absolute; top:var(--pop-top); left:var(--pop-left); transform:translate(var(--pop-tx), var(--pop-ty)); 
	width:var(--pop-w); max-height:var(--pop-max-h); 
	background:#fff; border-radius:8px; border:1px solid #333; box-shadow:4px 4px 4px 0 rgba(0,0,0,0.10); overflow:hidden; 
	display:flex; flex-direction:column;
}
.pop-layer__head{display:flex; align-items:center; justify-content:space-between; padding:16px 16px 8px 16px;}
.pop-layer__title{margin:0; font-size:18px; font-weight:600; line-height:140%; letter-spacing:-0.36px; color:#333;}
.pop-layer__close{width:24px; height:24px; border:0; background:transparent; cursor:pointer; position:relative;}
.pop-layer__close:before,.pop-layer__close:after{content:""; position:absolute; left:50%; top:50%; width:28px; height:2px; background:#333; transform-origin:center;}
.pop-layer__close:before{transform:translate(-50%,-50%) rotate(45deg);}
.pop-layer__close:after{transform:translate(-50%,-50%) rotate(-45deg);}
.pop-layer__body{flex:1 1 auto; min-height:0; overflow:auto; padding:16px; -webkit-overflow-scrolling:touch;}

#schoolLayer{--pop-w:min(500px, calc(100vw - 24px));}
#privacyLayer{--pop-w:min(400px, calc(100vw - 24px));}

@media (max-width:767px){
	.pop-layer__dialog{
		max-width:498px;
	}
	#schoolLayer{
		--pop-w:calc(100vw - 24px); --pop-max-h:calc(100vh - 24px);
	}
	#privacyLayer{--pop-w:calc(100vw - 24px); --pop-max-h:calc(100vh - 24px);}
}

/* =========================
	PRIVACY POPOVER (PC only, anchor to row)
	개인정보 레이어(#privacyLayer, #privacyLayerOpt)는 기본적으로 fixed 중앙 모달 구조인데 
	PC에서는 체크박스 행(.reserve-privacy__row)을 기준으로 뜨는 popover 형태로 사용하기 위해 
	position을 absolute로 재정의하고 중앙정렬 스타일(top/left/transform)을 제거함
	모바일은 기존 모달 구조 유지
========================= */

@media (min-width:768px){
	/* anchor 기준: 개인정보 행을 기준으로 레이어 위치 계산 */
	.reserve-privacy__row{position:relative;}
	/* popover가 부모 영역에서 잘리지 않도록 overflow 해제 */
	.reserve-privacy{overflow:visible;}

	/* 필수 개인정보 레이어 popover 처리 */
	.reserve-privacy__row #privacyLayer{position:absolute !important; inset:auto !important;}
	.reserve-privacy__row #privacyLayer.is-open{display:block;}
	.reserve-privacy__row #privacyLayer .pop-layer__dialog{max-width:400px; position:static !important; top:auto !important; left:auto !important; transform:none;}
	/* 체크박스 행 기준 우측 정렬 + 상단 표시 */
	.reserve-privacy__row.pop-anchor--right #privacyLayer{right:24px !important; bottom:calc(100% + 0px) !important;}

	/* 선택 개인정보 레이어 popover 처리 (필수와 동일 구조) */
	.reserve-privacy__row #privacyLayerOpt{position:absolute !important; inset:auto !important;}
	.reserve-privacy__row #privacyLayerOpt.is-open{display:block;}
	.reserve-privacy__row #privacyLayerOpt .pop-layer__dialog{max-width:400px; position:static !important; top:auto !important; left:auto !important; transform:none;}
	.reserve-privacy__row.pop-anchor--right #privacyLayerOpt{right:24px !important; bottom:calc(100% + 0px) !important;}
}


/* school pop */
.pop-school .pop-layer__body{padding:0;}
.pop-school .school-box{padding:24px 30px; background:#F1F3F8;}
.pop-school .school-form{margin:0;}
.pop-school .school-type{display:flex; align-items:center; justify-content:center; gap:18px; margin:0 0 10px; padding:0; border:0;}
.pop-school .school-type .rdo-row{margin:0;}
.pop-school .school-search{display:grid; grid-template-columns:1fr 120px; gap:10px; align-items:center;}
.pop-school .school-inp{width:100%; height:40px; border:1px solid #DBDEE5; border-radius:6px; padding:0 14px; font-size:13px; background:#fff; color:#333; box-sizing:border-box;}
.pop-school .school-inp::placeholder{color:#9AA3B2; opacity:1;}
.pop-school .school-btn{height:40px; border:0; border-radius:6px; background:#9AA3B2; color:#fff; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap;}
.pop-school .school-btn:disabled{background:#D7DBE2; cursor:default;}
.pop-school .school-result{padding:20px 16px 16px;}
.pop-school .school-result__tit{margin:0 0 10px; font-size:15px; font-weight:600; color:#333;}
.pop-school .school-result__line{height:1px; background:#DBDEE5;}
.pop-school .school-result__msg{margin:30px 0; font-size:14px; color:#7E7E7E; text-align:center;}
.pop-school .school-result__list{margin:10px 0; padding:0; list-style:none; max-height:140px; overflow:auto; -webkit-overflow-scrolling:touch;}
.pop-school .school-result__item + .school-result__item{margin-top:14px;}
.pop-school .school-result__btn{width:100%; text-align:left; padding:0; border:0; background:transparent; cursor:pointer; font-size:15px; line-height:1.4; color:#333;}
.pop-school .school-result__btn .school-result__addr{color:#333; font-weight:500;}
.pop-school .school-result__btn .school-result__name{font-weight:600;}
.pop-school .school-result__btn.is-on,.pop-school .school-result__btn.is-on .school-result__addr,.pop-school .school-result__btn.is-on .school-result__name{color:var(--key-color);}

/* privacy pop */
.pop-privacy .pop-layer__body{padding:14px 16px 18px;}
.pop-privacy .privacy-doc{color:#333;}
.pop-privacy .privacy-lead{margin:0 0 14px; font-size:14px; line-height:1.6; color:#555; word-break:keep-all;}
.pop-privacy .privacy-dl{margin:0; padding:0;}
.pop-privacy .privacy-dt{margin:14px 0 6px; font-size:14px; font-weight:600; color:#333;}
.pop-privacy .privacy-dt:nth-child(1){ margin-top:0;}
.pop-privacy .privacy-dd{margin:0; font-size:13px; line-height:1.6; color:#555; word-break:keep-all;}
/* privacy toggle */
.reserve-privacy__row-detail .privacy-lead{margin:0 0 18px; font-size:14px; line-height:1.4; color:#7e7e7e; word-break:keep-all;}
.reserve-privacy__row-detail .privacy-dl{margin:0; padding:0;}
.reserve-privacy__row-detail .privacy-dt{margin-top: 14px;}
.reserve-privacy__row-detail .privacy-dt:nth-child(1){ margin-top:0;}
.reserve-privacy__row-detail .privacy-dd{margin:0; font-size:13px; line-height:1.6; color:#555; word-break:keep-all;}

/* =========================
SYSTEM POPUP (페이지형)
========================= */
.system-layer.reserve-layer{display:block !important; position:static !important;}
.system-layer .reserve-layer__dialog{position:relative; left:auto; top:auto; transform:none; width:100%; margin:0 auto; max-height:100%;}
/* 20260521 */
@media (max-width:767px) {
	.system-layer.reserve-layer .reserve-layer__dialog {
		height:auto !important;
		min-height:100vh !important;
		max-height:none !important;
		overflow:visible !important;
		display:block !important;
	}
	.system-layer.reserve-layer .reserve-layer__body {
		height:auto !important;
		max-height:none !important;
		overflow:visible !important;
		-webkit-overflow-scrolling:auto;
	}
}
/* // 20260521 */
/* =========================
RESPONSIVE
========================= */
@media (max-width:1199px){
	.filter-box{border-radius: 0;}
	.lecture-wrap .filter-box{
		width:100vw;
		margin-left:calc(50% - 50vw);
		margin-right:calc(50% - 50vw);
		border-radius:0;
	}
	.btn-reserve{width:100%; height:42px; border-radius:6px; font-size:15px;}
	.view-cta{margin-top:12px; flex-direction:column;}
	.view-bottom{margin:40px 0 0;}
}
@media (max-width:1199px) and (min-width:768px){
	.lecture-wrap .inner{
		padding:0 24px 60px;
	}
	.tab.tab-e{
		margin-bottom: 0;
	}
	.tab.tab-e .tab-list{max-width:100%;}

	.lecture-card{grid-template-columns:1fr 100px;}
	.status-circle{width:68px; height:68px;}
	/* .card-title{font-size:20px;}
	.card-sub-title{font-size:17px;} */

	.view-card{padding:18px;}
	.speaker-list{gap:22px;}
}
@media (max-width:767px){
	.lecture-wrap .inner{padding:0 0 60px;}
	.lecture-list{padding:0 16px 32px;}
	.empty-list{padding:0 0;}
	.tab.tab-e{margin-bottom:0;}
	.filter-box{margin-top:0;}
	.lecture-card{padding:16px;}
	.card-head{padding:6px 16px; /*margin:0 0 8px;*/}
	.card-tags{margin:0 0 8px;}
	.tag{padding:0 8px;font-size: 13px;}
	.card-body{padding:0;}

	
	.card-title{margin:0 0 10px;font-size: 18px;}
	.card-sub-title{font-size: 16px;}

	.meta-row{font-size: 14px;}
	.card-campus{font-size: 16px;}
	.meta-key{min-width:46px;}
	.card-side{display:none;}
	.empty-box{min-height:180px;}

	.view-title{margin:24px 16px 16px;}
	.view-card{margin:0 16px; padding:16px;}
	.view-info{ padding:16px;}

	.reserve-layer__head{padding:18px 16px 0;}
	.reserve-summary{padding:0 16px;}
	.guide-inner{padding:0 16px;}
	.reserve-field{padding:10px 16px;}
	.reserve-field:first-of-type{padding:16px 16px 10px;}
	.alarm-summary{padding:0 16px}
}


.reserve-school .input-basic[readonly]{background:#F5F5F5; color:#888; cursor:default;}
.reserve-school .input-basic[readonly]:focus{outline:none; border-color:#DBDEE5;}

/* =========================
ETC
========================= */
.btn-ex-wrap{ margin:30px 0;gap:10px;}
.btn-ex{display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 8px; border-radius:6px; font-size:13px; background:var(--key-color); color:#fff;}



figure.image{
	text-align: center;
	padding: 32px 0 0;
}
figure.image img{
	width:100%; 
}


/* 주소검색레이어 */
#wrap{
	display:none;
	box-sizing:border-box;
	width:calc(100% - 48px);
	margin:-104px 24px 0;
	height:450px;
	position:relative;
	border:1px solid #ddd;
	z-index:1;
	box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.reserve-form #wrap {
	height: 350px !important;
}

@media (max-width:767px){
	#wrap{
		width:calc(100% - 32px);
		margin:-104px 16px 0;
	}
}
/* // 주소검색레이어 */


/* =========================
SELECTED FILTER - UI ONLY
========================= */
.filter-label{
	font-weight: 600;
}
.filter-box.has-selected-filter{
	padding-bottom:13px;
}

.selected-filter{
	display:none;
	align-items:center;
	gap:14px;
	margin-top:20px;
	padding-top:13px;
	border-top:1px solid #E1E4EA;
}

.filter-box.has-selected-filter .selected-filter{
	display:flex;
}

.btn-filter-reset{
	display:inline-flex;
	align-items:center;
	gap:4px;
	height:26px;
	padding:0;
	border:0;
	background:transparent;
	color:#555;
	font-size:14px;
	font-weight:500;
}

.reset-ico{
	display:inline-block;
	width:16px;
	height:14px;
	flex:0 0 auto;

	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;

	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='14' viewBox='0 0 16 14' fill='none'%3E%3Cpath d='M7.646 12.75C7.646 12.9489 7.56698 13.1397 7.42633 13.2803C7.28568 13.421 7.09491 13.5 6.896 13.5C3.104 13.5 0 10.495 0 6.75C0 3.005 3.104 0 6.896 0C10.001 0 12.645 2.015 13.501 4.801L14.104 3.781C14.2052 3.60967 14.3703 3.48555 14.563 3.43595C14.7557 3.38634 14.9602 3.41532 15.1315 3.5165C15.3028 3.61768 15.4269 3.78278 15.4766 3.97547C15.5262 4.16816 15.4972 4.37267 15.396 4.544L13.766 7.299C13.6662 7.468 13.5041 7.59115 13.3145 7.642C13.125 7.69285 12.923 7.66736 12.752 7.571L9.93 5.98C9.84418 5.93161 9.76873 5.86679 9.70797 5.78924C9.6472 5.71169 9.6023 5.62293 9.57584 5.52803C9.54937 5.43312 9.54186 5.33394 9.55373 5.23613C9.56559 5.13833 9.59661 5.04382 9.645 4.958C9.69339 4.87218 9.75821 4.79673 9.83576 4.73597C9.91331 4.6752 10.0021 4.6303 10.097 4.60384C10.1919 4.57737 10.2911 4.56986 10.3889 4.58173C10.4867 4.59359 10.5812 4.62461 10.667 4.673L12.139 5.503C11.565 3.215 9.448 1.5 6.897 1.5C3.899 1.5 1.5 3.867 1.5 6.75C1.5 9.633 3.899 12 6.896 12C7.09491 12 7.28568 12.079 7.42633 12.2197C7.56698 12.3603 7.646 12.5511 7.646 12.75Z' fill='%23555555'/%3E%3C/svg%3E");
}

.selected-filter-list{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	min-width:0;
}

.selected-chip{
	display:inline-flex;
	align-items:center;
	gap:6px;
	height:26px;
	padding:0 8px;
	border:1px solid #2C5BF6;
	border-radius:4px;
	background:#fff;
	color:var(--key-color);
	font-weight: 400;
	font-size:14px;
	white-space:nowrap;
}

.selected-chip i{
	display:block;
	width:12px;
	height:12px;
	flex:0 0 auto;

	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;

	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M10 2L2 10' stroke='%23777777' stroke-linecap='round'/%3E%3Cpath d='M10 10L2 2' stroke='%23777777' stroke-linecap='round'/%3E%3C/svg%3E");
}
@media (max-width:767px){
	.filter-box.has-selected-filter{
		padding-bottom:9px;
	}

	.selected-filter{
		width:100vw;
		margin-left:calc(50% - 50vw);
		margin-right:calc(50% - 50vw);
		padding:9px 16px 0;
		overflow:hidden;
		box-sizing:border-box;
	}

	.btn-filter-reset{
		flex:0 0 auto;
		font-size: 13px;
	}

	.selected-filter-list{
		flex:1;
		flex-wrap:nowrap;
		overflow-x:auto;
		overflow-y:hidden;
		gap:6px;
		cursor:grab;
		user-select:none;
		touch-action:pan-x;
		-webkit-overflow-scrolling:touch;
		-ms-overflow-style:none;
		scrollbar-width:none;
	}

	.selected-filter-list::-webkit-scrollbar{
		display:none;
	}

	.selected-filter-list.dragging{
		cursor:grabbing;
	}

	.selected-chip{
		flex:0 0 auto;
	}

}

/* =========================
MODAN (모집안내&단과 시간표)
========================= */
.modan-tab-group{min-height:39px;}
.modan-tab{width:100%; margin-bottom: 0 !important; z-index:99; background:#fff;}/* 컴포넌트 margin-bottom 무시 */
.modan-tab.is-fixed{position:fixed; top:60px; left:0;}
.modan-wrap .tab-e .tab-btn {height: auto;}
.modan-wrap .tab-e-contents .inner{padding-top:32px; padding-bottom:50px;}

.modan-section:last-child{margin-bottom:0;}
.modan-section .filter-box{margin-bottom:32px;}
.modan-section .filter-box .chip.is-on {background: #fff;}
/* 게시글 갯수 + 토글 */
.list-recruit{display:flex; flex-direction:column; gap:16px;}
.list-header{display:flex; align-items:center; justify-content:space-between;}
.list-header .total-count{font-size:15px; color:#333;}
.list-header .total-count span{font-weight: 600; color:var(--key-color);}
.sort-toggle{display:flex; align-items:center; gap:8px;}
.sort-toggle span{font-size:15px; color:#555;}

.toggle-switch{position:relative; width:42px; height:24px; border-radius:999px; background:#DBDBDB; cursor:pointer; transition:background .15s ease; flex:0 0 auto;}
.toggle-switch:after{content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:999px; background:#fff; box-shadow:2px 1px 2px 0 rgba(0,0,0,.08); transition:left .15s ease;}
.toggle-switch.is-on{background:var(--key-color);}
.toggle-switch.is-on:after{left:20px;}
/* 모집안내&단과 시간표 - 1x2 카드일 경우 */
.card-grid{display:flex; flex-wrap:wrap; gap:24px;}
.card-recruit{flex:0 0 calc((100% - 24px) / 2); box-sizing:border-box; padding:24px; border:1px solid #e5e5e5; border-radius:12px; background:#fff; display:flex; flex-direction:column; gap:8px;}
.card-top{display:flex; align-items:center; justify-content:space-between;}
.label-grade{display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 8px; border:1px solid #dbdbdb; border-radius:4px; font-size:13px; font-weight:500; color:#555;}
.label-flag{display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 8px; border-radius:999px; font-size:13px; font-weight:500;}
.label-flag--primary{border:1px solid var(--key-color); color:var(--key-color);}
.label-flag--secondary{border:1px solid #f73631; color:#f73631;}
.card-recruit .card-title{margin: 0; font-size:20px; font-weight:600; color:#333; letter-spacing:-0.4px;}
.card-bottom{display:flex; align-items:center; justify-content:space-between;}
.card-date{display:inline-flex; align-items:center; gap:4px; font-size:15px; color:#555;}
.ico-calendar{display:inline-block; width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M12.0001 3.33331H4.00008C3.2637 3.33331 2.66675 3.93027 2.66675 4.66665V12.6666C2.66675 13.403 3.2637 14 4.00008 14H12.0001C12.7365 14 13.3334 13.403 13.3334 12.6666V4.66665C13.3334 3.93027 12.7365 3.33331 12.0001 3.33331Z' stroke='%23777777' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.6667 2V4.66667M5.33341 2V4.66667M2.66675 7.33333H13.3334' stroke='%23777777' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;}

/* TA */
@media (min-width:768px) and (max-width:1199px){
	.modan-wrap .tab-e-contents .inner {padding-top: 0; padding-bottom: 32px;}
}
@media (min-width:768px){
	.modan-tab.is-fixed.down{top:0;}
}
@media (max-width:767px){
	.modan-tab.is-fixed{top:55px;}
	.modan-tab.is-fixed.only-stu-app{top:0;}
	.modan-wrap .tab-e .tab-btn {padding: 12px 0;}
	.modan-wrap .tab-e .tab-btn.is-on {font-weight: 700;}
	.modan-wrap .tab-e-contents .inner{padding:0;}
	.modan-section .filter-box {padding: 16px 0; margin-bottom: 20px;}
	.modan-section .filter-controls.scroll_menu .item:first-child {margin-left: 16px;}
	.modan-section .filter-controls.scroll_menu .item:last-child {margin-right: 16px;}
	.modan-section .selected-filter {width: auto; margin: 12px 0 0; padding: 12px 0 0;}
	.modan-section .btn-filter-reset {margin-left: 16px; font-weight: 600; font-size: 14px;}
	.modan-section .selected-filter-list {padding-right: 16px;}
	
	.list-recruit {gap: 12px;}
	.list-header .total-count, 
	.sort-toggle span {font-size: 14px;}
	.toggle-switch {width: 36px; height: 20px;}
	.toggle-switch:after {width: 16px; height: 16px;}
	.toggle-switch.is-on:after {left: 18px;}
	.card-grid{gap:12px;}
	.card-recruit{flex:0 0 100%; padding:16px;}
	.label-grade,
	.label-flag {height: 22px; font-size: 12px;}
	.card-recruit .card-title{font-size:18px;}
	.card-date {font-size: 14px;}
}
