/* ---------- Шапка и счетчики (Pill-компоненты со status-pulse) ---------- */
.stats-pills-wrap {
  display: flex;
  align-items: center;
  gap: var(--sp-1-5);
  min-width: 0;
  flex-wrap: nowrap;
}
.stats-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1-5);
  background: var(--card2);
  border: 1px solid var(--line);
  border-radius: var(--r-10);
  padding: var(--sp-1-5) var(--sp-2-5);
  font-size: var(--fs-sm);
  color: var(--tx2);
  min-width: 0;
  box-sizing: border-box;
  transition: border-color var(--dur-normal) ease, background var(--dur-normal) ease;
  white-space: nowrap;
}
.stats-pill:hover {
  border-color: var(--violet-alpha-40);
  background: var(--card-hover);
}
.stats-pill b {
  color: var(--white);
  font-family: var(--mono);
  font-weight: 600;
}
.stats-pill .pipe {
  color: var(--tx2);
  opacity: 0.6;
}

/* ---------- Панель поиска и фильтров ---------- */
.toolbar-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-3-5);
  background: var(--surface-1);
  border: 1px solid var(--border-glass);
  border-radius: var(--r);
  box-shadow: var(--shadow-card);
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
  position: relative;
  z-index: 20;
}
.toolbar-grid {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
.search-box {
  flex: 1 1 260px;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  background: var(--bg-deep-canvas);
  border: 1px solid var(--line);
  border-radius: var(--r-10);
  padding: var(--sp-1-5) var(--sp-3);
  position: relative;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  transition: border-color var(--dur-normal) ease, box-shadow var(--dur-normal) ease;
}
.search-box:focus-within {
  border-color: var(--violet);
  box-shadow: 0 0 0 1px var(--violet), 0 0 12px var(--violet-alpha-20);
}
.search-icon {
  color: var(--tx3);
  font-size: var(--fs-h2);
  flex-shrink: 0;
}
.search-box input {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--tx);
  font: inherit;
  font-size: var(--fs-sub);
  outline: none;
  min-width: 0;
  min-height: 32px;
}
.clear-btn {
  background: none;
  border: none;
  color: var(--tx3);
  font-size: var(--fs-lg);
  cursor: pointer;
  padding: 0 var(--sp-1);
  min-width: 32px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color var(--dur-normal) ease;
}
.clear-btn:hover {
  color: var(--tx);
}
.filters-group {
  display: flex;
  align-items: center;
  gap: var(--sp-2-5);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.filter-item {
  display: flex;
  align-items: center;
  gap: var(--sp-1-5);
  font-size: var(--fs-sm);
  color: var(--tx2);
  min-width: 0;
  box-sizing: border-box;
}
.filter-item label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.filter-label-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: var(--r-xs);
  flex-shrink: 0;
  background: var(--white-alpha-04);
  border: 1px solid var(--white-alpha-12);
  transition: all var(--dur-normal) ease;
}
.filter-item:hover .filter-label-icon {
  transform: scale(1.12);
  box-shadow: 0 0 8px currentColor;
}
.filter-label-icon.dept-icon { color: var(--violet-light); background: var(--violet-alpha-15); border-color: var(--violet-alpha-30); }
.filter-label-icon.role-icon { color: var(--cyan); background: var(--cyan-alpha-12); border-color: var(--cyan-alpha-30); }
.filter-label-icon.model-icon { color: var(--emerald); background: var(--emerald-alpha-12); border-color: var(--emerald-alpha-30); }
.filter-label-icon.sort-icon { color: var(--tx-pastel-amber); background: var(--amber-alpha-15); border-color: var(--amber-alpha-30); }

html.light-theme .filter-label-icon.dept-icon { color: var(--violet-dark); background: var(--violet-alpha-12); border-color: var(--violet-alpha-20); }
html.light-theme .filter-label-icon.role-icon { color: var(--cyan); background: var(--cyan-alpha-12); border-color: var(--cyan-alpha-30); }
html.light-theme .filter-label-icon.model-icon { color: var(--emerald); background: var(--emerald-alpha-12); border-color: var(--emerald-alpha-20); }
html.light-theme .filter-label-icon.sort-icon { color: var(--amber); background: var(--amber-alpha-12); border-color: var(--amber-alpha-20); }

