/* Контрагенты (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);
}

/* Вид контрагента (Ф1в) — в табе «Поставщики и прочие» */
.parties-filter__kind {
  flex: 0 1 200px;
  min-width: 0;
}

@media (max-width: 767px) {
  .parties-filter__buttons,
  .parties-filter__kind {
    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;
}

/* --- Панель «Проверка» (ПЛ-1): факты с источником и датой, «Видел» --- */

.party-checks {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.party-checks__note,
.party-checks__status {
  margin: 0;
  font-size: var(--font-size-secondary);
  line-height: var(--line-height-secondary);
  color: var(--text-secondary);
}

.party-checks__status {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--warning-border);
  border-radius: var(--radius);
  background: var(--warning-bg);
  color: var(--warning);
}

.party-checks__group {
  margin: 0;
  font-size: var(--font-size-secondary);
  line-height: var(--line-height-secondary);
  font-weight: 600;
  color: var(--text-secondary);
}

.party-checks__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.party-check {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-panel);
  border-radius: var(--radius);
  background: var(--surface);
}

.party-check--danger:not(.party-check--seen) {
  border-color: var(--danger-border);
  background: var(--danger-bg);
}

.party-check--warning:not(.party-check--seen) {
  border-color: var(--warning-border);
  background: var(--warning-bg);
}

.party-check__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: var(--radius-pill);
  background: var(--chrome-dot-neutral);
}

.party-check--danger .party-check__dot {
  background: var(--danger);
}

.party-check--warning .party-check__dot {
  background: var(--warning-dot);
}

.party-check--gone .party-check__dot {
  background: var(--border-control);
}

.party-check__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.party-check__text {
  margin: 0;
  color: var(--text);
  overflow-wrap: anywhere;
}

.party-check--gone .party-check__text {
  color: var(--text-secondary);
}

.party-check__meta,
.party-check__seen {
  margin: 0;
  font-size: var(--font-size-secondary);
  line-height: var(--line-height-secondary);
  color: var(--text-secondary);
}

.party-check__seen-form summary {
  width: fit-content;
  list-style: none;
}

.party-check__seen-form summary::-webkit-details-marker {
  display: none;
}

.party-check__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.party-check__form .btn {
  align-self: flex-start;
}

.party-checks__gone summary {
  cursor: pointer;
  font-size: var(--font-size-secondary);
  color: var(--text-secondary);
}

.party-checks__gone .party-checks__list {
  margin-top: var(--space-2);
}

.party-checks__badge-link {
  text-decoration: none;
}

/* ПЛ-2: форма паспорта — поле «Кем выдан» на всю ширину сетки */
.party-passport__wide {
  grid-column: 1 / -1;
}

/* Ссылка на официальный сайт у факта и ручной проверки */
.party-check__link {
  white-space: nowrap;
}

/* Ручная проверка по официальным сайтам (ПА-08) */
.party-manual {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.party-manual__stale {
  color: var(--warning);
}

.party-manual__form summary {
  width: fit-content;
  list-style: none;
}

.party-manual__form summary::-webkit-details-marker {
  display: none;
}

.party-manual__form fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}
