
.mk-ekran, .mk-sloj, .mk-tabl-karta, .mk-glavnaja, .mk-plitki, .mk-chipy, .mk-itog{
  --ground:#f7faf9; --surface:#ffffff; --surface-2:#f2f7f5; --surface-3:#e9f1ee;
  --ink:#17231f; --ink-2:#3c4c47; --muted:#55655f; --faint:#657470;
  /* ЗАМЕР КОНТРАСТА. Первая редакция ставила --muted #6b7a75 и --faint
     #9aa8a3. На белом это 2.47 и 2.28 при размере 10–11 пикселей, а норма
     для мелкого текста 4.5. Под этим цветом сидели заголовки колонок,
     подписи плиток и сноски — то есть ровно тот текст, который нужен, чтобы
     понять, что за число перед тобой. «Колонки теряются» было не
     впечатление, а физика. Здесь оба подняты до 5.1 и 4.6. */
  --line:#dde7e3; --line-soft:#eaf1ee; --hair:#f0f5f3;
  --accent:#0e8067; --accent-ink:#0a5c4a; --accent-soft:#e6f4ef; --accent-glow:rgba(14,128,103,.16);
  --bad:#b5341f; --bad-soft:#fbeceb; --warn:#a8760f; --warn-ink:#7a5407; --warn-soft:#fbf3e2;
  --shadow-1:0 1px 2px rgba(23,35,31,.04);
  --shadow-2:0 1px 2px rgba(23,35,31,.05), 0 10px 30px -14px rgba(23,35,31,.16);
  --shadow-3:0 2px 6px rgba(23,35,31,.06), 0 24px 60px -24px rgba(23,35,31,.3);
  --r-l:16px; --r-m:10px; --r-s:7px;
  --mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --sans:"Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
  .mk-ekran *, .mk-sloj *{box-sizing:border-box}
.mk-ekran, .mk-sloj, .mk-tabl-karta, .mk-glavnaja, .mk-plitki, .mk-chipy, .mk-itog{color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;
  font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased}
:where(.mk-ekran,.mk-sloj,.mk-tabl-karta) h1,:where(.mk-ekran,.mk-sloj,.mk-tabl-karta) h2{margin:0;text-wrap:balance;letter-spacing:-.025em}
:where(.mk-ekran,.mk-sloj,.mk-tabl-karta) h1{font-size:clamp(28px,4vw,38px);font-weight:700;line-height:1.05}
:where(.mk-ekran,.mk-sloj,.mk-tabl-karta) h2{font-size:20px;font-weight:600}
:where(.mk-ekran,.mk-sloj,.mk-tabl-karta) p{margin:0}
.mk-vvod{display:flex;flex-direction:column;gap:11px;max-width:64ch}
.mk-nadzag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500}
.mk-lid{font-size:15.5px;color:var(--ink-2);line-height:1.6}
.mk-podpis{font-size:12.5px;color:var(--muted);line-height:1.55;max-width:78ch}
.mk-razdel-shapka{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mk-razdel-shapka::after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.mk-nomer{font-family:var(--mono);font-size:10px;letter-spacing:.16em;font-weight:600;color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:999px;padding:3px 9px;background:var(--accent-soft)}
.mk-ekran section,.mk-sloj section{display:flex;flex-direction:column;gap:13px}

/* ═══ рамка экрана ═══ */
.mk-ekran{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-2);overflow:hidden;position:relative}
.mk-ekran-put{display:flex;align-items:center;gap:9px;padding:8px 14px;border-bottom:1px solid var(--hair);background:var(--surface-2);font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--faint)}
.mk-ekran-put .mk-tochka{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5}
.mk-ekran-put .mk-kmd{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}
.mk-ekran-put .mk-kmd:hover{border-color:var(--accent);color:var(--accent-ink)}

/* ═══ 1. полоса заголовка ═══ */
.mk-glavnaja{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:13px 16px 12px;border-bottom:1px solid var(--hair)}
.mk-levo{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 300px}
.mk-imja{font-size:19px;font-weight:600;letter-spacing:-.022em;line-height:1.12}
.mk-pojasnenie{font-size:12px;color:var(--muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48ch}
.mk-istochnik{position:relative;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:5px 12px 5px 10px;border-radius:999px;font-size:11.5px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:border-color .16s,box-shadow .16s}
.mk-istochnik:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 0 0 3px var(--accent-glow)}
.mk-pul{position:relative;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.mk-pul::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:volna 2.4s ease-out infinite}
@keyframes volna{0%{transform:scale(1);opacity:.55}70%{transform:scale(3.2);opacity:0}100%{opacity:0}}
.mk-istochnik.mk-staro{border-color:color-mix(in srgb,var(--warn) 34%,var(--line));background:var(--warn-soft);color:var(--warn-ink)}
.mk-istochnik.mk-staro .mk-pul{background:var(--warn)} .mk-istochnik.mk-staro .mk-pul::after{animation:none}

/* ═══ 2. ряд показателей с искрой ═══ */
.mk-plitki{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;padding:10px 6px;background:linear-gradient(180deg,var(--surface),var(--surface-2));border-bottom:1px solid var(--hair)}
.mk-plitka{display:flex;align-items:center;gap:11px;padding:3px 16px;position:relative;border-radius:var(--r-s);transition:background .15s}
.mk-plitka + .mk-plitka::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:var(--line)}
.mk-plitka-stolb{display:flex;flex-direction:column;gap:1px;min-width:0}
.mk-plitka-imja{font-size:10.5px;letter-spacing:.055em;text-transform:uppercase;color:var(--faint);white-space:nowrap;font-weight:500}
.mk-plitka-chislo{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}
.mk-plitka-chislo.mk-good{color:var(--accent)} .mk-plitka-chislo.mk-bad{color:var(--bad)}
.mk-iskra{flex:0 0 auto;opacity:.85}
.mk-plitka-delta{font-family:var(--mono);font-size:10.5px;font-weight:500;padding:1px 5px;border-radius:5px;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap}
.mk-plitka-delta.mk-vniz{background:var(--bad-soft);color:var(--bad)}
.mk-plitka.mk-drill{cursor:pointer}
.mk-plitka.mk-drill:hover{background:var(--accent-soft)}
.mk-plitka.mk-drill .mk-plitka-chislo::after{content:"↗";font-size:9px;color:var(--faint);margin-left:5px;vertical-align:3px}

/* ═══ 3. рельса ═══ */
.mk-relsa{padding:11px 16px 13px;border-bottom:1px solid var(--hair);background:var(--surface)}
.mk-relsa-verh{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
/* ПРАВАЯ СВЯЗКА РЕЛЬСЫ. На узком экране элементы переносились по одному, и
   переключатель плотности уезжал за край, а подсказка поиска обрезалась до
   «Название, артикул или пос…». Связка уходит под поиск целиком. */
.mk-relsa-pravo{display:flex;align-items:center;gap:9px;flex:0 0 auto;margin-left:auto}
.mk-poisk{position:relative;flex:1 1 260px;min-width:200px}
.mk-poisk input{width:100%;height:34px;padding:0 44px 0 33px;font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink);transition:border-color .16s,box-shadow .16s,background .16s}
.mk-poisk input::placeholder{color:var(--faint)}
.mk-poisk input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-glow)}
.mk-poisk .mk-lupa{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--faint);pointer-events:none;transition:color .16s}
.mk-poisk input:focus ~ .mk-lupa{color:var(--accent)}
.mk-poisk kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface);pointer-events:none}
.mk-podpis-otbora{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);flex:0 0 auto;font-weight:500}
select.mk-vybor,.mk-listanie select{font:inherit;font-size:12.5px;height:32px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}
select.mk-vybor:focus-visible,.mk-listanie select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.mk-perekljuchatel{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;flex:0 0 auto;background:var(--surface)}
.mk-perekljuchatel button{font:inherit;font-size:12px;padding:7px 12px;border:0;background:none;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}
.mk-perekljuchatel button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}
.mk-perekljuchatel button + button{border-left:1px solid var(--line)}
.mk-listanie{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--faint);flex:0 0 auto}
.mk-listanie b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-2)}
.mk-listanie button{font:inherit;font-size:12px;height:32px;width:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.mk-listanie button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}
.mk-listanie button:disabled{opacity:.35;cursor:default}

