/* Фон совпадает со светлой шапкой. Акцент затемнён для читаемого текста. */
.kb-page,.kb-dialog { --kb-text:#022230; --kb-muted:#40596b; --kb-line:#cbd4dd; --kb-accent:#35798f; --kb-panel:#e8eff3; --kb-bg:#f7f7f7; color:var(--kb-text); background:var(--kb-bg); }
.kb-page { padding:28px 0 64px; }
.kb-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; margin-bottom:28px; color:var(--kb-muted); }
.kb-breadcrumb a { color:inherit; text-decoration:none; }
.kb-breadcrumb a:hover { text-decoration:underline; }
.kb-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:44px; align-items:start; }
.kb-sidebar { position:sticky; top:16px; min-width:0; }
.kb-navigation { border:1px solid var(--kb-line); border-radius:8px; overflow:hidden; background:var(--kb-bg); }
.kb-nav-head { padding:20px 16px 16px; border-bottom:1px solid var(--kb-line); }
.kb-nav-head h2 { font:700 19px/1.3 var(--font-main); margin:0 0 16px; text-transform:none; }
.kb-nav-head label { display:block; font-size:12px; color:var(--kb-muted); margin-bottom:7px; }
.kb-nav-head input { box-sizing:border-box; width:100%; border:1px solid var(--kb-line); background:white; border-radius:5px; padding:11px 10px; font:14px/1.3 var(--font-main); color:var(--kb-text); }
.kb-tree { max-height:calc(100dvh - 210px); overflow:auto; overscroll-behavior:contain; padding:10px; scrollbar-width:thin; }
.kb-tree ul { list-style:none; margin:0; padding:0; }
.kb-tree ul ul { margin:3px 0 9px 8px; border-left:1px solid var(--kb-line); padding-left:7px; }
.kb-tree a { display:block; color:var(--kb-muted); text-decoration:none; padding:10px 9px; font:500 13px/1.5 var(--font-main); border-radius:4px; overflow-wrap:anywhere; }
.kb-tree a:hover { background:var(--kb-panel); }
.kb-tree a[aria-current] { color:var(--kb-text); background:var(--kb-panel); box-shadow:inset 3px 0 var(--kb-accent); font-weight:700; }
.kb-row { display:flex; align-items:center; }
.kb-row > a { flex:1 1 auto; font-weight:600; color:var(--kb-text); }
.kb-row > a:hover { background:var(--kb-panel); }
.kb-toggle { flex:0 0 auto; position:relative; width:26px; height:26px; margin-right:6px; border:0; background:transparent; border-radius:4px; cursor:pointer; color:var(--kb-muted); }
.kb-toggle:hover { background:var(--kb-panel); color:var(--kb-accent); }
.kb-toggle::before { content:''; position:absolute; left:50%; top:50%; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translate(-50%,-50%) rotate(-45deg); transition:transform .15s ease; }
.kb-row.is-open .kb-toggle::before { transform:translate(-50%,-50%) rotate(45deg); }
.kb-children[hidden] { display:none; }
.kb-empty { padding:12px; font-size:13px; }
.kb-node[hidden],.kb-empty[hidden] { display:none; }
.kb-article { min-width:0; }
.kb-article h1 { font:700 32px/1.3 var(--font-main); letter-spacing:-.02em; margin:0 0 28px; text-transform:none; color:var(--kb-text); overflow-wrap:anywhere; }
.kb-sections { display:grid; gap:0; border-top:1px solid var(--kb-line); margin:0 0 32px; }
.kb-sections a { color:var(--kb-text); padding:14px 4px; border-bottom:1px solid var(--kb-line); text-decoration:none; font-size:16px; line-height:1.5; }
.kb-sections a:hover { color:var(--kb-accent); }
.kb-content { font:16px/1.8 var(--font-main); overflow-wrap:anywhere; }
.kb-content p { text-align:justify!important; text-align-last:left; hyphens:auto; font-size:inherit; line-height:1.8; }
.kb-content li { text-align:left!important; font-size:inherit; line-height:1.8; }
.kb-content p { margin:0 0 20px; }
.kb-content h2,.kb-content h3 { font-family:var(--font-main); text-transform:none; line-height:1.4; margin:30px 0 16px; }
.kb-content a { color:var(--kb-accent); text-decoration:underline; }
.kb-content img { max-width:100%!important; height:auto!important; }
.kb-table-wrap { max-width:100%; overflow:auto; margin:24px 0; }
.kb-content table { border-collapse:collapse; font-size:14px; }
.kb-content td,.kb-content th { padding:10px; border:1px solid var(--kb-line); }
.kb-page a:focus-visible,.kb-navigation :focus-visible { outline:2px solid var(--kb-accent); outline-offset:2px; }
.kb-mobile-toggle,.kb-dialog { display:none; }
@media(max-width:1000px) {
 .kb-layout { grid-template-columns:260px minmax(0,1fr); gap:24px; }
 .kb-article h1 { font-size:28px; }
}
@media(max-width:760px) {
 .kb-page { padding:24px 0 88px; }
 .kb-layout { display:block; }
 .kb-sidebar { position:static; margin-bottom:24px; }
 .kb-ready .kb-sidebar { display:none; }
 .kb-ready .kb-mobile-toggle { display:block; position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:100; background:#022230; color:white; padding:14px 24px; border:0; border-radius:6px; font:600 15px var(--font-main); box-shadow:0 3px 16px #02223030; }
 .kb-dialog[open] { display:block; box-sizing:border-box; width:min(420px,100vw); height:100dvh; max-height:none; max-width:100vw; margin:0 0 0 auto; padding:56px 12px 12px; border:0; }
 .kb-dialog::backdrop { background:#02223099; }
 .kb-close { position:absolute; top:8px; right:12px; width:40px; height:40px; background:transparent; color:var(--kb-text); border:1px solid var(--kb-line); border-radius:5px; font-size:26px; }
 .kb-dialog .kb-tree { max-height:calc(100dvh - 240px); }
 .kb-article h1 { font-size:26px; }
 .kb-content { font-size:15px; }
}
