/* «Пульт» (Дом №1507) — по макету BOLT-DESIGN дом7я-пульт/ (утверждён 19.10). Только токены tokens.css; префикс pp- (у .note/.st/.card свои
   правила в app.css). Цвета состояний: зелёный --s-done · жёлтый --s-appr · красный --crit-solid · серый --line-2 */
.pp{min-width:0}
.pp-top{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.pp-top .page-h{flex:1;min-width:220px}
.pp-ro{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);font:600 12.5px var(--font-body);white-space:nowrap;margin-top:6px}
.pp-ro .ic{width:15px;height:15px}
.pp-crumb{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 8px}
.pp-crumbs{flex:1;font:600 13px var(--font-body);color:var(--fg-3);margin:8px 0 10px}
.pp-link{border:0;background:none;padding:0;font:inherit;color:var(--fg-2);text-decoration:underline;cursor:pointer}
.pp-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;min-width:44px;padding:0 12px 0 6px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 14px var(--font-body);cursor:pointer}
.pp-h{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
.pp-h .tx{flex:1;min-width:200px}
.pp-h h1{margin:0;font:var(--fw-display) var(--fs-h1)/1.15 var(--font-display);letter-spacing:var(--ls-display)}
.pp-h p{margin:4px 0 0;color:var(--fg-2);font-size:var(--fs-s);max-width:62ch}
.pp-upd{font:500 12px var(--font-mono);color:var(--fg-3);margin-top:6px}
.pp-sec{margin:18px 2px 8px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:8px}
.pp-sec em{font-style:normal;font-family:var(--font-mono);color:var(--fg-2)}
.pp-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-l);padding:12px 14px;min-width:0}
.pp-muted{color:var(--fg-3);font-size:13px}
.pp-later{margin-top:14px;padding:10px 12px;border-radius:var(--r-m);border:1px dashed var(--line-2);color:var(--fg-3);font-size:13px}
.pp-dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
.d-ok{background:var(--s-done)}.d-warn{background:var(--s-appr)}.d-crit{background:var(--crit-solid)}.d-off{background:var(--fg-3)}.d-none{background:var(--line-2)}
/* точка на «Ещё»: в «Здоровье» или «Разборщике» красное */
.pp-alarm{position:absolute;top:2px;right:calc(50% - 18px);width:10px;height:10px;border-radius:50%;background:var(--crit-solid);box-shadow:0 0 0 2px var(--surface);pointer-events:none}
.bnav .ico,[data-more]{position:relative}

/* плитки */
.pp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:900px){.pp-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.pp-tile{position:relative;display:grid;gap:6px;align-content:start;padding:12px 12px 10px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);min-height:132px;text-align:left;overflow:hidden;font:inherit;color:var(--fg);cursor:pointer;min-width:0}
.pp-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--st,transparent)}
.pp-tile .ti{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--sunk);color:var(--fg)}
.pp-tile b{font:700 15px/1.2 var(--font-display)}
.pp-tile .big{font:700 22px/1.1 var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.pp-tile .sub{font-size:12.5px;color:var(--fg-2);line-height:1.3;overflow-wrap:anywhere}
.pp-tile .fr{font:500 11px var(--font-mono);color:var(--fg-3);margin-top:auto}
.pp-tile.crit{--st:var(--crit-solid)}.pp-tile.crit .big{color:var(--crit)}
.pp-tile.warn{--st:var(--s-appr)}.pp-tile.ok{--st:var(--s-done)}
.pp-tile.stale{background:var(--sunk);border-style:dashed}.pp-tile.stale .big,.pp-tile.stale .sub{color:var(--fg-3)}
.pp-tile.soon .big{font-size:17px;color:var(--fg-3)}
.pp-tile.sel{box-shadow:0 0 0 2px var(--fg)}
/* ПК: открыта панель — плитки узкой колонкой слева */
.pp-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.pp-split .pp-tiles{grid-template-columns:1fr;gap:8px;position:sticky;top:12px}
.pp-split .pp-tile{min-height:0;grid-template-columns:36px 1fr;column-gap:10px;row-gap:2px;padding:9px 12px}
.pp-split .pp-tile .ti{grid-row:span 3}.pp-split .pp-tile .big{font-size:15px}.pp-split .pp-tile .sub{display:none}.pp-split .pp-tile .fr{margin:0}
.pp-panel{min-width:0}

/* строки */
.pp-rows{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.pp-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:0;border-top:1px solid var(--line);min-height:44px;background:none;font:inherit;color:inherit;text-align:left;width:100%}
.pp-r:first-child{border-top:0}
button.pp-r{cursor:pointer}button.pp-r:hover{background:var(--surface-2)}
.pp-r .tx{min-width:0;display:grid;gap:2px}
.pp-r .tx b{font:600 14.5px/1.3 var(--font-body);overflow-wrap:anywhere}
.pp-r .tx small{font-size:12.5px;color:var(--fg-3);line-height:1.35;overflow-wrap:anywhere}
.pp-r .ri{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2)}
.pp-r .ri .ic{width:18px;height:18px}
.pp-r .num,.it-r .t{font:600 12px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.pp-r.more b{font-weight:600;color:var(--fg-2)}
.pp-stale{display:grid;gap:2px;margin:0 0 12px;border:1px dashed var(--line-2);border-radius:var(--r-l);padding:10px 14px;background:var(--sunk);color:var(--fg-2);font-size:13px}
.pp-stale b{font:700 14.5px var(--font-body)}

/* здоровье */
.h-alert{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 14px;border-radius:var(--r-l);background:var(--crit-bg);color:var(--crit);margin-bottom:12px;border:1px solid color-mix(in srgb,var(--crit) 35%,transparent)}
.h-alert b{display:block;font:700 15px var(--font-body)}.h-alert span{font-size:13px;color:var(--fg-2)}
.h-r .val{font:600 13px var(--font-mono);white-space:nowrap;text-align:right}
.h-r .val.crit{color:var(--crit)}.h-r .val.warn{color:var(--warn)}.h-r .val.none{color:var(--fg-3)}
.pp-two{display:grid;gap:12px}
@media (min-width:900px){.pp-two{grid-template-columns:1fr 1fr}}

/* лимиты */
.lm{display:grid;gap:6px;margin-bottom:16px}
.lm .top{display:flex;align-items:baseline;gap:8px}.lm .top b{font:700 15px var(--font-body);flex:1}
.lm .top .pc{font:700 26px var(--font-display)}
.lm .tr{position:relative;height:16px;border-radius:8px;background:var(--sunk);margin-top:14px}
.lm .tr i{display:block;height:100%;border-radius:8px;background:var(--s-done)}
.lm.warn .tr i{background:var(--s-appr)}.lm.crit .tr i{background:var(--crit-solid)}.lm.crit .pc{color:var(--crit)}
.lm .tr .stop{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--crit-solid)}
.lm .tr .stop::after{content:attr(data-l);position:absolute;top:-17px;right:-4px;font:700 10.5px var(--font-body);color:var(--crit);white-space:nowrap}
.lm small{font-size:12.5px;color:var(--fg-3)}
.wk{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;align-items:end;height:136px;padding:16px 2px 0}
.wk div{display:grid;gap:3px;justify-items:center;align-content:end;height:100%}
.wk i{width:70%;max-width:38px;border-radius:6px 6px 2px 2px;background:var(--fg-2)}
.wk i.now{background:var(--accent)}.wk i.fut{background:none;border:1.5px dashed var(--line-2)}
.wk small,.wk em{font:600 11px var(--font-mono);color:var(--fg-3);font-style:normal}
.pp-card > p.pp-muted{margin:10px 0 0}

/* итоги */
.it-day{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.it-day b{flex:1;text-align:center;font:700 16px var(--font-display)}
.it-day button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--fg);display:grid;place-items:center;cursor:pointer}
.it-day button[disabled]{opacity:.35;cursor:default}

/* выпуски */
.rl-hash{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px;border-radius:var(--r-l);background:var(--ok-bg);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.rl-hash .big{width:46px;height:46px;border-radius:14px;background:var(--ok);color:var(--surface);display:grid;place-items:center}
.rl-hash b{font:700 17px var(--font-display);color:var(--ok)}
.rl-hash span{display:block;font:500 12.5px var(--font-mono);color:var(--fg-2);margin-top:2px;overflow-wrap:anywhere}
.rl-hash.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.rl-hash.warn .big{background:var(--warn)}.rl-hash.warn b{color:var(--warn)}
.rl-hash.none{background:var(--sunk);border-color:var(--line)}.rl-hash.none .big{background:var(--fg-3)}.rl-hash.none b{color:var(--fg-2)}
.qa{font:600 11.5px var(--font-body);padding:3px 8px;border-radius:var(--r-pill);white-space:nowrap}
.qa.y{background:var(--ok-bg);color:var(--ok)}.qa.n{background:var(--warn-bg);color:var(--warn)}

/* агенты (макет BOLT-DESIGN дом7я-агенты, тёмная — основная). Значок: цвет = команда, рисунок = работа, координатор — сплошной + полоска */
.ag-ic{position:relative;width:var(--s,44px);height:var(--s,44px);border-radius:calc(var(--s,44px)*.32);display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--tm) 22%,var(--surface));color:color-mix(in srgb,var(--tm) 62%,var(--fg));border:1.5px solid color-mix(in srgb,var(--tm) 45%,transparent)}
.ag-ic .ic{width:calc(var(--s,44px)*.52);height:calc(var(--s,44px)*.52);stroke-width:1.9}
.ag-ic.boss{background:var(--tm);color:var(--tm-ink);border-color:var(--tm)}
.ag-ic.boss::after{content:"";position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:calc(var(--s,44px)*.36);height:5px;border-radius:3px;background:var(--fg)}
.ag-ic .sd{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2.5px var(--surface)}
.tm-sys{--tm:var(--tm-sys)}.tm-home{--tm:var(--tm-home)}.tm-bolt{--tm:var(--tm-bolt)}.tm-kart{--tm:var(--tm-kart)}.tm-common{--tm:var(--tm-common)}.tm-own{--tm:var(--tm-own)}.tm-none{--tm:var(--tm-none)}
.k-busy{background:var(--k-think)}.k-bg{background:var(--k-bg)}.k-perm{background:var(--k-perm)}.k-off{background:var(--crit-solid)}
.k-free{background:var(--surface);box-shadow:0 0 0 2.5px var(--surface),inset 0 0 0 2.5px var(--fg-3)!important}
.ag-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.ag-st{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px 0 8px;border-radius:var(--r-pill);font:700 12.5px var(--font-body);white-space:nowrap;border:0}
.ag-st i{width:9px;height:9px;border-radius:50%;flex:none}
.ag-st em{font:600 11.5px var(--font-mono);font-style:normal;opacity:.85}
.ag-st.busy{background:var(--ok-bg);color:var(--ok)}.ag-st.busy i{background:var(--k-think)}
.ag-st.bg{background:var(--run-bg);color:var(--run)}.ag-st.bg i{background:var(--k-bg)}
.ag-st.perm{background:var(--perm-bg);color:var(--perm)}.ag-st.perm i{background:var(--k-perm)}
.ag-st.free{background:var(--sunk);color:var(--fg-2)}.ag-st.free i{box-shadow:inset 0 0 0 2px var(--fg-3)}
.ag-st.off{background:var(--crit-bg);color:var(--crit)}.ag-st.off i{background:var(--crit-solid)}
.ag-st.plus{min-height:22px;padding:0 8px 0 6px;font-size:11.5px}
.ag-mem{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px;border-radius:var(--r-pill);border:1px solid var(--line);font:600 12px var(--font-body);color:var(--fg-2);white-space:nowrap}
.ag-mem .ic{width:15px;height:15px}
.ag-mem .bar{width:34px;height:6px;border-radius:3px;background:var(--sunk);overflow:hidden}
.ag-mem .bar b{display:block;height:100%;background:var(--fg-3);border-radius:3px}
.ag-mem.mid .bar b{background:var(--s-appr)}
.ag-mem.hi{background:var(--warn-bg);border-color:transparent;color:var(--warn)}
.ag-mem.hi .bar{background:color-mix(in srgb,var(--warn) 25%,transparent)}.ag-mem.hi .bar b{background:var(--warn)}
.ag-run{display:flex;align-items:center;gap:6px;min-width:0;font:600 12.5px var(--font-body);color:var(--run)}
.ag-run span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ag-run .ic{width:15px;height:15px}
.ag-run b{font:700 12px var(--font-mono);white-space:nowrap}
.ag-run b.amb{color:var(--warn)}
.ag-run small{font:600 11.5px var(--font-body);color:var(--fg-3);white-space:nowrap}
.ag-note{font:600 12px var(--font-body);color:var(--fg-3)}
.ag-note.perm{color:var(--perm)}.ag-note.off{color:var(--crit)}.ag-note.amb{color:var(--warn)}
.ag-sum{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.ag-list{display:grid;gap:8px}
@media (min-width:900px){.ag-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
.ag-row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:7px;align-items:start;padding:12px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);text-align:left;width:100%;font:inherit;color:inherit;min-width:0;cursor:pointer}
.ag-row:hover{background:var(--surface-2)}
.ag-row .hd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0}
.ag-row .nm{font:700 14.5px/1.25 var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-row .last{font:500 11.5px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.ag-row .rl{grid-column:1/-1;font-size:12.5px;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-row .bd{grid-column:1/-1;display:grid;gap:6px;min-width:0}
.ag-row .tk{font-size:13px;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-row .tk b{font-weight:700;color:var(--fg);font-family:var(--font-mono);font-size:12.5px}
.ag-row.off{border-color:color-mix(in srgb,var(--crit) 40%,transparent)}
.ag-dup{color:var(--warn);font-weight:600}
/* открытый агент */
.ag-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.ag-hero h1{margin:0;font:700 21px/1.2 var(--font-display);overflow-wrap:anywhere}
.ag-hero p{margin:3px 0 0;font-size:13.5px;color:var(--fg-2)}
.ag-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
@media (min-width:900px){.ag-kv{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ag-kv div{padding:9px 11px;border-radius:var(--r-m);background:var(--sunk);display:grid;gap:3px;min-width:0}
.ag-kv small{font-size:12px;color:var(--fg-3)}
.ag-kv b{font:700 14.5px var(--font-body);overflow-wrap:anywhere}
.ag-proc .ri{background:var(--run-bg);color:var(--run)}
.ag-proc .dur{font:700 12px var(--font-mono);padding:3px 9px;border-radius:var(--r-pill);background:var(--run-bg);color:var(--run);white-space:nowrap}
.ag-proc .dur.amb{background:var(--warn-bg);color:var(--warn)}
.ag-f .ri.warn{background:var(--warn-bg);color:var(--warn)}
.ag-open{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 14px var(--font-body);cursor:pointer;white-space:nowrap}
.ag-open .ic{width:16px;height:16px}
.ag-legend{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3)}
.ag-legend .ic{width:18px;height:18px;flex:none}
/* файл из дома: только читать, 10 мин */
.ag-fbar{display:grid;gap:6px;padding:12px 14px;border-radius:var(--r-l);background:var(--run-bg);color:var(--run);font:600 13.5px var(--font-body);margin:0 0 12px}
.ag-txt{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-l);padding:14px 16px;font:14px/1.6 var(--font-body);white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.ag-txt .h{display:block;font:700 16px/1.3 var(--font-display);margin:8px 0 2px}
.ag-txt code{font:13px var(--font-mono);background:var(--sunk);padding:0 4px;border-radius:4px}
.ag-mask{font:600 12.5px var(--font-mono);background:var(--warn-bg);color:var(--warn);padding:1px 6px;border-radius:6px;white-space:nowrap}
.ag-cut{margin-top:10px;color:var(--fg-3);font-size:13px}
.ag-spin{animation:ag-spin 1s linear infinite}
@keyframes ag-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ag-spin{animation:none}}

/* скрипты (Дом №1591) */
.sk-f{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.sk-p{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:600 13px var(--font-body);cursor:pointer}
.sk-p em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.sk-p.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.sk-p.on em{color:var(--bg)}
.sk-spare{background:var(--sunk)}

/* ── волна B: дом7я-пульт-ждёт-меня (prefix wm-) ── */

/* ── quick filter pills (symvibe 19.10 §5: filters only) ── */
.wm-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 14px;padding:0 14px 2px}
.wm-pills::-webkit-scrollbar{display:none}
@media (min-width:900px){.wm-pills{flex-wrap:wrap;margin:0 0 14px;padding:0}}
.wm-pill{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:600 13.5px var(--font-body);white-space:nowrap;cursor:pointer}
@media (min-width:900px){.wm-pill{min-height:38px}}
.wm-pill em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.wm-pill.wm-on{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.wm-pill.wm-on em{color:inherit;opacity:.75}
.wm-pill.wm-starp{border-color:var(--star-line);color:var(--star)}
.wm-pill.wm-oldp em{color:var(--crit)}

/* ── group frame with a summary in its header (symvibe §1) ── */
.wm-grp{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;margin:0 0 14px;min-width:0}
.wm-gh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:center;padding:11px 14px;background:var(--sunk);border-bottom:1px solid var(--line)}
.wm-gh .wm-gi{grid-row:span 2;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface);color:var(--fg-2)}
.wm-gh h2{margin:0;font:700 16px/1.2 var(--font-display);letter-spacing:var(--ls-display)}
.wm-gh h2 em{font:600 13px var(--font-mono);font-style:normal;color:var(--fg-2);margin-left:4px}
.wm-gh .wm-sum{font:500 12px/1.35 var(--font-mono);color:var(--fg-3)}
.wm-gh .wm-sum b{font-weight:600;color:var(--crit)}
.wm-gh .wm-sum i{font-style:normal;color:var(--ok)}
.wm-grp > .pp-r{border-top:1px solid var(--line)}
.wm-grp > .wm-gh + .pp-r{border-top:0}
.wm-grp.wm-zgrp .wm-gh{border-bottom:0}
.wm-zero{font:700 14px var(--font-mono);color:var(--ok);white-space:nowrap;grid-row:span 2;align-self:center}
.wm-gh.wm-z{grid-template-columns:auto minmax(0,1fr) auto}

/* row (on top of pp-r) */
.wm-r .num{min-width:46px}
.wm-r .wm-who{color:var(--fg-2)}
.wm-r .wm-from{display:block;color:var(--fg-3)}
.wm-age{font:600 12px var(--font-mono);padding:3px 8px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);white-space:nowrap}
.wm-age.wm-old{background:var(--crit-bg);color:var(--crit)}
.wm-r.wm-imp{box-shadow:inset 4px 0 0 var(--star-line)}
.wm-star{display:inline-block;margin-right:6px;padding:0 6px;border-radius:var(--r-pill);background:var(--star-bg);color:var(--star);font:700 11.5px/1.6 var(--font-body)}
.wm-r.wm-nores .tx b{color:var(--fg-3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--fg-3) 55%,transparent)}
.wm-tag{font:600 11.5px var(--font-body);padding:3px 8px;border-radius:var(--r-pill);white-space:nowrap}
.wm-tag.wm-no{background:var(--crit-bg);color:var(--crit)}
.wm-tag.wm-done{background:var(--ok-bg);color:var(--ok)}
.wm-tag.wm-chg{background:var(--warn-bg);color:var(--warn)}
.wm-r.wm-acc .tx b{color:var(--fg-2)}
.wm-more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--fg-2);font:600 13.5px var(--font-body);cursor:pointer}
.wm-more svg{width:16px;height:16px}