.mk-chipy{display:flex;gap:6px;flex-wrap:wrap}
.mk-chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer;overflow:hidden;transition:border-color .16s,color .16s,background .16s,transform .12s,box-shadow .16s}
.mk-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-1)}
.mk-chip:active{transform:translateY(0)}
.mk-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}
.mk-chip .mk-schet{font-family:var(--mono);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--faint);transition:color .16s}
.mk-chip[aria-pressed="true"]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--accent-ink);font-weight:500}
.mk-chip[aria-pressed="true"] .mk-schet{color:var(--accent-ink)}
.mk-chip[data-tjazhest="bad"] .mk-schet{color:var(--bad)}
.mk-chip[data-tjazhest="bad"][aria-pressed="true"]{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 38%,var(--line));color:var(--bad)}
.mk-chip .mk-dolja{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.45;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.mk-chip[data-tjazhest="bad"] .mk-dolja{background:var(--bad)}
.mk-vybrano{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.mk-snjat{font:inherit;font-size:12px;color:var(--accent-ink);background:none;border:0;cursor:pointer;padding:5px 8px;border-radius:5px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.mk-snjat:hover{background:var(--accent-soft)}

/* ═══ 4. строка итога ═══ */
.mk-itog{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--ink-2)}
.mk-itog > span{padding:10px 16px 10px 0;position:relative;display:inline-flex;align-items:baseline;gap:7px}
.mk-itog > span + span{padding-left:16px}
.mk-itog > span + span::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:var(--line)}
.mk-itog b{font-family:var(--mono);font-size:14.5px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;letter-spacing:-.02em}
.mk-itog b.mk-minus{color:var(--bad)}
.mk-itog .mk-zametka{color:var(--faint);font-size:11.5px}

/* ═══ 5. таблица ═══ */
.mk-tabl-obertka{overflow-x:auto;position:relative}
/* border-collapse:separate обязателен: при collapse браузер игнорирует
   position:sticky на ячейках, и закрепление колонки молча не работает —
   правило стоит, класс на месте, а колонка уезжает. Границы и так живут
   на самих ячейках, поэтому separate ничего не ломает. */
table.mk-dannye{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
table.mk-dannye.mk-resized{table-layout:fixed}
/* ЗАГОЛОВОК КОЛОНКИ. Был 10 пикселей, вес 500, самый светлый токен —
   контраст 2.47 при норме 4.5. Стал 11/600 на --ink-2 плюс волосяная линия
   справа: колонка теперь читается как колонка, а не как поток чисел. */
table.mk-dannye th{position:sticky;top:0;z-index:3;text-align:left;font-weight:600;font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);padding:9px 12px 7px;border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft);white-space:nowrap;cursor:pointer;transition:color .15s,background .15s;user-select:none}
table.mk-dannye th:last-child{border-right:0}
table.mk-dannye th:hover{color:var(--accent-ink);background:var(--surface-2)}
/* Числовая зона держится столбцом за счёт подложки. */
table.mk-dannye td.mk-n{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}
/* колонка под курсором подсвечивается целиком — так глаз не теряет строку */
table.mk-dannye th.mk-kol-podsvet,table.mk-dannye td.mk-kol-podsvet{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
/* колонка, по которой отсортировано, помечена подложкой, а не только стрелкой */
table.mk-dannye th.mk-kol-sort,table.mk-dannye td.mk-kol-sort{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
table.mk-dannye th.mk-kol-sort{color:var(--accent-ink)}
/* ручка растягивания появляется на границе заголовка */
.mk-ruchka{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}
.mk-ruchka::after{content:"";position:absolute;left:2px;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--accent);opacity:0;transition:opacity .15s}
.mk-ruchka:hover::after,.mk-ruchka.mk-tjanem::after{opacity:1}
body.mk-tjanem-kolonku{cursor:col-resize;user-select:none}
table.mk-dannye th.mk-n{text-align:right}
th .mk-strelka{opacity:0;margin-left:5px;font-size:9px;transition:opacity .15s}
th:hover .mk-strelka{opacity:.45}
th[aria-sort] .mk-strelka{opacity:1;color:var(--accent)}
th[aria-sort]{color:var(--accent-ink)}
/* распределение колонки прямо в её шапке */
/* Распределение колонки видно всегда и в полную силу: это данные, а не
   украшение. Я его дважды ослаблял — прятал под наведение, потом приглушал
   до трети — и оба раза это было ухудшением, а не лаконичностью. */
.mk-raspred{display:flex;align-items:flex-end;gap:1px;height:11px;margin-top:4px;opacity:.5;transition:opacity .18s ease}
th:hover .mk-raspred{opacity:.8}
.mk-raspred i{flex:1 1 auto;background:var(--accent);border-radius:1px 1px 0 0;min-height:1px}
th.mk-n .mk-raspred{flex-direction:row}
table.mk-dannye td{padding:7px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
table.mk-dannye td.mk-n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}
table.mk-dannye tbody tr{transition:background .13s}
table.mk-dannye tbody tr:hover{background:var(--surface-2)}
table.mk-dannye tbody tr[data-mk-drill-row="1"]{cursor:pointer}
table.mk-dannye tbody tr.mk-drill-vybrana > td{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
table.mk-dannye tbody tr.mk-drill-vybrana > td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.mk-tovar{font-weight:500;max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
#komplektatorRoot .mk-tovar{
  white-space:normal;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  line-height:1.3;
  max-height:2.6em;
}

/* Pricing competitors: the primary comparison stays above the fold; supporting
   diagnostics remain one click away instead of forming a second long page. */
.pcm-analysis{margin:12px 0;border:1px solid var(--line,#dfe8e4);border-radius:10px;background:var(--surface,#fff);overflow:hidden}
.pcm-analysis>summary{padding:11px 14px;cursor:pointer;font-size:13px;font-weight:650;color:var(--text,#21332d)}
.pcm-analysis[open]>summary{border-bottom:1px solid var(--line,#dfe8e4)}
.pcm-analysis-body{padding:12px 14px}
.pcm-analysis-body>:first-child{margin-top:0}
.pcm-analysis-body>:last-child{margin-bottom:0}
.mk-artikul{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:-.01em}
.mk-razryv{color:var(--bad);font-weight:500}
/* полоса величины внутри числовой ячейки */
.mk-velichina{position:relative;display:inline-block;padding:1px 0}
.mk-velichina::before{content:"";position:absolute;right:0;top:0;bottom:0;background:var(--accent-soft);border-radius:3px;width:var(--w,0);z-index:-1}
.mk-velichina.mk-minus::before{background:var(--bad-soft)}
td.mk-n{position:relative}
/* строка группы */
tr.mk-gruppa td{position:sticky;top:41px;z-index:2;background:var(--surface-3);font-weight:600;font-size:12px;padding:8px 12px;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
tr.mk-gruppa .mk-skolko{font-family:var(--mono);font-weight:400;color:var(--muted);font-size:11px;margin-left:9px}
tr.mk-gruppa .mk-itogo{float:right;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
tr.mk-gruppa .mk-itogo.mk-minus{color:var(--bad)}
tr.mk-gruppa .mk-dolja-gr{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.35}
tr.mk-gruppa .mk-dolja-gr.mk-minus{background:var(--bad)}
.mk-znak{display:inline-block;width:0;height:0;margin-right:8px;vertical-align:1px;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;opacity:.55;transition:transform .18s cubic-bezier(.3,.8,.3,1)}
tr.mk-gruppa[aria-expanded="true"] .mk-znak{transform:rotate(90deg) translateX(1px)}
tr.mk-gruppa{cursor:pointer}
tr.mk-gruppa:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--surface-3))}
tr[hidden]{display:none}
/* выбор строк и кластер действий */
.mk-vyb-jachejka{width:34px;padding-left:12px;padding-right:0}
.mk-vyb{width:16px;height:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:border-color .14s,background .14s;opacity:.35}
tr:hover .mk-vyb,.mk-vyb[aria-checked="true"]{opacity:1}
.mk-vyb[aria-checked="true"]{background:var(--accent);border-color:var(--accent)}
.mk-vyb[aria-checked="true"]::after{content:"";width:3px;height:6px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(43deg) translateY(-1px)}
tr.mk-vybrana{background:var(--accent-soft)}
.mk-dejstvija{display:inline-flex;gap:4px;opacity:0;transition:opacity .14s}
tr:hover .mk-dejstvija{opacity:1}
.mk-dejstvija button{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:10px;transition:border-color .14s,color .14s,background .14s}
.mk-dejstvija button:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
/* плавающая полоса выбора */
.mk-polosa-vybora{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:var(--ground);font-size:12.5px;box-shadow:0 -6px 20px -10px rgba(23,35,31,.4)}
.mk-polosa-vybora b{font-family:var(--mono);font-weight:600}
.mk-polosa-vybora .mk-knopki{margin-left:auto;display:flex;gap:7px}
.mk-polosa-vybora button{font:inherit;font-size:12px;padding:5px 11px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:inherit;cursor:pointer;transition:background .14s}
.mk-polosa-vybora button:hover{background:rgba(255,255,255,.17)}

/* значки */
.mk-znachok{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:500;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);white-space:nowrap;letter-spacing:.01em}
.mk-znachok.mk-ok{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
.mk-znachok.mk-ploho{border-color:color-mix(in srgb,var(--bad) 32%,var(--line));background:var(--bad-soft);color:var(--bad)}
.mk-znachok.mk-vnim{border-color:color-mix(in srgb,var(--warn) 32%,var(--line));background:var(--warn-soft);color:var(--warn-ink)}
.mk-znachok i{width:5px;height:5px;border-radius:50%;background:currentColor}

/* прогресс в ячейке */
.mk-progress{display:inline-flex;align-items:center;gap:8px;min-width:118px}
.mk-progress .mk-zh{flex:1 1 auto;height:4px;border-radius:999px;background:var(--line);overflow:hidden}
.mk-progress .mk-zh i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.mk-progress .mk-zh i.mk-bad{background:var(--bad)}
.mk-progress b{font-family:var(--mono);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted)}

/* шаги процесса */
.mk-shagi{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--hair)}
.mk-shag{flex:1 1 160px;min-width:0;padding:11px 15px 12px;position:relative;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .15s}
.mk-shag:hover{background:var(--surface-2)}
.mk-shag + .mk-shag::before{content:"";position:absolute;left:0;top:16%;height:68%;width:1px;background:var(--line)}
.mk-shag-imja{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:7px;font-weight:500}
.mk-shag-chislo{font-family:var(--mono);font-size:19px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.mk-shag-polosa{height:3px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:5px}
.mk-shag-polosa i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.mk-shag.mk-trevoga .mk-shag-chislo{color:var(--bad)}
.mk-shag.mk-trevoga .mk-shag-polosa i{background:var(--bad)}
.mk-shag-poterja{font-size:11px;color:var(--faint);font-family:var(--mono)}

/* запускалки */
.mk-zapuskalki{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hair)}
.mk-zapuskalka{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);cursor:pointer;min-width:160px;text-align:left;font:inherit;position:relative;overflow:hidden;transition:border-color .16s,transform .14s,box-shadow .16s}
.mk-zapuskalka::after{content:"→";position:absolute;right:13px;top:50%;transform:translateY(-50%) translateX(-4px);color:var(--accent);opacity:0;transition:opacity .16s,transform .16s}
.mk-zapuskalka:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px);box-shadow:var(--shadow-1)}
.mk-zapuskalka:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
.mk-zapuskalka b{font-size:12.5px;font-weight:600}
.mk-zapuskalka span{font-size:11px;color:var(--muted)}

/* пончик */
.mk-ponchik-rjad{display:flex;flex-wrap:wrap;gap:26px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--hair)}
.mk-ponchik{display:flex;align-items:center;gap:14px}
.mk-ponchik svg circle{transition:stroke-width .2s}
.mk-ponchik-legenda{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:170px}
.mk-ponchik-legenda span{display:flex;align-items:center;gap:8px;color:var(--ink-2)}
.mk-ponchik-legenda i{width:7px;height:7px;border-radius:2px;flex:0 0 auto}
.mk-ponchik-legenda b{font-family:var(--mono);font-size:11.5px;font-weight:500;margin-left:auto;font-variant-numeric:tabular-nums}

/* список-строки */
.mk-spisok-stroka{display:flex;align-items:center;gap:13px;padding:9px 16px;border-bottom:1px solid var(--hair);cursor:pointer;transition:background .13s}
.mk-spisok-stroka:hover{background:var(--surface-2)}
.mk-spisok-stroka .mk-kto{font-weight:500;font-size:13px;flex:1 1 190px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-spisok-stroka .mk-chto{font-size:12px;color:var(--muted);flex:2 1 250px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-spisok-stroka .mk-kogda{font-family:var(--mono);font-size:11px;color:var(--faint);flex:0 0 auto}

/* состояния */
.mk-skelet td{padding:9px 12px}
.mk-skelet i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,var(--line-soft) 25%,var(--surface-2) 50%,var(--line-soft) 75%);background-size:200% 100%;animation:blesk 1.4s linear infinite}
@keyframes blesk{from{background-position:200% 0}to{background-position:-200% 0}}
.mk-pusto{display:flex;flex-direction:column;align-items:center;gap:9px;padding:42px 20px;text-align:center}
.mk-pusto svg{color:var(--line)}
.mk-pusto b{font-size:13.5px;font-weight:600}
.mk-pusto span{font-size:12.5px;color:var(--muted);max-width:40ch}
.mk-pusto button{margin-top:4px;font:inherit;font-size:12.5px;padding:7px 15px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.mk-pusto button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}

/* диалог */
.mk-dialog-fon{border:1px solid var(--line);border-radius:var(--r-l);background:
  radial-gradient(120% 80% at 50% 0%, color-mix(in srgb,var(--accent) 7%,transparent), transparent 70%), var(--surface-2);
  padding:30px 20px;display:flex;justify-content:center}
.mk-dialog{width:min(470px,100%);border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-3);overflow:hidden}
.mk-dialog-golova{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--hair)}
.mk-dialog-golova b{font-size:14px;font-weight:600;letter-spacing:-.015em}
.mk-dialog-zakryt{margin-left:auto;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);color:var(--muted);cursor:pointer;font-size:12px;transition:border-color .14s,color .14s}
.mk-dialog-zakryt:hover{border-color:var(--bad);color:var(--bad)}
.mk-dialog-telo{padding:14px 16px;display:flex;flex-direction:column;gap:0;font-size:13px;color:var(--ink-2)}
.mk-dialog-para{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--hair)}
.mk-dialog-para span{color:var(--muted);font-size:12.5px}
.mk-dialog-para b{font-family:var(--mono);font-size:12px;font-weight:500;text-align:right}
.mk-dialog-zamechanie{margin-top:11px;padding:10px 12px;border-radius:var(--r-m);background:var(--warn-soft);color:var(--warn-ink);font-size:12px;line-height:1.45}
.mk-dialog-niz{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--hair);background:var(--surface-2)}
.mk-knopka{font:inherit;font-size:12.5px;padding:7px 15px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.mk-knopka:hover{border-color:var(--accent);background:var(--accent-soft)}
.mk-knopka.mk-glavnaja-knopka{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}
.mk-knopka.mk-glavnaja-knopka:hover{background:var(--accent-ink);border-color:var(--accent-ink)}

/* командная строка */
.mk-kmd-okno{width:min(520px,100%);border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-3);overflow:hidden}
.mk-kmd-vvod{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--hair)}
.mk-kmd-vvod input{flex:1 1 auto;border:0;background:none;font:inherit;font-size:15px;color:var(--ink);outline:none}
.mk-kmd-vvod input::placeholder{color:var(--faint)}
.mk-kmd-spisok{display:flex;flex-direction:column;padding:6px}
.mk-kmd-punkt{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:var(--r-s);cursor:pointer;font-size:13px}
.mk-kmd-punkt[aria-selected="true"]{background:var(--accent-soft);color:var(--accent-ink)}
.mk-kmd-punkt .mk-razdel{margin-left:auto;font-size:11px;color:var(--muted)}
.mk-kmd-punkt kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--muted);background:var(--surface)}

/* ПАНЕЛЬ КОЛОНОК. Таблицы на панели шириной до одиннадцати колонок, и на
   ноутбуке часть из них человеку не нужна вовсе — а убрать их было нечем. */
.mk-kolonki{position:relative;flex:0 0 auto}
.mk-kolonki-knopka{font:inherit;font-size:12.5px;height:32px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.mk-kolonki-knopka:hover,.mk-kolonki-knopka[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.mk-kolonki-knopka b{font-family:var(--mono);font-size:11px;font-weight:600}
.mk-kolonki-panel{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:250px;max-width:calc(100vw - 24px);max-height:min(360px,calc(100dvh - 96px));overflow:auto;overscroll-behavior:contain;padding:7px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);box-shadow:var(--shadow-3);animation:vsplyt .16s cubic-bezier(.2,.8,.2,1)}
@keyframes vsplyt{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.mk-kolonki-panel[hidden]{display:none}
.mk-kolonki-zag{display:flex;align-items:center;padding:4px 8px 8px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.mk-kolonki-zag button{margin-left:auto;font:inherit;font-size:11px;text-transform:none;letter-spacing:0;color:var(--accent-ink);background:none;border:0;cursor:pointer;padding:3px 6px;border-radius:5px}
.mk-kolonki-zag button:hover{background:var(--accent-soft)}
.mk-kolonki-punkt{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-s);font-size:12.5px;cursor:grab;transition:background .13s}
.mk-kolonki-punkt:hover{background:var(--surface-2)}
.mk-kolonki-punkt.mk-tashchim{opacity:.4}
.mk-kolonki-punkt.mk-nad{box-shadow:inset 0 -2px 0 var(--accent)}
.mk-kolonki-punkt .mk-tochki{color:var(--faint);font-size:11px;letter-spacing:-2px;flex:0 0 auto}
.mk-kolonki-punkt .mk-vyb{opacity:1}
.mk-kolonki-punkt .mk-imja-kol{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-kolonki-punkt.mk-skryta .mk-imja-kol{color:var(--faint);text-decoration:line-through;text-decoration-thickness:1px}

/* инвентарь */
.mk-inventar{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.mk-inventar th{text-align:left;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.mk-inventar td{padding:9px 14px;border-bottom:1px solid var(--hair);vertical-align:top}
.mk-inventar tr:last-child td{border-bottom:0}
.mk-inventar tr:hover td{background:var(--surface-2)}
code{font-family:var(--mono);font-size:11px;color:var(--ink-2);background:var(--surface-2);padding:1px 5px;border-radius:4px;border:1px solid var(--hair)}
.mk-metka{display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap;letter-spacing:.02em}
.mk-metka.mk-da{background:var(--accent-soft);color:var(--accent-ink)}
.mk-metka.mk-novoe{background:var(--warn-soft);color:var(--warn-ink)}
.mk-klavishi{display:flex;flex-wrap:wrap;gap:16px;padding:11px 16px;background:var(--surface-2);border-top:1px solid var(--hair);font-size:11.5px;color:var(--muted)}
.mk-klavishi span{display:inline-flex;align-items:center;gap:6px}
.mk-klavishi kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface);color:var(--ink-2)}


/* ══ НАВЕДЕНИЕ НА ФИШКУ ═══════════════════════════════════════════════════
   Эффект обязан отвечать на вопрос «что будет, если нажму», иначе это просто
   блеск. Здесь три ответа сразу и все тихие:
   1) подсветка идёт ЗА КУРСОРОМ — фишка откликается живо, но не мигает;
   2) полоса доли подрастает до своей полной величины — показывает, какую
      часть множества отбор оставит, ещё до нажатия;
   3) счёт чуть поднимается — он и есть главное число фишки.
   Выбранная фишка не «дышит»: она уже сделала своё дело. ═════════════════ */
.mk-chip,.mk-gruppa-chip{ --mx:50%; --my:50%; }
.mk-chip::before,.mk-gruppa-chip::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--accent) 16%,transparent), transparent 62%);
  opacity:0; transition:opacity .22s ease;
}
.mk-chip:hover::before,.mk-gruppa-chip:hover::before{ opacity:1 }
.mk-chip[data-tjazhest="bad"]::before{
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--bad) 15%,transparent), transparent 62%);
}
.mk-chip[aria-pressed="true"]::before,.mk-gruppa-chip[aria-pressed="true"]::before{ opacity:0 }
.mk-chip .mk-dolja,.mk-gruppa-chip .mk-scena{ transition:width .5s cubic-bezier(.2,.8,.2,1), height .2s ease, opacity .2s ease }
.mk-chip:hover .mk-dolja{ height:3px; opacity:.75 }
.mk-gruppa-chip:hover .mk-scena{ height:4px; opacity:.85 }
.mk-chip .mk-schet{ transition:color .16s ease, transform .18s cubic-bezier(.2,.8,.2,1) }
.mk-chip:hover .mk-schet{ transform:translateY(-1px) }
/* Галочка у выбранной фишки. Первая редакция анимировала ШИРИНУ, и на
   элементе с границами это не сработало: ширина оставалась нулевой, галочка
   вырождалась в полуторапиксельный огрызок. Прозрачность и масштаб надёжнее
   и честнее по смыслу — появляется, а не растёт вбок. */
