.search-bar {
  display: flex;
  gap: 12px;
  align-items: stretch;
  flex-wrap: wrap;
}
.search-bar__input {
  flex: 1 1 32.5rem;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 16px;
  border: 1.5px solid var(--brand);
  border-radius: 10px;
  background: var(--surface);
}
.search-bar__input input {
  flex: 1;
  min-width: 0;
  align-self: stretch;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 1rem;
  color: var(--ink);
}
.search-bar__mode { flex: 1 1 16.25rem; min-width: 0; }
.search-bar__mode .search-bar__mode-select.select { min-height: 54px; }
.filter-grid {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 20px;
}
.filter-grid[hidden] { display: none; }
.filter-field { display: flex; flex-direction: column; gap: 8px; }
.filter-field label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--muted);
}
.filter-field .filter-field__select.select,
.filter-field .filter-field__input.input { min-height: 50px; background-color: #F8FAFD; }
.search-actions {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #EDF1F7;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.search-actions__right {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.filter-toggle .filter-toggle__chevron.chevron { transition: transform .15s; }
.filter-toggle[aria-expanded="true"] {
  border-color: var(--brand);
  background: #F3F7FF;
  color: var(--brand);
}
.filter-toggle[aria-expanded="true"] .filter-toggle__chevron.chevron { transform: rotate(180deg); }
.results-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px 20px;
}
.results-head__count { font-size: 1.125rem; font-weight: 600; }
.results-head__range { font-size: 0.9688rem; color: var(--muted-3); }
.results-view[data-view="grid"] .results-view__table.results-table-block { display: none; }
.results-view[data-view="table"] .results-view__grid.results-grid { display: none; }
.results-table-block { position: relative; }
.results-table-clear {
  min-height: 40px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: var(--brand);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
}
.results-table-clear:hover { color: var(--brand-dark); text-decoration: underline; }
.th-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}
.th-sort {
  min-width: 0;
  padding: 4px 0;
  border: 0;
  background: transparent;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-align: left;
  color: inherit;
  cursor: pointer;
  overflow-wrap: normal;
}
.th-sort__arrow { display: inline-block; margin-left: 6px; }
.th-sort:hover { color: var(--ink); }
.th-sort__arrow::after {
  content: "↕";
  font-size: 0.875rem;
  text-transform: none;
  opacity: .45;
}
th[aria-sort] .th-sort { color: var(--brand); }
th[aria-sort="ascending"] .th-sort__arrow::after { content: "↑"; opacity: 1; }
th[aria-sort="descending"] .th-sort__arrow::after { content: "↓"; opacity: 1; }
.th-filter {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  margin-right: -6px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted-3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.th-filter:hover { background: #EEF3FB; color: var(--ink); }
.th-filter[aria-expanded="true"] { background: #EEF3FB; color: var(--brand); }
.th-filter.is-active { color: var(--brand); }
.th-filter.is-active svg path { fill: currentColor; }
.col-filter {
  position: absolute;
  z-index: 60;
  width: 18rem;
  max-width: 100%;
  padding: 14px 12px 12px;
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(20, 33, 61, .18);
}
.col-filter[hidden] { display: none; }
.col-filter__title {
  padding: 0 6px 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--muted);
}
.col-filter__list {
  max-height: 16rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.col-filter__item {
  flex-shrink: 0;
  min-height: 40px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 7px;
  font-size: 0.9375rem;
  line-height: 1.3;
  color: var(--ink);
  cursor: pointer;
}
.col-filter__item:hover { background: #F2F5FA; }
.col-filter__item input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--brand);
}
.col-filter__text { min-width: 0; margin-right: auto; }
.col-filter__actions {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line-soft);
  display: flex;
  gap: 8px;
}
.col-filter__btn {
  flex: 1 1 0;
  min-height: 40px;
  border: 1px solid var(--line-3);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  font-size: 0.9063rem;
  font-weight: 600;
  cursor: pointer;
}
.col-filter__btn.is-primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.col-filter__btn.is-primary:hover { background: var(--brand-dark); }
.results-table__empty td {
  padding: 32px 18px;
  text-align: center;
  font-size: 0.9688rem;
  color: var(--muted);
}
.results-table-wrap {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow-x: auto;
}
.results-table {
  width: 100%;
  min-width: 70rem;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left;
}
.results-table th {
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  font-size: 0.8438rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--muted-3);
}
.results-table td {
  padding: 16px 18px;
  vertical-align: top;
  font-size: 0.9063rem;
  line-height: 1.4;
  color: var(--muted);
}
.results-table tbody tr + tr td { border-top: 1px solid var(--line-soft); }
.results-table tbody tr:hover { background: var(--brand-tint-2); }
.results-table__metrics {
  display: flex;
  gap: 12px;
  font-size: 0.875rem;
  color: var(--muted-3);
}
.results-table__metrics span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.results-table__name {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
  transition: color .15s;
}
.results-table__name:hover { color: var(--brand); }
.columns-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 14px 0 0;
  padding: 4px 24px 18px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.columns-item.is-dragging { opacity: .45; }
