
@font-face {
	font-family: 'Pretendard';
	font-weight: 900;
	font-display: swap;
	src: local('Pretendard Black'), url(../webfont/Pretendard-Black.woff2) format('woff2'), url(../webfont/Pretendard-Black.woff) format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 800;
	font-display: swap;
	src: local('Pretendard ExtraBold'), url(../webfont/Pretendard-ExtraBold.woff2) format('woff2'), url(../webfont/Pretendard-ExtraBold.woff) format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	font-display: swap;
	src: local('Pretendard Bold'), url(../webfont/Pretendard-Bold.woff2) format('woff2'), url(../webfont/Pretendard-Bold.woff) format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	font-display: swap;
	src: local('Pretendard SemiBold'), url(../webfont/Pretendard-SemiBold.woff2) format('woff2'), url(../webfont/Pretendard-SemiBold.woff) format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	font-display: swap;
	src: local('Pretendard Medium'), url(../webfont/Pretendard-Medium.woff2) format('woff2'), url(../webfont/Pretendard-Medium.woff) format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	font-display: swap;
	src: local('Pretendard Regular'), url(../webfont/Pretendard-Regular.woff2) format('woff2'), url(../webfont/Pretendard-Regular.woff) format('woff');
}


:root{
	--blue:#0063F2;
	--blue-dark:#0052CC;
	--blue-soft:#E6EFFF;
	--blue-border:#94B9FF;
	--blue-light-text:#C2D7FF;
	--sheet-bg:#F7F8FA;
	--page-bg:#F7F8FA;
	--border:#E1E4EA;
	--text:#14171F;
	--text-sub:#3D4350;
	--text-mute:#5B616E;
	--text-faint:#7F8694;
	--text-disabled:#A6ADBB;
	--track:#CCD1DA;
	--success:#1AAE5F;
	--danger:#E5484D;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--page-bg);font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;color:var(--text);letter-spacing:-0.01em;word-break:keep-all;-webkit-text-size-adjust:100%;overflow-x:hidden}
a{color:var(--blue);text-decoration:none}
input{font-family:inherit}
input::placeholder{color:var(--text-disabled)}
input:focus{outline:none;border-color:var(--blue) !important}

#ja2Wrap{position:relative;min-height:100vh;background:var(--page-bg)}

.jaStep{display:flex;flex-direction:column;min-height:100vh}

/* ÁøÇà Ç¥½Ã + Çìµå¶óÀÎ ¿µ¿ª */
.jaProgress{display:flex;align-items:center;gap:8px;padding:20px 20px 0}
.jaProgress .dot{width:22px;height:4px;border-radius:2px;background:var(--track)}
.jaProgress .dot.on{background:var(--blue)}
.jaProgress .stepLabel{font-size:12px;font-weight:600;color:var(--text-mute);margin-left:4px}

.jaHead{padding:14px 20px 0}
.jaHead h1{font-family:'Jua',sans-serif;font-weight:400;font-size:26px;line-height:1.28;letter-spacing:-0.01em;margin:0}
.jaHead p{font-size:14px;line-height:1.6;color:var(--text-mute);margin:10px 0 0}
.jaHead p > a.jaHelp{ text-decoration: underline; }

/* ÇÏ´Ü Èò»ö ½ÃÆ® : ºäÆ÷Æ® ¹Ù´Ú¿¡ °íÁ¤, ³»¿ëÀÌ ±æ¸é ½ÃÆ® ³»ºÎ¿¡¼­¸¸ ½ºÅ©·Ñ */
.jaSheet{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:85vh;overflow-y:auto;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -8px 20px rgba(20,23,31,.06);padding:22px 20px 20px;display:flex;flex-direction:column;gap:14px}
.jaSheetList{padding:0 20px;flex:1;display:flex;flex-direction:column;overflow:hidden}
.jaSheetList .jaListScroll{flex:1;overflow-y:auto;padding-top:6px}

.jaCtaBar{padding:12px 20px 20px;background:#fff}
.jaSheetList .jaCtaBar{padding:12px 0 18px}

.jaField{display:flex;flex-direction:column;gap:7px}
.jaField label{font-size:13px;font-weight:600;color:var(--text-sub)}
.jaField input[type="text"],.jaField input[type="password"],.jaField input[type="tel"],.jaField input[type="number"]{
	height:52px;border:1px solid var(--border);border-radius:12px;padding:0 14px;font-size:16px;font-weight:600;color:var(--text);width:100%;
}
.jaInputWrap{position:relative;display:flex;align-items:center}
.jaInputWrap input{flex:1;padding-right:44px !important}
.jaCheckIcon{position:absolute;right:14px;display:none;width:20px;height:20px;top:50%;transform:translateY(-50%)}
.jaCheckIcon.show{display:block}
.jaTogglePw{position:absolute;right:14px;font-size:13px;font-weight:600;color:var(--text-mute);cursor:pointer}

.jaFieldHint{font-size:12px;line-height:1.5;color:var(--text-faint);margin:0}
.jaFieldHint.ok{color:var(--success);font-weight:600}
.jaFieldHint.error{color:var(--danger);font-weight:600}

.jaTerms{font-size:12px;line-height:1.55;color:var(--text-faint);margin:0}
.jaTerms a{color:var(--text-mute);text-decoration:underline}

/* CTA */
.jaCta{height:52px;border-radius:12px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s}
.jaCta.disabled{opacity:.38;pointer-events:none}
.jaCtaOutline{height:52px;border-radius:12px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--text-sub);cursor:pointer}
.jaMuted{font-size:12px;line-height:1.5;color:var(--text-faint);text-align:center;margin:0}

/* Áßº¹ Á¦Ãâ(¿¬Å¸) ¹æÁö : ¿äÃ»ÀÌ ÁøÇàµÇ´Â µ¿¾È Å¬¸¯ °¡´ÉÇÑ ¿ä¼Ò¸¦ ÀüºÎ Àá±Ý */
body.ja2-busy [onclick]{pointer-events:none;opacity:.55}

/* ÈÞ´ëÆù ÀÎÁõ - ÀÎÁõ¹øÈ£ ´©Àû ºí·Ï */
.jaAuthBlock{display:flex;flex-direction:column;gap:14px;margin-top:2px}
.jaPhoneChip{display:flex;align-items:center;gap:10px;background:var(--sheet-bg);border-radius:12px;padding:12px 14px}
.jaPhoneChip .label{display:block;font-size:11px;font-weight:600;color:var(--text-faint)}
.jaPhoneChip .value{display:block;font-size:15px;font-weight:600;margin-top:2px}
.jaEdit{margin-left:auto;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer}

.jaOtpRow{display:flex;gap:8px;width:100%}
.jaOtpBox{flex:1;min-width:0;height:56px;border:1px solid var(--border);border-radius:12px;text-align:center;font-size:22px;font-weight:700;padding:0}
.jaOtpBox.filled{border-color:var(--blue);border-width:2px}

.jaTimerRow{display:flex;align-items:center;font-size:13px;color:var(--text-mute)}
.jaTimerRow b{font-weight:700;color:var(--blue)}
.jaTimerRow.expired b{color:var(--danger)}
.jaResend{margin-left:auto;font-size:13px;font-weight:600;color:var(--text-mute);text-decoration:underline;cursor:pointer}

.jaComment{font-size:12px;line-height:1.5;color:var(--danger);margin:0;min-height:0}

/* ÇÐ±³ ¼±ÅÃ ¸ñ·Ï */
.jaSchoolRow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}
.jaSchoolRow:last-child{border-bottom:none}
.jaSchoolBadge{width:34px;height:34px;border-radius:10px;background:var(--sheet-bg);color:var(--text-mute);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.jaSchoolRow.selected .jaSchoolBadge{background:var(--blue);color:#fff}
.jaSchoolName{font-size:15px;font-weight:600;color:var(--text)}
.jaSchoolRow.selected .jaSchoolName{font-weight:700}
.jaSchoolSub{font-size:12px;color:var(--text-mute);margin-top:2px}
.jaSchoolCheck{margin-left:auto;display:none}
.jaSchoolRow.selected .jaSchoolCheck{display:block}

/* °èÁ¤ ¼±ÅÃ ¹ÙÅÒ½ÃÆ® */
.jaModalRoot{position:fixed;inset:0;z-index:50;display:none}
.jaModalRoot.open{display:block}
.jaModalBackdrop{position:absolute;inset:0;background:rgba(20,23,31,.45)}
.jaModalPanel{position:absolute;left:0;right:0;bottom:0;max-height:86vh;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -12px 28px rgba(20,23,31,.10);padding:12px 20px 24px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.jaHandle{width:40px;height:4px;border-radius:2px;background:var(--border);align-self:center;margin-bottom:2px}
.jaModalPanel h2{font-size:22px;font-weight:700;letter-spacing:-0.02em;margin:0}
.jaModalPanel>p{font-size:14px;line-height:1.6;color:var(--text-mute);margin:0}

.jaAccountList{display:flex;flex-direction:column;gap:10px}
.jaAccountCard{border:1px solid var(--blue-border);border-radius:12px;box-shadow:0 1px 2px rgba(20,23,31,.05);padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer}
.jaAccountAvatar{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.jaAccountId{font-size:16px;font-weight:700}
.jaAccountSchool{font-size:12px;color:var(--text-mute);margin-top:3px}

/* °èÁ¤Á¤º¸(¾ÆÀÌµð/ºñ¹Ð¹øÈ£/ÀÌ¸ÞÀÏ) È­¸é »ó´Ü ÇÐ±³Ä¨ (ÅÇÇÏ¸é ÇÐ±³¼±ÅÃ ¹ÙÅÒ½ÃÆ®°¡ ¿­¸²) */
.jaSchoolChip{display:flex;align-items:center;gap:12px;background:var(--sheet-bg);border-radius:12px;padding:12px 14px;cursor:pointer}
.jaSchoolChip .jaSchoolBadge{background:var(--blue);color:#fff}
.jaSchoolChip .info{display:flex;flex-direction:column;gap:2px}
.jaSchoolChip .info .label{font-size:11px;font-weight:600;color:var(--text-faint)}
.jaSchoolChip .info .value{font-size:14px;font-weight:700}

/* °¡ÀÔ¿Ï·á (1b¾È, Èò ¹è°æ) */
.jaComplete{background:#fff;min-height:100vh}
.jaCompleteBody{flex:1;display:flex;flex-direction:column;padding:40px 20px 0}
.jaLogo{width:56px;height:56px;border-radius:13px;align-self:flex-start}
.jaCompleteBody h1{font-family:'Jua',sans-serif;font-weight:400;font-size:28px;line-height:1.28;margin:22px 0 0}
.jaCompleteBody>p{font-size:15px;line-height:1.6;color:var(--text-mute);margin:10px 0 0}
.jaFeatureList{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.jaFeatureCard{background:var(--sheet-bg);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}
.jaFeatureCard b{font-size:15px;font-weight:700}
.jaFeatureCard span{font-size:13px;line-height:1.55;color:var(--text-mute)}
.jaComplete .jaCtaBar{padding:16px 20px 24px}
.jaComplete .jaCta{box-shadow:0 8px 20px rgba(0,99,242,.20)}