/* «Проверить»: project → theme */
.wm-proj{display:flex;align-items:center;gap:8px;padding:12px 14px 8px;font:700 13.5px var(--font-body);color:var(--fg)}
.wm-proj i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.wm-proj em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.wm-theme{margin:0 10px 10px;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--surface);min-width:0}
.wm-th{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:10px 12px;background:color-mix(in srgb,var(--sunk) 55%,var(--surface))}
.wm-th b{display:block;font:700 14.5px/1.25 var(--font-body);overflow-wrap:anywhere}
.wm-th small{display:block;font:500 12px/1.35 var(--font-mono);color:var(--fg-3);margin-top:2px}
.wm-th small b{display:inline;font:inherit;color:var(--crit)}
@media (max-width:899px){.wm-th{grid-template-columns:minmax(0,1fr)}}
.wm-batch{min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:0;background:var(--accent);color:var(--accent-ink);font:700 14px var(--font-body);display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;cursor:pointer}
.wm-batch svg{width:17px;height:17px}
.wm-batch[disabled]{background:var(--sunk);color:var(--fg-3);cursor:default}
.wm-batch.wm-ok{background:var(--ok-bg);color:var(--ok)}
.wm-th .wm-hint{grid-column:1/-1;font:500 12px/1.35 var(--font-body);color:var(--fg-3)}
.wm-theme > .pp-r{border-top:1px solid var(--line)}
.wm-theme > .pp-r .tx b{font-size:14px}

/* footer lines */
.wm-think{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 14px;border-radius:var(--r-l);border:2px dashed var(--think-line);background:var(--think-bg);color:var(--fg-2);font-size:13px;line-height:1.4;margin:0 0 12px}
.wm-think b{color:var(--think)}
.wm-think .wm-e{font-size:20px}
.wm-legend{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3)}
.wm-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:26px 16px;margin:0 0 14px;border-radius:var(--r-l);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg)}
.wm-empty .wm-o{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--s-done);color:var(--surface)}
.wm-empty .wm-o svg{width:28px;height:28px;stroke-width:2.4}
.wm-empty b{font:700 18px/1.25 var(--font-display);color:var(--ok)}
.wm-empty span{font-size:13.5px;color:var(--fg-2);max-width:42ch}

/* ── confirm sheet (phone: bottom sheet · PC: centred 560px) ── */
.wm-dim{position:fixed;inset:0;background:var(--scrim);z-index:40}
.wm-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--surface);border-radius:22px 22px 0 0;padding:10px 16px 18px;box-shadow:var(--shadow-2);max-height:90vh;overflow:auto;box-sizing:border-box}
@media (min-width:900px){.wm-sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:560px;border-radius:22px;padding:18px 20px 20px}}
.wm-sheet .wm-grab{width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:0 auto 12px}
@media (min-width:900px){.wm-sheet .wm-grab{display:none}}
.wm-sheet h2{margin:0 0 4px;font:700 19px/1.25 var(--font-display);overflow-wrap:anywhere}
.wm-sheet > p{margin:0 0 10px;color:var(--fg-2);font-size:13.5px;line-height:1.4}
.wm-pager{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}
.wm-pager button{min-height:44px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:600 13.5px var(--font-body);display:grid;gap:0;align-content:center;cursor:pointer}
.wm-pager button small{font:500 11.5px var(--font-mono);color:var(--fg-3)}
.wm-pager button.wm-on{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.wm-pager button.wm-on small{color:inherit;opacity:.7}
.wm-lt{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 6px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}
.wm-lt em{font:600 12px var(--font-mono);font-style:normal;letter-spacing:0;text-transform:none}
.wm-ol{margin:0 0 10px;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--r-m);overflow:auto}
.wm-ol.wm-long{max-height:31vh}
@media (min-width:900px){.wm-ol.wm-long{max-height:250px}}
.wm-ol li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:baseline;padding:8px 12px;border-top:1px solid var(--line);font-size:14px;line-height:1.3}
.wm-ol li:first-child{border-top:0}
.wm-ol li .wm-n{font:700 12px var(--font-mono);color:var(--fg-3)}
.wm-ol li span{overflow-wrap:anywhere}
.wm-ol.wm-skip{border-style:dashed;background:var(--sunk)}
.wm-ol.wm-skip li{color:var(--fg-3)}
.wm-ol.wm-skip li small{display:block;font-size:12px;color:var(--crit)}
.wm-undo{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:9px 12px;border-radius:var(--r-m);background:var(--ok-bg);color:var(--ok);font:600 13px/1.35 var(--font-body);margin:0 0 12px}
.wm-undo svg{width:17px;height:17px;margin-top:1px}
.wm-act{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wm-act button{min-height:48px;border-radius:14px;font:700 15px var(--font-body);border:1px solid var(--line-2);background:var(--surface);color:var(--fg);cursor:pointer}
.wm-act .wm-y{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* ── undo toast (№1444 pattern) ── */
.wm-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:92px;z-index:30;width:min(560px,calc(100% - 20px));box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 10px 13px 14px;border-radius:18px;background:var(--ink);color:var(--ink-fg);box-shadow:var(--shadow-2);overflow:hidden}
@media (min-width:900px){.wm-toast{bottom:24px}}
.wm-toast .wm-o{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--s-done);color:var(--surface)}
.wm-toast .wm-o.wm-w{background:var(--s-appr)}
.wm-toast .wm-o svg{width:18px;height:18px}
.wm-toast span{font:500 14px/1.32 var(--font-body)}
.wm-toast span small{display:block;font-size:12.5px;opacity:.8}
.wm-toast button{min-height:44px;padding:0 14px;border-radius:12px;border:0;background:var(--accent);color:var(--accent-ink);font:700 14px var(--font-body);white-space:nowrap}
.wm-toast .wm-bar{position:absolute;left:0;bottom:0;height:3px;width:70%;background:var(--accent)}

/* ── волна B: дом7я-пульт-в-работе (prefix nw-) ── */

/* ── project pills: filter only (symvibe 19.10 §5) ── */
.nw-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 10px;padding:0 14px 2px}
.nw-pills::-webkit-scrollbar{display:none}
@media (min-width:900px){.nw-pills{flex-wrap:wrap;margin:0 0 10px;padding:0}}
.nw-pill{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:600 13.5px var(--font-body);white-space:nowrap;cursor:pointer}
@media (min-width:900px){.nw-pill{min-height:40px}}
.nw-pill i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.nw-pill em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.nw-pill.nw-on{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.nw-pill.nw-on em{color:inherit;opacity:.75}
.nw-pill.nw-zero{color:var(--fg-3)}

/* one-line summary under the pills */
.nw-line{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 2px 14px;font:500 12.5px var(--font-mono);color:var(--fg-3)}
.nw-line b{font-weight:700;color:var(--fg-2)}
.nw-line .nw-zline b{color:var(--fg-3)}

/* ── project frame with a summary in its header (symvibe §1) ── */
.nw-grp{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;margin:0 0 14px;min-width:0}
.nw-gh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:center;padding:11px 14px;background:var(--sunk);border-bottom:1px solid var(--line)}
.nw-gh .nw-gi{grid-row:span 2;width:12px;height:12px;border-radius:50%;background:var(--c);margin:0 2px}
.nw-gh h2{margin:0;font:700 16px/1.2 var(--font-display);letter-spacing:var(--ls-display)}
.nw-gh h2 em{font:600 13px var(--font-mono);font-style:normal;color:var(--fg-2);margin-left:6px}
.nw-gh .nw-sum{font:500 12px/1.35 var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere}
.nw-gh .nw-sum b{font-weight:600;color:var(--ok)}
.nw-gh .nw-sum u{text-decoration:none;color:var(--run)}
.nw-gh .nw-sum s{text-decoration:none;color:var(--perm)}

/* ── task row (on top of pp-r): icon | text | [PC: times] | chevron ── */
.pp-r.nw-r{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;padding:12px 12px 12px 14px;gap:12px;border-top:1px solid var(--line)}
.nw-grp > .nw-gh + .nw-r{border-top:0}
@container (min-width:560px){.pp-r.nw-r{grid-template-columns:auto minmax(0,1fr) auto auto}}
@container (min-width:560px){.nw-tm.nw-side span{white-space:nowrap}}
.nw-r > svg{align-self:center;color:var(--fg-3)}
.nw-r .tx{gap:4px}
.nw-hd{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.nw-no{font:700 12px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.nw-r .tx b.nw-t{font:600 15px/1.3 var(--font-body)}
.nw-who{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:600 12.5px/1.3 var(--font-body);color:var(--fg-2)}
.nw-who > span{overflow-wrap:anywhere;min-width:0}
.nw-r.nw-foc{box-shadow:inset 4px 0 0 var(--accent)}
.nw-r.nw-imp{box-shadow:inset 4px 0 0 var(--star-line)}
.nw-tag{display:inline-flex;align-items:center;gap:4px;font:700 11.5px/1.6 var(--font-body);padding:0 7px;border-radius:var(--r-pill);white-space:nowrap}
.nw-tag.nw-ft{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--fg)}
.nw-tag.nw-st{background:var(--star-bg);color:var(--star)}
.nw-tag.nw-alive{background:var(--ok-bg);color:var(--ok)}
/* agent icon (from «Агенты», 34px) */
.nw-ic{position:relative;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;margin-top:2px;
  background:color-mix(in srgb,var(--tm) 22%,var(--surface));color:color-mix(in srgb,var(--tm) 62%,var(--fg));border:1.5px solid color-mix(in srgb,var(--tm) 45%,transparent)}
.nw-ic svg{width:18px;height:18px;stroke-width:1.9}
.nw-ic.nw-boss{background:var(--tm);color:var(--bg);border-color:var(--tm)}
.nw-ic .nw-sd{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2.5px var(--surface)}
.nw-k-think{background:var(--s-done)}.nw-k-bg{background:var(--run)}.nw-k-perm{background:var(--perm)}.nw-k-off{background:var(--crit-solid)}
.nw-k-idle{background:var(--surface);box-shadow:0 0 0 2.5px var(--surface),inset 0 0 0 2.5px var(--fg-3)!important}
.nw-k-none{background:var(--line-2)}
/* agent state chip (same words as «Агенты» §4.1a) */
.nw-stc{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px 0 7px;border-radius:var(--r-pill);font:700 12px var(--font-body);white-space:nowrap}
.nw-stc i{width:8px;height:8px;border-radius:50%;flex:none}
.nw-stc.nw-s-think{background:var(--ok-bg);color:var(--ok)}
.nw-stc.nw-s-bg{background:var(--run-bg);color:var(--run)}
.nw-stc.nw-s-perm{background:var(--perm-bg);color:var(--perm)}
.nw-stc.nw-s-idle{background:var(--sunk);color:var(--fg-2)}
.nw-stc.nw-s-off{background:var(--crit-bg);color:var(--crit)}
.nw-stc.nw-s-none{background:var(--sunk);color:var(--fg-3)}
/* «сейчас делает · сколько идёт» (symvibe §4) */
.nw-doing{display:flex;align-items:flex-start;line-height:1.35;gap:6px;min-width:0;font:600 12.5px var(--font-body);color:var(--fg-2)}
.nw-doing svg{width:15px;height:15px;color:var(--fg-3);margin-top:1px}
.nw-doing span{min-width:0;overflow-wrap:anywhere}
.nw-doing b{font:700 12px var(--font-mono);white-space:nowrap;color:var(--fg-2)}
.nw-doing.nw-run{color:var(--run)}.nw-doing.nw-run svg{color:var(--run)}.nw-doing.nw-run b{color:var(--run)}
.nw-doing b.nw-amb{color:var(--warn)}
.nw-doing.nw-perm{color:var(--perm)}.nw-doing.nw-perm svg{color:var(--perm)}
.nw-doing.nw-off{color:var(--crit)}.nw-doing.nw-off svg{color:var(--crit)}
.nw-note{font:600 12px var(--font-body);color:var(--warn)}
/* times: phone = one mono line in .tx; PC = own column on the right */
.nw-tm{font:500 12px/1.45 var(--font-mono);color:var(--fg-3)}
.nw-tm b{font-weight:600;color:var(--fg-2)}
.nw-tm.nw-side{display:none}
@container (min-width:560px){.nw-tm.nw-side{display:grid;align-self:center;text-align:right;gap:1px}}
@container (min-width:560px){.nw-tm.nw-in{display:none}}
.nw-more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--fg-2);font:600 13.5px var(--font-body);cursor:pointer}
.nw-more svg{width:16px;height:16px}

/* ── stale block «Зависли» (grey, collapsed, never mixed in) ── */
.nw-zav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;width:100%;min-height:64px;padding:12px 14px;margin:4px 0 14px;border-radius:var(--r-l);border:1.5px dashed var(--line-2);background:var(--sunk);color:var(--fg-2);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.nw-zav > svg{grid-row:span 2;width:22px;height:22px;color:var(--fg-3)}
.nw-zav b{font:700 16px var(--font-display);color:var(--fg-2)}
.nw-zav b em{font:600 13px var(--font-mono);font-style:normal;margin-left:6px}
.nw-zav small{grid-column:2;font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.nw-zav .nw-chev{grid-row:1 / span 2;grid-column:3}
.nw-zav.nw-open{border-radius:var(--r-l) var(--r-l) 0 0;margin-bottom:0;border-bottom-style:solid}
.nw-zl{border:1.5px dashed var(--line-2);border-top:0;border-radius:0 0 var(--r-l) var(--r-l);background:var(--sunk);margin:0 0 14px;overflow:hidden}
.nw-zp{display:flex;align-items:center;gap:8px;padding:10px 14px 6px;font:700 13px var(--font-body);color:var(--fg-2)}
.nw-zp i{width:9px;height:9px;border-radius:50%;background:var(--c);opacity:.6}
.nw-zp em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.nw-zl .pp-r{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
.nw-zl .pp-r .tx b{color:var(--fg-2);font-weight:600}
.nw-zl .pp-r .nw-ic{filter:grayscale(1);opacity:.7}
.nw-quiet{font:600 12px var(--font-mono);padding:3px 8px;border-radius:var(--r-pill);background:var(--surface);color:var(--fg-3);white-space:nowrap;align-self:center}
.nw-zl .pp-r > svg{color:var(--fg-3)}
@media (max-width:899px){.nw-zl .pp-r .nw-quiet{display:none}}
.nw-zl .nw-more{border-top:1px solid var(--line)}
.nw-cut{padding:8px 14px 12px;font:500 12px var(--font-mono);color:var(--fg-3);border-top:1px solid var(--line)}

/* footer lines */
.nw-think{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 14px;border-radius:var(--r-l);border:2px dashed var(--think-line);background:var(--think-bg);color:var(--fg-2);font-size:13px;line-height:1.4;margin:0 0 12px}
.nw-think b{color:var(--think)}
.nw-think .nw-e{font-size:20px}
.nw-legend{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3)}
.nw-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:26px 16px;margin:0 0 14px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface)}
.nw-empty .nw-o{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2)}
.nw-empty .nw-o svg{width:26px;height:26px}
.nw-empty b{font:700 18px/1.25 var(--font-display)}
.nw-empty span{font-size:13.5px;color:var(--fg-2);max-width:44ch}
/* stale data: rows keep their text, live colours go grey */
.nw-old .nw-grp .nw-stc,.nw-old .nw-grp .nw-doing,.nw-old .nw-grp .nw-doing b{background:var(--sunk);color:var(--fg-3)}
.nw-old .nw-grp .nw-doing{background:none}
.nw-old .nw-grp .nw-doing svg{color:var(--fg-3)}
.nw-old .nw-sd{background:var(--line-2)!important;box-shadow:0 0 0 2.5px var(--surface)!important}
.nw-old .nw-gh .nw-sum b,.nw-old .nw-gh .nw-sum u,.nw-old .nw-gh .nw-sum s{color:var(--fg-3)}

