/* Живой кабинет владельца — общий вид демо‑кабинетов шаблонов ИТКорс.
   Источник: tools/primery/kab/kab.css, на сайт копирует tools/primery/kab/build.js — руками в public/ не править.
   Цвета и шрифты приходят переменными от шаблона (тёмная и светлая темы), здесь — только раскладка и формы. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html,body{margin:0;background:var(--k-bg);color:var(--k-ink)}
body{font:14.5px/1.5 var(--k-sans);min-height:100vh;min-height:100dvh}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
[hidden]{display:none!important}
.k-app{min-height:100vh;min-height:100dvh}
.k-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--k-acc);outline-offset:2px}

/* ── каркас ── */
.k-side{position:fixed;left:0;top:0;bottom:0;width:256px;z-index:30;display:flex;flex-direction:column;background:var(--k-side);border-right:1px solid var(--k-line);overflow-y:auto;scrollbar-width:thin}
.k-main{margin-left:256px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.k-app.k-docked .k-main{margin-right:420px}
.k-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;height:62px;padding:0 24px;background:color-mix(in srgb,var(--k-bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--k-line)}
.k-body{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:26px 28px 72px}
.k-ib.k-burger{display:none}
.k-show-m{display:none!important}

/* боковое меню */
.k-brand{padding:20px 20px 14px;border-bottom:1px solid var(--k-line)}
.k-itk{display:inline-flex;align-items:center;gap:7px;font:700 10.5px/1 var(--k-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--k-mute)}
.k-itk i{width:6px;height:6px;border-radius:50%;background:#C9A961}
.k-itk:hover{color:var(--k-ink)}
.k-name{margin-top:12px;font:400 25px/1.08 var(--k-serif);letter-spacing:.005em}
.k-cab{margin-top:4px;font-size:12.5px;color:var(--k-mute)}
.k-role{margin:12px 14px 4px;position:relative}
.k-role button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;border:1px solid var(--k-line);background:var(--k-card);cursor:pointer;text-align:left}
.k-role button:hover{border-color:color-mix(in srgb,var(--k-acc) 55%,var(--k-line))}
.k-role b{display:block;font-size:13.5px;line-height:1.2}
.k-role small{display:block;font-size:11.5px;color:var(--k-mute);line-height:1.25}
.k-ava{flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--k-acc-soft);color:var(--k-acc-text);font-weight:700;letter-spacing:.02em}
.k-nav{padding:6px 10px 10px;display:flex;flex-direction:column;gap:1px}
.k-ng{margin:12px 10px 4px;font:700 10.5px/1 var(--k-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--k-faint)}
.k-ni{position:relative;display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;color:var(--k-ink2);font-size:14px;cursor:pointer;border:0;background:none;width:100%;text-align:left;transition:background .15s,color .15s}
.k-ni svg{flex-shrink:0;opacity:.75}
.k-ni:hover{background:var(--k-hover);color:var(--k-ink)}
.k-ni.on{background:var(--k-acc-soft);color:var(--k-acc-text);font-weight:600}
.k-ni.on svg{opacity:1}
.k-ni.on::before{content:'';position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--k-acc)}
.k-nb{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--k-card2);color:var(--k-ink);font:700 11px/20px var(--k-sans);text-align:center}
.k-nb.hot{background:var(--k-acc);color:var(--k-acc-ink)}
.k-sfoot{margin-top:auto;padding:14px 14px 18px;border-top:1px solid var(--k-line);display:flex;flex-direction:column;gap:4px;font-size:13px}
.k-sfoot a,.k-sfoot button{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;color:var(--k-ink2);border:0;background:none;cursor:pointer;text-align:left}
.k-sfoot a:hover,.k-sfoot button:hover{background:var(--k-hover);color:var(--k-ink)}
.k-cta{margin-top:8px;justify-content:center;font-weight:700;color:#14181C!important;background:linear-gradient(135deg,#E6CD95,#C9A866)!important;border-radius:999px!important;padding:10px 14px!important}
.k-cta:hover{filter:brightness(1.05)}
.k-snote{margin:6px 8px 0;font-size:11.5px;line-height:1.4;color:var(--k-faint)}

/* верхняя строка */
.k-th{min-width:0;flex:1;display:flex;align-items:center;gap:12px}
.k-crumb{min-width:0;font-size:13px;color:var(--k-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-crumb b{color:var(--k-ink);font-weight:600}
.k-search{display:flex;align-items:center;gap:10px;width:min(360px,34vw);height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--k-line);background:var(--k-card);color:var(--k-mute);cursor:text;font-size:13.5px}
.k-search kbd{margin-left:auto;font:600 11px var(--k-sans);padding:2px 6px;border-radius:6px;border:1px solid var(--k-line);color:var(--k-faint)}
.k-search .k-ss{display:none}
.k-tb{display:flex;align-items:center;gap:6px}
.k-ib{position:relative;width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;border:1px solid var(--k-line);background:var(--k-card);cursor:pointer;color:var(--k-ink2)}
.k-ib:hover{color:var(--k-ink);border-color:color-mix(in srgb,var(--k-acc) 45%,var(--k-line))}
.k-ib.on{color:var(--k-acc-text);border-color:var(--k-acc);background:var(--k-acc-soft)}
.k-dotc{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--k-bad);color:#fff;font:700 10.5px/18px var(--k-sans);text-align:center;border:2px solid var(--k-bg)}
.k-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding:0 6px;white-space:nowrap}
.k-clock b{font-size:15px;font-variant-numeric:tabular-nums}
.k-clock span{font-size:11.5px;color:var(--k-mute)}
.k-live{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--k-line);background:var(--k-card);cursor:pointer;font-size:13px;color:var(--k-ink2);white-space:nowrap}
.k-live i{width:8px;height:8px;border-radius:50%;background:var(--k-faint)}
.k-live.on i{background:var(--k-ok);animation:k-pulse 1.8s ease-out infinite}
.k-live.on{color:var(--k-ink)}
@keyframes k-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--k-ok) 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}}

