/* Прототип SOGOOD (12.11.2026) — единый облик «Пульс»: переменные, оболочка, общий набор элементов.
   Правило прототипа и будущего продукта: экран собирается ТОЛЬКО из элементов этого файла (классы k-…);
   свои цвета, шрифты и кнопки экрану запрещены. Частные классы экрана — с его приставкой (nv-, zk-, ps-…),
   и в них только раскладка (сетка, отступы), цвета — через переменные. */
:root{--bg:#f3f4f6;--pan:#fff;--pan2:#f8f9fa;--tx:#15171a;--mut:#5d636c;--line:#e1e3e7;--acc:#15171a;--acc-tx:#fff;--acc-soft:rgba(21,23,26,.06);--sel:rgba(21,23,26,.05);
  --d1:#2a78d6;--d1-soft:rgba(42,120,214,.12);--d2:#a3a19b;--grid:#e1e0d9;
  --kr:#b42323;--kr-bg:rgba(208,59,59,.10);--vn:#8a5a00;--vn-bg:rgba(250,178,25,.20);--okc:#0a7d0a;--ok-bg:rgba(12,163,12,.10);--bd:#d93036;
  --r:10px;--r-b:6px;--bok:228px;--ten:0 1px 2px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.10);color-scheme:light}
html.tyom{--bg:#0b0c0e;--pan:#141518;--pan2:#191a1e;--tx:#e8e9eb;--mut:#9aa0a8;--line:#25272c;--acc:#e8e9eb;--acc-tx:#0b0c0e;--acc-soft:rgba(232,233,235,.08);--sel:rgba(255,255,255,.05);
  --d1:#3987e5;--d1-soft:rgba(57,135,229,.16);--d2:#6b6a65;--grid:#2c2c2a;
  --kr:#ff8a80;--kr-bg:rgba(255,120,110,.16);--vn:#f5c451;--vn-bg:rgba(245,196,81,.14);--okc:#5fd16f;--ok-bg:rgba(95,209,111,.14);
  --ten:0 1px 2px rgba(0,0,0,.3),0 12px 32px rgba(0,0,0,.5);color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font:14px/1.45 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased;text-align:left}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit;-webkit-tap-highlight-color:transparent}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--d1);outline-offset:2px}
img{display:block;max-width:100%}
small{font-size:inherit}
svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
b{font-weight:600}
.ch{font-variant-numeric:tabular-nums}
.mut{color:var(--mut)}
.kr{color:var(--kr)}.vn{color:var(--vn)}.zl{color:var(--okc)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── оболочка: боковое меню, шапка, место экрана ── */
.sg{display:grid;grid-template-columns:var(--bok) minmax(0,1fr);min-height:100%}
.sg-bok{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2px;padding:14px 10px 10px;background:var(--pan);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:thin}
.sg-znak{display:flex;align-items:center;gap:8px;padding:4px 8px 14px}
.k-logo{position:relative;display:block;flex:none;height:var(--lh,17px);width:calc(var(--lh,17px) * 7.2165);color:var(--tx);background:url(sogood-serdce.png?v=1) 0 0/100% 100% no-repeat}
.k-logo::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:url(sogood-bukvy.png?v=1) 0 0/100% 100% no-repeat;mask:url(sogood-bukvy.png?v=1) 0 0/100% 100% no-repeat}
.k-zn{display:block;flex:none;width:var(--zh,26px);height:var(--zh,26px);background:url(sogood-zn.png?v=1) center/contain no-repeat}
.sg-znak .k-zn{display:none}
.sg-gr{margin:12px 8px 4px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mut)}
.sg-p{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 8px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--mut)}
.sg-p:hover{color:var(--tx);background:var(--sel)}
.sg-p[aria-current]{color:var(--tx);background:var(--sel);font-weight:600}
.sg-p span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-p .k-bd{margin-left:auto;flex:none}
.sg-put{position:relative;margin-left:16px;padding-left:6px;border-left:1.5px solid var(--line)}
.sg-niz{margin-top:auto;padding-top:10px}
.sg-kto{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border-radius:9px;border:1px solid var(--line)}
.sg-kto:hover{background:var(--sel)}
.sg-kto div{flex:1;min-width:0;line-height:1.25}
.sg-kto b{display:block;font-size:13px}
.sg-kto small{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-rm{display:none;margin-top:6px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--pan2)}
.sg-rm.otkr{display:block}
.sg-rm>small{display:block;padding:2px 6px 6px;font-size:11px;color:var(--mut);line-height:1.35}
.sg-rm button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border-radius:6px;font-size:12.5px}
.sg-rm button:hover{background:var(--sel)}
.sg-rm button[aria-pressed="true"]{font-weight:600;background:var(--sel)}
.sg-rm button small{color:var(--mut);margin-left:auto;font-size:11px}

