/* 秋招工作台 · opportunities.css —— 「机会」「弹药库」容器：子页切换 / 漏斗 / 岗位详情抽屉 */

/* ---------- 子页切换条 ---------- */
.opp-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; margin-bottom:14px;
}
.opp-subtabs{ display:flex; gap:6px; flex-wrap:wrap; }
.opp-subtab{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:9px; cursor:pointer;
  border:1px solid var(--line); background:var(--panel);
  color:var(--muted); font-size:13px; font-weight:650;
  transition:background .15s, color .15s, border-color .15s;
}
.opp-subtab:hover{ color:var(--ink); border-color:var(--accent); }
.opp-subtab.active{
  background:var(--accent); border-color:var(--accent);
  color:#fff; box-shadow:0 2px 8px rgba(37,99,235,.22);
}
.opp-subtab-n{
  min-width:18px; padding:0 5px; border-radius:9px;
  background:rgba(0,0,0,.14); font-size:11px; font-weight:700; text-align:center;
}
.opp-subtab.active .opp-subtab-n{ background:rgba(255,255,255,.25); }
.opp-quick{ display:flex; gap:8px; flex-wrap:wrap; }

/* ---------- 漏斗条 ---------- */
.opp-funnel{
  margin-bottom:16px; padding:14px 16px;
  border:1px solid var(--line); border-radius:12px; background:var(--panel);
}
.opp-funnel-loading{ font-size:12px; color:var(--faint); }
.opp-funnel-title{
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  font-size:13px; font-weight:750; color:var(--ink); margin-bottom:12px;
}
.opp-funnel-title .hint{ font-weight:400; font-size:11.5px; color:var(--faint); }
.opp-funnel-total{ margin-left:auto; font-size:11.5px; font-weight:400; color:var(--muted); }
.opp-funnel-bars{ display:flex; align-items:flex-end; gap:6px; overflow-x:auto; padding-bottom:2px; }
.opp-funnel-step{ flex:1 1 0; min-width:58px; text-align:center; }
.opp-funnel-step.empty{ opacity:.42; }
.opp-funnel-bar{
  margin:0 auto 6px; width:70%; min-height:4px; border-radius:4px 4px 2px 2px;
  background:linear-gradient(180deg, var(--accent), rgba(37,99,235,.55));
}
.opp-funnel-n{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.2; }
.opp-funnel-s{ font-size:11.5px; color:var(--muted); }
.opp-funnel-r{ font-size:10.5px; color:var(--faint); }

/* 子页容器不再需要 view 的隐藏语义之外的东西 */
#opp-body > .view, #arsenal-body > .view{ display:block; }
#opp-body > .view.hide, #arsenal-body > .view.hide{ display:none; }

/* ---------- 岗位详情抽屉 ---------- */
.job-drawer{ position:fixed; inset:0; z-index:820; }
.job-drawer.hide{ display:none; }
.job-drawer-mask{ position:absolute; inset:0; background:rgba(8,12,20,.5); backdrop-filter:blur(2px); }
.job-drawer-panel{
  position:absolute; top:0; right:0; bottom:0; width:min(520px, 100%);
  overflow-y:auto; padding:20px 22px 40px;
  background:var(--panel); border-left:1px solid var(--line);
  box-shadow:-12px 0 32px rgba(8,12,20,.18);
}
.job-drawer-top{ display:flex; align-items:flex-start; gap:12px; }
.job-drawer-top h2{ margin:0; font-size:18px; }
.job-drawer-role{ margin:4px 0 0; font-size:13px; color:var(--muted); }
.job-drawer-close{
  margin-left:auto; flex:none; width:30px; height:30px; border-radius:8px;
  border:1px solid var(--line); background:var(--panel-sub);
  color:var(--muted); cursor:pointer; font-size:14px;
}
.job-drawer-close:hover{ color:var(--ink); border-color:var(--accent); }
.job-drawer-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 0; }
.job-drawer-act{ display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 0; }
.job-drawer-sec{ margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.job-drawer-sec h3{ margin:0 0 10px; font-size:13.5px; font-weight:750; }
.job-reasons{ margin:0; padding-left:18px; font-size:12.5px; line-height:1.8; color:var(--ink); }
.job-risk{
  margin:10px 0 0; padding:8px 10px; border-radius:8px; font-size:12px; line-height:1.7;
  background:rgba(180,83,9,.08); color:var(--warn,#b45309);
}
.job-timeline{ margin:0; padding-left:18px; font-size:12.5px; line-height:1.9; }
.job-tl-stage{ font-weight:700; }
.job-tl-at{ margin-left:8px; color:var(--faint); font-size:11.5px; }
.job-tl-note{ margin-left:8px; color:var(--muted); font-size:11.5px; }
.job-kv{ display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:0; font-size:12.5px; }
.job-kv dt{ color:var(--muted); }
.job-kv dd{ margin:0; color:var(--ink); word-break:break-all; }
.job-note{ margin:12px 0 0; font-size:12.5px; color:var(--muted); line-height:1.7; }
.job-iv{ padding:10px 0; border-bottom:1px dashed var(--line); font-size:12.5px; }
.job-iv:last-child{ border-bottom:none; }
.job-iv-top{ display:flex; justify-content:space-between; color:var(--muted); font-size:11.5px; }
.job-iv ul{ margin:6px 0 0; padding-left:18px; line-height:1.8; }
.job-iv-line{ margin:6px 0 0; line-height:1.7; }

@media (max-width: 640px){
  .job-drawer-panel{ width:100%; padding:16px 16px 36px; }
  .opp-funnel-step{ min-width:52px; }
}