.mk-chip[aria-pressed="true"]::after{
  content:""; width:9px; height:5px; margin-left:2px; flex:0 0 auto; display:block;
  border-left:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:rotate(-45deg) translateY(-2px) scale(1); transform-origin:center;
}
/* Анимация — только на сам момент нажатия, класс снимает JS. В покое галочка
   не зависит от анимации вовсе: пока зависела, состояние покоя читалось по
   ПЕРВОМУ кадру — ширина 0, потом прозрачность 0, и галочки просто не было. */
.mk-chip.mk-tolko-chto::after{ animation:galka .24s cubic-bezier(.2,.9,.25,1) }
@keyframes galka{
  from{ opacity:0; transform:rotate(-45deg) translateY(-2px) scale(.5) }
  to{ opacity:1; transform:rotate(-45deg) translateY(-2px) scale(1) }
}
@media (prefers-reduced-motion:reduce){
  .mk-chip::before,.mk-gruppa-chip::before{ transition:none }
  .mk-chip[aria-pressed="true"]::after{ animation:none }
  .mk-chip:hover .mk-schet{ transform:none }
}


/* ══ ПРАВКИ ПОСЛЕДНЕГО КРУГА ═════════════════════════════════════════════
   Каждая — из замера, а не из ощущения. ═════════════════════════════════ */

/* 1. РОВНАЯ ВЫСОТА УПРАВЛЕНИЯ. Замер показал два роста в одном ряду: поле
   поиска и переключатель по 34, кнопки и списки по 32. Два пикселя не видно
   поодиночке, а в ряду из шести элементов рябит вся полоса. */
.mk-relsa-verh .mk-upr,.mk-relsa-verh .mk-vybor,.mk-relsa-verh .mk-kolonki-knopka,.mk-relsa-verh select,
.mk-listanie button,.mk-vidy,.mk-vidy select,.mk-vidy button{ height:34px }
.mk-perekljuchatel,.mk-segment{ height:34px }
.mk-perekljuchatel button,.mk-segment button,.mk-segment a{ height:100%; padding-top:0; padding-bottom:0 }

/* 2. ИТОГОВАЯ СТРОКА ТАБЛИЦЫ. Итог отбора был только в полосе над таблицей;
   докрутив длинный список до низа, человек снова его не видел. */
table.mk-dannye tfoot td{
  position:sticky; bottom:0; z-index:3;
  background:var(--surface-3); border-top:1px solid var(--line); border-bottom:0;
  padding:9px 12px; font-weight:600; font-size:12.5px;
}
table.mk-dannye tfoot td.mk-n{ font-family:var(--mono); font-variant-numeric:tabular-nums; text-align:right }
table.mk-dannye tfoot .mk-podpis-itoga{ font-weight:400; color:var(--muted); font-size:11.5px; margin-left:8px }

/* 3. СВЕРНУТЬ ВСЕ ГРУППЫ. Четырнадцать групп — и чтобы увидеть одни итоги,
   приходилось щёлкать четырнадцать раз. */
.mk-svernut-vse{
  font:inherit; font-size:11.5px; height:34px; padding:0 11px; display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink-2); cursor:pointer;
  transition:border-color .15s, background .15s; white-space:nowrap; flex:0 0 auto;
}
.mk-svernut-vse:hover{ border-color:var(--accent); background:var(--accent-soft); color:var(--accent-ink) }
.mk-svernut-vse i{ font-style:normal; display:inline-block; transition:transform .18s cubic-bezier(.3,.8,.3,1) }
.mk-svernut-vse[aria-pressed="true"] i{ transform:rotate(-90deg) }

/* 4. КРЕСТИК НА ФИШКЕ отзывался курсором, но не видом. */
.mk-snjatchip{ border-radius:50%; width:15px; height:15px; display:inline-grid; place-items:center;
  transition:background .14s, color .14s }
.mk-chip:hover .mk-snjatchip{ background:color-mix(in srgb,var(--bad) 13%,transparent); color:var(--bad) }

/* 5. КЛАВИАТУРА ПО СТРОКАМ. Подсказки внизу обещали ↑↓ и Space, а строки на
   клавиши не отзывались вовсе — обещание без исполнения хуже отсутствия. */
table.mk-dannye tbody tr[tabindex]{ outline:none }
table.mk-dannye tbody tr.mk-pod-kursorom{ background:var(--accent-soft) }
table.mk-dannye tbody tr.mk-pod-kursorom td:first-child{ box-shadow:inset 2px 0 0 var(--accent) }

@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms;transition-duration:.001ms}}
@media (max-width:820px){
@media (max-width:820px){.mk-relsa-pravo{margin-left:0;width:100%;justify-content:flex-start;flex-wrap:wrap}}
@media (max-width:820px){.mk-poisk{flex:1 1 100%}}
@media (max-width:820px){.mk-listanie span{display:none}}
  table.mk-dannye tbody td{max-width:18ch}
}
@media (max-width:660px){
  .mk-glavnaja{flex-direction:column;align-items:flex-start}
@media (max-width:820px){.mk-pojasnenie{white-space:normal;max-width:none}}
  .mk-plitki{gap:2px}
  .mk-plitka + .mk-plitka::before{display:none}
}

