/* Лента заявок /zakupki, /uslugi: фильтры одной формой (01.11.2026).
   Чипы - радиокнопки и флажки внутри label, выбор подсвечен, набор чипов не меняется после выбора.
   Применяются кнопкой «Показать N заявок»; без скрипта - обычная отправка GET. */

.zk-f { margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
.zk-fs { display: flex; align-items: flex-start; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.zk-fs.zk-more { margin: 0; }
.zk-fl { float: left; flex: 0 0 112px; padding: 9px 0 0; font-size: 13px; font-weight: 600; color: var(--muted); line-height: 1.3; }
.zk-fs > .chips { flex: 1 1 auto; min-width: 0; margin: 0; }

.zk-c { position: relative; display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px;
  border-radius: var(--r-pill); background: var(--surface); font-size: 14px; font-weight: 600; color: var(--ink);
  white-space: nowrap; cursor: pointer; user-select: none;
  transition: background-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease); }
.zk-c input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.zk-c i { font-style: normal; color: var(--muted); margin-left: 6px; font-weight: 500; font-size: 13px; }
.zk-c:hover { background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line-strong); }
.zk-c.zero { color: var(--muted); }
.zk-c.zero i { color: var(--faint); }
.zk-c.on, .zk-c:has(input:checked) { background: var(--ink); color: var(--surface); box-shadow: none; }
.zk-c.on i, .zk-c:has(input:checked) i { color: oklch(0.8 0.01 150); }
.zk-c:has(input:focus-visible) { box-shadow: var(--ring); }
.zk-c:active { transform: translateY(1px); }
.zk-c .ico { margin-left: 6px; }
/* «С завершёнными» - флажок, а не взаимоисключающий выбор: видимая галочка */
.zk-chk { gap: 7px; }
.zk-box { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 5px;
  box-shadow: inset 0 0 0 1.5px var(--line-strong); background: var(--surface); color: transparent; }
.zk-chk .zk-box .ico { margin: 0; }
.zk-chk.on .zk-box, .zk-chk:has(input:checked) .zk-box { background: var(--brand); box-shadow: none; color: var(--surface); }
.zk-chk:not(.on):not(:has(input:checked)) { background: var(--surface); color: var(--ink); }

.zk-go { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding-left: 122px; margin-top: 4px; }
.zk-go .btn { min-height: 40px; }
.zk-go.has-js .btn { background: var(--surface); color: var(--ink); border-color: var(--line-strong); box-shadow: none; }
.zk-f.is-dirty .zk-go .btn { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.zk-f.is-counting .zk-go .btn { opacity: .85; }
.zk-go .btn.is-empty { background: var(--surface-3); color: var(--ink-2); border-color: transparent; }
.zk-reset { font-size: 14px; font-weight: 600; color: var(--ink-2); text-decoration: underline;
  text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.zk-reset:hover { color: var(--ink); }
.zk-go-note { font-size: 13px; color: var(--muted); }

@media (max-width: 760px) {
  .zk-fs { display: block; }
  .zk-fl { float: none; display: block; padding: 0 0 4px; font-size: 12.5px; }
  .zk-fs > .chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .zk-fs > .chips::-webkit-scrollbar { display: none; }
  .zk-c { min-height: 40px; }
  .zk-go { padding-left: 0; }
  .zk-go-note { display: none; }
  /* Выбрали на телефоне - кнопка «Показать» всегда под пальцем */
  .zk-f.is-dirty .zk-go { position: fixed; z-index: 30; left: 16px; right: 16px; bottom: 12px; margin: 0;
    padding: 8px; border-radius: var(--r-pill); background: var(--surface); box-shadow: var(--shadow-3); }
  .zk-f.is-dirty .zk-go .btn { flex: 1 1 auto; }
}
