/* ============================================================
   cab-registry.css — реестр проектов под большое число строк.
   Только то, чего нет в дизайн-системе: строка условий подбора,
   окно условия со счётчиками, окно порядка строк, окно подборок.
   Палитра и типографика — токены mpr-* из mpr-core.css, своих
   цветов здесь нет.  Помощник «Р», 06.09.2026.
   ============================================================ */

/* ---------- 1. Строка подбора над таблицей ---------- */
.cab-reg-pick { margin-top: 12px; }
.cab-reg-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
/* «+ Условие» — главная кнопка строки, поэтому чуть заметнее соседей */
.cab-reg-add {
  border-style: dashed;
  border-color: var(--mpr-line-strong);
  font-weight: 600;
}
.cab-reg-quickchip { min-height: 36px; padding: 6px 14px; font-size: 12.5px; }

/* готовое условие: щелчок по названию открывает правку, крестик снимает */
.cab-reg-cond {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--mpr-moss);
  background: rgba(143, 149, 80, 0.14);
  border-radius: var(--mpr-r-pill);
  overflow: hidden;
  max-width: 100%;
}
.cab-reg-cond__main {
  border: none;
  background: none;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--mpr-moss-deep);
  padding: 8px 6px 8px 15px;
  cursor: pointer;
  text-align: left;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 42ch;
}
.cab-reg-cond__main:hover { color: var(--mpr-forest); }
.cab-reg-cond__main:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(143, 149, 80, 0.45); }
.cab-reg-cond__x {
  border: none;
  background: none;
  padding: 0 12px 0 5px;
  cursor: pointer;
  color: var(--mpr-moss-deep);
  display: inline-flex;
  align-items: center;
}
.cab-reg-cond__x svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.cab-reg-cond__x:hover { color: var(--mpr-risk-fg); }
.cab-reg-cond__x:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(143, 149, 80, 0.45); }
/* строка поиска показана тем же чипом, но спокойнее — это не условие подбора */
.cab-reg-cond--q { border-color: var(--mpr-line-strong); background: rgba(255, 253, 247, 0.85); }
.cab-reg-cond--q .cab-reg-cond__main { color: var(--mpr-muted); display: inline-flex; align-items: center; }
.cab-reg-cond--q .cab-reg-cond__x { color: var(--mpr-muted); }

.cab-reg-clear {
  border: none;
  background: none;
  font-family: inherit;
  font-size: 12.5px;
  color: var(--mpr-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 8px 4px;
}
.cab-reg-clear:hover { color: var(--mpr-forest); }

/* правая группа: порядок, подборки, ссылка */
.cab-reg-side { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.cab-reg-group { height: 40px; flex: 0 0 auto; width: auto; min-width: 210px; font-size: 13px; }

/* «затем: Обновлено ↓» рядом со счётчиком строк */
.cab-reg-sortnote { margin: 0; font-size: 12.5px; color: var(--mpr-muted); }

/* панель массовых действий администратора */
.cab-reg-bulk {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  background: rgba(143, 149, 80, 0.14);
  border: 1px solid var(--mpr-line-strong);
  border-radius: var(--mpr-r-pill);
  padding: 6px 8px 6px 16px;
}
.cab-reg-bulk__n { font-size: 12.5px; font-weight: 600; color: var(--mpr-forest); }

/* кнопки в подсказке режима показа */
.cab-reg-demo__acts { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- 2. Окно условия ---------- */
.cab-reg-quick {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--mpr-line);
}
.cab-reg-quick .mpr-filter-chip { min-height: 34px; padding: 6px 13px; font-size: 12.5px; }
.cab-reg-quick .cab-label { flex: 0 0 100%; margin-bottom: 2px; }

.cab-reg-fieldrow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cab-reg-fieldrow .cab-select { flex: 1 1 240px; height: 40px; }
.cab-reg-area { margin-top: 14px; }
.cab-reg-ops { margin-bottom: 12px; }

/* список значений со счётчиками: две колонки на компьютере, одна на телефоне */
.cab-reg-vals {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 6px;
  max-height: 46vh;
  overflow: auto;
  padding: 2px;
}
.cab-reg-val {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid var(--mpr-line);
  border-radius: var(--mpr-r-sm);
  background: rgba(255, 253, 247, 0.8);
  font-family: inherit;
  font-size: 13px;
  color: var(--mpr-forest);
  cursor: pointer;
  text-align: left;
  transition: background .18s var(--mpr-bezier), border-color .18s var(--mpr-bezier);
}
.cab-reg-val:hover { background: #fff; border-color: var(--mpr-line-strong); }
.cab-reg-val:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(143, 149, 80, 0.28); }
.cab-reg-val.is-on { background: rgba(143, 149, 80, 0.16); border-color: var(--mpr-moss); color: var(--mpr-moss-deep); font-weight: 500; }
.cab-reg-val__name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cab-reg-val__n { flex: 0 0 auto; font-family: var(--mpr-mono); font-size: 11.5px; color: var(--mpr-muted); }
.cab-reg-val.is-on .cab-reg-val__n { color: var(--mpr-moss-deep); }

.cab-reg-dates { display: flex; gap: 14px; flex-wrap: wrap; }
.cab-reg-dates label { display: flex; flex-direction: column; gap: 5px; flex: 1 1 180px; }
.cab-reg-dates .mpr-input { height: 40px; }

.cab-reg-note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--mpr-muted); }