/* ── типографика раздела ── */
.k-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.k-h h1{margin:0;font:400 34px/1.08 var(--k-serif);letter-spacing:.003em}
.k-h p{margin:6px 0 0;color:var(--k-mute);font-size:14px;max-width:760px}
.k-ha{display:flex;gap:8px;flex-wrap:wrap}
.k-h2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.k-h2 h2{margin:0;font:600 16px/1.3 var(--k-sans);letter-spacing:.005em}
.k-h2 span,.k-h2 a,.k-h2 button{font-size:12.5px;color:var(--k-mute)}
.k-h2 button,.k-h2 a.k-ln{border:0;background:none;padding:0;cursor:pointer;color:var(--k-acc-text);font-weight:600}
.k-lbl{font:700 10.5px/1.2 var(--k-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--k-mute)}
.k-mute{color:var(--k-mute)}
.k-faint{color:var(--k-faint)}
.k-num{font-variant-numeric:tabular-nums lining-nums}
.k-sm{font-size:12.5px}
.k-xs{font-size:11.5px}
.k-b{font-weight:600}
.k-acc{color:var(--k-acc-text)}
.k-ok{color:var(--k-ok)}.k-warn{color:var(--k-warn)}.k-bad{color:var(--k-bad)}.k-info{color:var(--k-info)}
.k-row{display:flex;align-items:center;gap:10px}
.k-row.wrap{flex-wrap:wrap}
.k-sp{flex:1}
.k-stack{display:flex;flex-direction:column;gap:10px}
.k-ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* ── сетки ── */
.k-g{display:grid;gap:16px}
.k-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.k-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.k-g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.k-g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.k-g12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.k-g32{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.k-mt{margin-top:16px}.k-mt2{margin-top:24px}.k-mt1{margin-top:8px}

/* ── карточки ── */
.k-card{background:var(--k-card);border:1px solid var(--k-line);border-radius:var(--k-r);padding:18px;min-width:0;box-shadow:var(--k-shadow)}
.k-card.flat{box-shadow:none}
.k-card.pad0{padding:0;overflow:hidden}
.k-card.click{cursor:pointer;transition:border-color .2s,transform .2s}
.k-card.click:hover{border-color:color-mix(in srgb,var(--k-acc) 50%,var(--k-line))}
.k-card.acc{border-color:color-mix(in srgb,var(--k-acc) 60%,var(--k-line))}
.k-in{background:var(--k-card2);border-radius:12px;padding:12px 14px}
.k-sep{height:1px;background:var(--k-line);margin:14px 0;border:0}
.k-kpi{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 18px;text-align:left;color:inherit}
button.k-kpi{cursor:pointer;font:inherit}
.k-kpi .t{font-size:12.5px;color:var(--k-mute)}
.k-kpi .v{font:600 27px/1.12 var(--k-sans);letter-spacing:-.01em;margin-top:4px}
.k-kpi .d{font-size:12.5px;color:var(--k-mute);margin-top:2px}
.k-kpi .d b{font-weight:600}
.k-kpi .sp{position:absolute;right:14px;top:16px;opacity:.95}
.k-meter{height:6px;border-radius:3px;background:var(--k-card2);overflow:hidden;margin-top:10px}
.k-meter i{display:block;height:100%;border-radius:3px;background:var(--k-acc);transition:width .4s}

/* ── кнопки ── */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 15px;border-radius:11px;border:1px solid var(--k-line);background:var(--k-card);color:var(--k-ink);font:600 13.5px/1 var(--k-sans);cursor:pointer;white-space:nowrap;transition:filter .15s,border-color .15s,background .15s}
.k-btn:hover{border-color:color-mix(in srgb,var(--k-acc) 50%,var(--k-line))}
.k-btn.pri{background:var(--k-acc);border-color:var(--k-acc);color:var(--k-acc-ink)}
.k-btn.pri:hover{filter:brightness(1.06)}
.k-btn.gh{background:transparent}
.k-btn.dan{color:var(--k-bad)}
.k-btn.ok{background:var(--k-ok);border-color:var(--k-ok);color:#0B1210}
.k-btn.ai{border-color:#C9A961;background:rgba(201,169,97,.12);color:var(--k-ai)}
.k-btn.sm{height:32px;padding:0 11px;font-size:12.5px;border-radius:9px}
.k-btn.xs{height:27px;padding:0 9px;font-size:12px;border-radius:8px;gap:5px}
.k-btn.w{width:100%}
.k-btn[disabled],.k-btn.dis{opacity:.45;cursor:not-allowed;filter:none}
.k-lnk{border:0;background:none;padding:0;cursor:pointer;color:var(--k-acc-text);font-weight:600;font-size:13px}
.k-lnk:hover{text-decoration:underline}

/* ── метки и переключатели ── */
.k-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:600 11.5px/1 var(--k-sans);white-space:nowrap;background:var(--k-card2);color:var(--k-ink2)}
.k-pill i{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.k-pill.ok{background:color-mix(in srgb,var(--k-ok) 16%,transparent);color:var(--k-ok)}
.k-pill.warn{background:color-mix(in srgb,var(--k-warn) 18%,transparent);color:var(--k-warn-text)}
.k-pill.bad{background:color-mix(in srgb,var(--k-bad) 16%,transparent);color:var(--k-bad)}
.k-pill.info{background:color-mix(in srgb,var(--k-info) 18%,transparent);color:var(--k-info-text)}
.k-pill.acc{background:var(--k-acc-soft);color:var(--k-acc-text)}
.k-pill.ai{background:rgba(201,169,97,.14);color:var(--k-ai)}
.k-chips{display:flex;gap:6px;flex-wrap:wrap}
.k-chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.k-chips.scroll::-webkit-scrollbar{display:none}
.k-chip{flex-shrink:0;height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--k-line);background:var(--k-card);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;color:var(--k-ink2);display:inline-flex;align-items:center;gap:6px}
.k-chip:hover{color:var(--k-ink);border-color:color-mix(in srgb,var(--k-acc) 40%,var(--k-line))}
.k-chip.on{background:var(--k-ink);border-color:var(--k-ink);color:var(--k-bg);font-weight:600}
.k-chip small{opacity:.7;font-weight:600}
.k-seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--k-card2);gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.k-seg button{border:0;background:transparent;height:32px;padding:0 13px;border-radius:9px;font-size:13px;font-weight:600;color:var(--k-mute);cursor:pointer;white-space:nowrap}
.k-seg button.on{background:var(--k-card);color:var(--k-ink);box-shadow:0 1px 3px rgba(0,0,0,.18)}
.k-seg button.on.ok{background:color-mix(in srgb,var(--k-ok) 22%,var(--k-card));color:var(--k-ok)}
.k-seg button.on.warn{background:color-mix(in srgb,var(--k-warn) 24%,var(--k-card));color:var(--k-warn-text)}
.k-seg button.on.bad{background:color-mix(in srgb,var(--k-bad) 22%,var(--k-card));color:var(--k-bad)}
.k-tabs{display:flex;gap:4px;border-bottom:1px solid var(--k-line);margin:-4px 0 20px;overflow-x:auto;scrollbar-width:none}
.k-tabs::-webkit-scrollbar{display:none}
.k-tabs button{position:relative;border:0;background:none;padding:10px 14px 12px;font-size:14px;font-weight:600;color:var(--k-mute);cursor:pointer;white-space:nowrap}
.k-tabs button.on{color:var(--k-ink)}
.k-tabs button.on::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--k-acc)}
.k-tabs button small{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:8px;background:var(--k-card2);color:var(--k-ink2)}
.k-sw{position:relative;width:40px;height:23px;border-radius:12px;background:var(--k-line2);flex-shrink:0;border:0;cursor:pointer;transition:background .2s;padding:0}
.k-sw::after{content:'';position:absolute;left:2px;top:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:left .2s}
.k-sw.on{background:var(--k-ok)}
.k-sw.on::after{left:19px}
.k-step{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--k-line);border-radius:11px;padding:3px;background:var(--k-card)}
.k-step button{width:30px;height:30px;border-radius:8px;border:0;background:var(--k-card2);cursor:pointer;display:grid;place-items:center;color:var(--k-ink)}
.k-step b{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}