/* ── волна B: дом7я-пульт-порядок (prefix pz-) ── */

/* ── summary chips under the title ── */
.pz-sum{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}
.pz-sum span{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);font:600 12.5px var(--font-body);background:var(--sunk);color:var(--fg-2)}
.pz-sum b{font:700 13px var(--font-mono)}
.pz-sum .pz-up{background:var(--crit-bg);color:var(--crit)}
.pz-sum .pz-dn,.pz-sum .pz-z{background:var(--ok-bg);color:var(--ok)}

/* ── scorecard grid ── */
.pz-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.pz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.pz-pair{display:grid;gap:8px;grid-column:1/-1;min-width:0}
@media (min-width:900px){.pz-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.pz-ph{grid-column:1/-1;margin:0 2px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}

/* one card = one number; whole card is the tap target */
.pz-c{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l l" "v ch" "x x";grid-template-rows:auto 1fr auto;gap:8px 12px;align-items:end;padding:12px 14px 12px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;text-align:left;cursor:pointer;min-width:0;overflow:hidden;width:100%;box-sizing:border-box}
.pz-c:hover{background:var(--surface-2)}
.pz-c::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pz-st,transparent)}
.pz-c.pz-bad{--pz-st:var(--crit-solid)}
.pz-c.pz-ok{--pz-st:var(--s-done)}
.pz-l{grid-area:l;align-self:start;min-width:0;display:grid;gap:2px;padding-right:76px}
.pz-l b{font:700 15px/1.25 var(--font-body);overflow-wrap:anywhere}
.pz-l small{font-size:12.5px;line-height:1.35;color:var(--fg-3);overflow-wrap:anywhere}
.pz-go{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:2px;font:600 12.5px var(--font-body);color:var(--fg-2);white-space:nowrap;min-height:24px}
.pz-go svg{width:16px;height:16px}
.pz-v{grid-area:v;display:grid;gap:2px;min-width:0}
.pz-n{font:700 30px/1 var(--font-display);letter-spacing:-.01em}
.pz-bad .pz-n{color:var(--crit)}
.pz-ok .pz-n{color:var(--ok)}
.pz-d{font:600 12px var(--font-mono);color:var(--fg-3)}
.pz-d.pz-up{color:var(--crit)}.pz-d.pz-dn{color:var(--ok)}
.pz-x{grid-area:x;font-size:12.5px;line-height:1.4;color:var(--fg-2);overflow-wrap:anywhere}
.pz-x b{color:var(--fg)}

/* 14-day bars — APP's .wk look (rounded tops, today in colour, gap = dashed) */
.pz-ch{grid-area:ch;display:grid;gap:3px;width:172px}
@media (min-width:900px){.pz-ch{width:200px}}
.pz-wk{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;align-items:end;height:52px}
.pz-wk i{display:block;border-radius:3px 3px 1px 1px;background:var(--pz-bar);min-height:2px}
.pz-wk i.pz-now{background:var(--fg-2)}
.pz-bad .pz-wk i.pz-now{background:var(--crit-solid)}
.pz-ok .pz-wk i.pz-now{background:var(--s-done)}
.pz-wk i.pz-gap{background:none;border:1.5px dashed var(--line-2);height:14px;box-sizing:border-box}
.pz-ax{display:flex;justify-content:space-between;font:500 10.5px var(--font-mono);color:var(--fg-3)}

/* terminal words: info, not a backlog */
.pz-c.pz-info{background:var(--sunk);border-style:dashed}
.pz-info .pz-n{color:var(--fg-2);font-size:24px}

/* reasoning line inside the «в работе» card (C6) */
.pz-think{display:flex;flex-wrap:wrap;gap:4px 10px;padding:7px 10px;border-radius:var(--r-m);border:1.5px dashed var(--think-line);background:var(--think-bg);font-size:12.5px;color:var(--fg-2)}
.pz-think b{color:var(--think)}

/* stale: last numbers greyed, never shown as fresh */
.pz-old .pz-c{background:var(--sunk);border-style:dashed;--pz-st:var(--line-2)}
.pz-old .pz-n{color:var(--fg-3)!important}
.pz-old .pz-wk i:not(.pz-gap){background:var(--line-2)!important}
.pz-old .pz-d:not(.pz-why){color:var(--fg-3)}
.pz-n.pz-none{color:var(--fg-3);font-size:30px}
.pz-why{color:var(--crit)}

/* all clean */
.pz-clean{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;margin:0 0 14px;border-radius:var(--r-l);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg)}
.pz-clean .pz-o{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--s-done);color:var(--surface)}
.pz-clean .pz-o svg{width:26px;height:26px;stroke-width:2.4}
.pz-clean b{display:block;font:700 17px/1.25 var(--font-display);color:var(--ok)}
.pz-clean span{font-size:13px;color:var(--fg-2)}

.pz-legend{display:grid;gap:6px;margin-top:14px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3)}

/* ── drill-down list ── */
.pz-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 12px;padding:0 14px 2px}
.pz-pills::-webkit-scrollbar{display:none}
@media (min-width:900px){.pz-pills{flex-wrap:wrap;margin:0 0 12px;padding:0}}
.pz-pill{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:600 13.5px var(--font-body);white-space:nowrap;cursor:pointer}
@media (min-width:900px){.pz-pill{min-height:38px}}
.pz-pill em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.pz-pill.pz-on{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.pz-pill.pz-on em{color:inherit;opacity:.75}
.pz-big{margin:0 0 12px}
.pz-big .pz-wk{height:84px;gap:4px}
.pz-big .pz-wk i:not(.pz-gap){background:var(--pz-bar)}
.pz-big .pz-wk i.pz-now{background:var(--crit-solid)}
.pz-big .pz-dd{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin-top:4px;font:500 10.5px var(--font-mono);color:var(--fg-3);text-align:center}
.pz-big .pz-dd .pz-t{color:var(--crit);font-weight:700}
.pz-big .pz-cap{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px;font-size:13px;color:var(--fg-2)}
.pz-big .pz-cap b{font:700 13.5px var(--font-body);color:var(--fg)}
.pz-r .tx small .pz-who{color:var(--fg-2)}
.pz-age{font:600 12px var(--font-mono);padding:3px 8px;border-radius:var(--r-pill);background:var(--crit-bg);color:var(--crit);white-space:nowrap}
.pz-age.pz-never{background:var(--sunk);color:var(--fg-2)}
.pz-more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--fg-2);font:600 13.5px var(--font-body);cursor:pointer}
.pz-more svg{width:16px;height:16px}
.pz-tail{margin-top:12px;display:grid;gap:10px}
@keyframes wm-bar{from{width:100%}to{width:0}}
.wm-toast .wm-bar{width:100%;animation:wm-bar linear forwards}
.wm-sheet .wm-act button,.wm-pager button{font-family:var(--font-body)}
/* «Здоровье» → «Компьютер RYZEN»: диски и память (макет дом7я-пульт-здоровье-диски, Дом №1521) */
.pp-alarm.hz-amber{background:var(--s-appr)}
.hz-card{display:grid;gap:4px;grid-template-columns:minmax(0,1fr);padding:14px 16px 6px}
@media (min-width:900px){.hz-card{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px}}
.hz-card.hz-crit{border-color:color-mix(in srgb,var(--crit) 45%,transparent);box-shadow:inset 4px 0 0 var(--crit-solid)}
.hz-card.hz-warn{box-shadow:inset 4px 0 0 var(--s-appr)}
.hz-m{min-width:0;margin-bottom:14px}
.hz-m .top{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n p" "w p";gap:4px 10px;align-items:center}
.hz-m .top b{grid-area:n;display:flex;align-items:center;gap:7px;min-width:0}
.hz-m .top b .ic{width:17px;height:17px;color:var(--fg-3)}
.hz-m .top .hz-w{grid-area:w;justify-self:start}
.hz-m .top .pc{grid-area:p;line-height:1;white-space:nowrap}
.hz-m.warn .pc{color:var(--warn)}
.hz-m.hz-none .pc,.hz-m.hz-old .pc{color:var(--fg-3)}
.hz-w{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);font:700 11.5px var(--font-body);white-space:nowrap;background:var(--ok-bg);color:var(--ok)}
.hz-w .ic{width:13px;height:13px}
.warn .hz-w{background:var(--warn-bg);color:var(--warn)}.crit .hz-w{background:var(--crit-bg);color:var(--crit)}
.hz-none .hz-w,.hz-old .hz-w{background:var(--sunk);color:var(--fg-3)}
.hz-m .tr .hz-tk{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:var(--fg-3)}
.hz-m .tr .hz-tk::after{content:attr(data-l);position:absolute;top:-16px;left:50%;transform:translateX(-50%);font:600 10.5px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.hz-m .tr .hz-tk.hz-tk-c{background:var(--crit-solid)}.hz-m .tr .hz-tk.hz-tk-c::after{color:var(--crit)}
.hz-m small b{font:600 12.5px var(--font-mono);color:var(--fg-2)}
.hz-m.hz-none .tr{background:none;border:1.5px dashed var(--line-2);box-sizing:border-box}
.hz-m.hz-none small{color:var(--fg-2)}
.hz-say{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin:0 0 10px;padding:11px 13px;border-radius:var(--r-m);font-size:13.5px;line-height:1.45;color:var(--fg-2)}
.hz-say .ic{width:20px;height:20px;margin-top:1px}
.hz-say b{display:block;font:700 14.5px var(--font-body);margin-bottom:2px}
.hz-say.crit{background:var(--crit-bg)}.hz-say.crit .ic,.hz-say.crit b{color:var(--crit)}
.hz-say.warn{background:var(--warn-bg)}.hz-say.warn .ic,.hz-say.warn b{color:var(--warn)}
.hz-who{font-weight:700;color:var(--fg);white-space:nowrap}
.hz-stale .hz-card{background:var(--sunk);border-style:dashed;box-shadow:none}
.hz-stale .tr i{background:var(--line-2)!important}
.hz-stale .hz-m .tr .hz-tk{background:var(--fg-3)}.hz-stale .hz-m .tr .hz-tk::after{color:var(--fg-3)}
.hz-stale .pp-dot{background:var(--line-2)!important}
.hz-stale .h-r .val{color:var(--fg-3)!important}
.hz-at{font:600 11.5px var(--font-mono);color:var(--fg-3);padding:1px 7px;border-radius:var(--r-pill);border:1px dashed var(--line-2)}
/* «Компьютер RYZEN»: 4 диска + разделы WORK (макет дом7я-пульт-здоровье-4диска, Дом №2204). Prefix hz-d / hz-p */
.hz-card.hz-4{display:block;padding:6px 16px 4px}
.hz-card.hz-4 .hz-say{margin:10px 0 4px}
.hz-d{position:relative;border-top:1px solid var(--line)}
.hz-d.lm{display:block;margin:0}
.hz-4 > .hz-d:first-child,.hz-say + .hz-d,.hz-fallback + .hz-d{border-top:0}
/* the disk header is one tap target: tap (phone) → details open below; PC → popover on hover/focus */
.hz-dh{all:unset;box-sizing:border-box;display:grid;width:100%;cursor:pointer;padding:14px 0 12px;
  grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n p" "r r" "t t" "f f" "c c";gap:4px 10px;-webkit-tap-highlight-color:transparent}
.hz-dh:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-s)}
.hz-dh > b{grid-area:n;display:flex;align-items:center;gap:7px;min-width:0;font:700 15.5px var(--font-body)}
.hz-dh > b svg.ic{width:18px;height:18px;color:var(--fg-3)}
.hz-kind{font:600 10.5px var(--font-mono);letter-spacing:.04em;color:var(--fg-2);padding:1px 6px;border-radius:var(--r-xs);border:1px solid var(--line-2)}
.hz-dh > .pc{grid-area:p;font:700 26px var(--font-display);line-height:1;white-space:nowrap;align-self:center}
.hz-role{grid-area:r;font-size:13px;line-height:1.4;color:var(--fg-2)}
.hz-dh > .tr{grid-area:t;margin-top:18px!important}
.hz-nums{grid-area:f;align-self:start;font-size:12.5px;color:var(--fg-3)}
.hz-nums b{font:600 12.5px var(--font-mono);color:var(--fg-2)}
.hz-chips{grid-area:c;display:flex;flex-wrap:wrap;align-items:center;align-self:start;gap:6px;margin-top:4px}
.hz-d.warn .hz-dh > .pc{color:var(--warn)}.hz-d.crit .hz-dh > .pc{color:var(--crit)}
.hz-d.hz-none .hz-dh > .pc{color:var(--fg-3)}
/* target tick («цель — не выше 60 %»): dashed, calm, not a threshold colour */
.lm .tr .hz-goal{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed var(--info)}
.lm .tr .hz-goal::after{content:attr(data-l);position:absolute;top:-16px;left:0;transform:translateX(-50%);font:600 10.5px var(--font-mono);color:var(--info);white-space:nowrap}
/* health chip: word + icon + chevron, colour never alone */
.hz-hl{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border-radius:var(--r-pill);font:700 11.5px var(--font-body);white-space:nowrap;background:var(--ok-bg);color:var(--ok)}
.hz-hl svg.ic{width:13px;height:13px}
.hz-hl.warn{background:var(--warn-bg);color:var(--warn)}.hz-hl.crit{background:var(--crit-bg);color:var(--crit)}.hz-hl.none{background:var(--sunk);color:var(--fg-3)}
.hz-hl .chev{transition:transform var(--dur,.18s) var(--ease,ease)}
.hz-dh[aria-expanded="true"] .hz-hl .chev{transform:rotate(180deg)}
.hz-d .hz-w{align-self:center}
/* details: phone = block under the header; PC = popover */
.hz-more{display:none;margin:0 0 12px;padding:10px 12px;border-radius:var(--r-m);background:var(--sunk);font-size:13px;line-height:1.5;color:var(--fg-2)}
.hz-dh[aria-expanded="true"] + .hz-more{display:grid;gap:3px}
.hz-more p{margin:0;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start}
.hz-more p svg.ic{width:16px;height:16px;margin-top:2px;color:var(--fg-3)}
.hz-more p.crit,.hz-more p.crit svg.ic{color:var(--crit)}.hz-more p.warn,.hz-more p.warn svg.ic{color:var(--warn)}
.hz-more .hz-model{font:500 11.5px var(--font-mono);color:var(--fg-3);padding-left:26px}
/* none: no numbers at all */
.hz-d.hz-none .tr{background:none;border:1.5px dashed var(--line-2);box-sizing:border-box}