.select-input {
  background: var(--card2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--tx);
  font: inherit;
  font-size: var(--fs-sub);
  padding: var(--sp-1-5) var(--sp-2-5);
  outline: none;
  cursor: pointer;
  max-width: 100%;
  box-sizing: border-box;
  transition: border-color var(--dur-normal) ease;
}
.select-input:focus {
  border-color: var(--violet);
}

/* ---------- Чипсы по ремёслам со счётчиками специалистов ---------- */
.role-chips-row {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding-top: var(--sp-1-5);
  border-top: 1px dashed var(--white-alpha-08);
  border-radius: var(--r-md) !important;
}
.role-chips-label {
  font-size: var(--fs-sm);
  color: var(--tx3);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.role-chips-container {
  display: flex;
  align-items: center;
  gap: var(--sp-1-5);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: var(--r-md) !important;
}
.role-chips-container .role-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1-5);
  background: var(--card2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--tx2);
  font: inherit;
  font-size: var(--fs-sm);
  padding: var(--sp-1) var(--sp-2);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--dur-normal) ease;
  user-select: none;
  box-sizing: border-box;
}
.role-chips-container .role-chip:hover {
  border-color: var(--violet-alpha-40);
  background: var(--card-hover);
  color: var(--white);
}
.role-chips-container .role-chip.active {
  background: var(--violet-alpha-30);
  border-color: var(--violet-light);
  color: var(--white);
  font-weight: 600;
  box-shadow: 0 0 10px var(--violet-alpha-30);
}
.role-chips-container .role-chip .role-chip-icon,
.role-chips-container .role-chip .role-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: var(--r-xs);
  flex-shrink: 0;
  background: var(--white-alpha-04);
  border: 1px solid var(--white-alpha-12);
  transition: all var(--dur-normal) ease;
}
.role-chips-container .role-chip:hover .role-chip-icon,
.role-chips-container .role-chip:hover .role-icon {
  transform: scale(1.12);
  box-shadow: 0 0 8px currentColor;
}
.role-chips-container .role-chip .role-chip-title,
.role-chips-container .role-chip .role-chip-label {
  font-size: var(--fs-sm);
}
.role-chips-container .role-chip .role-chip-count,
.role-chips-container .role-chip .chip-count {
  font-size: var(--fs-2xs);
  font-family: var(--mono);
  font-weight: 600;
  background: var(--white-alpha-15);
  color: var(--white);
  padding: var(--sp-0-5) var(--sp-1-5);
  border-radius: var(--r-full);
  margin-left: var(--sp-0-5);
  transition: all var(--dur-normal) ease;
}
.role-chips-container .role-chip:hover .role-chip-count,
.role-chips-container .role-chip:hover .chip-count {
  background: var(--white-alpha-20);
  color: var(--white);
}
.role-chips-container .role-chip.active .role-chip-count,
.role-chips-container .role-chip.active .chip-count {
  background: var(--violet-alpha-60);
  color: var(--white);
  box-shadow: 0 0 6px var(--violet-alpha-40);
}

html.light-theme .role-chips-container .role-chip {
  background: var(--bg2);
  border-color: var(--line);
  color: var(--tx2);
}
html.light-theme .role-chips-container .role-chip:hover {
  background: var(--line);
  color: var(--tx);
}
html.light-theme .role-chips-container .role-chip.active {
  background: var(--rank-senior-bg);
  color: var(--violet-dark);
  border-color: var(--violet-light);
  box-shadow: 0 var(--sp-0-5) var(--sp-2) var(--violet-alpha-15);
}
html.light-theme .role-chips-container .role-chip .role-chip-count,
html.light-theme .role-chips-container .role-chip .chip-count {
  background: var(--line);
  color: var(--tx3);
}
html.light-theme .role-chips-container .role-chip.active .role-chip-count,
html.light-theme .role-chips-container .role-chip.active .chip-count {
  background: var(--violet);
  color: var(--white);
}

