.hub-applicant-filter-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 14px;
}

.hub-applicant-filter-toolbar .rp-apply-type-filter {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

.hub-applicant-filter-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: #475569;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, color 0.2s, transform 0.15s;
}

.hub-applicant-filter-btn:hover {
  border-color: #c7d2fe;
  color: #4f46e5;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.16);
  transform: translateY(-1px);
}

.hub-applicant-filter-btn.is-active {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.35);
}

.hub-applicant-filter-btn .bi {
  font-size: 1.05rem;
}

/* Hide filtered-out cards even when page CSS uses display:!important */
.applicant-card.applicant-card-row.hub-af-hidden,
.hub-af-hidden.applicant-card {
  display: none !important;
}

/* ===== Modal (must beat page `.modal { z-index: 1060 !important }` + nest above applicants) ===== */
.modal.hub-applicant-filter-modal,
.hub-applicant-filter-modal.modal,
#hub-applicant-filter-modal.modal {
  z-index: 1120 !important;
}
.modal-backdrop.hub-af-backdrop,
body.hub-af-filter-open .modal-backdrop.hub-af-backdrop {
  /* Below filter modal (1120), above applicants modal (~1060) */
  z-index: 1110 !important;
  background-color: rgba(15, 23, 42, 0.78) !important;
  opacity: 1 !important;
}
/* Soft-dim parent applicants modal (optional visual); filter itself must stay undimmed */
body.hub-af-filter-open #view-applicants-modal:not(.hub-applicant-filter-modal) .modal-content,
body.hub-af-filter-open #admin-view-applicants-modal:not(.hub-applicant-filter-modal) .modal-content {
  filter: brightness(0.55);
  transition: filter 0.15s ease;
}
body.hub-af-filter-open #view-applicants-modal,
body.hub-af-filter-open #admin-view-applicants-modal {
  pointer-events: none;
}
body.hub-af-filter-open .modal.hub-applicant-filter-modal,
body.hub-af-filter-open #hub-applicant-filter-modal {
  pointer-events: auto !important;
  filter: none !important;
}
body.hub-af-filter-open .modal.hub-applicant-filter-modal .modal-content {
  filter: none !important;
}

.hub-applicant-filter-modal .modal-dialog {
  max-width: 420px;
}

.hub-applicant-filter-modal .modal-content {
  border: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.28);
}

@media (max-width: 991.98px) {
  .hub-applicant-filter-modal.show {
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hub-applicant-filter-modal .modal-dialog {
    max-width: min(94vw, 420px) !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .hub-applicant-filter-modal .modal-content {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  .hub-applicant-filter-modal .modal-header {
    border-radius: 16px 16px 0 0 !important;
    background: #ffffff !important;
  }
  .hub-applicant-filter-modal .modal-body {
    background: #ffffff !important;
  }
  .hub-applicant-filter-modal .modal-footer {
    border-radius: 0 0 16px 16px !important;
    background: #ffffff !important;
  }
}

.hub-applicant-filter-modal .modal-header {
  border-bottom: none;
  padding: 18px 20px 8px;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.hub-applicant-filter-modal .modal-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hub-applicant-filter-modal .modal-title .bi {
  color: #6366f1;
}

.hub-applicant-filter-modal .modal-body {
  padding: 8px 20px 6px;
}

.hub-applicant-filter-modal .modal-footer {
  border-top: none;
  padding: 12px 20px 18px;
  gap: 10px;
  background: #fff;
}

.hub-applicant-filter-section {
  margin-bottom: 1rem;
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.hub-applicant-filter-section-title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #64748b;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.hub-af-platform-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hub-af-platform-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #334155;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
}

.hub-af-platform-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.hub-af-platform-chip:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.12);
}

.hub-af-platform-chip.is-on {
  background: linear-gradient(135deg, #334155 0%, #1e293b 100%);
  border-color: #0f172a;
  color: #f8fafc;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.28);
}

.hub-af-platform-chip.is-on .hub-af-platform-icon,
.hub-af-platform-chip.is-on .hub-af-platform-icon img,
.hub-af-platform-chip.is-on .hub-af-platform-icon svg {
  filter: none;
}

.hub-af-platform-clear {
  color: #64748b !important;
  text-decoration: none !important;
  font-weight: 600;
}
.hub-af-platform-clear:hover {
  color: #4f46e5 !important;
}

.hub-af-platform-chip .hub-af-platform-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
}

.hub-af-platform-chip .hub-af-platform-icon img {
  width: 18px;
  height: 18px;
}

.hub-af-seg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 4px;
  border-radius: 12px;
  background: #eef2f7;
}

.hub-af-seg-item {
  position: relative;
  margin: 0;
}

.hub-af-seg-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.hub-af-seg-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.hub-af-seg-item input:checked + span {
  background: #fff;
  color: #4f46e5;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}

.hub-af-seg-item:hover span {
  color: #334155;
}

.hub-applicant-filter-empty-platforms {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0;
}

#hub_applicant_filter_reset {
  border-radius: 10px;
  font-weight: 600;
  padding: 8px 16px;
}

#hub_applicant_filter_apply {
  border: none;
  border-radius: 10px;
  font-weight: 700;
  padding: 8px 18px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.3);
}