/* WORK partitions */
.hz-parts{margin:0 0 14px}
.hz-pnote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:10px 12px;border-radius:var(--r-m);border:1px dashed var(--line-2);font-size:13px;line-height:1.45;color:var(--fg-2)}
.hz-pnote svg.ic{width:18px;height:18px;color:var(--fg-3);margin-top:1px}
.hz-pnote b{color:var(--fg)}
.hz-pg{margin:14px 0 6px;font:700 11.5px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);display:flex;gap:8px;align-items:center}
.hz-pg em{font-style:normal;font-family:var(--font-mono);color:var(--fg-2);text-transform:none;letter-spacing:0}
.hz-pl{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.hz-p{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n v" "a a" "t t";gap:2px 10px;padding:9px 12px;border-radius:var(--r-m);background:var(--surface-2,var(--sunk));min-width:0}
.hz-p b{grid-area:n;font:700 14px var(--font-body);min-width:0;overflow-wrap:anywhere}
.hz-p .v{grid-area:v;font:600 12.5px var(--font-mono);color:var(--fg-2);white-space:nowrap;align-self:center}
.hz-p small{grid-area:a;font-size:12.5px;color:var(--fg-3);line-height:1.4}
.hz-p .tr{grid-area:t;position:relative;height:8px;border-radius:4px;background:var(--sunk);margin-top:6px}
.hz-p .tr i{display:block;height:100%;border-radius:4px;background:var(--s-done)}
.hz-p.warn .tr i{background:var(--s-appr)}.hz-p.warn .v{color:var(--warn)}
.hz-p.crit .tr i{background:var(--crit-solid)}.hz-p.crit .v{color:var(--crit)}
/* plan: grey, dashed, «план» chip + «50 ГБ — будет»; no zeros, no bar */
.hz-p.plan{background:none;border:1px dashed var(--line-2)}
.hz-p.plan b{color:var(--fg-2)}
.hz-p.plan .v{display:inline-flex;align-items:center;gap:6px;color:var(--fg-3)}
.hz-plan{font:700 10.5px var(--font-body);letter-spacing:.03em;padding:1px 7px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2)}
.hz-fallback{margin:12px 0 4px;font-size:12.5px;color:var(--fg-3)}
.hz-card > .hz-fallback{grid-column:1/-1;margin:0 0 6px}
/* WORK: не размеченный остаток диска — серый штрих справа на полосе и подпись (макет, обновление 24.10 вечер; Дом №2204) */
.lm .tr .hz-un{position:absolute;top:0;right:0;bottom:0;border-radius:0 8px 8px 0;background:repeating-linear-gradient(135deg,var(--line-2) 0 4px,transparent 4px 8px);border-left:2px solid var(--line-2)}
.hz-unl{white-space:nowrap}.hz-unl i{display:inline-block;width:12px;height:9px;margin:0 5px -1px 0;border-radius:2px;border:1px solid var(--line-2);background:repeating-linear-gradient(135deg,var(--line-2) 0 2px,transparent 2px 4px)}
.hz-4 > .hz-d > .hz-m{margin:14px 0}

/* PC: disk row is one line — [name / role] [bar / numbers] [% / chips]; partitions in 3 columns; details as popover */
@media (min-width:900px){
  .hz-dh{grid-template-columns:minmax(210px,1fr) minmax(0,1.35fr) minmax(150px,auto);grid-template-areas:"n t p" "r f c";gap:4px 22px;padding:16px 0 14px}
  .hz-dh > .tr{margin-top:6px!important;align-self:center}
  .hz-dh > .pc{justify-self:end}
  .hz-chips{justify-self:end;margin-top:0;justify-content:flex-end}
  .hz-more{position:absolute;z-index:5;right:0;top:calc(100% - 8px);width:380px;margin:0;box-shadow:var(--shadow-2);background:var(--surface);border:1px solid var(--line-2)}
  .hz-d:has(.hz-parts) .hz-more{top:96px}
  .hz-dh[aria-expanded="true"] + .hz-more,.hz-dh:hover + .hz-more,.hz-dh:focus-visible + .hz-more{display:grid;gap:3px}
  .hz-pl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hz-parts{padding-left:0}
}
.hz-d .tr .hz-tk{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:var(--fg-3)}
.hz-d .tr .hz-tk::after{content:attr(data-l);position:absolute;top:-16px;left:50%;transform:translateX(-50%);font:600 10.5px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.hz-d .tr .hz-tk.hz-tk-c{background:var(--crit-solid)}.hz-d .tr .hz-tk.hz-tk-c::after{color:var(--crit)}
.hz-stale .hz-d .tr .hz-tk{background:var(--fg-3)}.hz-stale .hz-d .tr .hz-tk::after{color:var(--fg-3)}
/* «➕ Новый сотрудник» (макет дом7я-пульт-новый-сотрудник, Дом №1507) */
/* ── «➕ Новый сотрудник» (Дом №1507, ТЗ-новый-сотрудник.md). Own classes: prefix ns2-. NO new tokens: only existing ones
   (info = «у команды», warn = «ждёт владельца», ok = «готово», crit = «блок», sunk/line = нейтрально). ── */
.ns2-newbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-4px 0 14px;padding:12px;border-radius:var(--r-l);border:1px dashed var(--line-2);background:var(--surface)}
.ns2-new{min-height:48px;padding:0 18px 0 14px;font:700 15px var(--font-body);border-radius:var(--r-pill)}
.ns2-new svg.ic{width:20px;height:20px}
.ns2-newhint{flex:1;min-width:200px;font-size:13px;line-height:1.4;color:var(--fg-2)}
.ns2-newhint b{font:600 12.5px var(--font-mono);color:var(--fg);white-space:nowrap}
@media (max-width:899px){.ns2-new{width:100%}}
/* request cards on top of «Агенты» */
.ns2-reqs{display:grid;gap:10px}
.ns2-req{display:grid;gap:12px;padding:14px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);min-width:0;--c:var(--info);--cb:var(--info-bg)}
.ns2-req.wait-own{--c:var(--warn);--cb:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.ns2-req.done{--c:var(--ok);--cb:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 40%,transparent)}
.ns2-req.blk{--c:var(--crit);--cb:var(--crit-bg);border-color:color-mix(in srgb,var(--crit) 45%,transparent)}
.ns2-req.pause{--c:var(--fg-2);--cb:var(--sunk)}
.ns2-req.linked{gap:6px;padding:10px 14px;background:var(--sunk);border-style:dashed}
.ns2-rh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.ns2-no{font:700 13px var(--font-mono);padding:4px 9px;border-radius:8px;background:var(--sunk);color:var(--fg);white-space:nowrap}
.ns2-state{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 11px 0 9px;border-radius:var(--r-pill);background:var(--cb);color:var(--c);font:700 12.5px var(--font-body);max-width:100%}
.ns2-state svg.ic{width:15px;height:15px}
.ns2-state span{min-width:0;overflow-wrap:anywhere;line-height:1.3;padding:4px 0}
.ns2-state{border-radius:var(--r-m)}
.ns2-at{margin-left:auto;font:500 12px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.ns2-phrase{margin:0;padding:10px 12px;border-left:3px solid var(--line-2);border-radius:0 var(--r-m) var(--r-m) 0;background:var(--sunk);font:500 15px/1.45 var(--font-body);overflow-wrap:anywhere;white-space:pre-wrap}
.ns2-from{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--fg-3)}
.ns2-from b{font-weight:600;color:var(--fg-2)}
.ns2-honest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:var(--r-m);background:var(--cb);color:var(--fg);font-size:13.5px;line-height:1.45}
.ns2-honest svg.ic{color:var(--c);margin-top:1px}
.ns2-honest b{font-weight:700}
/* 4 steps of a request */
.ns2-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ns2-steps li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:0 0 12px;font-size:13.5px;line-height:1.4;color:var(--fg-3)}
.ns2-steps li:last-child{padding-bottom:0}
.ns2-steps li::before{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:2px;background:var(--line)}
.ns2-steps li:last-child::before{display:none}
.ns2-steps .dt{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-2);background:var(--surface);font:700 11px var(--font-mono);color:var(--fg-3)}
.ns2-steps .dt svg.ic{width:14px;height:14px;stroke-width:3}
.ns2-steps li.ok{color:var(--fg-2)}.ns2-steps li.ok .dt{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.ns2-steps li.ok::before{background:var(--ok)}
.ns2-steps li.now{color:var(--fg)}.ns2-steps li.now b{font-weight:700}.ns2-steps li.now .dt{border-color:var(--c);color:var(--c);box-shadow:0 0 0 3px var(--cb)}
.ns2-steps li.bad{color:var(--crit)}.ns2-steps li.bad .dt{background:var(--crit-solid);border-color:var(--crit-solid);color:var(--surface)}
.ns2-steps small{display:block;font:500 11.5px var(--font-mono);color:var(--fg-3);margin-top:1px}
/* BIG-BOSS's confirmation line */
.ns2-offer{display:grid;gap:10px;padding:12px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface-2)}
.ns2-who{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-3);min-width:0}
.ns2-who .ag-ic{--s:28px}.ns2-who .ag-ic .sd{width:10px;height:10px;right:-2px;bottom:-2px}
.ns2-who b{color:var(--fg-2);font-weight:600}
.ns2-offer .tx{margin:0;font:600 15.5px/1.4 var(--font-body);overflow-wrap:anywhere}
.ns2-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:0;font-size:13.5px}
.ns2-kv dt{color:var(--fg-3)}
.ns2-kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--fg)}
.ns2-kv code{font:600 12.5px var(--font-mono);color:var(--fg-2)}
.ns2-alt{display:flex;flex-wrap:wrap;gap:6px}
.ns2-alt span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--r-pill);border:1.5px dashed var(--line-2);font:600 13.5px var(--font-body);color:var(--fg-2)}
/* checks before opening (ARCHITECT 1, 2, 4) */
.ns2-checks{display:grid;gap:6px;margin:0;padding:0;list-style:none}
@media (min-width:900px){.ns2-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ns2-checks li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;padding:8px 10px;border-radius:var(--r-m);background:var(--sunk);font-size:13px;line-height:1.4;color:var(--fg-2)}
.ns2-checks li svg.ic{width:18px;height:18px;color:var(--ok);margin-top:1px}
.ns2-checks li b{color:var(--fg);font-weight:600}
.ns2-checks li.w svg.ic{color:var(--warn)}
.ns2-h3{margin:2px 0 0;font:700 11.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
/* «answer only in the terminal» — no yes button on the site (ARCHITECT 3) */
.ns2-lock{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:var(--r-m);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}
.ns2-lock .li{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--warn);color:var(--surface)}
.ns2-lock .li svg.ic{width:20px;height:20px}
.ns2-lock b{display:block;font:700 15px/1.3 var(--font-body);color:var(--fg)}
.ns2-lock p{margin:4px 0 0;font-size:13.5px;line-height:1.45;color:var(--fg-2)}
.ns2-lock p q{font-weight:700;color:var(--fg)}
/* undo list (ARCHITECT 5) */
details.ns2-undo{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2)}
details.ns2-undo summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;font:600 14px var(--font-body);cursor:pointer;list-style:none}
details.ns2-undo summary::-webkit-details-marker{display:none}
details.ns2-undo summary em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
details.ns2-undo summary svg.ic:last-child{margin-left:auto;color:var(--fg-3)}
details.ns2-undo ul{margin:0;padding:0 12px 6px;list-style:none;display:grid}
details.ns2-undo li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13px;color:var(--fg-2)}
details.ns2-undo li code{font:600 12.5px var(--font-mono);color:var(--fg);overflow-wrap:anywhere}
details.ns2-undo li span{font:500 12px var(--font-mono);color:var(--fg-3);white-space:nowrap}
details.ns2-undo p{margin:0;padding:8px 12px 12px;font-size:12.5px;line-height:1.45;color:var(--fg-3)}
.ns2-alive{display:flex;flex-wrap:wrap;gap:6px}
.ns2-alive span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--ok-bg);color:var(--ok);font:600 12.5px var(--font-body)}
.ns2-alive span.w{background:var(--warn-bg);color:var(--warn)}
.ns2-alive span svg.ic{width:14px;height:14px;stroke-width:2.6}
.ag-row.ns2-fresh{border-color:color-mix(in srgb,var(--ok) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 35%,transparent)}
.ag-row.ns2-fresh .nm::after{content:" · новый";font:600 12px var(--font-body);color:var(--ok)}
/* ── the sheet (app's .sheet look) ── */
.sheet.ns2-sheet .in{gap:10px}
.ns2-lead{margin:-4px 4px 2px;color:var(--fg-2);font-size:14.5px;line-height:1.4}
.ns2-sheet .lbl{margin:4px 4px 0}
.ns2-say{background:var(--surface);box-shadow:0 0 0 1.5px var(--line-2);align-items:flex-end}
.ns2-say textarea{height:auto;min-height:92px;padding:10px 8px;font:500 16px/1.45 var(--font-body);color:var(--fg)}
.ns2-say textarea::placeholder{color:var(--fg-3)}
.ns2-say.full{box-shadow:0 0 0 2px var(--accent)}
.ns2-say.over{box-shadow:0 0 0 2px var(--crit-solid)}
.ns2-say.is-voice{align-items:center}
.ns2-say .vpanel .vwave s{background:var(--fg)}
.ns2-say.is-voice{flex-wrap:wrap}
.ns2-say.is-voice .live{position:static;flex:1 0 100%;box-shadow:none;background:var(--sunk);-webkit-backdrop-filter:none;backdrop-filter:none}
.ns2-meta{display:flex;align-items:flex-start;gap:10px;margin:0 4px;font-size:12.5px;color:var(--fg-3);line-height:1.4}
.ns2-meta .ex{flex:1;min-width:0}
.ns2-meta .cnt{font:600 12px var(--font-mono);white-space:nowrap}
.ns2-meta .cnt.over{color:var(--crit)}
.ns2-msg{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px 12px;border-radius:var(--r-m);font-size:13.5px;line-height:1.4}
.ns2-msg.crit{background:var(--crit-bg);color:var(--crit)}
.ns2-msg.crit span{color:var(--fg)}
.ns2-msg svg.ic{margin-top:1px}
.ns2-next{display:grid;gap:8px;padding:12px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.ns2-next ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:n}
.ns2-next li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:13.5px;line-height:1.4;color:var(--fg-2);counter-increment:n}
.ns2-next li::before{content:counter(n);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);font:700 11.5px var(--font-mono);color:var(--fg)}
.ns2-next li b{color:var(--fg);font-weight:600}
.ns2-next li.key::before{background:var(--warn);color:var(--surface)}
.ns2-safe{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:2px 6px;font-size:12.5px;line-height:1.45;color:var(--fg-3)}
.ns2-safe svg.ic{width:16px;height:16px;color:var(--ok);margin-top:1px}
.ns2-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;position:sticky;bottom:calc(-18px - var(--safe-b,0px));background:var(--bg);padding:8px 0 4px;margin-top:2px}
.ns2-foot .btn{min-height:52px;border-radius:var(--r-pill);font:700 16px var(--font-body)}
.ns2-foot .btn.ghost{font-weight:600;color:var(--fg-2);padding:0 18px}
.ns2-foot .btn[disabled]{background:var(--sunk);border-color:var(--sunk);color:var(--fg-3);cursor:not-allowed}
.ns2-foot .cap{grid-column:1/-1;margin:0 4px;font:500 12px var(--font-mono);color:var(--fg-3)}
.ns2-full{display:grid;gap:10px;padding:12px;border-radius:var(--r-l);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}
.ns2-full>b{font:700 15.5px/1.3 var(--font-body);color:var(--fg)}
.ns2-full>p{margin:0;font-size:13.5px;line-height:1.45;color:var(--fg-2)}
.ns2-full ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.ns2-full li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:8px 10px;border-radius:var(--r-m);background:var(--surface);font-size:13.5px}
.ns2-full li .ns2-no{grid-row:span 2;align-self:start}
.ns2-full li small{font:500 11.5px var(--font-mono);color:var(--fg-3)}
/* question card in «Вопросы» */
.ns2-kind{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 9px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);font:600 12px var(--font-body)}
.ns2-kind svg.ic{width:14px;height:14px}
/* шторка: строка ввода общая (composer, голос → текст); своя кнопка «Отправить заявку», скрепки нет */
.ns2-say .composer{flex:1;min-width:0;background:none;box-shadow:none;border:0;outline:0}.ns2-say .composer textarea{border:0;box-shadow:none;background:none}.ns2-say .composer .snd,.ns2-say .composer .ib{display:none}
.ns2-say{display:flex;border-radius:var(--r-l);padding:4px 6px}
.q-card .ns2-from,.q-card .ns2-phrase,.q-card .ns2-lock{margin-top:10px}
/* DESIGN D-A01: рядом с меню (264) и «Фокусом» (392) места мало — считаем по ширине самого «Пульта», не окна:
   уже 1000 px — колонка плиток прячется, панель на всю ширину (назад — «Пульт ›» в крошках) */
.pp{container-type:inline-size}
@container (max-width:999px){.pp-split{grid-template-columns:minmax(0,1fr)}.pp-split>.pp-tiles{display:none}}
.wm-sheet .wm-y:focus:not(:focus-visible){box-shadow:none;outline:0}
.wm-sheet:focus{outline:0}

/* DESIGN D-A11/A13: устаревшие данные — состояние серым, минуты не бегут */
.ag-old .ag-st,.ag-old .ag-st em,.ag-old .ag-mem,.ag-old .ag-run,.ag-old .ag-note{background:var(--sunk)!important;color:var(--fg-3)!important;border-color:var(--line-2)!important}
.ag-old .ag-st i,.ag-old .ag-ic .sd,.ag-old .ag-mem .bar b{background:var(--line-2)!important}
/* DESIGN D-A19: «Сейчас» в карточке — с точкой состояния, без плашки; D-A18: «··· Ещё ›» на телефоне */
.ag-kv b.ag-kst{background:none!important;padding:0;min-height:0;font:700 14.5px var(--font-body);white-space:normal}
.ag-kv b.ag-kst.free,.ag-kv b.ag-kst.busy,.ag-kv b.ag-kst.bg,.ag-kv b.ag-kst.perm,.ag-kv b.ag-kst.off{color:var(--fg)}
.pp > .pp-upd{display:block;margin:-4px 0 10px}
.pp-more .ic{width:18px;height:18px}

