:root{--portal-navy:#14243a;--portal-blue:#315f86;--portal-sky:#e8f1f6;--portal-cream:#f7f4ee;--portal-ink:#17202a;--portal-muted:#6e7781;--portal-line:#dce2e7;--portal-orange:#e06b3c;--portal-shadow:0 12px 35px rgba(26,50,69,.08)}
*{box-sizing:border-box}
body{margin:0!important;overflow-x:hidden;background:var(--portal-cream)!important;color:var(--portal-ink);font-family:Pretendard,"Noto Sans KR",NanumGothic,Dotum,sans-serif}
a{text-decoration:none}
#wrap{width:100%!important;min-width:0!important}
.gnb{height:auto!important;background:var(--portal-navy)!important}
.gnb ul{display:flex;width:min(1220px,92vw)!important;height:auto!important;margin:0 auto!important;align-items:stretch}
.gnb li,.gnb li.on{flex:0 0 auto!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
.gnb li.logo{display:flex;align-items:center;gap:11px;width:auto!important;min-width:225px;padding:14px 28px 14px 0}
.gnb li.logo img{display:block;width:42px;height:42px;flex:0 0 42px;padding:3px;box-sizing:border-box;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:#fffaf4;box-shadow:0 5px 14px rgba(0,0,0,.24)}
.gnb li.logo p{position:static!important;width:auto!important;height:auto!important;margin:0!important;color:#fff!important;font-size:16px!important;font-weight:800;line-height:1.28!important;text-indent:0!important;white-space:nowrap}
.gnb li a{display:flex!important;height:100%!important;min-height:82px;min-width:112px;padding:0 16px!important;align-items:center;justify-content:center;border-bottom:4px solid transparent;color:#d7e1e8!important;font-size:14px!important;font-weight:750!important;line-height:1.4!important;text-align:center;white-space:nowrap}
.gnb li a:hover,.gnb li.on a{border-bottom-color:var(--portal-orange);background:rgba(255,255,255,.06)!important;color:#fff!important}
body:not(.portal-login)>#wrap>#header{height:auto!important;min-height:310px;padding:62px max(4vw,28px);background:linear-gradient(130deg,#112238,#244863)!important}
body:not(.portal-login)>#wrap>#header .section{width:min(1220px,92vw)!important;margin:0 auto!important;padding:0!important}
body:not(.portal-login)>#wrap>#header h1{clear:none;width:auto;margin:10px 0 15px;padding:0;background:none;color:#fff;font:700 clamp(38px,5vw,64px)/1.08 Georgia,"Noto Serif KR",serif;letter-spacing:-2px}
body:not(.portal-login)>#wrap>#header .logout_ment{position:static!important;margin:0!important;color:#c9d5df!important;font-size:14px!important}
body:not(.portal-login)>#wrap>#header .logout_ment{padding-left:0!important;background:none!important}
.portal-eyebrow{color:#91b7d1;font-size:11px;font-weight:800;letter-spacing:2px}
.start-wrap{width:min(1220px,92vw)!important;margin:-34px auto 70px!important;padding:0!important}
.start-hero,.lobby-tab-note,.start-guide,.ready-summary{border:1px solid var(--portal-line)!important;border-radius:18px;background:#fff!important;box-shadow:var(--portal-shadow)}
.start-hero{position:relative;padding:30px!important}
.start-hero .section-number{display:grid;float:left;width:38px;height:38px;margin-right:15px;place-items:center;border-radius:50%;background:var(--portal-navy);color:#fff;font-size:12px}
.start-hero h1{margin:2px 0 8px!important;padding:0!important;border:0!important;color:var(--portal-ink)!important;font-size:23px!important}
.start-hero p{clear:both;padding-top:18px;color:var(--portal-muted)}
.start-login{border-radius:11px!important;background:var(--portal-navy)!important;transition:transform .15s ease,box-shadow .15s ease}
.start-login:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,36,58,.2)}
.start-login.recommend{background:var(--portal-orange)!important}
.start-login.rooms{margin-left:8px;background:var(--portal-blue)!important}
.start-section-title{margin:28px 0 12px!important;border-left-color:var(--portal-orange)!important;color:var(--portal-navy)!important}
.lobby-tab-note{padding:18px 20px!important;color:var(--portal-muted)!important}
.ready-summary{overflow:hidden;border-top:1px solid var(--portal-line)!important}
.ready-summary li{border-color:var(--portal-line)!important;padding:18px!important}
.ready-summary strong{color:var(--portal-blue)!important}
.start-guide{padding:22px!important}
.start-guide li{border-color:#edf0f2!important;border-radius:10px;background:#f8fafb!important}
.start-guide li:before{background:var(--portal-navy)!important}
.start-guide strong{color:var(--portal-blue)!important}
body:not(.portal-login) #footer{background:var(--portal-navy)!important}
body:not(.portal-login) #footer p{color:#c9d5df!important}

.portal-login{min-width:0!important;background:var(--portal-cream)!important}
.portal-login *{box-sizing:border-box}
.portal-login{display:flex;min-height:100vh;min-height:100dvh;flex-direction:column}.portal-login>#info{flex:0 0 auto}.portal-login>#footer.site-footer{margin-top:auto!important}
.portal-login .login-home-back{position:fixed;left:18px;top:14px;z-index:20;padding:9px 13px;border-radius:8px;background:#173b5e;color:#fff!important;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 5px 18px rgba(10,25,40,.2)}
.portal-login>#wrap{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);grid-template-areas:"hero hero" "login real";gap:24px;width:min(1220px,92vw)!important;margin:0 auto!important;padding-bottom:28px}
.portal-login #header{grid-area:hero;width:100vw!important;height:auto!important;min-height:310px;margin:0 0 0 calc(50% - 50vw)!important;padding:55px max(4vw,28px);background:linear-gradient(130deg,#112238,#244863)!important;border-radius:0;color:#fff}
.portal-login .visual_top_txt{position:static!important;width:auto!important;height:auto!important;margin:0!important;background:none!important}
.portal-login .portal-hero-logo{display:block;width:44px;height:44px;margin:0 auto 12px;padding:3px;box-sizing:border-box;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:#fffaf4;box-shadow:0 5px 14px rgba(0,0,0,.24)}
.portal-login .practice-login-note{box-sizing:border-box;margin:4px 0 12px!important;padding:11px 12px;border:1px solid #dce5eb;border-radius:8px;background:#f4f8fa;color:#425667;font-size:12px;line-height:1.6;text-align:left}
.portal-login .practice-credential-example{box-sizing:border-box;margin:8px 0 12px!important;padding:9px 11px;border:1px dashed #8da9bb;border-radius:8px;background:#eef5f8;color:#30495c;font-size:11px;line-height:1.55;text-align:center}.portal-login .practice-credential-example strong{color:#174f78;font-family:Consolas,monospace;font-size:12px;letter-spacing:.2px}
.portal-login .visual_top_txt>p{position:static!important;width:auto!important;height:auto!important;margin:10px 0!important;color:#c9d5df!important;font:13px/1.6 Pretendard,"Noto Sans KR",sans-serif!important;text-indent:0!important}
.portal-login .visual_top_txt>p.e{color:#fff!important;font:700 44px/1.12 Georgia,"Noto Serif KR",serif!important;letter-spacing:-1px!important}
.portal-login .visual_top_txt>p.login-hero-copy{font-size:14px!important}
.portal-login #Contents{grid-area:login;float:none!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;background:none!important}
.portal-login .login_box,.portal-login .login_default{float:none!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;background:none!important}
.portal-login .login_default{padding:30px!important;border:1px solid var(--portal-line);border-radius:18px;background:#fff!important;box-shadow:var(--portal-shadow)}
.portal-login .login_default h2,.portal-login .main_notice h2{margin:0 0 22px!important;color:var(--portal-ink)!important;font-size:23px!important}
.portal-login fieldset{position:relative!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important}
.portal-login fieldset>p:not(.btn_login){display:grid!important;grid-template-columns:120px minmax(0,1fr);align-items:center;width:auto!important;margin:0 0 12px!important}
.portal-login .login_default fieldset p *{float:none!important}
.portal-login .login_default fieldset label{display:block!important;position:static!important;width:auto!important;color:#354453!important;font-weight:700!important}
.portal-login input.int{grid-column:2;position:static!important;width:100%!important;height:44px!important;margin:0!important;padding:10px 12px!important;border:1px solid var(--portal-line)!important;border-radius:9px!important;background:#fff!important}
.portal-login .btn_login{position:static!important;width:auto!important;height:auto!important;margin:16px 0 0!important}
.portal-login .login_default fieldset .btn_login a{display:flex!important;position:static!important;width:100%!important;height:48px!important;align-items:center!important;justify-content:center!important;padding:0!important;border:0!important;border-radius:10px;background:var(--portal-orange)!important;color:#fff!important;font-size:15px!important;font-weight:800;line-height:48px!important;text-indent:0!important;box-shadow:0 8px 20px rgba(224,107,60,.24)}
.portal-login .desktop-real-mode-toggle{display:none!important}
.portal-login .login_options{display:flex!important;position:static!important;width:auto!important;height:auto!important;margin:18px 0 0!important;gap:14px;flex-wrap:wrap;color:var(--portal-muted)!important}
.portal-login .login_nav{display:flex!important;position:static!important;width:auto!important;height:auto!important;margin-top:20px!important;align-items:center;justify-content:flex-end;border-top:1px solid var(--portal-line);padding-top:16px}
.portal-login .login_default .login_nav .lobby_button{display:flex!important;height:38px!important;min-width:108px;align-items:center;justify-content:center;padding:0 12px!important;border:1px solid var(--portal-line)!important;border-radius:8px!important;background:#eef2f4!important;color:var(--portal-navy)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important}
.portal-login .login_menu{position:static!important;display:flex!important;width:auto!important;margin:0!important;gap:12px}
.portal-login .login_menu li{float:none!important;background:none!important}
.portal-login .login_default ul.login_menu li a{display:flex!important;height:38px!important;min-width:108px;align-items:center;justify-content:center;padding:0 12px!important;border:1px solid var(--portal-line)!important;border-radius:8px!important;background:#eef2f4!important;color:var(--portal-navy)!important;font-size:12px!important;font-weight:700;line-height:1.2!important}
.portal-login .login_default .login_nav a:hover{border-color:#b8c7d3!important;background:#e2eaf0!important;color:var(--portal-blue)!important}
.portal-login .main_notice{grid-area:real;width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:30px!important;border:1px solid var(--portal-line);border-radius:18px;background:#fff!important;box-shadow:var(--portal-shadow)}
.portal-login .real_mode_controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.portal-login .real_mode_controls select,.portal-login .real_mode_controls button,.portal-login #resetRealBestRecord{min-height:36px;padding:7px 10px;border:1px solid var(--portal-line);border-radius:8px;background:#eef2f4;color:var(--portal-navy);font-weight:700}
.portal-login #realModeClock{padding:8px 10px;border-radius:8px;background:var(--portal-sky);color:var(--portal-blue);font-weight:800}
.portal-login #realModeClock.ready{background:#e8f5e9;color:#25733a}
.portal-login .real_mode_help{padding:14px!important;border-radius:10px;background:#f6f9fb!important;color:var(--portal-muted)!important;line-height:1.7!important}
.portal-login .real_record_heading{margin:24px 0 12px;color:var(--portal-navy)}
.portal-login .real_best_record,.portal-login .real_split_count{color:var(--portal-muted)}
.portal-login .real_split_records{max-height:280px;overflow:auto;padding:0!important}
.portal-login .split_record{margin:8px 0!important;padding:12px!important;border:1px solid var(--portal-line)!important;border-radius:9px;background:#f8fafb!important}
.portal-login>#info{width:min(1220px,92vw)!important;margin:0 auto 60px!important;padding:0!important}
.portal-login .info_sectionz{width:100%!important;padding:30px!important;border:1px solid var(--portal-line);border-radius:18px;background:#fff;box-shadow:var(--portal-shadow)}
.portal-login .sec_tit{display:flex;align-items:center;gap:10px;margin:0 0 16px!important;padding:0 0 13px!important;border-bottom:1px solid var(--portal-line)!important;color:var(--portal-navy)!important;font-size:20px!important;line-height:1.35}.portal-login .sec_tit:before{display:block;width:4px;height:18px;border-radius:3px;background:var(--portal-orange);content:""}
.portal-login .info_box{overflow:hidden;border:1px solid var(--portal-line)!important;border-top:0!important;border-radius:12px;background:#f8fafb!important}
.portal-login .info_box .info_cont{margin:0!important;padding:18px!important}.portal-login .info_box .tip_group{margin:0 0 14px!important;padding:16px;border:1px solid #e2e8ed;border-radius:10px;background:#fff}.portal-login .info_box .tip_group:last-child{margin-bottom:0!important}.portal-login .info_box .tip_group h3{margin:0 0 10px!important;padding:0 0 9px!important;border:0!important;border-bottom:1px solid #edf1f4;background:none!important;color:var(--portal-navy)!important;font-size:14px!important}.portal-login .info_box .tip_list{color:#354453}.portal-login .info_box .tip_list li{padding:5px 4px!important;line-height:1.7!important}.portal-login .info_box .tip_list strong,.portal-login .info_box .tip_sublist strong{color:var(--portal-blue)!important}.portal-login .info_box .tip_sublist{margin-top:8px!important;padding:10px 14px 10px 28px!important;border-radius:8px;background:#f4f7f9}.portal-login .info_box .tip_sublist li{color:#586674!important;line-height:1.65!important}
.portal-login .info_sectionz>div:last-of-type{max-width:100%;overflow-x:auto}.portal-login .tbl_subst01{width:100%!important;min-width:880px;border:1px solid var(--portal-line)!important;border-top:2px solid var(--portal-blue)!important;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;background:#fff}.portal-login .tbl_subst01 th{padding:12px 9px!important;border-color:var(--portal-line)!important;background:#f1f5f7!important;color:#41515f!important;font-weight:750!important}.portal-login .tbl_subst01 td{padding:12px!important;border-color:var(--portal-line)!important;background:#fff!important;color:#52616e!important;line-height:1.55!important}.portal-login .tbl_subst01 tbody tr:hover td{background:#f8fafb!important}
.portal-login #footer{background:var(--portal-navy)!important;border-radius:12px}
.portal-login #footer p{color:#c9d5df!important}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(49,95,134,.18);outline-offset:1px}
body.portal-inner>#wrap>#header{height:auto!important;min-height:180px!important;padding:42px max(4vw,28px)!important;background:linear-gradient(130deg,#112238,#244863)!important}
body.portal-inner>#wrap>#header .section{width:min(1220px,92vw)!important;margin:0 auto!important;padding:0!important}
body.portal-inner>#wrap>#header .logout_ment{position:static!important;margin:0!important;padding:0!important;background:none!important;color:#c9d5df!important;font-size:14px!important;line-height:1.6!important}
body.portal-inner>#wrap>#header .logout_ment:before{display:block;margin-bottom:10px;color:#91b7d1;content:"CAMPUS COURSE LAB";font-size:11px;font-weight:800;letter-spacing:2px}
.portal-inner>#wrap>#info{width:min(1220px,92vw)!important;margin:-36px auto 55px!important;padding:0!important}
.portal-inner .info_sectionz{width:100%!important;padding:30px!important;border:1px solid var(--portal-line);border-radius:18px;background:#fff;box-shadow:var(--portal-shadow)}
.portal-inner .sec_tit{display:block!important;width:100%!important;margin:0 0 22px!important;padding:0 0 12px!important;border-bottom:1px solid var(--portal-line)!important;color:var(--portal-ink)!important;font-size:23px!important;line-height:1.35!important}
.title-marker{display:inline-block;width:4px;height:14px;margin-right:8px;border-radius:2px;background:var(--portal-orange);vertical-align:-1px}
.portal-inner .setting-form,.portal-inner .list_search,.portal-inner .file-upload,.portal-inner .upload-box{border:1px solid var(--portal-line)!important;border-radius:12px!important;background:#f8fafb!important}
.portal-inner input:not([type=checkbox]):not([type=radio]):not([type=image]),.portal-inner select{min-height:40px!important;padding:8px 10px!important;border:1px solid #d5dde4!important;border-radius:8px!important;background:#fff!important}
.portal-inner input[type=file]::file-selector-button{margin:-8px 10px -8px -10px;padding:10px 13px;border:0;border-right:1px solid var(--portal-line);background:#eef2f4;color:var(--portal-navy);font-weight:700;cursor:pointer}
.portal-inner button{border-radius:8px!important;transition:transform .15s ease,filter .15s ease}
.portal-inner button:hover{transform:translateY(-1px);filter:brightness(.97)}
.portal-inner .tbl_subst01,.portal-inner .tbl_subst02{overflow:hidden;border:1px solid var(--portal-line)!important;border-top:2px solid var(--portal-blue)!important;border-radius:10px;background:#fff}
.portal-inner .tbl_subst01 th,.portal-inner .tbl_subst02 th{border-color:var(--portal-line)!important;background:#f1f5f7!important;color:#41515f!important}
.portal-inner .tbl_subst01 td,.portal-inner .tbl_subst02 td{border-color:var(--portal-line)!important;background:#fff!important}
.portal-inner .practice-guide,.portal-inner .course-search,.portal-inner .applied-summary,.portal-inner .import-result{border:1px solid #dbe5ec!important;border-left:0!important;border-radius:10px!important;background:#f7fafc!important}
.portal-inner .course-action,.portal-inner .file-button,.portal-inner .setting-save button,.portal-inner .captcha-practice button{min-height:36px!important;padding:8px 12px!important;border:0!important;border-radius:8px!important;background:var(--portal-navy)!important;color:#fff!important;font-weight:700!important}
.portal-inner .course-action.package,.portal-inner .setting-save button[type=submit],.portal-inner .captcha-practice #startPractice{background:var(--portal-orange)!important}
.portal-inner .course-action.delete,.portal-inner .file-button.delete,.portal-inner .setting-save button.reset,.portal-inner .captcha-practice button.refresh,.portal-inner .record-reset button{background:#eef2f4!important;color:#394957!important}
.portal-inner .setting-save button.temporary{border:1px solid var(--portal-line)!important;background:#fff!important;color:var(--portal-blue)!important}
.portal-inner .setting-form{padding:24px!important}
.portal-inner .setting-form{overflow-x:auto}
.portal-inner .setting-form>.tbl_subst02{min-width:760px}
.portal-inner .setting-form h2.sec_tit{margin-top:26px!important;font-size:17px!important}
.portal-inner .course-table-wrap{overflow:auto!important;border:1px solid var(--portal-line)!important;border-radius:10px}
.portal-inner .course-table-wrap table{min-width:1050px}
.portal-settings .setting-form td>input:not([type=number]),.portal-settings .setting-form td>select{width:100%!important}.portal-settings .setting-form input[type=number]{width:80px!important}
.portal-settings .setting-save{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.portal-settings .setting-save button{margin:0!important;box-shadow:0 3px 8px rgba(31,49,66,.12)}
.portal-settings .setting-save #saveTemporary{border:1px solid #2f6fa3!important;background:#eaf4ff!important;color:#205d8d!important}
.portal-settings .setting-save button[type=submit]{background:var(--portal-orange)!important;color:#fff!important}
.portal-settings .setting-save #exportData{border:1px solid #16877d!important;background:#e7f7f4!important;color:#086c64!important}
.portal-settings .setting-save #importData{border:1px solid #7663b5!important;background:#f1edff!important;color:#5a459e!important}
.portal-settings .setting-save #resetAll{border:1px solid #c94d57!important;background:#fff0f1!important;color:#ad303b!important}
.portal-settings .setting-save button:hover{filter:brightness(.96)!important;box-shadow:0 5px 12px rgba(31,49,66,.16)}
.portal-settings .setting-save button:active{transform:translateY(0);box-shadow:0 2px 5px rgba(31,49,66,.13)}
.portal-files .file-panel{border-radius:12px!important}.portal-files .data-links a{border-radius:8px!important}
.portal-inner .course-actions{gap:6px!important}
.portal-inner .course-pagination button.active{background:var(--portal-orange)!important;border-color:var(--portal-orange)!important}
.portal-inner .captcha-practice{width:min(520px,100%)!important;margin:10px auto!important;padding:36px!important;border:1px solid var(--portal-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--portal-shadow)}
.portal-inner .captcha-practice h2{color:var(--portal-ink)!important;font-size:25px!important}
.portal-inner #practiceCaptcha{border:1px solid var(--portal-line)!important;border-radius:12px!important}
.portal-inner #captchaAnswer{width:150px!important;font-size:20px!important}
.portal-inner #practiceTimer{color:var(--portal-blue)!important}
.portal-inner>#wrap>#footer{background:var(--portal-navy)!important}
.portal-inner>#wrap>#footer p{color:#c9d5df!important}
body.portal-lobby>#wrap,body.portal-inner>#wrap{display:flex;min-height:100vh;flex-direction:column}.site-footer,#footer.site-footer{display:flex!important;width:100%!important;min-height:76px!important;margin:48px 0 0!important;padding:0 24px!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:0!important;background:var(--portal-navy)!important;overflow:visible!important;box-shadow:none!important}.portal-lobby .site-footer,.portal-inner .site-footer{margin-top:auto!important}.site-footer .footer_section{width:100%!important;margin:0!important;color:#c9d5df!important;font-size:12px!important;line-height:1.5!important;text-align:center!important}.site-footer p{margin:0!important;padding:0!important;color:#c9d5df!important;text-align:center!important}
@media(max-width:850px){.gnb ul{width:100%!important;max-width:none!important;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:thin}.gnb li{flex:0 0 auto!important}.gnb li.logo{display:flex;min-width:164px;padding:12px 18px!important}.gnb li.logo img{width:34px;height:34px;flex-basis:34px}.gnb li.logo p{font-size:13px!important}.gnb li a{min-width:128px;min-height:70px;padding:0 18px!important;font-size:13px!important}.portal-login>#wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "login" "real"}.portal-login #header{padding:42px 28px}.portal-login .visual_top_txt>p.e{font-size:34px!important}.start-login.recommend,.start-login.rooms{margin-left:0!important}.ready-summary{flex-wrap:wrap}.ready-summary li{flex-basis:50%!important}}
@media(max-width:850px){.portal-inner>#wrap>#header .logout_ment{white-space:normal!important;word-break:keep-all}.portal-inner .info_sectionz{padding:20px!important}.portal-settings .setting-form>.tbl_subst02{display:block;min-width:0!important}.portal-settings .setting-form>.tbl_subst02 tbody{display:block}.portal-settings .setting-form>.tbl_subst02 tr{display:grid;grid-template-columns:105px minmax(180px,1fr)}.portal-settings .setting-form>.tbl_subst02 th,.portal-settings .setting-form>.tbl_subst02 td{display:block;width:auto!important}.portal-settings .setting-form input:not([type=file]),.portal-settings .setting-form select{max-width:100%;width:100%}.portal-settings .setting-save{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}}
@media(max-width:600px){body:not(.portal-login)>#wrap>#header{padding-left:28px!important;padding-right:28px!important}body:not(.portal-login)>#wrap>#header h1{max-width:100%;font-size:32px!important;line-height:1.15!important;word-break:keep-all}body:not(.portal-login)>#wrap>#header .logout_ment{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.start-login,.start-login.recommend,.start-login.rooms{display:block;width:100%;margin:10px 0 0!important;padding:13px 16px!important;text-align:center}}
@media(max-width:600px){.portal-login .login-home-back{position:absolute}.portal-login .visual_top_txt,.portal-login .visual_top_txt>p{max-width:100%!important;white-space:normal!important;overflow-wrap:break-word}.portal-login .login_nav{align-items:stretch!important;flex-direction:column;gap:8px}.portal-login .login_menu{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.portal-login .login_menu li,.portal-login .login_menu li a{width:100%;min-width:0!important}.portal-login #realModeClock{min-width:0;max-width:100%;white-space:normal;font-size:clamp(19px,7vw,30px)!important}}
@media(max-width:600px){.portal-login>#info{width:calc(100% - 24px)!important;margin-bottom:36px!important}.portal-login .info_sectionz{padding:16px!important}.portal-login .sec_tit{font-size:18px!important}.portal-login .info_box .info_cont{padding:10px!important}.portal-login .info_box .tip_group{padding:13px}.portal-login .info_box .tip_list{padding-left:23px!important}}
@media(max-width:600px){body:not(.portal-login)>#wrap>#header{min-height:250px!important;padding:38px 20px!important}body:not(.portal-login)>#wrap>#header h1{font-size:29px!important;letter-spacing:-1px!important;overflow-wrap:anywhere}.start-wrap,.portal-inner>#wrap>#info{width:calc(100% - 24px)!important}.start-hero{padding:22px 18px!important}.start-hero h1{font-size:21px!important}.start-hero p,.lobby-tab-note{overflow-wrap:anywhere}.portal-inner .info_sectionz{padding:16px!important}.portal-settings .setting-form{padding:12px!important}.portal-settings .setting-form>.tbl_subst02 tr{grid-template-columns:92px minmax(0,1fr)!important}.portal-settings .setting-form>.tbl_subst02 td{min-width:0!important}.portal-settings .setting-form input[type=number]{width:calc(100% - 32px)!important}.portal-files .file-panel{padding:14px!important}.portal-files input[type=file]{max-width:100%}}
html{min-height:100%;background:var(--portal-cream)}body.portal-lobby,body.portal-inner{min-height:100vh;min-height:100dvh}body.portal-lobby>#wrap,body.portal-inner>#wrap{min-height:100vh!important;min-height:100dvh!important}
.portal-files .file-panel>p:has(input[type=file]){display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-files .file-panel input[type=file]{flex:1 1 360px;min-width:220px}.portal-files .file-panel .file-button{flex:0 0 auto}
@media(max-width:600px){html,body,#wrap{max-width:100%!important}.portal-lobby,.portal-inner{overflow-x:hidden!important}.gnb{max-width:100vw!important}.gnb ul{max-width:100vw!important}.portal-lobby #header .section,.portal-inner #header .section{min-width:0!important}.portal-lobby #header .logout_ment,.portal-inner #header .logout_ment{width:100%;overflow-wrap:anywhere}.start-wrap,.portal-inner>#wrap>#info{box-sizing:border-box;max-width:calc(100% - 24px)!important}.start-hero,.lobby-tab-note,.ready-summary,.start-guide,.portal-inner .info_sectionz,.portal-inner .setting-form{min-width:0!important;max-width:100%!important}.portal-settings .setting-form>.tbl_subst02{width:100%!important;max-width:100%!important;overflow:hidden!important}.portal-settings .setting-form>.tbl_subst02 tr{width:100%!important}.portal-settings .setting-form>.tbl_subst02 th,.portal-settings .setting-form>.tbl_subst02 td{box-sizing:border-box!important;min-width:0!important}.portal-settings .setting-form input,.portal-settings .setting-form select{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.portal-files .file-panel>p:has(input[type=file]){align-items:stretch;flex-direction:column}.portal-files .file-panel input[type=file],.portal-files .file-panel .file-button{width:100%!important;min-width:0!important;flex-basis:auto}.portal-files .data-links{grid-template-columns:1fr!important}}
@media(max-width:600px){.portal-lobby .start-hero p,.portal-lobby .lobby-tab-note,.portal-inner #header .logout_ment{word-break:keep-all;overflow-wrap:break-word}}

/* 수강신청 화면: 기능과 배치를 유지하면서 공통 포털 테마만 적용합니다. */
.sugang-main>#wrap>#header{min-height:180px!important}
.sugang-main>#wrap>#header .section{display:flex!important;min-height:96px;align-items:flex-start;justify-content:space-between;gap:24px}
.sugang-main>#wrap>#header .logout_ment{max-width:760px;padding-top:2px!important}
.sugang-main>#wrap>#header .logout_ment:before{content:"CAMPUS COURSE APPLICATION"}
.sugang-main>#wrap>#header .policy_btn{position:static!important;flex:0 0 auto;width:auto!important;height:auto!important;margin:0!important}
.sugang-main .btn_logout{display:inline-flex;min-width:92px;height:40px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.1);color:#fff!important;font-size:13px;font-weight:800;transition:background .15s ease}
.sugang-main .btn_logout:hover{background:rgba(255,255,255,.18)}
.sugang-main .btn_logout img{display:none}
.sugang-main .btn_logout:before{content:"로그아웃"}
.sugang-main .info_sectionz>div{margin-bottom:28px}
.sugang-main .sec_tit{margin:0 0 12px!important;padding:0 0 11px!important;border-bottom:1px solid var(--portal-line);color:var(--portal-ink)!important;font-size:19px!important;line-height:1.35}
.sugang-main .point{color:var(--portal-muted)!important;font-size:12px}
.sugang-main .tbl_subst01,.sugang-main .tbl_subst02{overflow:hidden;border:1px solid var(--portal-line)!important;border-top:2px solid var(--portal-blue)!important;border-radius:9px;background:#fff}
.sugang-main .tbl_subst01 th,.sugang-main .tbl_subst02 th{border-color:var(--portal-line)!important;background:#f1f5f7!important;color:#41515f!important;font-weight:750}
.sugang-main .tbl_subst01 td,.sugang-main .tbl_subst02 td{border-color:var(--portal-line)!important;background:#fff!important;color:#354453}
.sugang-main .tbl_subst01 tbody tr:hover td{background:#f8fafb!important}
.sugang-main .list_search{border:1px solid var(--portal-line)!important;border-radius:10px;background:#f7fafc!important}
.sugang-main .list_search input[type=text],.sugang-main #refCaptcha{height:32px!important;padding:5px 7px;border:1px solid #d5dde4;border-radius:7px;background:#fff;color:var(--portal-ink);font-weight:700}
.sugang-main .sugang-action{display:inline-flex;min-width:54px;min-height:34px;padding:7px 11px;align-items:center;justify-content:center;border:0;border-radius:7px;color:#fff;font-size:12px;font-weight:800;line-height:1;cursor:pointer;transition:filter .15s ease,transform .15s ease}
.sugang-main .sugang-action.primary{background:var(--portal-orange)}
.sugang-main .sugang-action.secondary{background:var(--portal-navy)}
.sugang-main .sugang-action:hover{filter:brightness(.94);transform:translateY(-1px)}
.sugang-main #captchaImage{border-radius:5px}
.sugang-main>#wrap>#footer{margin-top:auto!important}
.portal-login{min-height:100vh}
.portal-login>#footer.site-footer{margin-top:48px!important}
@media(max-width:850px){.sugang-main>#wrap>#header .section{min-height:110px;flex-direction:column}.sugang-main>#wrap>#header .policy_btn{align-self:flex-start}.sugang-main .info_sectionz{overflow-x:auto}.sugang-main .main-course-table,.sugang-main .profile-info-table{min-width:900px}}

/* 공통 UI 마감: 페이지별 레거시 스타일 위에 동일한 글꼴·버튼·카드 규칙을 적용합니다. */
button,input,select,textarea{font-family:inherit}
.portal-lobby>#wrap>#header{min-height:330px!important;padding:64px max(5vw,28px)!important}
.portal-lobby>#wrap>#header .section{width:min(1220px,92vw)!important}
.portal-lobby>#wrap>#header h1{max-width:850px;margin:10px 0 12px!important;font-size:clamp(38px,5vw,68px)!important;line-height:1.06!important}
.portal-lobby>#wrap>#header .logout_ment{max-width:760px!important;font-size:14px!important;line-height:1.7!important}
.lobby-hero-brand{display:flex;width:max-content;max-width:100%;align-items:center;gap:10px;margin-bottom:16px;color:#fff;font-size:14px;font-weight:800;letter-spacing:-.2px}
.lobby-hero-brand img{display:block;width:38px;height:38px;padding:3px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:#fffaf4;box-shadow:0 5px 14px rgba(0,0,0,.24)}
.start-section-heading{display:flex;gap:15px;align-items:flex-start}
.start-hero .start-section-heading .section-number{float:none;flex:0 0 38px;margin:0;box-shadow:0 5px 12px rgba(20,36,58,.16)}
.start-hero .start-section-heading h2{margin:2px 0 6px;color:var(--portal-ink);font-size:23px;font-weight:800;line-height:1.35}
.start-hero .start-section-heading p{clear:none;margin:0;padding:0;color:var(--portal-muted);font-size:13px;line-height:1.7}
.start-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.start-actions .start-login{display:inline-flex;min-height:44px;margin:0!important;padding:10px 20px;align-items:center;justify-content:center;font-family:inherit;font-size:13px;font-weight:800}
.portal-files .import-result.on{max-height:320px;overflow:auto;scrollbar-gutter:stable}
.portal-inner .sec_tit,.portal-inner .captcha-practice h2,.start-section-title{font-family:Pretendard,"Noto Sans KR",NanumGothic,Dotum,sans-serif!important;font-weight:800!important}
.portal-inner .info_sectionz{box-shadow:0 12px 32px rgba(20,36,58,.07)}
.portal-inner .setting-form,.portal-inner .file-panel,.portal-inner .list_search,.portal-inner .captcha-practice{border-color:#dce4e9!important}
.portal-inner button,.portal-inner .file-button,.portal-inner .course-action,.portal-inner .setting-save button{font-family:inherit!important;line-height:1.3!important}
@media(min-width:768px){
  .portal-login .btn_login{display:grid!important;grid-template-columns:128px minmax(0,1fr);gap:9px;align-items:stretch}
  .portal-login .desktop-real-mode-toggle{display:flex!important;position:static!important;width:auto!important;min-height:48px;padding:0 12px;align-items:center;justify-content:center;gap:8px;border:1px solid #cdd9e2;border-radius:10px;background:#f4f7f9;color:#315f86!important;font-size:13px;font-weight:800!important;line-height:1.2;cursor:pointer}
  .portal-login .desktop-real-mode-toggle span{display:block;width:17px;height:17px;flex:0 0 17px;border:1px solid #9db0bf;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 3px #fff}
  .portal-login:has(#realMode:checked) .desktop-real-mode-toggle{border-color:#315f86;background:#e8f1f6;color:#173b5e!important}
  .portal-login:has(#realMode:checked) .desktop-real-mode-toggle span{border-color:#315f86;background:#315f86}
  .portal-login .login_options{display:none!important}
}
@media(max-width:600px){.portal-lobby>#wrap>#header{min-height:330px!important;padding:62px 20px 42px!important}.lobby-hero-brand{margin-top:8px;font-size:13px}.lobby-hero-brand img{width:34px;height:34px}.start-section-heading{gap:11px}.start-hero .start-section-heading h2{font-size:20px}.start-actions{display:grid;grid-template-columns:1fr}.start-actions .start-login{width:100%;margin:0!important}}