/* ═══ дополнения для живого экрана (не из макета) ═══ */
button.mk-kmd{font:inherit;cursor:pointer}
table.mk-dannye.mk-plotno td{padding-top:4px;padding-bottom:4px}
table.mk-dannye.mk-plotno .mk-artikul{display:none}
table.mk-dannye td .mk-minus{color:var(--bad)}
/* липкая шапка таблицы и групп — под шапкой приложения, а не под потолком окна */
.mk-ekran table.mk-dannye th{top:var(--mk-lipko,0)}
.mk-ekran tr.mk-gruppa td{top:calc(var(--mk-lipko,0px) + 41px)}
/* диалог разбора поверх экрана */
.mk-sloj.mk-dialog-plavajushhij{position:fixed;inset:0;z-index:1000;border:0;border-radius:0;align-items:center;background:rgba(23,35,31,.45);padding:24px}
/* проза под карточкой: свёрнута, раскрывается по желанию */
.mk-pod-kartochkoj{margin-top:14px}
.mk-proza{border:1px solid var(--line,#dde7e3);border-radius:12px;background:#fff;padding:0 16px}
.mk-proza > summary{cursor:pointer;padding:11px 0;font-size:12.5px;color:#55655f}
.mk-proza[open] > summary{border-bottom:1px solid #eaf1ee;margin-bottom:10px}
.mk-proza .pmg-total{font-size:12.5px;color:#3c4c47}
.reports-saved-view-disclosure{align-self:start;border:1px solid var(--line,#dce7e2);border-radius:10px;background:var(--surface,#fff);padding:0 10px}
.reports-saved-view-disclosure>summary{cursor:pointer;min-height:34px;display:flex;align-items:center;color:var(--muted,#62716c);font-size:12px;font-weight:650}
.reports-saved-view-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 0 10px}
.reports-saved-view-controls select{min-width:190px}
.entity-related-overview{padding:0 14px;overflow:hidden}
.entity-related-overview>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:42px;cursor:pointer;color:var(--ink,#1c2924)}
.entity-related-overview>summary span{color:var(--muted,#69766f);font-size:12px;font-weight:500}
.entity-related-overview[open]>summary{border-bottom:1px solid var(--line,#dce7e2)}
.entity-related-overview-body{padding:10px 0 14px}
table.mk-dannye td{white-space:nowrap}
table.mk-dannye td .mk-znachok{margin-left:6px;vertical-align:middle}
.mk-ekran .mk-itog .mk-zametka{flex:1 1 100%;padding:0 0 9px;margin-top:-4px}
/* Обёртка таблицы: пока таблица помещается — не прокручиваемый контейнер, и
   липкие заголовки держатся под шапкой приложения; стала шире карточки —
   прокрутка по горизонтали, а липкость от потолка контейнера. */
.mk-ekran .mk-tabl-obertka{overflow-x:clip}
.mk-ekran .mk-tabl-obertka.mk-shirokaja{overflow-x:auto}
.mk-ekran .mk-tabl-obertka.mk-shirokaja table.mk-dannye th{top:0}
.mk-ekran .mk-tabl-obertka.mk-shirokaja tr.mk-gruppa td{top:41px}
.mk-kletka{display:block;max-width:22ch;overflow:hidden;text-overflow:ellipsis}
/* пометки в ячейках («по заказу», «НДС», «разнесены») — мелкие, чтобы колонка держала ширину */
table.mk-dannye td .mk-znachok{font-size:9.5px;padding:1px 5px;margin-left:5px;gap:3px}
.mk-ekran .mk-tovar{max-width:30ch}
.mk-ekran .mk-kletka{max-width:18ch}
.mk-ekran .mk-dejstvija button{width:24px;height:24px}
table.mk-dannye td{padding:6px 10px}
table.mk-dannye th{padding:8px 10px 6px}
/* пометка под числом второй строкой — как артикул под товаром */
.mk-pometka{display:block;font-family:var(--sans);font-size:10px;line-height:1.2;color:var(--warn-ink);text-align:right;white-space:nowrap}
.mk-pometka.mk-tiho{color:var(--faint)}
table.mk-dannye td:last-child,table.mk-dannye th:last-child{padding-left:4px;padding-right:6px}
.mk-ekran .mk-tovar{max-width:28ch}
.mk-ekran [hidden],.mk-sloj [hidden]{display:none}
table.mk-dannye.mk-plotno .mk-pometka{display:none}

/* ═══ из макета «Три экрана»: метки режима, предупреждение, вкладки, отборы с подписью, сегмент ═══ */
.mk-obolochka{max-width:1180px;margin:0 auto;padding-block:40px 72px;padding-left:20px;padding-right:20px;display:flex;flex-direction:column;gap:42px}
.mk-bylo-stalo{display:flex;flex-wrap:wrap;gap:0;margin-bottom:2px}
.mk-bs{display:flex;align-items:baseline;gap:8px;padding:5px 15px;position:relative}
.mk-bs + .mk-bs::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background:var(--line)}
.mk-bs:first-child{padding-left:0}
.mk-bs span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600}
.mk-bs b{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.mk-bs b.mk-staro{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1px;opacity:.75}
.mk-bs b.mk-novo{color:var(--accent)}
.mk-metki{display:flex;flex-wrap:wrap;gap:0;font-size:11px;color:var(--faint);flex:0 0 auto}
.mk-metki span + span::before{content:"·";margin:0 7px;opacity:.55}
/* предупреждение одной строкой */
.mk-vnimanie{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--warn-soft);border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--warn-ink)}
.mk-vnimanie b{font-weight:600}
.mk-vnimanie button{margin-left:auto;font:inherit;font-size:11.5px;color:inherit;background:none;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:var(--r-s);padding:3px 9px;cursor:pointer;white-space:nowrap}
.mk-vnimanie button:hover{background:color-mix(in srgb,var(--warn) 12%,transparent)}
/* вкладки */
.mk-vkladki{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--hair);overflow-x:auto}
.mk-vkladki button,.mk-vkladki a{font:inherit;font-size:12.5px;padding:10px 12px 9px;border:0;background:none;color:var(--muted);cursor:pointer;position:relative;white-space:nowrap;transition:color .15s}
.mk-vkladki button:hover,.mk-vkladki a:hover{color:var(--ink)}
.mk-vkladki button[aria-selected="true"],.mk-vkladki a[aria-selected="true"]{color:var(--accent-ink);font-weight:500}
.mk-vkladki button[aria-selected="true"]::after,.mk-vkladki a[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}
.mk-poisk kbd,kbd.mk-klav{font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface)}
/* ряд отбора с подписью слева */
.mk-otbor{display:flex;align-items:flex-start;gap:11px;padding:7px 0}
.mk-otbor + .mk-otbor{border-top:1px dashed var(--line-soft)}
.mk-otbor-imja{flex:0 0 108px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;padding-top:7px}
/* Подпись «вед.» — содержимое, а не оформление, поэтому живёт в разметке.
   Псевдоэлементом она занимала ::before, и подсветка за курсором на ведущую
   фишку не ложилась: два разных смысла на одном псевдоэлементе. */
.mk-vedushchij-metka{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--accent-ink);background:var(--accent-soft);border-radius:4px;padding:1px 4px;position:relative;z-index:1}
.mk-chip[aria-pressed="true"] .mk-vedushchij-metka{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.mk-eshhe{font:inherit;font-size:12.5px;padding:5px 12px 7px;border:1px dashed var(--line);border-radius:999px;background:none;color:var(--muted);cursor:pointer;white-space:nowrap}
.mk-eshhe:hover{border-color:var(--accent);color:var(--accent-ink);border-style:solid;background:var(--accent-soft)}
.mk-kletka.mk-shire{max-width:34ch}
/* НАЗВАНИЕ И АРТИКУЛ — ОДНА СУЩНОСТЬ, А НЕ ДВЕ КОЛОНКИ.
   Отдельной колонкой артикул уезжал при прокрутке вправо, и на закреплённой
   колонке оставалось название без него — а товары вида «ЛДСП 16 мм 2800×2070
   Дуб галифакс» различает именно артикул. Под названием он едет вместе с
   закреплённой колонкой. Цена подстрочника — строка 46 вместо 33, и её
   снимает плотность: в плотном виде артикул не прячется, а встаёт в ту же
   строку через разделитель. Прятать было бы хуже всего: человек включает
   плотность, чтобы видеть БОЛЬШЕ, а терял бы опознание. */
.mk-tovar-blok{display:block;min-width:0}
[data-plotno="da"] .mk-tovar-blok{display:flex;align-items:baseline;gap:9px}
[data-plotno="da"] .mk-tovar-blok .mk-tovar{max-width:30ch;flex:0 1 auto}
[data-plotno="da"] .mk-tovar-blok .mk-artikul{flex:0 0 auto;position:relative;padding-left:10px}
[data-plotno="da"] .mk-tovar-blok .mk-artikul::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1px;background:var(--line)}
.mk-ssylka{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
/* ═══ ОБОЗРЕВАТЕЛЬ ГРУПП: 12 карточек в 250 пикселей → одна полоса ═══ */
.mk-gruppy{display:flex;align-items:flex-start;gap:11px;padding:9px 16px;border-bottom:1px solid var(--hair);background:var(--surface)}
.mk-gruppy-imja{flex:0 0 108px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;padding-top:7px}
.mk-gruppa-chip .mk-skolko-t{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--faint)}
.mk-gruppa-chip .mk-scena.mk-malo{background:var(--bad)}
/* ══════════════════════════════════════════════════════════════════════
   ДОБАВЛЕНО ВТОРЫМ ПРОХОДОМ. Каждое — из того, чего этим экранам не хватало
   для работы, а не для вида.
   ═════════════════════════════════════════════════════════════════════ */

/* ЗАКРЕПЛЕНИЕ ТОВАРА. На «Ценах» тридцать колонок. Проматывая вправо к
   нужной цене, человек терял из виду, о каком товаре речь, — и возвращался
   назад сверять. Первая колонка держится на месте. */
table.mk-dannye.mk-zakrep th:nth-child(1),table.mk-dannye.mk-zakrep td:nth-child(1){position:sticky;left:0;z-index:2;background:var(--surface)}
table.mk-dannye.mk-zakrep th:nth-child(2),table.mk-dannye.mk-zakrep td:nth-child(2){position:sticky;left:var(--kol1,34px);z-index:2;background:var(--surface)}
table.mk-dannye.mk-zakrep th:nth-child(1),table.mk-dannye.mk-zakrep th:nth-child(2){z-index:4}
table.mk-dannye.mk-zakrep tbody tr:hover td:nth-child(1),table.mk-dannye.mk-zakrep tbody tr:hover td:nth-child(2){background:var(--surface-2)}
table.mk-dannye.mk-zakrep.mk-otehala td:nth-child(2),table.mk-dannye.mk-zakrep.mk-otehala th:nth-child(2){box-shadow:7px 0 13px -9px rgba(23,35,31,.45)}
/* РАСХОЖДЕНИЕ ОТ НУЛЯ. Наценка бывает и минусовой, и обычная полоса величины
   тут врёт: она растёт от края, а смысл — насколько далеко от нуля и в какую
   сторону. Ось посередине, влево красное, вправо зелёное. */
.mk-otkl{display:inline-flex;align-items:center;gap:9px;justify-content:flex-end}
.mk-otkl-polosa{position:relative;width:74px;height:14px;flex:0 0 auto}
.mk-otkl-polosa::before{content:"";position:absolute;left:50%;top:1px;bottom:1px;width:1px;background:var(--line)}
.mk-otkl-polosa i{position:absolute;top:4px;height:7px;border-radius:2px}
.mk-otkl-polosa i.mk-plus{left:50%;background:var(--accent);opacity:.6}
.mk-otkl-polosa i.mk-minus{right:50%;background:var(--bad);opacity:.6}
.mk-otkl b{font-family:var(--mono);font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums;min-width:62px;text-align:right}
/* ИСКРА ИСТОРИИ ЦЕНЫ прямо в строке: экран про цены, а история цены была
   доступна только переходом в карточку. */
.mk-iskra-stroka{vertical-align:middle;opacity:.75}
tr:hover .mk-iskra-stroka{opacity:1}
/* ИЗМЕНЕНИЕ К ПРОШЛОМУ ПРИХОДУ — то, ради чего «Новые приходы» и открывают.
   Рост закупочной цены красный: для нас это плохая новость, а не хорошая. */
.mk-izm{font-family:var(--mono);font-size:11px;font-weight:500;padding:2px 6px;border-radius:5px;white-space:nowrap}
.mk-izm.mk-vverh{background:var(--bad-soft);color:var(--bad)}
.mk-izm.mk-vniz{background:var(--accent-soft);color:var(--accent-ink)}
.mk-izm.mk-novyj{background:var(--surface-2);color:var(--muted)}
/* ГИСТОГРАММА ГЛУБИНЫ. Переключатель говорит «90 дней», но не говорит,
   сколько там приходов. Полоски отвечают до нажатия и сами служат выбором. */
.mk-gist{display:inline-flex;align-items:flex-end;gap:2px;height:26px;padding:0 4px;flex:0 0 auto}
.mk-gist i{width:5px;background:var(--accent);opacity:.3;border-radius:1px 1px 0 0;cursor:pointer;transition:opacity .15s,transform .15s;transform-origin:bottom}
.mk-gist i:hover{opacity:.85;transform:scaleY(1.12)}
.mk-gist i.mk-v{opacity:.8}
/* ЛЕНТА вместо таблицы: «Лента решений» — это события во времени, и
   табличная сетка их уплощает. Переключатель вида, данные те же. */
.mk-lenta{padding:6px 16px 14px}
.mk-lenta-den{display:flex;gap:0;padding:8px 0}
.mk-lenta-data{flex:0 0 96px;font-family:var(--mono);font-size:11.5px;color:var(--muted);padding-top:7px}
.mk-lenta-os{flex:0 0 18px;position:relative}
.mk-lenta-os::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--line)}
.mk-lenta-sobytija{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
.mk-lenta-sobytie{position:relative;display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);font-size:12.5px;cursor:pointer;transition:border-color .15s,transform .13s,box-shadow .15s}
.mk-lenta-sobytie:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateX(2px);box-shadow:var(--shadow-1)}
.mk-lenta-sobytie::before{content:"";position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.mk-lenta-sobytie .mk-kto-l{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:auto}
.mk-lenta-sobytie .mk-prim{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:26ch}
/* ЛИПКАЯ СТРОКА ИТОГА: проматывая длинный список, человек терял, сколько же
   всего нашлось и по какому отбору. */
.mk-itog.mk-lipkij{position:sticky;top:0;z-index:7}
table.mk-dannye tbody tr.mk-vhodit{animation:vhod .34s cubic-bezier(.2,.8,.2,1) backwards}
td.mk-izmenilos{animation:vspyshka 1.2s ease-out}
.mk-schjotchik{display:inline-block;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){table.mk-dannye tbody tr.mk-vhodit{animation:none}}
@media (prefers-reduced-motion:reduce){td.mk-izmenilos{animation:none}}
@media (prefers-reduced-motion:reduce){.mk-lenta-sobytie:hover{transform:none}}
@media (max-width:820px){.mk-otbor{flex-direction:column;gap:5px}}
@media (max-width:820px){.mk-otbor-imja,.mk-gruppy-imja{flex:0 0 auto;padding-top:0}}
@media (max-width:820px){.mk-gruppy{flex-direction:column;gap:6px}}
@media (max-width:820px){.mk-metki{display:none}}

/* ═══ экраны ленты (Лента решений, Новые приходы): живые узлы презентера в разметке макета ═══ */
.mk-vkladki a{text-decoration:none;display:inline-block}
.mk-segment a{text-decoration:none;display:inline-flex;align-items:center}
a.mk-chip{text-decoration:none}
a.mk-kmd{text-decoration:none;color:inherit}
.mk-listanie-nav{display:inline-flex;gap:5px}
.mk-poisk form,form.mk-poisk{margin:0}
.mk-vyb-input{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer;display:grid;place-items:center;opacity:.55;transition:border-color .14s,background .14s,opacity .14s;vertical-align:middle}
tr:hover .mk-vyb-input,.mk-vyb-input:checked,thead .mk-vyb-input{opacity:1}
.mk-vyb-input:checked{background:var(--accent);border-color:var(--accent)}
.mk-vyb-input:checked::after{content:"";width:3px;height:6px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(43deg) translateY(-1px)}
.mk-th-knopka{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center}
.mk-kolonki-panel label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--r-s);font-size:12.5px;cursor:pointer}
.mk-kolonki-panel label:hover{background:var(--surface-2)}
.mk-tovar.mk-tiho{color:var(--faint);font-weight:400}
.mk-koren .pricing-source-caveat{padding:9px 16px;margin:0;font-size:11.5px;color:var(--faint);border-top:1px solid var(--hair)}
.mk-ekran .mk-vnimanie[hidden]{display:none}
.mk-ekran .mk-metki{max-width:40%}

/* ═══ из «Три экрана»: сегмент, клетка, итог ═══ */
.mk-upr{font:inherit;font-size:12.5px;height:32px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}
.mk-upr:hover,.mk-upr[aria-expanded="true"],.mk-upr[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.mk-upr b{font-family:var(--mono);font-size:11px;font-weight:600}
select.mk-upr{padding-right:28px;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}
/* единственный выбор — переключателем, а не фишками */
.mk-segment{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--surface);flex:0 0 auto}
.mk-segment button,.mk-segment a{font:inherit;font-size:12px;padding:6px 12px;border:0;background:none;color:var(--muted);cursor:pointer;white-space:nowrap}
.mk-segment button + button,.mk-segment a + a{border-left:1px solid var(--line)}
.mk-segment button[aria-pressed="true"],.mk-segment a[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}
/* строка итога */
.mk-itog{display:flex;align-items:center;flex-wrap:wrap;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--ink-2)}
/* ЛЮБАЯ текстовая ячейка держится одной строкой. На узком экране
   «Федорова Елена Александровна ИП» разворачивалась в четыре строки,
   и строка таблицы становилась выше карточки. */
.mk-kletka{display:block;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
tr.mk-gruppa .mk-itogo{float:right;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums}
/* ══ ПРАВКИ ПОСЛЕДНЕГО КРУГА ═════════════════════════════════════════════
   Каждая — из замера, а не из ощущения. ═════════════════════════════════ */

/* 1. РОВНАЯ ВЫСОТА УПРАВЛЕНИЯ. Замер показал два роста в одном ряду: поле
   поиска и переключатель по 34, кнопки и списки по 32. Два пикселя не видно
   поодиночке, а в ряду из шести элементов рябит вся полоса. */
.mk-relsa-verh .mk-upr,.mk-relsa-verh .mk-vybor,.mk-relsa-verh .mk-kolonki-knopka,.mk-relsa-verh select,
.mk-listanie button,.mk-vidy,.mk-vidy select,.mk-vidy button{height:34px}
.mk-perekljuchatel,.mk-segment{height:34px}
.mk-perekljuchatel button,.mk-segment button,.mk-segment a{height:100%; padding-top:0; padding-bottom:0}
@media (max-width:820px){.mk-kletka{max-width:16ch}}
.mk-ekran .mk-kletka.mk-shire{max-width:22ch}
.mk-ekran [data-pricing-screen="decisions"] .mk-tovar,[data-pricing-screen="decisions"] .mk-tovar{max-width:26ch}
table.mk-dannye th{padding:8px 8px 6px}
table.mk-dannye td{padding:6px 8px}
[data-pricing-screen="decisions"] .mk-tovar{max-width:22ch}
[data-pricing-screen="decisions"] .mk-kletka.mk-shire{max-width:18ch}
[data-pricing-screen="decisions"] .mk-kletka{max-width:16ch}
[data-pricing-screen="decisions"] table.mk-dannye th{letter-spacing:.03em}
[data-pricing-screen="decisions"] .mk-tovar{max-width:20ch}
[data-pricing-screen="decisions"] .mk-kletka.mk-shire{max-width:16ch}
.mk-ekran .mk-metki{max-width:none}
.mk-ekran .mk-metki span{white-space:nowrap}
.mk-koren .mk-pod-kartochkoj{margin-top:14px}
#mkPlitki[hidden]{display:none}
/* шапка карточки: крошки уже есть в шапке приложения, строки пути нет; ⌘K — справа от пилюли */
.mk-ekran .mk-glavnaja{padding:10px 16px 9px}
.mk-ekran .mk-glavnaja .mk-kmd{margin-left:0;font-family:var(--mono);font-size:10.5px;color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--surface);text-decoration:none;cursor:pointer}
.mk-ekran .mk-glavnaja .mk-kmd:hover{border-color:var(--accent);color:var(--accent-ink)}
.mk-ekran .mk-plitki{padding:8px 6px}
.mk-ekran .mk-relsa{padding:9px 16px 11px}
.mk-ekran .mk-relsa-verh{margin-bottom:8px}
.mk-ekran .mk-metki{display:block;flex:1 1 140px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right}
.mk-ekran .mk-metki span{display:inline}
.mk-ekran .mk-levo{flex:0 1 auto;min-width:0}
.mk-ekran .mk-pojasnenie{max-width:52ch}
.mk-koren table.mk-dannye th{letter-spacing:.035em}
[data-pricing-screen="deviations"] .mk-kletka.mk-shire,[data-pricing-screen="customer-matrix"] .mk-kletka.mk-shire{max-width:18ch}
[data-pricing-screen="deviations"] .mk-tovar,[data-pricing-screen="costs"] .mk-tovar{max-width:24ch}
.mk-ekran .mk-vnimanie{display:block;line-height:1.45}
.mk-ekran .mk-vnimanie b{margin-right:6px}

/* ═══ СЛОВАРЬ ВОЛНЫ (volna1_vid.js) несёт классы макета рядом с ek-/kp-: правила усилены повтором класса, чтобы побеждать ek-ui.css и komandnaja-polosa.css ═══ */
.mk-levo.mk-levo.mk-levo{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 300px}
.mk-imja.mk-imja.mk-imja{font-size:19px;font-weight:600;letter-spacing:-.022em;line-height:1.12}
.mk-pojasnenie.mk-pojasnenie.mk-pojasnenie{font-size:12px;color:var(--muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48ch}
.mk-istochnik.mk-istochnik.mk-istochnik{position:relative;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:5px 12px 5px 10px;border-radius:999px;font-size:11.5px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:border-color .16s,box-shadow .16s}
.mk-istochnik.mk-istochnik.mk-istochnik:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 0 0 3px var(--accent-glow)}
.mk-istochnik.mk-istochnik.mk-istochnik.mk-staro{border-color:color-mix(in srgb,var(--warn) 34%,var(--line));background:var(--warn-soft);color:var(--warn-ink)}
.mk-istochnik.mk-istochnik.mk-istochnik.mk-staro .mk-pul{background:var(--warn)}
.mk-istochnik.mk-istochnik.mk-istochnik.mk-staro .mk-pul::after{animation:none}
.mk-plitka{display:flex;align-items:center;gap:11px;padding:3px 16px;position:relative;border-radius:var(--r-s);transition:background .15s}
.mk-plitka + .mk-plitka::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:var(--line)}
.mk-plitka-stolb.mk-plitka-stolb.mk-plitka-stolb{display:flex;flex-direction:column;gap:1px;min-width:0}
.mk-plitka-imja.mk-plitka-imja.mk-plitka-imja{font-size:10.5px;letter-spacing:.055em;text-transform:uppercase;color:var(--faint);white-space:nowrap;font-weight:500}
.mk-plitka-chislo.mk-plitka-chislo.mk-plitka-chislo{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}
.mk-plitka-chislo.mk-plitka-chislo.mk-plitka-chislo.mk-good{color:var(--accent)}
.mk-plitka-chislo.mk-plitka-chislo.mk-plitka-chislo.mk-bad{color:var(--bad)}
.mk-plitka-delta.mk-plitka-delta.mk-plitka-delta{font-family:var(--mono);font-size:10.5px;font-weight:500;padding:1px 5px;border-radius:5px;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap}
.mk-plitka-delta.mk-plitka-delta.mk-plitka-delta.mk-vniz{background:var(--bad-soft);color:var(--bad)}
.mk-plitka.mk-drill{cursor:pointer}
.mk-plitka.mk-drill:hover{background:var(--accent-soft)}
.mk-plitka.mk-drill .mk-plitka-chislo::after{content:"↗";font-size:9px;color:var(--faint);margin-left:5px;vertical-align:3px}
.mk-chipy{display:flex;gap:6px;flex-wrap:wrap}
.mk-chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer;overflow:hidden;transition:border-color .16s,color .16s,background .16s,transform .12s,box-shadow .16s}
.mk-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-1)}
.mk-chip:active{transform:translateY(0)}
.mk-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}
.mk-chip .mk-schet{font-family:var(--mono);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--faint);transition:color .16s}
.mk-chip[aria-pressed="true"]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--accent-ink);font-weight:500}
.mk-chip[aria-pressed="true"] .mk-schet{color:var(--accent-ink)}
.mk-chip[data-tjazhest="bad"] .mk-schet{color:var(--bad)}
.mk-chip[data-tjazhest="bad"][aria-pressed="true"]{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 38%,var(--line));color:var(--bad)}
.mk-chip .mk-dolja{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.45;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.mk-chip[data-tjazhest="bad"] .mk-dolja{background:var(--bad)}
table.mk-dannye th:last-child{border-right:0}
table.mk-dannye th:hover{color:var(--accent-ink);background:var(--surface-2)}
table.mk-dannye td.mk-kol-podsvet{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
table.mk-dannye td.mk-kol-sort{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
table.mk-dannye th.mk-kol-sort{color:var(--accent-ink)}
table.mk-dannye th.mk-n{text-align:right}
table.mk-dannye td{padding:7px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
table.mk-dannye td.mk-n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}
table.mk-dannye tbody tr{transition:background .13s}
table.mk-dannye tbody tr:hover{background:var(--surface-2)}
tr.mk-gruppa .mk-dolja-gr{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.35}
tr.mk-gruppa .mk-dolja-gr.mk-minus{background:var(--bad)}
.mk-kolonki-punkt .mk-imja-kol{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-kolonki-punkt.mk-skryta .mk-imja-kol{color:var(--faint);text-decoration:line-through;text-decoration-thickness:1px}
.mk-chip::before{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--accent) 16%,transparent), transparent 62%);
  opacity:0; transition:opacity .22s ease;}
.mk-chip:hover::before{opacity:1}
.mk-chip[data-tjazhest="bad"]::before{background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--bad) 15%,transparent), transparent 62%);}
.mk-chip[aria-pressed="true"]::before{opacity:0}
.mk-chip .mk-dolja{transition:width .5s cubic-bezier(.2,.8,.2,1), height .2s ease, opacity .2s ease}
.mk-chip:hover .mk-dolja{height:3px; opacity:.75}
.mk-chip .mk-schet{transition:color .16s ease, transform .18s cubic-bezier(.2,.8,.2,1)}
.mk-chip:hover .mk-schet{transform:translateY(-1px)}
table.mk-dannye tfoot td.mk-n{font-family:var(--mono); font-variant-numeric:tabular-nums; text-align:right}
table.mk-dannye tfoot .mk-podpis-itoga{font-weight:400; color:var(--muted); font-size:11.5px; margin-left:8px}
.mk-chip:hover .mk-snjatchip{background:color-mix(in srgb,var(--bad) 13%,transparent); color:var(--bad)}
table.mk-dannye tbody tr.mk-pod-kursorom{background:var(--accent-soft)}
table.mk-dannye tbody tr.mk-pod-kursorom td:first-child{box-shadow:inset 2px 0 0 var(--accent)}
/* 18.09.2026 — клавиатура по строкам (J/K, ↑↓, Enter), скелет загрузки, пустая таблица, «Итого» слоя */
table.mk-dannye tbody tr[tabindex],table.kp-dannye tbody tr[tabindex]{outline:none}
table.mk-dannye tbody tr:focus-visible,table.kp-dannye tbody tr:focus-visible,#body table tbody tr[data-vision-reference-row]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:0 0 0 3px var(--accent-glow) inset}
#body table tbody tr.mk-pod-kursorom{background:var(--accent-soft)}
table.mk-dannye tbody tr.mk-pod-kursorom:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
@keyframes vhod{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.mk-zagruzka{color:var(--faint);font-size:12px}
.mk-zagruzka > .mk-skelet-tabl{width:100%;margin-top:10px;border-collapse:collapse}
.mk-skelet-tabl tr.mk-skelet td{border-bottom:1px solid var(--hair)}
.ui-surface-state--loading.mk-zagruzka .ui-surface-state-spinner{display:none}
tr.ek-dt-pusto td{padding:0;text-align:center;white-space:normal}
.mk-pusto.mk-pusto-tabl{padding:34px 20px 30px}
.mk-pusto .mk-pusto-kn{margin-top:4px}
.mk-itog .mk-snjat{margin-left:auto;padding:5px 10px}
.mk-itog .mk-zametka{max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.mk-dannye tfoot[data-mk-itogo] td{position:sticky;bottom:0;z-index:3;background:var(--surface-2);border-top:1px solid var(--line);padding:9px 12px;font-weight:600;font-size:12.5px}
table.mk-dannye tfoot[data-mk-itogo] td.mk-n{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.mk-glavnaja .mk-sekcija-knopka{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
.mk-glavnaja .mk-sekcija-knopka:hover{color:var(--accent-ink)}
.mk-glavnaja.mk-sekcija-svjornuta{margin-bottom:8px;border-bottom:1px dashed var(--line)}
.mk-vmesto-select{flex-wrap:nowrap}
.mk-vmesto-select button{white-space:nowrap}
.mk-otbory-ekrana .mk-vmesto-select{margin-right:2px}
.mk-otbory-ekrana [data-mk-sbros-ekrana]{margin-left:4px}
table.mk-dannye.mk-plotno td{padding-top:4px;padding-bottom:4px}
table.mk-dannye.mk-plotno .mk-artikul{display:none}
table.mk-dannye td .mk-minus{color:var(--bad)}
.mk-ekran table.mk-dannye th{top:var(--mk-lipko,0)}
table.mk-dannye td{white-space:nowrap}
table.mk-dannye td .mk-znachok{margin-left:6px;vertical-align:middle}
.mk-ekran .mk-tabl-obertka{overflow-x:clip}
.mk-ekran .mk-tabl-obertka.mk-shirokaja{overflow-x:auto}
.mk-ekran .mk-tabl-obertka.mk-shirokaja table.mk-dannye th{top:0}
.mk-ekran .mk-tabl-obertka.mk-shirokaja tr.mk-gruppa td{top:41px}
table.mk-dannye td{padding:6px 10px}
table.mk-dannye th{padding:8px 10px 6px}
table.mk-dannye td:last-child,table.mk-dannye th:last-child{padding-left:4px;padding-right:6px}
table.mk-dannye.mk-plotno .mk-pometka{display:none}
.mk-chip[aria-pressed="true"] .mk-vedushchij-metka{background:color-mix(in srgb,var(--accent) 18%,transparent)}
table.mk-dannye.mk-zakrep td:nth-child(1){position:sticky;left:0;z-index:2;background:var(--surface)}
table.mk-dannye.mk-zakrep th:nth-child(2),table.mk-dannye.mk-zakrep td:nth-child(2){position:sticky;left:var(--kol1,34px);z-index:2;background:var(--surface)}
table.mk-dannye.mk-zakrep th:nth-child(1),table.mk-dannye.mk-zakrep th:nth-child(2){z-index:4}
table.mk-dannye.mk-zakrep tbody tr:hover td:nth-child(1),table.mk-dannye.mk-zakrep tbody tr:hover td:nth-child(2){background:var(--surface-2)}
table.mk-dannye.mk-zakrep.mk-otehala td:nth-child(2),table.mk-dannye.mk-zakrep.mk-otehala th:nth-child(2){box-shadow:7px 0 13px -9px rgba(23,35,31,.45)}
table.mk-dannye tbody tr.mk-vhodit{animation:vhod .34s cubic-bezier(.2,.8,.2,1) backwards}
table.mk-dannye th{padding:8px 8px 6px}
table.mk-dannye td{padding:6px 8px}
.mk-ekran .mk-glavnaja{padding:10px 16px 9px}
.mk-ekran .mk-glavnaja .mk-kmd{margin-left:0;font-family:var(--mono);font-size:10.5px;color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--surface);text-decoration:none;cursor:pointer}
.mk-ekran .mk-glavnaja .mk-kmd:hover{border-color:var(--accent);color:var(--accent-ink)}
.mk-ekran .mk-plitki{padding:8px 6px}
.mk-ekran .mk-levo{flex:0 1 auto;min-width:0}
.mk-ekran .mk-pojasnenie{max-width:52ch}
.mk-glavnaja h3.mk-imja{margin:0;font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.mk-hd-n{font-family:var(--mono);font-size:11.5px;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:999px;margin-left:8px;white-space:nowrap}
.mk-hd-gap{flex:1 1 auto}
.mk-glavnaja .ek-hd-act{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}
.mk-glavnaja .pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:999px;font-size:11.5px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.mk-chipy{padding:8px 16px 10px;border-bottom:1px solid var(--hair)}
.mk-chip .mk-chip-k{font:inherit}
.mk-chip .mk-chip-s{font-size:10.5px;color:var(--faint);margin-left:2px}
.mk-chip.is-good,.mk-chip[aria-pressed="true"]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--accent-ink);font-weight:500}
.mk-chip.is-bad .mk-schet{color:var(--bad)}
.mk-plitki .mk-plitka-pod{font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}
a.mk-plitka,button.mk-plitka{font:inherit;border:0;background:none;text-align:left;color:inherit;text-decoration:none;cursor:pointer}
a.mk-chip,button.mk-chip{text-decoration:none}
table.mk-dannye td{white-space:nowrap}
.ek-dt-pusto td{padding:24px 12px;text-align:center;color:var(--faint);white-space:normal}
.mk-imja-rjad{display:flex;align-items:center;gap:8px;min-width:0}
.mk-glavnaja .mk-imja-rjad .mk-imja{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-skryta-kol{display:none}
.mk-tabl-karta{border-top:1px solid var(--hair,#f0f5f3)}
.mk-tabl-karta .mk-pusto{padding:32px 20px}
/* Ячейка с одним текстом — одна строка с многоточием (референс). Составная
   ячейка (заголовок + подстрока, кнопки, абзацы) переносится: обрезать её
   значило прятать саму суть строки (очередь: действие, причина, работа). */
.mk-tabl-karta table.mk-dannye td:not(.mk-n):not([colspan]):not(:has(div,p,ul,ol,table,br,small,.t-dim,.sub,.muted,form)){max-width:300px;overflow:hidden;text-overflow:ellipsis}
/* предел в px, не в ch: «Плотно» уменьшает шрифт, ch-предел сжимал ячейку и строки становились ВЫШЕ (аудитор: leads 37 → 43) */
.mk-tabl-karta table.mk-dannye td:not(.mk-n):not([colspan]):has(div,p,ul,ol,table,br,small,.t-dim,.sub,.muted,form){white-space:normal;max-width:360px}
.mk-tabl-karta .mk-relsa-pravo{flex-wrap:wrap;row-gap:6px}
.mk-ekran{overflow:clip}
.mk-ekran .mk-kletka{display:inline-block;vertical-align:middle}
/* ═══ 2. ряд показателей с искрой ═══ */
/* ═══ 3. рельса ═══ */
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}
/* ═══ 4. строка итога ═══ */
/* ═══ 5. таблица ═══ */
поэтому separate ничего не ломает. */
а не как поток чисел. */
/* колонка под курсором подсвечивается целиком — так глаз не теряет строку */
а не только стрелкой */
/* ручка растягивания появляется на границе заголовка */
/* строка группы */
/* плавающая полоса выбора */
и на
   ноутбуке часть из них человеку не нужна вовсе — а убрать их было нечем. */
ещё до нажатия;
   3) счёт чуть поднимается — он и есть главное число фишки.
   Выбранная фишка не «дышит»: она уже сделала своё дело. ═════════════════ */
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--accent) 16%,transparent), transparent 62%);
  opacity:0; transition:opacity .22s ease;}
             color-mix(in srgb,var(--bad) 15%,transparent), transparent 62%);}
