/*
 * НСИ — оформление в стиле основного сайта (D-023): шрифты, цвета и элементы взяты из темы buhexpert8.
 * Шрифты не подключаются — Roboto и Montserrat уже загружает сайт. Всё — внутри .nsi, тема не переопределяется.
 *
 * Токены сайта (сняты с страницы статьи):
 *   текст #33305a (Roboto) · заголовки #57b602 (Montserrat, заглавные) · акцент/кнопки #00c0cf
 *   ссылки #0271b6 · красный #c62338 · линии #e0e2ea · плашки #f0f0f0 · скругление 2–3px
 */

.nsi {
	--nsi-text: #33305a;
	--nsi-green: #57b602;
	--nsi-teal: #00c0cf;
	--nsi-teal-dark: #00a5b3;
	--nsi-link: #0271b6;
	--nsi-blue-line: #0688dc;
	--nsi-red: #c62338;
	--nsi-line: #e0e2ea;
	--nsi-plate: #f0f0f0;
	--nsi-muted: #7a7894;
	--nsi-radius: 2px;

	font-family: inherit;
	color: var(--nsi-text);
	font-size: 16px;
	line-height: 1.5;
	/* Ширина не тянется во весь монитор: длинная строка сбивает возврат к началу следующей (D-089). */
	max-width: 1220px;
	margin: 0 auto;
	padding: 20px 0 40px;
	box-sizing: border-box;
}

/*
 * Текст нормы — во всю колонку до боковой панели (просьба заказчика 28.09.2026). Раньше строку
 * ограничивали 39em (~66 знаков), справа оставалась пустая полоса. Общий предел страницы — 1220px выше.
 */
.nsi .nsi-text, .nsi .nsi-preamble { max-width: none; }
.nsi .nsi-text table, .nsi .nsi-text .nsi-table-wrap, .nsi .nsi-text .nsi-mat, .nsi .nsi-text .nsi-notice { max-width: none; }
.nsi *, .nsi *::before, .nsi *::after { box-sizing: border-box; }
.nsi a { color: var(--nsi-link); text-decoration: none; }
.nsi a:hover { text-decoration: underline; }
.nsi a:focus-visible, .nsi button:focus-visible, .nsi input:focus-visible, .nsi summary:focus-visible { outline: 2px solid var(--nsi-teal); outline-offset: 2px; }
.nsi p { margin: 0; }

/* Сброс маркеров и отступов списков темы. */
.nsi ul, .nsi ol { list-style: none !important; margin: 0; padding: 0; }
.nsi li { margin: 0 !important; padding: 0; background: none; list-style: none !important; display: block; }
.nsi li::marker { content: none; }
.nsi li::before, .nsi li::after { content: none !important; display: none !important; }
.nsi .nsi-visually-hidden  { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Заголовки — как на сайте. */
.nsi h1 { font-family: Montserrat, sans-serif; font-weight: 900; font-size: 26px; line-height: 1.2; text-transform: uppercase; color: var(--nsi-green); margin: 0 0 20px; letter-spacing: normal; }
.nsi h2 { font-family: Roboto, sans-serif; font-weight: 700; font-size: 20px; line-height: 1.2; text-transform: uppercase; color: var(--nsi-green); margin: 0 0 16px; letter-spacing: normal; }
.nsi h3 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 14px; line-height: 1.3; text-transform: uppercase; color: var(--nsi-teal); margin: 0 0 12px; letter-spacing: normal; }