.sg-osn{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.sg-shap{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 20px;background:var(--pan);border-bottom:1px solid var(--line)}
.sg-zag{display:flex;align-items:baseline;gap:10px;min-width:0;margin-right:auto}
.sg-zag b{font-size:17px;font-weight:600;white-space:nowrap}
.sg-zag small{font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-poisk{display:flex;align-items:center;gap:8px;width:min(300px,28vw);height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--mut);font-size:13px;background:var(--pan2)}
.sg-poisk .k-kbd{flex:none}
.sg-poisk span:not(.k-kbd){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-poisk:hover{border-color:var(--d2)}
.k-kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:5px;border:1px solid var(--line);font-size:10.5px;font-weight:600;line-height:1;color:var(--mut)}
.sg-ik{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--mut)}
.sg-ik:hover{background:var(--sel);color:var(--tx)}
.sg-ik .k-bd{position:absolute;top:1px;right:0}
.sg-men{display:none}
.sg-vkl{position:sticky;top:54px;z-index:19;display:flex;gap:2px;padding:0 16px;background:var(--pan);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.sg-vkl::-webkit-scrollbar{display:none}
.sg-vkl button{position:relative;padding:10px 10px 11px;font-size:13.5px;font-weight:500;color:var(--mut);white-space:nowrap}
.sg-vkl button:hover{color:var(--tx)}
.sg-vkl button[aria-current]{color:var(--tx);font-weight:600}
.sg-vkl button[aria-current]::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--tx)}
.sg-vkl .k-bd{margin-left:6px;vertical-align:1px}
.sg-ekr{flex:1;min-width:0;padding:16px 20px 28px;max-width:1520px;width:100%}
.sg-podv{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 20px 14px;font-size:12px;color:var(--mut)}
.sg-podv .usl{margin-left:auto}
.sg-tab{display:none}

