/* ============ Neurosel — Акции / Promotions redesign ============
   Экран «Акции»: список акций, экран акции с вердиктом агента,
   таблица кандидатов, мини-панель «лесенка трёх цен».
   Подключается после styles.css и prices_redesign.css.
================================================================== */

:root {
  /* «рушит экономику» — янтарно-красный (между amber и rose) */
  --break: #BF5B33;
  --break-ink: #A84B26;
  --break-weak: #FBEFE7;
  --break-row: #FCF5F0;
  --break-row-hover: #FAEDE4;
  --break-bd: #F0D9C8;
}

/* premium scope — как pr-screen */
.pm-screen .card { border-radius: 16px; box-shadow: var(--shadow-soft); }

/* ================= A. Список акций ================= */
.pm-list { display: flex; flex-direction: column; gap: 12px; }
.pm-promo-card {
  display: flex; align-items: center; gap: 18px; width: 100%; text-align: left;
  padding: 17px 20px; cursor: pointer;
  transition: box-shadow .16s ease, transform .16s ease, border-color .16s;
}
.pm-promo-card:hover { border-color: var(--border-strong); box-shadow: 0 14px 30px -18px rgba(20,28,48,0.22), var(--shadow-soft); }
.pm-promo-card:hover .pm-card-chev { color: var(--text-2); transform: translateX(2px); }
.pm-card-main { flex: 1; min-width: 0; }
.pm-card-titlerow { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.pm-card-name { font-size: 14.5px; font-weight: 500; letter-spacing: -0.01em; }
.pm-card-meta { display: flex; align-items: center; gap: 7px; margin-top: 6px; font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; flex-wrap: wrap; }
.pm-card-meta .sep { color: var(--border-strong); }
.pm-card-meta > span { white-space: nowrap; }
.pm-card-chev { color: var(--text-3); flex: none; transition: color .14s, transform .14s; }

/* сводка агента — одна строка-вердикт */
.pm-sumline { display: flex; align-items: center; gap: 14px; flex: none; flex-wrap: wrap; justify-content: flex-end; }
.pm-sum-item { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--text-2); white-space: nowrap; }
.pm-sum-item b { font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.pm-sum-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.pm-sum-dot.ok { background: var(--green); }
.pm-sum-dot.break { background: var(--break); }
.pm-sum-dot.na { background: #B5BDCC; }
.pm-sum-pending { font-size: 12.5px; color: var(--text-3); white-space: nowrap; }

/* статус-чип акции */
.pm-status { display: inline-flex; align-items: center; gap: 7px; height: 22px; padding: 0 9px; border-radius: 7px; font-size: 11.5px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pm-status.active { background: var(--green-weak); color: var(--green); }
.pm-status.scheduled { background: #EEF1F6; color: var(--text-2); }

/* тип акции — текстовый бейдж */
.pm-tier { display: inline-flex; align-items: center; gap: 4px; height: 21px; padding: 0 8px; border-radius: 6px; font-size: 11px; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.pm-tier.super { background: var(--violet-weak); color: #7C53EE; }
.pm-tier.best { background: var(--accent-weak); color: var(--accent-ink); }

/* тестовый режим — тихий чип в шапке */
.pm-testchip { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; border-radius: 9px; border: 1px dashed var(--border-strong); background: transparent; font-size: 12px; color: var(--text-3); white-space: nowrap; }

/* ================= B. Герой «Вердикт агента» ================= */
.pm-hero {
  position: relative; border-radius: 18px; padding: 20px 24px; overflow: hidden;
  display: flex; align-items: center; gap: 24px; margin-bottom: 18px;
  background:
    radial-gradient(125% 145% at 0% 0%, #ECEFFE 0%, transparent 55%),
    radial-gradient(120% 150% at 100% 0%, #F1EBFE 0%, transparent 58%),
    radial-gradient(150% 180% at 108% 125%, #E7F3FF 0%, transparent 55%),
    linear-gradient(135deg, #F4F5FF 0%, #F6F1FE 100%);
  border: 1px solid #E3E2FA;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 20px 46px -24px rgba(124,83,238,0.50), 0 5px 16px -8px rgba(91,124,246,0.20);
}
.pm-hero::after { content: ""; position: absolute; right: -54px; top: -66px; width: 188px; height: 188px; border-radius: 50%; background: radial-gradient(circle, rgba(139,92,246,0.20), transparent 70%); pointer-events: none; }
.pm-hero::before { content: ""; position: absolute; top: -60%; left: -20%; width: 80%; height: 220%; background: radial-gradient(closest-side, rgba(255,255,255,0.55), transparent 72%); transform: translateX(-20%); pointer-events: none; animation: pr-sheen 8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .pm-hero::before { animation: none; } }
.pm-hero-main { flex: 1; min-width: 0; position: relative; z-index: 1; }
.pm-hero-top { display: flex; align-items: center; gap: 8px; }
.pm-hero-title { font-size: 22px; font-weight: 500; letter-spacing: -0.02em; color: #2C36B8; margin-top: 11px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.pm-hero-counters { display: flex; align-items: center; gap: 16px; margin-top: 11px; flex-wrap: wrap; }
.pm-hero-side { flex: none; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pm-hero-note { font-size: 11px; color: #585A86; text-align: right; max-width: 240px; line-height: 1.45; }

/* ================= C. Таблица кандидатов ================= */
.pm-tbl th.ta-r, .pm-tbl td.ta-r { text-align: right; }
.pm-tbl td { padding-top: 12px; padding-bottom: 12px; }
.pm-tbl th:nth-child(2), .pm-tbl td:nth-child(2) { width: 30%; min-width: 230px; }
.pm-money { font-family: var(--num); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; font-size: 13px; font-weight: 500; letter-spacing: -0.005em; white-space: nowrap; }
.pm-money.dim { color: var(--text-3); font-weight: 400; }
.pm-entry { color: var(--accent-ink); }
.pm-profitcell { display: flex; flex-direction: column; gap: 3px; align-items: flex-end; }
.pm-rent { font-size: 11px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.pm-hint { font-size: 11px; color: var(--amber); }

/* строки «рушит» — мягкая подложка */
tr.pm-breakrow { background: var(--break-row); }
.pm-screen .tbl tbody tr.pm-breakrow:hover { background: var(--break-row-hover); box-shadow: 0 10px 24px -14px rgba(191,91,51,0.24); }
tr.pm-narow .pm-name { color: var(--text-2); }

/* чипы вердикта */
.pm-verdict-chip { display: inline-flex; align-items: center; gap: 5px; height: 23px; padding: 0 9px; border-radius: 7px; font-size: 11.5px; font-weight: 500; white-space: nowrap; }
.pm-verdict-chip.ok { background: var(--green-weak); color: var(--green); }
.pm-verdict-chip.break { background: var(--break-weak); color: var(--break-ink); }
.pm-verdict-chip.na { background: #EEF1F6; color: var(--text-3); }

/* ================= Мини-панель: лесенка трёх цен ================= */
.pm-ladder { border: 1px solid var(--border); border-radius: 13px; background: #FCFCFE; padding: 14px 16px 13px; }
.pm-step { display: flex; align-items: flex-start; gap: 13px; }
.pm-rail { width: 14px; flex: none; display: flex; flex-direction: column; align-items: center; align-self: stretch; }
.pm-node { width: 12px; height: 12px; border-radius: 50%; flex: none; margin-top: 5px; }
.pm-node.current { background: var(--surface); border: 2.5px solid #97A4C4; }
.pm-node.entry { background: var(--accent); border: 2.5px solid #fff; box-shadow: 0 0 0 1.5px var(--accent), 0 1px 4px rgba(91,124,246,0.4); }
.pm-node.floor { width: 12px; height: 4px; border-radius: 2px; background: var(--text); margin-top: 9px; }
.pm-node.ghost { background: #EEF1F6; border: 2px dashed #C3CAD8; }
.pm-step-body { flex: 1; min-width: 0; padding-bottom: 2px; }
.pm-step-price { font-size: 16.5px; font-weight: 500; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; line-height: 1.15; }
.pm-step-price.dim { color: var(--text-3); font-weight: 400; }
.pm-step-lbl { font-size: 11px; color: var(--text-3); margin-top: 2px; }
.pm-step-tag { display: inline-block; white-space: nowrap; font-size: 9.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; padding: 1px 6px; border-radius: 5px; margin-left: 6px; vertical-align: 1px; }
.pm-step-tag.ym { background: var(--accent-weak); color: var(--accent-ink); }
.pm-step-tag.ours { background: #E9ECF2; color: var(--text-2); }

/* связка между ступенями: линия + аннотация разрыва */
.pm-gap { display: flex; align-items: center; gap: 13px; min-height: 30px; }
.pm-gap-rail { width: 14px; flex: none; align-self: stretch; display: flex; justify-content: center; }
.pm-gap-line { width: 2px; border-radius: 2px; background: var(--border-strong); }
.pm-gap-line.ok { background: #BBE3D0; }
.pm-gap-line.bad { background: #F0CDB9; }
.pm-gap-note { white-space: nowrap; font-size: 11.5px; color: var(--text-2); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; padding: 4px 0; }
.pm-gap-note b { font-weight: 500; }
.pm-gap-note.ok b { color: var(--green); }
.pm-gap-note.bad b { color: var(--break-ink); }

/* вердикт-баннер в панели */
.pm-pverdict { display: flex; gap: 10px; padding: 11px 14px; border-radius: 11px; font-size: 12.5px; line-height: 1.45; border: 1px solid transparent; }
.pm-pverdict svg { flex: none; margin-top: 1px; }
.pm-pverdict .tt { font-weight: 500; }
.pm-pverdict.ok { background: var(--green-weak); border-color: #C8E9D8; color: #2A6A4E; }
.pm-pverdict.ok .tt { color: #178257; }
.pm-pverdict.break { background: var(--break-weak); border-color: var(--break-bd); color: #8A4523; }
.pm-pverdict.break .tt { color: var(--break-ink); }
.pm-pverdict.na { background: #F4F6FA; border-color: var(--border); color: var(--text-2); }
.pm-pverdict.na .tt { color: var(--text); }

/* «почему порог такой» — разбор */
.pm-why { border: 1px solid var(--border); border-radius: 13px; overflow: hidden; }
.pm-why-head { display: flex; align-items: center; gap: 9px; padding: 11px 14px; font-size: 12.5px; font-weight: 500; background: #FCFCFE; border-bottom: 1px solid var(--border); }
.pm-why-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; font-size: 12.5px; border-bottom: 1px solid var(--border); }
.pm-why-row .k { color: var(--text-2); display: inline-flex; align-items: flex-start; gap: 7px; }
.pm-why-row .k .op { margin-top: 1px; }
.pm-why-row .ksub { font-size: 10.5px; color: var(--text-3); margin-top: 2px; }
.pm-why-row .k .op { color: var(--text-3); font-family: var(--num); width: 10px; text-align: center; }
.pm-why-row .v { font-family: var(--num); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; font-weight: 500; }
.pm-why-row:last-child { border-bottom: none; }
.pm-why-row.total { background: #F8F9FC; }
.pm-why-row.total .k { color: var(--text); font-weight: 500; }
.pm-why-cap { padding: 9px 14px 11px; font-size: 11px; color: var(--text-3); line-height: 1.5; border-top: 1px solid var(--border); background: #FCFCFE; }

/* профит-тайлы в панели */
.pm-ptiles { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.pm-ptile { border: 1px solid var(--border); border-radius: 11px; padding: 10px 12px; background: #FCFCFE; }
.pm-ptile-h { font-size: 11px; color: var(--text-2); }
.pm-ptile-val { font-size: 18px; font-weight: 500; letter-spacing: -0.02em; margin-top: 5px; font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.pm-ptile-sub { font-size: 10.5px; color: var(--text-3); margin-top: 3px; }

/* подсказка-состояние (нет закупки / нет порога) */
.pm-nahint { display: flex; gap: 10px; padding: 11px 13px; border-radius: 11px; background: var(--amber-weak); border: 1px solid #F0DCB4; font-size: 12px; color: #92671A; line-height: 1.45; }
.pm-nahint.info { background: var(--ai-tint); border-color: var(--ai-tint-bd); color: #3B3E63; }
.pm-nahint svg { flex: none; margin-top: 1px; }
.pm-nahint .btn { margin-top: 8px; }

/* пустое состояние списка */
.pm-empty { padding: 64px 20px 68px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; }
.pm-empty-ic { width: 46px; height: 46px; border-radius: 14px; background: #F1F3F8; color: var(--text-3); display: grid; place-items: center; margin-bottom: 6px; }
.pm-empty-t { font-size: 13.5px; font-weight: 500; color: var(--text); }
.pm-empty-s { font-size: 12.5px; color: var(--text-3); max-width: 340px; line-height: 1.55; }

/* шапка экрана акции */
.pm-back { display: inline-flex; align-items: center; white-space: nowrap; gap: 6px; font-size: 12.5px; font-weight: 500; color: var(--text-2); padding: 5px 9px 5px 6px; border-radius: 8px; transition: background .14s, color .14s; margin-left: -6px; }
.pm-back:hover { background: #EFF2F7; color: var(--text); }
.pm-back svg { transform: rotate(180deg); }
