:root{--ink:#172f40;--muted:#607380;--navy:#123c50;--teal:#087f77;--pale:#e9f5f2;--line:#dce5e9;--bg:#f5f8fa;--white:#fff;--danger:#b12e38;--shadow:0 12px 36px #123c5009}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #169b91;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.3;letter-spacing:-.045em}h2{font-size:1.65rem;line-height:1.4;letter-spacing:-.035em}h3{font-size:1.15rem;line-height:1.5}small,.small{font-size:.875rem;color:var(--muted)}.environment{background:var(--navy);color:#fff;text-align:center;font-size:.8rem;letter-spacing:.02em;padding:7px 16px}.environment span{color:#c6dce5;margin-left:16px}header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1280px;padding:22px 32px;display:flex;align-items:center;gap:36px;margin:auto}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:43px;height:43px}.brand strong{font-size:1.07rem;letter-spacing:-.045em;display:block}.brand small{font-size:.7rem;letter-spacing:.12em}.nav{display:flex;gap:24px;margin-left:auto;align-items:center;font-weight:600;font-size:.93rem}.nav a{white-space:nowrap}.nav a.active{color:var(--teal)}.account{display:flex;gap:12px;align-items:center}.account .btn{padding:8px 15px;min-height:40px;font-size:.875rem}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;background:var(--navy);color:#fff;padding:11px 21px;min-height:46px;font-weight:650;line-height:1.5}.btn:hover{filter:brightness(1.12)}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.teal{background:var(--teal)}.btn.danger{background:#fff0f1;color:var(--danger);border-color:#f1cbd0}.btn.ghost{background:transparent;color:var(--ink);padding:8px}.btn.small{font-size:.875rem;padding:7px 13px;min-height:36px}.wrap{max-width:1200px;margin:auto;padding:42px 32px 70px}.eyebrow{text-transform:uppercase;font-size:.8rem;color:var(--teal);letter-spacing:.12em;font-weight:750;margin-bottom:12px}.hero{display:grid;grid-template-columns:1.2fr .85fr;gap:55px;align-items:center;padding:22px 0 45px}.hero p{color:var(--muted);margin:20px 0 26px;max-width:440px;font-size:1.08rem}.hero h1 span{color:var(--teal)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hero-panel{background:var(--navy);color:#fff;padding:32px;border-radius:14px;box-shadow:var(--shadow)}.hero-panel .eyebrow{color:#8ae1d2}.hero-panel p{font-size:.94rem;color:#c5dbe2;margin:12px 0 26px}.hero-panel .btn{background:#fff;color:var(--navy);width:100%}.hero-panel .hero-info{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #ffffff28;color:#d6e6ea;font-size:.93rem}.hero-panel .hero-info strong{color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head p{color:var(--muted);margin-top:6px}.section-head a{font-size:.875rem;color:var(--teal);font-weight:650}.section{margin-top:36px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;box-shadow:var(--shadow)}.card p{color:var(--muted);margin-top:10px}.card h3{margin-top:14px}.card .actions{margin-top:24px}.card-index{font-size:.875rem;color:var(--teal);font-weight:700;letter-spacing:.08em}.badge{display:inline-flex;align-items:center;border-radius:5px;background:var(--pale);color:var(--teal);font-size:.8rem;padding:3px 9px;font-weight:650;white-space:nowrap}.badge.gray{background:#edf1f5;color:#5b6b78}.badge.red{background:#fff0f1;color:var(--danger)}.meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.875rem;color:var(--muted);margin-top:15px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.quick-links a{padding:20px 25px;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.quick-links a:last-child{border:0}.quick-links strong{display:block}.quick-links span{font-size:.875rem;color:var(--muted)}.quick-links b{color:var(--teal);font-size:1.3rem}.notice-row{display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}.notice-row:last-child{border:0}.notice-row span{color:var(--muted);font-size:.875rem;white-space:nowrap}.page-head{margin:0 0 30px}.page-head h1{font-size:2.25rem}.page-head p{color:var(--muted);margin-top:10px}.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:13px}.form-card{max-width:520px;margin:15px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px}.form-card h1{font-size:1.9rem}.form-card>p{color:var(--muted);margin:10px 0 28px}label.field{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.9rem;margin:17px 0}input,textarea,select{border:1px solid #c9d6dd;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);width:100%;min-width:0}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--teal);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;margin:18px 0}.check input{margin-top:4px}.full{width:100%}.form-bottom{margin-top:24px;text-align:center;font-size:.9rem;color:var(--muted)}.form-bottom a{font-weight:700;color:var(--teal)}.error{background:#fff1f2;border-radius:7px;color:#a02131;padding:12px 16px;margin:15px 0}.error:empty{display:none}.info{background:#eaf3f7;border:1px solid #d5e5ed;border-radius:8px;padding:15px 18px;color:#315870;font-size:.9rem;margin:20px 0}.empty{border:1px dashed #bcced7;background:#fff;text-align:center;padding:50px 20px;border-radius:10px;color:var(--muted)}.empty .btn{margin-top:18px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat{background:#fff;border:1px solid var(--line);padding:22px 25px;border-radius:10px}.stat span{color:var(--muted);font-size:.9rem;display:block}.stat strong{font-size:2rem;font-weight:750;line-height:1.5}.stat strong small{font-size:.9rem;margin-left:6px}.attempt-list{display:flex;flex-direction:column;gap:14px}.attempt-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.attempt-card h3{margin:9px 0}.attempt-card .actions{margin:0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px;overflow-x:auto}.tabs button{background:none;border:0;padding:10px 16px;border-radius:6px;color:var(--muted);white-space:nowrap;font-weight:650}.tabs button.active{background:var(--navy);color:#fff}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem;white-space:nowrap}th{background:#edf3f6;color:#506978;font-weight:650}td,th{padding:15px 18px;border-bottom:1px solid var(--line)}td.wrap-text{white-space:normal;min-width:240px;max-width:420px}tr:last-child td{border:0}td .actions{flex-wrap:nowrap}dialog{border:0;border-radius:14px;width:min(640px,calc(100% - 32px));max-height:88vh;padding:0;color:var(--ink);box-shadow:0 25px 80px #09253240}dialog::backdrop{background:#09253280;backdrop-filter:blur(3px)}.modal-body{padding:30px}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.modal-top h2{font-size:1.4rem}.modal-body p{color:var(--muted)}.modal-body .actions{margin-top:25px;justify-content:flex-end}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.long-text{white-space:pre-wrap;overflow-wrap:anywhere}.exam-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.exam-top h1{font-size:1.6rem}.timer{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 24px;display:flex;align-items:center;gap:20px;white-space:nowrap}.timer strong{font-variant-numeric:tabular-nums;font-size:1.9rem;font-family:ui-monospace,monospace;line-height:1.3}.timer.urgent{color:var(--danger);border-color:#e4a9af}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.question-card{padding:32px;min-height:420px}.question-card h2{font-size:1.35rem;margin:20px 0 28px;white-space:pre-wrap}.option{display:flex;align-items:flex-start;gap:13px;padding:17px 19px;border:1px solid var(--line);border-radius:8px;margin:12px 0;cursor:pointer;font-size:1rem}.option.selected{background:var(--pale);border-color:var(--teal)}.option input{margin-top:4px}.option span{white-space:pre-wrap;overflow-wrap:anywhere}.question-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.question-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.question-nav button{border:1px solid var(--line);border-radius:6px;min-height:40px;background:#fff;color:var(--ink);position:relative}.question-nav button.answered{background:var(--pale);border-color:#a4d2c9;color:var(--teal)}.question-nav button.current{outline:2px solid var(--navy);outline-offset:1px}.question-nav button.flagged::after{content:'•';position:absolute;top:-9px;right:2px;color:#ae7100;font-size:1.5rem}.exam-side{position:sticky;top:24px}.exam-side h3{margin-top:0}.exam-side p{font-size:.875rem}.save-state{font-size:.875rem;color:var(--teal);min-height:24px}.save-state.failed{color:var(--danger)}progress{width:100%;height:7px;accent-color:var(--teal);border:0;border-radius:4px;margin-top:16px}.result-card{max-width:680px;margin:auto;text-align:center;padding:42px}.result-card h1{font-size:2rem;margin-top:18px}.score{font-size:4.5rem;line-height:1.3;color:var(--teal);font-weight:750;letter-spacing:-.05em;margin:25px 0 5px}.score small{font-size:1.2rem;letter-spacing:0}.result-detail{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.result-detail span{display:block;color:var(--muted);font-size:.875rem}.result-card .actions{justify-content:center}.certificate{max-width:760px;margin:25px auto;padding:55px;background:#fff;border:10px double #b9cbd3;text-align:center}.certificate h1{font-size:2.6rem;letter-spacing:.25em;margin:22px 0}.certificate .holder{font-size:1.6rem;font-weight:700;margin:25px 0}.certificate .qual-title{font-size:1.35rem;color:var(--teal);font-weight:700}.certificate .issuer{font-size:1.3rem;font-weight:750;margin-top:40px}.certificate .cert-note{font-size:.875rem;color:var(--muted);margin-top:26px}.certificate .serial{font-size:.8rem;overflow-wrap:anywhere}.verify-result{margin-top:25px}.verify-result dl{text-align:left}.verify-result dt{color:var(--muted);font-size:.8rem}.verify-result dd{margin:0 0 12px;font-weight:650}.guide-steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.guide-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.guide-step::before{counter-increment:steps;content:'0' counter(steps);display:block;color:var(--teal);font-weight:750;margin-bottom:15px}.guide-step p{color:var(--muted);font-size:.9rem;margin-top:10px}details{background:#fff;border-bottom:1px solid var(--line);padding:22px}summary{cursor:pointer;font-weight:650}details p{padding-top:18px;color:var(--muted)}footer{border-top:1px solid var(--line);background:#fff;padding:35px max(32px,calc((100vw - 1136px)/2));font-size:.8rem;color:var(--muted)}footer .footer-brand{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:12px}footer span{display:block;margin-top:20px;font-size:.75rem}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:100;padding:15px}.skip:focus{top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:9px;padding:13px 22px;box-shadow:var(--shadow);z-index:100;max-width:90vw;font-size:.9rem;display:none}#toast.show{display:block}.loading{text-align:center;padding:80px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.danger-text{color:var(--danger)}.muted{color:var(--muted)}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;gap:15px 25px;padding:18px 24px}.nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:15px;gap:30px}.account{margin-left:auto}.hero{gap:25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-layout{grid-template-columns:minmax(0,1fr) 250px}.brand small{display:none}}
@media(max-width:700px){.environment{font-size:.75rem}.environment span{display:block;margin:0}.header-inner{padding:15px 18px}.brand img{width:33px;height:33px}.brand strong{font-size:.94rem}.account .btn{padding:6px 9px;font-size:.8rem;min-height:34px}.account .name{display:none}.nav{gap:0;justify-content:space-between;font-size:.85rem;overflow:auto}.wrap{padding:28px 18px 45px}.hero{grid-template-columns:1fr;gap:28px;padding-top:5px}.hero h1{font-size:2.3rem}.hero p{font-size:1rem}.hero-panel{padding:25px}.grid,.grid.two{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.quick-links a{border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.section-head{align-items:start}.section-head h2{font-size:1.4rem}.section-head p{font-size:.875rem}.card{padding:22px}.page-head h1{font-size:1.9rem}.stats{gap:8px}.stat{padding:15px 12px}.stat span{font-size:.8rem}.stat strong{font-size:1.65rem}.attempt-card{align-items:start;flex-direction:column}.attempt-card .actions{width:100%}.form-card{padding:26px 22px}.form-grid{grid-template-columns:1fr}.exam-top{align-items:flex-start;flex-direction:column}.exam-top h1{font-size:1.4rem}.timer{width:100%;justify-content:space-between;padding:10px 18px}.exam-layout{grid-template-columns:1fr}.exam-side{position:static;order:-1}.exam-side.card{padding:18px}.exam-side .question-nav{grid-template-columns:repeat(10,1fr);gap:5px;margin:12px 0}.question-nav button{min-height:32px;padding:0;font-size:.85rem}.exam-side p.legend{display:none}.question-card{padding:23px 18px}.question-card h2{font-size:1.15rem}.option{padding:13px}.question-bottom{flex-wrap:wrap}.result-card{padding:28px 22px}.score{font-size:3.5rem}.result-detail{gap:8px}.certificate{padding:28px 16px;border-width:7px}.certificate h1{font-size:2rem}.certificate .issuer{font-size:1.07rem}.guide-steps{grid-template-columns:1fr 1fr}.notice-row{flex-direction:column;gap:7px}.modal-body{padding:23px}.guide-step{padding:18px}footer{padding:28px 20px}}
@media print{body{background:white}.environment,header,footer,.no-print,#toast{display:none!important}.wrap{padding:0}.certificate{margin:0;max-width:none;break-inside:avoid}.certificate h1{margin:50px 0}.certificate .issuer{margin-top:70px}}
.option-set{border:0;padding:0;margin:0;min-width:0}

@media(max-width:700px){.nav{gap:20px;justify-content:flex-start;padding-bottom:4px}.nav a{flex-shrink:0}.brand{max-width:100%}.question-nav{max-width:100%}}

/* K-ISQI visual system — navy, cobalt, white and quiet structural detail. */
:root {
  --ink:#1b2b40; --muted:#607087; --navy:#142d50; --teal:#245bcc;
  --pale:#edf3ff; --line:#dfe6ee; --bg:#f7f9fc;
  --shadow:0 8px 28px rgba(24,47,79,.035);
}
body {line-height:1.7;letter-spacing:-.015em; -webkit-font-smoothing:antialiased;}
.environment {background:#eef2f7;color:#435571;text-align:left;padding:6px max(28px,calc((100vw - 1184px)/2));font-size:.75rem;letter-spacing:0;border:0;}
.environment span {color:#697990;margin-left:14px;}
header {background:#fff;border-bottom:1px solid #d8e1ed;}
.header-inner {max-width:1240px;margin:auto;padding:25px 28px 0;gap:22px;flex-wrap:wrap;}
.brand {gap:13px;}
.brand img {width:44px;height:44px;border-radius:10px;}
.brand strong {font-size:1.35rem;letter-spacing:-.06em;line-height:1.4;}
.brand small {display:block;font-size:.7rem;letter-spacing:.035em;margin-top:3px;color:#758298;}
.account {margin-left:auto;gap:8px;}
.account .btn {border-radius:6px;padding:8px 17px;}
.nav {order:3;margin:0;display:flex;width:100%;border-top:1px solid #edf0f5;gap:0;font-size:1rem;}
.nav a {position:relative;flex:1;text-align:center;padding:16px 12px;transition:color .18s,background .18s;}
.nav a:hover {background:#f8faff;color:var(--teal);}
.nav a.active {color:var(--teal);box-shadow:none;}
.nav a.active::after {content:'';position:absolute;bottom:-1px;left:25%;right:25%;height:3px;background:var(--teal);border-radius:3px 3px 0 0;}
.wrap {max-width:1240px;margin:auto;padding:42px 28px 70px;}
#main {min-height:65vh;}
h1,h2,h3 {letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word;}
.btn {border-radius:6px;min-height:46px;padding:11px 21px;font-size:.94rem;transition:background .18s,border-color .18s,box-shadow .18s;}
.btn:hover {filter:none;background:#23446f;box-shadow:0 3px 9px #142d5010;}
.btn.secondary {border-color:#d5deea;background:#fff;color:#344b69;}
.btn.secondary:hover {background:#f1f5fc;border-color:#a7bbd7;}
.btn.teal {background:var(--teal);}
.btn.teal:hover {background:#174aad;}
.btn.ghost:hover {background:#edf2f9;color:var(--navy);box-shadow:none;}
.btn.danger:hover {background:#fce4e7;}
.btn:disabled:hover {box-shadow:none;}
.card {border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:28px;}
.card h3 {margin-top:12px;}
.card p {font-size:1rem;}
.card-index {letter-spacing:.025em;font-size:.82rem;color:#55749a;}
.badge {font-size:.8rem;padding:4px 10px;line-height:1.65;border-radius:4px;font-weight:650;}
.section {margin-top:38px;}
.section-head {margin-bottom:20px;align-items:center;}
.section-head h2 {font-size:1.4rem;}
.section-head a {font-size:.85rem;font-weight:500;color:#677b95;}
.section-head a:hover {color:var(--teal);}
.page-head {position:relative;border-bottom:1px solid #d8e1ed;padding:0 0 30px;margin-bottom:32px;}
.page-head::after {content:'';position:absolute;left:0;bottom:-1px;width:46px;height:3px;background:var(--teal);}
.page-head h1 {font-size:2.25rem;line-height:1.35;}
.page-head p {font-size:1rem;margin-top:12px;max-width:780px;}
.breadcrumb {font-size:.8rem;color:#71839b;margin-bottom:18px;}
.institution-title {display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;}
.institution-title h1 {font-size:1.05rem;font-weight:650;letter-spacing:-.035em;}
.institution-title p {font-size:.82rem;color:#7b899b;}
.portal-banner {display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:22px;border:0;margin-bottom:24px;}
.portal-banner-main {background:var(--navy);color:#fff;padding:38px 42px;border-radius:14px;min-height:352px;}
.banner-label {display:flex;align-items:center;gap:14px;color:#b8cced;font-size:.85rem;font-weight:600;letter-spacing:.07em;margin-bottom:20px;}
.banner-label span {font-size:.8rem;font-weight:400;letter-spacing:0;border-left:1px solid #ffffff40;padding-left:14px;}
.portal-banner-main h2 {font-size:2.35rem;font-weight:700;line-height:1.35;color:#fff;letter-spacing:-.045em;}
.portal-banner-main p {color:#c6d2e6;font-size:.96rem;line-height:1.85;margin:18px 0 23px;}
.portal-banner-main .btn {background:#fff;color:#173c70;border:1px solid #fff;}
.portal-banner-main .btn:hover {background:#e9f0ff;}
.portal-banner-main .btn.secondary {color:#edf3ff;background:transparent;border-color:#ffffff50;}
.portal-banner-main .btn.secondary:hover {background:#ffffff12;}
.banner-note {font-size:.75rem;color:#b6c6de;margin-top:18px;}
.candidate-service {padding:28px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:stretch;}
.service-icon,.form-icon {display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#eef3fc;color:#2d5db2;margin-bottom:18px;}
.service-icon svg,.form-icon svg {width:25px;height:25px;}
.candidate-service h2 {font-size:1.25rem;}
.candidate-service p {font-size:.875rem;color:var(--muted);margin:8px 0 22px;}
.candidate-service .btn {min-height:45px;}
.service-links {display:flex;justify-content:center;gap:0;font-size:.8rem;color:#697b94;margin-top:13px;}
.service-links a {padding:0 10px;}
.service-links a+a {border-left:1px solid var(--line);}
.service-status {display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:.82rem;color:#6f7d90;}
.service-status strong {color:var(--teal);font-size:.94rem;}
.quick-links {border:1px solid var(--line);border-radius:10px;background:#fff;}
.quick-links a {padding:23px 25px;gap:15px;transition:background .18s;}
.quick-links a:hover {background:#f4f7fd;}
.quick-links strong {font-size:.98rem;}
.quick-links span {font-size:.82rem;color:#738298;display:block;margin-top:4px;}
.quick-icon {color:#456896;display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#f0f4fa;flex-shrink:0;}
.quick-icon svg {width:23px;height:23px;}
.portal-columns {display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;}
.portal-section {min-width:0;}
.portal-section .section-head {padding-bottom:15px;border-bottom:2px solid #263e60;margin-bottom:0;}
.notice-row {padding:18px 0;gap:16px;align-items:center;}
.notice-row strong {font-weight:500;font-size:.94rem;}
.notice-row span {color:#7a8ba1;font-size:.8rem;}
.notice-row:hover strong {color:var(--teal);}
.schedule-row {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.schedule-row>div {display:flex;align-items:center;gap:10px;}
.schedule-row strong {font-size:.94rem;font-weight:500;}
.schedule-row>span {font-size:.78rem;color:#7889a0;white-space:nowrap;}
.qualification-card {display:flex;flex-direction:column;padding:29px 30px 0;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.qualification-card:hover {border-color:#adbed6;box-shadow:0 10px 30px #18344f08;}
.qualification-top {display:flex;align-items:center;gap:12px;}
.qualification-icon {display:grid;place-items:center;width:44px;height:44px;border:1px solid #e0e8f4;border-radius:10px;background:#f3f6fc;color:#3465ae;}
.qualification-icon svg {height:24px;width:24px;}
.qualification-category {font-size:.82rem;color:#55708e;font-weight:600;}
.qualification-number {margin-left:auto;color:#8292a8;font-size:.8rem;letter-spacing:.1em;font-variant-numeric:tabular-nums;}
.qualification-card h3 {font-size:1.5rem;margin:24px 0 0;line-height:1.4;}
.qualification-card p {color:#6b7b90;font-size:.95rem;line-height:1.85;max-width:440px;margin-top:14px;margin-bottom:22px;}
.qualification-tags {display:flex;gap:9px;margin-top:auto;padding-bottom:27px;}
.qualification-tags span {font-size:.77rem;color:#5e7290;background:#f2f5f9;padding:4px 10px;border-radius:4px;}
.qualification-footer {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 0;border-top:1px solid #e6ecf3;}
.qualification-footer>span {font-size:.8rem;color:#7a8aa0;}
.qualification-footer .btn {font-size:.84rem;min-height:36px;}
.portal-guide {display:flex;align-items:center;gap:28px;background:#edf2f9;border:1px solid #dce5f0;border-radius:10px;padding:25px 28px;margin-top:34px;}
.portal-guide h2 {font-size:1rem;white-space:nowrap;}
.portal-guide ol {display:flex;justify-content:space-between;gap:18px;flex:1;list-style:none;margin:0;padding:0;font-size:.875rem;}
.portal-guide strong {color:#4875bc;font-size:.8rem;margin-right:7px;}
.info {background:#edf3fc;border-color:#dce7f7;border-radius:8px;color:#4b6587;line-height:1.8;font-size:.875rem;}
.form-card {max-width:500px;margin:5px auto 25px;padding:36px 40px;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f3f6b05;}
.form-icon {margin-bottom:22px;width:48px;height:48px;}
.form-card h1 {font-size:1.9rem;letter-spacing:-.045em;}
.form-card>p {font-size:.94rem;line-height:1.8;margin-bottom:26px;}
.eyebrow {letter-spacing:.025em;font-size:.78rem;color:#5e7eab;margin-bottom:8px;}
label.field {font-size:.875rem;gap:9px;margin:18px 0;color:#3c506c;}
input,textarea,select {border:1px solid #d4deeb;border-radius:7px;background:#fcfdff;padding:12px 13px;font-size:1rem;transition:border-color .15s,box-shadow .15s;}
input:hover,textarea:hover,select:hover {border-color:#a8bedc;}
input:focus,textarea:focus,select:focus {border-color:#4478cc;box-shadow:0 0 0 3px #285cc911;}
input::placeholder,textarea::placeholder {color:#8998ac;font-size:.9rem;}
.check {font-size:.86rem;color:#5a6d86;}
.form-bottom {padding-top:21px;border-top:1px solid #edf0f5;font-size:.875rem;}
.auth-divider {display:flex;align-items:center;gap:14px;margin:23px 0;color:#7d8da2;font-size:.8rem;}
.auth-divider::before,.auth-divider::after {content:'';height:1px;background:#e5eaf1;flex:1;}
.btn.kakao {background:#fee500;color:#252214;border-color:#f2dd32;font-weight:650;min-height:47px;}
.btn.kakao:hover {background:#f2db00;}
.btn.kakao:disabled {opacity:.65;cursor:not-allowed;}
.kakao-note {text-align:center;font-size:.78rem!important;margin:9px 0!important;color:#72829a!important;}
.account-link-panel {background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 24px;margin-bottom:22px;}
.account-link-panel>div {flex:1;min-width:220px;}
.account-link-panel .btn {width:auto;}
.account-link-panel .kakao-note {flex-basis:100%;text-align:left;}
.stats {gap:18px;margin-bottom:30px;}
.stat {border-radius:10px;background:#fff;padding:22px 25px;border:1px solid var(--line);}
.stat span {font-size:.85rem;color:#73839a;}
.stat strong {font-size:2.05rem;letter-spacing:-.05em;color:#223e68;}
.attempt-card {padding:24px 28px;}
.tabs {background:#eaf0f7;border:1px solid #e0e7f0;border-radius:9px;padding:5px;margin-bottom:26px;gap:4px;}
.tabs button {padding:10px 18px;border-radius:6px;font-size:.9rem;}
.tabs button.active {background:#fff;color:#214f9e;box-shadow:0 2px 5px #243b5b10;}
.table-wrap {border-radius:10px;border-color:#dce4ee;}
th {background:#edf2f9;color:#516c90;font-size:.82rem;}
td {color:#3b4f6b;}
td,th {padding:17px 20px;border-bottom-color:#e8edf4;}
tbody tr:hover {background:#f9fbff;}
details {padding:22px 5px;}
summary {font-size:1rem;color:#30496c;}
summary .small {margin-left:16px;font-weight:400;}
.guide-step {border-radius:10px;padding:24px;}
.guide-step::before {font-size:.8rem;color:#6484b4;}
.guide-step h3 {font-size:1rem;}
.guide-step p {font-size:.875rem;}
.exam-top {margin-bottom:28px;}
.exam-top h1 {font-size:1.6rem;}
.timer {border-radius:10px;padding:14px 25px;border-color:#cfdbed;}
.timer span {font-size:.85rem;color:#667b9a;}
.timer strong {color:#234f96;letter-spacing:-.03em;}
.timer.urgent strong {color:var(--danger);}
.question-card {padding:32px 36px;}
.question-card h2 {font-size:1.3rem;line-height:1.8;}
.option {border-radius:8px;padding:17px 19px;transition:background .15s,border-color .15s;}
.option:hover {border-color:#a4bbdd;background:#f7faff;}
.option.selected {border-color:#5481d1;background:#eef4ff;}
.exam-side {padding:24px;}
.exam-side h3 {font-size:1.05rem;}
.exam-side .btn {margin-top:13px;}
.question-nav {gap:8px;}
.question-nav button {font-size:.9rem;border-radius:6px;}
.question-nav button.current {outline-color:#2d60b1;}
.question-nav button.answered {background:#edf3ff;border-color:#b3c9ee;}
.save-state {margin-top:13px;color:#426d9c;font-size:.82rem;}
.result-card {padding:42px;}
.result-card h1 {font-size:1.8rem;}
.score {color:#2d60b8;}
.result-detail {border-color:#e5ebf3;}
.certificate {border-color:#a7b9d0;padding:55px;border-radius:0;}
.certificate .issuer {color:var(--navy);}
.director-section {display:grid;grid-template-columns:250px 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:34px;}
.director-label {padding:32px;background:#eaf0f8;border-right:1px solid #dfe7f1;}
.director-label h2 {font-size:1.3rem;color:#294972;}
.director-label p {color:#68809d;font-size:.84rem;margin-top:9px;}
.director-profile {padding:28px 34px;}
.director-name {font-size:1.9rem;color:#223e66;font-weight:700;letter-spacing:.04em;}
.director-name span {font-size:.94rem;font-weight:500;margin-left:13px;letter-spacing:0;color:#6e8099;}
.director-profile dl {margin:20px 0 0;}
.director-profile dl>div {display:flex;gap:28px;padding:8px 0;border-top:1px solid #edf0f5;font-size:.91rem;}
.director-profile dt {min-width:50px;color:#7b8ba1;}
.director-profile dd {margin:0;}
.director-message {margin-bottom:36px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px;}
.director-message .section-head {border-bottom:1px solid #e0e7f0;padding-bottom:20px;}
.greeting-body {max-width:900px;padding:12px 0 6px;}
.greeting-body p {font-size:1rem;line-height:1.95;color:#52647c;margin-bottom:25px;word-break:keep-all;overflow-wrap:break-word;}
.greeting-body .greeting-opening {font-size:1.2rem;font-weight:650;color:#23436f;line-height:1.8;margin-bottom:30px;}
.greeting-body .greeting-signature {text-align:right;margin:35px 0 0;font-size:1.06rem;font-weight:650;color:#29496f;}
footer {background:#eef2f7;border-top:1px solid #dde5ef;padding:34px max(28px,calc((100vw - 1184px)/2));color:#738298;font-size:.78rem;}
footer .footer-brand {font-size:1.1rem;color:#425672;margin-bottom:14px;}
footer span {font-size:.73rem;color:#8997aa;margin-top:18px;}
dialog {border-radius:14px;box-shadow:0 25px 90px #102a5050;}
.modal-body {padding:30px;}
.empty {border-radius:10px;border-color:#cad7e8;padding:50px 24px;}
#toast {border-radius:8px;background:#1a355c;}
@media(max-width:1050px) {
 .nav a {padding:15px 8px;font-size:.94rem;}
 .portal-banner {grid-template-columns:minmax(0,1fr) 280px;gap:18px;}
 .portal-banner-main {padding:31px;}
 .portal-banner-main h2 {font-size:2.05rem;}
 .candidate-service {padding:25px;}
 .portal-columns {gap:26px;}
 .schedule-row {align-items:start;flex-direction:column;gap:5px;}
 .portal-guide {align-items:start;flex-direction:column;gap:15px;}
 .portal-guide ol {width:100%;}
}
@media(max-width:700px) {
 .environment {padding:5px 18px;font-size:.72rem;}
 .environment span {display:none;}
 .header-inner {padding:19px 18px 0;gap:15px;}
 .brand {gap:10px;}
 .brand img {width:35px;height:35px;}
 .brand strong {font-size:1.03rem;}
 .brand small {font-size:.65rem;display:block;}
 .account {width:100%;justify-content:flex-end;gap:6px;}
 .account .btn {min-height:34px;padding:6px 12px;font-size:.78rem;}
 .nav {width:calc(100% + 36px);margin:0 -18px;padding:0 10px;overflow-x:auto;gap:0;scrollbar-width:none;}
 .nav::-webkit-scrollbar {display:none;}
 .nav a {flex:0 0 auto;padding:14px 15px;font-size:.875rem;}
 .nav a.active::after {left:15px;right:15px;}
 .wrap {padding:27px 18px 45px;}
 .page-head {padding-bottom:24px;margin-bottom:25px;}
 .page-head h1 {font-size:1.9rem;}
 .page-head p {font-size:.94rem;}
 .breadcrumb {margin-bottom:14px;font-size:.75rem;}
 .institution-title {display:none;}
 .portal-banner {grid-template-columns:1fr;gap:15px;margin-bottom:18px;}
 .portal-banner-main {padding:28px 24px;border-radius:11px;min-height:auto;}
 .portal-banner-main h2 {font-size:2rem;}
 .portal-banner-main p {font-size:.9rem;margin:17px 0 22px;}
 .portal-banner-main p br {display:none;}
 .portal-banner-main .btn {font-size:.85rem;padding:10px 15px;}
 .banner-label {margin-bottom:17px;}
 .banner-note {font-size:.72rem;margin-top:17px;}
 .candidate-service {padding:22px;border-radius:11px;}
 .service-icon {display:none;}
 .candidate-service p {margin:7px 0 16px;}
 .service-status {margin-top:19px;padding-top:15px;}
 .quick-links a {padding:18px 20px;}
 .quick-links strong {font-size:.94rem;}
 .quick-links span {font-size:.8rem;}
 .quick-icon {width:36px;height:36px;}
 .portal-columns {grid-template-columns:1fr;gap:30px;margin-top:31px;}
 .section {margin-top:31px;}
 .section-head h2 {font-size:1.3rem;}
 .section-head a {font-size:.8rem;}
 .notice-row {flex-direction:row;align-items:center;gap:12px;}
 .notice-row strong {font-size:.875rem;}
 .notice-row span {font-size:.75rem;}
 .schedule-row {flex-direction:row;align-items:center;gap:8px;}
 .schedule-row>div {gap:7px;}
 .schedule-row strong {font-size:.87rem;}
 .schedule-row>span {font-size:.73rem;}
 .schedule-row .badge {font-size:.73rem;padding:3px 7px;}
 .card {padding:23px;}
 .qualification-card {padding:25px 23px 0;}
 .qualification-card h3 {font-size:1.4rem;margin-top:22px;}
 .qualification-card p {font-size:.92rem;margin-top:12px;}
 .qualification-footer>span {font-size:.76rem;}
 .qualification-footer .btn {padding:7px 11px;font-size:.8rem;}
 .portal-guide {padding:22px;}
 .portal-guide ol {display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:.8rem;}
 .form-card {padding:28px 24px;border-radius:11px;margin:0 auto 15px;}
 .form-card h1 {font-size:1.7rem;}
 .form-icon {width:43px;height:43px;margin-bottom:20px;}
 .form-card>p {font-size:.9rem;}
 .account-link-panel {padding:19px;gap:15px;}
 .account-link-panel .btn {width:100%;}
 .stats {gap:9px;}
 .stat {padding:17px 13px;}
 .stat span {font-size:.76rem;}
 .stat strong {font-size:1.7rem;}
 .tabs {padding:4px;}
 .tabs button {padding:9px 12px;font-size:.85rem;}
 .exam-top h1 {font-size:1.35rem;}
 .question-card {padding:25px 20px;}
 .question-card h2 {font-size:1.18rem;}
 .exam-side.card {padding:20px;}
 .exam-side .question-nav {grid-template-columns:repeat(5,1fr);gap:8px;}
 .exam-side .question-nav button {min-height:40px;}
 .timer {padding:13px 20px;}
 .result-card {padding:30px 23px;}
 .result-card h1 {font-size:1.5rem;}
 .certificate {padding:30px 18px;}
 .director-section {grid-template-columns:1fr;}
 .director-label {padding:20px 23px;border-right:0;border-bottom:1px solid #dfe7f1;}
 .director-label h2 {font-size:1.2rem;}
 .director-label p {margin-top:5px;font-size:.8rem;}
 .director-profile {padding:24px;}
 .director-name {font-size:1.7rem;}
 .director-message {padding:25px 23px;}
 .greeting-body p {font-size:.94rem;line-height:1.9;}
 .greeting-body .greeting-opening {font-size:1.06rem;}
 .greeting-body .greeting-signature {font-size:.93rem;}
 footer {padding:30px 20px;font-size:.75rem;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {transition:none!important;scroll-behavior:auto!important;}}
@media print {body{background:#fff}.certificate{box-shadow:none;border-radius:0}.wrap{padding:0}}
.qualification-card>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qualification-footer>span{font-size:12px;max-width:60%}
.registry-level{margin-bottom:16px}.registry-level p{line-height:1.9;white-space:pre-line}
.ministry-mark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;color:#66758a}
.ministry-mark small{font-size:10px;font-weight:500;letter-spacing:.02em}
.ministry-mark img{width:auto;height:26px;max-width:210px;object-fit:contain;object-position:left center}
.qualification-top .qualification-icon:has(+.qualification-category .ministry-mark){display:none}
.qualification-top:has(.ministry-mark){min-height:53px}
#essay-answer{font-size:17px;line-height:1.8;min-height:240px}
@media(max-width:700px){.ministry-mark img{height:23px;max-width:190px}}
.scheduled-exam{max-width:900px;margin:0 auto;padding:36px}
.scheduled-exam h2{font-size:26px;margin:22px 0}
.scheduled-exam .long-text{line-height:2.1;color:#35465d;margin-bottom:28px}
@media(max-width:700px){.scheduled-exam{padding:24px}.scheduled-exam h2{font-size:22px}}
.result-feedback,.result-next{max-width:850px;margin:24px auto;padding:30px}.grading-note{padding:18px 0;border-top:1px solid var(--line,#e3e8ef)}.grading-note h3{display:flex;justify-content:space-between;gap:20px}.grading-note p{white-space:pre-line;line-height:1.8;color:#526174}.result-next .actions{margin-top:22px}
.admin-result-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-result-filter{max-width:240px;margin-bottom:22px}
@media(max-width:700px){.admin-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.scheduled-exams{display:grid;gap:28px}.scheduled-exams .scheduled-exam{width:100%}

/* Organization structure */
.org-caption{color:#526174;font-size:13px;border:1px solid #d7e0ea;padding:5px 11px;border-radius:3px}
.org-intro{color:#526174;line-height:1.8}.org-chart{padding:30px 24px;background:#f6f8fb;border:1px solid #e0e6ef;border-radius:6px;margin-top:22px}
.org-chief{position:relative;max-width:330px;margin:0 auto;text-align:center;background:#173751;color:white;padding:23px 20px;border-radius:4px}.org-chief span{font-size:12px;color:#cedce8}.org-chief h3{font-size:23px;margin:8px 0}.org-chief p{font-size:13px;color:#e0e9f1;margin:0}
.org-chief:after{content:"";position:absolute;top:100%;left:50%;height:30px;border-left:1px solid #aebecf}
.org-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:30px 0 0;margin:0}.org-branch{position:relative;padding-top:24px;min-width:0}.org-branch:before{content:"";position:absolute;top:0;left:50%;height:24px;border-left:1px solid #aebecf}.org-branch:after{content:"";position:absolute;top:0;left:-11px;right:-11px;border-top:1px solid #aebecf}.org-branch:first-child:after{left:50%}.org-branch:last-child:after{right:50%}
.org-department{background:#e8eff6;border-top:3px solid #365e7d;text-align:center;padding:19px 12px;min-height:108px}.org-department h3{font-size:18px;margin:0 0 9px;color:#173751}.org-department p{font-size:12px;line-height:1.7;margin:0;color:#526174}
.org-teams{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}.org-teams li{background:white;border:1px solid #dce4ed;padding:18px 14px;min-height:125px}.org-teams h4{font-size:15px;margin:0 0 10px;color:#243f58}.org-teams p{font-size:13px;line-height:1.8;color:#526174;margin:0}.org-footnote{line-height:1.8;margin-top:15px}
@media(max-width:760px){.org-chart{padding:24px 16px}.org-branches{grid-template-columns:1fr;gap:0;padding-top:30px}.org-branch{padding:22px 0 0 20px;border-left:1px solid #aebecf}.org-branch:after{top:48px;left:0!important;right:auto!important;width:20px}.org-branch:before{display:none}.org-chief:after{left:0;height:30px}.org-chief{max-width:none}.org-department{min-height:0}.org-teams li{min-height:0}.org-branch:last-child{padding-bottom:0}.org-caption{white-space:nowrap}}

.org-advisory{position:relative;max-width:430px;margin:30px auto 0;padding:18px 22px;text-align:center;background:#fff;border:1px solid #9eafbf;border-radius:4px}.org-advisory h3{margin:0 0 7px;font-size:17px;color:#173751}.org-advisory p{margin:0;font-size:13px;line-height:1.8;color:#526174}.org-advisory span{display:block;font-size:11px;color:#6b7f91;margin-top:7px}.org-advisory:after{content:"";position:absolute;top:100%;left:50%;height:30px;border-left:1px solid #aebecf}
@media(max-width:760px){.org-advisory{max-width:none}.org-chief:after{left:50%}.org-advisory:after{left:0}}

/* Supplied institutional wordmark; retain the original file, frame its outer whitespace. */
.institute-logo{display:block;position:relative;width:320px;max-width:100%;aspect-ratio:1900/380;overflow:hidden;background:transparent;flex-shrink:0}
.brand .institute-logo img,.footer-brand .institute-logo img{position:absolute;width:105.32%;height:auto;max-width:none;left:-2.63%;top:-52.63%;border-radius:0;display:block}
.footer-brand .institute-logo{width:300px;margin-bottom:18px}
@media(max-width:700px){.brand .institute-logo{width:min(300px,calc(100vw - 36px))}.header-inner .brand{max-width:100%}.footer-brand .institute-logo{width:min(280px,100%)}}

.certificate-identity{margin:16px auto 24px;text-align:center;font-size:16px}.certificate-identity p{margin:8px 0}.certificate-identity strong{margin-right:12px}
