*{box-sizing:border-box;margin:0;padding:0}
html,* {box-sizing:border-box}
body{height:100%;overflow:hidden;font-family:'Pretendard Variable','Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1F2937}
body{font-family:'Pretendard Variable','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;background:#FFFFFF;font-size:13px;color:#111111}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:3px}::-webkit-scrollbar-track{background:transparent}
button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;color:#111111}
/* ── 전역 텍스트 가시성 강제 적용 ── */
div,span,p,h1,h2,h3,h4,td,th,label{color:inherit}
.tbl-tr:hover{background:#F8FAFC!important}.acc-tr:hover{background:#EEF2FF!important}.emp-tr:hover{background:#F0FDF4!important}
.job-name-btn:hover{color:#4338CA!important;text-decoration:underline!important}
.row-urgent{background:#FFF1E6!important}.row-urgent:hover{background:#FFE8D6!important}
.row-restricted{background:#FFF5F5!important}.row-restricted:hover{background:#FEE2E2!important}
.job-detail-panel{background:#F5F7FF;border-left:4px solid #4F46E5;border-bottom:2px solid #E0E7FF}
.cat-tab-wrap{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.cat-tab-wrap::-webkit-scrollbar{display:none}
.emp-kpi-card{border-radius:10px;padding:10px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes rowIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes slideDown{from{opacity:0;max-height:0}to{opacity:1;max-height:4000px}}
@keyframes boardCardIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.emp-row-anim{animation:rowIn .18s ease both}
input[type="month"]{-webkit-appearance:none;appearance:none}
.sort-th{transition:background .12s,color .12s}.sort-th:hover{background:#EEF2FF!important;color:#4F46E5!important}
.inst-group{background:#fff;border-radius:12px;border:1px solid #E5E7EB;overflow:hidden;transition:box-shadow .15s;margin-bottom:8px}
.inst-group:hover{box-shadow:0 2px 10px rgba(0,0,0,.07)}
.inst-header{padding:14px 18px;cursor:pointer;display:flex;align-items:center;gap:10px;user-select:none;transition:background .12s}
.inst-header:hover{background:#F8FAFC}
.inst-header.expanded{background:#EEF2FF}
.inst-body{border-top:1px solid #E5E7EB;animation:slideDown .2s ease}
#dash-recruitment{padding:6px 24px 0;flex-shrink:0}
.rec-chip{background:#fff;border:1.5px solid #E2E8F0;border-radius:99px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;font-family:inherit;color:#374151}
.rec-chip:hover{border-color:#4F46E5;color:#4F46E5;background:#EEF2FF}
.rec-chip.sel{background:#4F46E5;color:#fff;border-color:#4F46E5;box-shadow:0 2px 8px rgba(79,70,229,.3)}
.entry-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #F3F4F6;transition:background .1s}
.entry-row:last-child{border-bottom:none}
.entry-row:hover{background:#FAFAFA}
.entry-row.sel{background:#F0F9FF!important}
#dash-root{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:#FAFAF9;color:#0F172A}
#dash-header{padding:14px 24px 8px;flex-shrink:0}
#dash-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 24px;flex-shrink:0}
#dash-monthly{padding:8px 24px 0;flex-shrink:0}
#dash-4grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 24px 20px;flex-shrink:0}
.dash-card{background:#fff;border-radius:14px;border:1px solid #E5E7EB;overflow:hidden;display:flex;flex-direction:column;height:440px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.dash-card-head{padding:13px 18px 11px;flex-shrink:0;border-bottom:1px solid #F3F4F6;display:flex;align-items:center;gap:8px}
.dash-card-body{flex:1;overflow-y:auto;padding:14px 16px 14px;min-height:0;display:flex;flex-direction:column}
#dash-alerts{padding:0 24px 8px;flex-shrink:0}
#_print_target{display:none}
@media print{
  body>*{display:none!important}
  #_print_target{display:block!important;overflow:visible!important}
  *{overflow:visible!important;max-height:none!important;box-shadow:none!important}
  /* ── @page: margin 0으로 브라우저 자동 정보(날짜·URL) 제거, 여백은 .pdf-pg로 ── */
  @page{margin:0;size:A4}
  .pdf-wrap{font-family:'Malgun Gothic','Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1E293B;background:#fff;position:relative;}
  /* ── 워터마크 ── */
  .pdf-wm{position:fixed;top:-15%;left:-15%;width:200%;height:200%;display:flex;flex-direction:column;gap:0;pointer-events:none;z-index:0;transform:rotate(-28deg);}
  .pdf-wm-r{display:flex;gap:0;white-space:nowrap;height:54pt;align-items:center;}
  .pdf-wm-c{font-size:13pt;font-weight:900;color:rgba(180,180,180,.05);letter-spacing:.22em;padding:0 24pt;white-space:nowrap;user-select:none;flex-shrink:0;}
  /* ── 페이지 래퍼: @page margin 0 보정으로 직접 여백 확보 ── */
  .pdf-pg{position:relative;z-index:1;padding:20mm 22mm 18mm;box-sizing:border-box;}
  /* ══════════════════════════════
     헤더: 연한 하늘색 배경 + 타이틀 한 줄 중앙
  ══════════════════════════════ */
  .pdf-hdr{
    background:linear-gradient(160deg,#EEF2FF 0%,#F0F9FF 100%);
    border:1.5pt solid #C7D2FE;
    border-radius:6pt;
    padding:14pt 22pt 12pt;
    margin-bottom:18pt;
    text-align:center;
  }
  /* 메인 타이틀: 한 줄 유지 */
  .pdf-hdr-title{
    font-size:21pt;
    font-weight:900;
    color:#0F172A;
    white-space:nowrap;
    letter-spacing:-.03em;
    line-height:1.25;
    display:block;
  }
  /* 보조 정보: 문항 수 등 */
  .pdf-hdr-sub{
    font-size:9pt;
    font-weight:500;
    color:#475569;
    margin-top:5pt;
    display:block;
    letter-spacing:.04em;
  }
  /* ══════════════════════════════
     질문 목록
  ══════════════════════════════ */
  .pdf-ql{margin-top:4pt;display:flex;flex-direction:column;}
  /* ── 개별 질문 행 ── break-inside:avoid로 페이지 경계 짤림 방지 */
  .pdf-qi{
    display:flex;
    align-items:flex-start;
    gap:14pt;
    padding:10pt 2pt;
    border:none!important;
    background:none!important;
    outline:none!important;
    border-bottom:.75pt dashed #CBD5E1!important;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .pdf-qi:last-child{border-bottom:none!important;}
  /* ── 노란 원형 번호표 ── */
  .pdf-qi-n{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:25pt;height:25pt;
    border-radius:50%;
    background:#F5C030;
    color:#0F172A;
    font-size:10.5pt;font-weight:900;
    flex-shrink:0;
    line-height:1;
    letter-spacing:0;
    margin-top:1.5pt;
  }
  /* ── 질문 텍스트 ── */
  .pdf-qi-t{
    font-size:12pt;font-weight:700;
    color:#1E293B;
    line-height:1.7;
    flex:1;
  }
  /* ── 날짜 뱃지: 연한 회색 라운드 박스 ── */
  .pdf-qi-date{
    font-size:7.5pt;
    color:#475569;
    font-weight:700;
    background:#F1F5F9;
    border:.5pt solid #CBD5E1;
    border-radius:3pt;
    padding:2pt 6pt;
    white-space:nowrap;
    flex-shrink:0;
    align-self:flex-start;
    margin-top:3.5pt;
    letter-spacing:.02em;
  }
  /* ── 폴백: 자유형 텍스트 ── */
  .pdf-raw{
    font-size:11pt;line-height:2.0;color:#1E293B;
    white-space:pre-wrap;word-break:break-word;
    margin-top:10pt;background:none;border:none;padding:0;
  }
  /* ── 푸터 ── */
  .pdf-ftr{
    margin-top:20pt;padding-top:8pt;
    border-top:.75pt solid #CBD5E1;
    display:flex;align-items:center;justify-content:space-between;
    flex-shrink:0;
  }
  .pdf-ftr-brand{font-size:8pt;font-weight:800;color:#334155;letter-spacing:.14em;}
  .pdf-ftr-sec{font-size:7pt;color:#64748B;text-align:right;line-height:1.7;}
}
@media(max-width:900px){#dash-4grid{grid-template-columns:1fr;gap:10px;padding:10px 14px 16px}.dash-card{height:380px}#dash-kpi{grid-template-columns:repeat(2,1fr);padding:0 14px}#dash-header,#dash-monthly{padding-left:14px;padding-right:14px}}
@media(max-width:500px){.dash-card{height:340px}#dash-kpi{grid-template-columns:1fr 1fr}}
/* ═══ DASHBOARD LIGHT THEME ═══ */
#dash-root{background:#FAFAF9;color:#0F172A}
.dk-card{background:#fff;border:0.5px solid #E2E8F0;border-radius:12px;overflow:hidden;color:#0F172A}
.dk-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 22px;flex-shrink:0}
.dk-kpi-card{border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:default;background:#FEFEFE;border:0.5px solid #E2E8F0;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.04);transition:box-shadow .15s}
.dk-kpi-card:hover{box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.08)}
.dk-kpi-card.dark{background:#0F172A;border-color:#1E293B}
.dk-num{font-size:32px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:#0F172A;letter-spacing:-.02em}
.dk-num.light{color:#F8FAFC}
.dk-label{font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#64748B;margin-bottom:0}
.dk-label.light{color:#475569}
.dk-monthly{padding:10px 22px 0;flex-shrink:0}
.dk-monthly-bar{background:#FEFEFE;border:0.5px solid #E2E8F0;border-radius:12px;padding:18px 22px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#0F172A}
.dk-recruit{padding:10px 22px 0;flex-shrink:0}
.dk-4grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 360px;gap:14px;padding:12px 22px 24px;flex-shrink:0}
.dk-grid-card{background:#FEFEFE;border-radius:12px;border:0.5px solid #E2E8F0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.04);color:#0F172A}
.dk-grid-head{padding:13px 15px 11px;flex-shrink:0;border-bottom:0.5px solid #F1F5F9;display:flex;align-items:center;gap:7px;background:#fff}
.dk-grid-body{padding:12px 14px;display:flex;flex-direction:column;color:#0F172A}
.dk-grid-body::-webkit-scrollbar{width:3px}
.dk-grid-body::-webkit-scrollbar-thumb{background:#E2E8F0;border-radius:2px}
.dk-chip{padding:5px 12px;border-radius:99px;border:0.5px solid #E2E8F0;background:#F8FAFC;color:#64748B;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap;font-family:inherit}
.dk-chip:hover{border-color:#4F46E5;background:#EEF2FF;color:#4338CA}
.dk-chip.sel{background:#4F46E5;border-color:#4F46E5;color:#fff;box-shadow:0 2px 8px rgba(79,70,229,.2)}
.dk-chip.gold{background:#FFFBEB;border-color:#FDE68A;color:#B45309}
.dk-chip.gold.sel{background:#D97706;border-color:#D97706;color:#fff}
.dk-section-title{font-size:13px;font-weight:500;color:#0F172A;display:flex;align-items:center;gap:7px}
@keyframes numSlideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dk-num-anim{animation:numSlideUp .5s cubic-bezier(.22,1,.36,1) both}
.dk-row-item{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:0.5px solid #F1F5F9}
.dk-row-item:last-child{border-bottom:none}
@media(max-width:900px){.dk-kpi{grid-template-columns:repeat(2,1fr);padding:0 14px}.dk-4grid{grid-template-columns:1fr;gap:10px;padding:10px 14px 16px}.dk-grid-card{height:260px}.dk-monthly,.dk-recruit{padding-left:14px;padding-right:14px}}

.age-card-text{font-family:"Gowun Dodum",sans-serif!important;}

/* 대시보드에서 공고로 이동했을 때 잠깐 강조 */
@keyframes rowFlash{0%,40%{background:#E0E7FF}100%{background:transparent}}
.row-flash>td{animation:rowFlash 2.2s ease-out}
.dk-link{cursor:pointer;transition:background .12s}
.dk-link:hover{background:#F1F5F9}
.dk-kpi-click{cursor:pointer;transition:transform .12s,box-shadow .12s}
.dk-kpi-click:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.08)!important}
.dk-iv-chip,.dk-job-tile{cursor:pointer;transition:filter .12s}
.dk-iv-chip:hover{filter:brightness(.95)}
.dk-job-tile:hover{background:#EEF2FF!important}
.dk-2col{grid-template-rows:auto}
.dk-col{display:flex;flex-direction:column;gap:14px;min-width:0}
/* 공고관리 관리 칸 버튼이 줄바꿈되지 않게 */
.job-manage>*{white-space:nowrap;flex-shrink:0}
/* 면접 자료실 줄 */
.vrow-read{flex:1;min-width:0;cursor:pointer;border-radius:8px;padding:4px 8px;margin:-4px -8px;transition:background .12s}
.vrow-read:hover{background:#EEF2FF}
.vrow-read:hover .vrow-tog{color:#4338CA}
.vrow-tog{display:inline-flex;align-items:center;gap:2px;font-size:11px;color:#4F46E5;font-weight:700}
.vrow-tog i{font-size:14px}
.vrow-acts{display:flex;gap:4px;flex-shrink:0;align-items:center;margin-left:8px}
.vrow-btn{width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#64748B;border:1px solid #E2E8F0;border-radius:7px;cursor:pointer;font-family:inherit;padding:0;transition:all .12s}
.vrow-btn i{font-size:15px}
.vrow-btn:hover{background:#F1F5F9;color:#0F172A;border-color:#CBD5E1}
.vrow-btn.del:hover{background:#FEF2F2;color:#DC2626;border-color:#FECACA}
.vh-meta{font-size:11px;color:#64748B;white-space:nowrap;flex-shrink:0}
/* 취업 현황 연도 비교 */
.ec-seg{display:inline-flex;gap:2px;background:#F1F5F9;padding:3px;border-radius:10px;margin-bottom:18px}
.ec-seg button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:#64748B;padding:7px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.ec-seg button i{font-size:15px}
.ec-seg button.on{background:#fff;color:#312E81;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.ec-hero{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#EEF2FF,#F8FAFC);border:1px solid #E0E7FF;border-radius:14px;padding:18px 22px;margin-bottom:12px;flex-wrap:wrap}
.ec-hero-yr{display:flex;align-items:center;gap:10px}
.ec-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ec-lbl{font-size:11px;font-weight:700;color:#64748B;margin-bottom:2px}
.ec-num{font-size:30px;font-weight:800;color:#0F172A;line-height:1.1;letter-spacing:-.02em}
.ec-num small{font-size:13px;font-weight:600;color:#94A3B8;margin-left:3px}
.ec-arrow{font-size:22px;color:#A5B4FC}
.ec-hero-diff{margin-left:auto;border-radius:12px;padding:10px 18px;text-align:right}
.ec-hero-diff small{color:inherit!important;opacity:.7}
.ec-pill{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:800;padding:2px 7px;border-radius:99px;white-space:nowrap}
.ec-pill i{font-size:13px}
.ec-insight{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ec-insight>div{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:12px 16px}
.ec-ins-t{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800;margin-bottom:8px}
.ec-chips{display:flex;flex-wrap:wrap;gap:6px}
.ec-chip{display:inline-flex;align-items:center;gap:6px;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:99px;padding:3px 4px 3px 11px;font-size:12px;font-weight:600;color:#0F172A}
.ec-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px}
.ec-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:18px 20px}
.ec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ec-title{font-size:14px;font-weight:800;color:#0F172A}
.ec-legend{display:flex;gap:12px;font-size:11px;color:#64748B;font-weight:600}
.ec-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px}
.ec-drow{display:grid;grid-template-columns:72px 1fr 64px 52px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #F1F5F9}
.ec-drow:last-child{border-bottom:none}
.ec-dname{font-size:13px;font-weight:600;color:#0F172A}
.ec-track{position:relative;height:14px;margin:0 6px;background:linear-gradient(#F1F5F9,#F1F5F9) center/100% 2px no-repeat}
.ec-line{position:absolute;top:5px;height:4px;border-radius:2px}
.ec-pt{position:absolute;top:1px;width:12px;height:12px;border-radius:50%;margin-left:-6px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(15,23,42,.08)}
.ec-dval{font-size:12px;color:#334155;text-align:right;white-space:nowrap}
.ec-drow .ec-pill,.ec-grow .ec-pill{justify-self:end}
.ec-srow{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ec-syr{font-size:12px;font-weight:700;color:#64748B;width:34px}
.ec-stack{flex:1;display:flex;height:26px;border-radius:7px;overflow:hidden;background:#F1F5F9}
.ec-stack>div{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.ec-glist{margin-top:10px;border-top:1px solid #F1F5F9;padding-top:4px}
.ec-grow{display:grid;grid-template-columns:1fr 64px 52px;align-items:center;gap:10px;padding:8px 0;font-size:13px;font-weight:600;color:#0F172A}
.ec-grow i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.ec-cols{display:flex;align-items:flex-end;gap:10px;height:200px}
.ec-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.ec-colv{font-size:14px;font-weight:800;color:#334155}
.ec-cold{font-size:10px;font-weight:700;margin-bottom:4px}
.ec-colbar{flex:1;width:100%;max-width:56px;display:flex;align-items:flex-end}
.ec-colbar>div{width:100%;background:#C7D2FE;border-radius:8px 8px 3px 3px}
.ec-col.cur .ec-colbar>div{background:linear-gradient(180deg,#6366F1,#4338CA)}
.ec-col.cur .ec-colv{color:#4338CA}
.ec-coly{font-size:12px;font-weight:700;color:#64748B;margin-top:6px}
.ec-col.cur .ec-coly{color:#4338CA}
.ec-heat{width:100%;border-collapse:separate;border-spacing:3px;font-size:12px;table-layout:fixed}
.ec-heat th:first-child{width:72px}
.ec-heat th{font-size:11px;font-weight:700;color:#94A3B8;padding:4px 2px;text-align:center}
.ec-heat th.cur{color:#4338CA}
.ec-heat td{text-align:center;padding:0}
.ec-heat td.k{text-align:left;font-weight:600;color:#334155;padding-right:6px;white-space:nowrap}
.ec-heat td span{display:block;padding:7px 0;border-radius:6px;font-weight:700}
@media (max-width:720px){.ec-grid,.ec-insight{grid-template-columns:1fr}.ec-hero-diff{margin-left:0}}
.vrow-btn.fav-on{color:#D97706;background:#FFFBEB;border-color:#FCD34D}
.stu-name{border:none;background:none;cursor:pointer;color:#4338CA;font-weight:700;font-size:13px;padding:0;font-family:inherit}
.stu-name:hover{text-decoration:underline}
/* 빠른 검색 */
.qs-side{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#8194AA;font-size:12px;font-family:inherit;cursor:pointer}
.qs-side:hover{background:rgba(255,255,255,.09);color:#CBD5E1}
.qs-side i{font-size:15px}
.qs-side span{flex:1;text-align:left}
.qs-side kbd{font-family:inherit;font-size:9.5px;background:rgba(255,255,255,.08);border-radius:4px;padding:1px 5px;color:#64748B}
/* 캘린더 범례 토글 */
.cal-lg{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:transparent;padding:4px 8px;border-radius:7px;font-size:12px;font-weight:700;color:#4B5563;cursor:pointer;font-family:inherit}
.cal-lg span{width:3px;height:16px;border-radius:99px}
.cal-lg:hover{background:#F1F5F9}
.cal-lg.off{color:#CBD5E1;text-decoration:line-through}
.cal-lg.off span{opacity:.3}
.qs-back{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9500;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}
.qs-box{width:min(620px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.35);overflow:hidden;display:flex;flex-direction:column;max-height:70vh}
.qs-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #F1F5F9}
.qs-in i{font-size:20px;color:#94A3B8}
.qs-in input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;color:#0F172A;background:transparent}
.qs-box kbd{font-family:inherit;font-size:10px;font-weight:700;background:#F1F5F9;border:1px solid #E2E8F0;border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:#64748B}
.qs-list{overflow-y:auto;padding:6px}
.qs-g{font-size:10.5px;font-weight:800;color:#94A3B8;padding:10px 10px 4px;letter-spacing:.04em}
.qs-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer}
.qs-row i{font-size:18px;color:#64748B;width:22px;text-align:center}
.qs-row div{display:flex;flex-direction:column;min-width:0}
.qs-row b{font-size:13.5px;font-weight:700;color:#0F172A;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-row span{font-size:11.5px;color:#64748B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-row.on{background:#EEF2FF}
.qs-row.on i,.qs-row.on b{color:#4338CA}
.qs-empty{padding:28px 16px;text-align:center;font-size:13px;color:#94A3B8}
.qs-foot{display:flex;gap:14px;padding:9px 16px;border-top:1px solid #F1F5F9;font-size:11px;color:#94A3B8;background:#FAFAFA}
.qs-foot span{display:inline-flex;align-items:center;gap:3px}
/* 속기사 한눈에 보기 */
.pv-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pv-contact{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:#334155}
.pv-contact span{display:inline-flex;align-items:center;gap:5px}
.pv-contact i{font-size:15px;color:#94A3B8}
.pv-acts{display:flex;gap:6px}
.pv-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid #E2E8F0;background:#fff;color:#334155;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.pv-btn i{font-size:15px}
.pv-btn:hover{background:#F8FAFC;border-color:#CBD5E1}
.pv-btn.on{background:#FFFBEB;border-color:#FCD34D;color:#B45309}
.pv-alert{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;font-size:12.5px;font-weight:600;margin-bottom:10px}
.pv-alert i{font-size:16px;flex-shrink:0}
.pv-alert.red{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA}
.pv-alert.amber{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A}
.pv-fav{background:#FFFDF5;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.pv-fav-t{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#B45309;margin-bottom:6px}
.pv-tag{background:#FEF3C7;color:#92400E;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:600}
/* 즐겨찾기 카드 현황 */
.fv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;align-items:start}
.fv-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);display:flex;flex-direction:column}
.fv-hd{display:flex;align-items:center;gap:10px;padding:12px 12px 8px 14px}
.fv-av{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}
.fv-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.fv-who b{font-size:14.5px;color:#0F172A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv-ph{display:flex;align-items:center;gap:4px;font-size:12.5px;white-space:nowrap}
.fv-ph a{color:#4F46E5;text-decoration:none;font-weight:600}
.fv-ph.none{color:#CBD5E1}
.fv-cp{border:none;background:none;color:#94A3B8;cursor:pointer;padding:2px;border-radius:5px;font-size:14px;line-height:1;display:inline-flex}
.fv-cp:hover{background:#F1F5F9;color:#4F46E5}
.fv-off{border:none;background:none;color:#CBD5E1;cursor:pointer;font-size:17px;padding:4px;border-radius:7px;align-self:flex-start;display:inline-flex}
.fv-off:hover{background:#FEF2F2;color:#DC2626}
.fv-note{margin:0 12px 8px;padding:7px 10px;border-radius:8px;background:#F8FAFC;display:flex;flex-direction:column;gap:5px;min-height:20px}
.fv-note.ed{cursor:pointer;border:1px dashed transparent}
.fv-note.ed:hover{border-color:#C7D2FE;background:#EEF2FF}
.fv-note p{margin:0;font-size:12px;color:#475569;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fv-note p.none{color:#94A3B8}
.fv-tags{display:flex;flex-wrap:wrap;gap:4px}
.fv-tags span{background:#EEF2FF;color:#4338CA;border:1px solid #C7D2FE;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:600}
.fv-sum{display:flex;align-items:center;gap:8px;padding:7px 14px;border-top:1px solid #F1F5F9;font-size:11.5px;color:#64748B;min-width:0}
.fv-sum span{white-space:nowrap}
.fv-sum b{color:#0F172A;font-size:13px}
.fv-sum .g b{color:#4F46E5}
.fv-sum .p b{color:#059669}
.fv-sum em{font-style:normal;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:#94A3B8}
.fv-acts{display:flex;gap:6px;padding:0 12px 12px}
.fv-acts .pv-btn{flex:1;justify-content:center;white-space:nowrap}
.fv-sort{padding:4px 12px;border-radius:99px;border:1.5px solid #E2E8F0;background:#fff;color:#374151;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit}
.fv-sort.on{border-color:#4F46E5;background:#4F46E5;color:#fff;font-weight:700}
.fv-lb{display:block;font-size:12px;font-weight:700;color:#334155;margin-bottom:5px}
.fv-lb span{font-weight:400;color:#94A3B8;margin-left:4px}
.fv-job{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid #E2E8F0;background:#fff;border-radius:9px;padding:10px 12px;cursor:pointer;font-family:inherit;font-size:13px;color:#0F172A}
.fv-job:hover{border-color:#93C5FD;background:#EEF2FF}
.fv-job .fv-jn{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-job em{font-style:normal;font-size:11px;color:#64748B;white-space:nowrap}
.fv-job.done{opacity:.5;cursor:default;background:#F8FAFC}
/* 채용 분석 공통 (지역·기관) */
.hr-yb{display:flex;align-items:flex-end;gap:6px;height:46px}
.hr-yb-c{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:22px;position:relative}
.hr-yb-c b{font-size:10px;font-weight:700;color:#334155;line-height:12px;height:12px}
.hr-yb-bar{width:12px;background:linear-gradient(180deg,#818CF8,#6366F1);border-radius:4px 4px 1px 1px}
.hr-yb-bar.z{background:#E2E8F0;border-radius:2px}
.hr-yb-c span{font-size:9.5px;color:#94A3B8;margin-top:2px}
.hr-dash{color:#CBD5E1;font-weight:700}
.hr-miss{display:block;font-size:10px;color:#B45309;margin-top:1px}
.hr-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 0;color:#94A3B8;font-size:13px}
.hr-empty i{font-size:28px}
.hr-tag{font-size:10px;font-weight:700;padding:1px 7px;border-radius:5px;background:#F1F5F9;color:#94A3B8}
.hr-tag.on{background:#ECFDF5;color:#059669}
.hr-job-ap{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.hr-ap{background:#F8FAFC;color:#475569;border:1px solid #E2E8F0;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:600}
.hr-ap em{font-style:normal;font-size:10px;opacity:.75;margin-left:4px}
.hr-ap.p{background:#ECFDF5;color:#059669;border-color:#A7F3D0}
.hr-ap.f{color:#94A3B8}
/* 채용 지도 */
.hm-wrap{height:100%;display:flex;flex-direction:column;background:#F5F6FA}
.hm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 24px 12px;background:#fff;border-bottom:1px solid #EEF0F4}
.hm-head h2{margin:0;font-size:20px;font-weight:800;color:#0F172A;letter-spacing:-.01em}
.hm-head p{margin:3px 0 0;font-size:12px;color:#64748B}
.hm-head-r{display:flex;align-items:center;gap:10px}
.hm-wrap .ec-seg{margin-bottom:0}
.hm-wrap .ec-seg button{padding:6px 13px;font-size:12px}
.hm-scope{display:inline-flex;align-items:center;gap:5px;border:1px solid #C7D2FE;background:#EEF2FF;color:#3730A3;border-radius:99px;padding:5px 10px 5px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.hm-scope .ti-x{font-size:13px;opacity:.7}
.hm-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 24px 24px}
.hm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.hm-kpi{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E8EAF0;border-radius:14px;padding:12px 14px}
.hm-kpi-i{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#F1F5F9;color:#64748B;font-size:19px}
.hm-kpi span{display:block;font-size:11px;color:#64748B;font-weight:600}
.hm-kpi b{display:block;font-size:22px;font-weight:800;color:#0F172A;font-variant-numeric:tabular-nums;line-height:1.15}
.hm-kpi b small{font-size:12px;color:#94A3B8;margin-left:2px;font-weight:600}
.hm-kpi em{display:block;font-style:normal;font-size:10.5px;font-weight:700;margin-top:1px}
.hm-kpi em small{font-weight:500;color:#94A3B8}
.hm-kpi em.up{color:#059669}.hm-kpi em.dn{color:#DC2626}.hm-kpi em.eq{color:#94A3B8}
.hm-kpi.k1{background:linear-gradient(135deg,#4F46E5,#6366F1);border-color:#4F46E5}
.hm-kpi.k1 .hm-kpi-i{background:rgba(255,255,255,.18);color:#fff}
.hm-kpi.k1 span,.hm-kpi.k1 b small,.hm-kpi.k1 em small{color:#C7D2FE}
.hm-kpi.k1 b,.hm-kpi.k1 em{color:#fff!important}
.hm-kpi.k2 .hm-kpi-i{background:#FEF3C7;color:#B45309}
.hm-kpi.k3 .hm-kpi-i{background:#D1FAE5;color:#059669}.hm-kpi.k3 b{color:#059669}
.hm-grid{display:grid;grid-template-columns:330px 1fr;gap:12px;align-items:start}
.hm-card{background:#fff;border:1px solid #E8EAF0;border-radius:14px;padding:14px 16px}
.hm-ch{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.hm-ch b{font-size:13.5px;color:#0F172A;font-weight:800}
.hm-ch span{font-size:11px;color:#94A3B8;font-weight:600}
.hm-ch.sm{margin:16px 0 6px}
.hm-mapcard{position:sticky;top:0}
.hm-tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:62px;gap:5px}
.hm-tile{position:relative;border:none;border-radius:10px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:7px 9px;text-align:left;transition:transform .12s,box-shadow .12s}
.hm-tile span{font-size:11.5px;font-weight:700}
.hm-tile b{font-size:18px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hm-tile i{position:absolute;right:6px;top:6px;font-style:normal;font-size:10px;font-weight:800;background:#10B981;color:#fff;border-radius:99px;min-width:17px;height:17px;padding:0 4px;display:flex;align-items:center;justify-content:center}
.hm-tile:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(79,70,229,.18)}
.hm-tile.on{box-shadow:0 0 0 2.5px #F59E0B}
.hm-tile.l0{background:#F4F5F8;color:#B8BECB}.hm-tile.l0 b{font-weight:500}
.hm-tile.l1{background:#E0E7FF;color:#3730A3}
.hm-tile.l2{background:#C7D2FE;color:#312E81}
.hm-tile.l3{background:#A5B4FC;color:#1E1B4B}
.hm-tile.l4{background:#6366F1;color:#fff}
.hm-tile.l5{background:#4338CA;color:#fff}
.hm-mapfoot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:10.5px;color:#64748B}
.hm-scale{display:flex;align-items:center;gap:3px}
.hm-scale i{width:14px;height:8px;border-radius:2px}
.hm-scale .l1{background:#E0E7FF}.hm-scale .l2{background:#C7D2FE}.hm-scale .l3{background:#A5B4FC}.hm-scale .l4{background:#6366F1}.hm-scale .l5{background:#4338CA}
.hm-ourk{display:inline-flex;align-items:center;gap:4px}
.hm-ourk i{width:9px;height:9px;border-radius:50%;background:#10B981}
.hm-unl{margin-left:auto;border:1px dashed #CBD5E1;background:#fff;color:#64748B;border-radius:7px;padding:3px 8px;font-size:10.5px;font-weight:600;cursor:pointer;font-family:inherit}
.hm-unl.on{border-color:#F59E0B;color:#B45309}
.hm-rank{display:flex;flex-direction:column;gap:2px}
.hm-rr{display:grid;grid-template-columns:18px 34px 1fr 44px;grid-template-rows:auto auto;align-items:center;gap:0 8px;border:none;background:none;border-radius:8px;padding:5px 6px;cursor:pointer;font-family:inherit;text-align:left}
.hm-rr:hover{background:#F8FAFC}
.hm-rr.on{background:#FFFBEB}
.hm-rr .n{font-size:11px;font-weight:800;color:#A5B4FC;grid-row:span 2}
.hm-rr .l{font-size:12.5px;font-weight:700;color:#0F172A}
.hm-rr .b{height:7px;background:#F1F5F9;border-radius:99px;overflow:hidden}
.hm-rr .b i{display:block;height:100%;background:linear-gradient(90deg,#A5B4FC,#6366F1);border-radius:99px}
.hm-rr>b{font-size:12.5px;color:#3730A3;text-align:right}
.hm-rr .s{grid-column:2/-1;font-size:10px;color:#94A3B8}
.hm-right{min-width:0;display:flex;flex-direction:column;gap:12px}
.hm-charts{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}
.hm-lg{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:10.5px;color:#64748B}
.hm-lg i{width:9px;height:9px;border-radius:2px;margin-left:6px}
.hm-lg .a{background:#6366F1}.hm-lg .b{background:#FBBF24}.hm-lg .c{background:#10B981}
.hm-trend{width:100%;height:160px;display:block}
.hm-trend .ax{stroke:#E5E7EB}
.hm-trend .r1{fill:#6366F1}.hm-trend .r2{fill:#FCD34D}.hm-trend .r3{fill:#10B981}
.hm-trend .dim{opacity:.28}
.hm-trend text{font-size:10px;font-family:inherit;text-anchor:middle}
.hm-trend .v{fill:#3730A3;font-weight:800}
.hm-trend .x{fill:#64748B;font-weight:600}
.hm-trend .v2{fill:#B45309;font-weight:700}
.hm-trend .v3{fill:#059669;font-weight:800}
.hm-months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:132px;align-items:end}
.hm-mc{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}
.hm-mc b{font-size:10px;color:#64748B;font-weight:700;height:12px}
.hm-mc i{width:100%;max-width:22px;background:#E0E7FF;border-radius:5px 5px 2px 2px}
.hm-mc.pk i{background:linear-gradient(180deg,#A78BFA,#7C3AED)}
.hm-mc.pk b{color:#6D28D9}
.hm-mc span{font-size:10px;color:#94A3B8;font-weight:600}
.hm-mc.now span{color:#fff;background:#0F172A;border-radius:99px;padding:0 5px}
.hm-mnote{margin-top:8px;font-size:11.5px;color:#475569;display:flex;align-items:center;gap:5px}
.hm-mnote i{color:#F59E0B;font-size:15px}
.hm-mnote b{color:#6D28D9}
.hm-main{padding:0;overflow:hidden}
.hm-tools{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap}
.hm-tools .hm-ch{margin:0}
.hm-search{flex:1;min-width:160px;display:flex;align-items:center;gap:6px;border:1px solid #E2E8F0;border-radius:9px;padding:6px 10px;background:#F8FAFC}
.hm-search i{color:#94A3B8}
.hm-search input{border:none;outline:none;font-size:12.5px;font-family:inherit;width:100%;background:transparent}
.hm-th,.hm-row{display:grid;grid-template-columns:28px minmax(190px,1.6fr) 92px minmax(110px,1fr) 80px 112px 78px 16px;align-items:center;gap:8px;padding:0 16px}
.hm-th{font-size:10.5px;font-weight:700;color:#94A3B8;background:#FAFBFC;border-top:1px solid #F1F5F9;border-bottom:1px solid #F1F5F9;height:32px;letter-spacing:.02em}
.hm-row{min-height:64px;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #F3F4F7;cursor:pointer;transition:background .12s}
.hm-row:hover{background:#FAFAFF}
.hm-row.open{background:#F5F6FF}
.hm-row.open .hm-chev{transform:rotate(180deg);color:#4F46E5}
.hm-rk{width:24px;height:24px;border-radius:7px;background:#F1F5F9;color:#94A3B8;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.hm-rk.top{background:#EEF2FF;color:#4F46E5}
.hm-name b{display:block;font-size:13.5px;color:#0F172A;margin-bottom:4px}
.hm-name div{display:flex;align-items:center;gap:6px}
.hm-loc{font-size:11px;color:#64748B;display:inline-flex;align-items:center;gap:2px}
.hm-loc i{font-size:12px}
.hm-rc-n{font-size:11px;color:#94A3B8;display:flex;align-items:baseline;gap:2px}
.hm-rc-n b{font-size:16px;color:#0F172A;font-weight:800;font-variant-numeric:tabular-nums}
.hm-rc-n .hr-miss{display:inline;margin-left:6px}
.hm-rc-bar{height:6px;background:#F1F5F9;border-radius:99px;overflow:hidden;margin:4px 0 3px}
.hm-rc-bar i{display:block;height:100%;background:linear-gradient(90deg,#A5B4FC,#4F46E5);border-radius:99px}
.hm-rc-s{font-size:10.5px;color:#94A3B8}
.hm-our b{display:block;font-size:15px;color:#059669;font-weight:800}
.hm-our span:not(.hr-dash){display:inline-block;margin-top:2px;font-size:10px;font-weight:700;color:#047857;background:#ECFDF5;border-radius:99px;padding:1px 7px}
.hm-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;width:108px}
.hm-strip i{height:12px;border-radius:2px;background:#F1F5F9}
.hm-strip i.on{background:#7C3AED}
.hm-strip-l{font-size:10.5px;color:#6D28D9;font-weight:700;margin-top:4px}
.hm-last b{display:block;font-size:12px;color:#334155}
.hm-last span{font-size:10.5px;color:#94A3B8;font-variant-numeric:tabular-nums}
.hm-chev{color:#CBD5E1;font-size:16px;transition:transform .15s}
.hm-det{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:14px 16px 18px 56px;background:#F5F6FF;border-bottom:1px solid #E0E7FF}
.hm-det-side{display:flex;flex-direction:column;gap:6px}
.hm-det-k{display:grid;grid-template-columns:20px 1fr auto;align-items:center;background:#fff;border:1px solid #E0E7FF;border-radius:9px;padding:7px 10px;font-size:11.5px;color:#64748B}
.hm-det-k i{color:#818CF8;font-size:15px}
.hm-det-k b{font-size:13px;color:#0F172A}
.hm-det-warn{font-size:10.5px;color:#B45309;background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:7px 9px;line-height:1.5}
.hm-det-warn i{margin-right:3px}
.hm-tl{position:relative;padding-left:18px;border-left:2px solid #E0E7FF;display:flex;flex-direction:column;gap:6px}
.hm-tl-y{font-size:11px;font-weight:800;color:#4F46E5;margin:4px 0 0 -27px;background:#F5F6FF;padding:2px 0;display:flex;align-items:center;gap:6px}
.hm-tl-y::before{content:'';width:12px;height:12px;border-radius:50%;background:#4F46E5;border:3px solid #E0E7FF}
.hm-tl-i{background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:9px 12px}
.hm-tl-i.won{border-color:#A7F3D0;box-shadow:inset 3px 0 0 #10B981}
.hm-tl-t{display:flex;align-items:center;gap:10px;font-size:12.5px}
.hm-tl-d{font-size:11px;color:#94A3B8;font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-tl-t a{font-weight:700;color:#1E293B;cursor:pointer;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-tl-t a:hover{color:#4F46E5;text-decoration:underline}
.hm-tl-m{font-size:11px;color:#64748B;white-space:nowrap}
.hm-tl-m b{color:#0F172A}
@media (max-width:1200px){.hm-grid{grid-template-columns:1fr}.hm-mapcard{position:static}.hm-charts{grid-template-columns:1fr}.hm-kpis{grid-template-columns:repeat(3,1fr)}}
.hm-kinds{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 24px;background:#fff;border-bottom:1px solid #EEF0F4}
.hm-kinds-l{font-size:11.5px;font-weight:800;color:#334155;margin-right:4px}
.hm-kinds button{display:inline-flex;align-items:center;gap:6px;border:1px solid #E2E8F0;background:#fff;color:#334155;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.hm-kinds button i{width:8px;height:8px;border-radius:50%;background:var(--kc)}
.hm-kinds button span{font-size:10.5px;color:#94A3B8;font-weight:700}
.hm-kinds button:hover{border-color:var(--kc)}
.hm-kinds button.on{background:var(--kc);border-color:var(--kc);color:#fff}
.hm-kinds button.on i{background:none;width:auto;height:auto;font-size:13px}
.hm-kinds button.on span{color:rgba(255,255,255,.75)}
.hm-kinds-h{margin-left:auto;font-size:10.5px;color:#94A3B8;display:inline-flex;align-items:center;gap:4px}
.hm-name .hm-kts{display:flex;flex-wrap:wrap;gap:3px 9px;margin-top:4px}
.hr-kd{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:#475569;white-space:nowrap}
.hr-kd i{width:7px;height:7px;border-radius:50%}
.hr-kb{font-size:10px;font-weight:700;color:#fff;border-radius:5px;padding:2px 7px;white-space:nowrap}
/* 대시보드: AI 요약 · 데이터 정리 */
.ai-b{background:linear-gradient(135deg,#FAF5FF,#EEF2FF);border:1px solid #E9D5FF;border-radius:10px;padding:10px 14px;margin:0 0 12px}
.ai-b-h{display:flex;align-items:center;gap:8px}
.ai-b-t{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#6D28D9}
.ai-b-h button{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#7C3AED,#4F46E5);color:#fff;border:none;padding:5px 12px;border-radius:7px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit}
.ai-b-h button:disabled{opacity:.6;cursor:default}
.ai-b-msg{font-size:12px;color:#64748B;margin-top:6px;line-height:1.6}
.ai-b-msg.err{color:#B91C1C;display:flex;gap:5px;align-items:flex-start}
.ai-b-text{font-size:13px;color:#1E293B;line-height:1.75;margin-top:8px}
.ai-spin{animation:spin .8s linear infinite;display:inline-block}
.dash-chk{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed #E5E7EB}
.dash-chk button{display:inline-flex;align-items:center;gap:6px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;padding:5px 8px 5px 10px;font-size:12px;color:#334155;font-weight:600;cursor:pointer;font-family:inherit}
.dash-chk button i:first-child{color:var(--cc);font-size:15px}
.dash-chk button b{color:var(--cc)}
.dash-chk button i:last-child{color:#CBD5E1;font-size:14px}
.dash-chk button:hover{border-color:var(--cc)}

/* 연수 관리: 누적 한 줄 · 도구 막대 · 숫자 칩 */
.tr-cum{margin:4px 0 0;font-size:12px;color:#475569;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.tr-cum b{color:#0F172A;font-size:14px;font-weight:800}
.tr-cum span{color:#64748B}
.tr-cum span::before{content:'·';margin-right:12px;color:#CBD5E1}
.tr-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px}
.tr-search{flex:1;min-width:220px;display:flex;align-items:center;gap:6px;border:1.5px solid #E2E8F0;border-radius:8px;padding:0 6px 0 10px;background:#fff}
.tr-search.on{border-color:#4F46E5;background:#EEF2FF}
.tr-search span{font-size:12px;opacity:.6}
.tr-search input{flex:1;border:none;outline:none;background:transparent;padding:8px 0;font-size:12.5px;font-family:inherit;min-width:0}
.tr-search b{font-size:11.5px;color:#4F46E5;white-space:nowrap}
.tr-search button{border:none;background:#E2E8F0;color:#475569;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:11px}
.tr-act{border:1px solid #A7F3D0;background:#ECFDF5;color:#047857;padding:7px 12px;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.tr-act.g{background:#059669;border-color:#059669;color:#fff}
.tr-more{position:relative}
.tr-more summary{list-style:none;cursor:pointer;border:1px solid #E2E8F0;background:#F8FAFC;color:#334155;padding:7px 12px;border-radius:6px;font-size:11.5px;font-weight:700;white-space:nowrap;user-select:none}
.tr-more summary::-webkit-details-marker{display:none}
.tr-more[open] summary{background:#E2E8F0}
.tr-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:#fff;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.12);padding:4px;min-width:220px;display:flex;flex-direction:column}
.tr-more-menu button{border:none;background:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit;color:#1F2937}
.tr-more-menu button:hover{background:#F1F5F9}
.tr-more-menu button.danger{color:#DC2626;border-top:1px solid #F1F5F9;margin-top:2px}
.tr-more-menu button.danger:hover{background:#FEF2F2}
.tr-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.tr-chip{display:inline-flex;align-items:baseline;gap:5px;border:1.5px solid color-mix(in srgb,var(--c) 25%,#fff);background:#fff;color:var(--c);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.tr-chip b{font-size:15px;font-weight:900;color:#0F172A}
.tr-chip em{font-style:normal;font-size:11px;font-weight:700;opacity:.8}
.tr-chip:hover{border-color:var(--c)}
.tr-chip.on{background:var(--c);border-color:var(--c);color:#fff}
.tr-chip.on b{color:#fff}
.tr-chip-sep{width:1px;height:20px;background:#E2E8F0;margin:0 4px}
.tr-chips-n{margin-left:auto;font-size:11.5px;color:#64748B}

/* 취업처 관리: 탭 · 추천 공고 */
.emp-tabs{display:flex;gap:2px;background:#F1F5F9;border-radius:9px;padding:3px;margin-right:auto;margin-left:14px}
.emp-tabs button{border:none;background:none;padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:600;color:#64748B;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px}
.emp-tabs button b{font-size:11px;color:#94A3B8;font-weight:700}
.emp-tabs button.on{background:#fff;color:#0F172A;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.emp-tabs button.on b{color:#7C3AED}
.ref-bd{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:99px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);white-space:nowrap}
.ref-cnt{font-size:12.5px;color:#0F172A}
.ref-last{font-size:11px;color:#64748B}
.ref-ap{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#0F172A;margin:0 6px 3px 0;white-space:nowrap}
.ref-ap em{font-style:normal;font-size:10px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff);padding:0 6px;border-radius:99px}
.ref-ct{display:flex;flex-direction:column;gap:1px;font-size:12px;min-width:150px}
.ref-ct b{color:#0F172A;font-size:12.5px}
.ref-ct a{color:#4F46E5;text-decoration:none;font-weight:600}
.ref-ct a.m{color:#7C3AED;font-weight:500;font-size:11.5px}
.ref-ct i{font-style:normal;font-size:10px;color:#94A3B8}
.ref-card{background:#fff;border:1px solid #E9D5FF;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ref-card-h{display:flex;align-items:center;gap:6px}
.ref-card-h b{font-size:12px;color:#6D28D9}
.ref-card-h span{font-size:11px;color:#94A3B8}
.ref-none{font-size:12px;color:#94A3B8;text-align:center;padding:8px 0;line-height:1.6}
.ref-it{border-left:3px solid var(--c);background:#F8FAFC;border-radius:0 8px 8px 0;padding:8px 10px;display:flex;flex-direction:column;gap:4px}
.ref-it-h{display:flex;align-items:center;gap:6px}
.ref-it-h b{font-size:12px;color:#475569}
.ref-it-j{font-size:12.5px;font-weight:700;color:#0F172A;cursor:pointer}
.ref-it-j:hover{color:#6D28D9;text-decoration:underline}
.ref-it-w{display:flex;flex-wrap:wrap}
.ref-wrap{padding:14px 20px;display:flex;flex-direction:column;gap:10px}
.ref-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ref-chip{border:1.5px solid color-mix(in srgb,var(--c) 25%,#fff);background:#fff;color:var(--c);padding:5px 12px;border-radius:99px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.ref-chip b{color:#0F172A;margin-left:2px}
.ref-chip.on{background:var(--c);border-color:var(--c);color:#fff}
.ref-chip.on b{color:#fff}
.ref-bar input{margin-left:auto;padding:7px 11px;border:1px solid #E2E8F0;border-radius:7px;font-size:12px;width:240px;outline:none;font-family:inherit}
.ref-tbl{background:#fff;border:1px solid #E5E7EB;border-radius:10px;overflow:auto}
.ref-tbl table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:860px}
.ref-tbl th{background:#F8FAFC;text-align:left;font-size:11px;font-weight:700;color:#1F2937;padding:9px 12px;border-bottom:2px solid #E2E8F0;white-space:nowrap;position:sticky;top:0}
.ref-tbl td{padding:10px 12px;border-bottom:1px solid #F1F5F9;vertical-align:top;color:#1F2937}
.ref-tbl tr:hover td{background:#FAFAFF}
.ref-td-d{white-space:nowrap;font-weight:700}
.ref-td-d span,.ref-td-j span{display:block;font-size:10.5px;font-weight:500;color:#94A3B8;margin-top:2px}
.ref-td-j{max-width:300px}
.ref-td-a{max-width:280px}
.ref-emp{color:#0F172A;font-weight:700;cursor:pointer;text-decoration:none}
.ref-emp:hover{color:#6D28D9;text-decoration:underline}
.ref-dim{color:#CBD5E1;font-size:12px}
.ref-empty{text-align:center;padding:40px!important;color:#94A3B8}
/* 공고관리 지원현황 한 줄 */
.jc-row{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;font-size:11px}
.jc-row>*{white-space:nowrap}
.jc-tot{background:#E0E7FF;color:#3730A3;padding:2px 8px;border-radius:99px;font-size:10.5px;font-weight:700}
.jc-n{font-weight:600}
.jc-n b{font-weight:800}
.jc-tg{border:1px solid #E5E7EB;background:#fff;color:#6B7280;border-radius:6px;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;flex-shrink:0}
.jc-tg i{font-size:14px}
.jc-tg:hover{border-color:#C7D2FE;color:#4F46E5}
.jc-tg.on{background:#EEF2FF;border-color:#C7D2FE;color:#4F46E5}
/* 공고관리: 지역 미설정 칩은 주의 색, 고른 필터 상자는 보라 테두리 */
.jl-noloc{color:#B45309}
.jl-noloc em{color:#D97706}
.jl-noloc.on{border-color:#FCD34D;background:#FFFBEB;color:#B45309}
.n-sel.on{border-color:#C7D2FE;background-color:#EEF2FF;color:#4F46E5;font-weight:700}
/* 공고관리 날짜 칸: 지난 일정 흐리게, 다음 일정 강조 */
.jd-past{opacity:.35}
.jd-next{display:inline-block;background:#EEF2FF;border-radius:6px;padding:2px 6px;margin:-2px -6px;color:#4338CA;font-weight:700}
.jd-next span{font-weight:700!important}
/* 공고 등록·수정 창 날짜 */
.jf-dates{background:#F8FAFC;border:1px solid #E2E8F0;border-radius:8px;padding:12px 14px 2px;margin-bottom:12px}
/* 셋째 칸은 근무 기간(날짜 두 개)이 들어가서 조금 더 넓게 */
.jf-dg{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:0 12px}
/* 근무 기간: 다른 날짜 칸(fInp)과 같은 글자·높이 */
.jf-work label{display:block;font-size:12px;font-weight:700;color:#4B5563;margin-bottom:5px}
/* 시작일 ~ 종료일을 테두리 하나로 묶어 다른 칸처럼 한 칸으로 보이게 */
.jf-work>div{display:flex;align-items:center;gap:4px;margin-bottom:10px;height:38px;padding:0 4px 0 10px;border:1px solid #E5E7EB;border-radius:9px;background:#fff;box-sizing:border-box}
.jf-work>div:focus-within{border-color:#A5B4FC;box-shadow:0 0 0 3px #EEF2FF}
.jf-work input{flex:1;min-width:0;height:36px;padding:0;border:none;background:transparent;font-size:13px;outline:none;font-family:inherit;box-sizing:border-box}
.jf-work span{color:#94A3B8;font-size:13px}
/* 개별통보 */
.nt-bd{font-size:9.5px;background:#FFEDD5;color:#C2410C;border:1px solid #FED7AA;padding:1px 6px;border-radius:99px;font-weight:800;white-space:nowrap}
.nt-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;padding-top:8px;border-top:1px dashed #E2E8F0;font-size:12px}
.nt-pick>span{font-weight:700;color:#C2410C}
.nt-pick label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:#334155}
.nt-pick input{accent-color:#EA580C}
.nt-pick em{font-style:normal;color:#94A3B8;font-size:11px}

/* 오늘 연락할 사람 (공고관리 빠른 보기 → 창) */
.ct-chip{padding:4px 11px;border-radius:99px;border:1px solid #7DD3FC;background:#F0F9FF;color:#0369A1;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.ct-chip:hover{background:#E0F2FE}
.ct-hd{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.ct-n{background:#E0F2FE;color:#0369A1;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700}
.ct-sub{font-size:11px;color:#94A3B8}
.ct-list{display:flex;flex-direction:column}
.ct-row{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px solid #F1F5F9;font-size:12px;min-width:0}
.ct-chk input{width:15px;height:15px;cursor:pointer;accent-color:#0284C7}
.ct-nm{border:none;background:none;padding:0;font:inherit;font-weight:700;color:#1E3A8A;cursor:pointer;white-space:nowrap}
.ct-nm:hover{text-decoration:underline}
.ct-ph{border:1px solid #E2E8F0;background:#F8FAFC;border-radius:6px;padding:2px 7px;font:inherit;font-size:11.5px;color:#334155;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
.ct-ph i{font-size:11px;color:#94A3B8}
.ct-ph:hover{border-color:#0EA5E9;color:#0369A1}
.ct-none{cursor:default;color:#94A3B8}
.ct-job{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748B;cursor:pointer}
.ct-job:hover{color:#4F46E5}
.ct-why{padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}
.ct-ok .ct-nm,.ct-ok .ct-job{color:#94A3B8;text-decoration:line-through}
.ct-ok .ct-ph,.ct-ok .ct-why{opacity:.45}

/* 이름 → 한눈에 보기 */
.pn-link{border:none;background:none;padding:0;font-family:inherit;cursor:pointer;text-align:left}
.pn-link:hover{color:#4F46E5!important;text-decoration:underline}
/* 표 칸 제목 정렬 버튼 */
.th-sort{border:none;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
.th-sort i{font-size:12px;color:#CBD5E1}
.th-sort:hover i,.th-sort.on i{color:#4F46E5}
.th-sort.on{color:#4F46E5}

/* 공고관리: 공고명 아래 근무 기간, 공고명 누르면 펼치기 */
.jw-line{flex-basis:100%;margin-top:2px;line-height:1}
.jw-chip{display:inline-flex;align-items:center;gap:2px;padding:0 6px 0 4px;border-radius:99px;background:#F0FDFA;border:1px solid #99F6E4;color:#0F766E;font-size:8.5px;line-height:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.jw-chip i{font-size:9.5px}
.jw-chip b{font-weight:800;margin-right:1px}
.jw-sep{color:#5EEAD4;font-weight:700}
.job-name-btn:hover{color:#4F46E5!important;text-decoration:underline}
/* AI 모의면접 제공: 면접 관련 기록 안의 접이식 칸과 표시 딱지 */
.aim-box{border:1px solid #E5E7EB;border-radius:10px;background:#fff;margin:0 0 10px;overflow:hidden}
.aim-box.on{border-color:#C4B5FD;background:#FAF8FF}
.aim-hd{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:13px;color:#374151}
.aim-hd input{width:16px;height:16px;margin:0;accent-color:#7C3AED;cursor:pointer}
.aim-hd i{font-size:17px;color:#7C3AED}
.aim-hd b{font-weight:700}
.aim-st{margin-left:auto;font-size:11.5px;color:#9CA3AF}
.aim-box.on .aim-st{color:#6D28D9;font-weight:700}
.aim-body{display:grid;grid-template-columns:1fr 1.6fr;gap:0 12px;padding:2px 12px 2px;border-top:1px dashed #DDD6FE}
.aim-body>div{margin-top:10px}
.aim-pill{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:800;color:#6D28D9;background:#F5F3FF;border:1px solid #DDD6FE;padding:1px 7px;border-radius:99px;white-space:nowrap}
.aim-pill i{font-size:11px}
.n-kc .ln.aim-ln{color:#6D28D9;font-weight:700}
.n-kc .ln.aim-ln i{color:#7C3AED}