а не растёт вбок. */
  border-left:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:rotate(-45deg) translateY(-2px) scale(1); transform-origin:center;}
и галочки просто не было. */
человек снова его не видел. */
  background:var(--surface-3); border-top:1px solid var(--line); border-bottom:0;
  padding:9px 12px; font-weight:600; font-size:12.5px;}
приходилось щёлкать четырнадцать раз. */
  border:1px solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink-2); cursor:pointer;
  transition:border-color .15s, background .15s; white-space:nowrap; flex:0 0 auto;}
а строки на
   клавиши не отзывались вовсе — обещание без исполнения хуже отсутствия. */
/* строка итога */
/* ═══ 2. ряд показателей с искрой ═══ */
/* ═══ 3. рельса ═══ */
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}
/* ═══ 4. строка итога ═══ */
/* ═══ 5. таблица ═══ */
поэтому separate ничего не ломает. */
а не как поток чисел. */
/* Числовая зона держится столбцом за счёт подложки. */
/* колонка под курсором подсвечивается целиком — так глаз не теряет строку */
а не только стрелкой */
/* ручка растягивания появляется на границе заголовка */
/* строка группы */
/* плавающая полоса выбора */
и на
   ноутбуке часть из них человеку не нужна вовсе — а убрать их было нечем. */