.columns-item__btn {
  width: 100%;
  min-height: 48px;
  padding: 8px 20px 8px 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  border: 1px solid #D6DEEA;
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
  font-size: 0.9688rem;
  text-align: left;
  cursor: grab;
  transition: background .15s, border-color .15s, color .15s;
}
.columns-item__btn:hover { border-color: #B9CBEA; }
.columns-item__btn[aria-pressed="true"] {
  background: #2F80ED;
  border-color: #2F80ED;
  color: #fff;
  font-weight: 600;
}
.columns-item__handle {
  width: 18px;
  height: 7px;
  flex: 0 0 auto;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: .7;
}
.columns-item__label { min-width: 0; margin-right: auto; }
.columns-item__mark {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  border: 1.5px solid #B7C3D6;
  border-radius: 5px;
}
.columns-item__btn[aria-pressed="true"] .columns-item__mark {
  border-color: #fff;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E") center / 16px no-repeat;
}
@media (max-width: 600px), (max-height: 620px) {
  .columns-list { flex: none; overflow: visible; }
}

html[data-a11y-scheme="bw"] .columns-item__btn[aria-pressed="true"] { background: #000; border-color: #000; }
.results-head__sort {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9688rem;
  color: var(--muted);
}
.results-head__sort > .results-head__sort-select.select {
  width: auto;
  min-height: 42px;
  background-color: var(--surface);
}
.results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.project-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 22px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  transition: box-shadow .18s, transform .18s, border-color .18s;
}
.project-card:hover {
  border-color: #C9DAF7;
  box-shadow: 0 10px 24px rgba(20, 33, 61, .1);
  transform: translateY(-2px);
}
.project-card__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 0.875rem;
  color: var(--muted-3);
}
.project-card__meta span { display: flex; align-items: center; gap: 7px; }
.project-card__meta .is-push { margin-left: auto; color: var(--muted); }
.project-card__author {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.project-card__author img {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  padding: 5px;
  object-fit: contain;
  background: #F4F7FC;
  border-radius: 50%;
}
.project-card__org {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}
.project-card__procedure { font-size: 0.875rem; color: var(--brand); }
.project-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 16px 18px;
  background: var(--surface-alt);
  border-radius: 12px;
}
.project-card__name {
  font-size: 1rem;
  line-height: 1.42;
  font-weight: 500;
  color: var(--ink);
  text-wrap: pretty;
  transition: color .15s;
}
.project-card__name:hover { color: var(--brand); }
.project-card__dates {
  margin: auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  align-items: end;
}
.project-card__dates div { min-width: 0; }
.project-card__dates dt {
  font-size: 0.8125rem;
  line-height: 1.3;
  color: var(--muted-3);
}
.project-card__dates dd {
  margin: 2px 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink);
}
.project-card__stage { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.project-card__dates + .project-card__stage { margin-top: 0; }
.project-card__stage-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.project-card__stage-name { font-size: 0.875rem; font-weight: 500; color: var(--muted); }
.project-card__stage-pct { font-size: 0.8125rem; color: var(--muted-4); }
.progress {
  display: block;
  width: 100%;
  height: 5px;
  border: 0;
  border-radius: 100px;
  background: var(--line-2);
  overflow: hidden;
  appearance: none;
}
.progress::-webkit-progress-bar { background: var(--line-2); }
.progress::-webkit-progress-value { border-radius: 100px; background: #8FB2EE; }
.progress::-moz-progress-bar { border-radius: 100px; background: #8FB2EE; }
.results-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}
.results-footer__total { margin-left: auto; font-size: 0.9375rem; color: var(--muted-3); }
@media (max-width: 1200px) {
  .results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1000px) {
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .results-grid { grid-template-columns: minmax(0, 1fr); }
  .filter-grid { grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
  .search-bar__mode { flex: 1 1 100%; }
  .search-actions { gap: 10px; }
  .search-actions__right { margin-left: 0; width: 100%; }
  .search-actions__right .search-actions__right-btn.btn { flex: 1 1 auto; }
  .results-head__sort { margin-left: 0; width: 100%; }
  .results-head__sort > .results-head__sort-select.select { flex: 1 1 0; min-width: 0; width: auto; }
  .results-footer__total { margin-left: 0; width: 100%; }
}

@media (max-width: 600px) {
  .columns-list { padding: 4px 12px 14px; }
  .columns-item__btn { padding: 8px 14px 8px 12px; gap: 12px; }
  .project-card { padding: 16px 16px 14px; }
}

.results-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
}
.results-head__found {
  flex: 1 0 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 20px;
}
.results-head__count { font-size: 1.125rem; font-weight: 600; }
.results-head__range { font-size: 0.9688rem; color: var(--muted-3); }
.results-head__found .results-head__clear.results-table-clear { min-height: 0; padding: 2px 0; line-height: 1.4; }
.col-filter {
  position: absolute;
  z-index: 60;
  width: 18rem;
  max-width: 100%;
  padding: 14px 12px 12px;
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(20, 33, 61, .18);
}
.col-filter[hidden] { display: none; }
.col-filter__title {
  padding: 0 6px 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--muted);
}
.col-filter__list {
  max-height: 21rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.col-filter__item {
  flex-shrink: 0;
  min-height: 40px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 7px;
  font-size: 0.9375rem;
  line-height: 1.3;
  color: var(--ink);
  cursor: pointer;
}
.col-filter__item:hover { background: #F2F5FA; }
.col-filter__item input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--brand);
}
.col-filter__text { min-width: 0; margin-right: auto; }
.col-filter__ico { flex: 0 0 auto; display: flex; }
.col-filter__item:has(input:checked) { background: var(--brand-tint); }
.col-filter[data-type="text2"] { width: 20rem; }
.col-filter__form { display: flex; flex-direction: column; gap: 10px; }
.col-filter__form .col-filter__form-input.input { min-height: 42px; }
.col-filter__row { display: flex; gap: 8px; }
.col-filter__row .col-filter__row-input.input { flex: 1 1 auto; min-width: 0; }
.col-filter__pick {
  flex: 0 0 auto;
  width: 42px;
  border: 1px solid var(--line-3);
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}
.col-filter__pick:hover,
.col-filter__pick[aria-expanded="true"] { border-color: var(--brand); color: var(--brand); }
.col-filter__values {
  max-height: 12rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line-2);
  border-radius: 8px;
  padding: 4px;
  display: flex;
  flex-direction: column;
}
.col-filter__values[hidden] { display: none; }
.col-filter__value {
  flex-shrink: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.3;
  color: var(--ink);
  cursor: pointer;
}
.col-filter__value:hover { background: #F2F5FA; }
.col-filter__check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  color: var(--ink);
  cursor: pointer;
}
.col-filter__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--brand); }
.val-cell { display: inline-flex; align-items: flex-start; gap: 8px; }
.val-ico { flex: 0 0 auto; margin-top: 2px; }
.col-filter__actions {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line-soft);
  display: flex;
  gap: 8px;
}
.col-filter__btn {
  flex: 1 1 0;
  min-height: 40px;
  border: 1px solid var(--line-3);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  font-size: 0.9063rem;
  font-weight: 600;
  cursor: pointer;
}
.col-filter__btn.is-primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.col-filter__btn.is-primary:hover { background: var(--brand-dark); }
.results-head__sort {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9688rem;
  color: var(--muted);
}
.results-head__tools { display: flex; flex-wrap: wrap; gap: 8px; }
.export-range { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gear-btn {
  flex: 0 0 auto;
  height: 42px;
  padding: 0 16px 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9688rem;
  font-weight: 400;
  white-space: nowrap;
  border: 1px solid var(--line-3);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  transition: border-color .15s, background-color .15s, color .15s;
}
.gear-btn svg { width: 18px; height: 18px; color: var(--brand); }
.gear-btn:hover { border-color: var(--brand); background: var(--brand-tint); }
.gear-btn[aria-expanded="true"] {
  border-color: var(--brand); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.gear-btn[hidden] { display: none; }
.results-head__sort > .results-head__sort-select.select {
  width: auto;
  min-height: 42px;
  background-color: var(--surface);
}
@media (max-width: 700px) {
  .results-head { column-gap: 10px; row-gap: 12px; }
  .results-head__sort { margin-left: 0; flex: 1 1 100%; min-width: 0; }
  .results-head__sort > .results-head__sort-select.select { flex: 1 1 0; min-width: 0; width: auto; }
}

.results-table th[data-col="id"] { width: 11%; }
.results-table th[data-col="stats"] { width: 9.375rem; }
.results-table th[data-col="name"] { width: 28.3%; }
.results-table th[data-col="org"] { width: 17.7%; }
.results-table th[data-col="degree"] { width: 12%; }
.results-table th[data-col="start"],
.results-table th[data-col="end"] { width: 11%; }
.results-table th[data-col="okved"],
.results-table th[data-col="kind"] { width: 15.3%; }
.results-table th[data-col="stage"] { width: 10.6%; }
.results-table th[data-col="status"] { width: 12.9%; }
.project-card__heading { font-size: 1rem; font-weight: 500; line-height: 1.42; text-wrap: pretty; }
.col-filter__list[hidden],
.col-filter__values[hidden] { display: none; }