/* ── «Требует внимания», выпуск 1 (макет BOLT-DESIGN дом7я-пульт-внимание, только смотреть) ── */
/* ── tile «Требует внимания» (pp-tile + this) ── */
.pp-tile.tv-tile .ti{background:var(--perm-bg);color:var(--perm)}
.pp-tile.tv-tile.ok .ti{background:var(--ok-bg);color:var(--ok)}
.pp-tile.tv-tile.stale .ti{background:var(--sunk);color:var(--fg-3)}

/* ── lane head ── */
.tv-only{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;margin:0 0 12px;border-radius:var(--r-m);background:var(--sunk);color:var(--fg-2);font:500 13.5px/1.4 var(--font-body)}
.tv-only svg.ic{width:19px;height:19px;color:var(--fg-3);margin-top:1px}
.tv-only b{color:var(--fg)}
.tv-sum{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.tv-sum span{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);font:600 12.5px var(--font-body);background:var(--sunk);color:var(--fg-2)}
.tv-sum b{font:700 13px var(--font-mono)}
.tv-sum .tv-sp{background:var(--perm-bg);color:var(--perm)}
.tv-sum .tv-sq{background:var(--run-bg);color:var(--run)}
.tv-sum .tv-sc{background:var(--crit-bg);color:var(--crit)}
.tv-sum .tv-sa{background:var(--warn-bg);color:var(--warn)}

/* ── row (one waiting window) ── */
.tv-list{display:grid;gap:10px;min-width:0}
.tv-r{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.tv-r.tv-amb{box-shadow:inset 4px 0 0 var(--s-appr)}
.tv-r.tv-red{box-shadow:inset 4px 0 0 var(--crit-solid);border-color:color-mix(in srgb,var(--crit) 35%,var(--line))}
.tv-r.tv-hl{outline:2px solid var(--accent);outline-offset:2px}
.tv-hd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 12px 0 14px}
.tv-hd .nw-ic{margin-top:0}
.tv-who{min-width:0;display:grid;gap:2px}
.tv-nm{font:700 14.5px/1.25 var(--font-body);overflow-wrap:break-word;min-width:0}
.tv-tk{font-size:12.5px;line-height:1.35;color:var(--fg-2);overflow-wrap:break-word;min-width:0}
.tv-tk em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3);margin-right:4px}
.tv-tk.tv-none{color:var(--fg-3)}
.tv-age{font:600 12px var(--font-mono);padding:3px 9px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);white-space:nowrap}
@container (max-width:420px){.tv-age{white-space:normal;max-width:8.5em;text-align:right;border-radius:var(--r-m)}}
.tv-age.tv-amb{background:var(--warn-bg);color:var(--warn)}
.tv-age.tv-red{background:var(--crit-bg);color:var(--crit)}
.tv-bd{display:grid;gap:8px;padding:10px 14px 12px;min-width:0}
.tv-kl{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tv-k{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px 0 7px;border-radius:var(--r-pill);font:700 12px var(--font-body);white-space:nowrap}
.tv-k i{width:8px;height:8px;border-radius:50%;flex:none;background:currentColor}
.tv-k.tv-perm{background:var(--perm-bg);color:var(--perm)}
.tv-k.tv-q{background:var(--run-bg);color:var(--run)}
.tv-k.tv-oth{background:var(--sunk);color:var(--fg-2)}
.tv-tool{font:600 12px var(--font-body);color:var(--fg-3)}
.tv-tool code{font:600 12px var(--font-mono);color:var(--fg-2)}
.tv-cmd{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:8px 10px;border-radius:var(--r-m);background:var(--sunk);font:500 13px/1.45 var(--font-mono);color:var(--fg);min-width:0}
.tv-cmd > i{font-style:normal;color:var(--fg-3);user-select:none}
.tv-cmd > svg.ic{width:16px;height:16px;color:var(--fg-3);margin-top:2px}
.tv-cmd > span{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.tv-cmd.tv-plan{font:500 13.5px/1.4 var(--font-body)}
.tv-cmd .tv-rp{color:var(--fg-3)}
.tv-desc{font-size:12.5px;line-height:1.4;color:var(--fg-3);overflow-wrap:anywhere;padding:0 2px}
.tv-q{font:600 14.5px/1.35 var(--font-body);overflow-wrap:anywhere}
.tv-opts{margin:0;padding:0 2px;list-style:none;display:grid;gap:3px;font-size:13.5px;line-height:1.35;color:var(--fg-2)}
.tv-opts li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px;overflow-wrap:anywhere}
.tv-opts li b{font:600 12.5px var(--font-mono);color:var(--fg-3)}
.tv-ol{font:700 11.5px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);padding:0 2px}
.tv-why{display:flex;align-items:center;gap:7px;font:600 12.5px/1.35 var(--font-body);color:var(--warn)}
.tv-why svg.ic{width:16px;height:16px}
.tv-srv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:8px 10px;border-radius:var(--r-m);background:var(--crit-bg);color:var(--crit);font:600 13px/1.4 var(--font-body)}
.tv-srv svg.ic{width:17px;height:17px;margin-top:1px}
/* the one action of release 1: go to the window's card in «Агенты» */
.tv-go{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:48px;padding:6px 12px 6px 14px;border:0;border-top:1px solid var(--line);background:color-mix(in srgb,var(--sunk) 45%,var(--surface));color:var(--fg);font:600 13.5px/1.3 var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box}
.tv-go:hover{background:var(--surface-2)}
.tv-go > svg.ic{color:var(--fg-3)}
.tv-go span{min-width:0;overflow-wrap:anywhere}
.tv-go span b{font-weight:700}
.tv-go small{font:600 12px var(--font-body);color:var(--fg-3);white-space:nowrap;display:inline-flex;align-items:center;gap:2px}
.tv-go small svg.ic{width:16px;height:16px}
.tv-go small u{text-decoration:none}
.tv-more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;border:1px dashed var(--line-2);border-radius:var(--r-l);background:none;color:var(--fg-2);font:600 13.5px var(--font-body);cursor:pointer}
.tv-more svg.ic{width:16px;height:16px}
.tv-more em{font:500 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.tv-legend{display:grid;gap:6px;margin-top:14px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.tv-legend b{color:var(--fg-2)}
/* empty */
.tv-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:26px 16px;margin:0 0 14px;border-radius:var(--r-l);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg)}
.tv-empty .tv-o{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--s-done);color:var(--surface)}
.tv-empty .tv-o svg.ic{width:28px;height:28px;stroke-width:2.4}
.tv-empty b{font:700 18px/1.25 var(--font-display);color:var(--ok)}
.tv-empty span{font-size:13.5px;color:var(--fg-2);max-width:44ch}
/* stale: rows keep their text, live colours go grey, times frozen */
.tv-old .tv-r{background:var(--sunk);border-style:dashed;box-shadow:none;border-color:var(--line-2)}
.tv-old .tv-hd{grid-template-columns:auto minmax(0,1fr)}
.tv-old .tv-hd .tv-age{grid-column:2;justify-self:start}
.tv-sum.tv-gone span{background:var(--sunk);color:var(--fg-3)}
.tv-old .tv-age,.tv-old .tv-k{background:var(--surface);color:var(--fg-3)}
.tv-old .nw-ic{filter:grayscale(1);opacity:.7}
.tv-old .nw-sd{background:var(--line-2)!important}
.tv-old .tv-cmd{background:var(--surface);color:var(--fg-2)}
.tv-old .tv-go{background:var(--sunk)}
/* «Агенты» card + its new jump line (links screen) */
.tv-agw{margin:0 0 14px}
.tv-agw .ag-row{border-radius:var(--r-l) var(--r-l) 0 0}
.tv-jump{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-l) var(--r-l);background:var(--perm-bg);color:var(--perm);font:700 13px/1.3 var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box}
.tv-jump span{min-width:0;overflow-wrap:anywhere}
.ag-list .tv-agw{margin:0}

/* «Пульт» шаг 2 «💬 Написать» */
.nap-roww{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:start}
.nap-btn.mini{width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;display:grid;place-items:center;border-radius:50%}
.nap-btn.primary{width:100%;min-height:var(--tap);margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px}
.nap-who{display:flex;gap:10px;align-items:center;margin:4px 0 8px}
.nap-who b{display:block;overflow-wrap:anywhere}
.nap-srv{margin:4px 0 8px;padding:8px 10px;border-radius:var(--r-m);background:var(--warn-bg,var(--sunk));color:var(--warn);font-size:13px;font-weight:600}

/* ── Скрипты → Расписание (Дом №1591; макет BOLT-DESIGN дом7я-пульт-расписание/maket.src.html, строки 30–179) ── */
/* ── segment «Все скрипты | Расписание» (top of the «Скрипты» panel) ── */
.rs-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 12px;border-radius:var(--r-pill);background:var(--sunk);max-width:440px}
.rs-seg button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:var(--r-pill);background:none;color:var(--fg-2);font:700 14px var(--font-body);cursor:pointer}
.rs-seg button em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.rs-seg button.rs-on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-1)}
.rs-seg button svg.ic{width:17px;height:17px}

/* ── summary line ── */
.rs-sum{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.rs-sum span{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);font:600 12.5px var(--font-body);background:var(--sunk);color:var(--fg-2)}
.rs-sum b{font:700 13px var(--font-mono)}
.rs-sum .rs-sc{background:var(--crit-bg);color:var(--crit)}
.rs-sum .rs-sw{background:var(--warn-bg);color:var(--warn)}
.rs-sum .rs-sn{background:var(--ok-bg);color:var(--ok)}
.rs-sum.rs-gone span{background:var(--sunk);color:var(--fg-3)}

/* ── controls: filter pills (APP's .wm-pills) + order switch ── */
.rs-ctl{display:grid;gap:8px;margin:0 0 4px}
.rs-ctl .wm-pills{margin-bottom:0}
.rs-ord{display:flex;align-items:center;gap:6px;font:600 12.5px var(--font-body);color:var(--fg-3)}
.rs-ord button{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:none;color:var(--fg-2);font:600 13px var(--font-body);cursor:pointer}
.rs-ord button.rs-on{border-color:var(--fg-2);color:var(--fg);background:var(--surface)}
.rs-ord button svg.ic{width:16px;height:16px}

/* ── section heads ── */
.rs-sec{display:flex;align-items:baseline;gap:8px;margin:18px 2px 8px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}
.rs-sec em{font:600 12px var(--font-mono);font-style:normal;letter-spacing:0;color:var(--fg-2)}
.rs-sec small{font:500 12px var(--font-body);letter-spacing:0;text-transform:none;color:var(--fg-3)}
.rs-sec.rs-bad{color:var(--crit)}.rs-sec.rs-bad em{color:var(--crit)}
.rs-own{display:flex;align-items:center;gap:8px;margin:18px 2px 8px;font:700 14px/1.3 var(--font-body);color:var(--fg);overflow-wrap:anywhere}
.rs-own i{width:10px;height:10px;border-radius:50%;flex:none;background:var(--tm)}
.rs-own em{font:600 12px var(--font-mono);font-style:normal;color:var(--fg-3)}
.rs-own .rs-ob{font:600 12px var(--font-body);color:var(--crit);background:var(--crit-bg);padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap}

/* ── one scheduled run ── */
.rs-list{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.rs-r{display:grid;grid-template-columns:62px minmax(0,1fr) auto;grid-template-areas:"tm bd ch" "tm ls ch";column-gap:12px;row-gap:5px;align-items:start;width:100%;padding:12px 10px 12px 12px;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;min-height:44px}
.rs-r:first-child{border-top:0}
.rs-r:hover{background:var(--surface-2)}
.rs-tm{grid-area:tm;display:grid;gap:2px;justify-items:start;padding-top:1px}
.rs-tm b{font:700 15.5px/1.15 var(--font-mono);color:var(--fg)}
.rs-tm small{font:500 11.5px/1.25 var(--font-body);color:var(--fg-3)}
.rs-tm.rs-every b{font:600 12px/1.25 var(--font-body);color:var(--fg-2)}
.rs-bd{grid-area:bd;min-width:0;display:grid;gap:3px}
.rs-t{font:600 14.5px/1.3 var(--font-body);overflow-wrap:anywhere}
.rs-tech{font:500 12px/1.3 var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere}
.rs-how{font-size:12.5px;line-height:1.35;color:var(--fg-2);overflow-wrap:anywhere}
.rs-how b{font-weight:600;color:var(--fg)}
.rs-how em{font-weight:600;font-style:normal;color:var(--fg-2)}
.rs-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}
.rs-k{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px;border-radius:var(--r-pill);font:700 11.5px var(--font-body);background:var(--sunk);color:var(--fg-2);white-space:nowrap}
.rs-k svg.ic{width:13px;height:13px}
.rs-k.rs-kr{background:var(--info-bg);color:var(--info)}
.rs-k.rs-ks{background:var(--warn-bg);color:var(--warn)}
.rs-who{display:inline-flex;align-items:center;gap:6px;font:600 12px/1.3 var(--font-body);color:var(--fg-2);min-width:0;overflow-wrap:anywhere}
.rs-who i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--tm)}
.rs-ls{grid-area:ls;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:start;font:600 12.5px/1.35 var(--font-body);color:var(--fg-2);min-width:0}
.rs-ls svg.ic{width:15px;height:15px;margin-top:1px}
.rs-ls span{min-width:0;overflow-wrap:anywhere}
.rs-ls.rs-ok svg.ic{color:var(--ok)}
.rs-ls.rs-er{color:var(--crit)}
.rs-ls.rs-ms{color:var(--warn)}
.rs-ls.rs-nv,.rs-ls.rs-of{color:var(--fg-3)}
.rs-frag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:start;margin-top:2px;font:600 12.5px/1.35 var(--font-body);color:var(--warn)}
.rs-frag svg.ic{width:15px;height:15px;margin-top:1px}
.rs-ch{grid-area:ch;align-self:center;color:var(--fg-3)}
/* states */
.rs-r.rs-err{box-shadow:inset 4px 0 0 var(--crit-solid);background:color-mix(in srgb,var(--crit-bg) 45%,var(--surface))}
.rs-r.rs-off .rs-t,.rs-r.rs-off .rs-tm b{color:var(--fg-3)}
.rs-r.rs-off{background:color-mix(in srgb,var(--sunk) 55%,var(--surface))}
.rs-r.rs-lost .rs-t{text-decoration:line-through;text-decoration-color:var(--fg-3)}
.rs-r.rs-hl{outline:2px solid var(--accent);outline-offset:-2px}
/* PC / wide panel: last run gets its own column */
.pp-panel{container-type:inline-size}
@container (min-width:700px){
  .rs-r{grid-template-columns:76px minmax(0,1fr) minmax(0,250px) auto;grid-template-areas:"tm bd ls ch";column-gap:16px;padding:12px 12px 12px 16px}
  .rs-ls{padding-top:2px}
  .rs-fr{grid-template-columns:110px minmax(0,1fr) minmax(0,190px) auto}
}

