.pa-section {
 margin-top: 1rem;
}
.pa-title {
 margin: 0 0 6px;
}
.pa-subtitle, .pa-muted, .pa-note {
 font-size: 14px;
 line-height: 1.45;
 color: #444b51;
}
.pa-summary-meta {
 margin-top: 10px;
 color: #6c757d;
}
.pa-chip-wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 margin-top: 14px;
 margin-bottom: 14px;
}
.pa-chip {
 display: inline-flex;
 align-items: center;
 padding: 8px 14px;
 font-size: .9rem;
 line-height: 1.2;
 font-weight: 600;
 background: #f8fafc;
 border: 1px solid #dde6f0;
 color: #344054;
 white-space: nowrap;
}
.pa-chip--best {
 background: #eaf7ee;
 border-color: #b7e3c2;
 color: #16794c;
}
.pa-box-empty {
 text-align: left;
}
.pa-box-empty__title {
 font-weight: 600;
 color: #344054;
 margin-bottom: 4px;
}
.pa-box-empty__text {
 color: #667085;
 line-height: 1.45;
}
.pa-hover-card {
 transition: all .2s ease;
}
.pa-hover-card:hover {
 transform: translateY(-2px);
 box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .12) !important;
}
.pa-badge-best, .pa-badge-active, .pa-badge-warn {
 position: absolute;
 top: -10px;
 left: 50%;
 transform: translateX(-50%);
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding: 5px 10px;
 border-radius: 999px;
 background: #dcfce7;
 border: 1px solid #b7ebc6;
 color: #166534;
 font-size: .75rem;
 font-weight: 700;
 line-height: 1;
 white-space: nowrap;
 box-shadow: 0 6px 14px rgba(22, 101, 52, .10);
 z-index: 2;
}
.pa-badge-best--calendar, .pa-badge-warn--calendar {
 top: -9px;
 background: transparent;
 border-color: transparent;
 border-radius: 0;
 left: 89%;
 padding: 0;
 border: none;
 font-size: 17px;
 box-shadow: none;
}
.pa-badge-best--calendar:before {
 content: "\1F525";
 margin-right: 6px;
 font-size: 14px;
}
.pa-badge-warn--calendar:before {
 content: "\26D4";
 margin-right: 6px;
 font-size: 14px;
}
.pa-kpi-row {
 margin-top: .75rem;
 margin-bottom: .25rem;
}
.pa-kpi-card-body {
 padding: 1rem 1.1rem;
}
.pa-kpi-title {
 font-size: 14px;
 line-height: 1.35;
 font-weight: 600;
 color: #343a40;
}
.pa-kpi-value {
 margin-top: 10px;
 line-height: 1.1;
 font-weight: 500;
 color: #212529;
 letter-spacing: -.02em;
}
.pa-kpi-value span {
 font-size: 28px;
}
.pa-kpi-subtitle {
 margin-top: 10px;
 font-size: 14px;
 line-height: 1.45;
 color: #6c757d;
}
.pa-season-card {
 position: relative;
 display: flex;
 flex-direction: column;
 height: 100%;
 background: #fff;
 border: 1px solid #e8eef5;
 border-radius: 10px;
 padding: 16px 18px;
 box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
 transition: all .2s ease;
 overflow: visible;
 text-align: center;
}
.pa-season-card:hover {
 transform: translateY(-3px);
 box-shadow: 0 16px 32px rgba(15, 23, 42, .09);
}
.pa-season-card--best {
 border-color: #7ccf93;
 box-shadow: 0 14px 30px rgba(34, 197, 94, .14);
 background: linear-gradient(180deg, #f1fbf3 0%, #ffffff 100%);
}
.pa-season-card--best .pa-season-card__month {
 color: #15803d;
}
.pa-season-card--empty {
 background: #fcfcfd;
 border-color: #eef2f6;
 box-shadow: none;
}
.pa-season-card--empty:hover {
 transform: none;
 box-shadow: none;
}
.pa-season-card--p1 {
 background: linear-gradient(180deg, #f3faff 0%, #ffffff 100%);
}
.pa-season-card--p2 {
 background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.pa-season-card--p3 {
 background: linear-gradient(180deg, #fffef8 0%, #ffffff 100%);
}
.pa-season-card--p4 {
 background: linear-gradient(180deg, #fff4ef 0%, #ffffff 100%);
 border-color: #f1d7cf;
}
.pa-season-card--p4 .pa-season-card__price {
 color: #b42318;
}
.pa-season-card--p4 .pa-season-card__month {
 color: #7a271a;
}
.pa-season-card__top {
 display: block;
 margin-bottom: 18px;
}
.pa-season-card__month {
 font-size: 1rem;
 font-weight: 700;
 color: #b7791f;
 line-height: 1.25;
 padding-right: 4px;
}
.pa-season-card--empty .pa-season-card__month {
 color: #667085;
}
.pa-season-card__price {
 font-weight: 500;
 color: #101828;
 line-height: 1.15;
 margin-bottom: 10px;
 white-space: nowrap;
 letter-spacing: -.02em;
}
.pa-season-card__price span {
 font-size: 1.4rem;
  font-weight: 500;
}
.pa-season-card__meta {
 color: #667085;
 font-size: .88rem;
 line-height: 1.35;
 margin-bottom: 18px;
}
.pa-season-card__stats {
 display: flex;
 justify-content: space-between;
 gap: 12px;
 margin-top: auto;
 padding-top: 4px;
}
.pa-season-stat__num {
 display: block;
 font-size: 1.15rem;
 font-weight: 800;
 color: #182230;
 line-height: 1.1;
}
.pa-season-stat__label {
 display: block;
 font-size: .88rem;
 color: #667085;
 margin-top: 3px;
}
.pa-season-card__nodata {
 margin-top: auto;
 font-size: .95rem;
 color: #98a2b3;
 line-height: 1.5;
 max-width: 170px;
 margin-left: auto;
 margin-right: auto;
}
.pa-season-card--active {
 border-color: #a7c5f6;
 background: #eef5ff;
}
/*
.pa-season-card--active .pa-season-card__month {
    color: #2563eb;
    font-weight: 600;
}
*/
.pa-season-card--active .pa-badge-active {
 background: #3b82f6;
 color: #fff;
}
.pa-recent-list__item {
 display: flex;
 align-items: flex-start;
 gap: 14px;
 padding: 8px 0;
}
.pa-recent-list__item + .pa-recent-list__item {
 margin-top: 10px;
 padding-top: 14px;
 border-top: 1px solid #edf1f4;
}
.pa-recent-list__image-wrap {
 flex: 0 0 108px;
 max-width: 108px;
}
.pa-recent-list__image {
 display: block;
 width: 100%;
 height: 82px;
 object-fit: cover;
}
.pa-recent-list__image--empty {
 display: flex;
 align-items: center;
 justify-content: center;
 background: #f5f7f9;
 color: #a7b1ba;
 font-size: 12px;
}
.pa-recent-list__main {
 flex: 1 1 auto;
 min-width: 0;
}
.pa-recent-list__hotel-row {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 8px;
 margin-bottom: 2px;
}
.pa-recent-list__hotel-extra {
 font-size: 14px;
 line-height: 1.35;
 color: #6c7b88;
}
.pa-recent-list__stars {
 color: #e5a23a;
 letter-spacing: 1px;
}
.pa-recent-list__meta {
 font-size: 14px;
 line-height: 1.45;
 color: #3d4f63;
 margin-bottom: 2px;
}
.pa-sep {
 display: inline-block;
 margin: 0 6px;
 color: #91a0ab;
}
.pa-recent-list__price-col {
 flex: 0 0 150px;
 max-width: 150px;
 text-align: right;
}
.pa-recent-list__price {
 font-size: 1.5rem;
 line-height: 1.2;
 white-space: nowrap;
}
.pa-table-wrap {
 overflow-x: auto;
 overflow-y: hidden;
 -webkit-overflow-scrolling: touch;
}
.pa-calendar-table, .pa-heatmap-table {
 width: 100%;
 border-collapse: separate;
}
.pa-calendar-table {
 min-width: 700px;
 border-spacing: 6px;
 table-layout: fixed;
}
.pa-calendar-table th {
 text-align: center;
 font-weight: 700;
 color: #667085;
 padding: 0 2px 2px;
}
.pa-calendar-table td {
 vertical-align: top;
}
.pa-calendar-day {
 position: relative;
 min-height: 74px;
 border-radius: 10px;
 border: 1px solid #e8eef5;
 background: #fcfcfd;
 padding: 8px 8px 8px;
 display: flex;
 flex-direction: column;
 justify-content: flex-start;
 transition: transform .15s ease, box-shadow .15s ease;
 min-height: 112px;
}
.pa-calendar-day:hover {
 transform: translateY(-1px);
 box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.pa-calendar-day--pad {
 background: transparent;
 border: none;
 box-shadow: none;
}
.pa-calendar-day--empty {
 background: #fbfcfe;
 border-color: #eef2f6;
}
.pa-calendar-day--neutral {
 background: #eef5ff;
 border-color: #a7c5f6;
}
.pa-calendar-day--no-my {
 background: #eef2f6;
 border-color: #d5dde6;
}
.pa-calendar-day--p1 {
 background: #f7dfd8;
 border-color: #ebc2b7;
}
.pa-calendar-day--p2 {
 background: #f6e4cf;
 border-color: #ead0ad;
}
.pa-calendar-day--p3 {
 background: #f4ebbf;
 border-color: #e6d991;
}
.pa-calendar-day--p4 {
 background: #d9efdf;
 border-color: #b8dfc1;
}
.pa-calendar-day--p5 {
 background: #b8e6c5;
 border-color: #88cf9d;
}
.pa-calendar-day__top {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 6px;
}
.pa-calendar-day__date-wrap {
 display: flex;
 align-items: baseline;
 gap: 4px;
 min-width: 0;
}
.pa-calendar-day__date, .pa-calendar-day__month {
 font-size: .88rem;
 line-height: 1;
 color: #1f2937;
 white-space: nowrap;
}
.pa-calendar-day__weekday {
 font-size: .88rem;
 color: #667085;
 line-height: 1;
 white-space: nowrap;
}
.pa-calendar-day__price {
 margin-top: 8px;
 font-size: .9rem;
 font-weight: 800;
 line-height: 1.1;
 color: #111827;
 white-space: nowrap;
 text-align: center;
}
.pa-calendar-day__currency {
 font-size: .9em;
 font-weight: 600;
}
.pa-calendar-day__meta {
 margin-top: 5px;
 font-size: .88rem;
 line-height: 1.2;
 color: #667085;
 text-align: center;
}
.pa-calendar-day__empty {
 margin-top: 16px;
 font-size: .88rem;
 line-height: 1.2;
 color: #a0a9b8;
 text-align: center;
}
.pa-heatmap-legend {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 8px;
 margin-bottom: 16px;
}
.pa-heatmap-legend__text {
 color: #667085;
}
.pa-heatmap-legend__cell {
 width: 20px;
 height: 20px;
 border-radius: 7px;
 border: 1px solid rgba(16, 24, 40, .06);
}
.pa-heatmap-legend__cell--1 {
 background: #f7dfd8;
 border-color: #ebc2b7;
}
.pa-heatmap-legend__cell--2 {
 background: #f6e4cf;
 border-color: #ead0ad;
}
.pa-heatmap-legend__cell--3 {
 background: #f4ebbf;
 border-color: #e6d991;
}
.pa-heatmap-legend__cell--4 {
 background: #d9efdf;
 border-color: #b8dfc1;
}
.pa-heatmap-legend__cell--5 {
 background: #b8e6c5;
 border-color: #88cf9d;
}
.pa-heatmap-wrap {
 overflow: auto;
 -webkit-overflow-scrolling: touch;
 border-radius: 16px;
}
.pa-heatmap-table {
 min-width: 860px;
 border-spacing: 8px;
}
.pa-heatmap-table th, .pa-heatmap-table td {
 text-align: center;
 vertical-align: middle;
}
.pa-heatmap-table thead th {
 font-size: .94rem;
 font-weight: 700;
 white-space: nowrap;
 padding: 0 4px 6px;
}
.pa-heatmap-table thead th:first-child {
 text-align: left;
 min-width: 80px;
}
.pa-heatmap-row-label {
 text-align: left !important;
 white-space: nowrap;
 font-size: .94rem;
 font-weight: 700;
 padding-right: 8px;
}
.pa-heatmap-cell {
 min-width: 72px;
 height: 66px;
 border-radius: 10px;
 border: 1px solid #e8eef5;
 background: #f8fafc;
 padding: 6px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 transition: transform .15s ease, box-shadow .15s ease;
}
.pa-heatmap-cell:hover {
 transform: translateY(-1px);
 box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.pa-heatmap-cell--empty {
 background: #fcfcfd;
 border-color: #eef2f6;
 color: #98a2b3;
}
.pa-heatmap-cell--p1 {
 background: #f7dfd8;
 border-color: #ebc2b7;
}
.pa-heatmap-cell--p2 {
 background: #f6e4cf;
 border-color: #ead0ad;
}
.pa-heatmap-cell--p3 {
 background: #f4ebbf;
 border-color: #e6d991;
}
.pa-heatmap-cell--p4 {
 background: #d9efdf;
 border-color: #b8dfc1;
}
.pa-heatmap-cell--p5 {
 background: #b8e6c5;
 border-color: #88cf9d;
}
.pa-heatmap-cell__price {
 display: block;
 font-size: .95rem;
 font-weight: 800;
 line-height: 1.1;
 color: #1f2937;
 white-space: nowrap;
}
.pa-heatmap-cell__count {
 display: block;
 margin-top: 4px;
 font-size: .88rem;
 color: #6b7280;
 line-height: 1.1;
}
.pa-heatmap-cell--empty .pa-heatmap-cell__price, .pa-heatmap-cell--empty .pa-heatmap-cell__count {
 color: #98a2b3;
}
@media (max-width: 991.98px) {
 .pa-calendar-table {
  min-width: 680px;
 }
}
@media (max-width: 767.98px) {
 .pa-kpi-value span {
  font-size: 26px;
 }
 .pa-kpi-subtitle {
  min-height: 0;
 }
 .pa-card {
  border-radius: 16px;
 }
 .pa-card-body {
  padding: 16px;
 }
 .pa-title {
  font-size: 1.25rem;
 }
 .pa-season-card {
  min-height: 205px;
  border-radius: 16px;
  padding: 14px;
 }
 .pa-season-card__month {
  min-height: 42px;
  font-size: .95rem;
 }
 .pa-season-card__price {
  font-size: 1.3rem;
 }
 .pa-recent-list__item {
  gap: 12px;
 }
 .pa-recent-list__image-wrap {
  flex: 0 0 88px;
  max-width: 88px;
 }
 .pa-recent-list__image {
  height: 68px;
 }
 .pa-recent-list__price-col {
  flex: 0 0 120px;
  max-width: 120px;
 }
 .pa-recent-list__price {
  font-size: 1.25rem;
 }
 .pa-calendar-table {
  min-width: 660px;
  border-spacing: 5px;
 }
 .pa-calendar-day {
  min-height: 70px;
  border-radius: 12px;
  padding: 7px 7px 6px;
 }
 .pa-calendar-day__date, .pa-calendar-day__month, .pa-calendar-day__price {
  font-size: .84rem;
 }
 .pa-calendar-day__weekday {
  font-size: .66rem;
 }
 .pa-calendar-day__meta, .pa-calendar-day__empty {
  font-size: .68rem;
 }
 .pa-heatmap-table {
  min-width: 760px;
  border-spacing: 6px;
 }
 .pa-heatmap-cell {
  min-width: 64px;
  height: 58px;
  border-radius: 12px;
 }
 .pa-heatmap-cell__price {
  font-size: .84rem;
 }
 .pa-heatmap-cell__count {
  font-size: .66rem;
 }
}
.box__empty {
 padding: 28px 20px;
 border: 1px dashed #d7deea;
 border-radius: 20px;
 background: #f8fafc;
 text-align: center;
}
.box__empty-title {
 font-size: 1rem;
 font-weight: 700;
 color: #334155;
 margin-bottom: 6px;
}
.box__empty-text {
 font-size: .95rem;
 color: #64748b;
}
/* Таблица цен по отелям */
.pa-tour-lines {
 border-top: 1px solid #e5edf5;
}
.pa-tour-lines__head, .pa-tour-lines__row {
 display: grid;
 grid-template-columns: minmax(260px, 1.8fr) minmax(100px, 140px) minmax(150px, 180px) 90px 80px 110px;
 gap: 10px;
 align-items: center;
}
.pa-tour-lines__head {
 padding: 10px 0;
 font-size: 12px;
 line-height: 1.2;
 text-transform: uppercase;
 letter-spacing: .03em;
 color: #8aa0b6;
}
.pa-tour-lines__row {
 padding: 10px 0;
 border-top: 1px solid #e5edf5;
 font-size: 14px;
 line-height: 1.35;
 transition: background-color .2s ease;
}
.pa-tour-lines__row:hover {
 background: #f8fbfe;
}
.pa-tour-lines__hotel, .pa-tour-lines__meal, .pa-tour-lines__region {
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
 text-transform: capitalize;
}
.pa-tour-lines__price {
 white-space: nowrap;
 font-weight: 600;
}
.pa-tour-lines__note {
 font-size: 12px;
 color: #1f8b4d;
 white-space: nowrap;
}
.pa-tour-lines__row > div:nth-child(4), .pa-tour-lines__row > div:nth-child(5), .pa-tour-lines__row > div:nth-child(6) {
 white-space: nowrap;
}
.pa-tour-bottom-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 10px;
 margin-top: 6px;
}
.pa-tour-compact {
 padding: 10px 12px;
 border: 1px solid #e5edf5;
 border-radius: 8px;
 background: #fbfdff;
}
.pa-tour-compact__title {
 margin-bottom: 8px;
 font-size: 14px;
 line-height: 1.2;
}
.pa-tour-compact__row {
 display: flex;
 justify-content: space-between;
 gap: 8px;
 padding: 4px 0;
 font-size: 13px;
 line-height: 1.3;
 color: #52657a;
}
.pa-tour-compact__row--active {
 color: #168348;
}
.pa-tour-compact__empty {
 font-size: 13px;
 color: #94a3b8;
}
.pa-tour-modal-report .nav-pills .nav-link {
 padding: 6px 14px;
 border: 1px solid var(--gray);
 background: #f3f7fb;
 font-size: 13px;
 line-height: 1.2;
 color: #294661;
 transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.pa-tour-modal-report .nav-pills .nav-link:hover {
 background: #eaf2f9;
}
.pa-tour-modal-report .nav-pills .nav-link.active, .pa-tour-modal-report .nav-pills .show > .nav-link {
 color: #fff;
 background: #2f6fad;
 border-color: #2f6fad;
}
.pa-tour-modal-report .nav-pills .badge {
 font-size: 11px;
 vertical-align: middle;
}
@media (max-width: 1199.98px) {
 .pa-tour-lines__head, .pa-tour-lines__row {
  grid-template-columns: minmax(220px, 1.7fr) minmax(90px, 120px) minmax(120px, 150px) 80px 70px 100px;
  gap: 8px;
 }
 .pa-tour-lines__head {
  font-size: 11px;
 }
 .pa-tour-lines__row {
  font-size: 13px;
 }
}
@media (max-width: 991.98px) {
 .pa-tour-lines__head, .pa-tour-lines__row {
  grid-template-columns: minmax(190px, 1.7fr) 90px 70px 100px;
  gap: 8px;
 }
 .pa-tour-lines__head > div:nth-child(3), .pa-tour-lines__row > div:nth-child(3), .pa-tour-lines__head > div:nth-child(5), .pa-tour-lines__row > div:nth-child(5) {
  display: none;
 }
 .pa-tour-lines__head {
  font-size: 11px;
 }
 .pa-tour-lines__row {
  font-size: 13px;
 }
 .pa-tour-bottom-grid {
  grid-template-columns: 1fr;
 }
}
@media (max-width: 767.98px) {
 .pa-tour-modal-report__title {
  font-size: 22px;
 }
 .pa-tour-modal-report__summary {
  gap: 6px 12px;
  font-size: 13px;
 }
 .pa-tour-chart {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
 }
 .pa-tour-chart__price {
  font-size: 11px;
 }
 .pa-tour-lines {
  border-top: 0;
 }
 .pa-tour-lines__head {
  display: none;
 }
 .pa-tour-lines__row {
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 10px 0;
 }
 .pa-tour-lines__hotel, .pa-tour-lines__price, .pa-tour-lines__note, .pa-tour-lines__row > div {
  white-space: normal;
 }
 .pa-tour-lines__row > div:not(.pa-tour-lines__hotel):not(.pa-tour-lines__price):not(.pa-tour-lines__note) {
  font-size: 12px;
  color: #6f859d;
 }
 .pa-tour-lines__hotel {
  font-size: 14px;
 }
 .pa-tour-lines__price {
  font-size: 15px;
 }
}
.pa-tour-month-insight {
 border-top: 1px solid #dfe7f1;
}
.pa-tour-month-insight__head {
 margin-bottom: 14px;
}
.pa-tour-month-insight__top {
 display: grid;
 grid-template-columns: minmax(240px, 320px) 1fr;
 gap: 24px;
 align-items: start;
 margin-bottom: 16px;
}
.pa-tour-month-insight__hero-price {
 font-size: 36px;
 line-height: 1.05;
 margin-bottom: 6px;
}
.pa-tour-month-insight__badge {
 display: inline-flex;
 align-items: center;
 min-height: 34px;
 padding: 6px 12px;
 border-radius: 999px;
 font-size: 13px;
 line-height: 1.25;
 font-weight: 600;
}
.pa-tour-month-insight__badge i {
 margin-right: 6px;
}
.pa-tour-month-insight__badge--good {
 background: #e9f7ef;
 color: #1f8f55;
}
.pa-tour-month-insight__badge--warn {
 background: #fff4df;
 color: #b97800;
}
.pa-tour-month-insight__badge--neutral {
 background: #f3f6fa;
 color: #5f7186;
}
.pa-tour-month-insight__price-metrics {
 display: grid;
 grid-template-columns: repeat(3, minmax(140px, 1fr));
 gap: 14px;
}
.pa-tour-month-insight__price-card {
 padding: 14px 16px;
 border: 1px solid #e6edf5;
 border-radius: 12px;
 background: #fbfdff;
}
.pa-tour-month-insight__price-card strong {
 display: block;
 font-size: 18px;
 line-height: 1.2;
 font-weight: 700;
}
.pa-tour-month-similar__list {
 border-top: 1px solid #edf2f7;
}
.pa-tour-month-similar__row {
 display: grid;
 grid-template-columns: 90px minmax(140px, 220px) 1fr;
 gap: 12px;
 align-items: center;
 padding: 11px 0;
 border-bottom: 1px solid #edf2f7;
 transition: background-color .15s ease;
}
.pa-tour-month-similar__row:hover {
 text-decoration: none;
 background: rgba(47, 111, 236, 0.03);
}
.pa-tour-month-similar__row--active {
 font-weight: 600;
}
.pa-tour-month-similar__price {
 font-weight: 600;
}
.pa-tour-month-similar__note {
 justify-self: end;
 display: inline-flex;
 align-items: center;
 min-height: 28px;
 padding: 4px 10px;
 border-radius: 999px;
 font-size: 12px;
 line-height: 1.2;
 font-weight: 600;
 white-space: nowrap;
}
.pa-tour-month-similar__note--active {
 background: #eaf1ff;
 color: #2f6fec;
}
.pa-tour-month-similar__note--best {
 background: #e9f7ef;
 color: #1f8f55;
}
.pa-tour-month-similar__note--good {
 background: #eef8f2;
 color: #1f8f55;
}
.pa-tour-month-similar__note--warn {
 background: #fff4df;
 color: #b97800;
}
.pa-tour-month-similar__note--neutral {
 background: #f3f6fa;
 color: #5f7186;
}
.pa-tour-month-insight__best {
 margin-top: 10px;
 font-size: 13px;
 color: #6c7f95;
}
@media (max-width: 991.98px) {
 .pa-tour-month-insight__top {
  grid-template-columns: 1fr;
  gap: 18px;
 }
 .pa-tour-month-insight__price-metrics {
  grid-template-columns: repeat(3, minmax(120px, 1fr));
 }
}
@media (max-width: 767.98px) {
 .pa-tour-month-insight__hero-price {
  font-size: 30px;
 }
 .pa-tour-month-insight__price-metrics {
  grid-template-columns: 1fr;
  gap: 10px;
 }
 .pa-tour-month-similar__row {
  grid-template-columns: 68px 1fr auto;
  gap: 8px;
 }
 .pa-tour-month-similar__note {
  font-size: 11px;
  padding: 4px 8px;
 }
}
.pa-marina-hot-calendar {
 margin-bottom: 18px;
}
.pa-marina-hot-calendar-grid {
 display: grid;
 grid-template-columns: repeat(7, minmax(0, 1fr));
 gap: 10px;
}
.pa-marina-hot-calendar-day {
 min-height: 96px;
 cursor: pointer;
}
@media (max-width: 991.98px) {
 .pa-marina-hot-calendar-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
 }
}
@media (max-width: 767.98px) {
 .pa-marina-hot-calendar-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}
.pa-report-table {
 font-size: 14px;
}
.pa-report-table thead th {
 background: #fbfdff;
 border-bottom: 1px solid #e5edf5;
}
.pa-report-table tbody tr {
 transition: background 0.15s ease;
}
.pa-report-table tbody tr:hover {
 background: #f8fbfe !important;
}
/* === МЯГКИЕ ЦВЕТА ДЛЯ ТАБЛИЦЫ (как в календаре) === */

.pa-report-table .table-success,
.pa-report-table .table-success > td,
.pa-report-table .table-success > th {
 background: #d9efdf !important;
 border-color: #b8dfc1 !important;
}

.pa-report-table .table-warning,
.pa-report-table .table-warning > td,
.pa-report-table .table-warning > th {
 background: #f4ebbf !important;
 border-color: #e6d991 !important;
}

.pa-report-table .table-danger,
.pa-report-table .table-danger > td,
.pa-report-table .table-danger > th {
 background: #f7dfd8 !important;
 border-color: #ebc2b7 !important;
}

.pa-report-table .table-primary,
.pa-report-table .table-primary > td,
.pa-report-table .table-primary > th {
 background: #eef5ff !important;
 border-color: #a7c5f6 !important;
}

.pa-report-table .table-info,
.pa-report-table .table-info > td,
.pa-report-table .table-info > th {
 background: #f3faff !important;
 border-color: #cfe7f7 !important;
}

.pa-report-table .table-secondary,
.pa-report-table .table-secondary > td,
.pa-report-table .table-secondary > th {
 background: #f5f7fa !important;
 border-color: #e4e9f0 !important;
}

.pa-report-table .table-light,
.pa-report-table .table-light > td,
.pa-report-table .table-light > th {
 background: #fcfcfd !important;
 border-color: #eef2f6 !important;
}

.pa-report-table .table-dark,
.pa-report-table .table-dark > td,
.pa-report-table .table-dark > th {
 background: #e4e7ec !important;
 border-color: #cfd4dc !important;
 color: #1f2937 !important;
}

.pa-report-table tbody tr.table-success:hover,
.pa-report-table tbody tr.table-warning:hover,
.pa-report-table tbody tr.table-danger:hover,
.pa-report-table tbody tr.table-primary:hover,
.pa-report-table tbody tr.table-info:hover,
.pa-report-table tbody tr.table-secondary:hover,
.pa-report-table tbody tr.table-light:hover,
.pa-report-table tbody tr.table-dark:hover {
 filter: brightness(0.97);
}

/* === BADGE INSIDE pa-report-table === */

.pa-report-table .badge {
 display: inline-block;
 padding: 5px 10px;
 font-size: 12px;
 line-height: 1.2;
 font-weight: 600;
 border-radius: 999px;
 border: 1px solid transparent;
 box-shadow: 0 0 0 2px rgba(255,255,255,0.6) !important;
}

/* success */
.pa-report-table .badge-success {
 background: #d9efdf;
 border-color: #b8dfc1;
 color: #1f6b35;
}

/* warning */
.pa-report-table .badge-warning {
 background: #f4ebbf;
 border-color: #e6d991;
 color: #8a6a00;
}

/* danger */
.pa-report-table .badge-danger {
 background: #f7dfd8;
 border-color: #ebc2b7;
 color: #9b2c1f;
}

/* primary */
.pa-report-table .badge-primary {
 background: #eef5ff;
 border-color: #a7c5f6;
 color: #245ea8;
}

/* secondary */
.pa-report-table .badge-secondary {
 background: #f5f7fa;
 border-color: #e4e9f0;
 color: #667085;
}

/* чуть компактнее в таблице */
.pa-report-table .badge {
 white-space: nowrap;
 vertical-align: middle;
}

/* если строка цветная — badge все равно читается */
.pa-report-table .table-success .badge,
.pa-report-table .table-warning .badge,
.pa-report-table .table-danger .badge,
.pa-report-table .table-primary .badge,
.pa-report-table .table-secondary .badge {
 box-shadow: 0 0 0 1px rgba(255,255,255,0.35) inset;
}

.pa-report-table .badge {
 white-space: nowrap;
 vertical-align: middle;
 max-width: 100%;
 overflow: hidden;
 text-overflow: ellipsis;
}

/* hover мягкий */
.pa-report-table tbody tr.table-success:hover,
.pa-report-table tbody tr.table-warning:hover,
.pa-report-table tbody tr.table-danger:hover {
 filter: brightness(0.97);
}


/* === Pagination (DataTables) === */
.dataTables_paginate {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

/* Кнопки */
.dataTables_paginate .paginate_button {
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.2;
  border-radius: 20px;
  border: 1px solid #dcdcdc;
  background: #f8f9fa;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

/* Hover */
.dataTables_paginate .paginate_button:hover {
  background: #e9ecef;
  border-color: #cfd4da;
  color: #212529;
}

/* Активная страница */
.dataTables_paginate .paginate_button.current {
  background: #4e73df;
  border-color: #4e73df;
  color: #fff;
  font-weight: 500;
  box-shadow: 0 2px 6px rgba(78, 115, 223, 0.25);
}

/* Disabled */
.dataTables_paginate .paginate_button.disabled {
  background: #f1f3f5;
  color: #adb5bd;
  border-color: #e9ecef;
  cursor: default;
  opacity: 0.7;
}

/* Prev / Next чуть выделим */
.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next {
  font-weight: 500;
}

/* Контейнер страниц */
.dataTables_paginate span {
  display: inline-flex;
  gap: 6px;
}

#datesViewSwitch .btn {
 min-width: 120px;
}
#statsCalendarWrap .pa-calendar-day {
 cursor: pointer;
}
#statsCalendarWrap .pa-calendar-day__meta {
 font-size: 12px;
}

/* === Позиция на рынке — улучшенный текст === */

.pa-season-card__meta {
  font-size: 13px;
  line-height: 1.5;
  color: #4a5568;
}

/* Статус (Лидер / Слабая / Средняя) */
.pa-season-card__meta b {
  font-size: 14px;
  display: inline-block;
  margin-bottom: 6px;
}

/* Блок приоритета */
.pa-season-priority {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed #e2e8f0;
  font-size: 13px;
}

/* Заголовок "Приоритет" */
.pa-season-priority b {
  color: #2d3748;
  font-size: 13px;
}

/* Список действий */
.pa-season-priority-line {
  margin-top: 2px;
  color: #2d3748;
}

/* Цвета статусов (чуть мягче и понятнее) */
.pa-season-card--best .pa-season-card__price {
  color: #2f855a; /* зеленый */
}

.pa-season-card--p3 .pa-season-card__price {
  color: #b7791f; /* желтый */
}

.pa-season-card--p4 .pa-season-card__price {
  color: #c53030; /* красный */
}

.pa-season-card--p4 {
  border-left: 4px solid #e53e3e;
}

.pa-season-card--p3 {
  border-left: 4px solid #ecc94b;
}

.pa-season-card--best {
  border-left: 4px solid #38a169;
}

/* === Улучшенный блок "Позиция на рынке" === */

.pa-season-card__meta {
  font-size: 13px;
  line-height: 1.5;
  color: #4a5568;
}

.pa-season-card__meta b {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 15px;
}

.pa-season-priority {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed #d6dbe3;
  font-size: 13px;
  line-height: 1.45;
}

.pa-season-priority b {
  display: inline-block;
  margin-bottom: 4px;
  color: #2d3748;
  font-size: 13px;
}

.pa-season-priority-line {
  margin-top: 2px;
  color: #2d3748;
}

.pa-season-card--best .pa-season-card__price {
  color: #2f855a;
}

.pa-season-card--p3 .pa-season-card__price {
  color: #b7791f;
}

.pa-season-card--p4 .pa-season-card__price {
  color: #c53030;
}

.pa-season-card--best {
  border-left: 4px solid #38a169;
}

.pa-season-card--p3 {
  border-left: 4px solid #ecc94b;
}

.pa-season-card--p4 {
  border-left: 4px solid #e53e3e;
}


 .pa-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
 }

 .pa-detail-grid--secondary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .pa-detail-card {
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 10px;
  padding: 18px 20px;
  min-height: 132px;
 }

 .pa-detail-card__label {
  font-size: 14px;
  color: #6c757d;
  margin-bottom: 10px;
 }

 .pa-detail-card__value {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #212529;
  margin-bottom: 6px;
 }

 .pa-detail-card__meta {
  font-size: 13px;
  color: #6c757d;
  line-height: 1.45;
 }

 .pa-detail-card--success {
  border-color: #b8dfc1;
  background: #f3fbf5;
 }

 .pa-detail-card--warning {
  border-color: #ead0ad;
  background: #fff8ec;
 }

 .pa-detail-card--danger {
  border-color: #ebc2b7;
  background: #fff4f1;
 }

 .pa-detail-card--neutral {
  border-color: #d9dee3;
  background: #f8f9fb;
 }

 .pa-detail-section {
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 18px;
 }

 .pa-detail-section__title {
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 14px;
 }

 @media (max-width: 1199.98px) {
  .pa-detail-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pa-detail-grid--secondary {
   grid-template-columns: repeat(2, minmax(0, 1fr));
  }
 }

 @media (max-width: 767.98px) {
  .pa-detail-grid,
  .pa-detail-grid--secondary {
   grid-template-columns: 1fr;
  }
 }

.pa-nowrap-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pa-col-hotel {
  max-width: 300px;
}
.pa-col-region {
  max-width: 160px;
}
.pa-col-operator {
  max-width: 180px;
}

.pa-season-card__price strong,
.pa-season-card__month,
.pa-season-card__meta span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.js-open-market-entry-detail.disabled {
 pointer-events: none;
 opacity: .6;
}