/* ---------- 3. Окно порядка строк ---------- */
.cab-reg-sort__row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.cab-reg-sort__cap { flex: 0 0 100px; font-size: 12.5px; color: var(--mpr-muted); }
.cab-reg-sort__row .cab-select { height: 40px; }
.cab-reg-sort__row .cab-select:first-of-type { flex: 1 1 200px; }
.cab-reg-sort__row .cab-select:last-of-type { flex: 0 1 180px; }

/* ---------- 4. Окно сохранённых подборок ---------- */
.cab-reg-view {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 11px 13px;
  border: 1px solid var(--mpr-line);
  border-radius: var(--mpr-r-sm);
  background: rgba(255, 253, 247, 0.8);
  margin-bottom: 8px;
}
.cab-reg-view__text { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.cab-reg-view__name { font-size: 13.5px; font-weight: 600; color: var(--mpr-forest); }
.cab-reg-view__desc { font-size: 12px; line-height: 1.45; color: var(--mpr-muted); }
.cab-reg-save { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--mpr-line); }
.cab-reg-save__row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 7px; }
.cab-reg-save__row .mpr-input { flex: 1 1 240px; height: 40px; }

/* ---------- 5. Телефон ---------- */
@media (max-width: 720px) {
  .cab-reg-side { margin-left: 0; width: 100%; }
  .cab-reg-side .np-btn { flex: 1 1 auto; }
  .cab-reg-group { width: 100%; min-width: 0; }
  .cab-reg-cond__main { max-width: 26ch; }
  .cab-reg-vals { max-height: 40vh; grid-template-columns: 1fr; }
  .cab-reg-sort__cap { flex: 0 0 100%; }
  .cab-reg-sort__row .cab-select { flex: 1 1 100%; }
  .cab-reg-demo__acts { margin-left: 0; width: 100%; }
}

/* ---------- 6. Подсказка режима показа: текст слева, кнопки одной строкой справа ---------- */
.cab-reg-demo { align-items: center; flex-wrap: wrap; }
.cab-reg-demo > span { flex: 1 1 320px; min-width: 0; }
.cab-reg-demo .cab-reg-demo__acts { flex: 0 0 auto; flex-wrap: nowrap; margin-left: auto; }
@media (max-width: 900px) {
  .cab-reg-demo { align-items: flex-start; }
  .cab-reg-demo > span { flex: 1 1 100%; }
  .cab-reg-demo .cab-reg-demo__acts { flex: 1 1 100%; flex-wrap: wrap; margin-left: 0; margin-top: 8px; }
}