/* ── списки ── */
.k-list{display:flex;flex-direction:column}
.k-li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--k-line);min-width:0}
.k-li:first-child{border-top:0}
.k-li.click{cursor:pointer;margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:10px}
.k-li.click:hover{background:var(--k-hover)}
.k-li .m{flex:1;min-width:0}
.k-li .m>b{display:block;font-weight:600;font-size:14px;line-height:1.3}
.k-li .m>span{display:block;font-size:12.5px;color:var(--k-mute);line-height:1.35}
.k-li .m .k-q{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.k-li .r{text-align:right;flex-shrink:0}
.k-kv{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:8px 16px;font-size:13.5px}
.k-kv dt{color:var(--k-mute)}
.k-kv dd{margin:0;min-width:0}
.k-empty{padding:28px 16px;text-align:center;color:var(--k-mute);font-size:13.5px;border:1px dashed var(--k-line);border-radius:14px}
.k-alert{display:flex;gap:14px;padding:14px 16px;border-radius:14px;background:var(--k-card);border:1px solid var(--k-line);border-left:3px solid var(--k-warn)}
.k-alert.bad{border-left-color:var(--k-bad)}.k-alert.info{border-left-color:var(--k-info)}.k-alert.ok{border-left-color:var(--k-ok)}.k-alert.ai{border-left-color:#C9A961}
.k-alert .m{flex:1;min-width:0}
.k-alert b{display:block;font-size:14px;font-weight:600}
.k-alert p{margin:3px 0 0;font-size:13px;color:var(--k-mute)}
.k-alert .a{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.k-feed{display:flex;flex-direction:column}
.k-fe{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--k-line);font-size:13px}
.k-fe:first-child{border-top:0}
.k-fe time{color:var(--k-faint);font-variant-numeric:tabular-nums;font-size:12px;padding-top:1px}
.k-fe span{color:var(--k-ink2)}
.k-fe span b{color:var(--k-ink);font-weight:600}
.k-fe.new{animation:k-flash 1.6s ease}
@keyframes k-flash{0%{background:var(--k-acc-soft)}100%{background:transparent}}
.k-tl{position:relative;display:flex;flex-direction:column;gap:12px;padding-left:18px}
.k-tl::before{content:'';position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--k-line)}
.k-tl div{position:relative;font-size:13px}
.k-tl div::before{content:'';position:absolute;left:-18px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--k-card);border:2px solid var(--k-acc)}
.k-tl time{display:block;font-size:11.5px;color:var(--k-faint)}

/* ── таблица ── */
.k-tw{overflow-x:auto;border:1px solid var(--k-line);border-radius:var(--k-r);background:var(--k-card)}
.k-t{width:100%;border-collapse:collapse;font-size:13.5px}
.k-t th{position:sticky;top:0;text-align:left;font:700 10.5px/1.2 var(--k-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--k-mute);padding:12px 14px;border-bottom:1px solid var(--k-line);background:var(--k-card);white-space:nowrap}
.k-t th button{border:0;background:none;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;gap:4px;align-items:center}
.k-t th button:hover,.k-t th.on button{color:var(--k-ink)}
.k-t td{padding:11px 14px;border-bottom:1px solid var(--k-line);vertical-align:middle}
.k-t tr:last-child td{border-bottom:0}
.k-t tbody tr.click{cursor:pointer}
.k-t tbody tr.click:hover td{background:var(--k-hover)}
.k-t tbody tr.hl td{background:color-mix(in srgb,var(--k-acc) 8%,transparent)}
.k-t .r{text-align:right}
.k-t .c{text-align:center}
.k-t td b{font-weight:600}
.k-t td small{display:block;color:var(--k-mute);font-size:12px}
.k-bar{display:block;flex:1;height:6px;border-radius:3px;background:var(--k-card2);overflow:hidden;min-width:70px}
.k-bar i{display:block;height:100%;border-radius:3px}
.k-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.k-find{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:11px;border:1px solid var(--k-line);background:var(--k-card);min-width:280px;color:var(--k-mute)}
.k-find input{border:0;background:transparent;outline:0;flex:1;min-width:0;color:var(--k-ink);font-size:13.5px}