/* ── «Постоянно» — runs every 1–20 min, folded into one card ── */
.rs-freq{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.rs-fh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:56px;padding:10px 12px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.rs-fh .rs-fi{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok)}
.rs-fh b{display:block;font:700 14.5px/1.3 var(--font-body)}
.rs-fh small{display:block;font-size:12.5px;line-height:1.35;color:var(--fg-2)}
.rs-fh > svg.ic{color:var(--fg-3)}
.rs-fr{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:48px;padding:8px 12px;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.rs-fr:hover{background:var(--surface-2)}
.rs-fr .rs-fe{font:600 12px/1.3 var(--font-body);color:var(--fg-2)}
.rs-fr .rs-fn{min-width:0;display:grid;gap:1px}
.rs-fr .rs-fn b{font:600 13.5px/1.3 var(--font-body);overflow-wrap:anywhere}
.rs-fr .rs-fn small{font:500 11.5px var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere}
.rs-fr .rs-fl{font:600 12px var(--font-mono);color:var(--fg-3);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.rs-fr .rs-fl svg.ic{width:14px;height:14px;color:var(--ok)}
.rs-fr .rs-fw{display:none}
@container (min-width:700px){.rs-fr .rs-fw{display:inline-flex}.rs-fr{grid-template-columns:110px minmax(0,1fr) minmax(0,240px) auto}}

/* ── folded «Ubuntu» group ── */
.rs-fold{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:56px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:var(--r-l);background:none;color:var(--fg-2);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.rs-fold .rs-fi{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-3)}
.rs-fold b{display:block;font:700 14px/1.3 var(--font-body);color:var(--fg)}
.rs-fold small{display:block;font-size:12.5px;line-height:1.35;color:var(--fg-3)}

/* ── notes, empty, stale ── */
.rs-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;margin:12px 0 0;border-radius:var(--r-m);font:500 13.5px/1.4 var(--font-body)}
.rs-note svg.ic{width:19px;height:19px;margin-top:1px}
.rs-note b{display:block;font-weight:700}
.rs-note.rs-nw{background:var(--warn-bg);color:var(--fg-2)}.rs-note.rs-nw svg.ic,.rs-note.rs-nw b{color:var(--warn)}
.rs-note.rs-nc{background:var(--crit-bg);color:var(--fg-2)}.rs-note.rs-nc svg.ic,.rs-note.rs-nc b{color:var(--crit)}
.rs-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:26px 16px;margin:14px 0;border-radius:var(--r-l);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg)}
.rs-empty .rs-o{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--s-done);color:var(--surface)}
.rs-empty .rs-o svg.ic{width:28px;height:28px;stroke-width:2.4}
.rs-empty b{font:700 18px/1.25 var(--font-display);color:var(--ok)}
.rs-empty span{font-size:13.5px;color:var(--fg-2);max-width:44ch}
.rs-old .rs-list,.rs-old .rs-freq{border-style:dashed;background:var(--sunk)}
.rs-old .rs-r,.rs-old .rs-r.rs-err{box-shadow:none;background:none}
.rs-old .rs-tm small,.rs-old .rs-fl{visibility:hidden}
.rs-old .rs-ls,.rs-old .rs-ls.rs-er,.rs-old .rs-k,.rs-old .rs-frag{color:var(--fg-3)}
.rs-old .rs-ls svg.ic,.rs-old .rs-fh .rs-fi{color:var(--fg-3)}
.rs-old .rs-k,.rs-old .rs-fh .rs-fi{background:var(--surface)}
.rs-old .rs-who i{filter:grayscale(1)}
.rs-legend{display:grid;gap:6px;margin-top:16px;padding:10px 12px;border-radius:var(--r-l);border:1px dashed var(--line-2);font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.rs-legend b{color:var(--fg-2)}

/* ── detail sheet (inside APP's .wm-sheet) ── */
.rs-sh .rs-sht{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}
.rs-sh .rs-sht code{font:500 12.5px var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere}
.rs-kv{display:grid;grid-template-columns:minmax(0,1fr);margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.rs-kv > div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:8px 12px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.4}
.rs-kv > div:first-child{border-top:0}
.rs-kv dt{color:var(--fg-3);font-weight:600;font-size:12.5px;padding-top:1px}
.rs-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.rs-kv dd code{font:500 12.5px var(--font-mono);color:var(--fg-2)}
.rs-kv dd .rs-rp{color:var(--fg-3)}
.rs-kv dd small{display:block;color:var(--fg-3);font-size:12px}
.rs-runs{margin:0 0 14px;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.rs-runs li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);font-size:13.5px}
.rs-runs li:first-child{border-top:0}
.rs-runs li svg.ic{width:16px;height:16px}
.rs-runs li b{font:600 12.5px var(--font-mono);color:var(--fg-2)}
.rs-runs li span{min-width:0;overflow-wrap:anywhere}
.rs-runs li small{font:500 12px var(--font-mono);color:var(--fg-3);white-space:nowrap}
.rs-runs li.rs-ok svg.ic{color:var(--ok)}
.rs-runs li.rs-er{background:var(--crit-bg)}.rs-runs li.rs-er svg.ic,.rs-runs li.rs-er span{color:var(--crit)}
.rs-runs li.rs-ms svg.ic,.rs-runs li.rs-ms span{color:var(--warn)}
.rs-runs li.rs-nv{color:var(--fg-3)}
.rs-sh .wm-act{grid-template-columns:minmax(0,1fr) auto}
.rs-sh .wm-act button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}
.rs-sh .wm-act .rs-go{background:var(--surface);color:var(--fg)}
.rs-nd{font:italic 500 12.5px/1.3 var(--font-body);color:var(--fg-3)}
.pp-r.rs-hl{outline:2px solid var(--accent);outline-offset:-2px}
/* ── конец «Расписания» ── */

/* ── Разборщик (D2, Дом №1512; макет BOLT-DESIGN дом7я-пульт-разборщик/maket.src.html; «.pc» макета = @media 900px) ── */
/* ── panel grid: 1 column phone, 2 on PC ── */
.rz2-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.rz2-wide{grid-column:1/-1;min-width:0}
.rz2-sec{margin:6px 2px -4px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rz2-sec em{font-style:normal;font-family:var(--font-mono);color:var(--fg-2);text-transform:none;letter-spacing:0}

/* ── hero: is it on, what colour, when next ── */
.rz2-hero{display:grid;gap:12px;padding:14px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden;min-width:0}
.rz2-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rz2-st,var(--line-2))}
.rz2-hero.rz2-ok{--rz2-st:var(--s-done)}
.rz2-hero.rz2-warn{--rz2-st:var(--s-appr)}
.rz2-hero.rz2-crit{--rz2-st:var(--crit-solid);background:var(--crit-bg);border-color:color-mix(in srgb,var(--crit) 40%,transparent)}
.rz2-hero.rz2-grey{background:var(--sunk);border-style:dashed}
.rz2-hh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.rz2-disk{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2)}
.rz2-disk svg.ic{width:26px;height:26px;stroke-width:2.2}
.rz2-ok .rz2-disk{background:var(--s-done);color:var(--surface)}
.rz2-warn .rz2-disk{background:var(--s-appr);color:#1D2029}
.rz2-crit .rz2-disk{background:var(--crit-solid);color:#fff}
.rz2-hh b{display:block;font:700 20px/1.2 var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.rz2-ok .rz2-hh b{color:var(--ok)}.rz2-warn .rz2-hh b{color:var(--warn)}.rz2-crit .rz2-hh b{color:var(--crit)}.rz2-grey .rz2-hh b{color:var(--fg-2)}
.rz2-hh span{display:block;font:500 12.5px var(--font-mono);color:var(--fg-2);margin-top:3px;overflow-wrap:anywhere}
.rz2-hh .rz2-disk{display:grid;margin-top:0}   /* Дом №2238: то же у «Разборщика» — правило подписи делало круг блоком, значок в углу */
.rz2-facts{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.rz2-facts li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13.5px;line-height:1.4;color:var(--fg-2)}
.rz2-facts li svg.ic{width:17px;height:17px;margin-top:1px;color:var(--fg-3)}
.rz2-facts li b{color:var(--fg);font-weight:700}
.rz2-facts li.rz2-bad{color:var(--crit)}.rz2-facts li.rz2-bad svg.ic{color:var(--crit)}
.rz2-facts li.rz2-amb{color:var(--warn)}.rz2-facts li.rz2-amb svg.ic{color:var(--warn)}
.rz2-tm{font:600 12.5px var(--font-mono);white-space:nowrap}
.rz2-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);font:600 11.5px var(--font-mono);white-space:nowrap;vertical-align:1px}
.rz2-chip.rz2-on{background:var(--ok-bg);color:var(--ok)}
.rz2-chip.rz2-off{background:var(--crit-bg);color:var(--crit)}
.rz2-chip.rz2-hold{background:var(--sunk);color:var(--fg-2)}
.rz2-holdln{color:var(--fg-2)}
.rz2-rule{font-size:12px;line-height:1.4;color:var(--fg-3);border-top:1px dashed var(--line-2);padding-top:9px}

/* ── last run: notebook pass + terminal pass ── */
.rz2-last{display:grid;gap:10px;min-width:0}
.rz2-lh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--fg-2)}
.rz2-lh b{font:700 14.5px var(--font-body);color:var(--fg)}
.rz2-two{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.rz2-half{display:grid;gap:8px;padding:10px 12px;border-radius:var(--r-m);background:var(--sunk);min-width:0}
.rz2-half > span{display:flex;align-items:center;gap:6px;font:700 13px var(--font-body);color:var(--fg)}
.rz2-half > span small{margin-left:auto;font:500 11.5px var(--font-mono);color:var(--fg-3)}
.rz2-half > span svg.ic{width:16px;height:16px;color:var(--fg-3)}
.rz2-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rz2-nums div{display:grid;gap:1px;min-width:0}
.rz2-nums b{font:700 20px/1.1 var(--font-display)}
.rz2-nums small{font-size:11.5px;color:var(--fg-3);line-height:1.25}
.rz2-nums .rz2-e b{color:var(--crit)}
.rz2-nums .rz2-z b{color:var(--ok)}

/* ── last 10 runs ── */
.rz2-runs{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.rz2-rh{display:none}
.rz2-run{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"w s" "k k";gap:4px 10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line);min-height:44px;box-sizing:border-box;width:100%;background:none;border-left:0;border-right:0;border-bottom:0;font:inherit;color:inherit;text-align:left}
.rz2-run:first-child,.rz2-rh + .rz2-run{border-top:0}
.rz2-w{grid-area:w;font:600 13px var(--font-mono);color:var(--fg)}
.rz2-w small{font:500 12px var(--font-body);color:var(--fg-3);margin-left:6px}
.rz2-k{grid-area:k;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12.5px;color:var(--fg-2);min-width:0}
.rz2-k > span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.rz2-k svg.ic{width:15px;height:15px;color:var(--fg-3)}
.rz2-k b{font:700 12.5px var(--font-mono);color:var(--fg)}
.rz2-s{grid-area:s;justify-self:end;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);font:700 12px var(--font-body);white-space:nowrap;background:var(--ok-bg);color:var(--ok)}
.rz2-s svg.ic{width:14px;height:14px}
.rz2-run.rz2-bad{background:color-mix(in srgb,var(--crit-bg) 60%,transparent);box-shadow:inset 4px 0 0 var(--crit-solid);cursor:pointer}
.rz2-run.rz2-bad .rz2-s{background:var(--crit-bg);color:var(--crit)}
.rz2-run.rz2-bad .rz2-w::after{content:" ›";font:700 14px var(--font-body);color:var(--crit)}
.rz2-run.rz2-open .rz2-w::after{content:" ⌃"}
.rz2-errtx{padding:10px 12px 12px 16px;border-top:1px dashed color-mix(in srgb,var(--crit) 40%,transparent);background:color-mix(in srgb,var(--crit-bg) 60%,transparent);box-shadow:inset 4px 0 0 var(--crit-solid);display:grid;gap:6px;font-size:13px;color:var(--fg-2)}
.rz2-errtx code{display:block;padding:8px 10px;border-radius:var(--r-s);background:var(--sunk);color:var(--crit);font:600 12.5px var(--font-mono);overflow-wrap:anywhere;white-space:pre-wrap}
.rz2-gap{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px dashed var(--line-2);background:var(--sunk);font-size:12.5px;color:var(--fg-3)}
.rz2-gap svg.ic{width:16px;height:16px;color:var(--crit)}
.rz2-gap b{color:var(--crit);font-weight:700}
.rz2-tail{padding:9px 12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--fg-3);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.rz2-tail b{font:600 12.5px var(--font-mono);color:var(--fg-2)}
/* PC: the same rows become a table */

/* ── waiting proposals by type ── */
.rz2-types{display:grid;gap:4px;min-width:0}
.rz2-ty{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:6px 0}
.rz2-ty svg.ic{width:17px;height:17px;color:var(--fg-3)}
.rz2-ty > span{font-size:13.5px;color:var(--fg);min-width:0;overflow-wrap:anywhere}
.rz2-ty > b{font:700 15px var(--font-mono);text-align:right}
.rz2-ty > i{grid-column:2/-1;display:block;height:8px;border-radius:4px;background:var(--sunk);overflow:hidden}
.rz2-ty > i u{display:block;height:100%;border-radius:4px;background:var(--accent)}
.rz2-ty.rz2-qq > i u{background:var(--rz2-q)}
.rz2-ty.rz2-qq > span small{display:block;font-size:12px;color:var(--fg-3)}
.rz2-split{margin:4px 0 2px;border-top:1px dashed var(--line-2)}
.rz2-sum{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rz2-sum b{font:700 13.5px var(--font-mono);color:var(--fg)}
.rz2-sum .rz2-eq{font:700 15px var(--font-mono);color:var(--fg)}
.rz2-old{font-size:12.5px;color:var(--fg-3)}
.rz2-go{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:6px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:600 14px var(--font-body);cursor:pointer;width:100%}
.rz2-go svg.ic{width:17px;height:17px}

/* ── not sorted yet: notebook vs terminal ── */
.rz2-pair{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.rz2-bk{display:grid;gap:4px;padding:12px 14px 12px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden;min-width:0}
.rz2-bk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rz2-st,transparent)}
.rz2-bk.rz2-hot{--rz2-st:var(--crit-solid)}
.rz2-bk > span{display:flex;align-items:center;gap:6px;font:700 14px var(--font-body)}
.rz2-bk > span svg.ic{width:16px;height:16px;color:var(--fg-3)}
.rz2-bk > b{font:700 28px/1.1 var(--font-display)}
.rz2-bk.rz2-hot > b{color:var(--crit)}
.rz2-bk small{font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.rz2-bk.rz2-info{background:var(--sunk);border-style:dashed}
.rz2-bk.rz2-info > b{font-size:22px;color:var(--fg-2)}

/* ── what piles up while it is off ── */
.rz2-pile{display:grid;gap:12px;padding:14px 16px;border-radius:var(--r-l);border:1px solid color-mix(in srgb,var(--crit) 35%,transparent);background:var(--surface);min-width:0}
.rz2-pile > b{font:700 15.5px var(--font-body)}
.rz2-pw{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.rz2-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end;height:118px}
.rz2-bars div{display:grid;gap:3px;justify-items:center;align-content:end;height:100%;min-width:0}
.rz2-bars i{display:block;width:72%;max-width:42px;border-radius:6px 6px 2px 2px;background:var(--pz-bar)}
.rz2-bars i.rz2-now{background:var(--crit-solid)}
.rz2-bars em{font:700 12px var(--font-mono);font-style:normal;color:var(--fg-2)}
.rz2-bars small{font:600 11px var(--font-mono);color:var(--fg-3)}
.rz2-pl{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.rz2-pl li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:baseline;font-size:13px;color:var(--fg-2);line-height:1.35}
.rz2-pl li b{font:700 17px var(--font-mono);color:var(--fg);text-align:right;min-width:52px}
.rz2-pl li.rz2-r b{color:var(--crit)}
.rz2-pl li.rz2-i b{color:var(--fg-3)}

/* ── Hermes log: not connected (never an empty or fake list) ── */
.rz2-none{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border-radius:var(--r-l);border:1.5px dashed var(--line-2);background:var(--sunk);font-size:13px;color:var(--fg-2);min-width:0}
.rz2-none svg.ic{width:22px;height:22px;color:var(--fg-3)}
.rz2-none b{display:block;font:700 14.5px var(--font-body);color:var(--fg)}

/* ── scripts and timers: names + paths, read-only, no buttons ── */
.rz2-scr{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.rz2-sr{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;padding:10px 12px;border-top:1px solid var(--line);align-items:start}
.rz2-sr:first-child{border-top:0}
.rz2-sr > i{grid-row:span 3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2);font-style:normal}
.rz2-sr > i svg.ic{width:18px;height:18px}
.rz2-sr > b{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:600 13.5px var(--font-mono);color:var(--fg);overflow-wrap:anywhere;min-width:0}
.rz2-sr > span{font-size:12.5px;color:var(--fg-2);line-height:1.35}
.rz2-sr > code{font:500 11.5px var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere;line-height:1.4}

/* ── who owns it (agent chips like «Агенты») ── */
.rz2-who{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.rz2-ag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);min-width:0}
.rz2-ic{position:relative;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--tm);color:#1D2029;border:1.5px solid var(--tm)}
.rz2-ic svg.ic{width:20px;height:20px;stroke-width:1.9}
.rz2-ic::after{content:"";position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:14px;height:5px;border-radius:3px;background:var(--fg)}
.rz2-ag b{display:block;font:700 13.5px var(--font-body);overflow-wrap:anywhere}
.rz2-ag small{display:block;font-size:12.5px;color:var(--fg-3);line-height:1.35}

/* ── stale: everything grey, numbers marked «на ЧЧ:ММ» ── */
.rz2-stale .rz2-nums b,.rz2-stale .rz2-bk > b,.rz2-stale .rz2-ty > b,.rz2-stale .rz2-sum b,.rz2-stale .rz2-k b,.rz2-stale .rz2-w{color:var(--fg-3)!important}
.rz2-stale .rz2-ty > i u{background:var(--line-2)!important}
.rz2-stale .rz2-bk,.rz2-stale .rz2-runs,.rz2-stale .rz2-last-c{background:var(--sunk);border-style:dashed;--rz2-st:var(--line-2)}
.rz2-stale .rz2-s{background:var(--sunk)!important;color:var(--fg-3)!important}
.rz2-stale .rz2-run.rz2-bad{background:none;box-shadow:inset 4px 0 0 var(--line-2)}
.rz2-stale .rz2-gap b,.rz2-stale .rz2-gap svg.ic,.rz2-stale .rz2-run.rz2-bad .rz2-w::after{color:var(--fg-3)}
.rz2-at{font:600 11.5px var(--font-mono);color:var(--fg-3);text-transform:none;letter-spacing:0;padding:1px 7px;border-radius:var(--r-pill);border:1px dashed var(--line-2)}

