/* Контрагенты (K1): реестр с поиском и подвалом итогов, карточка
 * контрагента, формы реквизитов и контактов, выдача поиска в ЕГРЮЛ.
 * Только токены из tokens.css. */

/* --- Реестр: строка поиска и фильтра (.filters в .registry-bar, ui.css) --- */

.parties-filter__active {
  display: inline-flex;
  gap: var(--space-2);
  align-items: center;
  font-size: var(--font-size-secondary);
  line-height: var(--line-height-secondary);
  color: var(--text-secondary);
}

.parties-filter__buttons {
  display: flex;
  gap: var(--space-2);
}

@media (max-width: 767px) {
  .parties-filter__buttons {
    flex: 1 1 100%;
  }

  .parties-filter__buttons .btn {
    flex: 1 1 0;
  }
}

/* Название в строке реестра: ссылка, вид лица и режим под ней */
.parties-name .badge {
  margin-top: var(--space-1);
}

.parties-debt {
  color: var(--danger);
  font-weight: 600;
}

/* Страницы реестра — под таблицей, с полями страницы */
.parties-pages {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  padding: 0 var(--page-gutter) var(--space-4);
}

.parties-pages__item {
  min-width: var(--control-height-sm);
  min-height: var(--control-height-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-2);
  border: 1px solid var(--border-control);
  border-radius: var(--radius);
  background: var(--surface);
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-cell);
  color: var(--text-secondary);
  text-decoration: none;
}

.parties-pages__item--active {
  background: var(--accent-bg);
  border-color: var(--accent-border);
  color: var(--accent);
  font-weight: 600;
}

@media (max-width: 1179px) {
  .parties-pages {
    padding-left: var(--page-gutter-tablet);
    padding-right: var(--page-gutter-tablet);
  }
}

@media (max-width: 767px) {
  .parties-pages {
    padding-left: var(--page-gutter-phone);
    padding-right: var(--page-gutter-phone);
  }
}

@media (pointer: coarse) {
  .parties-pages__item {
    min-width: var(--touch-target);
    min-height: var(--touch-target);
  }
}

/* --- Карточка --- */

/* Сноска под списком реквизитов и пустые панели — с полями панели */
.parties-note,
.panel > .parties-empty {
  margin: 0;
  padding: var(--space-3) var(--space-5) var(--space-4);
  font-size: var(--font-size-secondary);
  line-height: var(--line-height-secondary);
}

.parties-note {
  border-top: 1px solid var(--border-soft);
  color: var(--text-secondary);
}

.parties-empty {
  margin: 0;
  color: var(--text-muted);
}

.parties-actions {
  white-space: nowrap;
  text-align: right;
}

.parties-actions form {
  display: inline;
}

/* Сумма долга в полосе денег — цветом долга */
.strip--money .strip__value.parties-debt {
  color: var(--danger);
}

@media (max-width: 767px) {
  .parties-note,
  .panel > .parties-empty {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .table.table--cards tbody td.parties-actions {
    padding-left: 0;
  }
}

.parties-subtitle {
  margin-bottom: var(--space-1-5);
  font-weight: 600;
}

.parties-payments,
.parties-objects {
  margin: 0;
  padding: 0;
  list-style: none;
}

.parties-payments__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-0-5) var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-soft);
}

.parties-payments__item:last-child {
  border-bottom: none;
}

.parties-payments__amount {
  text-align: right;
}

.parties-payments__item .parties-name__meta {
  grid-column: 1 / -1;
  font-size: var(--font-size-hint);
  line-height: var(--line-height-hint);
  color: var(--text-muted);
}

.parties-objects li {
  padding: var(--space-1) 0;
}

/* --- Формы реквизитов и контактов --- */

.parties-form {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* Только формы страницы (реквизиты, контакт) — прямые дети. Вложенные
 * формы — строка поиска в ЕГРЮЛ и «Выбрать» у кандидата — раскладываются
 * своими классами: в колонке flex-basis поля поиска стал бы его высотой */
.parties-form > form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.parties-readonly {
  min-height: var(--control-height);
  display: flex;
  align-items: center;
  color: var(--text-secondary);
}

.parties-warning {
  color: var(--warning);
}

/* Выдача поиска в ЕГРЮЛ: кандидат и кнопка «Выбрать» справа */
.parties-candidates {
  margin: 0;
  padding: 0;
  list-style: none;
}

.parties-candidates__item {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2-5) 0;
  border-bottom: 1px solid var(--border-soft);
}

.parties-candidates__item:last-child {
  border-bottom: none;
}

.parties-candidates__main {
  min-width: 0;
}

.parties-candidates__meta {
  display: block;
  font-size: var(--font-size-hint);
  line-height: var(--line-height-hint);
  color: var(--text-muted);
}

.parties-candidates__action {
  flex: none;
}

@media (max-width: 767px) {
  .parties-candidates__item {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* --- Кабинет арендатора (Р-100, E1): пользователи и последние отправления --- */

.parties-portal-users,
.parties-portal-messages__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.parties-portal-users__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-1) var(--space-3);
  align-items: center;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-soft);
}

.parties-portal-users__item:last-child {
  border-bottom: none;
}

.parties-portal-users__who {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: anywhere;
}

.parties-portal-users__name {
  font-weight: 600;
}

.parties-portal-users__meta,
.parties-portal-messages__meta {
  font-size: var(--font-size-hint);
  line-height: var(--line-height-hint);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}

.parties-portal-users__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.parties-portal-messages {
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-soft);
}

.parties-portal-messages__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-0-5) var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-soft);
}

.parties-portal-messages__meta {
  grid-column: 1 / -1;
}

.parties-portal-messages__list + a,
.parties-portal-messages .parties-empty + a {
  display: inline-block;
  margin-top: var(--space-2);
}

.parties-portal-invite__contacts {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  border: 0;
}

.parties-portal-invite__option {
  display: flex;
  gap: var(--space-2);
  align-items: baseline;
  overflow-wrap: anywhere;
}
