*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0B1544; --blue:#19319D; --blue-l:#E8ECF8; --blue-m:#4A63C4;
  --teal:#0F7B8A; --amber:#B8791C; --red:#C0392B; --green:#1E7A4A;
  --bg:#F4F6FA; --line:#E2E6EF; --line2:#D2D8E6;
  --t1:#0B1544; --t2:#4A5473; --t3:#8B93A9;
}
html{scroll-behavior:smooth}
body{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;background:var(--bg);color:var(--t1);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:inherit;font-size:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* ===== HEADER ===== */
.util{background:#fff;border-bottom:1px solid var(--line)}
.util .wrap{display:flex;justify-content:flex-end;align-items:center;gap:18px;height:36px;font-size:12.5px;color:var(--t3)}
.util .tag{margin-right:auto;background:var(--navy);color:#fff;padding:5px 16px;border-radius:0 0 6px 6px;font-weight:600;font-size:12px}

.hd{background:#fff;border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}
.logo{display:flex;align-items:baseline;gap:8px;flex-shrink:0;cursor:pointer}
.logo b{font-size:24px;font-weight:800;letter-spacing:-1px;color:var(--navy)}
.logo b em{font-style:normal;color:var(--blue)}
.logo span{font-size:14px;font-weight:600;color:var(--t2);border-left:1px solid var(--line2);padding-left:9px}
.gsearch{flex:1;max-width:600px;position:relative}
.gsearch input{width:100%;height:52px;border:2.5px solid var(--blue);border-radius:26px;padding:0 56px 0 24px;font-size:15.5px;outline:none;background:#fff}
.gsearch input::placeholder{color:var(--t3)}
.gsearch .ico{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:22px;height:22px;stroke:var(--blue);stroke-width:2.4;fill:none;pointer-events:none}
.hd-note{margin-left:auto;font-size:12.5px;color:var(--t3);text-align:right;line-height:1.5;flex-shrink:0}

.nav{background:#fff;border-bottom:2px solid var(--navy)}
.nav .wrap{display:flex;gap:6px;overflow-x:auto}
.nav a{padding:15px 22px;font-size:16px;font-weight:600;color:var(--t1);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.15s}
.nav a:hover{color:var(--blue)}
.nav a.on{color:var(--blue);border-bottom-color:var(--blue)}

/* ===== LAYOUT ===== */
main{padding:26px 0 70px;min-height:60vh}
.card{background:#fff;border:1px solid var(--line);border-radius:10px}
.sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.sec-h h2{font-size:19px;font-weight:700;letter-spacing:-.3px}
.sec-h h2 i{font-style:normal;color:var(--blue);font-weight:800;margin-right:7px}
.sec-h .more{font-size:13px;color:var(--t2)}

/* ===== HOME ===== */
.hero{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}
.hero-main{background:var(--navy);border-radius:10px;padding:38px 36px;color:#fff;position:relative;overflow:hidden}
.hero-main:after{content:"";position:absolute;right:-70px;bottom:-90px;width:290px;height:290px;border-radius:50%;background:rgba(255,255,255,.055)}
.hero-main .eyebrow{font-size:13px;font-weight:600;color:#93A5E8;letter-spacing:.5px;margin-bottom:12px}
.hero-main h1{font-size:33px;font-weight:800;line-height:1.28;letter-spacing:-1.2px;margin-bottom:14px}
.hero-main h1 em{font-style:normal;color:#8FB4FF}
.hero-main p{font-size:14.5px;color:#B9C2DE;line-height:1.7;max-width:430px;position:relative}
.hero-stats{display:flex;gap:26px;margin-top:26px;position:relative}
.hero-stats div b{display:block;font-size:27px;font-weight:800;letter-spacing:-.5px}
.hero-stats div span{font-size:12.5px;color:#93A5E8}
.hero-side{display:grid;grid-template-rows:1fr;gap:14px}
.maker{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#93A5E8;position:relative}
.maker b{color:#DCE3F7;font-weight:600}
.qbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;justify-content:center;transition:.15s;cursor:pointer}
.qbox:hover{border-color:var(--blue);box-shadow:0 3px 14px rgba(25,49,157,.09)}
.qbox b{font-size:16.5px;font-weight:700;display:block;margin-bottom:5px}
.qbox span{font-size:13px;color:var(--t2);line-height:1.5}
.qbox.acc{background:var(--blue);border-color:var(--blue);color:#fff;cursor:default}
.qbox.acc span{color:#C4CEF0}
.qform{display:flex;align-items:center;gap:7px;margin-top:14px}
.qform input{width:96px;height:42px;border:none;border-radius:8px;padding:0 12px;font-size:17px;font-weight:700;text-align:center;color:var(--navy);outline:none}
.qform .unit{font-size:13.5px;color:#C4CEF0;margin-right:2px}
.qform button{flex:1;height:42px;border-radius:8px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;transition:.15s}
.qform button:hover{background:#050C2C}

.entry{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.ecard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 22px;transition:.15s;cursor:pointer}
.ecard:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 4px 16px rgba(11,21,68,.08)}
.ecard .n{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.8px;margin-bottom:12px}
.ecard b{font-size:17px;font-weight:700;display:block;margin-bottom:7px}
.ecard p{font-size:13px;color:var(--t2);line-height:1.6}

.dchip{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 12px;text-align:center;font-size:14.5px;font-weight:600;transition:.15s;cursor:pointer}
.dchip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-l)}

/* ===== FILTER BAR ===== */
.fbar{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center}
.fg{display:flex;align-items:center;gap:9px}
.fg>label{font-size:13px;font-weight:700;color:var(--t2);flex-shrink:0}
.pills{display:flex;gap:5px;flex-wrap:wrap}
.pill{padding:7px 14px;border:1px solid var(--line2);border-radius:18px;font-size:13.5px;color:var(--t2);background:#fff;transition:.12s;white-space:nowrap}
.pill:hover{border-color:var(--blue-m);color:var(--blue)}
.pill.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.inp{height:38px;border:1px solid var(--line2);border-radius:8px;padding:0 12px;outline:none;min-width:150px}
.inp:focus{border-color:var(--blue)}
.grade-in{width:78px;text-align:center;font-weight:700;font-size:16px;color:var(--blue)}
.cnt{margin-left:auto;font-size:13px;color:var(--t2)}
.cnt b{color:var(--blue);font-weight:700}

/* ===== UNI GRID ===== */
.ugrid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.ucard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 16px;transition:.15s;cursor:pointer;position:relative}
.ucard:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(11,21,68,.08)}
.ucard b{font-size:16px;font-weight:700;display:block;margin-bottom:8px;letter-spacing:-.3px}
.ucard .meta{font-size:12px;color:var(--t3);display:flex;gap:8px;flex-wrap:wrap;min-height:18px}
.ucard .meta .mq{color:var(--green);font-weight:600}
.badge{position:absolute;top:12px;right:12px;background:var(--blue-l);color:var(--blue);font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:4px}
.gtag{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:3px;margin-bottom:7px}
.g-일반{background:#EEF1F8;color:var(--t2)}
.g-국립{background:#E4F1EC;color:var(--green)}
.g-교대{background:#FDF0DC;color:var(--amber)}
.g-과기원{background:#E8ECF8;color:var(--blue)}

/* ===== ADM CARD ===== */
.alist{display:flex;flex-direction:column;gap:11px}
.acols{columns:2;column-gap:12px}
.acols .acard{break-inside:avoid;margin-bottom:12px;display:inline-block;width:100%}
@media(max-width:1100px){.acols{columns:1}}
.minibtn{margin-left:8px;background:var(--blue-l);color:var(--blue);font-size:12px;font-weight:700;padding:3px 11px;border-radius:5px;transition:.12s}
.minibtn:hover{background:var(--blue);color:#fff}
.resblk{margin-bottom:20px;scroll-margin-top:14px}
.bcamp{display:inline-block;margin-left:6px;background:#FBECEC;color:var(--red);font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:3px;vertical-align:middle}
.cbmini{display:inline-block;margin-left:5px;color:var(--t3);font-size:11px;font-weight:600}
.cb{font-style:normal;font-size:10.5px;font-weight:600;color:var(--blue-m);margin-left:2px}
th.srt{cursor:pointer;user-select:none;transition:.12s}
th.srt:hover{background:var(--blue-l);color:var(--blue)}
.sa{font-style:normal;font-size:9px;margin-left:3px;color:var(--blue)}
.sa.off{color:#C6CBD8}
.pn{font-style:normal;font-size:11px;font-weight:700;margin-left:5px;opacity:.65}
.rgblock{margin-bottom:26px}
.rgtitle{display:flex;align-items:baseline;gap:9px;margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.rgtitle h3{font-size:16.5px;font-weight:700;color:var(--navy)}
.rgtitle span{font-size:12.5px;color:var(--t3)}
.tg-분캠{background:#FBECEC;color:var(--red)}
.acard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.ahead{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ahead .uni{font-size:17px;font-weight:700;cursor:pointer}
.ahead .uni:hover{color:var(--blue);text-decoration:underline}
.ahead .jn{font-size:15px;font-weight:600;color:var(--blue)}
.tags{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.tg{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:4px}
.tg-교과{background:#E8ECF8;color:var(--blue)}
.tg-종합{background:#E4F1EC;color:var(--green)}
.tg-인문{background:#FBECEC;color:var(--red)}
.tg-자연{background:#E6F2F4;color:var(--teal)}
.tg-교대,.tg-과기원{background:#FDF0DC;color:var(--amber)}
.tg-최저{background:#FDF0DC;color:var(--amber)}
.tg-없음{background:#F1F2F6;color:var(--t3)}
.arow{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:7px 0;border-top:1px solid #F0F2F7;font-size:13.5px}
.arow dt{color:var(--t3);font-weight:600;font-size:12.5px;padding-top:1px}
.arow dd{color:var(--t1);white-space:pre-wrap;line-height:1.65}

/* ===== TABLE ===== */
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{background:#F7F9FC;color:var(--t2);font-weight:700;font-size:12.5px;padding:11px 10px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0}
th.l,td.l{text-align:left}
td{padding:10px;text-align:center;border-bottom:1px solid #F2F4F8}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:#FAFBFE}
.dept{font-weight:600}
.cut{font-weight:700;font-variant-numeric:tabular-nums}
.c1{color:#8A2BE2}.c2{color:var(--blue)}.c3{color:var(--teal)}.c4{color:var(--amber)}.c5{color:var(--red)}.c0{color:var(--t3);font-weight:400}
.comp{color:var(--t2);font-variant-numeric:tabular-nums;font-size:12.5px}
.uni-cell{font-weight:700;cursor:pointer}
.uni-cell:hover{color:var(--blue);text-decoration:underline}

/* ===== SELECT & COMPARE ===== */
.selbar-placeholder{}
/* ===== 전형특징 / 모집인원 / 참고자료 ===== */
.fcols{columns:2;column-gap:13px}
@media(max-width:1180px){.fcols{columns:1}}
.fbox{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:13px;display:inline-block;width:100%}
.fbox.wide{column-span:all}
.fbox.hi{border-left:4px solid var(--blue);background:#F8FAFD}
.fbox h4{font-size:14.5px;font-weight:700;color:var(--navy);margin-bottom:10px;letter-spacing:-.2px}
.fbox h4 em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--t3);margin-left:7px}
.fbox.dp{border-left:4px solid var(--teal);background:#F7FBFB}
.fbox .md.sm{font-size:13px;line-height:1.7}
.fbox .md.sm h3{font-size:14px;margin:14px 0 8px;border-left-width:3px}
.fbox .md.sm ul{margin-bottom:9px}
.fbox .md.sm table{font-size:12px}
/* 재구성 표 */
.gwrap{overflow-x:auto;margin-bottom:9px;border:1px solid var(--line);border-radius:7px}
.gwrap:last-child{margin-bottom:0}
.gtbl{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5}
.gtbl th,.gtbl td{border:1px solid #D9DFEC;padding:5px 7px;text-align:center;vertical-align:middle;white-space:pre-wrap;word-break:keep-all;position:static}
.gtbl th{background:#EDF1F9;color:var(--navy);font-weight:700;font-size:11.5px}
.gtbl td.lft,.gtbl th.lft{text-align:left}
.gtbl td{font-variant-numeric:tabular-nums}
.gtbl tr:nth-child(even) td{background:#FBFCFE}
.gtbl.ref{font-size:11.5px}
.gtbl.ref th,.gtbl.ref td{padding:4px 6px}
.refbox .rt{font-size:13.5px;font-weight:600;color:var(--navy);margin:14px 0 8px}
.refbox .rt:first-child{margin-top:0}
.flow{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;margin:4px 0 16px}
.fstep{background:#F4F7FD;border:1px solid #C9D3F0;border-radius:8px;padding:9px 13px;min-width:112px;text-align:center}
.fstep b{display:block;font-size:12.5px;font-weight:700;color:var(--blue)}
.fstep span{display:block;font-size:11px;color:var(--t2);margin-top:3px;line-height:1.4}
.farr{font-style:normal;color:var(--t3);align-self:center;font-size:14px}
.fbox pre{font-family:'Pretendard Variable',Pretendard,monospace;font-size:12px;line-height:1.72;white-space:pre;overflow-x:auto;color:var(--t1);letter-spacing:-.2px}
.chglist{margin:0;padding-left:17px;font-size:13.5px;line-height:1.75}
.chglist li{margin-bottom:4px}
.badge2{background:#E4F1EC;color:var(--green);font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:4px}
.qsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.qs{background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px 15px}
.qs span{display:block;font-size:12.5px;font-weight:600;color:var(--t2);margin-bottom:4px;line-height:1.35}
.qs b{font-size:20px;font-weight:800;color:var(--blue);letter-spacing:-.5px}
.qs em{font-style:normal;font-size:11px;color:var(--t3);margin-left:5px}
.qtbl{font-size:12.5px}
.qtbl th{padding:8px 6px;font-size:11.5px}
.qtbl th .qk{display:block;font-style:normal;font-weight:500;font-size:10px;color:var(--t3);margin-top:2px}
.qtbl td{padding:7px 6px}
.qtbl .y8{font-weight:700;color:var(--navy);background:#FAFBFE}
.qtbl th.y8{background:var(--blue-l);color:var(--blue)}
.qtbl .dim{color:var(--t3);font-size:11.5px}
.qtbl .cr{color:var(--blue-m);font-size:11.5px}
.qtbl .tr8{font-size:11.5px;color:var(--t2);font-weight:600}
.refbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;overflow-x:auto}
.refbox pre{font-family:'Pretendard Variable',Pretendard,monospace;font-size:11.5px;line-height:1.7;white-space:pre;letter-spacing:-.3px}
.selbar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px 10px 0 0;border-bottom:none;padding:11px 16px}
.ckall{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--t2);cursor:pointer}
.ckall input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer}
.selcnt{font-size:13px;color:var(--t2)}
.selcnt b{color:var(--blue);font-weight:700}
.selbar .btn-clear{margin-left:auto;font-size:13px;color:var(--t2);padding:7px 13px;border:1px solid var(--line2);border-radius:7px;transition:.12s}
.selbar .btn-clear:hover{border-color:var(--t3);color:var(--t1)}
.btn-cmp{background:var(--blue);color:#fff;font-size:13.5px;font-weight:700;padding:8px 18px;border-radius:7px;transition:.12s}
.btn-cmp:hover:not(:disabled){background:#12246F}
.btn-cmp:disabled{background:#DDE1EC;color:#9AA2B8;cursor:not-allowed}
.selbar + .tbl-wrap{border-radius:0 0 10px 10px}
th.ck,td.ck{width:52px;text-align:center;padding-left:6px;padding-right:6px}
td.ck input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer}

.modal{position:fixed;inset:0;background:rgba(11,21,68,.5);z-index:200;display:none;padding:28px 20px;overflow-y:auto}
.modal.open{display:block}
.mbox{max-width:1120px;margin:0 auto;background:var(--bg);border-radius:14px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.mhead{background:var(--navy);color:#fff;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2}
.mhead h2{font-size:20px;font-weight:700;letter-spacing:-.4px}
.mhead h2 span{font-size:13.5px;font-weight:500;color:#93A5E8;margin-left:9px}
.mclose{color:#C4CEF0;font-size:13.5px;font-weight:600;padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:7px;transition:.12s}
.mclose:hover{background:rgba(255,255,255,.1);color:#fff}
.mbody{padding:22px 26px 30px}
.mh{font-size:16px;font-weight:700;margin:24px 0 11px;padding-left:10px;border-left:4px solid var(--blue);line-height:1.4}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.ccard .cl{font-size:12px;font-weight:700;color:var(--t3);margin-bottom:7px}
.ccard .cv{font-size:21px;font-weight:800;color:var(--blue);letter-spacing:-.5px;line-height:1.25}
.ccard .cs{font-size:12.5px;color:var(--t2);margin-top:5px;line-height:1.45}
.bars{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.bar{display:grid;grid-template-columns:230px 1fr 56px;gap:12px;align-items:center;font-size:13px}
.bcap{font-size:12.5px;color:var(--t3);padding-bottom:9px;border-bottom:1px solid #F0F2F7;margin-bottom:2px}
.bl{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bl em{font-style:normal;color:var(--t2);font-weight:400;margin-left:6px;font-size:12px}
.bt{background:#EEF1F8;border-radius:5px;height:16px;overflow:hidden}
.bt i{display:block;height:100%;background:var(--blue);border-radius:5px}
.bv{font-weight:700;font-variant-numeric:tabular-nums;color:var(--navy);text-align:right}
@media(max-width:700px){.bar{grid-template-columns:120px 1fr 48px}.mbody{padding:18px 16px 24px}.mhead{padding:16px 18px}}

/* ===== DETAIL ===== */
.dhead{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin-bottom:14px}
.dhead .bk{font-size:13px;color:var(--t2);margin-bottom:12px;display:inline-block}
.dhead .bk:hover{color:var(--blue)}
.dhead h1{font-size:28px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dhead .sub{font-size:13.5px;color:var(--t2);margin-top:8px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tab{padding:12px 20px;font-size:15px;font-weight:600;color:var(--t2);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tab:hover{color:var(--blue)}
.tab.on{color:var(--blue);border-bottom-color:var(--blue)}
.tab:disabled{color:#C6CBD8;cursor:not-allowed}
.md{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 28px;font-size:14.5px;line-height:1.85}
.md h3{font-size:17px;font-weight:700;margin:26px 0 12px;padding-left:11px;border-left:4px solid var(--blue);line-height:1.4}
.md h3:first-child{margin-top:0}
.md p{margin-bottom:9px}
.md ul{margin:0 0 14px 19px}
.md li{margin-bottom:5px}
.md strong{font-weight:700;color:var(--navy)}
.md table{margin:12px 0 18px;border:1px solid var(--line);font-size:13.5px}
.md th{position:static}
.md td{text-align:left;padding:9px 11px}
.md .blk{background:#F8FAFD;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:16px 18px;margin-bottom:12px}
.md .blk b{color:var(--blue)}

.notice{background:#FFF9EC;border:1px solid #F0DDB4;border-radius:8px;padding:13px 17px;font-size:13px;color:#7A5A15;line-height:1.65;margin-bottom:16px;display:flex;gap:9px}
.notice svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;stroke:#B8791C;fill:none;stroke-width:2}
.empty{background:#fff;border:1px solid var(--line);border-radius:10px;padding:60px 20px;text-align:center;color:var(--t3);font-size:14.5px}
.empty b{display:block;font-size:16px;color:var(--t2);margin-bottom:6px;font-weight:600}
.famline{background:var(--blue-l);border:1px solid #C9D3F0;border-radius:8px;padding:11px 16px;margin-bottom:14px;font-size:13px;color:var(--t2)}
.famline b{color:var(--blue);font-weight:700;margin-right:6px}
.famline span{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:8px;vertical-align:middle}
.famline em{font-style:normal;background:#fff;border:1px solid #C9D3F0;border-radius:11px;padding:2px 9px;font-size:12px;color:var(--blue-m)}

.foot{background:var(--navy);color:#8B96BC;padding:30px 0;font-size:12.5px;line-height:1.9}
.foot b{color:#D5DCF0;font-weight:600}
.foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:980px){
  .hero{grid-template-columns:1fr}.entry{grid-template-columns:repeat(2,1fr)}
  .ugrid{grid-template-columns:repeat(3,1fr)}.deep-grid{grid-template-columns:repeat(3,1fr)}
  .hd .wrap{flex-wrap:wrap}.gsearch{max-width:none;order:3;width:100%}.hd-note{display:none}
}
@media(max-width:620px){
  .entry,.ugrid,.deep-grid{grid-template-columns:repeat(2,1fr)}
  .hero-main{padding:28px 22px}.hero-main h1{font-size:25px}
  .logo b{font-size:20px}.logo span{font-size:14px}
}

/* ===== 추가: 앱 전용 ===== */
:root{color-scheme:light}
html,body{background:var(--bg)}
.tg-논술{background:#FDF0DC;color:var(--amber)}
.tg-실기실적,.tg-기타{background:#F1F2F6;color:var(--t2)}
.tg-해외캠퍼스,.tg-과기원특수{background:#FDF0DC;color:var(--amber)}
.g-해외캠퍼스,.g-과기원·특수{background:#FDF0DC;color:var(--amber)}
.mk{font-style:normal;font-size:10.5px;font-weight:600;color:var(--t3);margin-left:2px}
.flag{color:var(--amber);font-weight:800;margin-left:2px;cursor:help}
td.cls{text-align:left;white-space:nowrap}
.ctag{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:#EEF1F8;color:var(--navy)}
.ctag.k-인문{background:#FBECEC;color:var(--red)}.ctag.k-사회{background:#F3ECFB;color:#6B3FA0}.ctag.k-교육{background:#FDF0DC;color:var(--amber)}
.ctag.k-공학{background:#E8ECF8;color:var(--blue)}.ctag.k-자연{background:#E6F2F4;color:var(--teal)}.ctag.k-의약{background:#E4F1EC;color:var(--green)}
.ctag.k-예체능{background:#FCEAF3;color:#A0306A}.ctag.k-자율·광역{background:#F1F2F6;color:var(--t2)}
td.cls em{display:block;font-style:normal;font-size:11.5px;color:var(--t2);margin-top:2px}
.dept small{display:inline-block;font-size:10.5px;font-weight:700;margin-left:5px;color:var(--t3)}
.dept .tj{display:inline-block;margin-left:5px;font-size:10.5px;font-weight:700;color:var(--green);background:#E4F1EC;border-radius:3px;padding:0 5px}
td.avg{background:#FAFBFE}
.selfloat{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:150;background:var(--navy);color:#fff;border-radius:999px;padding:8px 8px 8px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(11,21,68,.35);font-size:14px;max-width:calc(100% - 32px)}
.selfloat b{color:#8FB4FF;font-size:16px}
.selfloat button{border-radius:999px;padding:8px 16px;font-weight:700;font-size:13.5px}
.selfloat .go{background:#fff;color:var(--navy)}
.selfloat .x{color:#C4CEF0;border:1px solid rgba(255,255,255,.25)}
.qbox .convline,.hq .convline{font-size:13px;color:#DCE3FF;margin-top:10px}
.qbox .convline b,.hq .convline b{color:#fff;font-size:20px;font-weight:800;margin:0 3px}
.qbox .modesw,.hq .modesw{display:inline-flex;margin-left:8px;border:1px solid rgba(255,255,255,.35);border-radius:6px;overflow:hidden;vertical-align:middle}
.qbox .modesw button,.hq .modesw button{color:#fff;font-size:12px;font-weight:700;padding:3px 9px}
.qbox .modesw button.on,.hq .modesw button.on{background:#fff;color:var(--blue)}
.myline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--t2)}
.myline b.big{font-size:20px;color:var(--blue);font-weight:800}
.convtbl{font-size:12.5px}
.convtbl td,.convtbl th{padding:6px 8px}
.dchip em{font-style:normal;font-size:12px;color:var(--t3);margin-left:6px;font-weight:600}
.band td.c{cursor:pointer;font-weight:700}
.band td.c:hover{outline:2px solid var(--blue);outline-offset:-2px}
.band td.sel{background:var(--blue)!important;color:#fff}
.band tr.mine th{background:var(--blue-l);color:var(--blue)}
.dl2{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;font-size:13.5px}
.dl2 dt{color:var(--blue);font-weight:700}
.dl2 dd{white-space:pre-wrap;line-height:1.65}
.dl2 dd .pg{color:var(--t3);font-size:11.5px;margin-left:5px}
.jblock{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:12px}
.jblock h4{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.smline{font-size:12.5px;color:var(--t2);margin:-2px 0 8px;display:flex;flex-wrap:wrap;gap:4px 14px}
.smline b{color:var(--navy)}
.addr{font-size:13px;color:var(--t2);margin-top:6px;display:grid;gap:2px}
.addr b{color:var(--navy)}
@media(max-width:620px){.dl2{grid-template-columns:1fr}.selfloat{font-size:13px;padding-left:14px}}
.mbody .tbl-wrap table{min-width:0;width:100%}.tbl-wrap td.uni-cell{white-space:nowrap}.tbl-wrap td.dept{min-width:0}.tbl-wrap td.cls{min-width:0}
.fsel{flex-direction:column;align-items:stretch;gap:10px}.fsel .fw{flex-wrap:wrap;align-items:flex-start}.fsel .fw>label{min-width:72px;padding-top:7px}.fsel .pills{flex-wrap:wrap;flex:1}
.fsel .fhint{width:100%;padding-left:82px;font-size:12px;color:var(--t3)}.fsel .rel{background:#F4F6FC;border-radius:12px;padding:10px 12px}.fsel .rel .minibtn{margin-left:82px}
.pill.relp:not(.on){border-color:#9AA8E0;color:var(--blue)}.pill.simp:not(.on){border-style:dashed}.simlab{font-size:12px;color:var(--t3);align-self:center;margin:0 4px 0 8px}
.fsel .picked .minibtn{align-self:center}.mincell{min-width:230px;max-width:320px;font-size:12px;line-height:1.5;color:var(--t2);white-space:normal}.mincell div{margin-top:4px}.mincell .minhit{background:#FFF7E6;border-radius:6px;padding:4px 6px}.mincell summary{cursor:pointer;color:var(--blue);font-weight:600;margin-top:4px}
@media(max-width:640px){.fsel .fhint,.fsel .rel .minibtn{padding-left:0;margin-left:0}.fsel .fw>label{min-width:0;width:100%;padding-top:0}}
.tg-y28{background:#E4F1EC;color:#0F7B55;font-weight:800}.tg-y27{background:#EEF0F5;color:#5A6378}
.ver28{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;margin:0 0 14px;padding:10px 14px;background:#F2FAF6;border:1px solid #CFEBDD;border-radius:12px}.ver28.v27{background:#F6F7FA;border-color:var(--line)}
.badge2.b27{background:#EEF0F5;color:#5A6378}
.old27{margin-top:22px;border-top:1px dashed var(--line);padding-top:12px}.old27>summary{cursor:pointer;font-weight:700;color:var(--blue);margin-bottom:12px}
.acard.a28{border-top:3px solid #0F7B55}
.h28{font-size:17px;margin:22px 0 10px;color:var(--navy)}.sec28{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:10px}
.sec28>summary{cursor:pointer;font-weight:700;color:var(--navy);padding:2px 0}.sec28[open]>summary{margin-bottom:8px}.t28{font-size:13px;color:var(--t2);margin:6px 0;white-space:pre-wrap}
.stw{margin:6px 0 10px}.stbl{border-collapse:collapse;font-size:12px;min-width:100%}.stbl th,.stbl td{border:1px solid var(--line);padding:5px 7px;text-align:center;vertical-align:middle;white-space:normal;min-width:34px}
.stbl th{background:#F4F6FC;color:var(--navy);font-weight:700}.stbl td{color:var(--t1)}
td.q28 b{font-weight:800}
.dlink{all:unset;cursor:pointer;font-weight:700;color:var(--navy);border-bottom:1px dashed #9AA8E0}.dlink:hover{color:var(--blue);border-bottom-style:solid}.dlink:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
tr.me-row td{background:#FFF7E6!important}.simbar{gap:10px 18px}
td.jcell{width:1%;white-space:nowrap;font-size:12.5px;color:var(--t2)}td.jcell .jsub{display:block;font-size:11px;color:var(--t3)}td.jcell .cbmini{margin-left:4px}
.y3c{padding:8px 10px!important}.y3{display:grid;grid-template-columns:auto auto;gap:1px 7px;justify-content:center;align-items:baseline;font-size:12.5px;line-height:1.45;white-space:nowrap;text-align:right}
.y3 .yl{color:var(--t3);font-size:10.5px;font-weight:600;text-align:left}.y3 .yl.y8{color:#0F7B55}.y3 .cut{font-size:13px}
td.minS{min-width:0;width:118px;max-width:130px;font-size:12px;line-height:1.4;white-space:normal}td.minS b{font-size:12.5px;color:var(--navy)}td.minS small{display:block;color:var(--t3);font-size:11px;margin-top:2px}
.mbody .tbl-wrap table{min-width:1080px}
.wrap{max-width:1360px}
.tbl-wrap th{padding:8px 6px;font-size:12px}.tbl-wrap td{padding:6px 6px;font-size:13px;line-height:1.35}.tbl-wrap th.ck,.tbl-wrap td.ck{width:34px;padding-left:4px;padding-right:4px}
.tbl-wrap td.uni-cell{max-width:108px;white-space:normal;word-break:keep-all;font-size:13px}
.tbl-wrap td.dept{max-width:170px;word-break:keep-all}.tbl-wrap td.dept small{margin-left:3px}.tbl-wrap td.dept .tj{margin-left:3px}
td.cls{white-space:nowrap}td.cls em{display:inline;margin:0 0 0 3px;font-size:11px}
.yr{display:grid;grid-auto-flow:column;grid-auto-columns:var(--cw);justify-content:center;align-items:baseline;white-space:nowrap;font-size:12.5px}
.yr>span{text-align:center}.yr .cut{font-size:13px}.yr sup.mk{font-size:9px;margin-left:1px;vertical-align:super;color:var(--t3);font-style:normal}
.yr.yh{margin-top:3px;font-size:10.5px;color:var(--t3);font-weight:600}.y3c{padding:6px 4px!important}
td.minS small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:122px}
@media(max-width:640px){.tbl-wrap table{min-width:980px}}
.calc28{background:#fff;border:1px solid #CFEBDD;border-left:4px solid #0F7B55;border-radius:12px;padding:16px 18px;margin:0 0 16px}.calc28.none{border-color:var(--line);border-left-color:#B8C0D0}
.calc28 h3{font-size:16px;color:var(--navy);margin:0 0 10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.calcdl dt{min-width:118px}
.fml{margin:10px 0;padding:10px 12px;background:#F4F6FC;border-radius:8px;font-size:13px}.fml b{display:block;font-size:12px;color:var(--t2);margin-bottom:4px}.fml code{font-family:inherit;color:var(--navy);font-weight:600}
.gscore{display:flex;flex-wrap:wrap;gap:8px}.gscore .stw{flex:1 1 300px}.gscore td.gl{color:var(--t3);font-size:11px}
.cnote{margin:8px 0 0 18px;font-size:12.5px;color:#9A5B00}.csrc{margin-top:8px;font-size:11.5px;color:var(--t3)}
.sec28.hl28{border-color:#CFEBDD}

.modal:has(.simbox){padding:12px}
.mbox.simbox{max-width:min(1480px,98vw);display:flex;flex-direction:column;max-height:calc(100vh - 24px)}
.simbox .mhead{padding:12px 18px}.simbox .mhead h2{font-size:17px}
.simbox .mbody{padding:10px 14px 14px;overflow:auto;flex:1;min-height:0}
.simbox .fbar{padding:10px 14px;margin-bottom:8px;gap:8px 16px}.simbox .pill{padding:5px 12px;font-size:12.5px}.simbox .inp{padding:6px 10px}
.simbox .notice{padding:8px 12px;font-size:12.5px;margin-bottom:8px!important}
.simbox .tbl-wrap table{min-width:0;width:100%}.simbox .tbl-wrap{overflow:visible}
.simbox thead th{position:sticky;top:-10px;z-index:1}
.simbox .selbar{padding:6px 12px}
@media(max-width:640px){.simbox .tbl-wrap{overflow-x:auto}.simbox .tbl-wrap table{min-width:980px}.simbox thead th{position:static}}
.tg-nod{background:#FFF1E0;color:#9A5B00}
.xr{margin-top:4px;font-size:12px;color:var(--t2)}.xr b{color:var(--navy);font-weight:600}.chg28{color:#9A5B00}
.vs27{margin-top:3px;font-size:12px;color:var(--t3)}.qtb td,.qtb th{white-space:nowrap}

/* 반복 표현 칩 */
.chips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px;width:100%}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;line-height:1;padding:4px 8px 4px 6px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.chip .ci{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.c-line{background:#fff;border-color:#C9CFDC;color:#3B4458}
.c-blue{background:#E9EEFC;color:#19319D;border-color:#D3DCF7}
.c-gray{background:#EEF0F4;color:#4A5366}
.c-teal{background:#0E6B73;color:#fff}
.c-violet{background:#5B3FC4;color:#fff}
.c-dash{background:#FFF8F3;border:1px dashed #E07A3F;color:#B4501A}
.c-dash2{background:#fff;border:1px dashed #A9B0BF;color:#6B7385}
.c-bold{background:#fff;border:1.5px solid #0B1544;color:#0B1544;font-weight:800}
.c-chg{background:#C2410C;color:#fff}
.c-none{background:#F3F4F7;color:#7A8296;font-weight:600}
.c-warn{background:#FFF1E0;color:#9A5B00}
.c-y28{background:#0B1544;color:#fff;font-size:10.5px;padding:3px 7px;vertical-align:1px}
.ahead .chips{order:2}
.cbmini{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:#F1F2F6;color:#5A6378}
.cbmini.ty-교과{background:#E8ECF8;color:#19319D}.cbmini.ty-종합{background:#E4F1EC;color:#0F7B55}.cbmini.ty-논술{background:#FDF0DC;color:#9A5B00}
td.mgd{vertical-align:top;padding-top:12px;background:#FBFCFE;border-bottom:1px solid #E3E7EF}
tr:hover td.mgd{background:#FBFCFE}
.ctbl{margin:16px 0 6px}.ctit{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13.5px;color:#0B1544}
.ctb th{background:#F3F5FA;font-weight:700;font-size:12px;white-space:pre-line}.ctb td{font-size:12.5px;text-align:center;white-space:normal}
.cnote2{font-size:11.5px;color:#5A6378;margin-top:4px;line-height:1.55}
.calcdl.wide{grid-template-columns:230px 1fr}.calcdl.wide dt{font-size:12.5px}.rh{margin:18px 0 8px;font-size:14px;color:#0B1544}
.ctbl .tbl-wrap{display:inline-block;max-width:100%;vertical-align:top}.ctb{width:auto;min-width:min(100%,360px)}.cgrp{margin:20px 0 2px;font-size:14.5px;color:#19319D;border-left:3px solid #19319D;padding-left:8px}
.also{font-size:11.5px;color:#5A6378;margin-top:6px;line-height:1.6}.also ul{margin:4px 0 0 18px;padding:0}

/* 최저 핵심 열 */
.mrow{display:inline-flex;align-items:flex-start;gap:7px;line-height:1.35}
.mkey{flex:none;display:inline-block;min-width:58px;text-align:center;font-size:12.5px;font-weight:800;color:#fff;background:#C2255C;border-radius:5px;padding:3px 7px;letter-spacing:-.2px;white-space:nowrap}
.mkey.mk0{background:#EEF0F4;color:#7A8296;font-weight:700}
.mkey.mkq{background:#FFE8CC;color:#9A4A00}
.mrest{font-size:11.5px;color:#4A5366;white-space:normal}
.mmore{display:block;color:#C2255C;font-weight:700;font-size:11px;margin-top:1px}
td.minS{min-width:190px}td.minS .mrest{display:block;max-width:170px;font-size:11px}
.xr .xrr{display:flex;align-items:flex-start;gap:6px;margin-top:5px}.xr .xg{font-size:11.5px;color:#0B1544;margin-left:auto;white-space:nowrap}
/* 전형 담기 */
.jpick{display:inline-flex;align-items:center;gap:3px;border:1px solid #C9CFDC;background:#fff;color:#5A6378;border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px 2px 6px;cursor:pointer;vertical-align:1px;margin-right:6px}
.jpick svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.jpick:hover{border-color:#19319D;color:#19319D}
.jpick.on{background:#F59F00;border-color:#F59F00;color:#fff}.jpick.on svg{fill:#fff;stroke:#fff}
td.jcell .jpick span{display:none}td.jcell .jpick{padding:3px;margin-right:5px}
/* 홈 대시보드 */
.dash{background:#fff;border:1px solid var(--line,#E3E7EF);border-radius:14px;padding:22px 24px;margin:0 0 26px}
.dash-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dash-h h2{font-size:20px;color:#0B1544;margin:0}.dash-h .c0{font-size:12.5px}
.dash-k{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dk{border:1px solid #E3E7EF;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:#FAFBFE}
.dk>span{font-size:12.5px;color:#5A6378;font-weight:600}.dk b{font-size:28px;color:#0B1544;line-height:1.1}.dk b small{font-size:13px;color:#5A6378;margin-left:3px;font-weight:600}
.dk em{font-style:normal;font-size:12px;color:#7A8296}.dk .minibtn{align-self:flex-start;margin-top:4px}
.dash-s{font-size:15.5px;color:#0B1544;margin:22px 0 10px}.dash-s .c0{font-size:12.5px;font-weight:500;margin-left:6px}
.djgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.dj{border:1px solid #E3E7EF;border-top:3px solid #19319D;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.djh{display:flex;align-items:center;justify-content:space-between}.djh .uni{font-weight:800;color:#0B1544;cursor:pointer}.djh .uni:hover{text-decoration:underline}
.djn{font-weight:700;color:#19319D;font-size:14px}
.djr{display:flex;gap:8px;align-items:flex-start;font-size:12.5px}.djr>span{flex:none;width:52px;color:#7A8296;font-size:11.5px;padding-top:3px}.djr em{font-style:normal;color:#3B4458}
.dtb td,.dtb th{font-size:12.5px}.gup{color:#C92A2A}.gdn{color:#1C7ED6}
.xsel{font-size:11.5px;color:#5A6378;white-space:nowrap;cursor:pointer}
.dash-empty{display:flex;gap:8px;align-items:center;background:#F7F8FB;border-radius:10px;padding:14px 16px;font-size:13px;color:#4A5366;margin-top:14px}.dash-empty .ci{width:16px;height:16px;fill:none;stroke:#19319D;stroke-width:1.5}
/* 지역 칩 */
.rchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rchip{display:inline-flex;align-items:center;gap:4px;border:1px solid #D3DCF7;background:#fff;color:#19319D;border-radius:999px;padding:4px 10px 4px 7px;font-size:12.5px;font-weight:700;cursor:pointer}
.rchip .ci{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}
.rchip em{font-style:normal;font-size:11px;color:#7A8296;font-weight:600;margin-left:2px}.rchip:hover{background:#E9EEFC}
@media(max-width:900px){.dash-k{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.dash{padding:16px}.dash-k{grid-template-columns:1fr 1fr}.dk b{font-size:22px}}

/* 변경사항 강조 */
/* 최저: 칩 대신 색 글씨 + 학과 바로 붙임 */
.mkey{background:none!important;color:#C2255C;padding:0;min-width:0;font-size:13px;font-weight:800;border-radius:0}
.mkey.mk0{color:#8A93A6;font-weight:700}.mkey.mkq{color:#C2410C}
.mrow{display:inline;line-height:1.5}.mkey{margin-right:5px}.mdept{margin-right:4px}.mrow .mrest{display:inline}
.mdept{color:#0B1544;font-weight:800;font-size:12.5px}.mdept:after{content:" :"}
td.minS{min-width:170px}td.minS .mrest{display:inline;max-width:none}
.xr .xrr{display:block;margin-top:4px}
/* 홈: 소개창 안 내 등급 */
.hero-main .hq{position:relative;margin-top:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:16px 18px}
.hero-main .hq>b{display:block;font-size:15.5px;margin-bottom:4px}.hero-main .hq .convline b{display:inline}.hero-main .hq>span{font-size:12.5px;color:#B9C2DE}
.hero-main .hq .qform{margin-top:10px;max-width:420px}.hero-main .hq .convline{color:#C4CEF0}
.hero-main .maker{margin-top:18px}
/* 홈: 오른쪽 내 선택 대시보드 */
.hero-side{display:block}
.sdash{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;height:100%;display:flex;flex-direction:column;gap:12px}
.sdh{display:flex;justify-content:space-between;align-items:center}.sdh b{font-size:17px;color:#0B1544}.sdlink{font-size:12.5px;color:#19319D;font-weight:700;text-decoration:none}
.sdk{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sdk>div{background:#F5F7FC;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.sdk span{font-size:11.5px;color:#5A6378;font-weight:600}.sdk b{font-size:22px;color:#0B1544;line-height:1.15}.sdk b small{font-size:11.5px;color:#5A6378;margin-left:2px}
.sdk em{font-style:normal;font-size:11.5px;color:#19319D;font-weight:700}
.sdbtn{align-self:flex-start;font-size:11px;font-weight:700;color:#19319D;background:#E9EEFC;border-radius:5px;padding:2px 7px;margin-top:2px}
.sdl h4{font-size:12.5px;color:#5A6378;margin:0 0 4px}.sdl ul{list-style:none;margin:0;padding:0}
.sdl li{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:5px 0;border-bottom:1px dashed #E3E7EF}
.sdl li .uni{font-weight:800;color:#0B1544;cursor:pointer}.sdl li .uni:hover{text-decoration:underline}
.sdl .sdx{margin-left:auto;white-space:nowrap;font-size:12px}.sdl .sdx .mrest{display:none}.sdl .jpick span{display:none}.sdl .jpick{padding:2px;margin:0}
.sdmore{font-style:normal;font-size:11.5px;color:#7A8296}
.sdempty{font-size:12.5px;color:#5A6378;background:#F7F8FB;border-radius:8px;padding:12px}
.xr b.mkey,b.mkey{color:#C2255C}.xr b.mkey.mk0{color:#8A93A6}.xr b.mdept,b.mdept{color:#19319D}

/* 내 선택 대시보드: 파란 계열 */
.sdash{background:var(--blue);border-color:var(--blue);color:#fff}
.sdh b{color:#fff}.sdlink{color:#DCE3FF!important}
.sdk>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}
.sdk span{color:#C4CEF0}.sdk b{color:#fff}.sdk b small{color:#C4CEF0}.sdk em{color:#DCE3FF}
.sdbtn{background:#fff;color:var(--blue)}
.sdl h4{color:#C4CEF0}.sdl li{border-bottom-color:rgba(255,255,255,.16);color:#E6EBFF}
.sdl li .uni{color:#fff}
.sdash b.mkey{color:#FFD43B}.sdash b.mkey.mk0{color:#AEB9E0}
.sdash .cut{color:#fff!important}.sdash .gup{color:#FFA8A8}.sdash .gdn{color:#A5D8FF}
.sdash .jpick{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}.sdash .jpick.on{background:#F59F00;border-color:#F59F00}
.sdempty{background:rgba(255,255,255,.1);color:#DCE3FF}.sdempty b{color:#fff}
/* 2028 변경사항: 가로 꽉 차게, 최저·성적산출 변경만 네이비 굵게 */
.fcols:has(> .fbox.hi){columns:1}
.fbox.hi{display:block;width:100%}
.fbox.hi .chglist{columns:2;column-gap:36px}
.fbox.hi .chglist li{break-inside:avoid}
.chglist li.hl-key,dd.hl-key,.vs27.hl-key{color:#0B1544;font-weight:700}
.chglist li.hl-key::marker{color:#0B1544}
@media(max-width:900px){.fbox.hi .chglist{columns:1}}
@media(max-width:620px){.fbox.hi{padding:12px 12px}.fbox.hi h4{font-size:14px}.fbox.hi .chglist{font-size:12.5px;line-height:1.6;padding-left:15px}}
/* 전형 페이지 칸 순서 */
.secnav{position:sticky;top:0;z-index:5;display:flex;gap:6px;flex-wrap:wrap;background:var(--bg,#F4F6FA);padding:8px 0 10px;margin-bottom:4px}
.secnav a{font-size:13px;font-weight:700;color:#19319D;background:#fff;border:1px solid #D3DCF7;border-radius:999px;padding:5px 14px;text-decoration:none}.secnav a:hover{background:#E9EEFC}
.sechd{display:flex;align-items:baseline;gap:10px;margin:26px 0 12px;padding-bottom:8px;border-bottom:2px solid #0B1544;scroll-margin-top:60px}
.sechd h3{font-size:19px;color:#0B1544;margin:0}.sechd span{font-size:13px;color:#5A6378;font-weight:600}.sechd em{font-style:normal;font-size:12px;color:#7A8296}
.sechd#sec-개요{margin-top:6px}
.secsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0 14px}
.secsum a{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #E3E7EF;border-left:4px solid #19319D;border-radius:8px;padding:10px 12px;text-decoration:none;color:inherit}
.secsum a:hover{border-color:#19319D}.secsum b{font-size:15px;color:#0B1544}.secsum span{font-size:12px;color:#19319D;font-weight:700}.secsum em{font-style:normal;font-size:12px;color:#5A6378;line-height:1.5}
@media(max-width:620px){.sechd h3{font-size:16.5px}.secsum{grid-template-columns:1fr 1fr}}
/* 정시 표 */
.jtb{width:100%;background:#fff}.jtb th{font-size:12.5px;background:#F3F5FA;white-space:nowrap}
.jtb td{font-size:12.5px;vertical-align:top;padding-top:10px;padding-bottom:10px}
.jtb td.jg{white-space:nowrap;width:1%}.gun{display:inline-block;width:22px;height:22px;line-height:22px;text-align:center;border-radius:6px;font-weight:800;font-size:12.5px;color:#fff;margin:1px}
.gun.g-가{background:#19319D}.gun.g-나{background:#0E6B73}.gun.g-다{background:#7048E8}
.jtb td.jn2{font-weight:700;color:#0B1544;min-width:150px}.jtb td.jq{white-space:nowrap;font-weight:800;color:#0B1544;text-align:center}
.jel{display:inline-flex;gap:3px;align-items:baseline;background:#E9EEFC;color:#19319D;border-radius:5px;padding:2px 7px;margin:0 4px 4px 0;white-space:nowrap}.jel b{font-size:11.5px}
.jrat{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:4px;align-items:center;margin-bottom:4px}.jrat em{font-style:normal;font-size:11.5px;color:#5A6378;margin-right:2px}
.jrat span{display:inline-flex;gap:2px;border:1px solid #D3DCF7;border-radius:5px;padding:1px 6px;white-space:nowrap}.jrat span b{color:#C2255C}
.jtb td.jm{color:#3B4458;min-width:260px;line-height:1.55}
@media(max-width:760px){
.jtb thead{display:none}.jtb,.jtb tbody{display:block}
.jtb tr{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px;border-bottom:1px solid #E3E7EF}
.jtb td{display:block;padding:0!important;border:0!important;min-width:0!important;text-align:left!important}
.jtb td.jg{grid-row:span 1}.jtb td.jn2{font-size:13.5px}
.jtb td[data-l]{grid-column:1 / -1;display:flex;gap:8px;align-items:flex-start}
.jtb td[data-l]::before{content:attr(data-l);flex:none;width:52px;font-size:11px;color:#7A8296;font-weight:700;padding-top:3px}
.jrat{flex-wrap:wrap;white-space:normal}.jtb{min-width:0!important;width:100%!important}.jtb tr{grid-template-columns:auto minmax(0,1fr)}.jtb td{white-space:normal!important;overflow-wrap:anywhere}.jtb td[data-l]>*{min-width:0}}
.cbrief{list-style:none;margin:0 0 4px;padding:0;font-size:12px;color:#3B4458;line-height:1.5}.cbrief li{margin-bottom:2px}.cbrief b{color:#19319D;margin-right:3px}
td.cbcell{min-width:220px;max-width:300px}td.cbcell .cbrief{font-size:11.5px}
.sdg{display:block;font-size:11px;color:#C4CEF0;font-weight:500;margin-top:1px}.sdg .mrest{display:none}.sdl li>span:first-child{min-width:0}
.dj .djr>div,.dj .djr>.mrow,.dj .djr>em{flex:1;min-width:0}.dj .djr>.mrow{display:block}
/* 내 등급 숫자 강조: 남색·파랑 바탕에서 가장 잘 보이는 앰버(노랑-주황) */
.hq .qform input,#hg{color:#E67700!important;font-size:20px;font-weight:800;box-shadow:inset 0 0 0 2px #FFD43B}
.hq .qform input:focus,#hg:focus{box-shadow:inset 0 0 0 3px #FAB005}
.hq .convline b{color:#FFD43B!important}
.sdk>div:first-child b{color:#FFD43B}.sdk>div:first-child em{color:#FFE066}
input.grade-in{color:#E67700!important;font-weight:800;border-color:#FAB005!important}
/* 비밀번호 화면 */
html.locked body>*:not(#gate){filter:blur(14px);pointer-events:none;user-select:none}
html.locked body{overflow:hidden}
#gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(11,21,68,.86);padding:16px}
.gbox{background:#fff;border-radius:14px;padding:30px 28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.glogo{font-weight:900;font-size:20px;color:#0B1544}.glogo em{font-style:normal;color:#19319D}
.gbox h2{margin:0;font-size:17px;color:#0B1544}.gbox p{margin:0 0 6px;font-size:13px;color:#5A6378}
#gate-n,#gate-p{height:46px;border:2px solid #D3DCF7;border-radius:9px;text-align:center;font-size:17px;font-weight:700;color:#0B1544;outline:none}
#gate-p{letter-spacing:4px;color:#E67700;font-weight:800}
#gate-n:focus,#gate-p:focus{border-color:#FAB005}
.gbox button:disabled{opacity:.6}
.gbox button{height:44px;border-radius:9px;background:#19319D;color:#fff;font-weight:800;font-size:15px}
.gerr{min-height:18px;font-size:12.5px;color:#C92A2A;font-weight:700}
/* 모두 비우기 */
.sdclear{align-self:flex-end;font-size:12px;font-weight:800;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:4px 12px}
.sdclear:hover{background:#C92A2A;border-color:#C92A2A}
/* 왼쪽 되돌아가기 버튼 */
#backbtn{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:60;display:flex;align-items:center;gap:0;height:52px;min-width:52px;padding:0 14px 0 13px;border-radius:999px;background:#19319D;color:#fff;box-shadow:0 6px 18px rgba(11,21,68,.28);border:2px solid #fff;cursor:pointer;transition:.18s;max-width:52px;overflow:hidden;white-space:nowrap}
#backbtn[hidden]{display:none}
#backbtn svg{flex:none;width:22px;height:22px;fill:none;stroke:#FFD43B;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#backbtn span{font-size:13px;font-weight:800;margin-left:8px;opacity:0;transition:.18s}
#backbtn:hover,#backbtn:focus-visible{max-width:360px;background:#0B1544}#backbtn:hover span,#backbtn:focus-visible span{opacity:1}
@media(max-width:620px){#backbtn{left:8px;top:auto;bottom:86px;transform:none;height:44px;min-width:44px;max-width:44px;padding:0 10px}}
td.minS b.mkey,td.mincell b.mkey{color:#C2255C}td.minS b.mkey.mk0,td.mincell b.mkey.mk0{color:#8A93A6}
/* 내 위치 차트 */
.lvc{display:inline-block;font-size:11.5px;font-weight:800;color:#fff;background:var(--c);border-radius:5px;padding:2px 8px;white-space:nowrap}
.pleg{display:flex;flex-wrap:wrap;gap:6px 6px;align-items:center;margin:4px 0 10px;font-size:11.5px}.pleg em{font-style:normal;color:#5A6378;margin-right:10px}
.pchart{background:#fff;border:1px solid #E3E7EF;border-radius:10px;padding:12px 14px}
.prow,.paxis{display:grid;min-height:40px;grid-template-columns:minmax(150px,240px) 1fr 140px;gap:10px;align-items:center;min-height:30px;border-bottom:1px dashed #EEF0F4}
.paxis{min-height:22px;border-bottom:1px solid #D3DCF7}
.plab{font-size:12px;color:#3B4458;line-height:1.3;overflow:hidden}.plab b{color:#0B1544}.plab em{display:block;font-style:normal;font-size:10.5px;color:#8A93A6}
.ptrack{position:relative;height:22px}.prow .ptrack{height:34px;margin-top:4px}.prow .ptrack>i{transform:translateY(12px)}.prow .ptrack>i.pz,.prow .ptrack>i.pme{transform:none}
.pyl{position:absolute;top:0;transform:translateX(-50%);font-size:9.5px;line-height:1;font-weight:700;color:#495057;white-space:nowrap;z-index:4;background:rgba(255,255,255,.8);padding:0 1px;border-radius:2px}.pyl.l1{top:9px;transform:translateX(2px)}.pyl.l2{top:9px;transform:translateX(calc(-100% - 2px))}
.paxis .ptrack b{position:absolute;top:2px;transform:translateX(-50%);font-size:10.5px;color:#7A8296;font-weight:600}
.pz{position:absolute;top:2px;bottom:2px;background:var(--c);opacity:.09}
.prng{position:absolute;top:9px;height:4px;background:#ADB5BD;border-radius:2px}
.pyr{position:absolute;top:8px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#868E96}
.pmk{position:absolute;top:3px;width:3px;height:16px;margin-left:-1.5px;background:#495057;border-radius:2px}
.pdot{position:absolute;top:4px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--c);border:2px solid #fff;box-shadow:0 0 0 1px var(--c);z-index:2}
.pme{position:absolute;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:#E03131;z-index:3}
.plv{display:flex;align-items:center;gap:5px;justify-content:flex-end}.plv small{font-size:11.5px;color:#0B1544;font-weight:700}
@media(max-width:620px){.prow,.paxis{grid-template-columns:96px 1fr 60px;gap:6px}.plab em{display:none}.plv small{display:none}}
/* 성적대별 분포: 왼쪽 구간 선택 */
.bandwrap{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:start}
.bside{position:sticky;top:10px;display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #E3E7EF;border-radius:10px;padding:10px}
.bbtn{position:relative;display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:7px;border:1px solid #E3E7EF;background:#fff;color:#0B1544;font-size:13px;font-weight:700;overflow:hidden;text-align:left;cursor:pointer}
.bbtn i{position:absolute;left:0;top:0;bottom:0;background:rgba(25,49,157,.09);pointer-events:none}
.bbtn .bl2{position:relative;flex:1}.bbtn b{position:relative;font-size:12px;color:#5A6378}.bbtn em{position:relative;font-style:normal;font-size:10.5px;color:#E67700;font-weight:800}
.bbtn.me{border-color:#FAB005}.bbtn.on{background:#19319D;border-color:#19319D;color:#fff}.bbtn.on i{background:rgba(255,255,255,.18)}.bbtn.on b{color:#DCE3FF}.bbtn.on em{color:#FFD43B}
.bbtn:disabled{opacity:.4;cursor:default}
.bmain .band th:first-child{white-space:nowrap}
@media(max-width:760px){.bandwrap{grid-template-columns:1fr}.bside{position:static;flex-direction:row;flex-wrap:wrap}.bbtn{flex:1 1 30%;height:34px;font-size:12px}}
#backbtn{left:max(3px,calc((100vw - 1320px) / 2 - 60px));height:44px;min-width:36px;max-width:36px;padding:0 7px}#backbtn:hover,#backbtn:focus-visible{max-width:360px;padding:0 14px 0 8px}
.lvc.nj{background:#fff;color:#0E6B73;border:1px dashed #0E6B73;font-weight:700}
/* 상단 메뉴: 홈 강조 + 카테고리 아이콘 탭 */
.nav{background:#fff;border-bottom:1px solid #E3E7EF;box-shadow:0 2px 10px rgba(11,21,68,.04)}
.nav .wrap{gap:8px;align-items:center;padding-top:10px;padding-bottom:10px}
.nav a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;font-size:15px;font-weight:700;color:#3B4458;border:1px solid transparent;border-radius:999px;margin:0;border-bottom-width:1px}
.nav a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav a:hover{background:#F0F3FC;color:#19319D}
.nav a.on{background:#E9EEFC;color:#19319D;border-color:#C9D4F5}
.nav a.nv-home{background:#0B1544;color:#fff;padding:9px 20px 9px 16px;margin-right:6px;box-shadow:0 4px 12px rgba(11,21,68,.22)}
.nav a.nv-home svg{stroke:#FFD43B;width:20px;height:20px}
.nav a.nv-home:hover{background:#19319D;color:#fff}
.nav a.nv-home.on{background:#19319D;color:#fff;border-color:#19319D;box-shadow:0 0 0 3px #FFD43B55,0 4px 12px rgba(11,21,68,.22)}
.nav a.nv-guide{margin-left:auto;color:#5A6378}
@media(max-width:760px){.nav a{padding:8px 12px;font-size:13.5px}.nav a span{white-space:nowrap}.nav a.nv-guide{margin-left:0}}
/* 내 등급 초기화 */
.qreset{flex:none!important;display:inline-flex;align-items:center;gap:5px;height:42px;padding:0 14px;border-radius:8px;background:transparent!important;border:1.5px solid rgba(255,255,255,.45)!important;color:#fff!important;font-size:13.5px!important;font-weight:700}
.qreset svg{width:16px;height:16px;fill:none;stroke:#FFD43B;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.qreset:hover{background:rgba(255,255,255,.12)!important;border-color:#FFD43B!important}
.hq .qform button[data-act="hsearch"]{flex:1}
.hero-main:after{pointer-events:none}.hero-main .hq{z-index:1}
@media(max-width:520px){.hq .qform{flex-wrap:wrap}.hq .qform input{flex:1}.hq .qform button[data-act="hsearch"]{flex:1 1 100%;order:3}.qreset{order:2}}
/* 홈 소개창 압축 */
.hero-main{padding:26px 30px}
.hero-main .eyebrow{margin-bottom:8px}
.hero-main h1{margin-bottom:6px;font-size:30px}
.hero-stats{margin-top:16px}
.hero-main .hq{margin-top:16px;padding:14px 16px}
.hero-main .maker{margin-top:12px;padding-top:12px}
.hero{margin-bottom:12px}.hq .qform input{width:120px}
.campt{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:700;color:#0E6B73;background:#E6F4F1;border-radius:4px;padding:0 5px;line-height:17px;vertical-align:1px;white-space:nowrap}
td.uni-cell{white-space:normal!important;word-break:keep-all;max-width:150px}
/* 가운데 정렬: 내 등급으로 찾기 · 대시보드 요약 칸 */
.hero-main .hq{text-align:center}
.hero-main .hq>b{display:flex;justify-content:center;align-items:center}
.hero-main .hq .qform{justify-content:center;margin-left:auto;margin-right:auto}
.hero-main .hq .convline{text-align:center}
.sdk>div{align-items:center;text-align:center}
.sdk .sdbtn{align-self:center}
.sdempty{text-align:center}
b.chgto,.chglist li b.chgto,dd b.chgto{color:#A61E1E;font-weight:800}
.xr.xr-only .xrr:first-child{margin-top:0}
.n28{display:block;font-size:10.5px;font-weight:600;color:#5F3DC4;line-height:1.35;margin-top:1px;white-space:normal}
.n28.n28q{color:#9A5B00}.n28.n28x{display:inline-block;color:#C92A2A;background:#FFF0F0;border:1px solid #FFC9C9;border-radius:4px;padding:0 5px}
.n28.n28m{color:#5A6378}
small.r5{display:block;font-size:10.5px;font-weight:600;color:#7A8296;letter-spacing:-.2px;white-space:nowrap;margin-top:1px}
.cut.cu{color:#C92A2A}.cut.ce{color:#2B8A3E}.cut.cd{color:#1971C2}.cleg{margin-top:4px;font-size:12px;color:#5A6378}.cleg .cut{margin-left:8px;font-size:12px}
/* 홈 바로가기 카드 안 검색 */
.ecard{cursor:default;display:flex;flex-direction:column}
.ecard>a.n,.ecard>b[data-nav]{cursor:pointer;text-decoration:none}.ecard>b[data-nav]:hover{color:var(--blue)}
.eq{display:flex;gap:6px;margin-top:auto;padding-top:12px;align-items:center}
.eq .inp{flex:1;min-width:0;height:38px;border:1.5px solid #D3DCF7;border-radius:8px;padding:0 10px;font-size:13.5px}
.eq .inp:focus{border-color:#19319D;outline:none}
.eq input[type=number]{color:#E67700;font-weight:800;text-align:center}
.eq .eqm{font-size:12px;color:#5A6378;white-space:nowrap}
.eq>button{height:38px;padding:0 14px;border-radius:8px;background:#19319D;color:#fff;font-weight:700;font-size:13.5px;flex:none}
.eq>button:hover{background:#0B1544}
.ecard{min-width:0}
@media (max-width:640px){.entry{grid-template-columns:1fr !important}}
.eqb{flex-wrap:wrap}.eqb>button{flex:1 1 auto;background:#E9EEFC;color:#19319D;padding:0 10px}.eqb>button:hover{background:#19319D;color:#fff}
.r5h{display:block;font-size:10px;font-weight:600;color:#7A8296;letter-spacing:-.3px;white-space:nowrap;margin-top:2px}
/* 열 너비: 전형·계열 좁게, 3개년 평균 넓게 */
th.thj{width:168px;white-space:nowrap}
td.jcell{white-space:normal;width:168px;max-width:172px;word-break:keep-all;line-height:1.45}
th.thc,td.cls{width:1%;white-space:nowrap}
td.cls em{white-space:nowrap}
th.tha,td.avg{min-width:132px;width:132px}
/* 성적산출 표: 오른쪽 빈 공간이 있으면 옆으로 이어 배치(표 모양·내용은 그대로) */
.cflow{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:36px}
.cflow>.cgbox{flex:0 1 auto;width:fit-content;max-width:100%;min-width:0}
.cgbox>.cgrp{margin-bottom:0}
.cflow>.ctbl{flex:0 1 auto;width:fit-content;max-width:100%;min-width:0}
.cflow>.ctbl .cnote2,.cflow>.ctbl .also{width:0;min-width:100%;box-sizing:border-box}
@media (max-width:760px){.cflow{display:block}.cflow>.ctbl,.cflow>.cgbox{width:auto}.cflow>.ctbl .cnote2,.cflow>.ctbl .also{width:auto}}
/* 로그인 표시 · 관리자 페이지 */
#who{display:inline-flex;align-items:center;gap:8px}
#who b{color:#0B1544;font-weight:800}
#who .wrole{font-size:11px;font-weight:800;color:#fff;background:#19319D;border-radius:999px;padding:2px 8px}
#who .wrole.wadm{background:#C92A2A}
#who button{font-size:11.5px;font-weight:700;color:#5A6378;border:1px solid #D3DCF7;border-radius:999px;padding:2px 10px;background:#fff}
#who button:hover{color:#C92A2A;border-color:#C92A2A}
.nav a.nv-admin{color:#C92A2A}.nav a.nv-admin.on{background:#FFF0F0}
.adm{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;align-items:start}
.adm .abox{background:#fff;border:1px solid #E3E8F5;border-radius:14px;padding:20px}
.adm h3{margin:0 0 4px;font-size:16px;color:#0B1544}.adm .sub{margin:0 0 14px;font-size:12.5px;color:#5A6378;line-height:1.55}
.afld{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.afld label{font-size:12.5px;font-weight:800;color:#19319D}
.afld input{height:42px;border:1.5px solid #D3DCF7;border-radius:9px;padding:0 12px;font-size:15px;font-weight:600}.afld input:focus{border-color:#19319D;outline:none}
.abtn{width:100%;height:44px;border-radius:9px;background:#19319D;color:#fff;font-weight:800;font-size:15px}.abtn:hover{background:#0B1544}.abtn:disabled{opacity:.5;cursor:not-allowed}
.amsg{min-height:20px;margin-top:10px;font-size:12.5px;font-weight:700}.amsg.ok{color:#2B8A3E}.amsg.no{color:#C92A2A}
.atb{width:100%;border-collapse:collapse;font-size:14px}.atb th{background:#F3F6FD;color:#19319D;font-size:12.5px;padding:9px 10px;text-align:left;border-bottom:1px solid #E3E8F5}
.atb td{text-align:left;padding:10px;border-bottom:1px solid #EEF1F8}.atb td.n{color:#8A93A8;width:40px}.atb td b{color:#0B1544}.atb td.dt{color:#5A6378;font-size:12.5px}
.adel{font-size:12px;font-weight:700;color:#C92A2A;border:1px solid #F1C4C4;border-radius:999px;padding:3px 12px;background:#fff}.adel.sure{background:#C92A2A;color:#fff}
.aempty{padding:26px;text-align:center;color:#8A93A8;font-size:13.5px}
.anote{margin-top:14px;padding:12px 14px;background:#FFF9E6;border:1px solid #FFE8A3;border-radius:10px;font-size:12.5px;color:#6B5310;line-height:1.6}
@media (max-width:760px){.adm{grid-template-columns:1fr}}
.ucard .uavg{margin-top:6px;font-size:12px;color:#5A6378}.ucard .uavg .uv{color:#E67700;font-weight:800;font-size:13px;margin:0 2px}
.tg-adiga{background:#E7F5FF;color:#1864AB;font-weight:700}
.notice.adn{background:#EEF6FF;border-color:#BBD9F7;color:#1B3A5C}
.adg{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:700;color:#1864AB;background:#E7F5FF;border-radius:4px;padding:1px 5px;vertical-align:1px}
/* 선택 칸: 네모 체크 → 별 모양 */
td.ck input[type=checkbox],.ckall input[type=checkbox]{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin:0;border:0;border-radius:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2l-5.7 3.1 1.2-6.4L2.8 9.5l6.4-.8z' fill='none' stroke='%23A3ACC2' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px 20px no-repeat;cursor:pointer;vertical-align:middle;transition:transform .12s}
td.ck input[type=checkbox]:hover,.ckall input[type=checkbox]:hover{transform:scale(1.15)}
td.ck input[type=checkbox]:checked,.ckall input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2l-5.7 3.1 1.2-6.4L2.8 9.5l6.4-.8z' fill='%23FAB005' stroke='%23E67700' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E")}
td.ck input[type=checkbox]:focus-visible,.ckall input[type=checkbox]:focus-visible{outline:2px solid #19319D;outline-offset:1px}
.gh4{margin:18px 0 6px;font-size:14.5px;color:#19319D}
.convtbl .tg{white-space:nowrap}.convtbl td,.convtbl th{white-space:nowrap}.convtbl td.l{white-space:normal}
/* 대시보드 빈 안내: 눈에 띄게, 네이비·앰버 톤 */
.sdempty{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,rgba(255,212,59,.16),rgba(255,255,255,.08));border:1.5px dashed rgba(255,212,59,.65);color:#fff}
.sdempty .sdstar{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,212,59,.14);border:1px solid rgba(255,212,59,.35);color:#FFD43B;font-size:19px;line-height:1}
.sdempty .sdt{display:block;font-size:15px;font-weight:800;color:#fff;margin-bottom:3px}
.sdempty .sdd{display:block;font-size:13px;color:#E6EBFF;line-height:1.5}
.sdempty em{font-style:normal;font-weight:800;color:#FFD43B}

/* 서버 연결판: 로그인 확인 전에는 로그인 창을 숨겨 깜빡임을 막고, 응답이 늦으면 '불러오는 중'을 보인다 */
#gate[hidden]{display:none}
.empty.loading{color:var(--t3);padding:28px}