/* ── общий набор элементов ── */
/* сетка экрана: 12 колонок; s3…s12 — ширина панели */
.k-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}
.k-g.rv{align-items:stretch}
.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s9{grid-column:span 9}.s12{grid-column:1/-1}
.k-kol{display:grid;gap:12px;min-width:0;align-content:start}
/* панель */
.k-p{min-width:0;padding:16px 18px;border-radius:var(--r);background:var(--pan);border:1px solid var(--line)}
.k-p.pl{padding:0;overflow:hidden}
.k-ph{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin-bottom:12px}
.k-p.pl>.k-ph{margin:0;padding:14px 18px 12px}
.k-ph b{font-size:14px;font-weight:600}
.k-ph small{font-size:12px;color:var(--mut)}
.k-ph .pr{margin-left:auto;display:flex;gap:6px;align-items:center}
/* кнопки */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 12px;border-radius:7px;border:1px solid var(--line);font-size:13px;font-weight:600;white-space:nowrap;background:var(--pan)}
.k-btn:hover{background:var(--sel)}
.k-btn.gl{background:var(--acc);color:var(--acc-tx);border-color:var(--acc)}
.k-btn.gl:hover{opacity:.88;background:var(--acc)}
.k-btn.mal{min-height:26px;padding:3px 8px;font-size:12px;border-radius:6px}
.k-btn.opas{color:var(--kr);border-color:var(--kr-bg)}
.k-btn svg.i{width:16px;height:16px}
.k-btn[disabled]{opacity:.45;cursor:default}
.k-ryad{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.k-ryad .pr{margin-left:auto}
/* переключатель-сегменты и фильтры-таблетки */
.k-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--pan)}
.k-seg button{padding:5px 10px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--mut);text-align:center;white-space:nowrap}
.k-seg button[aria-pressed="true"]{background:var(--acc);color:var(--acc-tx)}
.k-fl{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:500;color:var(--mut);background:var(--pan);white-space:nowrap}
.k-fl:hover{color:var(--tx)}
.k-fl[aria-pressed="true"]{color:var(--tx);border-color:var(--tx);font-weight:600}
.k-fl b{font-variant-numeric:tabular-nums}
.k-pole{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--pan);color:var(--mut);font-size:13px;min-width:200px}
.k-pole input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--tx)}
/* состояния */
.k-st{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1.1;padding:4px 8px 4px 6px;border-radius:999px;white-space:nowrap}
.k-st svg.i{width:14px;height:14px;stroke-width:2}
.k-st.bz{padding-left:8px}
.k-kr{color:var(--kr);background:var(--kr-bg)}
.k-vn{color:var(--vn);background:var(--vn-bg)}
.k-zh{color:var(--tx);background:var(--acc-soft)}
.k-ok{color:var(--okc);background:var(--ok-bg)}
.k-si{color:var(--d1);background:var(--d1-soft)}
.k-sw{background:none;padding:0}
.k-bd{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--bd);color:#fff;font-size:10.5px;font-weight:700;line-height:1}
.k-bd.ser{background:var(--acc-soft);color:var(--mut)}
.k-bd:empty{display:none}
/* люди */
.k-lic{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lc,#44546a);color:#fff;font-size:12px;font-weight:700;line-height:1}
.k-lic.k-sm{width:22px;height:22px;font-size:10px}
.k-lic.ii{background:var(--acc-soft);color:var(--tx)}
.k-lic.ii svg.i{width:14px;height:14px}
.k-lica{display:inline-flex}
.k-lica .k-lic+.k-lic{margin-left:-6px;box-shadow:0 0 0 2px var(--pan)}
/* товар: картинка + название + артикул */
.k-foto{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;overflow:hidden;background:var(--pan2);border:1px solid var(--line);color:var(--mut);font-size:13px;font-weight:600}
.k-foto img{width:100%;height:100%;object-fit:cover}
.k-foto.mal{width:30px;height:30px;border-radius:6px;font-size:11px}
.k-foto.bol{width:72px;height:72px;border-radius:12px;font-size:20px}
.k-tov{display:flex;align-items:center;gap:10px;min-width:0;text-align:left}
.k-tb.po-ost td .k-tov{min-width:196px}
.k-tb.po-ost th+th,.k-tb.po-ost td+td{padding-left:4px}
.k-tb.po-ost th:first-child,.k-tb.po-ost td:first-child{padding-right:4px}
.k-tov>span:last-child{display:grid;min-width:0;line-height:1.3}
.k-tov b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-tov small{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
button.k-tov:hover b{text-decoration:underline}
/* таблица */
.k-tbw{overflow-x:auto;scrollbar-width:thin}
.k-tb{border-collapse:collapse;width:100%;font-size:13px}
.k-tb th{padding:8px 12px;text-align:left;font-size:11.5px;font-weight:600;color:var(--mut);white-space:nowrap;border-bottom:1px solid var(--line);background:var(--pan2)}
.k-tb td{padding:9px 12px;vertical-align:middle;border-bottom:1px solid var(--line)}
.k-tb tr:last-child td{border-bottom:0}
.k-tb th:first-child,.k-tb td:first-child{padding-left:18px}
.k-tb th:last-child,.k-tb td:last-child{padding-right:18px}
.k-tb .ch{text-align:right;white-space:nowrap}
.k-tb tbody tr[data-idti],.k-tb tbody tr[data-akt]{cursor:pointer}
.k-tb tbody tr:hover td{background:var(--sel)}
.k-tb td small{display:block;font-size:11.5px;color:var(--mut)}
.k-tb .uz{white-space:nowrap}
/* плитка с числом */
.k-plt{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 10px;padding:14px 16px}
.k-plt .l{grid-column:1/-1;font-size:12.5px;font-weight:500;color:var(--mut)}
.k-plt .v{margin-top:4px;font-size:26px;font-weight:600;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}
.k-plt .v,.k-plt .d{grid-column:1;min-width:0}
.k-plt .d{margin-top:2px;font-size:12.5px;font-weight:600}
.k-plt .is{grid-column:2;grid-row:2/4;align-self:end;display:grid;justify-items:end;gap:2px}
.k-plt .is small{font-size:10.5px;color:var(--mut)}
.k-plt .is svg{display:block;overflow:visible}
.k-plt .ist{grid-column:1/-1;margin-top:6px}
.up{color:var(--okc)}.dn{color:var(--kr)}.nt{color:var(--mut)}
/* «откуда число» */
.k-ist{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mut)}
.k-ist svg.i{width:13px;height:13px}
/* свежесть данных */
.k-sv{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:12px;color:var(--mut)}
.k-sv span{display:inline-flex;align-items:center;gap:5px}
.k-sv .k-tk{width:6px;height:6px;border-radius:50%;background:var(--okc)}
.k-sv .k-vn{background:none}
.k-sv svg.i{width:14px;height:14px}
/* строка-пункт списка (задача, решение, сигнал) */
.k-s{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;width:100%;padding:10px 6px;border-top:1px solid var(--line);border-radius:6px;text-align:left}
.k-s:first-child{border-top:0}
.k-ph+.k-s{border-top:1px solid var(--line)}
button.k-s:hover,.k-s[data-idti]:hover{background:var(--sel);cursor:pointer}
.k-s>b,.k-s>.t{grid-column:2;font-size:13.5px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-s>.p{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:12px;color:var(--mut)}
.k-s>.l{grid-column:1;grid-row:1/3;align-self:start;margin-top:1px}
.k-s>.r{grid-column:3;grid-row:1/3;display:flex;align-items:center;gap:8px;color:var(--mut)}
.k-s.per>b,.k-s.per>.t{white-space:normal}
.k-s.got>b,.k-s.got>.t{text-decoration:line-through;color:var(--mut);font-weight:500}
/* галочка */
.k-chk{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--d2);color:transparent}
.k-chk svg.i{width:12px;height:12px;stroke-width:3}
.k-chk[aria-checked="true"]{background:var(--acc);border-color:var(--acc);color:var(--acc-tx)}
/* полоса готовности */
.k-prog{position:relative;height:6px;border-radius:3px;background:var(--acc-soft);overflow:hidden;min-width:60px}
.k-prog i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--d1)}
.k-prog.ok i{background:var(--okc)}.k-prog.vn i{background:var(--vn)}.k-prog.kr i{background:var(--kr)}
/* путь товара: этапы */
.k-put{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.k-put::-webkit-scrollbar{display:none}
.k-put1{position:relative;flex:1 0 auto;min-width:96px;padding:22px 10px 0 0;font-size:12px;line-height:1.3;text-align:left}
.k-put1::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:var(--line)}
.k-put1::after{content:"";position:absolute;left:0;top:2px;width:12px;height:12px;border-radius:50%;background:var(--pan);border:2px solid var(--d2)}
.k-put1 b{display:block;font-size:12.5px}
.k-put1 small{display:block;color:var(--mut);font-size:11.5px}
.k-put1.bylo::before{background:var(--d1)}
.k-put1.bylo::after{background:var(--d1);border-color:var(--d1)}
.k-put1.sey::after{border-color:var(--d1);box-shadow:0 0 0 4px var(--d1-soft)}
.k-put1.sey b{color:var(--d1)}
.k-put1:last-child::before{right:auto;width:0}
button.k-put1:hover b{text-decoration:underline}
/* доска с колонками */
.k-kan{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;align-items:start}
.k-kan1{min-width:0;padding:10px;border-radius:var(--r);background:var(--acc-soft)}
.k-kan1>.h{display:flex;align-items:center;gap:6px;padding:0 4px 8px;font-size:12.5px;font-weight:600}
.k-kan1>.h small{color:var(--mut);font-weight:500}
.k-kan1>.h .pr{margin-left:auto}
.k-kart{display:grid;gap:6px;width:100%;padding:10px 12px;margin-top:6px;border-radius:8px;background:var(--pan);border:1px solid var(--line);text-align:left;font-size:12.5px}
.k-kart:first-of-type{margin-top:0}
button.k-kart:hover{border-color:var(--d2)}
.k-kart>b{font-size:13px;line-height:1.3}
.k-kart .p{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--mut);font-size:12px}
.k-kart .p .pr{margin-left:auto}
/* блок «подготовил ИИ» — черновик, не действие */
.k-ii{display:grid;gap:6px;padding:12px 14px;border-radius:8px;border:1px dashed var(--d2);background:var(--pan2);font-size:13px}
.k-ii>.h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--mut)}
.k-ii>.h svg.i{width:15px;height:15px}
/* разбор сигнала: что случилось / чем грозит / что сделать */
.k-razb{display:grid;gap:8px;font-size:13px}
.k-razb>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px}
.k-razb>div>small{color:var(--mut);font-size:12px;padding-top:1px}
/* пары «подпись — значение» */
.k-para{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:6px 14px;font-size:13px;align-items:baseline}
.k-para>small{color:var(--mut);font-size:12px}
.k-para>span{min-width:0;text-align:right;font-variant-numeric:tabular-nums}
/* подсказка-пояснение и пустое место */
.k-zam{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--acc-soft);font-size:12.5px;line-height:1.45;color:var(--mut)}
.k-zam svg.i{width:15px;height:15px;margin-top:1px}
.k-zam b{color:var(--tx)}
.k-pusto{display:grid;justify-items:center;gap:8px;padding:56px 20px;text-align:center;color:var(--mut)}
.k-pusto svg.i{width:28px;height:28px}
.k-pusto b{font-size:16px;color:var(--tx)}
.k-pusto span{max-width:520px}
/* главный показатель экрана */
.k-hero-v{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.k-hero-v b{font-size:52px;font-weight:600;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.k-hero-v span{font-size:18px;font-weight:500;color:var(--mut)}
.k-hero-d{font-size:13.5px;font-weight:600;margin-top:4px}
.k-ed{font-size:11.5px;color:var(--mut);margin:12px 0 2px}
/* строка без левого значка: текст + правый край */
.k-s.bl{grid-template-columns:minmax(0,1fr) auto}
.k-s.bl>b,.k-s.bl>.t,.k-s.bl>.p{grid-column:1}
.k-s.bl>.r{grid-column:2}
.k-zg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.k-zg h1{margin:0;font-size:20px;font-weight:600;line-height:1.25}
.k-zg .pr{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.k-zg p{flex-basis:100%;margin:0;font-size:13px;color:var(--mut)}
/* горизонтальные полосы */
.k-hb{position:relative;display:grid;gap:8px;--lw:120px;--vw:56px}
.k-hb.k-hbm{margin-top:20px}
.k-hb1{display:grid;grid-template-columns:var(--lw) minmax(0,1fr) var(--vw);gap:10px;align-items:center;font-size:12.5px;border-radius:6px;min-height:22px}
.k-hb1>span:first-child{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-hb1>span:first-child svg.i{width:14px;height:14px;stroke-width:2;color:var(--vn)}
.k-hbb{position:relative;height:12px}
.k-hbb i{position:absolute;left:0;top:0;bottom:0;min-width:2px;border-radius:0 4px 4px 0;background:var(--d2)}
.k-hb1.ak .k-hbb i{background:var(--d1)}
.k-hb1.malo .k-hbb i{background:var(--vn)}
.k-hb1.ploho .k-hbb i{background:var(--kr)}
.k-hbv{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.k-hb1[data-ttv]{cursor:default}
.k-hb1[data-ttv]:hover,.k-hb1[data-ttv]:focus-visible{background:var(--sel)}
.k-hbp{position:absolute;top:-4px;bottom:-4px;width:0;border-left:1.5px dashed var(--mut);pointer-events:none;left:calc(var(--lw) + 10px + (100% - var(--lw) - var(--vw) - 20px) * var(--p))}
.k-hbp span{position:absolute;bottom:100%;left:0;transform:translateX(-50%);margin-bottom:3px;font-size:10.5px;color:var(--mut);white-space:nowrap}
.k-hbp.lv span{transform:translateX(-100%);padding-right:4px}
/* графики */
.k-gr{position:relative;width:100%;border-radius:6px}
.k-gr svg{display:block;overflow:visible}
.k-gr text{font-size:11px;fill:var(--mut);font-family:inherit}
.k-gr .k-gl{stroke:var(--grid);stroke-width:1;shape-rendering:crispEdges}
.k-gr .k-por{fill:var(--mut);font-size:10.5px}
.k-leg{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:12px;color:var(--mut)}
.k-leg span{display:inline-flex;align-items:center;gap:6px}
.k-leg i{display:inline-block;width:16px;height:0;border-top:2.5px solid;border-radius:2px}
.k-leg i.kv{width:10px;height:10px;border:0;border-radius:3px}
/* подсказка, сообщение, шторка, окно подтверждения, поиск */
.k-tt{position:fixed;left:0;top:0;z-index:300;pointer-events:none;min-width:110px;max-width:280px;padding:8px 10px;border-radius:10px;background:var(--pan);color:var(--tx);border:1px solid var(--line);box-shadow:var(--ten);font-size:12.5px;line-height:1.35;opacity:0;visibility:hidden;transition:opacity .12s}
.k-tt.vid{opacity:1;visibility:visible}
.k-tt .k-tt-r{display:flex;align-items:center;gap:7px;white-space:nowrap}
.k-tt .k-tt-r+.k-tt-r{margin-top:2px}
.k-tt .k-tt-r b{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.k-tt .k-tt-k{flex:none;width:14px;height:0;border-top:2.5px solid;border-radius:2px}
.k-tt .k-tt-n,.k-tt .k-tt-l{color:var(--mut)}
.k-tt .k-tt-l{margin-top:4px;white-space:normal}
.k-toast{position:fixed;left:50%;bottom:28px;z-index:310;transform:translate(-50%,10px);opacity:0;visibility:hidden;pointer-events:none;padding:11px 16px;border-radius:12px;background:var(--acc);color:var(--acc-tx);font-size:13.5px;line-height:1.4;width:max-content;max-width:min(440px,calc(100vw - 32px));box-shadow:var(--ten);transition:opacity .18s,transform .18s}
.k-toast.vid{opacity:1;visibility:visible;transform:translate(-50%,0)}
.k-fon{position:fixed;inset:0;z-index:200;background:rgba(10,12,16,.38);opacity:0;visibility:hidden;transition:opacity .15s}
.k-fon.vid{opacity:1;visibility:visible}
.k-sht{position:fixed;top:0;right:0;bottom:0;z-index:210;display:flex;flex-direction:column;width:min(480px,100vw);background:var(--pan);border-left:1px solid var(--line);box-shadow:var(--ten);transform:translateX(102%);transition:transform .18s;visibility:hidden}
.k-sht.vid{transform:none;visibility:visible}
.k-sht-h{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.k-sht-h div{flex:1;min-width:0}
.k-sht-h b{display:block;font-size:16px;line-height:1.3}
.k-sht-h small{display:block;margin-top:2px;font-size:12.5px;color:var(--mut)}
.k-sht-t{flex:1;overflow-y:auto;padding:16px 18px;display:grid;gap:14px;align-content:start}
.k-sht-n{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:var(--pan2)}
.k-sht-n .pr{margin-left:auto}
.k-okno{position:fixed;left:50%;top:50%;z-index:220;width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow-y:auto;padding:18px 20px 16px;border-radius:14px;background:var(--pan);border:1px solid var(--line);box-shadow:var(--ten);transform:translate(-50%,-46%);opacity:0;visibility:hidden;transition:opacity .15s,transform .15s}
.k-okno.vid{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.k-okno>b{display:block;font-size:16px;line-height:1.3}
.k-okno>.t{margin-top:10px;display:grid;gap:10px;font-size:13.5px}
.k-okno>.n{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.k-nar{display:grid;gap:4px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--pan2);font-size:12.5px}
.k-nar>small{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.k-nar>small svg.i{width:14px;height:14px}
.k-nar div{display:flex;justify-content:space-between;gap:10px}
.k-ps{position:fixed;left:50%;top:12vh;z-index:220;width:min(560px,calc(100vw - 24px));border-radius:14px;background:var(--pan);border:1px solid var(--line);box-shadow:var(--ten);transform:translateX(-50%);opacity:0;visibility:hidden;overflow:hidden}
.k-ps.vid{opacity:1;visibility:visible}
.k-ps .k-pole{height:48px;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:15px;padding:0 16px}
.k-ps-r{max-height:52vh;overflow-y:auto;padding:6px}
.k-ps-r>small{display:block;padding:8px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.k-ps-r button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font-size:13.5px}
.k-ps-r button:hover,.k-ps-r button.vyb{background:var(--sel)}
.k-ps-r button small{margin-left:auto;color:var(--mut);font-size:12px}

/* ── средний экран: меню значками ── */
@media (max-width:1180px) and (min-width:761px){
  :root{--bok:60px}
  .sg-bok{padding:12px 8px;align-items:center}
  .sg-znak{padding:2px 0 12px}.sg-znak .k-logo{display:none}.sg-znak .k-zn{display:block}
  .sg-gr{width:24px;height:1px;margin:8px 0;padding:0;overflow:hidden;background:var(--line);color:transparent}
  .sg-p{justify-content:center;padding:6px;width:40px;position:relative}
  .sg-p span{display:none}
  .sg-p .k-bd{position:absolute;top:0;right:-2px;margin:0}
  .sg-put{margin:0;padding:0;border:0}
  .sg-kto{justify-content:center;padding:5px;border:0}.sg-kto div,.sg-kto>svg{display:none}
  .sg-rm{position:fixed;left:64px;bottom:10px;width:220px;z-index:60;box-shadow:var(--ten)}
  .s3{grid-column:span 6}.s4{grid-column:span 6}.s5,.s7{grid-column:span 6}.s8,.s9{grid-column:1/-1}
}
/* ── телефон: меню — нижние вкладки и «Ещё» ── */
@media (max-width:760px){
  .sg{display:block}
  .sg-bok{position:fixed;inset:0 0 0 auto;z-index:110;width:min(300px,86vw);height:auto;border-right:0;border-left:1px solid var(--line);box-shadow:var(--ten);transform:translateX(104%);transition:transform .18s;visibility:hidden;padding-bottom:20px}
  .sg-bok.otkr{transform:none;visibility:visible}
  .sg-shap{padding:8px 12px;gap:6px;min-height:50px}
  .sg-zag small{display:none}
  .sg-poisk{width:34px;padding:0;justify-content:center;border:0;background:none}.sg-poisk span,.sg-poisk .k-kbd{display:none}
  .sg-shap .k-zn{--zh:24px}
  .sg-vkl{top:50px;padding:0 6px}
  .sg-ekr{padding:12px 12px 20px}
  .sg-podv{padding:8px 12px calc(76px + env(safe-area-inset-bottom))}
  .sg-podv .usl{margin-left:0}
  .sg-tab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--pan);border-top:1px solid var(--line)}
  .sg-tab button{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:5px 2px 2px;font-size:10.5px;font-weight:500;color:var(--mut)}
  .sg-tab button[aria-current]{color:var(--tx);font-weight:600}
  .sg-tab svg.i{width:22px;height:22px}
  .sg-tab .k-bd{position:absolute;top:1px;left:calc(50% + 5px)}
  .k-g{grid-template-columns:minmax(0,1fr);gap:10px}
  .s3,.s4,.s5,.s6,.s7,.s8,.s9,.s12{grid-column:1}
  .k-p{padding:14px}
  .k-p.pl>.k-ph{padding:12px 14px 10px}
  .k-tb th:first-child,.k-tb td:first-child{padding-left:14px}
  .k-tb th:last-child,.k-tb td:last-child{padding-right:14px}
  .k-tb .tel-net{display:none}
  .k-tb td .k-tov{min-width:150px}
  .k-tb.po-ost td .k-tov{min-width:150px}
  .k-kan{grid-auto-columns:minmax(248px,82vw)}
  .k-sht{width:100vw;border-left:0}
  .k-toast{bottom:calc(78px + env(safe-area-inset-bottom))}
  .k-razb>div{grid-template-columns:minmax(0,1fr);gap:1px}
  .k-hero-v b{font-size:40px}
  .tel-net{display:none!important}
}
@media (min-width:761px){.tel-da{display:none!important}}

/* ── дополнения рабочей версии (14.11.2026): формы, загрузка, файлы, «нет данных», фото людей, вход ── */
.k-lic.ft{background:var(--pan2) center/cover no-repeat;color:transparent}
.k-in{display:block;width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--pan);color:var(--tx);font-size:13.5px;outline:0}
.k-in:focus{border-color:var(--d1);box-shadow:0 0 0 3px var(--d1-soft)}
textarea.k-in{resize:vertical;min-height:64px;line-height:1.4}
select.k-in{appearance:auto}
.k-in[type=file]{padding:5px}
.k-in.mal{min-height:28px;padding:3px 8px;font-size:12.5px;width:auto}
.k-f{display:grid;gap:4px;min-width:0;font-size:12.5px}
.k-f>span{color:var(--mut);font-weight:500}
.k-f>small{color:var(--mut);font-size:11.5px;line-height:1.35}
.k-f.gal{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;font-size:13.5px}
.k-f.gal>span{color:var(--tx)}.k-f.gal small{display:block;color:var(--mut);font-size:12px;font-weight:400}
.k-f.gal input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--d1)}
.k-ob{color:var(--kr);font-style:normal}
.k-fm{display:grid;gap:12px}
.k-fm.dva{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-fm.dva>.vsya{grid-column:1/-1}
@media (max-width:640px){.k-fm.dva{grid-template-columns:minmax(0,1fr)}}
.k-osh{padding:8px 10px;border-radius:7px;background:var(--kr-bg);color:var(--kr);font-size:13px}
.k-gruz{display:grid;gap:10px;padding:8px 0}
.k-gruz i{display:block;height:64px;border-radius:var(--r);background:linear-gradient(90deg,var(--sel),var(--acc-soft),var(--sel));background-size:200% 100%;animation:k-gruz 1.2s linear infinite}
.k-gruz i:first-child{height:96px}
@keyframes k-gruz{to{background-position:-200% 0}}
.k-net{color:var(--mut);cursor:help;border-bottom:1px dotted var(--mut)}
.k-fayl{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;font-size:12.5px;color:var(--tx);text-decoration:none;background:var(--pan)}
.k-fayl:hover{background:var(--sel)}
.k-fayl span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-fayl.kart{flex-direction:column;align-items:stretch;padding:4px;width:112px}
.k-fayl.kart img{width:100%;height:84px;object-fit:cover;border-radius:5px}
.k-fayly{display:flex;flex-wrap:wrap;gap:6px}
a{color:var(--d1)}
.sg-rm a,.sg-rm button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:6px;font-size:13px;color:var(--tx);text-decoration:none}
.sg-rm a:hover{background:var(--sel)}
.sg-rm svg.i{width:16px;height:16px;color:var(--mut)}
.sg-test{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:20px;background:var(--vn-bg);color:var(--vn);font-weight:600}
/* вход */
.vh{min-height:100%;display:grid;place-items:center;padding:24px 16px}
.vh-k{width:min(380px,100%);display:grid;gap:16px;padding:28px 26px;border:1px solid var(--line);border-radius:14px;background:var(--pan);box-shadow:var(--ten)}
.vh-k .k-logo{--lh:20px;margin:2px 0 6px}
.vh-k h1{margin:0;font-size:19px;font-weight:600}
.vh-k p{margin:0;color:var(--mut);font-size:13px}
.vh-k .k-btn{min-height:40px;font-size:14.5px}
.vh-k .k-in{min-height:40px;font-size:15px}
.vh-niz{font-size:12px;color:var(--mut);text-align:center}