/* Кнопки — как «rubr-but» сайта. */
.nsi .nsi-btn, .nsi .nsi-search__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--nsi-teal); color: #fff; border: 0; border-radius: var(--nsi-radius);
	font: 400 14px/1.2 Roboto, sans-serif; text-transform: none; padding: 10px 16px; cursor: pointer; text-decoration: none;
}
.nsi .nsi-btn:hover, .nsi .nsi-search__btn:hover { background: var(--nsi-teal-dark); color: #fff; text-decoration: none; }
.nsi .nsi-btn--light { background: #fff; color: var(--nsi-text); border: 1px solid var(--nsi-line); }
.nsi .nsi-btn--light:hover { background: var(--nsi-plate); color: var(--nsi-text); }
.nsi .nsi-btn svg  { width: 16px; height: 16px; }

/* ── Поиск ─────────────────────────────────────────────── */
.nsi .nsi-search  { display: flex; align-items: stretch; gap: 0; max-width: 100%; }
.nsi .nsi-search__icon  { display: none; }
.nsi .nsi-search__input {
	flex: 1; min-width: 0; height: 44px; margin: 0; padding: 0 14px;
	border: 1px solid var(--nsi-line); border-right: 0; border-radius: var(--nsi-radius) 0 0 var(--nsi-radius);
	font: 400 16px Roboto, sans-serif; color: var(--nsi-text); background: #fff; box-shadow: none;
}
.nsi .nsi-search__input:focus { border-color: var(--nsi-teal); outline: none; }
.nsi .nsi-search__btn { border-radius: 0 var(--nsi-radius) var(--nsi-radius) 0; padding: 0 22px; height: 44px; font-size: 16px; }
.nsi .nsi-search--large .nsi-search__input, .nsi .nsi-search--large .nsi-search__btn  { height: 52px; }

/* ── Главная ───────────────────────────────────────────── */
.nsi .nsi-hero  { background: var(--nsi-plate); padding: 28px 30px; margin-bottom: 30px; }
.nsi .nsi-hero h1 { margin-bottom: 10px; }
.nsi .nsi-hero__lead  { margin-bottom: 18px; max-width: 760px; }
.nsi .nsi-hero .nsi-search  { max-width: 760px; }
.nsi .nsi-hero__examples  { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 14px; }
.nsi .nsi-hero__examples span  { color: var(--nsi-muted); }
.nsi .nsi-chip { color: var(--nsi-link); border-bottom: 1px dashed currentColor; font-size: 14px; }
.nsi .nsi-chip:hover { text-decoration: none; color: var(--nsi-teal); }
.nsi .nsi-hero__stats  { margin-top: 14px; font-size: 14px; color: var(--nsi-muted); }

.nsi .nsi-section  { margin: 0 0 32px; }
.nsi .nsi-section__head  { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-section__head h2 { margin-bottom: 10px; }
.nsi .nsi-section__hint  { color: var(--nsi-muted); font-size: 14px; }

.nsi .nsi-changes__grid  { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px 30px; }
.nsi .nsi-changes__list li + li  { border-top: 1px solid var(--nsi-line); }
.nsi .nsi-change { display: flex; gap: 12px; align-items: baseline; padding: 9px 0; color: var(--nsi-text); }
.nsi .nsi-change:hover { text-decoration: none; }
.nsi .nsi-change:hover .nsi-change__title { color: var(--nsi-link); text-decoration: underline; }
.nsi .nsi-change__date  { flex: none; min-width: 96px; font-size: 13px; font-weight: 700; color: #fff; background: var(--nsi-green); border-radius: var(--nsi-radius); padding: 1px 6px; text-align: center; }
.nsi .nsi-change__date--future  { background: var(--nsi-teal); }

.nsi .nsi-tiles  { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.nsi .nsi-tile { display: block; height: 100%; padding: 12px 14px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); color: var(--nsi-text); background: #fff; }
.nsi .nsi-tile:hover { border-color: var(--nsi-teal); text-decoration: none; }
.nsi .nsi-tile__code  { display: block; font-family: Montserrat, sans-serif; font-weight: 900; font-size: 18px; text-transform: uppercase; color: var(--nsi-green); }
.nsi .nsi-tile__name  { display: block; font-size: 14px; line-height: 1.3; margin-top: 2px; }
.nsi .nsi-tile--soon  { opacity: .55; }

.nsi .nsi-columns  { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 30px; }
.nsi .nsi-doclist li + li  { border-top: 1px solid var(--nsi-line); }
.nsi .nsi-doclist a { display: block; padding: 8px 0; color: var(--nsi-text); }
.nsi .nsi-doclist a:hover { text-decoration: none; }
.nsi .nsi-doclist a:hover .nsi-doclist__name { color: var(--nsi-link); text-decoration: underline; }
.nsi .nsi-doclist__name  { display: block; font-weight: 500; line-height: 1.35; }
.nsi .nsi-doclist__meta  { display: block; font-size: 13px; color: var(--nsi-muted); margin-top: 2px; }
.nsi .nsi-doclist--cols { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
.nsi .nsi-doclist--cols li + li { border-top: 0; }
.nsi .nsi-doclist--cols li { border-bottom: 1px solid var(--nsi-line); }
@media (max-width: 900px) { .nsi .nsi-doclist--cols { grid-template-columns: 1fr; } }
.nsi .nsi-form-page__download { margin-top: 12px !important; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.nsi .nsi-groups  { display: flex; flex-wrap: wrap; gap: 8px; }
.nsi .nsi-group { display: inline-flex; gap: 8px; align-items: center; padding: 6px 12px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); color: var(--nsi-text); font-size: 14px; background: #fff; }
.nsi .nsi-group:hover { border-color: var(--nsi-teal); text-decoration: none; }
.nsi .nsi-group__count  { color: var(--nsi-muted); }

.nsi .nsi-footnote  { margin-top: 30px; font-size: 13px; color: var(--nsi-muted); border-top: 1px solid var(--nsi-line); padding-top: 14px; }

/* ── Документ ──────────────────────────────────────────── */
.nsi .nsi-crumbs  { font-size: 14px; margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nsi .nsi-crumbs__sep  { color: var(--nsi-muted); }
.nsi .nsi-doc__search  { max-width: 560px; margin-bottom: 20px; }

.nsi .nsi-doc__head  { margin-bottom: 22px; }
.nsi .nsi-doc__passing  { font-size: 15px; color: var(--nsi-text); font-weight: 500; margin-bottom: 6px; }
.nsi .nsi-doc__title { margin-bottom: 12px; }
.nsi .nsi-badges  { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.nsi .nsi-badge  { display: inline-block; font-size: 13px; font-weight: 700; line-height: 1.6; padding: 0 8px; border-radius: var(--nsi-radius); color: #fff; background: var(--nsi-muted); }
.nsi .nsi-badge--sm  { font-size: 12px; margin-left: 6px; }
.nsi .nsi-badge--ok  { background: var(--nsi-green); }
.nsi .nsi-badge--warn  { background: #e09b00; }
.nsi .nsi-badge--bad  { background: var(--nsi-red); }
.nsi .nsi-badge--muted  { background: #a9a7bd; }
.nsi .nsi-badge--future  { background: var(--nsi-teal); }
.nsi .nsi-doc__meta  { font-size: 14px; display: flex; flex-wrap: wrap; gap: 2px 14px; }
.nsi .nsi-actions  { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.nsi .nsi-notice  { border: 1px solid var(--nsi-blue-line); padding: 18px 24px; margin-bottom: 22px; }

/* Оглавление справа: текст документа начинается от левого края, как в книге (D-083). */
.nsi .nsi-doc__body--toc  { display: grid; grid-template-columns: minmax(0, 1fr) 360px; /* 290 → 360px, +24% (28.09.2026) */ gap: 30px; align-items: start; }
.nsi .nsi-doc__body--toc > aside.nsi-toc  { order: 2; }
.nsi .nsi-doc__body--toc > :not(aside.nsi-toc)  { order: 1; }

/* Оглавление — как блок содержания статей сайта. */
.nsi .nsi-toc  { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; background: var(--nsi-plate); padding: 18px 16px; font-size: 14px; }
.nsi .nsi-toc__title { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 14px; text-transform: uppercase; color: var(--nsi-teal); cursor: pointer; list-style: none; margin-bottom: 10px; }
.nsi .nsi-toc__title::-webkit-details-marker  { display: none; }
.nsi .nsi-toc__filter { width: 100%; height: 34px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); padding: 0 10px; font: 400 14px Roboto, sans-serif; margin: 0 0 10px; box-shadow: none; background: #fff; }
.nsi .nsi-toc__list a  { display: block; padding: 3px 0; line-height: 1.35; }
.nsi .nsi-toc__list a.is-active  { color: var(--nsi-text); font-weight: 700; }
.nsi .nsi-toc__group summary  { cursor: pointer; list-style: none; }
.nsi .nsi-toc__group summary::-webkit-details-marker  { display: none; }
.nsi .nsi-toc__group summary a  { font-weight: 700; }
/* Значок раскрытия группы оглавления. */
.nsi .nsi-toc__group > details > summary  { position: relative; padding-left: 14px; }
.nsi .nsi-toc__group > details > summary::before  { content: ""; position: absolute; left: 1px; top: .62em; border: 4px solid transparent; border-left: 5px solid var(--nsi-teal); }
.nsi .nsi-toc__group > details[open] > summary::before  { left: -1px; top: .8em; border: 4px solid transparent; border-top: 5px solid var(--nsi-teal); }
.nsi .nsi-toc--page .nsi-toc__item--article  { padding-left: 14px; }
.nsi .nsi-toc__group ol  { padding-left: 12px !important; margin: 2px 0 8px; }

/* Текст нормы. */
.nsi .nsi-text  { font-size: 16px; line-height: 1.6; }
.nsi .nsi-text p  { margin: 0 0 12px; }
.nsi .nsi-text .nsi-doc-kind  { text-align: center; font-weight: 700; text-transform: uppercase; margin-top: 6px; }
.nsi .nsi-text .nsi-doc-name  { text-align: center; font-weight: 700; font-size: 18px; margin-bottom: 16px; }
.nsi .nsi-text .nsi-service  { text-align: center; color: var(--nsi-muted); font-size: .875em; }
.nsi .nsi-text .nsi-service-i  { text-align: left; }
.nsi .nsi-text .nsi-remark  { font-size: .875em; border-left: 3px solid var(--nsi-teal); padding: 4px 0 4px 12px; color: var(--nsi-muted); }
.nsi .nsi-text .nsi-note  { color: var(--nsi-muted); font-size: 14px; }
.nsi .nsi-h { position: relative; scroll-margin-top: 20px; }
.nsi .nsi-text h2.nsi-h { text-align: center; margin: 28px 0 14px; }
.nsi .nsi-text h3.nsi-h { font-size: 16px; margin: 26px 0 12px; }
.nsi .nsi-text h4.nsi-h { font-family: Roboto, sans-serif; font-weight: 700; font-size: 17px; color: var(--nsi-text); text-transform: none; margin: 24px 0 10px; }
.nsi .nsi-text h4.nsi-h-st { padding-top: 16px; border-top: 1px solid var(--nsi-line); }
.nsi .nsi-point  { position: relative; scroll-margin-top: 20px; }
.nsi .nsi-anchor { position: absolute; left: -22px; top: 0; width: 18px; text-align: center; color: var(--nsi-teal); opacity: 0; font-weight: 700; transition: opacity .12s; }
.nsi .nsi-h:hover .nsi-anchor, .nsi .nsi-point:hover .nsi-anchor, .nsi .nsi-anchor:focus  { opacity: 1; }
.nsi .nsi-anchor:hover { text-decoration: none; }
.nsi .nsi-text .nsi-target  { background: #fff6cc; box-shadow: 0 0 0 6px #fff6cc; transition: background 1.5s; }

/* Текст из разобранных пунктов (UnitView): пункт — блок со своими подпунктами. */
.nsi .nsi-u, .nsi .nsi-block  { scroll-margin-top: 20px; }
.nsi .nsi-text .nsi-u__text  { position: relative; margin: 0 0 10px; }
.nsi .nsi-u__text:hover .nsi-anchor, .nsi .nsi-h:hover .nsi-anchor  { opacity: 1; }
.nsi .nsi-text .nsi-u--expired > .nsi-u__text, .nsi .nsi-text .nsi-block--article.nsi-u--expired > .nsi-h  { color: var(--nsi-muted); }
.nsi .nsi-text .nsi-u--remark > .nsi-u__text  { font-weight: 700; margin-top: 16px; }
.nsi .nsi-text .nsi-u--remark  { font-size: .94em; }
.nsi .nsi-preamble  { margin-bottom: 20px; }
.nsi .nsi-preamble .nsi-service  { text-align: center; color: var(--nsi-muted); font-size: 14px; margin: 0 0 6px; }
.nsi .nsi-text h2.nsi-h--appendix, .nsi .nsi-text h2.nsi-h--section { text-align: center; margin: 30px 0 14px; font-size: 18px; }
.nsi .nsi-text h3.nsi-h--chapter { font-size: 16px; margin: 28px 0 12px; text-align: center; }
.nsi .nsi-text h4.nsi-h--article, .nsi .nsi-text h4.nsi-h--paragraph_group { font-family: Roboto, sans-serif; font-weight: 700; font-size: 17px; color: var(--nsi-text); text-transform: none; margin: 24px 0 10px; }
.nsi .nsi-text h4.nsi-h--article { padding-top: 16px; border-top: 1px solid var(--nsi-line); }
.nsi .nsi-text h5.nsi-h--heading { font-family: Roboto, sans-serif; font-weight: 700; font-size: 16px; color: var(--nsi-text); text-transform: none; margin: 18px 0 8px; text-align: center; }
.nsi .nsi-h__link { color: inherit; }
.nsi .nsi-h__link:hover { color: var(--nsi-link); }
.nsi .nsi-text .nsi-target > .nsi-u__text, .nsi .nsi-text .nsi-block.nsi-target > .nsi-h  { background: #fff6cc; }
.nsi .nsi-text .nsi-u.nsi-target, .nsi .nsi-text .nsi-block.nsi-target  { background: #fffbe6; box-shadow: 0 0 0 8px #fffbe6; }
.nsi .nsi-text .nsi-pre  { font: 13px/1.35 "Courier New", monospace; white-space: pre; overflow-x: auto; background: #fafafa; padding: 8px; margin: 0 0 12px; }

/* Статья. */
.nsi .nsi-article__title { font-size: 24px; }
.nsi .nsi-article__hint  { margin-top: 10px; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-artnav  { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 10px; }
.nsi .nsi-artnav a { display: block; padding: 12px 14px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); color: var(--nsi-text); }
.nsi .nsi-artnav a:hover { border-color: var(--nsi-teal); text-decoration: none; }
.nsi .nsi-artnav__next { text-align: right; }
.nsi .nsi-artnav__label  { display: block; font-size: 13px; color: var(--nsi-link); }
.nsi .nsi-artnav__title  { display: block; font-weight: 500; line-height: 1.35; }
.nsi .nsi-toc .is-expired > a, .nsi .nsi-toc .is-expired > details > summary > a  { color: var(--nsi-muted); }
.nsi .nsi-toc a.is-active  { font-weight: 700; color: var(--nsi-text); }

/* Содержание кодекса на странице документа. */
.nsi .nsi-doc-toc__filter  { max-width: 560px; margin-bottom: 12px; }
.nsi .nsi-toc--page { position: static; max-height: none; overflow: visible; background: none; padding: 0; font-size: 15px; }
.nsi .nsi-toc--page .nsi-toc__item--section > details > summary a  { font-size: 16px; }
.nsi .nsi-toc--page .nsi-toc__item--article  { padding: 3px 0; }
.nsi .nsi-amendments  { font-size: 14px; color: var(--nsi-muted); margin: 0 0 16px; }
.nsi .nsi-amendments summary  { cursor: pointer; color: var(--nsi-link); }
.nsi .nsi-table-wrap  { overflow-x: auto; margin: 0 0 16px; }
.nsi .nsi-text table  { border-collapse: collapse; font-size: 14px; min-width: 100%; }
.nsi .nsi-text td, .nsi .nsi-text th  { border: 1px solid var(--nsi-line); padding: 6px 8px; vertical-align: top; }

/* Материалы сайта — как врезка be8_buhexpert. */
.nsi .nsi-related  { margin-top: 26px; border: 1px solid var(--nsi-blue-line); padding: 22px 28px; }
.nsi .nsi-related h2 { margin-bottom: 12px; }
.nsi .nsi-related__item + .nsi-related__item  { margin-top: 8px; }

.nsi .nsi-toast  { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 16px); background: var(--nsi-text); color: #fff; padding: 9px 16px; border-radius: var(--nsi-radius); font-size: 14px; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 9999; }
.nsi .nsi-toast.is-visible  { opacity: 1; transform: translate(-50%, 0); }

/* ── Поиск ─────────────────────────────────────────────── */
.nsi .nsi-results__count  { color: var(--nsi-muted); margin: 16px 0 8px; }
.nsi .nsi-result  { border-top: 1px solid var(--nsi-line); }
.nsi .nsi-result:last-child  { border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-result__link { display: block; padding: 12px 0; color: var(--nsi-text); }
.nsi .nsi-result__link:hover { text-decoration: none; }
.nsi .nsi-result__link:hover .nsi-result__title { color: var(--nsi-link); text-decoration: underline; }
.nsi .nsi-result__title  { display: block; font-weight: 500; }
.nsi .nsi-result__meta  { display: block; font-size: 13px; color: var(--nsi-muted); margin-top: 2px; }
.nsi.nsi-notfound  { max-width: 760px; }
.nsi .nsi-result__flag  { margin-left: 6px; font-style: italic; }
.nsi .nsi-result--card .nsi-result__title  { font-weight: 400; }

/* ── Страница группы ───────────────────────────────────── */
.nsi .nsi-section__more { font-size: 14px; white-space: nowrap; }
.nsi .nsi-group-page__head  { background: var(--nsi-plate); padding: 22px 30px; margin-bottom: 20px; }
.nsi .nsi-group-page__head h1 { margin-bottom: 8px; }
.nsi .nsi-group-page__lead  { max-width: 760px; }
.nsi .nsi-group-page__stats  { margin-top: 8px; font-size: 14px; color: var(--nsi-muted); }
.nsi .nsi-filter  { margin-bottom: 8px; }
.nsi .nsi-filter__search  { max-width: 760px; }
.nsi .nsi-filter__row  { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; margin-top: 12px; font-size: 14px; }
.nsi .nsi-filter__field  { display: inline-flex; gap: 8px; align-items: center; margin: 0; font-weight: 400; }
.nsi .nsi-filter__field span  { color: var(--nsi-muted); }
.nsi .nsi-filter__field select { height: 36px; max-width: 320px; margin: 0; padding: 0 8px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); font: 400 14px Roboto, sans-serif; color: var(--nsi-text); background: #fff; }
.nsi .nsi-filter__check  { display: inline-flex; gap: 6px; align-items: center; margin: 0; font-weight: 400; cursor: pointer; }
.nsi .nsi-filter__check input { margin: 0; }
.nsi .nsi-pager  { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 20px 0 32px; }
.nsi .nsi-pager__item { display: inline-block; min-width: 36px; padding: 6px 10px; text-align: center; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff; font-size: 14px; }
.nsi .nsi-pager__item:hover { border-color: var(--nsi-teal); text-decoration: none; }
.nsi .nsi-pager__item--current { background: var(--nsi-teal); border-color: var(--nsi-teal); color: #fff; }
.nsi .nsi-pager__gap  { color: var(--nsi-muted); padding: 0 4px; }
.nsi .nsi-group-page__others  { margin-top: 36px; }

/* ── Телефон и планшет ─────────────────────────────────── */
@media (max-width: 900px) {
	.nsi .nsi-doc__body--toc  { grid-template-columns: 1fr; }
	.nsi .nsi-toc  { position: static; max-height: 60vh; }
}
@media (max-width: 600px) {
	.nsi { padding: 14px 0 32px; }
	.nsi h1 { font-size: 22px; }
	.nsi .nsi-hero, .nsi .nsi-group-page__head  { padding: 20px 16px; }
	.nsi .nsi-filter__field, .nsi .nsi-filter__field select  { width: 100%; max-width: none; }
	.nsi .nsi-search__btn { padding: 0 14px; }
	.nsi .nsi-anchor { position: static; opacity: .6; margin-left: 6px; }
	.nsi .nsi-changes__grid, .nsi .nsi-columns  { grid-template-columns: 1fr; }
	.nsi .nsi-related  { padding: 16px; }
}

@media print {
	.nsi .nsi-crumbs, .nsi .nsi-doc__search, .nsi .nsi-actions, .nsi .nsi-toc, .nsi .nsi-related, .nsi .nsi-toast, .nsi .nsi-anchor  { display: none !important; }
	.nsi .nsi-doc__body--toc  { display: block; }
}

/* Боковое оглавление: длинные названия статей — в две строки, полностью видны в подсказке и на странице статьи. */
aside.nsi-toc .nsi-toc__item--article > a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
aside.nsi-toc .nsi-toc__item--article > a.is-active { -webkit-line-clamp: unset; }

/* Подсказки поиска и результаты. */
.nsi .nsi-suggest  { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; background: #fff; border: 1px solid var(--nsi-line); border-top: 0; box-shadow: 0 6px 18px rgba(51, 48, 90, .12); max-height: 70vh; overflow: auto; }
.nsi .nsi-suggest__item { display: block; padding: 8px 14px; color: var(--nsi-text); border-top: 1px solid var(--nsi-line); line-height: 1.3; }
.nsi .nsi-suggest__item:first-child { border-top: 0; }
.nsi .nsi-suggest__item:hover, .nsi .nsi-suggest__item.is-active { background: var(--nsi-plate); text-decoration: none; }
.nsi .nsi-suggest__label  { display: block; font-weight: 500; }
.nsi .nsi-suggest__item--exact .nsi-suggest__label  { color: var(--nsi-green); font-weight: 700; }
.nsi .nsi-suggest__meta  { display: block; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-result__snippet  { display: block; font-size: 14px; margin-top: 4px; color: var(--nsi-text); }
.nsi .nsi-result__snippet mark, .nsi .nsi-result__title mark  { background: #fff1a8; color: inherit; padding: 0 1px; }
.nsi .nsi-result--exact .nsi-result__title  { color: var(--nsi-green); font-weight: 700; font-size: 18px; }
.nsi .nsi-exact__note  { margin: 0 0 8px; color: #b06d00; font-size: 14px; }
.nsi .nsi-search-help  { margin-top: 20px; }
.nsi .nsi-search-help li  { margin: 4px 0 !important; }
.nsi.nsi-search-page .nsi-search  { margin-bottom: 26px; }

/* Телефон: оглавление и так идёт после текста (порядок задан выше), подсказку про ссылку на пункт прячем. */
@media (max-width: 900px) {
	.nsi .nsi-article__hint  { display: none; }
}

/* Материалы Бухэксперт к норме. */
.nsi .nsi-related__item  { line-height: 1.35; }
.nsi .nsi-related__item + .nsi-related__item  { margin-top: 10px !important; }
.nsi .nsi-related__meta  { display: block; font-size: 13px; color: var(--nsi-muted); margin-top: 2px; }
.nsi .nsi-related__more  { margin-top: 12px; }
.nsi .nsi-related__more summary  { cursor: pointer; color: var(--nsi-link); font-size: 14px; margin-bottom: 10px; }

/* Лента изменений. */
.nsi .nsi-chg-list  { margin: 0; }
.nsi .nsi-chg  { padding: 12px 0; border-top: 1px solid var(--nsi-line); scroll-margin-top: 20px; }
.nsi .nsi-chg:last-child  { border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-chg__head  { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.nsi .nsi-chg__doc { font-weight: 500; color: var(--nsi-text); }
.nsi a.nsi-chg__doc:hover { color: var(--nsi-link); }
.nsi .nsi-chg__list, .nsi .nsi-chg__note  { margin: 6px 0 0 108px !important; font-size: 14px; line-height: 1.6; }
.nsi .nsi-chg__note  { color: var(--nsi-muted); }
.nsi .nsi-chg__count  { color: var(--nsi-muted); margin-right: 4px; }
.nsi .nsi-chg__type  { color: var(--nsi-muted); font-size: 13px; }
.nsi .nsi-chg__item--removed  { text-decoration: line-through; }
.nsi .nsi-art-history  { margin-top: 28px; }
.nsi .nsi-art-history__all  { margin-top: 8px !important; font-size: 14px; }
@media (max-width: 600px) { .nsi .nsi-chg__list, .nsi .nsi-chg__note { margin-left: 0 !important; } }
.nsi .nsi-chg__head  { flex-wrap: nowrap; }
.nsi .nsi-chg__head .nsi-change__date  { flex: none; }
.nsi .nsi-chg__head .nsi-chg__doc  { flex: 1; min-width: 0; }
.nsi a.nsi-change__date { color: #fff; }
.nsi a.nsi-change__date:hover { text-decoration: none; opacity: .85; }
.nsi .nsi-chg__was { font-weight: 400; font-size: 14px; }
.nsi .nsi-notice--as-of  { border-color: #e09b00; background: #fffaf0; }
.nsi .nsi-notice--ocr    { border-color: #e09b00; background: #fffaf0; }

/* ── Справочники и календари ───────────────────────────── */
.nsi .nsi-ref-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-bottom: 30px; }
.nsi .nsi-ref-tile { display: block; height: 100%; padding: 16px 18px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); color: var(--nsi-text); background: #fff; }
.nsi .nsi-ref-tile:hover { border-color: var(--nsi-teal); text-decoration: none; }
.nsi .nsi-ref-tile__label { display: block; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; color: var(--nsi-teal); }
.nsi .nsi-ref-tile__value { display: block; font-family: Montserrat, sans-serif; font-weight: 900; font-size: 28px; color: var(--nsi-green); margin: 6px 0 2px; }
.nsi .nsi-ref-tile__value--small { font-size: 17px; line-height: 1.4; }
.nsi .nsi-ref-tile__value--small span { display: block; }
.nsi .nsi-ref-tile__meta { display: block; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-ref-big { font-size: 20px; margin: 4px 0 8px !important; }
.nsi .nsi-ref-big b { font-family: Montserrat, sans-serif; font-weight: 900; font-size: 34px; color: var(--nsi-green); }
.nsi .nsi-ref-note { margin: 0 0 10px !important; color: #b06d00; }
.nsi .nsi-ref-table { border-collapse: collapse; width: 100%; font-size: 15px; }
.nsi .nsi-ref-table th { text-align: left; font-weight: 700; font-size: 13px; color: var(--nsi-muted); border-bottom: 2px solid var(--nsi-line); padding: 8px 10px; }
.nsi .nsi-ref-table td { border-bottom: 1px solid var(--nsi-line); padding: 7px 10px; }
.nsi .nsi-ref-table tr.is-current td { background: #f3fbe9; }
.nsi .nsi-ref-table tr.is-main td { background: #fafafa; }
.nsi .nsi-ref-filter { font-size: 15px; padding: 7px 10px; border: 1px solid var(--nsi-line); border-radius: 6px; min-width: 260px; max-width: 100%; margin-left: 6px; }
.nsi .nsi-ref-table td.nsi-num, .nsi .nsi-ref-table td:last-child { white-space: nowrap; }
.nsi .nsi-ref-muted { color: var(--nsi-muted); font-size: 13px; }
.nsi .nsi-pending { font-size: 12px; color: #b07600; white-space: normal; }
.nsi .nsi-pending-edition { margin: 8px 0 12px; }
.nsi .nsi-up { color: var(--nsi-green); }
.nsi .nsi-down { color: var(--nsi-red); }
.nsi .nsi-ref-date { height: 36px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); padding: 0 8px; font: 400 14px Roboto, sans-serif; color: var(--nsi-text); }
.nsi .nsi-taxcal__nav { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 14px; }
.nsi .nsi-taxcal__prod { font-size: 14px; }
.nsi .nsi-taxcal__days { margin: 0; }
.nsi .nsi-taxcal__day { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--nsi-line); scroll-margin-top: 20px; }
.nsi .nsi-taxcal__day.is-past { opacity: .6; }
.nsi .nsi-taxcal__day.is-today .nsi-taxcal__num { color: var(--nsi-red); }
.nsi .nsi-taxcal__num { display: block; font-family: Montserrat, sans-serif; font-weight: 900; font-size: 30px; line-height: 1; color: var(--nsi-green); }
.nsi .nsi-taxcal__dow { display: block; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-taxcal__event + .nsi-taxcal__event { margin-top: 8px; }
.nsi .nsi-taxcal__event summary { cursor: pointer; }
.nsi .nsi-taxcal__event ul { margin: 6px 0 0 18px !important; font-size: 14px; }
.nsi .nsi-taxcal__event li { margin: 4px 0 !important; }
.nsi .nsi-taxcal__mat { margin: 8px 0 0 !important; font-size: 14px; }
.nsi .nsi-taxcal__mat-label { color: var(--nsi-muted); margin-right: 4px; }
.nsi .nsi-taxcal__mat-sep { color: var(--nsi-muted); margin: 0 4px; }
.nsi .nsi-taxcal__mat .nsi-related__meta { margin-left: 6px; font-size: 12px; color: var(--nsi-muted); white-space: nowrap; }
.nsi .nsi-taxcal__kind { display: inline-block; margin-left: 6px; font-size: 12px; padding: 0 6px; border-radius: var(--nsi-radius); background: var(--nsi-plate); color: var(--nsi-muted); }
.nsi .nsi-taxcal__kind--payment { background: #fdecee; color: var(--nsi-red); }
.nsi .nsi-prodcal__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; margin-bottom: 14px; }
.nsi .nsi-prodcal__month table { border-collapse: collapse; width: 100%; font-size: 14px; text-align: center; }
.nsi .nsi-prodcal__month th { font-weight: 400; color: var(--nsi-muted); font-size: 12px; padding: 2px; }
.nsi .nsi-prodcal__month td { padding: 4px 2px; }
.nsi.nsi-prodcal td.is-weekend, .nsi .nsi-prodcal__legend .is-weekend { color: var(--nsi-red); }
.nsi.nsi-prodcal td.is-holiday, .nsi .nsi-prodcal__legend .is-holiday { background: var(--nsi-red); color: #fff; }
.nsi.nsi-prodcal td.is-transfer, .nsi .nsi-prodcal__legend .is-transfer { background: #fdecee; color: var(--nsi-red); }
.nsi.nsi-prodcal td.is-short, .nsi .nsi-prodcal__legend .is-short { background: #e6f9fb; }
.nsi .nsi-prodcal__stat { font-size: 13px; margin-top: 4px !important; color: var(--nsi-muted); }
.nsi .nsi-prodcal__legend { font-size: 13px; margin: 0 0 28px !important; }
.nsi .nsi-prodcal__legend span { display: inline-block; padding: 1px 8px; margin-right: 8px; border-radius: var(--nsi-radius); }
@media (max-width: 600px) { .nsi .nsi-taxcal__day { grid-template-columns: 1fr; gap: 6px; } }
.nsi .nsi-related__paid { display: inline-block; margin-left: 4px; padding: 0 6px; font-size: 12px; border-radius: var(--nsi-radius); background: #fdecee; color: var(--nsi-red); }

/* «Было / стало» (шаг 13). */
.nsi .nsi-compare { border: 1px solid var(--nsi-line); padding: 16px 20px; margin: 0 0 24px; background: #fff; }
.nsi .nsi-compare__legend del, .nsi .nsi-compare__text del { background: #fde2e1; color: #8a1c14; text-decoration: line-through; }
.nsi .nsi-compare__legend ins, .nsi .nsi-compare__text ins { background: #dcf5d3; color: #1f5f12; text-decoration: none; }
.nsi .nsi-compare__row { border-top: 1px solid var(--nsi-line); padding: 10px 0; }
.nsi .nsi-compare__label { font-weight: 700; margin: 0 0 4px !important; }
.nsi .nsi-compare__text { line-height: 1.55; white-space: pre-line; }
.nsi .nsi-compare__row--added .nsi-compare__text ins, .nsi .nsi-compare__row--removed .nsi-compare__text del { display: block; }

/* Подписка на изменения (шаг 16) */
.nsi .nsi-subscribe { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.nsi .nsi-subscribe__link { font-size: 14px; }
.nsi .nsi-subscribe__done { flex-basis: 100%; margin: 6px 0 0; font-size: 14px; color: var(--nsi-green); }
.nsi .nsi-subscriptions__row { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; cursor: pointer; }
.nsi .nsi-subscriptions__row input { margin-top: 5px; }
/* Тема красит button[type=submit] (белый текст, прописные) — возвращаем вид кнопки НСИ. */
.nsi .nsi-subscribe button.nsi-btn--light { display: inline-flex; background: #fff; color: var(--nsi-text); border: 1px solid var(--nsi-line); text-transform: none; }
.nsi .nsi-subscribe button.nsi-btn--light:hover { background: var(--nsi-plate); color: var(--nsi-text); }
.nsi.nsi-subscriptions button.nsi-btn, .nsi.nsi-subscriptions a.nsi-btn { display: inline-flex; color: #fff; text-transform: none; }

/* Судебная практика к статье (шаг 17) */
.nsi .nsi-court__snippet { display: block; font-style: italic; margin-top: 2px; }

/* Готовятся изменения (шаг 18) */
.nsi .nsi-projects summary { cursor: pointer; }
.nsi .nsi-projects__list { margin: 10px 0 6px 18px; }
.nsi .nsi-projects__list li { margin: 6px 0; }
.nsi .nsi-projects__list .nsi-ref-muted { display: block; font-size: 13px; }
.nsi.nsi-projects-page .nsi-doclist p a { display: inline; padding: 0; color: var(--nsi-link); }
.nsi.nsi-projects-page .nsi-doclist p { margin: -4px 0 8px; }

/* Подписка на налоговый календарь (D-047) */
.nsi .nsi-calsub { border: 1px solid var(--nsi-line); padding: 18px 24px; margin-top: 30px; }
.nsi .nsi-calsub__presets { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nsi .nsi-calsub__presets button.nsi-chip { cursor: pointer; font: inherit; font-size: 14px; text-transform: none; color: var(--nsi-text); background: #fff; }
.nsi .nsi-calsub__topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px 20px; border: 0; padding: 0; margin: 12px 0; }
.nsi .nsi-calsub__topics label, .nsi .nsi-calsub__kinds label { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
.nsi .nsi-calsub__kinds { border: 0; padding: 0; margin: 10px 0; display: flex; gap: 20px; flex-wrap: wrap; }
.nsi .nsi-calsub__kinds legend { font-weight: 500; margin-right: 8px; float: left; }
.nsi .nsi-calsub__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.nsi .nsi-calsub__buttons button.nsi-btn { display: inline-flex; text-transform: none; color: #fff; }
.nsi .nsi-calsub__buttons button.nsi-btn--light { background: #fff; color: var(--nsi-text); border: 1px solid var(--nsi-line); }
.nsi a.nsi-subscribe__tg { color: var(--nsi-text); }

/* D-071: ссылки на нормы внутри текста — заметные, но не кричащие */
.nsi .nsi-autolink { color: inherit; text-decoration: underline; text-decoration-color: rgba(0, 150, 199, .45); text-underline-offset: 2px; }
.nsi .nsi-autolink:hover { color: #0096c7; text-decoration-color: currentColor; }
.nsi .nsi-notice--future { border-color: #0096c7; background: #eef8fc; }
.nsi .nsi-projects__mine { color: #0077a0; margin-left: 4px; }
.nsi .nsi-search-filter { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin: 14px 0 6px; font-size: 14px; }
.nsi .nsi-search-filter select { margin-left: 6px; max-width: 280px; }
.nsi .nsi-search-filter__reset { font-size: 13px; }
.nsi .nsi-taxcal__left { display: inline-block; margin-top: 4px; padding: 1px 6px; border-radius: 3px; background: #fff3cd; color: #8a5a00; font-size: 12px; }
.nsi .nsi-taxcal__filter { margin-bottom: 18px; }
.nsi .nsi-calc { border: 1px solid var(--nsi-blue-line, #9fd3e6); padding: 16px 20px; }
.nsi .nsi-calc__form { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: flex-end; }
.nsi .nsi-calc__form label { display: flex; flex-direction: column; font-size: 13px; gap: 4px; }
.nsi .nsi-calc__form input, .nsi .nsi-calc__form select { min-height: 36px; padding: 4px 8px; }
.nsi .nsi-calc__total { font-size: 18px; margin: 14px 0 8px; }

/* Карточка классификатора: своего текста нет, зато есть коды (D-074). */
.nsi .nsi-notice--classifier .nsi-notice__actions { margin: 10px 0 0; }
.nsi .nsi-notice--classifier .nsi-notice__hint { margin: 8px 0 0; color: var(--nsi-muted); font-size: 13px; }

/* Материалы к пункту (D-086): значок с числом у абзаца, по клику — список. */
.nsi .nsi-mat__btn { margin-left: 8px; padding: 1px 8px 1px 6px; border: 1px solid var(--nsi-line); border-radius: 11px; background: #fff; color: var(--nsi-muted); font: inherit; font-size: 12px; line-height: 18px; cursor: pointer; vertical-align: 2px; white-space: nowrap; }
.nsi .nsi-mat__btn:hover { border-color: var(--nsi-teal); color: var(--nsi-teal-dark); }
.nsi .nsi-mat__btn[aria-expanded="true"] { border-color: var(--nsi-teal); background: var(--nsi-plate); color: var(--nsi-teal-dark); }
.nsi .nsi-mat__icon { display: inline-block; width: 12px; height: 12px; margin-right: 4px; vertical-align: -1px; background: currentColor; -webkit-mask: var(--nsi-mat-icon) center/contain no-repeat; mask: var(--nsi-mat-icon) center/contain no-repeat; }
.nsi { --nsi-mat-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3 2h7l3 3v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 1v3h3M5 8h6M5 11h6"  fill="none" stroke="black" stroke-width="1.4"/></svg>'); }
.nsi .nsi-mat { margin: 8px 0 12px; padding: 12px 14px; border-left: 3px solid var(--nsi-teal); background: var(--nsi-plate); font-size: 14px; }
.nsi .nsi-mat__head { margin: 10px 0 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; color: var(--nsi-muted); }
.nsi .nsi-mat__head:first-child { margin-top: 0; }
.nsi .nsi-mat__list { margin: 0; padding-left: 18px; }
.nsi .nsi-mat__list li { margin: 3px 0; }
.nsi .nsi-mat__meta { margin-left: 6px; color: var(--nsi-muted); font-size: 12px; }
.nsi .nsi-mat__empty { margin: 0; color: var(--nsi-muted); }
@media print { .nsi .nsi-mat, .nsi .nsi-mat__btn { display: none !important; } }

/* Навигация внутри статьи (D-088): пункты этой статьи в боковой колонке и кнопка «наверх». */
.nsi .nsi-inarticle { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-inarticle__n { margin-left: 6px; padding: 0 6px; border-radius: 9px; background: var(--nsi-teal); color: #fff; font-size: 11px; font-weight: 700; vertical-align: 1px; }
.nsi .nsi-inarticle__list { margin: 10px 0 0; max-height: 46vh; overflow: auto; }
.nsi .nsi-inarticle__list li { border-bottom: 1px solid rgba(0, 0, 0, .05); }
.nsi .nsi-inarticle__list a { display: block; padding: 7px 4px; color: var(--nsi-text); font-size: 13px; line-height: 1.35; }
.nsi .nsi-inarticle__list a:hover { background: #fff; text-decoration: none; color: var(--nsi-link); }
.nsi .nsi-inarticle__list a b { color: var(--nsi-teal-dark); }
.nsi .nsi-inarticle__list a.is-here { background: #fff; border-left: 3px solid var(--nsi-teal); padding-left: 8px; font-weight: 500; }

.nsi-up {
	position: fixed; right: 24px; bottom: 24px; z-index: 40; width: 44px; height: 44px;
	border: 1px solid #e0e2ea; border-radius: 50%; background: #fff; color: #00a5b3; /* вне .nsi — без переменных */
	cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}
.nsi-up::before { content: ''; display: block; width: 12px; height: 12px; margin: 4px auto 0; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); }
.nsi-up:hover { border-color: var(--nsi-teal); color: var(--nsi-teal); }
@media (max-width: 900px) {
	.nsi-up { right: 14px; bottom: 76px; }
	/* Телефон: оглавление и пункты — над текстом, свёрнутые: иначе до них не долистать. */
	.nsi .nsi-doc__body--toc > aside.nsi-toc { order: 0; }
	.nsi .nsi-inarticle__list { max-height: 50vh; }
	.nsi .nsi-inarticle__list a, .nsi .nsi-toc__list a { padding-top: 10px; padding-bottom: 10px; }
}
@media print { .nsi-up, .nsi .nsi-inarticle { display: none !important; } }

/* ── Правки по опросу редакции 22.09.2026 (D-091) ─────────────────────────────
 * Что просили: видеть номера пунктов, сворачивать оглавление, копировать названия
 * из оглавления, печатать без шапки сайта.
 */

/* Номер пункта — зацепка для глаза: «если искать конкретный пункт, то один сплошной текст». */
.nsi .nsi-text .nsi-u__num  { font-weight: 700; color: var(--nsi-text); }
/* Пункты верхнего уровня отделены воздухом — так видно, где кончается один и начинается другой. */
.nsi .nsi-text > .nsi-u--p, .nsi .nsi-text > .nsi-u--ch  { margin-top: 16px; }
.nsi .nsi-text > .nsi-u--p:first-child, .nsi .nsi-text > .nsi-u--ch:first-child  { margin-top: 0; }

/* Оглавление: глава без ссылки (клик раскрывает её статьи) и кнопка «скопировать название». */
.nsi .nsi-toc__branch  { display: block; font-weight: 700; padding: 3px 0; line-height: 1.35; color: var(--nsi-text); }
.nsi .nsi-toc__group summary  { display: flex; align-items: flex-start; gap: 4px; }
.nsi .nsi-toc__group summary > :first-child  { flex: 1 1 auto; min-width: 0; }
.nsi .nsi-toc__item  { position: relative; }
.nsi .nsi-toc__copy {
	flex: 0 0 auto; width: 22px; height: 22px; margin-top: 2px; padding: 0; border: 0; background: none;
	cursor: pointer; opacity: 0; transition: opacity .12s;
}
.nsi .nsi-toc__item > .nsi-toc__copy  { position: absolute; right: 0; top: 1px; }
.nsi .nsi-toc__copy::before {
	content: ""; display: block; width: 10px; height: 12px; margin: 4px auto;
	border: 1.5px solid var(--nsi-muted); border-radius: 2px; box-shadow: 3px -3px 0 -1.5px #fff, 4px -4px 0 -2.5px var(--nsi-muted);
}
.nsi .nsi-toc__item:hover > .nsi-toc__copy, .nsi .nsi-toc__group summary:hover .nsi-toc__copy, .nsi .nsi-toc__copy:focus  { opacity: 1; }
.nsi .nsi-toc__copy:hover::before  { border-color: var(--nsi-teal-dark); box-shadow: 3px -3px 0 -1.5px #fff, 4px -4px 0 -2.5px var(--nsi-teal-dark); }
.nsi .nsi-toc__item > a  { padding-right: 24px; }

/* Кнопка «скрыть оглавление»: текст во всю ширину — просили в опросе. */
.nsi .nsi-toc-toggle {
	display: flex; align-items: center; gap: 6px; height: 28px; margin: 0 0 12px auto; padding: 0 8px;
	border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff;
	font: 400 13px Roboto, sans-serif; color: var(--nsi-muted); cursor: pointer;
}
.nsi .nsi-toc-toggle:hover  { color: var(--nsi-teal-dark); border-color: var(--nsi-teal); }
/* Свёрнутое оглавление — узкая полоска с кнопкой: текст нормы получает всю ширину. */
.nsi .nsi-doc__body--toc.is-toc-hidden  { grid-template-columns: minmax(0, 1fr) auto; }
.nsi .nsi-doc__body--toc.is-toc-hidden > aside.nsi-toc  { background: none; padding: 0; }
.nsi .nsi-doc__body--toc.is-toc-hidden > aside.nsi-toc > :not(.nsi-toc-toggle)  { display: none; }
.nsi .nsi-doc__body--toc.is-toc-hidden .nsi-toc-toggle__t  { display: none; }

@media (max-width: 900px) {
	.nsi .nsi-toc-toggle  { display: none; }
	.nsi .nsi-doc__body--toc.is-toc-hidden > aside.nsi-toc  { background: var(--nsi-plate); padding: 18px 16px; }
	.nsi .nsi-doc__body--toc.is-toc-hidden > aside.nsi-toc > *  { display: revert; }
}

/*
 * Печать: на бумагу уходит только текст нормы. Шапка, меню и подвал темы перекрывали текст —
 * это единственное место, где плагин трогает элементы страницы за пределами .nsi, и только в print.
 */
@media print {
	header, footer, nav, aside, .site-header, .site-footer, #header, #footer,
	.menu, .main-menu, .top-panel, .breadcrumbs, .sidebar, .widget-area,
	.be8-sticky, .be8-header, .be8-footer, .be8-menu, [class*="sticky"], [class*="popup"], [class*="banner"],
	.cookie, .cookies, .subscribe-form  { display: none !important; }
	.nsi header.nsi-doc__head  { display: block !important; }
	body  { background: #fff !important; }
	.nsi  { max-width: none !important; padding: 0 !important; }
	.nsi .nsi-text, .nsi .nsi-preamble  { max-width: none !important; }
	.nsi .nsi-text  { font-size: 12pt; }
	.nsi .nsi-toc-toggle, .nsi .nsi-toc__copy, .nsi .nsi-artnav  { display: none !important; }
	/* Аудит 13.10.2026: на бумаге — реквизиты документа и статус (фон бейджей не печатается: тёмный текст с рамкой). */
	.nsi .nsi-doc__passing  { display: block !important; }
	.nsi .nsi-badge  { background: none !important; color: #000 !important; border: 1px solid #000; }
	.nsi .nsi-u, .nsi .nsi-block  { break-inside: avoid; }
	.nsi a  { color: inherit; text-decoration: none; }
}

/* Поиск по тексту документа — в боковой колонке, над оглавлением (D-091). */
.nsi .nsi-find  { margin: 0 0 14px; padding: 0 0 14px; border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-find__label  { display: block; font: 700 12px Montserrat, sans-serif; text-transform: uppercase; color: var(--nsi-teal); margin-bottom: 6px; }
.nsi .nsi-find__row  { display: flex; gap: 4px; }
.nsi .nsi-find__input { flex: 1 1 auto; min-width: 0; height: 34px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); padding: 0 10px; font: 400 14px Roboto, sans-serif; background: #fff; box-shadow: none; }
.nsi .nsi-find__nav { flex: 0 0 auto; width: 30px; height: 34px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff; cursor: pointer; color: var(--nsi-muted); font-size: 14px; }
.nsi .nsi-find__nav:hover  { color: var(--nsi-teal-dark); border-color: var(--nsi-teal); }
.nsi .nsi-find__count  { margin: 6px 0 0; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-text mark.nsi-find__hit  { background: #ffe9a8; color: inherit; padding: 0; }
.nsi .nsi-text mark.nsi-find__hit.is-current  { background: #ffc400; box-shadow: 0 0 0 2px #ffc400; }
@media print { .nsi .nsi-find { display: none !important; } .nsi .nsi-text mark.nsi-find__hit { background: none; box-shadow: none; } }

/* Дата вступления в силу — отдельной меткой рядом со статусом; ведёт к пункту, откуда взята (D-091). */
.nsi .nsi-badge--force  { background: #6b5fd0; color: #fff; text-decoration: none; }
.nsi .nsi-badge--force:hover  { background: #5a4fc0; color: #fff; }

/* Какие статьи затронуты изменением — прямо в ленте (D-091). */
.nsi .nsi-change__touched  { margin: 2px 0 0 0; padding-left: 74px; font-size: 13px; color: var(--nsi-muted); line-height: 1.4; }
.nsi .nsi-change__touched a  { color: var(--nsi-link); }
@media (max-width: 600px) { .nsi .nsi-change__touched { padding-left: 0; } }

/* Аннотация к письму и судебному акту в панели материалов (D-091). */
.nsi .nsi-mat__about  { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--nsi-text); opacity: .8; }
/*
 * D-118: шапка документа и статьи — компактно. Под заголовком одна строка (статус, редакция, избранное), ниже —
 * панель одним рядом: поиск по тексту, «Ссылка», «Word», «Печать», размер текста. Было пять-шесть строк.
 */
.nsi .nsi-doc__head  { margin-bottom: 14px; }
/* D-126: «Вносит изменения в …» под заголовком документа о внесении изменений. */
.nsi .nsi-doc__amends  { margin: -10px 0 8px; font-size: 15px; color: var(--nsi-muted); }
.nsi .nsi-doc__line  { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 4px 0 0; font-size: 14px; color: var(--nsi-muted); }
.nsi .nsi-doc__line .nsi-badge  { margin: 0; }
.nsi .nsi-doc__ed b  { color: var(--nsi-text); font-weight: 700; }
.nsi .nsi-doc__ed[title]:not([title=""])  { cursor: help; }
.nsi .nsi-doc__fav  { margin-left: auto; }
.nsi .nsi-doc__fav .nsi-fav  { padding: .35rem .7rem; }
@media print { .nsi .nsi-doc__fav { display: none !important; } }

.nsi .nsi-toolbar  { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; margin: 0 0 18px; padding: 8px 0; border-top: 1px solid var(--nsi-line); border-bottom: 1px solid var(--nsi-line); background: #fff; }
.nsi .nsi-toolbar .nsi-tool  { flex: 0 0 auto; height: 34px; padding: 0 10px; gap: 6px; font-size: 14px; white-space: nowrap; }
.nsi .nsi-toolbar .nsi-tool svg  { width: 16px; height: 16px; flex-shrink: 0; }
.nsi .nsi-toolbar .nsi-subscribe  { flex: 0 0 auto; margin: 0; }
.nsi .nsi-toolbar .nsi-fontsize  { flex: 0 0 auto; margin-left: 4px; }
.nsi .nsi-toolbar .nsi-fontsize__label  { display: none; }

/* Поиск — первым в панели и забирает всё свободное место. */
.nsi .nsi-toolbar .nsi-find  { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; border: 0; }
.nsi .nsi-find__row  { position: relative; align-items: center; }
.nsi .nsi-find__icon  { position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; margin-top: -8px; color: var(--nsi-muted); pointer-events: none; }
.nsi .nsi-find .nsi-find__input  { padding-left: 32px; }
.nsi .nsi-find .nsi-find__count  { flex: 0 0 auto; margin: 0 4px; font-size: 13px; color: var(--nsi-muted); white-space: nowrap; }
.nsi .nsi-find .nsi-find__count:empty  { display: none; }
.nsi .nsi-find__close  { display: none; flex: 0 0 auto; width: 30px; height: 34px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff; cursor: pointer; color: var(--nsi-muted); font: 400 20px/1 Roboto, sans-serif; padding: 0; }
.nsi .nsi-find__close:hover  { color: #c0392b; border-color: #c0392b; }
.nsi .nsi-find.is-active .nsi-find__close  { display: inline-block; }
/* Стрелки нужны, только когда есть что листать. */
.nsi .nsi-toolbar .nsi-find:not(.is-active) .nsi-find__nav  { display: none; }

/* Пока ищут — панель прилипает к верху экрана (is-active, 12.10.2026); top выставляет скрипт — под закреплённой
   шапкой сайта. Без панели (страницы без неё) так же прилипает сам поиск; в боковой колонке — к её верху. */
.nsi .nsi-find--inline.is-active, .nsi .nsi-find.is-active  { position: sticky; top: 0; z-index: 30; }
.nsi .nsi-toolbar.is-active  { border-top-color: transparent; }
.nsi .nsi-find.nsi-find--inline.is-active  { background: #fff; padding: 8px 0; margin-top: -8px; }
.nsi .nsi-toolbar .nsi-find.is-active  { position: static; }
.nsi .nsi-toc .nsi-find.is-active  { background: var(--nsi-plate); margin-top: -18px; padding-top: 18px; }
.nsi .nsi-find--inline.is-stuck  { box-shadow: 0 8px 12px -10px rgba(0, 0, 0, .35); }

/* D-127: «Где я в тексте» — полоса сверху при прокрутке (статья и пункт), как в К+. Вне .nsi (в body) — свои сбросы. */
body .nsi-context  { position: fixed; z-index: 35; box-sizing: border-box; background: rgba(255, 255, 255, .97); border-bottom: 1px solid #e3e6ea; box-shadow: 0 6px 10px -10px rgba(0, 0, 0, .4); }
body .nsi-context[hidden]  { display: none; }
body .nsi-context .nsi-context__go  { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 0; height: auto; margin: 0; padding: 7px 4px; border: 0; border-radius: 0; background: none; box-shadow: none;
	font: 400 14px/1.35 Roboto, Arial, sans-serif; color: #5b6470; text-transform: none; letter-spacing: normal; text-align: left; cursor: pointer; }
body .nsi-context .nsi-context__go:hover .nsi-context__title  { color: #0271b6; }
body .nsi-context .nsi-context__arrow  { flex: 0 0 auto; color: #9aa3ad; }
body .nsi-context .nsi-context__title  { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #2b2f36; }
body .nsi-context .nsi-context__point  { flex: 0 0 auto; padding: 1px 8px; border-radius: 10px; background: #eef7f8; color: #0b8a95; font-weight: 700; font-size: 13px; }
body .nsi-context .nsi-context__point[hidden]  { display: none; }
@media print { body .nsi-context { display: none !important; } }

/* D-119: «О чём письмо — по публикациям Бухэксперт» у документа без текста. */
.nsi .nsi-mentions  { margin: 0 0 22px; }
.nsi .nsi-mentions h2  { font-size: 18px; margin-bottom: 12px; }
.nsi .nsi-mention  { margin: 0 0 14px; padding: 14px 18px; border-left: 3px solid var(--nsi-teal); background: var(--nsi-plate); }
.nsi .nsi-mention__head  { margin: 0 0 6px; font-weight: 700; color: var(--nsi-text); }
.nsi .nsi-mention__text  { margin: 0 0 8px; padding: 0; border: 0; font: 400 16px/1.55 Roboto, sans-serif; color: var(--nsi-text); quotes: none; background: none; text-align: left; }
.nsi .nsi-mention__text::before, .nsi .nsi-mention__text::after  { content: none; }
.nsi .nsi-mention__src  { font-size: 14px; }
.nsi .nsi-mention__src span  { margin-left: 8px; color: var(--nsi-muted); font-size: 13px; }

@media (max-width: 700px) {
	.nsi .nsi-toolbar  { flex-wrap: wrap; }
	.nsi .nsi-toolbar .nsi-find  { flex-basis: 100%; }
	.nsi .nsi-toolbar .nsi-tool__label  { display: none; }
	.nsi .nsi-toolbar .nsi-tool  { padding: 0 9px; }
	.nsi .nsi-toolbar .nsi-fontsize  { margin-left: auto; }
	.nsi .nsi-doc__fav  { margin-left: 0; }
}

/* Лента свежих писем ведомств на главной (D-091). */
.nsi .nsi-freshletters__list  { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nsi .nsi-freshletters__item  { padding-bottom: 12px; border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-freshletters__item:last-child  { border-bottom: 0; padding-bottom: 0; }
.nsi .nsi-freshletters__link  { display: flex; gap: 10px; align-items: baseline; text-decoration: none; }
.nsi .nsi-freshletters__date  { flex: 0 0 auto; font-size: 13px; color: var(--nsi-muted); font-variant-numeric: tabular-nums; min-width: 74px; }
.nsi .nsi-freshletters__title  { color: var(--nsi-link); }
.nsi .nsi-freshletters__link:hover .nsi-freshletters__title  { text-decoration: underline; }
.nsi .nsi-freshletters__meta  { display: block; margin-left: 84px; font-size: 13px; color: var(--nsi-muted); }
@media (max-width: 600px) {
	.nsi .nsi-freshletters__link  { display: block; }
	.nsi .nsi-freshletters__meta  { margin-left: 0; }
}

/* Размер текста нормы: три ступени (D-091). Меняется только текст, ширина колонки — в em, поэтому строка
   остаётся в тех же 66 знаках. */
/* Ширина задана в em, поэтому растёт вместе со шрифтом: в строке остаётся те же ~66 знаков —
   иначе при 20px строка стала бы вдвое короче нормы и читалась бы рвано. */
.nsi .nsi-text--m  { font-size: 18px; }
.nsi .nsi-text--l  { font-size: 20px; }
.nsi .nsi-fontsize  { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; }
.nsi .nsi-fontsize__label  { font-size: 13px; color: var(--nsi-muted); margin-right: 2px; }
.nsi .nsi-fontsize__btn {
	width: 28px; height: 28px; padding: 0; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius);
	background: #fff; color: var(--nsi-muted); cursor: pointer; line-height: 1;
}
.nsi .nsi-fontsize__btn--s  { font-size: 12px; }
.nsi .nsi-fontsize__btn--m  { font-size: 15px; }
.nsi .nsi-fontsize__btn--l  { font-size: 18px; }
.nsi .nsi-fontsize__btn.is-on  { border-color: var(--nsi-teal); color: var(--nsi-teal-dark); font-weight: 700; }
.nsi .nsi-fontsize__btn:hover  { border-color: var(--nsi-teal); }
@media print { .nsi .nsi-fontsize { display: none !important; } }

/* Консультации и эфиры — двумя блоками рядом (D-091). */
.nsi .nsi-media  { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 0 0 16px; }
.nsi .nsi-media__box  { margin: 0; height: 100%; }
.nsi .nsi-media__box h2  { font-size: 16px; }
@media (max-width: 700px) { .nsi .nsi-media { grid-template-columns: 1fr; } }

/*
 * Тема задаёт `.site-content p, ul, li, a, span { font-size: 16px }` — это перебивает наследование
 * от .nsi-text, и переключатель размера менял только контейнер (D-091). Возвращаем наследование:
 * 1em берётся от ближайшего родителя, поэтому врезки (15px) и таблицы (14px) сохраняют свой масштаб.
 */
.nsi .nsi-text p, .nsi .nsi-text li, .nsi .nsi-text span, .nsi .nsi-text a,
.nsi .nsi-text td, .nsi .nsi-text th, .nsi .nsi-text b, .nsi .nsi-text i,
.nsi .nsi-preamble p, .nsi .nsi-preamble span, .nsi .nsi-preamble a  { font-size: 1em; }
/*
 * D-130: панель материалов к пункту — вариант «b» стенда (выбран 13.10.2026): вкладки с числами, 6 материалов,
 * «Показать все N». Селекторы через «.nsi .nsi-mat …»: внутри текста нормы общие правила `.nsi li { padding: 0 }`
 * и `.nsi .nsi-text li, a { font-size: 1em }` иначе сбивали отступы и размер (D-129).
 */
.nsi .nsi-mat  { padding: 10px 16px 12px; font-family: Roboto, Arial, sans-serif; }
.nsi .nsi-mat .nsi-mat__tabs  { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 4px; border-bottom: 1px solid #e3e2ec; }
.nsi .nsi-mat .nsi-mat__tab  { margin: 0 0 -1px; padding: 7px 12px 6px; min-height: 0; height: auto; border: 0; border-bottom: 2px solid transparent; border-radius: 0;
	background: none; box-shadow: none; cursor: pointer; font: 500 13px/1.3 Roboto, Arial, sans-serif; color: #55536f; text-transform: none; letter-spacing: normal; }
.nsi .nsi-mat .nsi-mat__tab:hover  { color: #33305a; }
.nsi .nsi-mat .nsi-mat__tab.is-on  { border-bottom-color: var(--nsi-teal); color: #33305a; }
.nsi .nsi-mat .nsi-mat__tabn  { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 9px; background: #ececf2; color: #55536f; font-size: 11px; line-height: 16px; text-align: center; }
.nsi .nsi-mat .nsi-mat__tab.is-on .nsi-mat__tabn  { background: var(--nsi-teal); color: #fff; }
.nsi .nsi-mat .nsi-mat__body  { padding-top: 2px; }
.nsi .nsi-mat .nsi-mat__items  { margin: 0; padding: 0; }
.nsi .nsi-mat .nsi-mat__item  { padding: 7px 0; border-bottom: 1px solid #ececf2; font-size: 14px; line-height: 1.35; text-align: left; text-indent: 0; }
.nsi .nsi-mat .nsi-mat__item:last-child  { border-bottom: 0; }
.nsi .nsi-mat .nsi-mat__t  { font-size: 14px; line-height: 1.35; color: #0f6fa8; text-decoration: none; }
.nsi .nsi-mat .nsi-mat__t:hover  { text-decoration: underline; }
.nsi .nsi-mat .nsi-mat__meta  { display: block; margin: 2px 0 0; font-size: 12px; line-height: 1.35; color: #85839c; }
.nsi .nsi-mat .nsi-mat__about  { font-size: 13px; }
.nsi .nsi-mat .nsi-mat__all  { margin: 10px 0 0; padding: 6px 12px; min-height: 0; height: auto; border: 1px solid #d9d8e6; border-radius: 4px; background: #fff; box-shadow: none;
	font: 500 13px/1.3 Roboto, Arial, sans-serif; color: #0f6fa8; text-transform: none; letter-spacing: normal; cursor: pointer; }
.nsi .nsi-mat .nsi-mat__all:hover  { border-color: var(--nsi-teal); }
.nsi .nsi-mat .nsi-mat__empty  { font-size: 14px; text-indent: 0; }

.nsi .nsi-related__rest  { margin: 10px 0 0; font-size: 13px; color: var(--nsi-muted); }

.nsi .nsi-change__soon  { border-bottom: 1px dotted var(--nsi-line); }

/*
 * Печать — надёжно (D-091). Список классов темы (шапка, меню) не спас: слева печаталась фиксированная
 * панель .activity-feed-container с рубрикаторами и эфирами. Теперь скрываем всё, что не содержит блок НСИ
 * и не лежит внутри него, а предкам блока убираем отступы под боковые панели. :has() есть во всех
 * актуальных браузерах; на старых остаётся явный список ниже.
 */
@media print {
	body *:not(:has(.nsi)):not(.nsi):not(.nsi *)  { display: none !important; }
	body *:has(.nsi)  {
		display: block !important;
		margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important;
		position: static !important; width: auto !important; max-width: none !important; min-height: 0 !important;
		transform: none !important; background: #fff !important; float: none !important;
	}
	/* Не .activity-pad: этот класс у темы и на шапке, и на обёртке контента — скрылся бы весь текст. */
	.activity-feed-container, #wpadminbar  { display: none !important; }
	html, body  { margin: 0 !important; padding: 0 !important; background: #fff !important; }
	.nsi .nsi-find, .nsi .nsi-inarticle, .nsi .nsi-media, .nsi .nsi-related, .nsi .nsi-art-history, .nsi .nsi-mat  { display: none !important; }
	@page  { margin: 15mm 15mm 15mm 20mm; }
}
@media print {
	.nsi .nsi-article__hint, .nsi .nsi-pending, .nsi .nsi-projects, .nsi .nsi-notice--future, .nsi .nsi-fontsize, .nsi .nsi-mat__btn, .nsi .nsi-anchor  { display: none !important; }
	.nsi .nsi-text a  { border: 0 !important; }
}

/* Календарь бухгалтера (D-098): профиль, виды, сетка, «сделано», штрафы, посадочные страницы сроков. */
.nsi .nsi-taxcal__views { display: inline-flex; flex-wrap: wrap; gap: 6px 14px; margin-left: 8px; }
.nsi .nsi-taxcal__views .nsi-chip.is-active, .nsi .nsi-taxcal__orgs .nsi-chip.is-active { color: var(--nsi-text); border-bottom-style: solid; font-weight: 700; }
.nsi .nsi-taxcal__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0 !important; font-size: 14px; }
.nsi .nsi-taxcal__profile { margin: 18px 0; padding: 12px 16px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fafbfd; }
.nsi .nsi-taxcal__orgs { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 8px !important; font-size: 14px; }
.nsi .nsi-taxcal__orgs > span { color: var(--nsi-muted); }
.nsi .nsi-taxcal__pform > summary { cursor: pointer; }
.nsi .nsi-taxcal__pedit { margin-left: 6px; color: var(--nsi-link); font-size: 14px; border-bottom: 1px dashed currentColor; }
.nsi .nsi-taxcal__pform form { margin-top: 10px; }
.nsi .nsi-taxcal__pform fieldset { border: 0; padding: 0; margin: 0 0 10px; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.nsi .nsi-taxcal__pform legend { width: 100%; font-weight: 700; font-size: 14px; margin-bottom: 2px; }
.nsi .nsi-taxcal__pform label { font-size: 14px; white-space: nowrap; }
.nsi .nsi-taxcal__flags label { white-space: normal; }
.nsi .nsi-taxcal__pbtns { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 4px !important; }
.nsi .nsi-taxcal__tools { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 10px; font-size: 14px; }
.nsi .nsi-taxcal__changes ul { margin: 6px 0 4px 18px !important; font-size: 14px; }
.nsi .nsi-taxcal__changes small, .nsi .nsi-taxcal__prelim { font-size: 13px; }
.nsi .nsi-taxcal__progress { margin: 8px 0 !important; font-size: 14px; }
.nsi .nsi-taxcal__bar { display: inline-block; vertical-align: middle; width: 140px; height: 8px; margin-right: 8px; background: var(--nsi-plate); border-radius: 4px; overflow: hidden; }
.nsi .nsi-taxcal__bar > span { display: block; height: 100%; background: var(--nsi-green); }
.nsi .nsi-taxcal__late-n { color: var(--nsi-red); font-weight: 700; }
.nsi .nsi-taxcal__month { list-style: none; }
.nsi .nsi-taxcal__month h2 { margin: 22px 0 4px; font-size: 20px; text-transform: capitalize; }
.nsi .nsi-taxcal__moved { display: block; margin-top: 4px; font-size: 12px; color: var(--nsi-muted); }
.nsi .nsi-taxcal__sums { display: block; margin: 2px 0 0 18px; font-size: 14px; color: var(--nsi-text); }
.nsi .nsi-taxcal__event[open] > summary .nsi-taxcal__sums { display: none; }
.nsi .nsi-taxcal__items { list-style: none; margin: 6px 0 0 !important; padding: 0; }
.nsi .nsi-taxcal__item { margin: 0 !important; padding: 8px 0 8px 10px; border-left: 3px solid var(--nsi-line); }
.nsi .nsi-taxcal__item + .nsi-taxcal__item { margin-top: 6px !important; }
.nsi .nsi-taxcal__item.is-done { border-left-color: var(--nsi-green); }
.nsi .nsi-taxcal__item.is-done .nsi-taxcal__sum { text-decoration: line-through; color: var(--nsi-muted); }
.nsi .nsi-taxcal__item.is-overdue { border-left-color: var(--nsi-red); background: #fff7f8; }
.nsi .nsi-taxcal__itemhead { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.nsi .nsi-taxcal__done { font-size: 13px; color: var(--nsi-muted); white-space: nowrap; cursor: pointer; }
.nsi .nsi-taxcal__sum { font-size: 15px; }
.nsi .nsi-taxcal__fns { margin: 2px 0 0 !important; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-taxcal__refs { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 4px 0 0 !important; font-size: 13px; }
.nsi .nsi-taxcal__late { margin-top: 4px; font-size: 13px; }
.nsi .nsi-taxcal__late > summary { cursor: pointer; color: var(--nsi-red); }
.nsi .nsi-taxcal__late p { margin: 4px 0 0 !important; }
.nsi .nsi-taxcal__kind--prelim { background: #fff3cd; color: #8a5a00; }
.nsi .nsi-taxcal__grid { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 10px 0 18px; font-size: 12px; }
.nsi .nsi-taxcal__grid th { font-weight: 400; color: var(--nsi-muted); padding: 4px; }
.nsi .nsi-taxcal__grid td { vertical-align: top; height: 84px; padding: 4px; border: 1px solid var(--nsi-line); }
.nsi .nsi-taxcal__grid td.is-off { background: #fdf3f4; }
.nsi .nsi-taxcal__grid td.is-off .nsi-taxcal__cellnum { color: var(--nsi-red); }
.nsi .nsi-taxcal__grid td.is-today { outline: 2px solid var(--nsi-green); outline-offset: -2px; }
.nsi .nsi-taxcal__grid td.is-past { opacity: .6; }
.nsi .nsi-taxcal__grid td.is-empty { border: 0; background: transparent; }
.nsi .nsi-taxcal__cellnum { font-weight: 700; font-size: 14px; }
.nsi .nsi-taxcal__cellev { display: block; margin-top: 2px; color: var(--nsi-text); }
.nsi .nsi-taxcal__cellev span { display: block; line-height: 1.25; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; }
.nsi .nsi-taxcal__cellev span.is-done { text-decoration: line-through; color: var(--nsi-muted); }
.nsi .nsi-taxcal__cellmore { color: var(--nsi-link); }
@media (max-width: 700px) {
	.nsi .nsi-taxcal__grid td { height: 56px; }
	.nsi .nsi-taxcal__cellev span:not(.nsi-taxcal__cellmore) { display: none; }
	.nsi .nsi-taxcal__cellev::after { content: "\25CF"; color: var(--nsi-red); }
}
.nsi .nsi-taxcal__more { margin-top: 28px; }
.nsi .nsi-taxcal__morelist { margin: 0 0 12px 18px !important; font-size: 14px; }
.nsi .nsi-taxcal__morelist li { margin: 4px 0 !important; }
.nsi .nsi-taxcal__oblist { columns: 2 260px; margin: 0 0 12px 18px !important; font-size: 14px; }
.nsi .nsi-taxcal__oblist li { margin: 2px 0 !important; break-inside: avoid; }
.nsi .nsi-taxcal__nextbox { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 4px 0 16px; padding: 12px 16px; border-left: 4px solid var(--nsi-green); background: #f4fbee; }
.nsi .nsi-taxcal__nextbox > span { color: var(--nsi-muted); font-size: 14px; }
.nsi .nsi-taxcal__nextbox > b { font-size: 20px; }
.nsi .nsi-taxcal__nextbox > em { font-style: normal; color: #8a5a00; background: #fff3cd; padding: 0 6px; font-size: 13px; }
.nsi .nsi-taxcal__nextbox > small { width: 100%; font-size: 14px; }
.nsi .nsi-taxcal__srok tr.is-past td { color: var(--nsi-muted); }
.nsi .nsi-taxcal__srok td:first-child { white-space: nowrap; }
.nsi .nsi-taxcal__cardlist { margin: 0 0 0 4px !important; list-style: none; font-size: 15px; }
.nsi .nsi-taxcal__cardlist li { margin: 6px 0 !important; }
.nsi .nsi-taxcal__eventform { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; }
.nsi .nsi-taxcal__eventform label { display: flex; flex-direction: column; font-size: 14px; gap: 4px; }
.nsi .nsi-taxcal__eventform p { width: 100%; margin: 0 !important; }
.nsi .nsi-taxcal__results { list-style: none; margin: 18px 0 !important; padding: 0; }
.nsi .nsi-taxcal__results li { display: flex; flex-direction: column; gap: 2px; margin: 0 0 12px !important; padding: 10px 14px; border-left: 4px solid var(--nsi-green); background: #f4fbee; }
.nsi .nsi-taxcal__resdate { font-family: Montserrat, sans-serif; font-weight: 900; font-size: 20px; color: var(--nsi-green); }
.nsi .nsi-taxcal__results small { color: #8a5a00; }
.nsi .nsi-taxcal__answer { margin: 10px 0 18px; padding: 12px 16px; border-left: 4px solid var(--nsi-green); background: #f4fbee; }
.nsi .nsi-taxcal__answer p { margin: 4px 0 !important; }
.nsi .nsi-taxcal__answer-label { font-size: 14px; color: var(--nsi-muted); }
.nsi .nsi-form-page__deadline { margin: 8px 0 !important; font-size: 15px; }
@media print {
	.nsi .nsi-taxcal__profile, .nsi .nsi-taxcal__nav, .nsi .nsi-taxcal__links, .nsi .nsi-taxcal__more, .nsi .nsi-calsub, .nsi .nsi-taxcal__mat, .nsi .nsi-taxcal__late, .nsi .nsi-taxcal__refs, .nsi .nsi-taxcal__done, .nsi .nsi-taxcal__changes { display: none !important; }
	.nsi .nsi-taxcal__event { break-inside: avoid; }
	.nsi .nsi-taxcal__day { padding: 6px 0; grid-template-columns: 80px 1fr; opacity: 1 !important; }
	.nsi .nsi-taxcal__fns, .nsi .nsi-taxcal__sums { display: none !important; }
	.nsi details.nsi-taxcal__event > :not(summary) { display: block !important; }
}
/* Тема задаёт .site-content span, a { font-size: 16px } — в календаре размеры свои (D-098). */
.nsi .nsi-taxcal__grid span, .nsi .nsi-taxcal__grid a { font-size: 12px !important; }
.nsi .nsi-taxcal__grid .nsi-taxcal__cellnum { font-size: 14px !important; }
.nsi .nsi-taxcal__cellev span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nsi .nsi-taxcal__cellev span.nsi-taxcal__cellmore { display: block; }
.nsi .nsi-taxcal__done, .nsi .nsi-taxcal__done span, .nsi .nsi-taxcal__fns, .nsi .nsi-taxcal__refs a, .nsi .nsi-taxcal__late, .nsi .nsi-taxcal__late a, .nsi .nsi-taxcal__moved, .nsi .nsi-taxcal__kind { font-size: 13px !important; }
.nsi .nsi-taxcal__sums, .nsi .nsi-taxcal__links a, .nsi .nsi-taxcal__views a, .nsi .nsi-taxcal__orgs a, .nsi .nsi-taxcal__pedit, .nsi .nsi-taxcal__pform label, .nsi .nsi-taxcal__progress, .nsi .nsi-taxcal__progress span { font-size: 14px !important; }
.nsi .nsi-taxcal__grid { max-width: 100%; }
@media (max-width: 700px) { .nsi .nsi-taxcal__cellev span:not(.nsi-taxcal__cellmore) { display: none !important; } }

/* ── Типографика текста нормы «как в К+» (D-104, 28.09.2026) ───────────────────
 * Шрифт с засечками, выключка по ширине с переносами, красная строка, обычные (не жирные) номера пунктов,
 * ровный малый интервал между абзацами. Заголовки разделов, глав и статей — рубленые жирные: разделы и главы
 * по центру, статья слева с отступом красной строки. Пометки «(В редакции…)» — серым.
 * Правила ниже перекрывают D-091 (жирный номер и воздух между пунктами) — отступ красной строки и так
 * показывает начало пункта.
 */
.nsi .nsi-text  { font-family: Roboto, Arial, sans-serif; font-size: 16px; line-height: 1.6; color: #1d1b33; } /* шрифт сайта (D-104, 05.10.2026) */
.nsi .nsi-text.nsi-text--m  { font-size: 18px; }
.nsi .nsi-text.nsi-text--l  { font-size: 20px; }
.nsi .nsi-text p, .nsi .nsi-text .nsi-u__text, .nsi .nsi-text li, .nsi .nsi-text td, .nsi .nsi-text th  { font-family: Roboto, Arial, sans-serif; }
.nsi .nsi-text p, .nsi .nsi-text .nsi-u__text  { text-align: left; /* по левому краю, как статьи сайта: по ширине в узкой колонке давало дыры между словами (05.10.2026) */ text-indent: 2.5em; margin: 0 0 .5em; hyphens: auto; -webkit-hyphens: auto; }
.nsi .nsi-text .nsi-u__num  { font-weight: 400; color: inherit; }
.nsi .nsi-text > .nsi-u--p, .nsi .nsi-text > .nsi-u--ch  { margin-top: 0; }
/* Там, где красная строка и выключка неуместны. */
.nsi .nsi-text td p, .nsi .nsi-text th p, .nsi .nsi-text td .nsi-u__text, .nsi .nsi-text th .nsi-u__text,
.nsi .nsi-text .nsi-doc-kind, .nsi .nsi-text .nsi-doc-name, .nsi .nsi-text .nsi-service, .nsi .nsi-text .nsi-remark,
.nsi .nsi-text .nsi-note, .nsi .nsi-text .nsi-notice p, .nsi .nsi-text .nsi-mat p, .nsi .nsi-text li p  { text-indent: 0; text-align: inherit; }
.nsi .nsi-text .nsi-doc-kind, .nsi .nsi-text .nsi-doc-name, .nsi .nsi-text .nsi-service  { text-align: center; }
.nsi .nsi-text table  { font-family: inherit; font-size: .875em; }
/* Заголовки — рубленые жирные, чёрные. */
.nsi .nsi-text h2.nsi-h, .nsi .nsi-text h3.nsi-h, .nsi .nsi-text h4.nsi-h, .nsi .nsi-text h5.nsi-h,
.nsi .nsi-text h2.nsi-h--section, .nsi .nsi-text h2.nsi-h--appendix, .nsi .nsi-text h3.nsi-h--chapter,
.nsi .nsi-text h4.nsi-h--article, .nsi .nsi-text h4.nsi-h--paragraph_group, .nsi .nsi-text h5.nsi-h--heading {
	font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 1em; line-height: 1.3; color: #000;
	letter-spacing: normal; border-top: 0; padding-top: 0;
}
.nsi .nsi-text h2.nsi-h, .nsi .nsi-text h3.nsi-h, .nsi .nsi-text h2.nsi-h--section, .nsi .nsi-text h2.nsi-h--appendix, .nsi .nsi-text h3.nsi-h--chapter  { text-align: center; margin: 1.4em 0 .9em; }
.nsi .nsi-text h4.nsi-h, .nsi .nsi-text h4.nsi-h--article, .nsi .nsi-text h4.nsi-h-st  { text-align: left; text-transform: none; margin: 1.4em 0 .8em; padding-left: 2.5em; border-top: 0; padding-top: 0; }
.nsi .nsi-text h5.nsi-h--heading  { margin: 1em 0 .6em; }
/* Пометки редакции — серым, чуть мельче, без засечек не меняем. */
.nsi .nsi-text .nsi-ref-muted  { color: #6b6b6b; font-size: .85em; }
.nsi .nsi-text .nsi-u--expired > .nsi-u__text  { color: #6b6b6b; }
@media (max-width: 600px) {
	.nsi .nsi-text p, .nsi .nsi-text .nsi-u__text  { text-indent: 1.5em; }
	.nsi .nsi-text h4.nsi-h, .nsi .nsi-text h4.nsi-h--article  { padding-left: 0; }
}
@media print { .nsi .nsi-text  { font-size: 12pt; } }
.nsi .nsi-text .nsi-remark  { border-left: 0; padding: 0; margin: .3em 0 .8em; font-family: Roboto, Arial, sans-serif; font-size: .9em; color: #6b6b6b; text-indent: 0; }
/* Шапка акта — по центру, чёрным, как в К+; вводный абзац (nsi-lead) — обычным абзацем с красной строкой. */
.nsi .nsi-text .nsi-preamble .nsi-service  { color: #000; font-size: .94em; margin: 0 0 .35em; }
.nsi .nsi-text .nsi-preamble .nsi-lead  { margin-top: .9em; }
/* Ссылки внутри текста нормы (в том числе автоссылки на нормы) — тем же шрифтом и размером, что текст. */
.nsi .nsi-text a, .nsi .nsi-text .nsi-preamble a, .nsi .nsi-text a *  { font-family: inherit !important; font-size: inherit !important; }

/* Главная (04.10.2026): документы — крупными кнопками по группам, под блоками — ссылка на всю ленту. */
.nsi .nsi-section__foot  { margin: 14px 0 0; }
.nsi .nsi-groupbtns  { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.nsi .nsi-groupbtns li  { margin: 0; }
.nsi .nsi-groupbtn  { display: flex; flex-direction: column; gap: 4px; height: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff; color: var(--nsi-text); transition: border-color .15s, box-shadow .15s; }
.nsi .nsi-groupbtn:hover  { border-color: var(--nsi-teal); box-shadow: 0 2px 10px rgba(0, 179, 199, .15); text-decoration: none; }
.nsi .nsi-groupbtn__name  { font: 700 16px/1.25 Roboto, sans-serif; color: var(--nsi-text); }
.nsi .nsi-groupbtn__hint  { font-size: 13px; line-height: 1.35; color: var(--nsi-muted); }
.nsi .nsi-groupbtn__count  { margin-top: auto; padding-top: 6px; font-size: 13px; color: var(--nsi-teal-dark); font-weight: 500; }
.nsi .nsi-groups__more-label  { margin: 0 0 8px; font-size: 13px; color: var(--nsi-muted); }
/* Поиск: где искать (D-107). */
.nsi .nsi-search-where  { display: inline-flex; flex-wrap: wrap; gap: 0; margin: 4px 0 18px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); overflow: hidden; }
.nsi .nsi-search-where__opt  { padding: 7px 14px; font-size: 14px; color: var(--nsi-text); background: #fff; border-right: 1px solid var(--nsi-line); }
.nsi .nsi-search-where__opt:last-child  { border-right: 0; }
.nsi .nsi-search-where__opt:hover  { background: var(--nsi-plate); text-decoration: none; }
.nsi .nsi-search-where__opt.is-on  { background: var(--nsi-teal); color: #fff; }
.nsi .nsi-search-where__opt span  { margin-left: 6px; padding: 0 6px; border-radius: 9px; background: var(--nsi-plate); color: var(--nsi-muted); font-size: 12px; }
.nsi .nsi-search-where__opt.is-on span  { background: rgba(255, 255, 255, .25); color: #fff; }

/* Значок «Что писали об этом пункте» — в левом поле напротив абзаца, как в К+ (05.10.2026).
 * Под значки у текста отступ слева; значок стоит абсолютно внутри абзаца (.nsi-u__text и .nsi-h — position: relative). */
.nsi .nsi-text[data-nsi-points]  { position: relative; padding-left: 44px; }
.nsi .nsi-text .nsi-mat__btn  {
	position: absolute; left: -44px; top: .1em; margin: 0; padding: 0; width: 34px; height: 22px;
	display: inline-flex; align-items: center; justify-content: center; gap: 2px;
	border: 0; border-radius: 3px 10px 10px 3px; background: #a7a3d6; color: #fff;
	font: 700 13px/1 Roboto, Arial, sans-serif; text-indent: 0; vertical-align: baseline; cursor: pointer;
	box-shadow: none; transition: background .15s;
}
.nsi .nsi-text .nsi-mat__btn:hover, .nsi .nsi-text .nsi-mat__btn[aria-expanded="true"]  { background: #6f68c4; color: #fff; border: 0; }
.nsi .nsi-text .nsi-mat__i  { font-style: italic; font-size: 14px; }
.nsi .nsi-text .nsi-mat__n  { font: 700 9px/1 Roboto, Arial, sans-serif; opacity: .9; align-self: flex-end; margin-bottom: 4px; }
.nsi .nsi-text h4.nsi-h .nsi-mat__btn  { top: 0; }
@media (max-width: 600px) {
	.nsi .nsi-text[data-nsi-points]  { padding-left: 38px; }
	.nsi .nsi-text .nsi-mat__btn  { left: -38px; width: 30px; }
}
@media print { .nsi .nsi-text[data-nsi-points]  { padding-left: 0; } }
/* Значок материалов, читаемый вариант (05.10.2026): кружок с прямой «i» и обычная цифра рядом.
 * Стоит правым краем у текста (right), поэтому трёхзначное число растёт влево, в поле. */
.nsi .nsi-text .nsi-mat__btn  {
	left: auto; right: calc(100% + 8px); width: auto; height: 20px; padding: 0; gap: 4px;
	background: transparent; border-radius: 0; color: #4f48b0; font: 700 12px/1 Roboto, Arial, sans-serif;
}
.nsi .nsi-text .nsi-mat__btn:hover, .nsi .nsi-text .nsi-mat__btn[aria-expanded="true"]  { background: transparent; color: #2f2891; }
.nsi .nsi-text .nsi-mat__i  {
	display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%;
	background: #4f48b0; color: #fff; font: 700 12px/1 Roboto, Arial, sans-serif; font-style: normal;
}
.nsi .nsi-text .nsi-mat__btn:hover .nsi-mat__i, .nsi .nsi-text .nsi-mat__btn[aria-expanded="true"] .nsi-mat__i  { background: #2f2891; }
.nsi .nsi-text .nsi-mat__n  { font: 700 12px/1 Roboto, Arial, sans-serif; opacity: 1; align-self: center; margin: 0; }
.nsi .nsi-text[data-nsi-points]  { padding-left: 48px; }
@media (max-width: 600px) { .nsi .nsi-text[data-nsi-points] { padding-left: 42px; } .nsi .nsi-text .nsi-mat__btn { left: auto; right: calc(100% + 4px); width: auto; } }
/* Значок материалов: квадрат фирменного бирюзового цвета, строчная «i» (05.10.2026). Зелёный на сайте — статус
 * «Действует», бирюзовый — действия (кнопки «Найти», «Скопировать ссылку»): значок — действие. Тема делает текст
 * кнопок заглавным — у значка отключаем. */
.nsi .nsi-text .nsi-mat__btn, .nsi .nsi-text .nsi-mat__btn *  { text-transform: none !important; letter-spacing: normal !important; }
.nsi .nsi-text .nsi-mat__btn  { color: var(--nsi-teal-dark); }
.nsi .nsi-text .nsi-mat__btn:hover, .nsi .nsi-text .nsi-mat__btn[aria-expanded="true"]  { color: var(--nsi-teal-dark); }
.nsi .nsi-text .nsi-mat__i  { width: 18px; height: 18px; border-radius: 3px; background: var(--nsi-teal); font: 700 13px/1 Roboto, Arial, sans-serif; }
.nsi .nsi-text .nsi-mat__btn:hover .nsi-mat__i, .nsi .nsi-text .nsi-mat__btn[aria-expanded="true"] .nsi-mat__i  { background: var(--nsi-teal-dark); }
/* 05.10.2026: четыре квадрата — в один ряд (было 3 + 1). */
@media (min-width: 901px) {
	.nsi .nsi-groupbtns, .nsi .nsi-ref-tiles  { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.nsi .nsi-ref-more  { margin: 0 0 28px; }
/* 05.10.2026: значок без числа (число — в подсказке при наведении) и на одной вертикали у всех пунктов. */
.nsi .nsi-text .nsi-mat__n  { display: none; }
.nsi .nsi-text .nsi-mat__btn  { left: -34px; right: auto; width: 18px; gap: 0; }
.nsi .nsi-text[data-nsi-points]  { padding-left: 34px; }
@media (max-width: 600px) { .nsi .nsi-text[data-nsi-points] { padding-left: 28px; } .nsi .nsi-text .nsi-mat__btn { left: -26px; right: auto; } }

/* Страница небольшой группы — карточками (05.10.2026). */
.nsi .nsi-cards-filter  { max-width: 560px; margin: 0 0 20px; }
.nsi .nsi-doccards  { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 0 0 30px; padding: 0; list-style: none; }
.nsi .nsi-doccard  { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 16px 18px; border: 1px solid var(--nsi-line); border-radius: var(--nsi-radius); background: #fff; transition: border-color .15s, box-shadow .15s; }
.nsi .nsi-doccard:hover  { border-color: var(--nsi-teal); box-shadow: 0 2px 10px rgba(0, 179, 199, .12); }
.nsi .nsi-doccard__main  { display: flex; flex-direction: column; gap: 4px; color: var(--nsi-text); }
.nsi .nsi-doccard__main:hover  { text-decoration: none; }
.nsi .nsi-doccard__main:hover .nsi-doccard__name  { color: var(--nsi-teal-dark); }
.nsi .nsi-doccard__abbr  { font: 900 20px/1.1 Montserrat, sans-serif; color: var(--nsi-green); text-transform: uppercase; }
.nsi .nsi-doccard__name  { font: 500 15px/1.35 Roboto, sans-serif; color: var(--nsi-text); }
.nsi .nsi-doccard__meta  { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin: 0; font-size: 13px; color: var(--nsi-muted); }
.nsi .nsi-doccard__top  { margin: auto 0 0; padding-top: 8px; border-top: 1px dashed var(--nsi-line); font-size: 13px; line-height: 1.6; }
.nsi .nsi-doccard__top-label  { color: var(--nsi-muted); margin-right: 4px; }
.nsi .nsi-doccard__top a  { margin-right: 8px; white-space: nowrap; }
.nsi .nsi-doccard__abbr  { text-transform: none !important; }
.nsi .nsi-doccard__meta, .nsi .nsi-doccard__meta span, .nsi .nsi-doccard__top, .nsi .nsi-doccard__top a, .nsi .nsi-doccard__top span  { font-size: 13px !important; }
.nsi .nsi-doccard__meta .nsi-badge  { font-size: 11px !important; }
.nsi .nsi-doccard__req  { font-size: 12px !important; line-height: 1.35; color: var(--nsi-muted); }
.nsi .nsi-doccard--card  { background: #fcfcfd; }
.nsi .nsi-doccard__meta .nsi-result__flag  { font-size: 12px !important; }
/* Поле мгновенного фильтра без кнопки «Найти» — своя правая граница и скругление (05.10.2026). */
.nsi .nsi-cards-filter .nsi-search__input  { border: 1px solid var(--nsi-line) !important; border-radius: var(--nsi-radius) !important; width: 100%; box-sizing: border-box; }
.nsi .nsi-cards-filter .nsi-search__input:focus  { border-color: var(--nsi-teal) !important; outline: none; }
.nsi .nsi-doccard__name  { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }

/* Избранное (D-109): вид как у кнопки сайта «Добавить в избранное» — серая «таблетка» с закладкой. */
.nsi .nsi-doc__favline  { margin: -6px 0 14px; }
.nsi .nsi-fav  { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .75rem; border: 0; border-radius: .75rem; background: #f5f5f5; color: #4c49b3; font: 700 13px/1.3 Roboto, Arial, sans-serif; text-transform: none !important; letter-spacing: normal; cursor: pointer; text-decoration: none; vertical-align: middle; }
.nsi .nsi-fav:hover  { opacity: .8; color: #4c49b3; text-decoration: none; }
.nsi .nsi-fav:disabled  { opacity: .6; cursor: wait; }
.nsi .nsi-fav__icon  { width: 10px; height: 14px; flex-shrink: 0; background: currentColor; -webkit-mask: var(--nsi-fav-icon) center/contain no-repeat; mask: var(--nsi-fav-icon) center/contain no-repeat; }
.nsi .nsi-fav.is-active .nsi-fav__icon  { -webkit-mask-image: var(--nsi-fav-icon-on); mask-image: var(--nsi-fav-icon-on); }
.nsi { --nsi-fav-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 14"><path d="M1 1h8v12L5 9.8 1 13z" fill="none" stroke="black" stroke-width="1.6" stroke-linejoin="round"/></svg>'); --nsi-fav-icon-on: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 14"><path d="M1 1h8v12L5 9.8 1 13z" fill="black" stroke="black" stroke-width="1.6" stroke-linejoin="round"/></svg>'); }
@media print { .nsi .nsi-doc__favline { display: none !important; } }

/* Главная внизу: избранное, недавно открытые, часто открывают (D-109). */
.nsi .nsi-quicklist__list  { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.nsi .nsi-quicklist__list li  { margin: 0; border-bottom: 1px solid var(--nsi-line); }
.nsi .nsi-quicklist__list a  { display: block; padding: 9px 0; color: var(--nsi-text); }
.nsi .nsi-quicklist__list a:hover  { text-decoration: none; }
.nsi .nsi-quicklist__list a:hover .nsi-quicklist__title  { color: var(--nsi-teal-dark); }
.nsi .nsi-quicklist__title  { display: block; font-weight: 500; font-size: 15px; color: var(--nsi-link); }
.nsi .nsi-quicklist__sub  { display: block; margin-top: 2px; font-size: 13px; color: var(--nsi-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nsi a.nsi-fav, .nsi a.nsi-fav:hover, .nsi a.nsi-fav:visited { color: #4c49b3 !important; }
/* Телефон: квадраты главной — два на два, подсказка в две строки (05.10.2026). */
@media (max-width: 600px) {
	.nsi .nsi-groupbtns  { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.nsi .nsi-groupbtn  { padding: 12px; }
	.nsi .nsi-groupbtn__name  { font-size: 14px; }
	.nsi .nsi-groupbtn__hint  { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 12px; }
}
@media (max-width: 600px) {
	.nsi .nsi-hide-sm  { display: none; }
	.nsi .nsi-search-where  { display: flex; flex-wrap: nowrap; }
	.nsi .nsi-search-where__opt  { flex: 1 1 auto; padding: 7px 10px; text-align: center; white-space: nowrap; }
}
@media (max-width: 600px) { .nsi .nsi-ref-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .nsi .nsi-ref-tile__value { font-size: 22px; } }
