/* 지원자 */
.radios{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.rd{position:relative;display:inline-flex}
.rd input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rd span{display:inline-flex;align-items:center;gap:9px;min-width:110px;padding:9px 18px 9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;color:#444;cursor:pointer;user-select:none;transition:background .15s,border-color .15s,color .15s}
.rd span::before{content:"";flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:1.5px solid #d4cbd0;background:#fff;transition:border .15s}
.rd span:hover{border-color:#efb9c9}
.rd input:checked+span{border-color:var(--p);background:var(--pl);color:var(--p);font-weight:600}
.rd input:checked+span::before{border:5.5px solid var(--p)}
.rd.no input:checked+span{border-color:#9a9196;background:#f3f1f2;color:#555}
.rd.no input:checked+span::before{border-color:#8a8387}
.rd input:focus-visible+span{outline:2px solid var(--p);outline-offset:2px}
.fpanel{display:grid;grid-template-columns:minmax(0,1.6fr) auto minmax(0,1fr) minmax(0,1.3fr);gap:8px 12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 10px}
.fpanel .ff{display:flex;flex-direction:column;gap:3px;min-width:0}
.fpanel .ff>.lab{font-size:12px;color:var(--sub);font-weight:600;padding-left:2px}
.fpanel select{min-width:0;width:100%}
.fpanel .ff.wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
.fpanel .ff.wide .chips{flex:1 1 auto}
.fclr{background:var(--pl);color:var(--p);border-color:transparent;margin-left:auto}
.yrange{display:flex;align-items:center;gap:4px;min-width:0}
.yrange input{width:66px;flex:0 0 66px;text-align:center;padding:8px 4px}
.yrange .lab{font-size:13px;color:var(--sub);white-space:nowrap}
.ftog{display:none;flex:0 0 auto;white-space:nowrap}
.ftog b{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--p);color:#fff;font-size:11.5px;line-height:18px;text-align:center}
.ftog .car{font-size:10px;color:#999;display:inline-block;transition:transform .15s}
.ftog.open .car{transform:rotate(180deg)}
.ftog.on{border-color:var(--p);color:var(--p)}
@media (max-width:760px){
  .ftog{display:inline-flex;align-items:center;gap:4px}
  .fpanel{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fpanel.open{display:grid}
  .fpanel .ff:nth-child(1),.fpanel .ff:nth-child(2){grid-column:1/-1}
  .yrange{width:100%}
  .yrange input{flex:1 1 0;width:auto;min-width:0}
}
th.cfh{padding:0!important}
.cfb{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;padding:7px 8px;background:none;border:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}
.cfb .cfi{font-size:10px;color:#bbb}
th.cfon .cfb{color:var(--p)}
th.cfon .cfb .cfi{color:var(--p);font-size:12px}
.cfpop{position:fixed;z-index:60;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:10px;display:flex;flex-direction:column;gap:7px;max-height:min(440px,80vh)}
.cfhd{display:flex;align-items:center}
.cfhd b{flex:1}
.cfhd .x{border:0;background:none;color:#888;font-size:15px;cursor:pointer}
.cfsort{display:flex;gap:6px}
.cfsort button{flex:1}
.cfsort button.on{background:var(--pl);color:var(--p);border-color:var(--p)}
.cfq{font-size:14px;padding:7px 9px}
.cfall{display:flex;align-items:center;gap:6px;font-size:13px;padding:2px 2px;border-bottom:1px solid var(--line);padding-bottom:6px}
.cflist{overflow:auto;flex:1 1 auto;min-height:60px;display:flex;flex-direction:column}
.cflist label{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 2px;cursor:pointer}
.cflist label[hidden]{display:none}
.cflist label span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cflist label small{color:#aaa}
.cfact{display:flex;gap:6px}
.cfact .sp{flex:1}
.cfclr{margin-left:6px;background:var(--pl);color:var(--p);border-color:transparent}
table.dt.apps td.qhit,table.dt.apps td.qhit .ie,table.dt.apps td.qhit .lk{background:#fff3a8!important}
table.dt.apps td.qcur,table.dt.apps td.qcur .ie,table.dt.apps td.qcur .lk{background:#ffc94d!important}
table.dt.apps td.qcur{box-shadow:inset 0 0 0 2px #e6a100}
.aibox{border:1px dashed #e8c7d3;background:#fffafc;border-radius:12px;padding:8px 12px;margin:4px 0 10px}
.aibox summary{cursor:pointer;font-weight:700;color:var(--p);font-size:14px}
.aibox textarea{margin-top:4px;font-size:14px}
.aigrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.aigrid label{display:flex;flex-direction:column;min-width:0}
.aigrid .lab{font-size:13px;font-weight:700;color:#555}
@media (max-width:760px){.aigrid{grid-template-columns:1fr}}
#appForm .aifill{background:#fff6c7!important;border-color:#e9c94a!important}
.sortbar{display:flex;justify-content:flex-end;margin-top:8px}
.sortbar select{width:auto;min-width:140px;font-size:14px;padding:6px 10px}
/* 지원자 표: 체크박스·이름만 고정 (가로 스크롤해도 보임) */
:where(table.apps) th:nth-child(1),:where(table.apps) td:nth-child(1){width:36px;min-width:36px;max-width:36px;padding:0;text-align:center}
:where(table.apps) td:nth-child(2){width:60px;min-width:60px;max-width:60px;color:var(--sub)}
table.dt.apps th:nth-child(2){width:60px;min-width:60px;max-width:60px}
:where(table.apps) td:nth-child(5){position:sticky;left:36px;background:#fff;z-index:1;font-weight:600;box-shadow:inset 1px 0 0 var(--line),inset -1px 0 0 var(--line)}
table.dt.apps th:nth-child(5){position:sticky;left:36px;z-index:3;box-shadow:inset 1px 0 0 var(--line),inset -1px 0 0 var(--line)}
table.dt.apps td:first-child{font-weight:400}
table.dt.apps td{padding:2px 3px;max-width:none;overflow:visible}
table.dt.apps th{padding:7px 9px}
table.dt.apps td:nth-child(5) .ie{font-weight:600}
table.dt.apps td:nth-child(2) .ie{color:var(--sub)}
table.dt.apps td.ctr{text-align:center;color:var(--sub)}
table.dt.apps tr:not(.low):not(.star):not(.sel):hover td{background:#fdf6f8}
table.dt.apps .ie{text-overflow:ellipsis}
.ckc{display:flex;align-items:center;justify-content:center;gap:4px}
.op{width:24px;height:24px;padding:0;border-radius:6px;background:#f3eff1;color:#8a8387;font-size:16px;line-height:1}
.op:hover{background:var(--pl);color:var(--p)}
.lk{display:block;text-align:left;background:none;padding:5px 6px;font-size:13px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent;border-radius:6px}
.lk:hover{border-color:var(--line);background:#fff}
.ck{appearance:none;-webkit-appearance:none;width:17px;height:17px;margin:0;padding:0;border:1.5px solid #d4cbd0;border-radius:5px;background:#fff center/11px no-repeat;cursor:pointer;vertical-align:middle;transition:.15s}
.ck:hover{border-color:var(--p)}
.ck:checked{background-color:var(--p);border-color:var(--p);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.5 9.5 3.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ck:indeterminate{background-color:var(--p);border-color:var(--p);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
table.dt tr.sel td{background:#fdf0f4}
.listbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 2px 8px;font-size:13px;color:var(--sub)}
.listbar .selinfo{color:var(--p);font-weight:600}
.copybox{width:100%;min-height:160px;font:12px/1.4 ui-monospace,Menlo,monospace;white-space:pre}
/* 체크 칩 */
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1 1 100%}
.chips .lab{min-width:58px;font-size:13px;color:var(--sub);font-weight:600;margin-right:4px}
.chips .div{width:1px;height:20px;background:var(--line);margin:0 4px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.chip span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:#555;cursor:pointer;user-select:none;transition:background .15s,border-color .15s,color .15s}
.chip span::before{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:5px;border:1.5px solid #d4cbd0;background:#fff center/11px no-repeat;transition:.15s}
.chip span:hover{border-color:#efb9c9}
.chip small{font-size:11px;color:#b3abaf;font-weight:500}
.chip input:checked+span{background:var(--pl);border-color:var(--p);color:var(--p);font-weight:600}
.chip input:checked+span small{color:var(--p);opacity:.7}
.chip input:checked+span::before{background-color:var(--p);border-color:var(--p);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.5 9.5 3.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.chip input:focus-visible+span{outline:2px solid var(--p);outline-offset:2px}
table.dt tr.click{cursor:pointer}
table.dt tr.click:hover td{background:#fdf3f6}
table.dt tr.low td{background:#fde4e4;color:#a61b1b}
table.dt tr.low:hover td{background:#fbd2d2}
table.dt tr.star td{background:#fff6cc}
table.dt tr.star:hover td{background:#ffee99}
table.dt td.num{text-align:right}
/* 휴대폰 */
@media (max-width:760px){
  .listbar .sub{display:none}
  .chips .lab{min-width:0;flex:0 0 100%}
  .sortbar select{width:100%}
}
table.dt.apps .lk.nm{font-weight:700;color:#444;cursor:pointer}
table.dt.apps .lk.nm.m{color:#2f6fd0}
table.dt.apps .lk.nm.f{color:#e0457b}
table.dt.apps .lk.nm:hover{text-decoration:underline;background:var(--pl)}
