/* Стили, поставляемые отдельно вместе с версиями модуля «Закупки и разработки». */
.pur-shoot-results{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.pur-shoot-results>.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}@media(max-width:680px){.pur-shoot-results{grid-template-columns:1fr}.pur-shoot-results>.btn{justify-self:stretch}}
.pur-summary-product__open{margin-top:3px;color:#fff!important;font-weight:750;letter-spacing:.01em}.pur-summary-product>summary:hover .pur-summary-product__open{text-decoration:underline;text-underline-offset:3px}

/* В настройках Ганта название этапа занимает отдельную строку: длинный текст
   больше не попадает под поле дней и переключатель параллельного выполнения. */
.pur-gantt-duration {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 7px;
}

.pur-gantt-duration > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pur-gantt-duration__controls {
  width: 100%;
  justify-content: space-between;
}

/* Текущий месяц — отдельная сквозная колонка, а не цвет этапов плана. */
.gmx-wrap {
  --gmx-label-width: 520px;
  --gmx-month-width: 112px;
}

.gmx-head,
.gmx-model,
.gmx-subrow,
.gmx-dates {
  width: max-content;
  box-sizing: border-box;
}

.gmx-head__title,
.gmx-model__name,
.gmx-model-controls,
.gmx-label,
.gmx-cell,
.gmx-month {
  box-sizing: border-box;
}

.gmx-label {
  overflow: hidden;
}

.gmx-label > :not(.gmx-step-dot) {
  min-width: 0;
}

.gmx-label small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gmx-month.is-current {
  box-shadow: inset 2px 0 color-mix(in srgb, var(--accent) 58%, transparent), inset -2px 0 color-mix(in srgb, var(--accent) 58%, transparent);
}

.gmx-cell.is-current-month {
  box-shadow: inset 2px 0 color-mix(in srgb, var(--accent) 42%, transparent), inset -2px 0 color-mix(in srgb, var(--accent) 42%, transparent);
}

@media(max-width:760px) {
  .gmx-wrap {
    --gmx-label-width: 300px;
    --gmx-month-width: 78px;
  }
}

/* Исследование трендов: все поверхности и подсказки используют общую палитру темы. */
.trend-research-workspace .research-workspace-section,.trend-research-workspace .trend-frequency-year{background:var(--panel);color:var(--text)}
:root[data-theme="dark"] .trend-research-workspace .research-add-query.btn,
:root[data-theme="dark"] .research-idea-drawer>summary,
:root[data-theme="dark"] .trend-research-workspace .research-photo-search.btn,
:root[data-theme="dark"] .trend-research-workspace .research-similar-search.btn,
:root[data-theme="dark"] .research-competitor-period>.muted,
:root[data-theme="dark"] .research-match-period__range,
:root.theme-dark .trend-research-workspace .research-add-query.btn,
:root.theme-dark .research-idea-drawer>summary,
:root.theme-dark .trend-research-workspace .research-photo-search.btn,
:root.theme-dark .trend-research-workspace .research-similar-search.btn,
:root.theme-dark .research-competitor-period>.muted,
:root.theme-dark .research-match-period__range{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 45%,var(--border));color:var(--text)}
:root[data-theme="dark"] .research-idea-delete.btn,
:root[data-theme="dark"] .research-product-delete.btn,
:root.theme-dark .research-idea-delete.btn,
:root.theme-dark .research-product-delete.btn{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 42%,var(--border));color:var(--bad)}
:root[data-theme="dark"] .research-saved-reviews__item,
:root[data-theme="dark"] .research-saved-reviews__item .reviews-competitor__columns>div,
:root.theme-dark .research-saved-reviews__item,
:root.theme-dark .research-saved-reviews__item .reviews-competitor__columns>div{background:var(--panel-2);color:var(--text)}
:root[data-theme="dark"] .trend-frequency-year__delta.is-positive,:root.theme-dark .trend-frequency-year__delta.is-positive{background:var(--good-soft);color:var(--good)}
:root[data-theme="dark"] .trend-frequency-year__delta.is-negative,:root.theme-dark .trend-frequency-year__delta.is-negative{background:var(--bad-soft);color:var(--bad)}
:root[data-theme="dark"] .research-idea-transfer.btn:hover,:root.theme-dark .research-idea-transfer.btn:hover{background:color-mix(in srgb,var(--accent) 18%,var(--panel))}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .trend-research-workspace .research-add-query.btn,
  :root:not([data-theme="light"]) .research-idea-drawer>summary,
  :root:not([data-theme="light"]) .trend-research-workspace .research-photo-search.btn,
  :root:not([data-theme="light"]) .trend-research-workspace .research-similar-search.btn,
  :root:not([data-theme="light"]) .research-competitor-period>.muted,
  :root:not([data-theme="light"]) .research-match-period__range{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 45%,var(--border));color:var(--text)}
  :root:not([data-theme="light"]) .research-idea-delete.btn,
  :root:not([data-theme="light"]) .research-product-delete.btn{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 42%,var(--border));color:var(--bad)}
}