/* ── доска ── */
.k-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(206px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px;align-items:start}
.k-col{background:var(--k-card2);border-radius:var(--k-r);padding:12px;min-height:160px}
.k-colh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 4px 10px;font-weight:600;font-size:13.5px}
.k-colh span{font-size:12px;color:var(--k-mute);font-weight:600}
.k-tk{display:block;width:100%;text-align:left;background:var(--k-card);border:1px solid var(--k-line);border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer;color:inherit;box-shadow:var(--k-shadow)}
.k-tk:hover{border-color:color-mix(in srgb,var(--k-acc) 50%,var(--k-line))}
.k-tk.hot{border-color:color-mix(in srgb,var(--k-bad) 60%,var(--k-line))}
.k-tk.new,.k-new{animation:k-flash 2s ease}
.k-tk b{display:block;font-size:13.5px;font-weight:600}
.k-tk small{display:block;font-size:12px;color:var(--k-mute);margin-top:2px}
.k-tk .k-row{margin-top:8px;flex-wrap:wrap;row-gap:8px}

/* ── сетка времени (брони, посты, расписание) ── */
.k-tg{overflow-x:auto;border:1px solid var(--k-line);border-radius:var(--k-r);background:var(--k-card)}
.k-tgi{position:relative;min-width:860px}
.k-tgr{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--k-line);min-height:46px}
.k-tgr:first-child{border-top:0}
.k-tgl{padding:8px 12px;border-right:1px solid var(--k-line);font-size:13px;display:flex;flex-direction:column;justify-content:center}
.k-tgl b{font-weight:600}
.k-tgl small{color:var(--k-mute);font-size:11.5px}
.k-tgc{position:relative}
.k-tgh{font-size:11.5px;color:var(--k-mute);height:34px}
.k-tgh span{position:absolute;top:10px;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.k-slot{position:absolute;top:0;bottom:0;border-left:1px solid var(--k-line);cursor:pointer}
.k-slot:hover{background:var(--k-hover)}
.k-blk{position:absolute;top:6px;bottom:6px;border-radius:9px;padding:4px 8px;font-size:12px;line-height:1.25;overflow:hidden;cursor:pointer;border:0;text-align:left;color:#0B1012;font-weight:600;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 0 0 2px var(--k-card)}
.k-blk small{display:block;font-weight:500;opacity:.8;overflow:hidden;text-overflow:ellipsis}
.k-now{position:absolute;top:0;bottom:0;width:2px;background:var(--k-bad);z-index:2;pointer-events:none}
.k-now[data-t]::before{content:attr(data-t);position:absolute;top:8px;left:4px;font:700 10.5px var(--k-sans);color:var(--k-bad);background:var(--k-card);padding:0 3px;border-radius:4px}

/* ── шторка записи и окна ── */
.k-scrim{position:fixed;inset:0;z-index:60;background:rgba(5,8,12,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:k-fade .2s ease}
@keyframes k-fade{from{opacity:0}to{opacity:1}}
.k-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(580px,100vw);background:var(--k-bg2);border-left:1px solid var(--k-line);box-shadow:-30px 0 80px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;animation:k-slide .28s cubic-bezier(.2,.8,.2,1)}
.k-drawer.wide{width:min(760px,100vw)}
@keyframes k-slide{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.k-dh{display:flex;align-items:flex-start;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--k-line)}
.k-dh .m{flex:1;min-width:0}
.k-dh h3{margin:4px 0 0;font:400 25px/1.12 var(--k-serif)}
.k-dh p{margin:4px 0 0;font-size:13px;color:var(--k-mute)}
.k-db{flex:1;overflow-y:auto;padding:18px 22px 24px;overscroll-behavior:contain}
.k-df{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px 18px;border-top:1px solid var(--k-line);background:var(--k-bg2)}
.k-sec{margin-top:20px}
.k-sec:first-child{margin-top:0}
.k-sec>.k-lbl{display:block;margin-bottom:10px}
.k-modal{position:fixed;left:50%;top:50%;z-index:62;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);transform:translate(-50%,-50%);background:var(--k-bg2);border:1px solid var(--k-line);border-radius:20px;box-shadow:0 40px 120px -30px rgba(0,0,0,.7);display:flex;flex-direction:column;animation:k-pop .25s cubic-bezier(.2,.8,.2,1)}
.k-modal.wide{width:min(820px,calc(100vw - 32px))}
.k-modal.xl{width:min(1060px,calc(100vw - 32px))}
@keyframes k-pop{from{transform:translate(-50%,-48%) scale(.97);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}
.k-mh{display:flex;align-items:flex-start;gap:12px;padding:20px 22px 12px}
.k-mh .m{flex:1;min-width:0}
.k-mh h3{margin:0;font:400 24px/1.15 var(--k-serif)}
.k-mh p{margin:4px 0 0;font-size:13px;color:var(--k-mute)}
.k-mb{overflow-y:auto;padding:6px 22px 18px;overscroll-behavior:contain}
.k-mf{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:14px 22px 18px;border-top:1px solid var(--k-line)}
.k-mf .k-sp{min-width:0}
.k-x{width:36px;height:36px;flex-shrink:0;border-radius:11px;border:1px solid var(--k-line);background:var(--k-card);cursor:pointer;display:grid;place-items:center;color:var(--k-ink2)}
.k-x:hover{color:var(--k-ink)}

/* ── поля формы ── */
.k-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 14px}
.k-fl{display:flex;flex-direction:column;gap:6px;min-width:0}
.k-fl.full{grid-column:1/-1}
.k-fl>label,.k-fl>.k-fll{font-size:12.5px;font-weight:600;color:var(--k-ink2)}
.k-fl>label i,.k-fl>.k-fll i{color:var(--k-bad);font-style:normal}
.k-fi{height:42px;padding:0 12px;border-radius:11px;border:1px solid var(--k-line);background:var(--k-card);color:var(--k-ink);outline:0;width:100%;font-size:14px}
textarea.k-fi{height:auto;min-height:88px;padding:10px 12px;resize:vertical;line-height:1.45}
select.k-fi{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--k-mute) 50%),linear-gradient(135deg,var(--k-mute) 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
.k-fi:focus{border-color:var(--k-acc);box-shadow:0 0 0 3px var(--k-acc-soft)}
.k-fi::placeholder{color:var(--k-faint)}
.k-fh{font-size:12px;color:var(--k-mute)}
.k-fe2{font-size:12px;color:var(--k-bad);font-weight:600}
.k-fl.err .k-fi{border-color:var(--k-bad)}
.k-chk{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:13px;color:var(--k-ink2);border:0;background:none;padding:0;text-align:left}
.k-chk span.b{width:20px;height:20px;flex-shrink:0;border-radius:6px;border:1.5px solid var(--k-mute);display:grid;place-items:center;margin-top:1px}
.k-chk.on span.b{background:var(--k-acc);border-color:var(--k-acc);color:var(--k-acc-ink)}
.k-chk.err span.b{border-color:var(--k-bad)}
.k-demo-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--k-card2);font-size:12.5px;color:var(--k-mute);line-height:1.45}
.k-sum{background:var(--k-card2);border-radius:14px;padding:14px 16px}
.k-sum .k-row{justify-content:space-between;padding:3px 0;font-size:13.5px}
.k-sum .tot{border-top:1px solid var(--k-line);margin-top:6px;padding-top:9px;font-weight:700;font-size:16px}