ещё до нажатия;
   3) счёт чуть поднимается — он и есть главное число фишки.
   Выбранная фишка не «дышит»: она уже сделала своё дело. ═════════════════ */
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--accent) 16%,transparent), transparent 62%);
  opacity:0; transition:opacity .22s ease;}
             color-mix(in srgb,var(--bad) 15%,transparent), transparent 62%);}
а не растёт вбок. */
  border-left:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:rotate(-45deg) translateY(-2px) scale(1); transform-origin:center;}
и галочки просто не было. */
человек снова его не видел. */
  background:var(--surface-3); border-top:1px solid var(--line); border-bottom:0;
  padding:9px 12px; font-weight:600; font-size:12.5px;}
приходилось щёлкать четырнадцать раз. */
  border:1px solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink-2); cursor:pointer;
  transition:border-color .15s, background .15s; white-space:nowrap; flex:0 0 auto;}
а строки на
   клавиши не отзывались вовсе — обещание без исполнения хуже отсутствия. */
а терял бы опознание. */
— и возвращался
   назад сверять. Первая колонка держится на месте. */
/* строка итога */
и строка таблицы становилась выше карточки. */
/* секционные шапки словаря — после первой шапки экрана */
.mk-glavnaja.mk-vtoraja.mk-vtoraja{padding:8px 16px 7px;gap:10px;border-bottom:1px solid var(--hair)}
.mk-glavnaja.mk-vtoraja.mk-vtoraja h3.mk-imja,.mk-glavnaja.mk-vtoraja.mk-vtoraja .mk-imja{font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.mk-glavnaja.mk-vtoraja.mk-vtoraja .mk-pojasnenie{font-size:11.5px}
.mk-glavnaja.mk-vtoraja.mk-vtoraja .mk-hd-n{font-size:10.5px;padding:1px 6px}
.mk-ekran-put a.mk-kmd{text-decoration:none}
.mk-ekran .mk-glavnaja{padding:13px 16px 12px}
[data-pricing-screen="decisions"] .mk-tovar{max-width:18ch}
[data-pricing-screen="decisions"] td:nth-child(4) .mk-kletka{max-width:12ch}
table.mk-dannye tfoot td,table.mk-dannye tfoot td.mk-n{background:var(--surface-2)}
.mk-ekran .mk-relsa > .mk-chipy{gap:5px}
.mk-ekran .mk-relsa > .mk-chipy .mk-chip{padding-left:10px;padding-right:10px;gap:6px}
/* ═══ СЛОЙ КОМАНДНОЙ ПОЛОСЫ (kp-): те же имена, что у макета, — те же правила оформления рельсы, фишек, листания, панели колонок; структурные классы слоя не трогаем ═══ */
/* ═══ 2. ряд показателей с искрой ═══ */
.kp-plitki{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;padding:10px 6px;background:linear-gradient(180deg,var(--surface),var(--surface-2));border-bottom:1px solid var(--hair)}
.kp-plitka{display:flex;align-items:center;gap:11px;padding:3px 16px;position:relative;border-radius:var(--r-s);transition:background .15s}
.kp-plitka + .kp-plitka::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:var(--line)}
.kp-plitka-imja{font-size:10.5px;letter-spacing:.055em;text-transform:uppercase;color:var(--faint);white-space:nowrap;font-weight:500}
.kp-plitka-chislo{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}
/* ═══ 3. рельса ═══ */
.kp-relsa{padding:11px 16px 13px;border-bottom:1px solid var(--hair);background:var(--surface)}
.kp-relsa-verh{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.kp-poisk{position:relative;flex:1 1 260px;min-width:200px}
.kp-poisk input{width:100%;height:34px;padding:0 44px 0 33px;font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink);transition:border-color .16s,box-shadow .16s,background .16s}
.kp-poisk input::placeholder{color:var(--faint)}
.kp-poisk input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-glow)}
.kp-poisk .kp-lupa{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--faint);pointer-events:none;transition:color .16s}
.kp-poisk input:focus ~ .kp-lupa{color:var(--accent)}
.kp-poisk kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface);pointer-events:none}
.kp-podpis-otbora{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);flex:0 0 auto;font-weight:500}
.kp-listanie select{font:inherit;font-size:12.5px;height:32px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}
.kp-listanie select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.kp-perekljuchatel{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;flex:0 0 auto;background:var(--surface)}
.kp-perekljuchatel button{font:inherit;font-size:12px;padding:7px 12px;border:0;background:none;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}
.kp-perekljuchatel button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}
.kp-perekljuchatel button + button{border-left:1px solid var(--line)}
.kp-listanie{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--faint);flex:0 0 auto}
.kp-listanie b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-2)}
.kp-listanie button{font:inherit;font-size:12px;height:32px;width:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.kp-listanie button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}
.kp-listanie button:disabled{opacity:.35;cursor:default}
.kp-chipy{display:flex;gap:6px;flex-wrap:wrap}
.kp-chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer;overflow:hidden;transition:border-color .16s,color .16s,background .16s,transform .12s,box-shadow .16s}
.kp-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-1)}
.kp-chip:active{transform:translateY(0)}
.kp-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}
.kp-chip .kp-schet{font-family:var(--mono);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--faint);transition:color .16s}
.kp-chip[aria-pressed="true"]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--accent-ink);font-weight:500}
.kp-chip[aria-pressed="true"] .kp-schet{color:var(--accent-ink)}
.kp-chip[data-tjazhest="bad"] .kp-schet{color:var(--bad)}
.kp-chip[data-tjazhest="bad"][aria-pressed="true"]{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 38%,var(--line));color:var(--bad)}
.kp-chip .kp-dolja{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.45;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.kp-chip[data-tjazhest="bad"] .kp-dolja{background:var(--bad)}
.kp-vybrano{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.kp-snjat{font:inherit;font-size:12px;color:var(--accent-ink);background:none;border:0;cursor:pointer;padding:5px 8px;border-radius:5px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.kp-snjat:hover{background:var(--accent-soft)}
/* ═══ 4. строка итога ═══ */
.kp-itog{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--ink-2)}
.kp-itog > span{padding:10px 16px 10px 0;position:relative;display:inline-flex;align-items:baseline;gap:7px}
.kp-itog > span + span{padding-left:16px}
.kp-itog > span + span::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:var(--line)}
.kp-itog b{font-family:var(--mono);font-size:14.5px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;letter-spacing:-.02em}
/* ═══ 5. таблица ═══ */
.kp-tabl-obertka{overflow-x:auto;position:relative}
поэтому separate ничего не ломает. */
table.kp-dannye{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
а не как поток чисел. */
table.kp-dannye th{position:sticky;top:0;z-index:3;text-align:left;font-weight:600;font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);padding:9px 12px 7px;border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft);white-space:nowrap;cursor:pointer;transition:color .15s,background .15s;user-select:none}
table.kp-dannye th:last-child{border-right:0}
table.kp-dannye th:hover{color:var(--accent-ink);background:var(--surface-2)}
/* колонка под курсором подсвечивается целиком — так глаз не теряет строку */
table.kp-dannye th.kp-kol-podsvet,table.kp-dannye td.kp-kol-podsvet{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
а не только стрелкой */
table.kp-dannye th.kp-kol-sort,table.kp-dannye td.kp-kol-sort{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
table.kp-dannye th.kp-kol-sort{color:var(--accent-ink)}
/* ручка растягивания появляется на границе заголовка */
.kp-ruchka{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}
.kp-ruchka::after{content:"";position:absolute;left:2px;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--accent);opacity:0;transition:opacity .15s}
.kp-ruchka:hover::after,.kp-ruchka.kp-tjanem::after{opacity:1}
body.kp-tjanem-kolonku{cursor:col-resize;user-select:none}
th .kp-strelka{opacity:0;margin-left:5px;font-size:9px;transition:opacity .15s}
th:hover .kp-strelka{opacity:.45}
th[aria-sort] .kp-strelka{opacity:1;color:var(--accent)}
table.kp-dannye td{padding:7px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
table.kp-dannye tbody tr{transition:background .13s}
table.kp-dannye tbody tr:hover{background:var(--surface-2)}
/* строка группы */
tr.kp-gruppa td{position:sticky;top:41px;z-index:2;background:var(--surface-3);font-weight:600;font-size:12px;padding:8px 12px;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
tr.kp-gruppa .kp-skolko{font-family:var(--mono);font-weight:400;color:var(--muted);font-size:11px;margin-left:9px}
tr.kp-gruppa .kp-itogo{float:right;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kp-znak{display:inline-block;width:0;height:0;margin-right:8px;vertical-align:1px;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;opacity:.55;transition:transform .18s cubic-bezier(.3,.8,.3,1)}
tr.kp-gruppa[aria-expanded="true"] .kp-znak{transform:rotate(90deg) translateX(1px)}
tr.kp-gruppa{cursor:pointer}
tr.kp-gruppa:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--surface-3))}
tr.kp-vybrana{background:var(--accent-soft)}
.kp-dejstvija{display:inline-flex;gap:4px;opacity:0;transition:opacity .14s}
tr:hover .kp-dejstvija{opacity:1}
.kp-dejstvija button{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:10px;transition:border-color .14s,color .14s,background .14s}
.kp-dejstvija button:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
/* плавающая полоса выбора */
.kp-polosa-vybora{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:var(--ground);font-size:12.5px;box-shadow:0 -6px 20px -10px rgba(23,35,31,.4)}
.kp-polosa-vybora b{font-family:var(--mono);font-weight:600}
.kp-polosa-vybora button{font:inherit;font-size:12px;padding:5px 11px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:inherit;cursor:pointer;transition:background .14s}
.kp-polosa-vybora button:hover{background:rgba(255,255,255,.17)}
и на
   ноутбуке часть из них человеку не нужна вовсе — а убрать их было нечем. */
.kp-kolonki{position:relative;flex:0 0 auto}
.kp-kolonki-knopka{font:inherit;font-size:12.5px;height:32px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
.kp-kolonki-knopka:hover,.kp-kolonki-knopka[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.kp-kolonki-knopka b{font-family:var(--mono);font-size:11px;font-weight:600}
.kp-kolonki-panel{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:250px;padding:7px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);box-shadow:var(--shadow-3);animation:vsplyt .16s cubic-bezier(.2,.8,.2,1)}
.kp-kolonki-panel[hidden]{display:none}
.kp-kolonki-zag{display:flex;align-items:center;padding:4px 8px 8px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.kp-kolonki-zag button{margin-left:auto;font:inherit;font-size:11px;text-transform:none;letter-spacing:0;color:var(--accent-ink);background:none;border:0;cursor:pointer;padding:3px 6px;border-radius:5px}
.kp-kolonki-zag button:hover{background:var(--accent-soft)}
.kp-kolonki-punkt{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-s);font-size:12.5px;cursor:grab;transition:background .13s}
.kp-kolonki-punkt:hover{background:var(--surface-2)}
.kp-kolonki-punkt.kp-tashchim{opacity:.4}
.kp-kolonki-punkt.kp-nad{box-shadow:inset 0 -2px 0 var(--accent)}
.kp-kolonki-punkt .kp-tochki{color:var(--faint);font-size:11px;letter-spacing:-2px;flex:0 0 auto}
.kp-kolonki-punkt .kp-imja-kol{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-kolonki-punkt.kp-skryta .kp-imja-kol{color:var(--faint);text-decoration:line-through;text-decoration-thickness:1px}
ещё до нажатия;
   3) счёт чуть поднимается — он и есть главное число фишки.
   Выбранная фишка не «дышит»: она уже сделала своё дело. ═════════════════ */
.kp-chip{--mx:50%; --my:50%;}
.kp-chip::before{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--accent) 16%,transparent), transparent 62%);
  opacity:0; transition:opacity .22s ease;}
