/* Дополнения мастера и «Здоровья сети»: проверка сервера, подробности ошибок, фильтр журнала, парк нод. */

/* проверка сервера */
.pf-list{display:grid;gap:2px;margin-top:var(--sp-3)}
.pf-row{display:grid;grid-template-columns:20px minmax(150px,max-content) minmax(0,1fr);gap:var(--sp-1) var(--sp-3);align-items:baseline;padding:var(--sp-1) 0;font-size:var(--fs-sm);border-top:1px solid var(--border-subtle)}
.pf-row:first-child{border-top:0}
.pf-ic{font-weight:700;text-align:center}
.pf-l{font-weight:550}
.pf-d{color:var(--text-muted);overflow-wrap:anywhere}
.pf-ok .pf-ic{color:var(--ok)}
.pf-info .pf-ic{color:var(--text-dim)}
.pf-warn .pf-ic,.pf-warn .pf-d{color:var(--warn)}
.pf-fail .pf-ic,.pf-fail .pf-d{color:var(--err)}
@media(max-width:640px){.pf-row{grid-template-columns:20px minmax(0,1fr)}.pf-d{grid-column:2}}

/* подробности ошибки в журнале */
.tl-det{margin-top:var(--sp-2);font-weight:400}
.tl-det summary{cursor:pointer;color:var(--accent);font-size:var(--fs-xs);user-select:none}
.tl-det-h{margin:var(--sp-2) 0 3px;font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}
.tl-det-pre{margin:0;padding:var(--sp-2) var(--sp-3);max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:var(--fs-xs)/1.5 var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text)}

/* поиск и фильтр журнала */
.tl-filter{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin:0 0 var(--sp-3)}
.tl-filter input{flex:1 1 220px;min-width:160px;font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}
.tl-filter select{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}

/* парк нод */
.fl-wrap{margin-top:var(--sp-2)}
.fl-bar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-3)}
.fl-bar .dim{font-size:var(--fs-xs)}
.fl-table td,.fl-table th{white-space:nowrap}
.fl-pill{display:inline-block;padding:2px var(--sp-2);border-radius:999px;font:600 var(--fs-xs) var(--font);border:1px solid var(--border);color:var(--text-muted)}
.fl-pill.ok{color:var(--ok);border-color:var(--ok-border);background:var(--ok-muted)}
.fl-pill.warn{color:var(--warn);border-color:var(--warn-border);background:var(--warn-muted)}
.fl-pill.err{color:var(--err);border-color:var(--err-border);background:var(--err-muted)}
.fl-sub{display:block;font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px;white-space:normal;max-width:260px}
.fl-det td{padding:0 var(--sp-3) var(--sp-3);white-space:normal}
.fl-rec{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted)}
.fl-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--sp-2) var(--sp-4);font-size:var(--fs-xs);margin:var(--sp-2) 0}
.fl-kv b{color:var(--text);font-weight:550}

/* версия и время пересборки под логотипом */
.sidebar-brand-text .sidebar-ver{font:500 var(--fs-xs)/1.3 var(--font-mono);letter-spacing:0;color:var(--text-muted)}
button.lite-btn{width:100%;background:transparent;border:1px solid transparent;box-shadow:none!important;font-family:var(--font);text-align:left;cursor:pointer;justify-content:flex-start}
button.lite-btn:hover{background:var(--surface);color:var(--text);filter:none}
.lite-btn .lite-label{white-space:nowrap}

/* Режим производительности: soft — без размытия, фоновых пятен и бесконечных анимаций (старые компьютеры);
   lite делает то же самое и ещё упрощает карты (см. rumap/js/app.js) */
html.nf-soft body.workspace::before,html.nf-soft body.workspace::after{display:none!important}
html.nf-soft *,html.nf-soft *::before,html.nf-soft *::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.nf-soft .live-dot,html.nf-soft .skeleton,html.nf-soft [class*="shimmer"],html.nf-soft .map-pulse{animation:none!important}
html.nf-soft .map-flow.live,html.nf-soft .map-dot{filter:none!important;animation:none!important}
html.nf-soft .map-dot{display:none}
html.nf-soft .card,html.nf-soft .sidebar,html.nf-soft .modal{box-shadow:none}

/* нагрузка сервера панели в подвале сайдбара */
.nf-sys{font-size:var(--fs-xs);color:var(--text-muted);padding:2px var(--sp-3)}
.nf-sys summary{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;padding:var(--sp-1) 0;font-family:var(--font-mono);white-space:nowrap}
.nf-sys summary::-webkit-details-marker{display:none}
.nf-sys summary::after{content:"";margin-left:auto;width:6px;height:6px;border:solid var(--text-dim);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.nf-sys[open] summary::after{transform:rotate(-135deg) translateX(-2px)}
.nf-sys-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);flex:none}
.nf-sys[data-level=ok] .nf-sys-dot{background:var(--ok)}
.nf-sys[data-level=warn] .nf-sys-dot{background:var(--warn)}
.nf-sys[data-level=bad] .nf-sys-dot{background:var(--err)}
.nf-sys-body{padding:var(--sp-1) 0 var(--sp-2);display:grid;gap:3px;line-height:1.4}
.nf-sys-row{display:flex;justify-content:space-between;gap:var(--sp-2)}
.nf-sys-row b{font-weight:500;color:var(--text);font-family:var(--font-mono);text-align:right}

/* режим копии: тонкая полоса вверху окна */
.nf-clone-banner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);line-height:1.4;color:var(--text);background:var(--warn-muted);border-bottom:1px solid var(--warn-border)}
.ncb-acts{display:inline-flex;gap:var(--sp-2);flex-wrap:wrap;margin-left:auto}
.ncb-more summary{cursor:pointer;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}
.ncb-more ul{margin:var(--sp-2) 0 0 var(--sp-4);padding:0}

/* широкая таблица-справочник прокручивается внутри своего блока */
.hscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