/* ── ИИ ── */
.k-ai{border:1px dashed #C9A961;border-radius:14px;padding:14px 16px;background:rgba(201,169,97,.07)}
.k-ai .k-lbl{color:var(--k-ai);display:block;margin-bottom:6px}
.k-ai p{margin:0;font-size:14px;line-height:1.5}
.k-ainote{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(201,169,97,.55);background:rgba(201,169,97,.09);border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.45;color:var(--k-ai)}
.k-type{display:inline-flex;gap:4px;align-items:center}
.k-type i{width:7px;height:7px;border-radius:50%;background:#C9A961;animation:k-blink 1.2s infinite}
.k-type i:nth-child(2){animation-delay:.2s}.k-type i:nth-child(3){animation-delay:.4s}
@keyframes k-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.k-shim{border-radius:12px;background:linear-gradient(110deg,var(--k-card2) 30%,var(--k-hover) 50%,var(--k-card2) 70%);background-size:200% 100%;animation:k-shim 1.2s linear infinite}
@keyframes k-shim{from{background-position:100% 0}to{background-position:-100% 0}}

/* ── переписка ── */
.k-inbox{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);border:1px solid var(--k-line);border-radius:var(--k-r);background:var(--k-card);min-height:560px;overflow:hidden}
.k-ibl{border-right:1px solid var(--k-line);overflow-y:auto;max-height:720px}
.k-ibi{display:flex;gap:11px;padding:13px 14px;border-bottom:1px solid var(--k-line);cursor:pointer;width:100%;border-left:0;border-right:0;border-top:0;background:none;text-align:left;color:inherit}
.k-ibi:hover{background:var(--k-hover)}
.k-ibi.on{background:var(--k-acc-soft)}
.k-ibi .m{flex:1;min-width:0}
.k-ibi .m>b{display:flex;justify-content:space-between;gap:6px;font-size:13.5px;font-weight:600}
.k-ibi .m>b time{font-weight:500;font-size:11.5px;color:var(--k-faint)}
.k-ibi .m>span{display:block;font-size:12.5px;color:var(--k-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.k-ibi .k-pill{height:20px;padding:0 7px;font-size:10.5px;margin-right:4px}
.k-ibc{display:flex;flex-direction:column;min-width:0}
.k-ibh{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--k-line)}
.k-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;max-height:520px}
.k-msg{max-width:78%;padding:10px 13px;border-radius:16px 16px 16px 5px;background:var(--k-card2);font-size:14px;line-height:1.45;align-self:flex-start}
.k-msg.me{align-self:flex-end;border-radius:16px 16px 5px 16px;background:var(--k-acc);color:var(--k-acc-ink)}
.k-msg small{display:block;font-size:10.5px;opacity:.65;margin-top:4px}
.k-ibf{border-top:1px solid var(--k-line);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.k-ibback{display:none!important}

/* ── всплывающее ── */
.k-pop{position:fixed;z-index:58;background:var(--k-bg2);border:1px solid var(--k-line);border-radius:16px;box-shadow:0 30px 80px -24px rgba(0,0,0,.6);animation:k-fade .15s ease;overflow:hidden}
.k-pop-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;font-weight:600}
.k-pop-b{max-height:min(440px,70vh);overflow-y:auto;overscroll-behavior:contain;padding:0 8px 8px}
.k-pi{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px 10px;border-radius:11px;border:0;background:none;cursor:pointer;text-align:left;color:inherit}
.k-pi:hover{background:var(--k-hover)}
.k-pi .m{flex:1;min-width:0}
.k-pi .m>b{display:block;font-size:13.5px;font-weight:600}
.k-pi .m>span{display:block;font-size:12.5px;color:var(--k-mute);line-height:1.35}
.k-pi time{font-size:11.5px;color:var(--k-faint);white-space:nowrap}
.k-pi.un .m b::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--k-acc);margin-left:7px;vertical-align:middle}
.k-pi .ic{width:32px;height:32px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;background:var(--k-card2);color:var(--k-acc-text)}