.kp-chip:hover::before{opacity:1}
.kp-chip[data-tjazhest="bad"]::before{background:radial-gradient(120px circle at var(--mx) var(--my),
             color-mix(in srgb,var(--bad) 15%,transparent), transparent 62%);}
.kp-chip[aria-pressed="true"]::before{opacity:0}
.kp-chip .kp-dolja{transition:width .5s cubic-bezier(.2,.8,.2,1), height .2s ease, opacity .2s ease}
.kp-chip:hover .kp-dolja{height:3px; opacity:.75}
.kp-chip .kp-schet{transition:color .16s ease, transform .18s cubic-bezier(.2,.8,.2,1)}
.kp-chip:hover .kp-schet{transform:translateY(-1px)}
а не растёт вбок. */
.kp-chip[aria-pressed="true"]::after{content:""; width:9px; height:5px; margin-left:2px; flex:0 0 auto; display:block;
  border-left:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:rotate(-45deg) translateY(-2px) scale(1); transform-origin:center;}
и галочки просто не было. */
.kp-chip.kp-tolko-chto::after{animation:galka .24s cubic-bezier(.2,.9,.25,1)}
.kp-relsa-verh .kp-kolonki-knopka,.kp-relsa-verh select,.kp-listanie button{height:34px}
.kp-perekljuchatel{height:34px}
.kp-perekljuchatel button{height:100%; padding-top:0; padding-bottom:0}
человек снова его не видел. */
table.kp-dannye tfoot td{position:sticky; bottom:0; z-index:3;
  background:var(--surface-3); border-top:1px solid var(--line); border-bottom:0;
  padding:9px 12px; font-weight:600; font-size:12.5px;}
table.kp-dannye tfoot .kp-podpis-itoga{font-weight:400; color:var(--muted); font-size:11.5px; margin-left:8px}
приходилось щёлкать четырнадцать раз. */
.kp-svernut-vse{font:inherit; font-size:11.5px; height:34px; padding:0 11px; display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink-2); cursor:pointer;
  transition:border-color .15s, background .15s; white-space:nowrap; flex:0 0 auto;}
.kp-svernut-vse:hover{border-color:var(--accent); background:var(--accent-soft); color:var(--accent-ink)}
.kp-svernut-vse i{font-style:normal; display:inline-block; transition:transform .18s cubic-bezier(.3,.8,.3,1)}
.kp-svernut-vse[aria-pressed="true"] i{transform:rotate(-90deg)}
а строки на
   клавиши не отзывались вовсе — обещание без исполнения хуже отсутствия. */
table.kp-dannye tbody tr[tabindex]{outline:none}
table.kp-dannye tbody tr.kp-pod-kursorom{background:var(--accent-soft)}
table.kp-dannye tbody tr.kp-pod-kursorom td:first-child{box-shadow:inset 2px 0 0 var(--accent)}
table.kp-dannye td{white-space:nowrap}
table.kp-dannye td{padding:6px 10px}
table.kp-dannye th{padding:8px 10px 6px}
table.kp-dannye td:last-child,table.kp-dannye th:last-child{padding-left:4px;padding-right:6px}
.kp-poisk kbd{font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface)}
a.kp-chip{text-decoration:none}
.kp-poisk form,form.kp-poisk{margin:0}
.kp-kolonki-panel label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--r-s);font-size:12.5px;cursor:pointer}
.kp-kolonki-panel label:hover{background:var(--surface-2)}
/* строка итога */
.kp-itog{display:flex;align-items:center;flex-wrap:wrap;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--ink-2)}
tr.kp-gruppa .kp-itogo{float:right;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums}
.kp-relsa-verh .kp-kolonki-knopka,.kp-relsa-verh select,.kp-listanie button{height:34px}
.kp-perekljuchatel{height:34px}
.kp-perekljuchatel button{height:100%; padding-top:0; padding-bottom:0}
table.kp-dannye th{padding:8px 8px 6px}
table.kp-dannye td{padding:6px 8px}
[data-pricing-screen="decisions"] table.mk-dannye th{padding-left:6px;padding-right:6px}
[data-pricing-screen="decisions"] table.mk-dannye td{padding-left:6px;padding-right:6px}
[data-pricing-screen="decisions"] td:nth-child(8) .mk-kletka{max-width:12ch}
[data-pricing-screen="decisions"] .mk-kletka.mk-shire{max-width:14ch}
[data-pricing-screen="decisions"] .mk-tovar{max-width:16ch}
[data-pricing-screen="decisions"] td:nth-child(6) .mk-kletka{max-width:12ch}
[data-pricing-screen="decisions"] table.mk-dannye th{letter-spacing:.015em}
[data-pricing-screen="decisions"] .mk-kletka.mk-shire{max-width:13ch}
[data-pricing-screen="decisions"] td:nth-child(4) .mk-kletka{max-width:11ch}
[data-pricing-screen="decisions"] td:nth-child(8) .mk-kletka{max-width:11ch}
.mk-tabl-karta .mk-relsa .mk-poisk input[data-mk-poisk],.mk-ekran .mk-relsa .mk-poisk input[data-mk-poisk]{width:100%;height:34px;padding:0 44px 0 33px;font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink)}
.mk-tabl-karta .mk-relsa .mk-poisk input[data-mk-poisk]:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-glow)}
.mk-ekran td .mk-vyb-input,.mk-ekran th .mk-vyb-input,.mk-tabl-karta td .mk-vyb-input{width:16px;height:16px;min-height:0;min-width:0;padding:0;line-height:1}
/* рельса карточки словаря под чужими правилами input/select (today-new-view, archi-control-view и т. п.) */
.mk-tabl-karta .mk-relsa select.mk-vybor,.mk-ekran .mk-relsa select.mk-vybor,.mk-tabl-karta .mk-relsa .mk-listanie select,.mk-ekran .mk-relsa .mk-listanie select{width:auto;min-height:0;height:32px;padding:0 28px 0 10px;font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:var(--r-m);background-color:var(--surface);color:var(--ink-2);box-shadow:none}
.mk-tabl-karta .mk-relsa .mk-listanie select{padding-right:22px}
.mk-tabl-karta .mk-relsa input[data-mk-poisk],.mk-ekran .mk-relsa input[data-mk-poisk]{min-height:0;box-shadow:none}
.mk-tabl-karta .mk-relsa .mk-listanie b{white-space:nowrap}
.mk-tabl-karta .mk-relsa .mk-podpis-otbora{white-space:nowrap}
/* узкая карточка словаря: правая связка рельсы ужимается, чтобы стоять в одной строке с поиском */
.mk-tabl-karta{container-type:inline-size}
@container (max-width:1040px){
  .mk-tabl-karta .mk-relsa .mk-listanie > span{display:none}
  .mk-tabl-karta .mk-relsa .mk-podpis-otbora{display:none}
  .mk-tabl-karta .mk-relsa select.mk-vybor{max-width:150px}
  .mk-tabl-karta .mk-relsa .mk-poisk{flex:1 1 180px;min-width:160px}
}
@container (max-width:760px){
  .mk-tabl-karta .mk-relsa .mk-relsa-pravo{margin-left:0;width:100%;justify-content:flex-start}
}

/* ═══ УЖАТИЕ ~30 % (Кир, 16.09): шапки, плитки, чипы, строка пути, итог ═══ */
.mk-ekran-put{padding:4px 12px;font-size:10px}
.mk-ekran .mk-glavnaja,.mk-glavnaja{padding:8px 14px 7px;gap:10px}
.mk-imja,.mk-glavnaja h3.mk-imja{font-size:16px}
.mk-pojasnenie{font-size:11.5px}
.mk-istochnik{padding:3px 9px 3px 8px;font-size:10.5px}
.mk-ekran .mk-plitki,.mk-plitki{padding:4px 4px}
.mk-plitka,.mk-plitka{padding:2px 11px;gap:8px}
.mk-plitka-imja,.mk-plitka-imja.mk-plitka-imja.mk-plitka-imja{font-size:9.5px}
.mk-plitka-chislo,.mk-plitka-chislo.mk-plitka-chislo.mk-plitka-chislo{font-size:13.5px}
.mk-plitki .mk-plitka-pod,.mk-plitki .mk-plitka-pod{font-size:10px}
.mk-chip,.mk-chip,a.mk-chip,.kp-chip{padding:3px 9px 4px;font-size:11.5px;gap:6px}
.mk-chip .mk-schet,.mk-chip .mk-schet,.kp-chip .kp-schet{font-size:10px}
.mk-chipy,.mk-chipy,.kp-chipy{gap:4px}
.mk-chipy{padding:5px 14px 6px}
.mk-ekran .mk-relsa{padding:6px 14px 8px}
.mk-ekran .mk-relsa-verh{margin-bottom:6px}
.mk-vybrano{margin-top:6px;padding-top:6px;font-size:11.5px}
.mk-itog > span{padding:6px 12px 6px 0}
.mk-itog b{font-size:13px}
.mk-itog .mk-zametka{font-size:11px}
.mk-ekran .mk-itog .mk-zametka{padding:0 0 6px}
.mk-vnimanie,.mk-ekran .mk-vnimanie{padding:5px 14px;font-size:12px}
.mk-vkladki button,.mk-vkladki a{padding:7px 10px 6px;font-size:12px}
.mk-otbor{padding:4px 0}
.mk-otbor-imja{font-size:9.5px;padding-top:5px;flex-basis:96px}
.mk-glavnaja.mk-vtoraja.mk-vtoraja{padding:5px 14px 4px}
.mk-glavnaja.mk-vtoraja.mk-vtoraja h3.mk-imja,.mk-glavnaja.mk-vtoraja.mk-vtoraja .mk-imja{font-size:12.5px}
.mk-hd-n{font-size:10.5px;padding:1px 6px}
.mk-klavishi{padding:7px 14px;font-size:10.5px;gap:12px}
table.mk-dannye th,.mk-koren table.mk-dannye th{padding:6px 8px 5px;font-size:10.5px}
.mk-ekran .mk-glavnaja .mk-istochnik{margin-left:auto}
.mk-ekran .mk-glavnaja .mk-metki + .mk-istochnik{margin-left:0}

/* Кнопка-ссылка в ячейке словаря («сузить отбор», «открыть»): экранные CSS
   дают всем button min-height 34 px — строка вырастала до 47 px. */
.mk-tabl-karta .mk-dannye td > button:not(.btn):not(.mk-kmd),.mk-ekran .mk-dannye td > button:not(.btn):not(.mk-kmd){min-height:0;height:auto;line-height:inherit;font-size:inherit}

/* Метки режима при длинной пилюле источника (аудитор D6): переносятся, а не режутся многоточием */
.mk-ekran .mk-glavnaja .mk-metki{white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 200px;min-width:0;row-gap:2px;justify-content:flex-end;text-align:right}
.mk-ekran .mk-glavnaja .mk-istochnik{flex:0 0 auto;margin-left:auto;max-width:42%}
.mk-pusto button[data-mk-k-forme]{margin-top:10px}

/* ═══ РЕЛЬСА ОТБОРОВ ЭКРАНА (today-new и другие: форма отбора → рельса макета) ═══ */
.mk-otbory-ekrana{margin:0 0 12px}
.mk-otbory-ekrana .mk-relsa-verh{flex-wrap:wrap;row-gap:8px}
.mk-otbory-ekrana .mk-poisk{flex:1 1 260px;max-width:440px}
.mk-otbory-ekrana select.mk-upr{max-width:220px;text-overflow:ellipsis}
.mk-otbory-ekrana .mk-segment button{font-size:12px}
.mk-otbory-ekrana .mk-relsa-pravo{margin-left:auto;flex:0 0 auto;min-width:0;width:auto}
.mk-otbory-ekrana .mk-knopka{height:32px;padding:0 13px;display:inline-flex;align-items:center}
.mk-otbory-ekrana .mk-otbor-redkie{align-items:center}
.mk-upravlenija{gap:8px;align-items:center}
.mk-data{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);font-size:12px;color:var(--muted)}
.mk-data input{border:0;background:none;font:inherit;font-size:12.5px;color:var(--ink-2);min-height:0;height:28px;padding:0;width:auto;box-shadow:none}
.mk-data input[type="number"]{width:7ch}
.mk-otbor-zametka{flex:1 1 100%;font-size:11.5px;color:var(--faint)}
.mk-otbory-ekrana input[type="search"]{min-height:0}