/* Сохранённые конкуренты модели: фото, бренд и ссылка из общего справочника. */
.pur-tracked-competitors{display:grid;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}
.pur-tracked-competitors__title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pur-tracked-competitors__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pur-tracked-competitor{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;min-height:88px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none}
.pur-tracked-competitor:hover{border-color:var(--accent);box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 14%,transparent)}
.pur-tracked-competitor img,.pur-tracked-competitor__photo{width:68px;height:72px;border-radius:9px;object-fit:cover;background:var(--panel-3);display:grid;place-items:center;color:var(--muted);font-size:11px;text-align:center}
.pur-tracked-competitor__copy{display:grid;gap:4px;min-width:0}.pur-tracked-competitor__copy b,.pur-tracked-competitor__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pur-tracked-competitor__copy small{color:var(--muted)}.pur-tracked-competitor__copy>span{color:var(--accent);font-size:12px;font-weight:700}
.pur-tracked-competitors__hint{font-size:12px}.pur-tracked-competitors__empty{margin-bottom:14px}
@media(max-width:620px){.pur-tracked-competitors__grid{grid-template-columns:1fr}}

.research-price-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:10px 0}.research-price-filter .pf{width:min(280px,100%)}.research-price-filter .muted{padding-bottom:11px;font-size:13px}

