/* Настраиваемые подкатегории паспорта участка. */
.patient-passport-subcategory-admin {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--theme-border, var(--border));
}

.patient-passport-subcategory-admin__head,
.patient-passport-category-card__head,
.patient-passport-subcategory-row__head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.patient-passport-subcategory-admin__head h3,
.patient-passport-category-card__head h3,
.patient-passport-subcategory-row__head h4 {
  margin: 0;
}

.patient-passport-subcategory-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.patient-passport-subcategory-edit,
.patient-passport-subcategory-create {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--theme-border, var(--border));
  border-radius: 12px;
  background: var(--theme-surface, var(--card));
}

.patient-passport-subcategory-edit > div,
.patient-passport-subcategory-create > div,
.passport-subcategory-fields > div {
  min-width: 0;
}

.patient-passport-subcategory-edit input:not([type="checkbox"]),
.patient-passport-subcategory-edit select,
.patient-passport-subcategory-create input:not([type="checkbox"]),
.patient-passport-subcategory-create select {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
}

.patient-passport-subcategory-edit textarea,
.patient-passport-subcategory-create textarea {
  width: 100%;
  box-sizing: border-box;
}

.patient-passport-subcategory-edit > .wide,
.patient-passport-subcategory-create > .wide,
.patient-passport-subcategory-edit > .passport-subcategory-fields,
.patient-passport-subcategory-create > .passport-subcategory-fields {
  grid-column: 1 / -1;
}

.passport-subcategory-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: start;
}

.passport-subcategory-fields > .wide {
  grid-column: 1 / -1;
}

/* Повторяющееся действие: все вспомогательные настройки идут строками на всю ширину. */
.passport-subcategory-fields[data-subcategory-mode="event"] > div:nth-child(1),
.passport-subcategory-fields[data-subcategory-mode="event"] > div:nth-child(2) {
  grid-column: 1 / -1;
}

.passport-subcategory-fields[data-subcategory-mode="event"] > div:nth-child(2) .checkbox-row {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 0 14px;
}

/* Нижняя пара «Порядок / Активна» имеет одинаковую высоту и базовую линию. */
.patient-passport-subcategory-edit > div > .checkbox-row,
.patient-passport-subcategory-create > div > .checkbox-row {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin-top: 24px !important;
  padding: 0 14px;
}

.patient-passport-subcategory-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.patient-passport-category-list {
  display: grid;
  gap: 14px;
}

.patient-passport-category-card {
  padding: 15px 16px;
  border: 1px solid var(--theme-border, var(--border));
  border-radius: 15px;
  background: var(--theme-surface, var(--card));
}

.patient-passport-category-card__body {
  display: grid;
  gap: 12px;
  margin-top: 13px;
}

.patient-passport-subcategory-row {
  padding: 12px;
  border-radius: 12px;
  background: color-mix(
    in srgb,
    var(--theme-surface, var(--card)) 94%,
    var(--theme-primary, #238c84) 6%
  );
}

.patient-passport-subcategory-row__form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 9px;
}

.patient-passport-subcategory-row__form--event {
  grid-template-columns: minmax(180px, 1fr) auto;
}

.patient-passport-subcategory-row__value {
  margin-top: 8px;
  font-weight: 700;
}

.patient-passport-event-history {
  display: grid;
  gap: 5px;
  margin-top: 9px;
  font-size: 0.86rem;
}

.patient-passport-event-history__item {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
}

.patient-passport-event-history__date {
  color: var(--muted, #64748b);
  white-space: nowrap;
}

.patient-passport-statistics-extra {
  margin-top: 18px;
}

.patient-passport-statistics-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
  margin-top: 14px;
}

.patient-passport-statistics-filter__period {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}

.patient-passport-statistics-result {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.patient-passport-statistics-result h3 {
  margin-bottom: 8px;
}

.patient-passport-stat-value-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.patient-passport-stat-value {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--theme-border, var(--border));
  border-radius: 999px;
  font-size: 0.84rem;
}

@media (max-width: 900px) {
  .patient-passport-statistics-filter,
  .patient-passport-subcategory-edit,
  .patient-passport-subcategory-create,
  .passport-subcategory-fields {
    grid-template-columns: 1fr;
  }

  .patient-passport-statistics-filter__period {
    grid-template-columns: 1fr 1fr;
  }

  .patient-passport-subcategory-edit > .wide,
  .patient-passport-subcategory-create > .wide,
  .patient-passport-subcategory-edit > .passport-subcategory-fields,
  .patient-passport-subcategory-create > .passport-subcategory-fields,
  .passport-subcategory-fields > .wide,
  .passport-subcategory-fields[data-subcategory-mode="event"] > div:nth-child(1),
  .passport-subcategory-fields[data-subcategory-mode="event"] > div:nth-child(2) {
    grid-column: auto;
  }

  .patient-passport-subcategory-edit > div > .checkbox-row,
  .patient-passport-subcategory-create > div > .checkbox-row {
    margin-top: 0 !important;
  }
}

@media (max-width: 620px) {
  .patient-passport-subcategory-row__form,
  .patient-passport-subcategory-row__form--event,
  .patient-passport-statistics-filter__period {
    grid-template-columns: 1fr;
  }

  .patient-passport-subcategory-row__form .btn {
    width: 100%;
  }
}