/* сохранённые виды (new_report_views_controller) — управлениями рельсы */
.mk-otbory-ekrana [hidden]{display:none}
.mk-vidy{display:inline-flex;align-items:center}
.mk-vidy[data-mk-native-views]{gap:6px;min-width:0}
.mk-vidy[data-mk-native-views] .mk-vybor{max-width:180px}
.mk-vidy .tn-report-viewbar{display:inline-flex;align-items:center;flex:none;min-width:0;gap:8px;margin:0}
.mk-vidy .tn-report-view-select{display:inline-flex;min-width:0;flex:none;gap:0}
.mk-vidy .tn-report-view-select > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mk-vidy .tn-report-view-select select,.mk-vidy .tn-report-view-actions .btn{font:inherit;font-size:12.5px;height:32px;min-height:0;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);box-shadow:none;max-width:200px;text-overflow:ellipsis;white-space:nowrap}
.mk-vidy .tn-report-view-select select{padding-right:26px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235c6b66' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}
.mk-vidy .tn-report-view-actions{display:inline-flex;gap:8px}
.mk-vidy .tn-report-view-actions .btn:hover{border-color:var(--accent);background:var(--accent-soft)}
.mk-vidy .tn-report-viewbar > details,.mk-vidy .tn-report-viewbar > .ek-scope,.mk-vidy .tn-report-viewbar > p{display:none}
.mk-otbory-ekrana .mk-poisk input{opacity:1;color:var(--ink);background:transparent}

/* CRM: crm-operator-2026.css держит высоту строки константой (--co-row) и
   обнуляет отступы ячеек с большей специфичностью — плотность не работала */
.view.crm.crm-focused .crm-scroll table.mk-dannye td,.view.crm.crm-focused .crm-scroll table.mk-dannye th{height:auto;padding:6px 10px;line-height:1.35}
.view.crm.crm-focused .crm-scroll table.mk-dannye thead th{padding:6px 8px 5px}
.view.crm.crm-focused .crm-scroll table.mk-dannye.mk-plotno td{padding-top:3px;padding-bottom:3px}
.view.crm.crm-focused .crm-scroll table.mk-dannye td .crm-preview-button{padding:1px 6px;line-height:1.3}

/* вкладки экрана вне карточки (отчёты звонков и т. п.) */
.mk-vkladki-ekrana{margin:0 0 12px;background:transparent;border-bottom:1px solid var(--line);padding:0 2px}
.mk-vkladki-ekrana a{text-decoration:none;white-space:nowrap}
.mk-kmd[type="button"]{font:inherit;cursor:pointer}

/* шапка h1/h2 (рабочие места со своей разметкой) — размер имени как у h3 */
.mk-glavnaja h1.mk-imja,.mk-glavnaja h2.mk-imja{font-size:16px;margin:0;font-weight:600;line-height:1.25}
.mk-glavnaja p.mk-pojasnenie{margin:0}

/* ═══ ФАСЕТЫ, ЗАКРЕП, CSV в карточке словаря ═══ */
.mk-tabl-karta .mk-fasety{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:6px 12px 8px;border-bottom:1px solid var(--hair,#f0f5f3)}
.mk-tabl-karta .mk-faset-gruppa{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}
.mk-tabl-karta .mk-faset-gruppa .mk-podpis-otbora{margin-right:4px}
.mk-tabl-karta .mk-fasety .mk-chip{cursor:pointer}
.mk-tabl-karta .mk-fasety .mk-chip.is-on,.mk-tabl-karta .mk-fasety .mk-chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.mk-upr-znak{padding:0 9px;font-size:12px}
.mk-upr-znak[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
table.mk-dannye.mk-zakrep-pervaja th:first-child,table.mk-dannye.mk-zakrep-pervaja td:first-child{position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--line)}
table.mk-dannye.mk-zakrep-pervaja thead th:first-child{z-index:3}
/* Составная ячейка: строки-блоки внутри (заголовок, подстрока) — каждая в
   одну строку с многоточием; ячейка не растёт вверх ради длинного текста
   (аудитор: leads 41 → 96 px из-за переносов в узкой колонке) */
.mk-tabl-karta table.mk-dannye td:not(.mk-n):not([colspan]):has(div,p,ul,ol,table,br,small,.t-dim,.sub,.muted,form){white-space:nowrap;max-width:360px;overflow:hidden}
.mk-tabl-karta table.mk-dannye td > div,.mk-tabl-karta table.mk-dannye td > .sub,.mk-tabl-karta table.mk-dannye td > small,.mk-tabl-karta table.mk-dannye td > p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}
.mk-tabl-karta table.mk-dannye td > div > div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media print{.mk-relsa,.mk-fasety,.mk-klavishi,.side,.topbar{display:none}}

/* мебельные проекты: герой без градиента — шапка макета; рельса фильтров */
.furniture-projects-hero.mk-glavnaja-obertka{background:none;padding:0;border:0;box-shadow:none;color:inherit;display:block;border-radius:0}
.furniture-projects-hero.mk-glavnaja-obertka .furniture-projects-hero-note{margin-top:6px;color:var(--muted)}
.furniture-filter-disclosure > summary{display:none}
.furniture-filter-bar.mk-otbory-ekrana{display:block;padding:10px 12px;background:var(--surface-2,#f6f9f8)}
.furniture-filter-bar .furniture-filter-result{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.furniture-filter-bar .furniture-filter-result b{font-family:var(--mono)}
.furniture-filter-bar .furniture-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
/* мебельные проекты: без открытого проекта вторая колонка сетки была ПУСТОЙ (aside не рисуется), а таблица жила в 546 px из 1016 */
.furniture-projects-view .furniture-projects-layout{grid-template-columns:minmax(0,1fr)}
/* CRM: полоса вида как шапка макета; кнопки сегмента без рамок grid-table.css */
.crm-viewbar.mk-glavnaja .mk-segment button{border:0;border-radius:0;background:none;padding:0 12px;height:100%}
.crm-viewbar.mk-glavnaja .mk-segment button+button{border-left:1px solid var(--line)}
.crm-viewbar.mk-glavnaja .mk-segment button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}

/* CRM: фишки состояний и поиск — макетом */
.crm .crm-chips.mk-chipy .crm-chip.mk-chip{font:inherit;font-size:12px}
.crm .crm-chips.mk-chipy .crm-chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.crm .crm-search.mk-relsa-verh{margin:0;flex:1 1 320px;justify-content:flex-end;gap:8px}
.crm .crm-search.mk-relsa-verh .mk-poisk{flex:0 1 320px}
.crm .crm-search.mk-relsa-verh .mk-knopka{height:32px;display:inline-flex;align-items:center;text-decoration:none}
.crm .co-line{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.crm .crm-search.mk-relsa-verh{flex-wrap:nowrap}
.crm .crm-search.mk-relsa-verh .mk-poisk input{padding-left:32px;padding-right:12px;height:32px;min-height:0;width:100%;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);font:inherit;font-size:13px;box-shadow:none}

/* фильтр по колонке с условием */
.mk-uslovie-panel{min-width:420px;left:auto;right:0}
.mk-uslovie-forma{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px}
.mk-uslovie-forma select.mk-upr{max-width:170px}
.mk-uslovie-forma input.mk-upr{width:140px;flex:1 1 120px}
.mk-uslovie-forma .mk-knopka{height:32px;padding:0 12px}

.mk-pod-tablicej{padding:8px 12px 4px}
.mk-pojasnenie-plitok{margin:0;padding:2px 12px 6px;font-size:12px;color:var(--muted)}

/* «⋯» — редкие действия карточки одним меню, чтобы рельса помещалась в строку */
.mk-dejstvija-panel{left:auto;right:0;min-width:260px;padding:6px}
.mk-dejstvija-panel button{display:block;width:100%;text-align:left;font:inherit;font-size:12.5px;padding:7px 10px;border:0;border-radius:6px;background:none;color:var(--ink-2);cursor:pointer}
.mk-dejstvija-panel button:hover{background:var(--surface-2)}
.mk-dejstvija-panel button[aria-pressed="true"]{color:var(--accent-ink);background:var(--accent-soft)}

/* ═══ СТОЛ ЦЕН в карточке макета («Три экрана» №1): своя разметка, классы макета ═══ */
.price-desk .mk-vidy-ekrana{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.price-desk .mk-ekran-stol .mk-relsa{border-bottom:1px solid var(--hair,#f0f5f3)}
.price-desk .mk-ekran-stol .mk-relsa-verh{padding:10px 12px 8px;margin:0;flex-wrap:wrap}
.price-desk .mk-ekran-stol .mk-poisk{flex:1 1 240px;max-width:420px}
.price-desk .mk-eshhjo-otbory summary{list-style:none;cursor:pointer}
.price-desk .mk-eshhjo-otbory summary::-webkit-details-marker{display:none}
.price-desk .mk-eshhjo-otbory[open] summary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.price-desk .mk-eshhjo-otbory .pd-more__body{position:absolute;z-index:30;margin-top:6px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:0 12px 32px rgba(20,35,30,.12);display:flex;flex-wrap:wrap;gap:8px;max-width:640px}
.price-desk .mk-eshhjo-otbory{position:relative}
.price-desk .mk-eshhjo-otbory .mk-data{gap:8px;font-size:12px}
.price-desk .mk-eshhjo-otbory .mk-data select.mk-upr{height:28px}
.price-desk .mk-upr.pd-toggle{gap:6px;cursor:pointer}
.price-desk .mk-upr.pd-toggle input{width:14px;height:14px;min-height:0;margin:0}
.price-desk .mk-ekran-stol .mk-otbor{padding:6px 12px}
.price-desk .mk-ekran-stol .mk-otbor .mk-chipy{flex:1}
.price-desk .mk-ekran-stol .pd-row-chips .pd-chip,.price-desk .mk-ekran-stol .pd-chips .pd-chip,.price-desk .mk-ekran-stol .pd-chips .ek-chip{font-size:12px}
.price-desk .mk-ekran-stol .pd-summary-fold{margin:0;padding:4px 12px;border-bottom:1px solid var(--hair,#f0f5f3)}
.price-desk .mk-ekran-stol .pd-summary-fold > summary{font-size:12.5px;color:var(--muted);cursor:pointer}
.price-desk .mk-ekran-stol .price-desk__columns{border-bottom:1px solid var(--hair,#f0f5f3)}
.price-desk .mk-ekran-stol .pd-denominator.mk-itog{margin:0}
.price-desk .mk-ekran-stol .pd-table-wrap{margin:0;border:0;border-radius:0}
.price-desk .mk-ekran-stol .pd-bulk.mk-polosa-vybora{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.price-desk .mk-ekran-stol .pd-bulk.mk-polosa-vybora[hidden]{display:none}

.price-desk .mk-ekran-stol .mk-poisk input{padding-left:33px;padding-right:40px;height:34px;min-height:0;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);font:inherit;font-size:13.5px;width:100%}
.price-desk .mk-upr.pd-toggle{display:inline-flex;flex-direction:row;align-items:center;white-space:nowrap;height:32px;padding:0 11px}
.price-desk .mk-ekran-stol .mk-otbor{display:flex;align-items:flex-start;gap:10px}
.price-desk .mk-ekran-stol .mk-otbor .mk-otbor-imja{flex:0 0 96px;padding-top:6px}
.price-desk .mk-ekran-stol .mk-chipy{display:flex;flex-wrap:wrap;gap:6px;background:none;padding:0;margin:0;grid-template-columns:none}
.price-desk .mk-ekran-stol .pd-chips-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px}
.price-desk .mk-ekran-stol .pd-chips-bar .pd-chips{flex:1 1 300px}
.price-desk .mk-ekran-stol .pd-column-picker{margin:0 12px 10px}

/* стол цен: таблица в стиле макета — без сетки, закреп только категории (Товар со смещением давал пустую колонку), группы как в словаре */
.price-desk .mk-ekran-stol table.pd-grid th,.price-desk .mk-ekran-stol table.pd-grid td{border-left:0;border-right:0;border-top:0;border-bottom:1px solid var(--hair,#f0f5f3);background-clip:padding-box}
.price-desk .mk-ekran-stol table.pd-grid thead th{background:var(--surface-2);border-bottom:1px solid var(--line)}
.price-desk .mk-ekran-stol table.pd-grid thead tr.pd-subhead th{top:auto;position:static;font-size:10.5px;padding-top:0;padding-bottom:4px}
.price-desk .mk-ekran-stol table.pd-grid thead tr.pd-subhead th:empty{padding:0;height:0;border:0}
.price-desk .mk-ekran-stol .pd-sticky-1,.price-desk .mk-ekran-stol .pd-sticky-2{position:static;max-width:320px;background:transparent}
.price-desk .mk-ekran-stol table.pd-grid tbody tr:nth-child(even) td{background:transparent}
.price-desk .mk-ekran-stol table.dt.pd-grid tbody tr.pd-group td{background:var(--surface-2);font-weight:600;font-size:12.5px;padding:5px 10px}
.price-desk .mk-ekran-stol table.dt.pd-grid tbody tr.pd-group .pd-group__toggle{font:inherit;color:var(--ink-2)}
.price-desk .mk-ekran-stol table.pd-grid tbody td{padding:6px 10px;font-size:12.5px;vertical-align:middle}
.price-desk .mk-ekran-stol table.pd-grid tbody tr:hover td{background:var(--accent-soft)}
.price-desk .mk-ekran-stol .pd-table-wrap{overflow-x:auto}
.price-desk .mk-ekran-stol .pd-rownum{position:static}
.price-desk .mk-ekran-stol table.dt.pd-grid .pd-rownum{background:transparent}
.price-desk .mk-ekran-stol table.dt.pd-grid tbody tr.pd-group td{overflow:visible}
.price-desk .mk-ekran-stol .pd-group__toggle{padding-left:0;margin-left:0;overflow:visible}

.mk-tabl-karta .mk-pusto .mk-kmd{display:inline-block;margin:6px 0 2px;font-size:12.5px}

/* поиск по всему каталогу / системе — блок под таблицей карточки */
.mk-tabl-karta .mk-katalog{border-top:1px solid var(--line);background:var(--surface)}
.mk-tabl-karta .mk-katalog .mk-katalog-zag{background:var(--accent-soft);gap:14px}
.mk-tabl-karta .mk-katalog .mk-katalog-zag .mk-kmd{margin-left:auto}
.mk-tabl-karta .mk-katalog-tabl{width:100%}
.mk-tabl-karta .mk-katalog-hvost{padding:6px 12px 8px}

/* Строки таблиц используют единый ui_surface inspector; отдельного шестого
   семейства панелей здесь больше нет. */
.mk-row-inspector-body .ui-surface-facts{grid-template-columns:1fr}