/* ── no data: «—» + reason, never 0 ── */
.rz2-dash{font:700 26px/1 var(--font-display);color:var(--fg-3)}
.rz2-why{font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.rz2-why b{color:var(--fg-2)}
.rz2-emp{display:grid;justify-items:center;gap:6px;padding:20px 14px;text-align:center;font-size:13px;color:var(--fg-3)}
.rz2-emp svg.ic{width:26px;height:26px}
.rz2-emp b{font:700 15px var(--font-body);color:var(--fg-2)}
@media (min-width:900px){
.rz2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rz2-rh{display:grid;grid-template-columns:118px minmax(0,1fr) 120px 74px 80px 104px;gap:10px;padding:8px 12px;background:var(--sunk);font:700 11.5px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3)}
.rz2-run{grid-template-columns:118px minmax(0,1fr) 120px 74px 80px 104px;grid-template-areas:none;gap:10px}
.rz2-run > *{grid-area:auto}
.rz2-k{display:contents}
.rz2-k > span{font-size:13px}
.rz2-w small{display:none}
.rz2-pw{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end}
.rz2-scr{grid-template-columns:repeat(2,minmax(0,1fr))}
.rz2-sr{border-right:1px solid var(--line)}
.rz2-sr:nth-child(2){border-top:0}
.rz2-sr:nth-child(2n){border-right:0}
.rz2-who{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899.98px){
.rz2-grid > *{order:4}
.rz2-grid > .rz2-o1{order:1}
.rz2-grid > .rz2-pile{order:2}
.rz2-grid > .rz2-last-w{order:3}
}
@media (max-width:420px){.rz2-nums{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}}
/* ── конец «Разборщика» ── */

/* ── D9 «Настройки системы» (Дом №606), макет BOLT-DESIGN дом7я-пульт-настройки/: ns-* как в макете; «.pc» макета →
   ширина самой панели (@container, как P1-H02), не окна: рядом с «Фокусом» панель узкая — одна колонка ── */
/* ── panel grid: 1 column phone, 2 on PC ── */
.ns-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.ns-wide{grid-column:1/-1;min-width:0}
.ns-col{display:grid;gap:12px;align-content:start;min-width:0}
.ns-sec{margin:6px 2px -4px;font:700 12px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ns-sec em{font-style:normal;font-family:var(--font-mono);color:var(--fg-2);text-transform:none;letter-spacing:0}

/* ── status card (same build as rz2-hero) ── */
.ns-hero{display:grid;gap:12px;padding:14px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden;min-width:0}
.ns-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--ns-st,var(--line-2))}
.ns-hero.ns-ok{--ns-st:var(--s-done)}
.ns-hero.ns-warn{--ns-st:var(--s-appr)}
.ns-hero.ns-grey{background:var(--sunk);border-style:dashed}
.ns-hh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.ns-disk{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2)}
.ns-disk svg.ic{width:26px;height:26px;stroke-width:2.2}
.ns-ok .ns-disk{background:var(--s-done);color:var(--surface)}
.ns-warn .ns-disk{background:var(--s-appr);color:#1D2029}
.ns-grey .ns-disk{background:var(--surface)}
.ns-hh b{display:block;font:700 20px/1.2 var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.ns-ok .ns-hh b{color:var(--ok)}.ns-warn .ns-hh b{color:var(--warn)}.ns-grey .ns-hh b{color:var(--fg-2)}
.ns-hh span{display:block;font:500 12.5px var(--font-mono);color:var(--fg-2);margin-top:3px;overflow-wrap:anywhere}
.ns-hh .ns-disk{display:grid;margin-top:0}   /* Дом №2238: правило подписи выше задевало круг — значок уезжал в угол */
.ns-facts{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ns-facts li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13.5px;line-height:1.4;color:var(--fg-2)}
.ns-facts li svg.ic{width:17px;height:17px;margin-top:1px;color:var(--fg-3)}
.ns-facts li b{color:var(--fg);font-weight:700}
.ns-facts li.ns-amb{color:var(--warn)}.ns-facts li.ns-amb svg.ic{color:var(--warn)}
.ns-tm{font:600 12.5px var(--font-mono);white-space:nowrap}
.ns-p{font:500 12px var(--font-mono);color:var(--fg-2);overflow-wrap:anywhere}
.ns-rule{font-size:12px;line-height:1.4;color:var(--fg-3);border-top:1px dashed var(--line-2);padding-top:9px}

/* ── «восстановить отсюда нельзя» — a note, not a button ── */
.ns-rest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;border-radius:var(--r-l);border:1.5px dashed var(--line-2);background:var(--sunk);min-width:0}
.ns-rest > i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface);color:var(--fg-2);font-style:normal}
.ns-rest b{display:block;font:700 15px var(--font-body);margin-bottom:3px}
.ns-rest span{font-size:13px;line-height:1.45;color:var(--fg-2)}
.ns-rest code{font:600 12px var(--font-mono);color:var(--fg);overflow-wrap:anywhere}
.ns-open{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:0 14px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 13.5px var(--font-body);cursor:pointer;width:100%;text-align:left}
.ns-open span{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--fg);font-size:13.5px}
.ns-open svg.ic{width:17px;height:17px;color:var(--fg-3)}

/* ── tabs + search ── */
.ns-bar{display:grid;gap:10px;min-width:0}
.seg.ns-seg{display:grid;grid-template-columns:1fr 1fr;margin:0;width:100%;box-sizing:border-box}
.ns-seg button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 14px var(--font-body);cursor:pointer;white-space:nowrap}
.ns-seg button svg.ic{width:16px;height:16px}
.ns-find{display:flex;align-items:center;gap:4px;height:48px;border:1.5px solid var(--line-2);border-radius:999px;background:var(--surface);padding:0 4px 0 14px;min-width:0}
.ns-find > svg.ic{width:19px;height:19px;color:var(--fg-3)}
.ns-find input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;color:var(--fg);font:500 16px var(--font-body);padding:0 6px 0 8px}
.ns-find input::placeholder{color:var(--fg-3)}
.ns-find.ns-q{border-color:var(--fg-2);box-shadow:0 0 0 4px var(--accent-soft)}
.ns-clr{flex:0 0 44px;height:44px;border:0;background:none;display:grid;place-items:center;color:var(--fg-2);border-radius:50%;cursor:pointer}

/* ── tree ── */
.ns-tree{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.ns-th{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;justify-content:space-between;padding:10px 12px;background:var(--sunk);font-size:12.5px;color:var(--fg-3)}
.ns-th b{font:700 13.5px var(--font-body);color:var(--fg)}
.ns-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:9px 12px;border:0;border-top:1px solid var(--line);min-height:52px;box-sizing:border-box;width:100%;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;position:relative}
.ns-row > i{grid-row:span 2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2);font-style:normal}
.ns-row > i svg.ic{width:18px;height:18px}
.ns-row > b{font:600 14px/1.3 var(--font-body);overflow-wrap:anywhere;min-width:0}
.ns-row > small{grid-column:2;font-size:12px;color:var(--fg-3);line-height:1.35;overflow-wrap:anywhere;min-width:0}
.ns-row > em{grid-row:1/span 2;grid-column:3;font:500 11.5px var(--font-mono);font-style:normal;color:var(--fg-3);display:flex;align-items:center;gap:4px;white-space:nowrap}
.ns-row > em svg.ic{width:16px;height:16px}
.ns-row.ns-dir > i{background:var(--accent-soft);color:var(--accent-text)}
.ns-row.ns-key > i{background:var(--accent);color:var(--accent-ink)}
.ns-row.ns-opn{background:var(--surface-2)}
.ns-row.ns-opn > em svg.ic{transform:rotate(90deg)}
.ns-row.ns-sel{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}
.ns-row.ns-ch{padding-left:30px;min-height:48px;grid-template-columns:28px minmax(0,1fr) auto;background:color-mix(in srgb,var(--sunk) 45%,var(--surface))}
.ns-row.ns-ch > i{width:28px;height:28px;border-radius:8px}
.ns-row.ns-ch > i svg.ic{width:15px;height:15px}
.ns-row.ns-ch > b{font:500 13px var(--font-mono)}
/* hidden by the secret scanner: plain div, no open */
.ns-row.ns-hid{cursor:default}
.ns-row.ns-hid > i{background:var(--crit-bg);color:var(--crit)}
.ns-row.ns-hid > b{color:var(--fg-2)}
.ns-row.ns-hid > small{color:var(--crit)}
/* folder that failed to refresh (warn) */
.ns-row.ns-wf{box-shadow:inset 4px 0 0 var(--s-appr)}
.ns-row.ns-wf > small{color:var(--warn)}
.ns-skip{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 30px;border-top:1px dashed var(--line-2);font-size:12px;color:var(--fg-3);background:color-mix(in srgb,var(--sunk) 45%,var(--surface))}
.ns-skip svg.ic{width:15px;height:15px}
.ns-tag{display:inline-flex;align-items:center;padding:1px 7px;margin-left:6px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);font:600 11px var(--font-body);vertical-align:2px;white-space:nowrap}
.ns-tag.ns-y{background:var(--warn-bg);color:var(--warn)}
.ns-tag.ns-g{background:var(--ok-bg);color:var(--ok)}
.ns-tag.ns-r{background:var(--crit-bg);color:var(--crit)}

/* ── reader: Markdown as text, masked ── */
.ns-read{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0;align-content:start}
.ns-rh{display:grid;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--sunk)}
.ns-rh .ns-path{font:600 12.5px var(--font-mono);color:var(--fg-2);overflow-wrap:anywhere}
.ns-rh b{font:700 16px/1.25 var(--font-display);overflow-wrap:anywhere}
.ns-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font:500 12px var(--font-mono);color:var(--fg-3)}
.ns-meta span{display:inline-flex;align-items:center;gap:4px}
.ns-meta svg.ic{width:14px;height:14px}
.ns-md{padding:4px 16px 14px;font-size:14px;line-height:1.55;color:var(--fg);min-width:0;overflow-wrap:anywhere}
.ns-md h1{font:700 19px/1.25 var(--font-display);margin:12px 0 8px}
.ns-md h2{font:700 15.5px/1.3 var(--font-display);margin:16px 0 6px}
.ns-md p{margin:8px 0}
.ns-md blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid var(--line-2);color:var(--fg-2);background:var(--sunk);border-radius:0 var(--r-s) var(--r-s) 0}
.ns-md code{font:500 12.5px var(--font-mono);padding:1px 5px;border-radius:5px;background:var(--sunk)}
.ns-md pre{margin:10px 0;padding:10px 12px;border-radius:var(--r-m);background:var(--sunk);overflow-x:auto;max-width:100%}
.ns-md pre code{padding:0;background:none;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ns-mask{display:inline-block;padding:0 6px;border-radius:5px;border:1px dashed var(--line-2);background:var(--sunk);color:var(--fg-3);font:700 12px var(--font-mono);letter-spacing:.08em;vertical-align:1px}
.ns-leg{display:grid;gap:6px;padding:10px 14px 12px;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3)}
.ns-leg > b{font:700 12px var(--font-body);letter-spacing:.04em;text-transform:uppercase}
.ns-leg ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.ns-leg li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.ns-lk{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ns-leg li code{font:500 11.5px var(--font-mono);color:var(--fg-2)}
.ns-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px 0 8px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 14px var(--font-body);cursor:pointer;justify-self:start}
.ns-act{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.ns-act button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:600 13.5px var(--font-body);cursor:pointer}
.ns-act button svg.ic{width:16px;height:16px}

/* ── search results ── */
.ns-res{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.ns-hit{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:3px 10px;align-items:start;padding:10px 12px;border:0;border-top:1px solid var(--line);min-height:52px;width:100%;box-sizing:border-box;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.ns-hit:first-child{border-top:0}
.ns-hit > i{grid-row:span 2;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2);font-style:normal}
.ns-hit > i svg.ic{width:15px;height:15px}
.ns-hit > b{font:600 13px var(--font-mono);overflow-wrap:anywhere;min-width:0}
.ns-hit > em{grid-row:span 2;font-style:normal;color:var(--fg-3);align-self:center}
.ns-hit > em svg.ic{width:16px;height:16px}
.ns-hit > span{grid-column:2;font-size:13px;line-height:1.45;color:var(--fg-2);overflow-wrap:anywhere;min-width:0}
.ns-hit mark{background:var(--accent-soft);color:var(--fg);border-radius:3px;padding:0 2px;font-weight:700}
.ns-hit.ns-hdir > i{background:var(--accent-soft);color:var(--accent-text)}
.ns-more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-top:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:600 13.5px var(--font-body);cursor:pointer;width:100%}
.ns-note{padding:9px 12px;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--fg-3);display:flex;gap:8px;align-items:center}
.ns-note svg.ic{width:15px;height:15px}

/* ── «Команда» page ── */
.ns-list{display:grid;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden;min-width:0}
.ns-gh{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--sunk);border-top:1px solid var(--line);font:700 12px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3)}
.ns-gh:first-child{border-top:0}
.ns-gh em{margin-left:auto;font:600 11.5px var(--font-mono);font-style:normal;text-transform:none;letter-spacing:0}
.ns-li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 12px;border:0;border-top:1px solid var(--line);min-height:44px;box-sizing:border-box;width:100%;background:none;font:inherit;color:inherit;text-align:left}
button.ns-li{cursor:pointer}
.ns-gh + .ns-li{border-top:0}
.ns-li > b{font:600 13.5px/1.3 var(--font-body);overflow-wrap:anywhere;min-width:0}
.ns-li > b.ns-mono{font:600 13px/1.3 var(--font-mono)}
.ns-li > small{grid-column:2;font-size:12px;line-height:1.35;color:var(--fg-3);overflow-wrap:anywhere;min-width:0}
.ns-li > em{grid-row:1/span 2;grid-column:3;font:500 11.5px var(--font-mono);font-style:normal;color:var(--fg-3);white-space:nowrap;display:flex;align-items:center;gap:4px}
.ns-li > em svg.ic{width:16px;height:16px}
.ns-li.ns-arc > b,.ns-li.ns-arc > small{color:var(--fg-3)}
.ns-dot{grid-row:span 2;width:12px;height:12px;border-radius:4px;background:var(--tm,var(--line-2))}
.ns-li > i{grid-row:span 2;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sunk);color:var(--fg-2);font-style:normal}
.ns-li > i svg.ic{width:15px;height:15px}
.ns-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);background:var(--sunk);color:var(--fg-2);font:600 11.5px var(--font-mono);white-space:nowrap}
.ns-chip.ns-on{background:var(--ok-bg);color:var(--ok)}
.ns-chip.ns-off{background:var(--crit-bg);color:var(--crit)}
.ns-chip.ns-arcv{background:none;border:1px dashed var(--line-2);color:var(--fg-3)}
.ns-sum{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--fg-3);align-items:center}
.ns-tail{padding:9px 12px;border-top:1px dashed var(--line-2);font-size:12.5px;line-height:1.4;color:var(--fg-3)}
.ns-tail b{color:var(--fg-2);font-weight:600}
.ns-team{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.ns-nm{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);min-height:44px;box-sizing:border-box;font-size:13px}
.ns-gh + .ns-nm{border-top:0}
.ns-nm code{font:500 12px var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere;min-width:0}
.ns-nm b{font:600 13px var(--font-body);overflow-wrap:anywhere;min-width:0}
.ns-nm b small{display:block;font:500 11.5px var(--font-body);color:var(--warn)}

/* ── who (agent chips, same as «Разборщик») ── */
.ns-who{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.ns-ag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);min-width:0}
.ns-ic{position:relative;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--tm);color:#1D2029;border:1.5px solid var(--tm)}
.ns-ic svg.ic{width:20px;height:20px;stroke-width:1.9}
.ns-ic.ns-boss::after{content:"";position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:14px;height:5px;border-radius:3px;background:var(--fg)}
.ns-ag b{display:block;font:700 13.5px var(--font-body);overflow-wrap:anywhere}
.ns-ag small{display:block;font-size:12.5px;color:var(--fg-3);line-height:1.35}

/* ── stale: everything grey, marked «на ЧЧ:ММ» ── */
.ns-stale .ns-row > i,.ns-stale .ns-row.ns-dir > i,.ns-stale .ns-row.ns-key > i{background:var(--sunk)!important;color:var(--fg-3)!important}
.ns-stale .ns-tree,.ns-stale .ns-read{background:var(--sunk);border-style:dashed}
.ns-stale .ns-row,.ns-stale .ns-row.ns-ch{background:none}
.ns-stale .ns-row.ns-sel{box-shadow:inset 4px 0 0 var(--line-2);background:none}
.ns-stale .ns-th b,.ns-stale .ns-row > b{color:var(--fg-2)}
.ns-at{font:600 11.5px var(--font-mono);color:var(--fg-3);text-transform:none;letter-spacing:0;padding:1px 7px;border-radius:var(--r-pill);border:1px dashed var(--line-2)}

