.vpr-report-panel { max-width: 1200px; margin: 0 auto; }
.vpr-report-panel h1 { margin: 0 0 7px; }
.vpr-report-step { margin: 18px 0; padding: 15px; border: 1px solid var(--line, #d6e1ea); border-radius: 7px; background: #fff; }
.vpr-report-step h2 { margin: 0 0 12px; font-size: 19px; }
.vpr-report-filters, .vpr-report-title-row { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.vpr-report-filters .vpr-report-field:first-child { width: 135px; }
.vpr-report-filters .vpr-report-field:last-child { flex: 1 1 250px; max-width: 470px; }
.vpr-report-field { display: grid; gap: 5px; margin: 10px 0; color: #445a70; font-size: 13px; font-weight: 650; }
.vpr-report-field > .form-control { font-weight: 400; }
.vpr-report-count { margin: 11px 0 8px; font-weight: 650; }
.vpr-report-table-wrap { max-width: 100%; max-height: 450px; overflow: auto; border: 1px solid #d8e3ec; border-radius: 5px; }
.vpr-report-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.vpr-report-table th, .vpr-report-table td { padding: 7px 9px; border-bottom: 1px solid #d8e3ec; text-align: left; vertical-align: top; }
.vpr-report-table th { position: sticky; top: 0; z-index: 1; background: #edf3f8; color: #455e75; font-weight: 700; }
.vpr-report-table tbody tr:last-child td { border-bottom: 0; }
.vpr-report-table tbody tr:hover { background: #f7fafc; }
.vpr-report-table th:first-child, .vpr-report-table td:first-child { width: 42px; text-align: center; }
.vpr-report-table input[type=checkbox], .vpr-report-table input[type=radio] { width: 17px; height: 17px; margin: 0; cursor: pointer; }
.vpr-report-table .vpr-report-empty { text-align: center; color: #748393; }
.vpr-report-step > .btn { margin-top: 12px; }
.vpr-report-location-table th:first-child, .vpr-report-location-table td:first-child { width: 85px; }
.vpr-report-location-table td:nth-child(2) { min-width: 170px; }
.vpr-report-location-table td:nth-child(3) { min-width: 220px; }
.vpr-report-location-table .form-control { min-width: 180px; }
.vpr-report-title-row .vpr-report-field { flex: 1 1 300px; }
.vpr-report-title-row .btn { margin-bottom: 10px; }
.vpr-report-field textarea { min-height: 125px; resize: vertical; line-height: 1.45; }
.vpr-report-rule { margin: 13px 0; padding: 9px 11px; border-left: 3px solid #41627d; background: #f3f7fa; color: #294660; }
.vpr-report-placeholders { margin: 12px 0; font-size: 13px; }
.vpr-report-placeholders summary { cursor: pointer; font-weight: 650; color: #315574; }
.vpr-report-placeholders p { margin: 7px 0; }
.vpr-report-template-source { max-width: 100%; margin: 6px 0 12px; padding: 8px 10px; overflow-wrap: anywhere; white-space: pre-wrap; border: 1px solid #d8e3ec; border-radius: 5px; background: #f7fafc; color: #294660; font: inherit; }
.vpr-report-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 6px; }
.vpr-report-error { margin: 9px 0; min-height: 1em; color: #a72a2a; }
.vpr-report-preview { margin-top: 15px; }
.vpr-report-preview > h2 { border-top: 1px solid var(--line, #d6e1ea); padding-top: 14px; }
.vpr-report-preview h3 { margin: 16px 0 8px; font-size: 16px; }
.vpr-report-preview h4 { margin: 13px 0 7px; font-size: 14px; }
.vpr-report-introduction { padding: 3px 0 10px; }
.vpr-report-narrative { margin: 7px 0; line-height: 1.55; }
.vpr-report-subject { margin: 17px 0; padding: 10px 0 14px; border-bottom: 1px solid var(--line, #d6e1ea); }
.vpr-report-subject .vpr-report-table-wrap { max-height: 400px; margin: 8px 0 14px; }
.vpr-report-subject .vpr-report-table, .vpr-report-attention .vpr-report-table { width: max-content; min-width: 100%; }
.vpr-report-subject .vpr-report-table th:first-child, .vpr-report-subject .vpr-report-table td:first-child,
.vpr-report-attention .vpr-report-table th:first-child, .vpr-report-attention .vpr-report-table td:first-child { width: auto; text-align: left; }
.vpr-report-attention { padding: 12px; border: 1px solid #a6bdcf; border-radius: 6px; background: #f8fbfd; }
.vpr-report-conclusions, .vpr-report-recommendations { margin: 17px 0 0; padding-top: 7px; }
.vpr-report-warnings { padding: 10px 12px; border: 1px solid #d7b783; border-radius: 5px; background: #fff9ee; }
.vpr-report-warnings ul { margin: 6px 0 0; padding-left: 20px; }
@media (max-width: 620px) {
  .vpr-report-step { padding: 10px; }
  .vpr-report-filters, .vpr-report-title-row { display: block; }
  .vpr-report-filters .vpr-report-field:first-child, .vpr-report-filters .vpr-report-field:last-child { width: 100%; max-width: none; }
  .vpr-report-title-row .btn { margin: 0 0 10px; }
  .vpr-report-location-table,
  .vpr-report-location-table tbody { display: block; width: 100%; }
  .vpr-report-location-table thead { display: none; }
  .vpr-report-location-table tbody { padding: 6px; }
  .vpr-report-location-table tbody tr {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 3px 6px;
    margin-bottom: 8px;
    padding: 7px;
    border: 1px solid #d8e3ec;
    border-radius: 5px;
  }
  .vpr-report-location-table tbody tr:last-child { margin-bottom: 0; }
  .vpr-report-location-table td { display: block; min-width: 0 !important; width: auto !important; padding: 2px !important; border: 0; }
  .vpr-report-location-table td:first-child { grid-row: 1 / span 3; grid-column: 1; align-self: center; text-align: center; }
  .vpr-report-location-table td:first-child::before { content: 'Цель'; display: block; margin-bottom: 5px; color: #607688; font-size: 10px; }
  .vpr-report-location-table td:nth-child(n+2) { grid-column: 2; }
  .vpr-report-location-table td:nth-child(2)::before,
  .vpr-report-location-table td:nth-child(3)::before { display: block; color: #607688; font-size: 11px; }
  .vpr-report-location-table td:nth-child(2)::before { content: 'Локация в данных'; }
  .vpr-report-location-table td:nth-child(3)::before { content: 'Название в отчёте'; }
  .vpr-report-location-table td:nth-child(4)::before { content: 'ВПР: '; color: #607688; }
  .vpr-report-location-table .form-control { min-width: 0; width: 100%; }
}
