/* Hiring (hiring.js), on the Hub's design system: role cards with a stage funnel, the pipeline as grey columns with white
   cards, Claude's fit score as a mono badge (green strong, amber maybe, red no), a gradient card per candidate. */
.hsec{margin:26px 0 12px}
.hsec h3{font:400 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.stats.hero+.hup{margin-top:-8px}
.hup{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px}
.hup .grow{min-width:220px}
.hup b{font-weight:500;font-size:14.5px}
.hup .note{margin-top:2px;color:var(--ink-3)}
.hup .bad{color:var(--danger)}
.hup-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--g-ocean);background-blend-mode:overlay,normal;box-shadow:var(--rim-sm);color:#fff;flex:none}
.hup.on .hup-ico{background:var(--g-lime);background-blend-mode:overlay,normal}
.hup-ico .ico{width:19px;height:19px}

/* roles */
.hroles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.hroles .card+.card{margin-top:0}
.hrole{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;transition:transform .2s var(--ease),box-shadow .2s}
.hrole:hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px var(--ink),var(--lift)}
.hrole.closed{opacity:.7}
.hr-top{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.hrole h2{font-size:19px;letter-spacing:-.024em;margin:0}
.hfun{display:flex;gap:3px;height:8px;margin-top:12px;border-radius:99px;overflow:hidden}
.hfun i{display:block;min-width:6px;border-radius:2px}
.hfun.empty i{background:var(--fill-2)}
.hfun-k{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-2);margin:7px 0 0}
.hfun-k span{display:inline-flex;align-items:center;gap:5px}
.hfun-k i{width:7px;height:7px;border-radius:50%}
.hfun-k b{font:400 11.5px/1 var(--mono);color:var(--ink)}
.hr-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--rl);font-size:13px;color:var(--ink-2)}
.hr-foot .mono{color:var(--ink)}
.hneeds{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}
.hneeds .card+.card{margin-top:0}
.plist .nm small{display:block;font-weight:400;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hclosed{margin-top:14px}
.hclosed .hroles{margin-top:12px}

/* Claude's fit score */
.score{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;font:500 12.5px/1 var(--mono);letter-spacing:-.02em;background:var(--fill);color:var(--ink-2);flex:none}
.score.strong{background:#e8f8ee;color:#067647;box-shadow:inset 0 0 0 1px rgba(6,118,71,.18)}
.score.maybe{background:#fff3e6;color:#b54708;box-shadow:inset 0 0 0 1px rgba(181,71,8,.16)}
.score.no{background:#fde8e7;color:#b42318;box-shadow:inset 0 0 0 1px rgba(180,35,24,.14)}
.score.none{color:var(--ink-3)}
.score.sm{min-width:28px;height:21px;font-size:11px;padding:0 6px}
.chip.src-upwork{background:#e8f8ee;color:#14692f}.chip.src-apply{background:#eef1ff;color:#3538cd}.chip.src-linkedin{background:#e9f0ff;color:#1f4fb8}
.chip.src-instagram{background:#fdecf5;color:#b3195a}.chip.src-referral{background:#fff2df;color:#a6530b}

/* the pipeline */
.hkanban{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:10px;overflow-x:auto;padding:2px 2px 14px;align-items:start;scroll-snap-type:x proximity}
.hcard{gap:8px}
.hc-top{display:flex;align-items:center;gap:9px;min-width:0}
.hc-name{flex:1;min-width:0}
.hc-name b{display:block;font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-name small{display:block;font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-sum{font-size:12.5px;line-height:1.45;color:var(--ink-2);margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hc-foot{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.hc-foot .chip{height:21px;font-size:11px;padding:0 8px}

/* a candidate */
.hc-hero{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.hc-hero>div:first-child{flex:1;min-width:240px}
.hc-score{text-align:right}
.hc-score small{display:block;font:400 10.5px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hc-score b{display:block;font-family:var(--mono);font-weight:400;font-size:clamp(44px,2.6vw + 28px,60px);letter-spacing:-.06em;line-height:1;margin-top:6px}
.hc-score span{display:block;font-size:13px;color:rgba(255,255,255,.88);margin-top:4px}
.hread{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px}
.hread ul,.hl-good,.hl-bad{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:1.45}
.hl-good li,.hl-bad li{position:relative;padding-left:20px;color:var(--ink-2)}
.hl-good li::before,.hl-bad li::before{content:"";position:absolute;left:2px;top:6px;width:9px;height:9px;border-radius:50%}
.hl-good li::before{background:var(--s-green);box-shadow:0 0 0 3px rgba(34,197,94,.16)}
.hl-bad li::before{background:var(--s-amber);box-shadow:0 0 0 3px rgba(245,158,11,.16)}
.hcover{font-size:14px;line-height:1.6;max-height:420px;overflow:auto}
.hlinks{display:flex;flex-wrap:wrap;gap:6px}
.hgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0 10px}
.hgal.big{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.hfile{position:relative;display:flex;flex-direction:column;border-radius:var(--r-md);background:var(--ctl);overflow:hidden;text-decoration:none;color:inherit;font-size:12.5px;transition:box-shadow .15s}
.hfile:hover{box-shadow:0 0 0 1.5px var(--ink)}
.hfile img{width:100%;height:auto;max-height:360px;object-fit:contain;background:var(--fill-2);display:block}
.hgal:not(.big) .hfile img{height:110px;object-fit:cover}
.hfile .fi{height:110px;display:grid;place-items:center;font:400 12px/1 var(--mono);color:var(--ink-3);background:var(--fill-2);letter-spacing:.06em}
.hfile .fn{padding:7px 10px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.hfile .fx{position:absolute;top:6px;right:6px;opacity:0;transition:opacity .15s}
.hfile:hover .fx{opacity:1}
.hfile .fx button{border:0;background:rgba(255,255,255,.94);border-radius:999px;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.hfile .fx .ico{width:13px;height:13px}
.hdrop{margin-top:4px}
.htest .note b.bad,.note .bad{color:var(--danger)}
.hbars{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px}
.hbars>div{display:grid;grid-template-columns:110px 1fr 36px;gap:4px 12px;align-items:center;font-size:13px}
.hbars i{height:6px;border-radius:99px;background:rgba(11,11,15,.08);overflow:hidden}
.hbars i b{display:block;height:100%;border-radius:99px;background:var(--ink)}
.hbars small{grid-column:2 / -1;color:var(--ink-3);font-size:12px;line-height:1.4;margin-top:-2px}
.hscore{margin-top:16px;padding-top:14px;border-top:1px solid var(--rl)}
.hscore h4{margin:0 0 10px}
.hs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0}
.hs-row>span{font-size:13.5px}
.hs-row .seg button{height:28px;padding:0 11px;font-family:var(--mono);font-size:12.5px}
.hpreview{white-space:pre-wrap;font:400 12.5px/1.6 var(--mono);background:var(--fill);border-radius:var(--r-md);padding:14px 16px;max-height:46vh;overflow:auto;margin:0}

/* triage */
.htri{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head read" "app read";gap:14px;align-items:start}
.htri>.htri-head{grid-area:head;margin:0}
.htri>.card:nth-child(2){grid-area:read}
.htri>.card:nth-child(3){grid-area:app;margin:0}
.htri .card+.card{margin-top:0}
.htri-head h2{color:#fff;font-size:clamp(26px,1.2vw + 18px,34px);font-weight:500;letter-spacing:-.032em;line-height:1.1}
.htri-acts{display:flex;gap:8px;flex-wrap:wrap}
.htri-acts .btn{height:44px;padding:0 18px;font-size:14px}

@media (max-width:1100px){.htri{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "read" "app"}}
@media (max-width:760px){
  .hup{align-items:flex-start}
  .hup .grow{flex:1 1 0;min-width:0}
  .hroles{grid-template-columns:1fr}
  .hkanban{display:flex;margin:0 -14px;padding:2px 14px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .hkanban::-webkit-scrollbar{display:none}
  .hkanban .kcol{flex:0 0 84vw;max-height:none}
  .hc-score{text-align:left}
  .hbars>div{grid-template-columns:90px 1fr 34px}
  .hgal.big{grid-template-columns:1fr}
}