/* В узкой служебной колонке Ганта подпись дедлайна остаётся одной строкой. */
.gmx-model-controls label:nth-child(3)>span{white-space:nowrap;font-size:8px;letter-spacing:-.15px}
.pur-competitors__head,.pur-competitor{grid-template-columns:76px minmax(150px,.65fr) minmax(260px,1.35fr) auto}
.pur-competitor__identity{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px;min-width:0}
.pur-competitor__identity .input{width:100%;min-width:0}
.pur-competitor__article{font-variant-numeric:tabular-nums;color:var(--muted)}
.pur-competitor{align-items:start;row-gap:5px;padding:7px 0;border-bottom:1px solid var(--border)}
.pur-competitor__photo{grid-row:1 / span 2}
.pur-competitor__photo{width:72px;height:86px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:var(--card)}
.pur-competitor__photo--empty{display:grid;place-items:center;color:var(--muted);font-size:10px;line-height:1.1;text-align:center}
.pur-competitor-revenue-period{display:grid;gap:10px;margin:12px 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2)}
.pur-competitor-revenue-period__heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px}
.pur-competitor-revenue-period__heading strong{font-size:15px}
.pur-competitor-revenue-period__heading .muted,.pur-competitor-revenue__status{font-size:12px}
.pur-competitor-revenue-period__controls{display:flex;align-items:end;flex-wrap:wrap;gap:9px}
.pur-competitor-revenue-period__controls>label{display:grid;gap:4px;color:var(--muted);font-size:11px}
.pur-competitor-revenue-period .ui-date-picker{position:relative;display:block;min-width:0}
.pur-competitor-revenue-period__controls .inp{width:165px;min-height:37px}
.pur-competitor-revenue-period__controls .btn{min-height:37px}
.pur-competitor>.pur-competitor-revenue{grid-column:2/-1;grid-row:2;align-self:start}
.pur-competitor-revenue{display:flex;flex-wrap:wrap;gap:4px 16px;min-width:0;color:var(--muted);font-size:12px;line-height:1.35}
.pur-competitor-revenue strong{color:var(--text);font-size:13px}
.pur-tracked-competitor .pur-competitor-revenue{display:grid;gap:2px;font-size:11px}
.pur-tracked-competitor .pur-competitor-revenue strong{font-size:12px}
@media(max-width:700px){.pur-competitor{grid-template-columns:76px minmax(0,1fr) auto}.pur-competitor>.input,.pur-competitor>.pur-competitor__identity,.pur-competitor__url{grid-column:2/-1}.pur-competitor>.btn--danger{grid-column:3;justify-self:end}}
@media(max-width:700px){.pur-competitor__photo{grid-row:auto}.pur-competitor>.pur-competitor-revenue{grid-column:1/-1;grid-row:auto}}
.demand-calendar-overview:empty{display:none}.demand-calendar-overview__panel{display:grid;gap:9px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.demand-calendar-overview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.demand-calendar-overview__head>div:first-child{display:grid;gap:2px}.demand-calendar-overview__head b{font-size:14px}.demand-calendar-overview__head small{color:var(--muted);font-size:10px}.demand-calendar-overview__legend{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:9px}.demand-calendar-overview__legend span{display:flex;align-items:center;gap:4px}.demand-calendar-overview__legend span::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--border)}.demand-calendar-overview__legend .is-bring::before{background:color-mix(in srgb,var(--warn) 18%,var(--card))}.demand-calendar-overview__legend .is-sales::before{background:color-mix(in srgb,var(--good) 16%,var(--card))}.demand-calendar-overview__legend .is-clearance::before{background:color-mix(in srgb,var(--warn) 28%,var(--card))}
.demand-calendar-overview__scroll{overflow-x:auto;border:1px solid var(--border);border-radius:9px}.demand-calendar-overview__grid{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(12,minmax(48px,.45fr)) repeat(4,minmax(92px,.75fr)) minmax(260px,2fr);width:max(100%,1370px);background:var(--border);gap:1px}.demand-calendar-overview__corner,.demand-calendar-overview__month,.demand-calendar-overview__query,.demand-calendar-overview__cell,.demand-calendar-overview__result,.demand-calendar-overview__comment{min-width:0;background:color-mix(in srgb,var(--accent) 5%,var(--card))}.demand-calendar-overview__corner,.demand-calendar-overview__month{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px;color:var(--muted);font-size:9px;font-weight:750;text-align:center}.demand-calendar-overview__corner{justify-content:flex-start;padding-left:10px}.demand-calendar-overview__month.is-result{justify-content:flex-start;padding-left:8px;color:var(--text);text-align:left}.demand-calendar-overview__query{display:flex;align-items:center;min-height:42px;padding:7px 10px;overflow:hidden;font-size:11px;font-weight:750;text-overflow:ellipsis}.demand-calendar-overview__cell{display:grid;place-items:center;min-height:42px;color:var(--text);font-size:12px;font-weight:900}.demand-calendar-overview__cell.is-bring{background:color-mix(in srgb,var(--warn) 18%,var(--card))}.demand-calendar-overview__cell.is-sales{background:color-mix(in srgb,var(--good) 16%,var(--card))}.demand-calendar-overview__cell.is-peak{background:color-mix(in srgb,var(--good) 28%,var(--card))}.demand-calendar-overview__cell.is-clearance{background:color-mix(in srgb,var(--warn) 28%,var(--card))}.demand-calendar-overview__cell.is-quiet{background:color-mix(in srgb,var(--accent) 3%,var(--card))}.demand-calendar-overview__result,.demand-calendar-overview__comment{display:flex;align-items:center;min-height:42px;padding:7px 8px;font-size:10px;line-height:1.3;text-transform:capitalize}.demand-calendar-overview__comment{overflow:hidden;color:var(--muted);text-transform:none}.demand-calendar-overview__note{font-size:9px}
@media(max-width:760px){.demand-calendar-overview__head{flex-direction:column}.demand-calendar-overview__grid{grid-template-columns:minmax(170px,1.7fr) repeat(12,48px) repeat(4,88px) 220px}}
.demand-calendar-overview__grid{width:max(100%,1450px)}
.demand-calendar-overview__cell.is-quiet{background:var(--card)}
.demand-calendar-overview__legend .is-bring::before,.demand-calendar-overview__cell.is-bring{background:color-mix(in srgb,var(--accent) 10%,var(--card))}
.demand-calendar-overview__legend .is-sales::before,.demand-calendar-overview__cell.is-sales{background:color-mix(in srgb,var(--accent) 17%,var(--card))}
.demand-calendar-overview__cell.is-peak{background:color-mix(in srgb,var(--accent) 28%,var(--card))}
.demand-calendar-overview__legend .is-clearance::before,.demand-calendar-overview__cell.is-clearance{background:color-mix(in srgb,var(--accent) 23%,var(--card))}
.demand-calendar-overview__grid{gap:0;background:#fff;border-top:1px solid rgba(255,255,255,.96);border-left:1px solid rgba(255,255,255,.96)}
.demand-calendar-overview__corner,.demand-calendar-overview__month,.demand-calendar-overview__query,.demand-calendar-overview__cell,.demand-calendar-overview__result,.demand-calendar-overview__comment{border-right:1px solid rgba(255,255,255,.96);border-bottom:1px solid rgba(255,255,255,.96)}
.demand-calendar-overview__corner,.demand-calendar-overview__month,.demand-calendar-overview__query,.demand-calendar-overview__result,.demand-calendar-overview__comment{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.demand-calendar-overview__cell.is-quiet{background:var(--panel)}
.demand-calendar-overview__legend .is-bring::before,.demand-calendar-overview__cell.is-bring{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}
.demand-calendar-overview__legend .is-sales::before,.demand-calendar-overview__cell.is-sales{background:color-mix(in srgb,var(--accent) 25%,var(--panel))}
.demand-calendar-overview__cell.is-peak{background:color-mix(in srgb,var(--accent) 40%,var(--panel))}
.demand-calendar-overview__legend .is-clearance::before,.demand-calendar-overview__cell.is-clearance{background:color-mix(in srgb,var(--accent) 31%,var(--panel))}
.pur-season-searches__period{margin-top:10px}
.pur-season-searches__period .btn.is-active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent)}
.pur-season-searches__period-note{display:block;min-height:0;margin:5px 0 0;font-size:10px;line-height:1.35}
.pur-season-searches__period-note:empty{display:none}