#hub_applicant_filter_apply:hover {
  filter: brightness(1.05);
}
/* VtAlert visual layer for the applicant filter (keeps the applicants dialog mounted below). */
.hub-af-vt-root{position:fixed;inset:0;z-index:100080!important;display:none;align-items:center;justify-content:center;padding:16px;overflow:auto;}
.hub-af-vt-root.show{display:flex!important;}
.hub-af-vt-root .modal-dialog{position:relative;z-index:1;width:min(540px,94vw);margin:auto;}
.hub-af-vt-root .modal-content{border:1px solid rgba(255,255,255,.9)!important;border-radius:22px!important;overflow:hidden;background:radial-gradient(circle at 12% 8%,rgba(167,139,250,.28),transparent 42%),radial-gradient(circle at 88% 0%,rgba(147,197,253,.34),transparent 40%),linear-gradient(165deg,#eef2ff 0%,#f8fafc 48%,#fff 100%)!important;box-shadow:0 30px 80px rgba(15,23,42,.42),0 8px 24px rgba(99,102,241,.18)!important;}
.hub-af-vt-root .hub-af-vt-card{display:flex!important;opacity:1!important;visibility:visible!important;transform:none!important;position:relative!important;flex-direction:column!important;}
.hub-af-vt-root .modal-header,.hub-af-vt-root .modal-footer{border:0!important;background:transparent!important;justify-content:center;}
.hub-af-vt-root .modal-header{position:relative;padding:20px 24px 12px!important;}.hub-af-vt-root .modal-title{text-align:center;font-weight:800;color:#172554;}.hub-af-vt-root .btn-close{position:absolute;right:16px;top:14px;width:34px;height:34px;padding:0!important;margin:0!important;border-radius:50%;background:#e2e8f0!important;background-image:none!important;opacity:1!important;box-shadow:0 3px 10px rgba(15,23,42,.13);}
.hub-af-vt-root .btn-close:before{content:'×';display:grid;place-items:center;width:100%;height:100%;font-size:1.45rem;line-height:1;color:#0f172a;}
.hub-af-vt-root .modal-body{max-height:65vh;overflow-y:auto;}.hub-af-vt-root .modal-footer .btn{border-radius:999px;padding:9px 22px;font-weight:750;}
.modal-backdrop.hub-af-backdrop{display:block!important;background:rgba(15,23,42,.62)!important;opacity:1!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.hub-af-vt-root .hub-applicant-filter-section{background:rgba(255,255,255,.62)!important;border:1px solid rgba(226,232,240,.8)!important;border-radius:15px!important;box-shadow:0 4px 16px rgba(99,102,241,.05);}
.hub-af-vt-root .modal-footer .btn-primary{border:0!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;box-shadow:0 7px 18px rgba(99,102,241,.3);}
.vt-alert.hub-af-real-vtalert{width:min(540px,94vw)!important;max-height:92vh!important;overflow:hidden!important;}
.hub-af-real-vtalert .vt-alert__html{width:100%;max-width:none!important;text-align:left;overflow-y:auto;max-height:62vh;padding:0 3px;}
.hub-af-real-vtalert .hub-applicant-filter-section{background:rgba(255,255,255,.62)!important;border:1px solid rgba(226,232,240,.82)!important;border-radius:15px!important;box-shadow:0 4px 16px rgba(99,102,241,.05);}
.hub-af-real-vtalert .hub-af-vt-reset{display:block;margin:10px auto 0;border:0;background:transparent;color:#6366f1;font-weight:750;padding:5px 10px;}
.hub-af-real-vtalert .vt-alert__actions{flex:none;}
.hub-af-nested-vt-root{z-index:100090!important;}
.hub-af-nested-vt-root .vt-alert-root__backdrop{background:rgba(15,23,42,.62);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
.hub-af-nested-vt-root .hub-af-real-vtalert{opacity:1;transform:none;}