/* ── уведомления-тосты ── */
/* открытая панель сценария не закрывает кнопки внизу страницы: место под неё в конце раздела */
body:has(#k-layer > .k-tour) .k-body{padding-bottom:min(360px,48vh)}
body:has(#k-layer > .k-tour-min) .k-body{padding-bottom:110px}
#k-toasts{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.k-app.k-docked~#k-toasts{right:440px}
/* открыты окно или карточка — сообщения не закрывают их кнопки: при окне — вверху, при карточке — слева от неё */
@media (min-width:721px){
  body:has(#k-layer > .k-modal) #k-toasts{top:16px;bottom:auto;right:20px}
  body:has(#k-layer > .k-drawer) #k-toasts{right:calc(min(580px,100vw) + 16px);left:16px;top:16px;bottom:auto}
  body:has(#k-layer > .k-drawer.wide) #k-toasts{right:calc(min(760px,100vw) + 16px)}
}
.k-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:440px;padding:12px 14px 12px 16px;border-radius:14px;background:var(--k-ink);color:var(--k-bg);font-size:13.5px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6);animation:k-up .3s cubic-bezier(.2,.8,.2,1)}
.k-toast.ev{background:var(--k-bg2);color:var(--k-ink);border:1px solid var(--k-line);border-left:3px solid var(--k-acc)}
.k-toast button{border:0;background:none;cursor:pointer;font-weight:700;color:inherit;text-decoration:underline;white-space:nowrap;padding:0}
@keyframes k-up{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
#k-tip{position:fixed;z-index:90;pointer-events:none;padding:8px 10px;border-radius:10px;background:var(--k-ink);color:var(--k-bg);font-size:12.5px;line-height:1.35;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);max-width:260px;opacity:0;transition:opacity .12s}
#k-tip.on{opacity:1}
#k-tip b{font-size:14px;display:block}

/* ── графики ── */
.k-ch{width:100%;overflow:visible}
.k-ch text{font:11px var(--k-sans);fill:var(--k-mute);font-variant-numeric:tabular-nums}
.k-ch .lab{fill:var(--k-ink);font-weight:600}
.k-ch .gl{stroke:var(--k-grid);stroke-width:1}
.k-ch .ax{stroke:var(--k-axis);stroke-width:1}
.k-ch [data-tip]{cursor:default}
.k-ch .hit{fill:transparent}
.k-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--k-ink2);margin-top:10px}
.k-leg span{display:inline-flex;align-items:center;gap:6px}
.k-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.k-leg i.ln{height:2px;width:14px;border-radius:2px}
.k-tv{font-size:12px}

/* ── план и карты ── */
.k-plan{position:relative;background:var(--k-card2);border-radius:14px;padding:10px}
.k-plan svg{width:100%;height:auto}
.k-plan .tb{cursor:pointer;transition:filter .15s}
.k-plan .tb:hover{filter:brightness(1.15)}
.k-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--k-mute);margin-top:10px}
.k-legend span{display:inline-flex;gap:6px;align-items:center}
.k-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* ── сценарии ── */
.k-tour{position:fixed;left:276px;bottom:20px;z-index:55;width:340px;background:var(--k-bg2);border:1px solid color-mix(in srgb,#C9A961 55%,var(--k-line));border-radius:18px;box-shadow:0 30px 70px -24px rgba(0,0,0,.65);overflow:hidden;animation:k-up .3s ease}
.k-tour-h{display:flex;align-items:center;gap:10px;padding:13px 14px 10px;background:linear-gradient(135deg,rgba(201,169,97,.16),transparent)}
.k-tour-h .m{flex:1;min-width:0}
.k-tour-h b{display:block;font-size:14px}
.k-tour-h small{display:block;font-size:11.5px;color:var(--k-mute)}
.k-tour-p{height:3px;background:var(--k-card2)}
.k-tour-p i{display:block;height:100%;background:#C9A961;transition:width .4s}
.k-tour-b{padding:8px 10px 12px;max-height:46vh;overflow-y:auto;overscroll-behavior:contain}
.k-ts{display:flex;gap:10px;padding:8px 6px;border-radius:10px;font-size:13px;align-items:flex-start}
.k-ts .n{width:22px;height:22px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font:700 11px var(--k-sans);border:1.5px solid var(--k-line2);color:var(--k-mute)}
.k-ts.done .n{background:var(--k-ok);border-color:var(--k-ok);color:#0B1210}
.k-ts.done .t{color:var(--k-mute);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--k-mute) 50%,transparent)}
.k-ts.cur{background:var(--k-card2)}
.k-ts.cur .n{border-color:#C9A961;color:var(--k-ai)}
.k-ts .t b{display:block;font-weight:600}
.k-ts .t span{display:block;font-size:12.5px;color:var(--k-mute);margin-top:2px;line-height:1.4}
.k-ts .k-btn{margin-top:8px}
.k-tour-min{animation:k-up .25s ease;position:fixed;left:276px;bottom:20px;z-index:55;display:flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 12px;border-radius:999px;border:1px solid color-mix(in srgb,#C9A961 60%,var(--k-line));background:var(--k-bg2);box-shadow:0 20px 50px -20px rgba(0,0,0,.6);cursor:pointer;font-size:13px;font-weight:600}
.k-tour-min i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#C9A961;color:#14181C;font-style:normal;font-size:12px;font-weight:700;flex:none}
.k-tour-min{max-width:calc(100vw - 32px)}
.k-tour-min span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-hl{position:relative;z-index:1;animation:k-hl 1.6s ease-in-out infinite;border-radius:12px}
@keyframes k-hl{0%,100%{box-shadow:0 0 0 0 rgba(201,169,97,.0),0 0 0 2px rgba(201,169,97,.85)}50%{box-shadow:0 0 0 8px rgba(201,169,97,.18),0 0 0 2px rgba(201,169,97,1)}}
/* «Показать» у шага сценария: вспышка места шага (рамка остаётся и без анимации) */
.k-ping{position:relative;z-index:2;outline:2px solid #C9A961;outline-offset:3px;animation:k-ping .8s ease-out 3}
@keyframes k-ping{0%{box-shadow:0 0 0 0 rgba(201,169,97,.75)}100%{box-shadow:0 0 0 18px rgba(201,169,97,0)}}
/* панель сценария закрывала место шага — переезжает на другую сторону */
.k-tour.alt,.k-tour-min.alt{left:auto;right:20px}
/* открыта карточка, а места слева хватает — панель сценария остаётся над затемнением: подсказка шага видна */
@media (min-width:1280px){body:has(#k-layer > .k-drawer:not(.wide)) #k-layer > .k-tour:not(.alt),body:has(#k-layer > .k-drawer:not(.wide)) #k-layer > .k-tour-min:not(.alt){z-index:62}}
.k-app.k-docked~#k-layer .k-tour.alt,.k-app.k-docked~#k-layer .k-tour-min.alt{right:440px}

/* ── телефон клиента рядом ── */
.k-dock{position:fixed;top:0;right:0;bottom:0;z-index:25;width:420px;display:none;flex-direction:column;align-items:center;gap:10px;padding:14px 16px 14px;background:var(--k-side);border-left:1px solid var(--k-line)}
.k-app.k-docked .k-dock{display:flex}
.k-dock-h{width:100%;display:flex;align-items:center;gap:10px}
.k-dock-h .m{flex:1;min-width:0}
.k-dock-h b{display:block;font-size:14px}
.k-dock-h small{display:block;font-size:11.5px;color:var(--k-mute);line-height:1.35}
.k-dock .k-chips{width:100%}
.k-phone{flex:1;min-height:0;width:391px;max-width:100%;padding:8px;border-radius:40px;background:#05080F;box-shadow:0 0 0 1px rgba(200,216,240,.22),0 30px 80px -30px rgba(0,0,0,.8)}
.k-phone iframe{display:block;width:375px;max-width:100%;height:100%;border:0;border-radius:32px;background:#0F1416}
.k-dock-n{font-size:11.5px;color:var(--k-mute);text-align:center;line-height:1.4}
/* шаг сценария, который выполняется в телефоне клиента */
.k-dock-tip{width:391px;max-width:100%;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in srgb,#C9A961 60%,var(--k-line));background:color-mix(in srgb,#C9A961 10%,var(--k-bg2));font-size:12.5px;line-height:1.45;color:var(--k-ink2);animation:k-up .3s ease}
.k-dock-tip[hidden]{display:none}
.k-dock-tip>i{flex-shrink:0;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#C9A961;animation:k-pulse-g 1.8s ease-out infinite}
.k-dock-tip b{display:block;font-size:12.5px;color:var(--k-ink);margin-bottom:2px}
@keyframes k-pulse-g{0%{box-shadow:0 0 0 0 rgba(201,169,97,.6)}100%{box-shadow:0 0 0 8px rgba(201,169,97,0)}}
/* смена раздела или вкладки — содержимое появляется плавно, без рывка */
.k-sc{animation:k-in .26s cubic-bezier(.2,.8,.2,1)}
@keyframes k-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── нижнее меню телефона ── */
.k-bnav{display:none}

/* ── документ ── */
.k-doc{background:#FBFAF7;color:#1B1E22;border-radius:6px;padding:36px 40px;font:13.5px/1.55 'Times New Roman',Times,serif;box-shadow:0 20px 60px -30px rgba(0,0,0,.6)}
.k-doc h4{font:700 18px/1.3 'Times New Roman',Times,serif;margin:0 0 4px;text-align:center}
.k-doc .s{text-align:center;font-size:12.5px;color:#4A5058;margin-bottom:18px}
.k-doc table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
.k-doc td,.k-doc th{border:1px solid #9AA3AD;padding:6px 8px;text-align:left}
.k-doc th{background:#E9EDF2}
.k-doc .tot{text-align:right;font-weight:700}
.k-doc .sig{display:flex;justify-content:space-between;margin-top:26px;font-size:12.5px}

/* ── приветствие ── */
.k-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:0;overflow:hidden;padding:0}
.k-hero .im{position:relative;min-height:260px}
.k-hero .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.k-hero .tx{padding:26px 26px 22px}
.k-hero h3{margin:8px 0 0;font:400 28px/1.12 var(--k-serif)}

/* ── адаптив ── */
/* телефон клиента рядом (≥1360): рабочая область уже — сетки перестраиваются как на ноутбуке */
@media (min-width:1361px){
  .k-docked .k-g6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k-docked .k-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-docked .k-g21,.k-docked .k-g12,.k-docked .k-g32{grid-template-columns:minmax(0,1fr)}
  .k-docked .k-search{width:auto;flex:0 1 auto}
  .k-docked .k-search .k-sl,.k-docked .k-search kbd,.k-docked .k-crumb{display:none}
  .k-docked .k-search .k-ss{display:inline}
}
@media (max-width:1360px){
  .k-app.k-docked .k-main{margin-right:0}
  .k-dock{box-shadow:-30px 0 80px -30px rgba(0,0,0,.7);z-index:57}
  .k-app.k-docked~#k-toasts{right:20px}
}
@media (max-width:1180px){
  .k-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-g6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k-g21,.k-g12,.k-g32{grid-template-columns:minmax(0,1fr)}
  .k-search{width:auto;flex:0 1 auto}
  .k-search .k-sl{display:none}
  .k-search .k-ss{display:inline}
}
@media (max-width:1023px){
  .k-side{transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility .28s;box-shadow:none;visibility:hidden;z-index:65}
  .k-app.k-nav-open .k-side{transform:none;visibility:visible;box-shadow:30px 0 80px -30px rgba(0,0,0,.6)}
  .k-app.k-nav-open::before{content:'';position:fixed;inset:0;z-index:64;background:rgba(5,8,12,.5)}
  .k-main{margin-left:0}
  .k-ib.k-burger{display:grid}
  .k-tour,.k-tour-min{left:16px}
  .k-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-inbox{grid-template-columns:minmax(0,1fr)}
  .k-inbox.sel .k-ibl{display:none}
  .k-inbox:not(.sel) .k-ibc{display:none}
  .k-ibl{border-right:0;max-height:none}
  .k-ibback{display:grid!important}
  .k-dock{width:min(420px,100vw)}
}
@media (max-width:720px){
  body{font-size:14px}
  .k-top{height:56px;padding:0 12px;gap:6px}
  .k-top .k-search,.k-top .k-live,.k-top .k-clock,.k-top .k-hide-m{display:none}
  .k-show-m{display:grid!important}
  .k-ib{width:38px;height:38px;border-radius:11px}
  .k-body{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}
  body:has(#k-layer > .k-tour-min) .k-body{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .k-h{margin-bottom:14px}
  .k-h h1{font-size:27px}
  .k-h p{font-size:13px}
  .k-g2,.k-g3{grid-template-columns:minmax(0,1fr)}
  .k-g4,.k-g6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-g{gap:12px}
  .k-card{padding:15px;border-radius:16px}
  .k-kpi{padding:13px 14px}
  .k-kpi .v{font-size:22px}
  .k-kpi .sp{display:none}
  .k-board{grid-auto-columns:minmax(78vw,1fr)}
  .k-form{grid-template-columns:minmax(0,1fr)}
  .k-tools{gap:6px}
  .k-find{min-width:0;flex:1 1 100%}
  /* таблица превращается в карточки */
  .k-tw.cards{border:0;background:none;overflow:visible}
  .k-tw.cards .k-t,.k-tw.cards .k-t tbody,.k-tw.cards .k-t tr,.k-tw.cards .k-t td{display:block;width:100%}
  .k-tw.cards .k-t thead{display:none}
  .k-tw.cards .k-t tr{background:var(--k-card);border:1px solid var(--k-line);border-radius:14px;padding:10px 12px;margin-bottom:8px}
  .k-tw.cards .k-t td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .k-tw.cards .k-t td::before{content:attr(data-th);color:var(--k-mute);font-size:12px;text-align:left;flex-shrink:0}
  .k-tw.cards .k-t td.lead{display:block;text-align:left;font-size:14.5px}
  .k-tw.cards .k-t td.lead::before{display:none}
  .k-tw.cards .k-t td:empty{display:none}
  .k-drawer,.k-drawer.wide{top:auto;left:0;width:100vw;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);border-left:0;border-top:1px solid var(--k-line);border-radius:22px 22px 0 0;animation:k-sheet .3s cubic-bezier(.2,.8,.2,1)}
  .k-modal,.k-modal.wide,.k-modal.xl{left:0;right:0;top:auto;bottom:0;width:100vw;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);transform:none;border-radius:22px 22px 0 0;animation:k-sheet .3s cubic-bezier(.2,.8,.2,1)}
  @keyframes k-sheet{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
  .k-drawer::before,.k-modal::before{content:'';display:block;width:40px;height:4px;border-radius:4px;background:var(--k-line2);margin:8px auto 0}
  .k-dh,.k-mh{padding:12px 16px 10px}
  .k-dh h3,.k-mh h3{font-size:21px}
  .k-db,.k-mb{padding-left:16px;padding-right:16px}
  .k-df,.k-mf{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
  .k-df .k-btn,.k-mf .k-btn{flex:1 1 auto}
  .k-mf .k-btn{white-space:normal;height:auto;min-height:44px;padding:10px 14px;line-height:1.25;text-align:center}
  .k-bnav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--k-side) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--k-line)}
  .k-bnav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;padding:5px 0;font:600 10.5px var(--k-sans);color:var(--k-mute);cursor:pointer}
  .k-bnav button.on{color:var(--k-acc-text)}
  .k-bnav .k-nb{position:absolute;top:0;left:calc(50% + 6px);margin:0;min-width:17px;height:17px;font-size:10px;line-height:17px;padding:0 4px}
  #k-toasts{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));align-items:stretch}
  /* открыта шторка — сообщение одно, в две строки, над шторкой (у неё сверху оставлено 76 px): шапку и крестик не закрывает */
  body:has(#k-layer > .k-modal) #k-toasts,body:has(#k-layer > .k-drawer) #k-toasts{top:calc(8px + env(safe-area-inset-top));bottom:auto}
  body:has(#k-layer > .k-modal) .k-toast:not(:last-child),body:has(#k-layer > .k-drawer) .k-toast:not(:last-child){display:none}
  body:has(#k-layer > .k-modal) .k-toast,body:has(#k-layer > .k-drawer) .k-toast{padding:8px 12px;font-size:12.5px;line-height:1.35;max-height:60px;overflow:hidden}
  body:has(#k-layer > .k-modal) .k-toast>span:last-of-type,body:has(#k-layer > .k-drawer) .k-toast>span:last-of-type{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .k-toast{max-width:none}
  .k-tour{left:8px;right:8px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom))}
  .k-tour-min{left:auto;right:12px;bottom:calc(80px + env(safe-area-inset-bottom))}
  .k-hero{grid-template-columns:minmax(0,1fr)}
  .k-hero .im{min-height:170px}
  .k-hero .tx{padding:18px}
  .k-pop{left:8px!important;right:8px!important;width:auto!important}
  .k-doc{padding:20px 18px}
  .k-msg{max-width:88%}
  .k-plan .sub{display:none}
}
/* телефон клиента на узком экране — поверх кабинета: на планшете справа, на телефоне во весь экран */
@media (max-width:1023px){
  .k-app.k-phov .k-dock{display:flex;z-index:70;box-shadow:-30px 0 80px -30px rgba(0,0,0,.7)}
}
@media (min-width:721px) and (max-width:1023px){
  .k-tour.alt,.k-tour-min.alt{right:16px}
  /* рядом с телефоном (420 px справа) панель сценария сужается, чтобы её кнопки не уходили под него */
  .k-app.k-phov~#k-layer .k-tour,.k-app.k-phov~#k-layer .k-tour-min{left:16px;right:auto}
  .k-app.k-phov~#k-layer .k-tour{width:min(340px,calc(100vw - 452px))}
  .k-app.k-phov~#k-layer .k-tour-min{max-width:calc(100vw - 452px)}
}
@media (max-width:720px){
  .k-tour.alt{left:8px;right:8px}
  .k-tour-min.alt{left:auto;right:12px}
  .k-app.k-phov .k-dock{width:100vw;border-left:0;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .k-app.k-phov .k-dock-n{display:none}
  .k-app.k-phov .k-phone{width:100%;padding:0;border-radius:22px;box-shadow:0 0 0 1px var(--k-line)}
  .k-app.k-phov .k-phone iframe{width:100%;border-radius:22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.k-side,.k-top,.k-bnav,.k-dock,#k-toasts,.k-tour,.k-tour-min{display:none!important}.k-main{margin:0!important}}