/* Предварительная экономика: комплект, отдельные части или гибрид. */
.sales-format{display:grid;gap:12px;margin-bottom:16px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:16px;background:var(--panel-2)}
.sales-format__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sales-format__head h4{margin:0 0 3px;font-size:17px}.sales-format__head p{margin:0;color:var(--muted);font-size:12px}
.sales-format__queries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sales-format__economics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sales-format__field{display:grid;gap:5px;min-width:0}.sales-format__field>span{color:var(--muted);font-size:11px;font-weight:700}
.sales-format__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sales-format__status{color:var(--muted)}.sales-format__result{display:grid;gap:10px}.sales-format__decision{padding:10px 12px;border-radius:11px;background:var(--good-soft);color:var(--text);font-size:13px}.sales-format__decision b{color:var(--good)}
.sales-format__check{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--card);cursor:pointer}.sales-format__check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.sales-format__check span{display:grid;gap:2px}.sales-format__check small{color:var(--muted);font-size:10px;font-weight:400}
.sales-format__operations{display:grid;gap:7px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));font-size:12px}.sales-format__operations ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px;margin:0;padding-left:18px}.sales-format__operations p{margin:0;color:var(--muted)}
.sales-format__table{width:100%;border-collapse:collapse;min-width:720px}.sales-format__table th,.sales-format__table td{padding:8px 9px;border-bottom:1px solid var(--border);font-size:11px;text-align:right;white-space:nowrap}.sales-format__table th:first-child,.sales-format__table td:first-child{text-align:left}.sales-format__table td:first-child{display:flex;align-items:center;gap:7px}.sales-format__table td small{display:block;color:var(--muted);font-size:9px}.sales-format__table tr.is-best td{background:color-mix(in srgb,var(--good-soft) 72%,transparent)}
.sales-format__table td:first-child{display:table-cell;vertical-align:middle}.sales-format__table td:first-child .pill{margin-left:7px;vertical-align:middle}
@media(max-width:900px){.sales-format__queries,.sales-format__economics,.sales-format__operations ul{grid-template-columns:1fr}.sales-format__head{flex-direction:column}}
.pur-production-list__head>div{display:grid;gap:2px}.pur-production-list__head small{color:var(--muted);font-size:9px;font-weight:400}
.pur-production-item[draggable="true"]{cursor:grab}.pur-production-item[draggable="true"]:active{cursor:grabbing}.pur-production-item.is-dragging{opacity:.42}.pur-production-item.is-drop-before{box-shadow:inset 0 3px 0 var(--accent)}.pur-production-item.is-drop-after{box-shadow:inset 0 -3px 0 var(--accent)}

/* Price inclusion follows the active theme, not the browser checkbox colour. */
.pur-price-selection{display:inline-flex;align-items:center;gap:9px;grid-column:2/-1;justify-self:start;width:fit-content;max-width:100%;box-sizing:border-box;margin:3px 0 7px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--muted);font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;transition:background .15s,border-color .15s}
.pur-price-selection:has(input:checked){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card))}
.pur-price-selection:hover{border-color:var(--accent)}
.pur-price-selection input[type=checkbox]{appearance:none;-webkit-appearance:none;display:grid;place-content:center;flex:0 0 19px;width:19px;height:19px;margin:0;border:1.5px solid var(--muted);border-radius:6px;background:var(--card);cursor:pointer;box-sizing:border-box}
.pur-price-selection input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
.pur-price-selection input[type=checkbox]::before{content:'';width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg);opacity:0}
.pur-price-selection input[type=checkbox]:checked::before{opacity:1}
.pur-price-selection input[type=checkbox]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:3px}
.pur-price-selection:has(input:disabled){opacity:.55;cursor:default}
.pur-price-selection input:disabled{cursor:default}

/* One shared control height for brand, article, URL and row actions. */
.pur-competitor__identity>.input,.pur-competitor__url>.input,.pur-competitor__url>.btn,.pur-competitor>.btn{height:42px;min-height:42px;max-height:42px;box-sizing:border-box;margin-top:0;margin-bottom:0;border-radius:12px}
.pur-competitor__url{align-items:stretch}
.pur-competitor__url>.btn,.pur-competitor>.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 13px;line-height:1}
.pur-competitor__url>.btn{width:42px;min-width:42px;padding:0}
