/* 자료실(첫 화면)만 쓰는 칸: 로그인 · 창 몇 개 · 계정 표. 나머지 모양은 bank/bank.css + bank/ui8.css(7판 시안) 그대로 */
[hidden]{display:none!important}
html,body{background:#fff}
.gnav{min-height:100vh}
.noscroll,.noscroll body{overflow:hidden}
iframe.prf{position:fixed;width:0;height:0;border:0;left:-9999px}

/* 로그인 */
.gate{min-height:100vh;display:grid;place-items:center;background:var(--side);padding:24px 16px}
.gate-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 20px 50px -30px rgba(10,23,78,.35)}
.gate-card .hd{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px}
.gate-card .hd img{height:30px}
.gate-card h1{margin:0;font:700 22px var(--ui);color:var(--navy)}
.gate-card form{display:grid;gap:14px}
.gate-card label{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:var(--text)}
.gate-card input{height:44px;border:1px solid var(--line2);border-radius:10px;padding:0 12px;font:14px var(--ui);color:var(--text);outline:0}
.gate-card input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(10,23,78,.08)}
.gate-card .btn-n{height:46px;font-size:14px;margin-top:4px}
.msg{font-size:12.5px;line-height:1.6;color:var(--text2)}
.msg.err,.hintl.err{color:var(--red)}
.msg.ok,.hintl.ok{color:#2F6B12}

/* 창: 종류 칸(새 문항 신청·제목 수정·자료 올리기) */
.kfs>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text);min-width:0}
.kfs>label input,.kfs>label select{height:38px;border:1px solid var(--line2);border-radius:8px;padding:0 10px;font:13px var(--ui);color:var(--text);background:#fff;outline:0;min-width:0;width:100%;box-sizing:border-box}
.kfs>label input:focus,.kfs>label select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(10,23,78,.07)}
.kfs>label input[readonly],.tin[readonly]{background:var(--tint);color:var(--text2)}
.pk6{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pk6:empty{display:none}
.pf6.new{border-color:#A5CE3A}
.pf6 i{font-style:normal}
.dup6{margin-top:8px;font-size:12.5px;line-height:1.6;color:#8A6400;background:#FFF8E1;border-radius:8px;padding:8px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn-n.big .pi7,.btn-n.big svg.pri7{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;margin-right:6px;vertical-align:-3px}
.btn-n.red6{background:var(--red);color:#fff}
.modal.rq .sel select{height:40px}
.blist{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:12px;font-size:12.5px}
.blist>div{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid var(--line)}
.blist>div:first-child{border-top:0}
.blist>div.skip{color:var(--text2)}
.blist .k{flex:none;font-weight:600;color:var(--navy)}
.bbig{margin:14px 0 0;font-size:15px;font-weight:700;color:var(--navy)}

/* 계정 관리 · 내려받기 기록 · 비밀번호 */
.modal.pane8{width:min(860px,94vw);max-width:none;max-height:88vh;overflow:auto;padding:26px 24px 22px}
.pane8 h3{margin:4px 0 0;font-size:14px;color:var(--text)}
.grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;align-items:end}
.grid-form label{display:grid;gap:5px;font-size:12px;font-weight:600;color:var(--text)}
.grid-form input,.grid-form select,.tbl select,.tbl input{height:36px;border:1px solid var(--line2);border-radius:8px;padding:0 10px;font:13px var(--ui);color:var(--text);background:#fff;min-width:0}
.grid-form .btn-n{height:36px}
.statline{font-size:12.5px;line-height:1.6;color:var(--text2)}
.tbl-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:52vh}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th{position:sticky;top:0;background:var(--tint);text-align:left;font-weight:600;color:var(--text2);padding:9px 12px;white-space:nowrap}
.tbl td{padding:8px 12px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.tbl td.t{white-space:normal}
.tbl tr.off td{color:var(--text2)}
.tbl button{height:30px;border:1px solid var(--line2);background:#fff;border-radius:7px;padding:0 10px;font:500 12px var(--ui);color:var(--text);cursor:pointer}
.tbl button:hover{border-color:var(--navy)}
.pill{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;background:#ECEBEF;color:var(--text)}
.pill.on{background:#E2F0D6;color:#3F6B1E}

/* 넘겨 보기 · 표지 */
.pwait{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:80px;text-align:center;font:500 22px/1.6 var(--ui);color:#2E3A66;background:#F7F7F4}
.pwait b{font-size:26px;color:var(--navy)}
.pg7 .wm6{background-size:auto}
.sc6i .wm6{background-size:300px auto}
.vx7 svg{width:16px;height:16px;stroke:currentColor}

/* 받는 중 */
[data-busy].wait{opacity:.55;cursor:progress}

/* 숏컷 · 학원 자료 칸 */
.sels6{display:grid;gap:8px}
.pc8s .fs6{font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pc8 .h7a{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.pc8 .h7a .more,.h7a .more{margin-left:auto;width:34px;height:34px;border:0;background:none;border-radius:8px;display:grid;place-items:center;cursor:pointer}
.h7a .more:hover{background:var(--tint2)}
.h7a .more svg{width:18px;height:18px;fill:var(--text2)}
.cardmenu .mi{width:18px;height:18px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cardmenu button{display:flex;align-items:center;gap:10px}
.fl6{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:56vh;overflow:auto}
.fl6 li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.fl6 li b{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl6 li small{font-size:11.5px;color:var(--text2);white-space:nowrap}
.fx6{font-style:normal;font:700 10px/22px var(--ui);border-radius:5px;padding:0 6px;background:#FDECEE;color:var(--red);flex:none}
.fx6.fx-hwp,.fx6.fx-hwpx{background:#E3ECFB;color:#1F4FA3}
.fx6.fx-png,.fx6.fx-jpg,.fx6.fx-jpeg{background:#E2F0D6;color:#3F6B1E}
.sf6{display:flex;gap:8px;align-items:center;max-width:760px}
.sf6 .sbox{flex:1;margin:0;height:46px}
.sf6 .sbox input{font-size:15px}
.sf6 .btn-n{height:46px;padding:0 22px}
.htabs .htl6{margin-left:auto;align-self:center;font-size:12.5px;font-weight:600;color:var(--navy);text-decoration:none}
.lhead .ad6{display:flex;gap:8px;flex-wrap:wrap}
.cnt6{font-size:12px;color:var(--text2);font-weight:500;margin-left:4px}
.ad6s{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ad6s small{display:block;font-size:11px;color:var(--text2);font-weight:400;margin-top:4px}
.gnav a .own.soon6{background:#ECEBEF;color:var(--text2)}

/* 홈 */
.h5go{display:flex;flex-direction:column;gap:6px;min-width:0}
.h5d b{font-weight:700;color:var(--navy)}
.tl6{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.tl6:hover b{text-decoration:underline;text-underline-offset:3px}
.h7th .pgw{box-shadow:none}

/* 신청 현황 */
.bd8s{margin:-4px 0 10px;font-size:12px;color:var(--text2)}
.bd8r{color:var(--red)!important}
.bd8a{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.bd8i.ok{border-color:#CFE6BD}
.bd8i.bad{border-color:#F5C6CC}

/* 휴대폰: 위 메뉴 줄 끝에 계정 단추(이름 첫 두 글자)를 남김 */
@media (max-width:900px){
  .gnav{min-height:0}
  .gnav .avatar{display:block!important;order:99;margin:0 0 0 auto!important;flex:none}
  .gnav .avatar .me4{padding:2px}
  .gnav .avatar .me4>span:nth-child(2),.gnav .avatar .me4>svg{display:none}
  .gnav .gsep{display:none}
  .ad6s{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 작은 칸에 들어가는 글자 표지: 글자를 키워 카드에서도 읽히게 */
.cv7.cvb{padding:110px 70px;gap:22px}
.cv7.cvb .lg7{font-size:30px}
.cv7.cvb small{font-size:34px;font-weight:600}
.cv7.cvb b{font-size:78px;line-height:1.25}
.cv7.cvb p{font-size:30px;margin-top:30px;padding-top:26px}
.va7 .vp{display:inline-flex;align-items:center;gap:6px}
svg.pri7{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cv7 b{word-break:keep-all}

/* 학원 DB(bank/) 묶음 나무·빈 칸 */
.tree .node.tl8{cursor:default;font-weight:700;padding-left:10px;height:36px}
.tree .node .bn8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.tree .node .bc8{font-size:11px;font-weight:500;color:var(--text2);white-space:nowrap}
.tree .node.on{background:var(--tint2)}
.who8{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}
.who8 span{font-size:12px;font-weight:600;border-radius:999px;padding:4px 11px;background:var(--tint2);color:var(--navy)}
.who8 span.red{background:#FDECEE;color:var(--red)}
.emp8{border:1px dashed var(--line2);border-radius:14px;padding:56px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.emp8 b{font-size:15px;color:var(--text)}.emp8 p{margin:0;font-size:13px;color:var(--text2)}
.emp8 .btn-n{display:inline-flex;align-items:center;text-decoration:none;margin-top:10px}
.dc8a .btn-g.sm6{display:inline-flex;align-items:center;gap:5px}.dc8a .pi8{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.banner{padding:0 28px}.banner .bt b{font-size:clamp(17px,7.2cqi,25px)}.banner .bt small{font-size:clamp(12px,4.6cqi,15px)}