/* ── no data ── */
.ns-dash{font:700 26px/1 var(--font-display);color:var(--fg-3)}
.ns-why{font-size:12.5px;line-height:1.45;color:var(--fg-3)}
.ns-why b{color:var(--fg-2)}
.ns-emp{display:grid;justify-items:center;gap:6px;padding:22px 14px;text-align:center;font-size:13px;line-height:1.45;color:var(--fg-3)}
.ns-emp svg.ic{width:26px;height:26px}
.ns-emp b{font:700 15px var(--font-body);color:var(--fg-2)}
@container (min-width:700px){.ns-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ns-bar{grid-template-columns:auto minmax(0,1fr);align-items:center}.seg.ns-seg{display:inline-grid;width:auto}.ns-leg li{grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center}.ns-read{position:sticky;top:12px}.ns-team{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
/* ══ «Требует внимания» выпуск 2: кнопки ответа с сайта (макет дом7я-пульт-внимание-2, ЗАМЕТКИ §2–§7; body.pc → ширина панели) ══ */
/* head: the promise + the caps meter */
.tv-prom{background:color-mix(in srgb,var(--ok-bg) 55%,var(--sunk))}
.tv-prom svg.ic{color:var(--ok)}
.tv-offn svg.ic{color:var(--fg-3)}
.tv-meter{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-4px 0 12px;padding:0 2px;font:500 12.5px var(--font-body);color:var(--fg-3)}
.tv-meter b{font:700 12.5px var(--font-mono);color:var(--fg-2)}
.tv-meter i{display:block;width:84px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.tv-meter i s{display:block;height:100%;background:var(--s-done);text-decoration:none}
.tv-meter .tv-fr{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);background:var(--ok-bg);color:var(--ok);font:600 12px var(--font-body)}
.tv-meter .tv-fr svg.ic{width:14px;height:14px}
/* footer of a row: keys + «Зайдите в окно». Phone: stacked; PC: one line */
.tv-ft{display:grid;min-width:0;border-top:1px solid var(--line)}
.tv-ft .tv-go{border-top:0}
.tv-ft > .tv-act + .tv-go{border-top:1px solid var(--line)}
.tv-act{display:grid;gap:6px;padding:10px 12px 10px 14px;min-width:0;align-content:center}
.tv-keys{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.tv-keys .btn{min-height:48px;border-radius:var(--r-m);font:700 14.5px/1.2 var(--font-body);white-space:normal;text-align:center;padding:6px 14px}
.tv-keys .btn svg.ic{width:18px;height:18px}
.tv-keys .btn.no{background:var(--surface);border-color:var(--line-2);min-width:84px}
.tv-keys .btn.tv-up{background:var(--surface);border-color:var(--perm);color:var(--perm)}
.tv-keys .btn[disabled]{opacity:1;background:var(--sunk);border-color:var(--line);color:var(--fg-3);cursor:not-allowed}
.tv-keys .btn.tv-busy[disabled]{background:color-mix(in srgb,var(--yes) 22%,var(--surface));border-color:var(--yes);color:var(--fg)}
.tv-busy svg.ic{animation:tvspin 1s linear infinite}
@media (prefers-reduced-motion:reduce){.tv-busy svg.ic{animation:none}}
@keyframes tvspin{to{transform:rotate(360deg)}}
.tv-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;font:500 12.5px/1.35 var(--font-body);color:var(--fg-3);overflow-wrap:anywhere}
.tv-note svg.ic{width:15px;height:15px;margin-top:1px}
.tv-note b{font:700 12.5px var(--font-mono);color:var(--fg-2)}
.tv-note.tv-ok{color:var(--ok)}
/* question options as keys (1–3, never «Другое») */
.tv-optk{display:grid;gap:6px}
.tv-optk .tv-o1{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:48px;padding:6px 12px 6px 8px;border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--surface);color:var(--fg);font:600 14.5px/1.3 var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box}
.tv-optk .tv-o1 b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--run-bg);color:var(--run);font:700 13px var(--font-mono)}
.tv-optk .tv-o1 span{min-width:0;overflow-wrap:anywhere}
.tv-optk .tv-o1:hover{border-color:var(--run)}
.tv-optk .tv-o1[disabled]{background:var(--sunk);color:var(--fg-3);cursor:not-allowed;border-color:var(--line)}
.tv-optk .tv-o1[disabled] b{background:var(--surface);color:var(--fg-3)}
.tv-optk .tv-o1.tv-busy{border-color:var(--yes);background:color-mix(in srgb,var(--yes) 18%,var(--surface));color:var(--fg)}
/* terminal-only block: lock + chips + plain reason */
.tv-to{display:grid;gap:6px;padding:9px 10px;border-radius:var(--r-m);background:var(--sunk);border:1px dashed var(--line-2)}
.tv-to .tv-toh{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:700 13px var(--font-body);color:var(--fg)}
.tv-to .tv-toh svg.ic{width:16px;height:16px;color:var(--fg-2)}
.tv-to p{margin:0;font:500 12.5px/1.4 var(--font-body);color:var(--fg-2);overflow-wrap:anywhere}
.tv-why2{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:var(--r-pill);font:700 12px var(--font-body);background:var(--warn-bg);color:var(--warn);white-space:nowrap}
.tv-why2.tv-wc{background:var(--crit-bg);color:var(--crit)}
.tv-why2.tv-wg{background:var(--surface);color:var(--fg-2);border:1px solid var(--line-2)}
/* result / refusal line (replaces the keys after a tap) */
.tv-res{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px 10px 14px;min-width:0}
.tv-res > svg.ic{width:22px;height:22px}
.tv-res b{display:block;font:700 14px/1.3 var(--font-body);overflow-wrap:anywhere}
.tv-res small{display:block;font:500 12.5px/1.35 var(--font-body);color:var(--fg-2);overflow-wrap:anywhere;margin-top:2px}
.tv-res small em{font:600 12px var(--font-mono);font-style:normal}
.tv-res .btn{min-height:44px;padding:0 12px;font:700 13.5px var(--font-body);border-radius:var(--r-m);gap:6px}
.tv-res .btn svg.ic{width:16px;height:16px}
.tv-res.tv-ok{background:var(--ok-bg)}.tv-res.tv-ok > svg.ic,.tv-res.tv-ok b{color:var(--ok)}
.tv-res.tv-no{background:var(--sunk)}.tv-res.tv-no > svg.ic{color:var(--fg-2)}
.tv-res.tv-amb{background:var(--warn-bg)}.tv-res.tv-amb > svg.ic,.tv-res.tv-amb b{color:var(--warn)}
.tv-res.tv-red{background:var(--crit-bg)}.tv-res.tv-red > svg.ic,.tv-res.tv-red b{color:var(--crit)}
.tv-res.tv-grey{background:var(--sunk)}.tv-res.tv-grey > svg.ic{color:var(--fg-3)}.tv-res.tv-grey b{color:var(--fg-2)}
.tv-ft > .tv-res + .tv-go{border-top:1px solid var(--line)}
.tv-r.tv-done{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
/* red banner: switched off automatically */
.tv-alarm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;margin:0 0 12px;border-radius:var(--r-l);background:var(--crit-bg);border:1.5px solid var(--crit-solid);color:var(--fg)}
.tv-alarm > svg.ic{width:22px;height:22px;color:var(--crit)}
.tv-alarm b{display:block;font:700 15px/1.3 var(--font-body);color:var(--crit)}
.tv-alarm p{margin:4px 0 0;font:500 13.5px/1.45 var(--font-body);color:var(--fg);overflow-wrap:anywhere}
.tv-alarm p em{font:600 12.5px var(--font-mono);font-style:normal}
.tv-alarm small{display:block;margin-top:6px;font:500 12.5px/1.4 var(--font-body);color:var(--fg-2)}
@container (min-width:560px){
.tv-ft{grid-template-columns:minmax(0,auto) minmax(0,1fr)}
.tv-ft > .tv-go:only-child{grid-column:1/-1}
.tv-ft > .tv-act + .tv-go{border-top:0;border-left:1px solid var(--line)}
.tv-ft > .tv-act.tv-wide{grid-column:1/-1}
.tv-ft > .tv-act.tv-wide + .tv-go{border-left:0;border-top:1px solid var(--line);grid-column:1/-1}
.tv-keys{grid-template-columns:auto auto}
.tv-ft > .tv-res{grid-column:1/-1}
.tv-ft > .tv-res + .tv-go{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
}

/* ── Компьютеры (Дом №1637): тёмная тема первой, всё на токенах ── */
.pc-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pc-card{display:grid;gap:10px;align-content:start;min-width:0;border-left:3px solid var(--line-2)}
.pc-card.st-ok{border-left-color:var(--ok)}.pc-card.st-warn{border-left-color:var(--warn)}.pc-card.st-crit{border-left-color:var(--crit)}
.pc-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.pc-h .tx{display:grid;min-width:0}.pc-h .tx b{font-size:16px}.pc-h .tx small{color:var(--fg-3);font-size:12.5px;overflow-wrap:anywhere}
.pc-ic{width:36px;height:36px;border-radius:var(--r-m);display:grid;place-items:center;background:var(--sunk);color:var(--fg-2)}
.pc-st{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;font:600 12.5px var(--font-body);white-space:nowrap;background:var(--sunk);color:var(--fg-2)}
.pc-st svg.ic{width:15px;height:15px}
.pc-st.st-ok{background:var(--ok-bg);color:var(--ok)}.pc-st.st-warn{background:var(--warn-bg);color:var(--warn)}.pc-st.st-crit{background:var(--crit-bg);color:var(--crit)}
.pc-why,.pc-up,.pc-kv,.pc-note{margin:0;font-size:13.5px;line-height:1.4;color:var(--fg-2);overflow-wrap:anywhere}
.pc-kv{display:flex;align-items:center;gap:6px}.pc-kv svg.ic{width:16px;height:16px}
.pc-note{background:none;border-left:2px solid var(--line-2);border-radius:0;padding:2px 0 2px 10px}
.pc-fail b,.pc-bk b{font-size:13px}.pc-fail b{color:var(--crit)}
.pc-fail ul,.pc-bk ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px;font:500 12.5px var(--font-mono);color:var(--fg-2)}
.pc-fail li{overflow-wrap:anywhere}
.pc-bk li{display:flex;justify-content:space-between;gap:10px;min-width:0}.pc-bk li span:first-child{overflow-wrap:anywhere;min-width:0}
.pc-bk li span:last-child{white-space:nowrap;font-family:var(--font-body)}.pc-bk li.old{color:var(--crit)}
.pc-foot{margin-top:16px}
/* Дом №1670: окно уведомлений о компьютерах — владелец меняет сам */
.pc-quiet{margin-top:16px;display:grid;gap:10px}
.pc-qrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pc-qf{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2)}
.pc-qf select{min-height:44px;padding:0 10px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit}
.pc-qrow .btn{min-height:44px}
.pc-qn{color:var(--fg-3)} .pc-qn.bad{color:var(--crit)}
@media (min-width:1024px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pc-card{grid-auto-rows:max-content}
.pc-bar{display:grid;gap:5px}
.pc-bt{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;color:var(--fg-2)}.pc-bt b{color:var(--fg);font-weight:700}
.pc-tr{height:8px;border-radius:4px;background:var(--sunk);overflow:hidden}.pc-tr i{display:block;height:100%;border-radius:4px;background:var(--s-done)}
.pc-bar.warn .pc-tr i{background:var(--s-appr)}.pc-bar.crit .pc-tr i{background:var(--crit-solid)}.pc-bar.crit .pc-bt b{color:var(--crit)}
/* ── Слова без задачи (Дом №1640): день → окно → слова от старых к новым; без задачи — выделены, соседи серым ── */
.sl-sum{margin:0 0 12px;font-size:13px;color:var(--fg-3);line-height:1.4}
.sl-sum b{color:var(--fg)}
.sl-day{margin:18px 0 8px;font:700 15px/1.2 var(--font-display);letter-spacing:var(--ls-display);color:var(--fg-2)}
.sl-day em{font:600 12.5px var(--font-mono);font-style:normal;color:var(--fg-3);margin-left:6px}
.sl-th-h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 10px;align-items:center;padding:10px 14px;background:var(--sunk);border-bottom:1px solid var(--line)}
.sl-th-h .wm-gi{grid-row:span 2;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--fg-2)}
.sl-th-h b{font:600 14.5px/1.25 var(--font-body);overflow-wrap:anywhere}
.sl-th-h small{font:500 12px var(--font-mono);color:var(--fg-3)}
.sl-list{display:grid}
.sl-it{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:9px 14px;border-top:1px solid var(--line)}
.sl-list > .sl-it:first-child,.sl-list > .sl-gap:first-child{border-top:0}
.sl-it time{font:600 12px/1.6 var(--font-mono);color:var(--fg-3);white-space:nowrap}
.sl-tx{min-width:0;display:grid;gap:5px;justify-items:start}
.sl-tx p{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}
.sl-free{background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn)}   /* не --accent: в «Все проекты» он серо-синий и не выделяет */
.sl-free time{color:var(--warn)}
.sl-task .sl-tx p,.sl-other .sl-tx p{color:var(--fg-3)}
.sl-tag{font:600 11.5px/1 var(--font-mono);padding:4px 8px;border-radius:var(--r-pill);border:0;white-space:nowrap}
.sl-tfree{background:var(--surface);color:var(--warn)}
.sl-ttask{background:var(--sunk);color:var(--fg-2);cursor:pointer;min-height:28px}
.sl-ttask:hover{background:var(--surface-2);color:var(--fg)}
@media (pointer:coarse){.sl-ttask{min-height:36px;padding:0 12px}}   /* DESIGN P2-2: палец на телефоне */
.sl-gap{padding:6px 14px 6px 68px;border-top:1px dashed var(--line);font-size:12px;color:var(--fg-3);font-style:italic}

/* Дом №2235 «Скрипты»: шторка тянется вниз + «Для чего / Зачем / За что отвечает» — блок из макета BOLT-DESIGN дом7я-пульт-скрипты-описание (maket.src.html, «NEW (Дом №2235)») */
/* list: second line = «Для чего» (Russian, one sentence); tech bits move into the sheet */
.sk-nd{display:inline-flex;align-items:center;gap:4px;font:700 11.5px var(--font-body);color:var(--warn);background:var(--warn-bg);padding:1px 7px;border-radius:var(--r-pill);margin-right:6px}
.sk-nd svg.ic{width:12px;height:12px}
.pp-r.h-r.pk4-skrow .tx small{display:block}   /* ARCHITECT N5: только строки «Скриптов» — «Здоровье» тоже h-r */
/* sheet: bigger grab zone that you can pull down; same gesture as #sheet */
.wm-sheet .sk-grabz{display:block;height:22px;margin:-10px -16px 4px;cursor:grab;touch-action:none;position:relative}
.wm-sheet .sk-grabz::after{content:"";position:absolute;left:50%;top:9px;width:44px;height:5px;border-radius:3px;background:var(--line-2);transform:translateX(-50%)}
@media (min-width:900px){.wm-sheet .sk-grabz{display:none}}
.sk-kindl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 12px;font-size:12.5px;color:var(--fg-3)}
.sk-kindl code{font:600 12px var(--font-mono);color:var(--fg-2)}
/* the description block: three questions, answers in plain Russian */
.sk-why{display:grid;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:var(--r-m);background:var(--sunk)}
.sk-q{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start}
.sk-q svg.ic{width:18px;height:18px;color:var(--accent-text,var(--accent));margin-top:1px}
.sk-q b{display:block;font:700 12px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin-bottom:2px}
.sk-q span{font-size:14.5px;line-height:1.45;color:var(--fg)}
.sk-area{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.sk-area i{font-style:normal;font:600 12px var(--font-body);padding:2px 9px;border-radius:var(--r-pill);border:1px solid var(--line-2);color:var(--fg-2)}
/* missing / English states */
.sk-why.miss{background:none;border:1.5px dashed var(--line-2)}
.sk-why.miss .sk-q svg.ic{color:var(--fg-3)}
.sk-why.miss span{color:var(--fg-2)}
.sk-orig{margin-top:4px;font:500 12px/1.4 var(--font-mono);color:var(--fg-3)}
.sk-who{font-weight:700;color:var(--fg);white-space:nowrap}
/* «Как устроено» — the tech table, folded by default on the phone */
.sk-tech{border-top:1px solid var(--line);padding-top:10px}
.sk-tech summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font:700 14px var(--font-body);list-style:none}
.sk-tech summary::-webkit-details-marker{display:none}
.sk-tech summary svg.ic{margin-left:auto;transition:transform .18s}
.sk-tech[open] summary svg.ic{transform:rotate(180deg)}
.sk-tech dl{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr);gap:8px 12px;margin:4px 0 8px;font-size:13.5px}
.sk-tech dt{color:var(--fg-3)}.sk-tech dd{margin:0;overflow-wrap:anywhere}
.sk-tech code{font:500 12.5px var(--font-mono)}
.sk-act{display:flex;gap:8px;margin-top:12px}.sk-act .btn{flex:1;min-height:44px}
.sk-hint{text-align:center;font-size:11.5px;color:var(--fg-3);margin:-2px 0 8px}
@media (min-width:900px){.sk-hint{display:none}}