/* Фирменные акцентные цвета ремёсел для иконок и бейджей (Замечание Маэстро №196) */
.role-chips-container .role-chip.role-all .role-icon, .role-chips-container .role-chip.role-all .role-chip-icon { color: var(--violet-light); background: var(--violet-alpha-15); border-color: var(--violet-alpha-30); }
.role-chips-container .role-chip.role-worker .role-icon, .role-chips-container .role-chip.role-worker .role-chip-icon { color: var(--blue); background: var(--blue-alpha-15); border-color: var(--blue-alpha-30); }
.role-chips-container .role-chip.role-worker:hover { border-color: var(--blue-alpha-40); background: var(--blue-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-worker.active { background: var(--blue-alpha-30); border-color: var(--blue); color: var(--white); box-shadow: 0 0 12px var(--blue-alpha-40); }
.role-chips-container .role-chip.role-worker.active .role-chip-count { background: var(--blue); color: var(--white); }
.role-chips-container .role-chip.role-engineer .role-icon, .role-chips-container .role-chip.role-engineer .role-chip-icon { color: var(--cyan); background: var(--cyan-alpha-12); border-color: var(--cyan-alpha-30); }
.role-chips-container .role-chip.role-engineer:hover { border-color: var(--cyan-alpha-40); background: var(--cyan-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-engineer.active { background: var(--cyan-alpha-30); border-color: var(--cyan); color: var(--white); box-shadow: 0 0 12px var(--cyan-alpha-40); }
.role-chips-container .role-chip.role-engineer.active .role-chip-count { background: var(--cyan); color: var(--white); }
.role-chips-container .role-chip.role-auditor .role-icon, .role-chips-container .role-chip.role-auditor .role-chip-icon,
.role-chips-container .role-chip.role-revisor .role-icon, .role-chips-container .role-chip.role-revisor .role-chip-icon { color: var(--tx-pastel-rose); background: var(--rose-alpha-12); border-color: var(--rose-alpha-30); }
.role-chips-container .role-chip.role-auditor:hover, .role-chips-container .role-chip.role-revisor:hover { border-color: var(--rose-alpha-40); background: var(--rose-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-auditor.active, .role-chips-container .role-chip.role-revisor.active { background: var(--rose-alpha-30); border-color: var(--stage-7); color: var(--white); box-shadow: 0 0 12px var(--rose-alpha-40); }
.role-chips-container .role-chip.role-auditor.active .role-chip-count, .role-chips-container .role-chip.role-revisor.active .role-chip-count { background: var(--stage-7); color: var(--white); }
.role-chips-container .role-chip.role-reviewer .role-icon, .role-chips-container .role-chip.role-reviewer .role-chip-icon { color: var(--violet-light); background: var(--violet-alpha-15); border-color: var(--violet-alpha-30); }
.role-chips-container .role-chip.role-reviewer:hover { border-color: var(--violet-alpha-40); background: var(--violet-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-reviewer.active { background: var(--violet-alpha-30); border-color: var(--violet); color: var(--white); box-shadow: 0 0 12px var(--violet-alpha-40); }
.role-chips-container .role-chip.role-reviewer.active .role-chip-count { background: var(--violet); color: var(--white); }
.role-chips-container .role-chip.role-challenger .role-icon, .role-chips-container .role-chip.role-challenger .role-chip-icon { color: var(--tx-pastel-amber); background: var(--amber-alpha-15); border-color: var(--amber-alpha-30); }
.role-chips-container .role-chip.role-challenger:hover { border-color: var(--amber-alpha-40); background: var(--amber-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-challenger.active { background: var(--amber-alpha-30); border-color: var(--amber); color: var(--white); box-shadow: 0 0 12px var(--amber-alpha-40); }
.role-chips-container .role-chip.role-challenger.active .role-chip-count { background: var(--amber); color: var(--white); }
.role-chips-container .role-chip.role-architect .role-icon, .role-chips-container .role-chip.role-architect .role-chip-icon { color: var(--tx-pastel-emerald); background: var(--emerald-alpha-12); border-color: var(--emerald-alpha-30); }
.role-chips-container .role-chip.role-architect:hover { border-color: var(--emerald-alpha-40); background: var(--emerald-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-architect.active { background: var(--emerald-alpha-30); border-color: var(--green); color: var(--white); box-shadow: 0 0 12px var(--emerald-alpha-40); }
.role-chips-container .role-chip.role-architect.active .role-chip-count { background: var(--green); color: var(--white); }
.role-chips-container .role-chip.role-designer .role-icon, .role-chips-container .role-chip.role-designer .role-chip-icon { color: var(--tx-pastel-pink); background: var(--pink-alpha-15); border-color: var(--pink-alpha-30); }
.role-chips-container .role-chip.role-designer:hover { border-color: var(--pink-alpha-40); background: var(--pink-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-designer.active { background: var(--pink-alpha-30); border-color: var(--pink); color: var(--white); box-shadow: 0 0 12px var(--pink-alpha-40); }
.role-chips-container .role-chip.role-designer.active .role-chip-count { background: var(--pink); color: var(--white); }
.role-chips-container .role-chip.role-scholar .role-icon, .role-chips-container .role-chip.role-scholar .role-chip-icon { color: var(--purple-light); background: var(--purple-alpha-15); border-color: var(--purple-alpha-30); }
.role-chips-container .role-chip.role-scholar:hover { border-color: var(--purple-alpha-40); background: var(--purple-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-scholar.active { background: var(--purple-alpha-30); border-color: var(--purple); color: var(--white); box-shadow: 0 0 12px var(--purple-alpha-40); }
.role-chips-container .role-chip.role-scholar.active .role-chip-count { background: var(--purple); color: var(--white); }
.role-chips-container .role-chip.role-analyst .role-icon, .role-chips-container .role-chip.role-analyst .role-chip-icon,
.role-chips-container .role-chip.role-researcher .role-icon, .role-chips-container .role-chip.role-researcher .role-chip-icon { color: var(--indigo-light); background: var(--indigo-alpha-15); border-color: var(--indigo-alpha-30); }
.role-chips-container .role-chip.role-analyst:hover, .role-chips-container .role-chip.role-researcher:hover { border-color: var(--indigo-alpha-50); background: var(--indigo-alpha-15); color: var(--white); }
.role-chips-container .role-chip.role-analyst.active, .role-chips-container .role-chip.role-researcher.active { background: var(--indigo-alpha-30); border-color: var(--indigo-light); color: var(--white); box-shadow: 0 0 12px var(--indigo-alpha-40); }
.role-chips-container .role-chip.role-analyst.active .role-chip-count, .role-chips-container .role-chip.role-researcher.active .role-chip-count { background: var(--indigo); color: var(--white); }
.role-chips-container .role-chip.role-scout .role-icon, .role-chips-container .role-chip.role-scout .role-chip-icon { color: var(--tx-pastel-teal); background: var(--teal-alpha-12); border-color: var(--teal-alpha-30); }
.role-chips-container .role-chip.role-scout:hover { border-color: var(--teal-alpha-40); background: var(--teal-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-scout.active { background: var(--teal-alpha-30); border-color: var(--teal); color: var(--white); box-shadow: 0 0 12px var(--teal-alpha-40); }
.role-chips-container .role-chip.role-scout.active .role-chip-count { background: var(--teal); color: var(--white); }
.role-chips-container .role-chip.role-manager .role-icon, .role-chips-container .role-chip.role-manager .role-chip-icon,
.role-chips-container .role-chip.role-orchestrator .role-icon, .role-chips-container .role-chip.role-orchestrator .role-chip-icon { color: var(--tx-pastel-yellow); background: var(--gold-alpha-15); border-color: var(--gold-alpha-30); }
.role-chips-container .role-chip.role-manager:hover, .role-chips-container .role-chip.role-orchestrator:hover { border-color: var(--gold-alpha-40); background: var(--gold-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-manager.active, .role-chips-container .role-chip.role-orchestrator.active { background: var(--gold-alpha-30); border-color: var(--rank-celestial); color: var(--white); box-shadow: 0 0 12px var(--gold-alpha-40); }
.role-chips-container .role-chip.role-manager.active .role-chip-count, .role-chips-container .role-chip.role-orchestrator.active .role-chip-count { background: var(--gold); color: var(--slate-950); }
.role-chips-container .role-chip.role-security .role-icon, .role-chips-container .role-chip.role-security .role-chip-icon { color: var(--red-light); background: var(--red-alpha-15); border-color: var(--red-alpha-30); }
.role-chips-container .role-chip.role-security:hover { border-color: var(--red-alpha-40); background: var(--red-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-security.active { background: var(--red-alpha-30); border-color: var(--red); color: var(--white); box-shadow: 0 0 12px var(--red-alpha-40); }
.role-chips-container .role-chip.role-security.active .role-chip-count { background: var(--red); color: var(--white); }
.role-chips-container .role-chip.role-writer .role-icon, .role-chips-container .role-chip.role-writer .role-chip-icon { color: var(--sky-light); background: var(--sky-alpha-12); border-color: var(--sky-alpha-30); }
.role-chips-container .role-chip.role-writer:hover { border-color: var(--sky-alpha-40); background: var(--sky-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-writer.active { background: var(--sky-alpha-30); border-color: var(--sky); color: var(--white); box-shadow: 0 0 12px var(--sky-alpha-40); }
.role-chips-container .role-chip.role-writer.active .role-chip-count { background: var(--sky); color: var(--white); }
.role-chips-container .role-chip.role-backup .role-icon, .role-chips-container .role-chip.role-backup .role-chip-icon { color: var(--slate-300); background: var(--slate-400-alpha-15); border-color: var(--slate-400-alpha-30); }
.role-chips-container .role-chip.role-backup:hover { border-color: var(--slate-400-alpha-40); background: var(--slate-400-alpha-12); color: var(--white); }
.role-chips-container .role-chip.role-backup.active { background: var(--slate-400-alpha-30); border-color: var(--slate-400); color: var(--white); box-shadow: 0 0 12px var(--slate-400-alpha-40); }
.role-chips-container .role-chip.role-backup.active .role-chip-count { background: var(--slate-500); color: var(--white); }

/* Светлая тема для иконок ремёсел */
html.light-theme .role-chips-container .role-chip.role-worker .role-icon, html.light-theme .role-chips-container .role-chip.role-worker .role-chip-icon { color: var(--blue); background: var(--blue-alpha-12); border-color: var(--blue-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-engineer .role-icon, html.light-theme .role-chips-container .role-chip.role-engineer .role-chip-icon { color: var(--cyan); background: var(--cyan-alpha-12); border-color: var(--cyan-alpha-30); }
html.light-theme .role-chips-container .role-chip.role-designer .role-icon, html.light-theme .role-chips-container .role-chip.role-designer .role-chip-icon { color: var(--pink); background: var(--pink-alpha-12); border-color: var(--pink-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-reviewer .role-icon, html.light-theme .role-chips-container .role-chip.role-reviewer .role-chip-icon { color: var(--violet-dark); background: var(--violet-alpha-12); border-color: var(--violet-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-challenger .role-icon, html.light-theme .role-chips-container .role-chip.role-challenger .role-chip-icon { color: var(--amber); background: var(--amber-alpha-12); border-color: var(--amber-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-auditor .role-icon, html.light-theme .role-chips-container .role-chip.role-auditor .role-chip-icon,
html.light-theme .role-chips-container .role-chip.role-revisor .role-icon, html.light-theme .role-chips-container .role-chip.role-revisor .role-chip-icon { color: var(--rose); background: var(--rose-alpha-12); border-color: var(--rose-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-architect .role-icon, html.light-theme .role-chips-container .role-chip.role-architect .role-chip-icon { color: var(--emerald); background: var(--emerald-alpha-12); border-color: var(--emerald-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-scholar .role-icon, html.light-theme .role-chips-container .role-chip.role-scholar .role-chip-icon { color: var(--purple); background: var(--purple-alpha-12); border-color: var(--purple-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-scout .role-icon, html.light-theme .role-chips-container .role-chip.role-scout .role-chip-icon { color: var(--teal); background: var(--teal-alpha-12); border-color: var(--teal-alpha-30); }
html.light-theme .role-chips-container .role-chip.role-analyst .role-icon, html.light-theme .role-chips-container .role-chip.role-analyst .role-chip-icon,
html.light-theme .role-chips-container .role-chip.role-researcher .role-icon, html.light-theme .role-chips-container .role-chip.role-researcher .role-chip-icon { color: var(--indigo); background: var(--indigo-alpha-12); border-color: var(--indigo-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-manager .role-icon, html.light-theme .role-chips-container .role-chip.role-manager .role-chip-icon,
html.light-theme .role-chips-container .role-chip.role-orchestrator .role-icon, html.light-theme .role-chips-container .role-chip.role-orchestrator .role-chip-icon { color: var(--gold); background: var(--gold-alpha-15); border-color: var(--gold-alpha-30); }
html.light-theme .role-chips-container .role-chip.role-security .role-icon, html.light-theme .role-chips-container .role-chip.role-security .role-chip-icon { color: var(--red); background: var(--red-alpha-12); border-color: var(--red-alpha-20); }
html.light-theme .role-chips-container .role-chip.role-writer .role-icon, html.light-theme .role-chips-container .role-chip.role-writer .role-chip-icon { color: var(--sky); background: var(--sky-alpha-12); border-color: var(--sky-alpha-30); }
html.light-theme .role-chips-container .role-chip.role-backup .role-icon, html.light-theme .role-chips-container .role-chip.role-backup .role-chip-icon { color: var(--slate-600); background: var(--slate-400-alpha-15); border-color: var(--slate-400-alpha-30); }

.quick-chips-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  flex-wrap: wrap;
  padding-top: var(--sp-1-5);
  border-top: 1px dashed var(--white-alpha-08);
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.quick-chips-group {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
  flex: 1 1 auto;
}
.quick-label {
  font-size: var(--fs-sm);
  color: var(--tx2);
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.quick-chips-container {
  display: flex;
  align-items: center;
  gap: var(--sp-1-5);
  flex-wrap: wrap;
  min-width: 0;
  position: relative;
  border-radius: var(--r-md) !important;
}
.quick-chips-container .chip,
.quick-chips-row .chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1-5);
  background-color: var(--card2);
  background: var(--card2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--tx2);
  font: inherit;
  font-size: var(--fs-sm);
  padding: var(--sp-1) var(--sp-2-5);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--dur-normal) ease;
  user-select: none;
  min-width: 0;
  box-sizing: border-box;
}
.quick-chips-container .chip .chip-icon,
.quick-chips-row .chip .chip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: var(--r-xs);
  flex-shrink: 0;
  background: var(--white-alpha-04);
  border: 1px solid var(--white-alpha-08);
  transition: all var(--dur-normal) ease;
}
.quick-chips-container .chip:hover .chip-icon,
.quick-chips-row .chip:hover .chip-icon {
  transform: scale(1.15);
  box-shadow: 0 0 6px currentColor;
}
.quick-chips-container .chip.quick-chip-mikrotik .chip-icon { color: var(--blue-light); background: var(--blue-alpha-15); border-color: var(--blue-alpha-30); }
.quick-chips-container .chip.quick-chip-senior .chip-icon { color: var(--rank-celestial); background: var(--gold-alpha-15); border-color: var(--gold-alpha-30); }
.quick-chips-container .chip.quick-chip-strikes .chip-icon { color: var(--accent-amber); background: var(--amber-alpha-15); border-color: var(--amber-alpha-30); }
.quick-chips-container .chip.quick-chip-diplomas .chip-icon { color: var(--purple-light); background: var(--purple-alpha-15); border-color: var(--purple-alpha-30); }
.quick-chips-container .chip.quick-chip-busy .chip-icon { color: var(--accent-primary); background: var(--accent-primary-alpha-15); border-color: var(--accent-primary-alpha-30); }
.quick-chips-container .chip.quick-chip-all .chip-icon { color: var(--violet-light); background: var(--violet-alpha-15); border-color: var(--violet-alpha-30); }

/* Светлая тема для чипсов быстрого отбора */
html.light-theme .quick-chips-container .chip.quick-chip-mikrotik .chip-icon { color: var(--blue); background: var(--blue-alpha-12); border-color: var(--blue-alpha-20); }
html.light-theme .quick-chips-container .chip.quick-chip-senior .chip-icon { color: var(--gold); background: var(--gold-alpha-15); border-color: var(--gold-alpha-30); }
html.light-theme .quick-chips-container .chip.quick-chip-strikes .chip-icon { color: var(--amber); background: var(--amber-alpha-12); border-color: var(--amber-alpha-20); }
html.light-theme .quick-chips-container .chip.quick-chip-diplomas .chip-icon { color: var(--purple); background: var(--purple-alpha-12); border-color: var(--purple-alpha-20); }
html.light-theme .quick-chips-container .chip.quick-chip-busy .chip-icon { color: var(--amber); background: var(--amber-alpha-15); border-color: var(--amber-alpha-30); }
html.light-theme .quick-chips-container .chip.quick-chip-all .chip-icon { color: var(--violet-dark); background: var(--violet-alpha-12); border-color: var(--violet-alpha-20); }

.quick-chips-container .chip:hover,
.quick-chips-row .chip:hover {
  border-color: var(--violet-alpha-40);
  background: var(--card-hover);
  color: var(--white);
}
.quick-chips-container .chip.active,
.quick-chips-row .chip.active {
  background: var(--violet-alpha-30);
  border-color: var(--violet-light);
  color: var(--white);
  font-weight: 600;
  box-shadow: 0 0 12px var(--violet-alpha-30);
}
.matches-count-wrap {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  white-space: nowrap;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.matches-count {
  font-size: var(--fs-sm);
  color: var(--tx2);
  font-family: var(--mono);
  font-weight: 500;
  white-space: nowrap;
}
.btn-quick-reset {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  background: var(--violet-alpha-12);
  border: 1px solid var(--violet-alpha-30);
  border-radius: var(--r-sm);
  color: var(--violet-light);
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  padding: var(--sp-1) var(--sp-2-5);
  min-height: 32px;
  cursor: pointer;
  transition: all var(--dur-normal) var(--ease-spring);
  user-select: none;
  box-sizing: border-box;
}
.btn-quick-reset:hover {
  background: var(--violet-alpha-20);
  border-color: var(--violet);
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 var(--sp-0-5) var(--sp-2) var(--violet-alpha-30);
}
.btn-quick-reset:active {
  transform: translateY(0);
}
.btn-quick-reset.highlight-empty {
  background: var(--rose-alpha-20);
  border-color: var(--rose-alpha-60);
  color: var(--status-failed-border);
  box-shadow: 0 0 14px var(--rose-alpha-30);
}
.btn-quick-reset.highlight-empty:hover {
  background: var(--rose-alpha-30);
  border-color: var(--stage-7);
  color: var(--white);
  box-shadow: 0 0 16px var(--rose-alpha-50);
}

/* ---------- Переключатель режимов вида (View Mode Segmented Control) ---------- */
.view-mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-0-5);
  background: var(--card2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: var(--sp-0-5);
  box-sizing: border-box;
}
.view-mode-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1-5);
  padding: var(--sp-1) var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: 500;
  border: none;
  background: transparent;
  color: var(--tx2);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all var(--dur-normal) var(--ease-spring);
  user-select: none;
  white-space: nowrap;
}
.view-mode-btn .view-mode-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  line-height: 1;
  transition: transform var(--dur-normal) ease;
}
.view-mode-btn[data-view-mode="grid"] .view-mode-icon { color: var(--blue-light); }
.view-mode-btn[data-view-mode="table"] .view-mode-icon { color: var(--cyan); }
.view-mode-btn[data-view-mode="departments"] .view-mode-icon { color: var(--violet-light); }
.view-mode-btn:hover .view-mode-icon { transform: scale(1.12); filter: drop-shadow(0 0 6px currentColor); }
.view-mode-btn:hover { color: var(--white); background: var(--white-alpha-04); }
.view-mode-btn.active {
  background: var(--violet-alpha-20);
  color: var(--rank-senior-bg);
  border: 1px solid var(--violet-alpha-40);
  font-weight: 600;
  box-shadow: 0 0 12px var(--violet-alpha-20);
}
.view-mode-btn.active .view-mode-icon { transform: scale(1.15); filter: drop-shadow(0 0 8px currentColor); }

html.light-theme .view-mode-toggle { background: var(--bg2); border-color: var(--tx2); }
html.light-theme .view-mode-btn { color: var(--tx3); }
html.light-theme .view-mode-btn:hover { background: var(--line); color: var(--card); }
html.light-theme .view-mode-btn.active {
  background: var(--rank-senior-bg);
  color: var(--violet-dark);
  border-color: var(--violet-light);
  box-shadow: 0 var(--sp-0-5) var(--sp-2) var(--violet-alpha-15);
}
html.light-theme .view-mode-btn[data-view-mode="grid"] .view-mode-icon { color: var(--blue); }
html.light-theme .view-mode-btn[data-view-mode="table"] .view-mode-icon { color: var(--cyan); }
html.light-theme .view-mode-btn[data-view-mode="departments"] .view-mode-icon { color: var(--violet-dark); }

/* ---------- Активные фильтры (Token Chips Bar - shadcn / Linear style) ---------- */
.active-filters-bar {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  padding: var(--sp-2) var(--sp-3);
  background: var(--violet-alpha-04);
  border: 1px solid var(--violet-alpha-20);
  border-radius: var(--r-md);
  animation: fadeIn var(--dur-normal) ease-out;
}
.active-filters-label {
  font-size: var(--fs-xs);
  color: var(--tx3);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.active-filter-chips {
  display: flex;
  align-items: center;
  gap: var(--sp-1-5);
  flex-wrap: wrap;
}
.filter-token-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1-5);
  background: var(--bg-surface-slate);
  color: var(--line);
  border: 1px solid var(--blue-alpha-30);
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  font-family: var(--sans);
  cursor: default;
  transition: border-color var(--dur-normal), background var(--dur-normal);
}
.filter-token-chip .token-category {
  color: var(--tx3);
  font-size: var(--fs-xs);
}
.filter-token-chip .token-remove-btn {
  background: none;
  border: none;
  color: var(--tx3);
  font-size: var(--fs-sub);
  cursor: pointer;
  padding: 0 var(--sp-0-5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-xs);
}
.filter-token-chip .token-remove-btn:hover {
  color: var(--red);
  background: var(--red-alpha-15);
}
.btn-clear-all-filters {
  margin-left: auto;
  background: none;
  border: none;
  color: var(--tx3);
  font-size: var(--fs-sm);
  cursor: pointer;
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--r-sm);
  transition: color var(--dur-normal), background var(--dur-normal);
}
.btn-clear-all-filters:hover {
  color: var(--stage-7);
  background: var(--rose-alpha-12);
}

/* ---------- Адаптивные медиазапросы для панели управления ---------- */
@media (max-width: 1024px) {
  .toolbar-grid { flex-direction: column; align-items: stretch; gap: var(--sp-2-5); }
  .search-box { width: 100%; flex: 1 1 100%; }
  .filters-group { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); width: 100%; }
  .filter-item { display: flex; flex-direction: column; align-items: stretch; gap: var(--sp-0-5); min-width: 0; }
  .select-input { width: 100%; }
}

@media (max-width: 768px) {
  .filters-group { grid-template-columns: repeat(2, 1fr); }
  .role-chips-row, .quick-chips-row, .quick-chips-group { flex-direction: column; align-items: stretch; gap: var(--sp-1); width: 100%; }
  .role-chips-label, .quick-label { font-size: var(--fs-2xs); }
  .role-chips-container, .quick-chips-container {
    overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    padding: var(--sp-0-5) 0 var(--sp-1); scroll-snap-type: x proximity; width: 100%;
  }
  .role-chips-container::-webkit-scrollbar, .quick-chips-container::-webkit-scrollbar { display: none; }
  .role-chips-container .role-chip, .quick-chips-container .chip { flex-shrink: 0; scroll-snap-align: start; }
  .view-mode-toggle { display: flex; width: 100%; box-sizing: border-box; }
  .view-mode-btn { flex: 1; justify-content: center; text-align: center; }
  .matches-count-wrap { margin-left: 0; width: 100%; justify-content: space-between; padding-top: var(--sp-1); border-top: 1px dashed var(--white-alpha-08); }
}

@media (max-width: 480px) {
  .toolbar-card { padding: var(--sp-2-5) var(--sp-3); gap: var(--sp-2); }
  .search-box { height: 36px; padding: var(--sp-1) var(--sp-2-5); }
  .select-input { font-size: var(--fs-xs); height: 32px; padding: 0 var(--sp-1-5); }
  .filter-item label, .role-chips-label, .quick-label { font-size: var(--fs-2xs); letter-spacing: 0.4px; }
  .role-chips-container .role-chip, .quick-chips-container .chip { height: 28px; font-size: var(--fs-xs); padding: 0 var(--sp-2); }
}