
/* ---- css/first-viewport-river-theme-v4093.css ---- */
/* v.640 — always-live river background with frame-level dark-mode dimming. */
html[data-site-river-background="640"] {
  background: #8fc5ca url("../img/parallax0.webp?v=130") center / cover fixed no-repeat !important;
}
html[data-site-river-background="640"] body {
  position: relative !important;
  min-height: 100vh;
  isolation: isolate;
  background-color: transparent !important;
  background-image: none !important;
}
.site-river-background-v640 {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  pointer-events: none !important;
  user-select: none !important;
  touch-action: none !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: -1 !important;
  opacity: 0;
  transition: opacity .16s linear !important;
}
.site-river-background-v640.is-ready { opacity: 1; }
.river-dimming-button-v640 {
  position: fixed !important;
  z-index: 2147483646 !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 50% !important;
  background: #0d5c63 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.30) !important;
  font: 700 15px/46px Arial, sans-serif !important;
  text-align: center !important;
  cursor: pointer !important;
  appearance: none !important;
}
.river-dimming-button-v640:hover,
.river-dimming-button-v640:focus-visible {
  background: #85401f !important;
  outline: 2px solid rgba(255,255,255,.9) !important;
  outline-offset: 2px !important;
}
.river-dimming-button-v640[hidden] { display: none !important; }
@media (max-width: 700px) {
  .river-dimming-button-v640 {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 14px !important;
    line-height: 42px !important;
  }
}
@media print {
  .site-river-background-v640,
  .river-dimming-button-v640 { display: none !important; }
}

/* v.619 — hide all local stone/ruler strips in the selected dark mode.
   The independent full-page background canvas remains untouched. */
:is(
  html[data-theme="dark"],
  html[data-river-theme="dark"],
  html[data-rules-theme-choice="dark"]
) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
),
body:is(.dark-mode, .dark-theme) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

:is(
  html[data-theme="dark"],
  html[data-river-theme="dark"],
  html[data-rules-theme-choice="dark"]
) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::before,
:is(
  html[data-theme="dark"],
  html[data-river-theme="dark"],
  html[data-rules-theme-choice="dark"]
) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::after,
body:is(.dark-mode, .dark-theme) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::before,
body:is(.dark-mode, .dark-theme) :is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::after {
  display: none !important;
  content: none !important;
}

/* v.622 — light mode: keep every former stone strip's dimensions,
   remove its legacy decoration, and reveal the independent site background through it. */

html:not([data-theme="dark"]):not([data-river-theme="dark"]):not([data-rules-theme-choice="dark"])
body:not(.dark-mode):not(.dark-theme)
:is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  overflow: hidden !important;
}

html:not([data-theme="dark"]):not([data-river-theme="dark"]):not([data-rules-theme-choice="dark"])
body:not(.dark-mode):not(.dark-theme)
:is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::before,
html:not([data-theme="dark"]):not([data-river-theme="dark"]):not([data-rules-theme-choice="dark"])
body:not(.dark-mode):not(.dark-theme)
:is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Remove only obsolete nested renderers; the outer strip keeps its original height. */
html:not([data-theme="dark"]):not([data-river-theme="dark"]):not([data-rules-theme-choice="dark"])
body:not(.dark-mode):not(.dark-theme)
:is(
  .bgimg-2,
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="river-strip"],
  [class*="stone-strip"]
)
:is(
  canvas:not(.site-river-background-v618),
  .animated-river-stone-strip,
  .animated-river-strip,
  .animated-river-strip-v130,
  [class*="legacy-river"],
  [class*="stone-layer"]
) {
  display: none !important;
  visibility: hidden !important;
}

/* The single fixed v.618 canvas remains the only animation source. */
html[data-site-river-background="618"] body {
  background-color: transparent !important;
}


/* ---- css/css-bundle-v4035-e4b757d4.css ---- */
/* ===== css/reset.css?v=13a4-3-4-14-documentation-inline-thumbs-fix ===== */
/* =====================================================
   RESET CSS — очищенная версия
   ===================================================== */

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    border: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    line-height: 1;
}





a {
    text-decoration: none;
    color: inherit;
    background-color: transparent;
}

ul,
ol,
li {
    list-style: none;
}

img {
    vertical-align: top;
    border-style: none;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit;
}

button,
input,
select,
textarea,
optgroup {
    font: inherit;
    color: inherit;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
    background-color: inherit;
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}


/* ===== css/style.css?v=1192 ===== */
/* --RESET STYLES: уже подключены предыдущей секцией css/reset.css; повтор удален в v.4345 -- */

/* --------------------------------------------------------------------------- */
html,
body {
	height: 100%;
	line-height: 1;
	background:rgba(158, 187, 142, 0.05);
	font-size: 14px;
	color:rgba(13, 92, 99, 1);
	font-weight: 500;
	font-family: "Montserrat", Arial, sans-serif;
}
.doc2026,
.doc2026 button,
.doc2026 select {
    font-family: Montserrat, Arial, sans-serif;
}
.item-Rules-Blue__text
{
	margin-left: 30px;
	font-weight: bold;
	font-style: italic;
}

/* ------красный color:#34465a------------------------------------- */
.wrapper {
	min-height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
/* ---------------------------------------------------------------------------- */
._container {
	max-width: 1300px;
	padding: 0px 15px;
	margin: 0px auto;
	box-sizing: content-box;
}
._ibg {
	position: relative;
}
._ibg img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}
._ibg img__const {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}
span.bigred {
	font-size: 16px;
	font-weight: bold;
	color:#34465a; 
}
  span.red {
	font-size: 16px;
	font-weight: bold;
	color:#34465a; 
	text-transform: uppercase;
}
  span.big__w {
	font-size: 16px;
	font-weight: bold;
	color:rgba(250, 250, 250, 1);
  }
	span.bigred__it {
	font-size: 16px;
	font-weight: bold;
	color:#34465a;
	font-style: italic;}
/* ------------------------------------------header----------------- */
.header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 50;
	/* background: rgba(250, 250, 250, 1); */
}
.header__container {
	display: flex;
	min-height: 104px;
	align-items: center;
}
@media (max-width: 480px) {
	.header__container {
		min-height: 70px;
	}
}
/* -------------- header__logo - Графология  ------------- */
.header__logo {
	font-size: 24px;
	font-weight: 700;
	color:#34465a;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	margin: 0px 0px 0px 20px;
}
/* -- header__menu - button - Услуги и т.д. ------------- */
.header__menu {
	margin: 0px 0px 0px 50px;
}
@media (max-width: 990px) {
	.header__menu {
		margin: 0px 0px 0px 80px;
	}
}
@media (max-width: 770px) {
	.header__menu {
		margin: 0px 0px 0px 40px;
	}
}
@media (max-width: 480px) {
	.header__menu {
		margin: 0px 0px 0px 20px;
	}
}
.menu {
	padding: 5px 0;
}
.menu__list {
	flex-wrap: wrap;
	display: flex;
}
.menu__item:not(:last-child) {
	margin: 0px 21px 0px 0px;
}
.menu__link {
	color: rgba(13, 92, 99, 1);
	font-weight: 600;
	line-height: calc(24 / 14 * 100%);
}
.menu__link:hover {
	text-decoration: underline;
}
@media (max-width: 480px) {
	.menu__link {
		font-size: 18px;
	}
}
.menu__item__green {
	color:#34465a;
	font-weight: 600;
	line-height: calc(24 / 14 * 100%);
}
.menu__item__green:hover {
	text-decoration: underline;
}
@media (max-width: 480px) {
	.menu__item__green {
		font-size: 18px;
	}
}
/* -------------------PAGE-----------Введение--------------------- */
.page {
	flex: 1 1 auto;
}
/* .page__main-block {
} */
.page__services {
	position: relative;
	z-index: 2;
	margin: -111px 0px 0px 0px;
}
/* ---HEADER-BLOCK------------------------------------------------------------------------- */
.header-block {
	text-align: center;
	letter-spacing: 0.2px;
}
.header-block__title {
	font-size: 40px;
	line-height: 137%;
	letter-spacing: 0.2px;
	font-weight: 800;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(13, 92, 99, 1);
}
.header-block__title:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
.header-block__sub-title {
	line-height: 142%;
	font-weight: 700;
	font-size: 20px;
	color: rgba(13, 92, 99, 1);
	margin: 0px 0px 30px 0px ;
}
.header-block__text {
	line-height: 142%;
	color: rgba(13, 92, 99, 1);
	font-style: italic;
	text-align:justify;
	font-size: 16px;
	margin: 30px 0px 0px 0px;
}
@media (max-width: 990px) {
	.header-block__title {
		font-size: 35px;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	}
}
@media (max-width: 770px) {
	.header-block__title {
		font-size: 30px;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	}
}
/* ---MAIN-BLOCK------------------------------------------------------------------------- */
.main-block {
	position: relative;
}
.main-block__body {
	padding: 184px 0px 191px 0px;
	position: relative;
	z-index: 2;
	max-width: 400px;
}
@media (max-width: 990px) {
	.main-block__body {
		padding: 120px 0px 191px 0px;
	}
}
@media (max-width: 480px) {
	.main-block__body {
		padding: 115px 0px 160px 0px;
	}
}
.main-block__body > *:not(:last-child) {
	margin: 0px 0px 35px 0px;
}
.main-block__title {
	font-size: 40px;
	line-height: 137%;
	letter-spacing: 0.2px;
	font-weight: 800;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(13, 92, 99, 1);
}
@media (max-width: 480px) {
	.main-block__title {
		font-size: 30px;
	}
}
.main-block__subtitle {
	line-height: 142%;
	font-weight: 700;
	font-size: 30px;
	color: rgba(68, 81, 98, 1);
	margin: 0px 0px 30px 0px ;
}
@media (max-width: 480px) {
	.main-block__subtitle {
		font-size: 20px;
	}
}
.main-block__text {
	color: rgba(31, 37, 44, 1);
	font-size: 16px;
	line-height: 150%;
}
@media (max-width: 480px) {
	.main-block__text {
		color: rgba(68, 81, 98, 1);
	}
}
.main-block__buttons {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0;
}
.main-block__button {
	border-radius: 40px;
	display: flex;
	min-height: 40px;
	/* высота кнопки = min-height: 40px */
	justify-content: center;
	align-items: center;
	letter-spacing: 0.2px;
	font-weight: 700;
	/* жирность шрифта в кнопке = font-weight: 700 */
	text-align: center;
	line-height: 150%;
	padding: 5px 20px;
	/* ширина кнопки = padding: 5px 20px */
	margin: 10px 0;
	transition: all 0.3s ease 0s;
	/* тень возле кнопки = box-shadow */
	margin-right: 10px;
}
.main-block__button_white {
	border-radius: 4px;
	background-color: rgba(250, 250, 250, 0.1);
	color:#34465a;
}
.main-block__button_white:hover {
	border-radius: 4px;
	background-color: rgba(250, 250, 250, 1);
	color: rgba(13, 92, 99, 1);
}
.main-block__button_green {
	background: rgba(13, 92, 99, 1);
	color: rgba(250, 250, 250, 1);
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
}
.main-block__button_green:hover {
	background-color: rgba(250, 250, 250, 1);
	color: rgba(13, 92, 99, 1);
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
}
.main-block__button_orange {
	background: rgba(165, 42, 42, 1);
	color: rgba(250, 250, 250, 1);
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
}
.main-block__button_orange:hover {
	background-color: rgba(250, 250, 250, 1);
	color: #34465a;
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
}
.main-block__button_border {
	color: rgba(13, 92, 99, 1);
	border: 1px rgba(13, 92, 99, 1);
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
  /* 4 значения - 1) радиус вверху слева; 2) радиус вверху справа; 3) радиус снизу справа; 4) радиус снизу слева */
  /* 3 значения - 1) радиус вверху слева; 2) радиус вверху справа и радиус внизу слева; 3) радиус снизу справа */
  /* 2 значения - 1) радиус вверху слева и внизу справа; 2) радиус вверху справа и внизу слева */
  /* 1 значение радиус со всех сторон */
  /* для наглядности укажем границы блока. solid - сплошная линия, dotted - линия из точек, dashed - пунктирная линия */
}
.main-block__button:hover {
/* псевдо класс hover начинает действовать когда мы наводим мышью на элемент страницы */
	background-color: rgba(13, 92, 99, 1);
	color: rgba(250, 250, 250, 1);
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
}
.main-block__image {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
@media (max-width: 1300px) {
	.main-block__image img {
		object-position: right;
	}
}
@media (max-width: 990px) {
	.main-block__image {
		opacity: 0.5;
  /* величина прозрачности блока */
}
}
@media (max-width: 770px) {
	.main-block__image {
		opacity: 0.2;
  /* величина прозрачности блока */
}
}
@media (max-width: 480px) {
	.main-block__image {
		opacity: 0.0;
  /* величина прозрачности блока */
}
}

/* --------------------services - column - Графология - наука? и т.д.-- */
/* .services {
} */
/* .services__container {
} */
/* .services__body {
} */
@media (min-width: 670px) {
	.services__body {
		display: flex;
		flex-wrap: wrap;
		margin: 0px -15px;
	}
}
.services__column {
	flex: 0 1 33.333%;
}
@media (min-width: 670px) {
	.services__column {
		padding: 0px 15px;
	}
}
@media (max-width: 990px) {
	.services__column {
		flex: 0 1 50%;
	}
	.services__column:not(:last-child) {
		margin: 0px 0px 30px 0px;
	}
	.services__column:last-child {
		flex: 1 1 100%;
	}
}
.services__item {
	height: 100%;
	box-shadow: 0px 13px 19px rgba(0, 0, 0, 0.07);
	background-color: #fff;
	padding: 35px;
}
@media (max-width: 480px) {
	.services__item {
		padding: 25px;
	}
}
/* .item-service {} */
.item-service_green {
	background-color: #0d5c63;
}
.item-service_green .item-service__title {
	color: #fff;
}
.item-service_green .item-service__text {
	color: #fff;
}
.item-service > *:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
/* .item-service__icon {} */
.item-service__title {
	font-weight: 700;
	letter-spacing: 0.1px;
	font-size: 24px;
	line-height: 133%;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
}
.item-service__text {
	/* color: #737373; */
	color: rgba(13, 92, 99, 1);
	line-height: 142%;
}
/* ----- page__practice ----Практика----------------- */
.practice {
	/* padding: 0px 0px 20px 0px; */
	padding: 125px 0px 80px 0px;
	/* Отступ от колонок до заголовка Возможности графологии */
}
@media (max-width: 990px) {
	.practice {
		/* padding: 0px 0px 20px 0px; */
		padding: 40px 0px 80px 0px;
	}
}
@media (max-width: 770px) {
	.practice {
		/* padding: 0px 0px 20px 0px; */
		padding: 0px 0px 40px 0px;
	}
}
/* .practice__container {
} */
.practice__header {
	margin: 0px 0px 45px 0px;
}
@media (max-width: 770px) {
	.practice__header {
		margin: 0px 0px 25px 0px;
	}
}
/* --------------------------- Для index */
.practice__body {
	margin: 0px -20px -30px;
	display: flex;
	flex-wrap: wrap;
}
/* ---------------------------- Для hand */
.practice__body_h2 {
	margin: 0px -20px -470px;
	display: flex;
	flex-wrap: wrap;
}
/* ---------------------4 колонки-------- Для index */
.practice__column {
	padding: 0px 10px;
	margin: 0px 0px 30px 0px;
	flex: 0 1 25%;
}
@media (max-width: 990px) {
	.practice__column {
		flex: 0 1 50%;
	}
}
@media (max-width: 770px) {
	.practice__column {
		flex: 0 1 100%;
	}
}
/* ---------------------2 колонки-------- Для graphology */
.practice__column_2 {
	padding: 0px 10px;
	margin: 0px 0px 30px 0px;
	flex: 0 1 50%;
}
@media (max-width: 990px) {
	.practice__column_2 {
		flex: 0 1 70%;
	}
}
@media (max-width: 770px) {
	.practice__column_2 {
		flex: 0 1 100%;
	}
}
/* ---------------------2 колонки-------- Для hand */
.practice__column_2h {
	padding: 0px 10px;
	margin: -30px 0px -180px 0px;
	flex: 0 1 50%;
}
@media (max-width: 990px) {
	.practice__column_2h {
		flex: 0 1 50%;
	}
}
@media (max-width: 770px) {
	.practice__column_2h {
		flex: 0 1 100%;
	}
}
/* ----------------------------- practice__item */
.item-practice {
	background-color: rgba(255, 255, 255, 1);
	display: flex;
	height: 100%;
	flex-direction: column;
}
.item-practice__content {
	padding: 30px;
	flex: 1 1 auto;
}
.item-practice__link {
	color: inherit;
	display: inline-block;
}
.item-practice__link:hover {
	text-decoration: underline;
}
.item-practice__link:not(:last-child) {
	margin: 0px 0px 15px 0px;
}
.item-practice__title {
	line-height: 142%;
	font-weight: 700;
	font-size: 30px;
	/* margin: 0px 0px 0px 0px; */
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(13, 92, 99, 1);
}
.item-practice__text {
	/* color: #737373; */
	color: rgba(13, 92, 99, 1);
	line-height: 142%;
}
.item-practice__image {
	display: block;
	padding: 0px 0px 60% 0px;
	box-shadow: 0px 13px 19px rgba(2, 62, 78, 0.3);
	/* filter: drop-shadow(5px 5px 30px rgba(0, 0, 0, 0.7)); */
}
/* ------------------------------------- */
.whoweare {
  background: #ffffff;
  padding: 80px 0px 130px 0px;
}
.whoweare__container {
}
.whoweare__header {
  margin: 0px 0px 100px 0px;
}
.whoweare__body {
  display: flex;
  align-items: flex-start;
}
.whoweare__video {
  flex: 0 0 50%;
  position: relative;
  padding: 0px 0px 40% 0px;
}
.whoweare__video iframe {
  position: absolute;
  width:100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.whoweare__content {
  flex: 1 1 auto;
  padding: 20px 0px 0px 121px;
}
.whoweare__title {
  font-weight: 800;
  font-size: 40px;
  line-height: 142%;
  letter-spacing: 0.2px;
}
.whoweare__title:not(:last-child) {
  margin: 0px 0px 10px 0px;
}
.whoweare__text {
  color: #737373;
  line-height: 142%;
}
.whoweare__top:not(:last-child) {
  margin: 0px 0px 50px 0px;
}
.whoweare__items {
}
.whoweare__item {
}
.whoweare__item:not(:last-child) {
  margin: 0px 0px 30px 0px;
}

.item-whoweare {
  display: flex;
}
.item-whoweare__icon {
  flex: 0 0 32px;
}
.item-whoweare__body {
  flex: 1 1 auto;
  padding: 0px 0px 0px 20px;
}
.item-whoweare__title {
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
}
.item-whoweare__title:not(:last-child) {
  margin: 0px 0px 5px 0px;
}
.item-whoweare__text {
  color: #737373;
  white-space: nowrap;
  line-height: 142%;
  width: 225px;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1300px) {
  .whoweare__content {
    padding: 0px 0px 0px 50px;
  }
}
@media (max-width: 770px) {
  .whoweare {
    padding: 50px 0px 50px 0px;
  }
  .whoweare__body {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .whoweare__title {
    font-size: 24px;
  }
  .whoweare__content {
    padding: 0px 0px 0px 0px;
  }
  .whoweare__video {
    padding: 0px 0px 56.25% 0px;
  }
  .whoweare__video:not(:last-child) {
    margin: 50px 0px 0px 0px;
  }
  .whoweare__header {
    margin: 0px 0px 30px 0px;
  }
}
@media (max-width: 320px) {
  .whoweare {
    padding: 20px 0px 50px 0px;
  }
  .whoweare__top:not(:last-child) {
    margin: 0px 0px 30px 0px;
  }
  .whoweare__video:not(:last-child) {
    margin: 30px 0px 0px 0px;
  }
}
/* -----------------------man-------------- */
.man {
	/* padding: 0px 0px 20px 0px; */
	padding: 0px 0px 80px 0px;
}
@media (max-width: 990px) {
	.man {
		/* padding: 0px 0px 20px 0px; */
		padding: 40px 0px 80px 0px;
	}
}
@media (max-width: 770px) {
	.man {
		/* padding: 0px 0px 20px 0px; */
		padding: 0px 0px 40px 0px;
	}
}
/* .man__container {
} */
.man__header {
	margin: 0px 0px 45px 0px;
}
@media (max-width: 770px) {
	.man__header {
		margin: 0px 0px 25px 0px;
	}
}
.man__body {
	margin: 0px -20px -30px;
	display: flex;
	flex-wrap: wrap;
}
.man__column {
	padding: 0px 10px;
	margin: 0px 0px 30px 0px;
	flex: 0 1 33.0%;
}
@media (max-width: 990px) {
	.man__column {
		flex: 0 1 50%;
	}
}
@media (max-width: 770px) {
	.man__column {
		flex: 0 1 100%;
	}
}
/* .man__item {
} */
.item-man {
	background-color: rgba(255, 255, 255, 1);
	display: flex;
	height: 100%;
	flex-direction: column;
}
.item-man__content {
	padding: 10px;
	flex: 1 1 auto;
}
.item-man__link {
	color: inherit;
	display: inline-block;
}
.item-man__link:hover {
	text-decoration: underline;
}
.item-man__link:not(:last-child) {
	margin: 0px 0px 15px 0px;
}
.item-man__title {
	line-height: 142%;
	font-weight: 700;
	font-size: 30px;
	margin: 60px 0px 0px 0px;
	color: rgba(13, 92, 99, 1);
}
.item-man__text {
	color: #737373;
	line-height: 142%;
}
.item-man__image {
	display: block;
	padding: 0px 0px 60% 0px;
	box-shadow: 0px 13px 19px rgba(2, 62, 78, 0.3);
}
.item-man:hover 
.item-man__image img{
	transform: scale(1.1);
}
/* --------------contact-------------------- */
.contact {
	background-color: rgba(255, 255, 255, 1);
	padding: 42px 0;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
}
/* .contact__container {
} */
.contact__content {
	padding: 0px 0px 20px 0px;
}
@media (min-width: 767px) {
	.contact__body {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.contact__content {
		padding: 0px 20px 0px 0px;
	}
}
.contact__title {
	line-height: 142%;
	font-weight: 700;
	font-size: 40px;
	margin: 60px 0px 0px 0px;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(13, 92, 99, 1);
}
.contact__title:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
.contact__text {
	color: #737373;
	line-height: 142%;
}
.contact__button {
	display: flex;
	background-color: rgba(13, 92, 99, 1);
	border-radius: 5px;
	min-height: 58px;
	padding: 5px 40px;
	transition: background-color 0.3s ease 0s;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: rgba(255, 255, 255, 1);
}
.contact__button:hover {
	background-color: rgba(13, 92, 99, 1);
}
/* ---------------categories -------------------- */
.title{
	font-size: 40px;
	line-height: 137%;
	letter-spacing: 0.2px;
	font-weight: 800;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(68, 81, 98, 1);
}
.title span{
	color: #34465a;
}
@media (max-width: 770px){
	.title {
		font-size: 35px;
	}
}
@media (max-width: 480px){
	.title {
		font-size: 30px;
	}
}

/* --------------------------------- */
[class*="__container"] {
	max-width: 1300px;
	padding: 0px 15px;
	margin: 0px auto;
	box-sizing: content-box;
}
/* -----------------------categories 1 ---------- */
.categories {
	/* padding: 0px 0px 20px 0px; */
	padding: 125px 0px 80px 0px;
}
@media (max-width: 990px) {
	.categories {
		/* padding: 0px 0px 20px 0px; */
		padding: 40px 0px 80px 0px;
	}
}
@media (max-width: 770px) {
	.categories {
		/* padding: 0px 0px 20px 0px; */
		padding: 0px 0px 40px 0px;
	}
}
.categories__items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	/* количество картинок в строке = "4" */
	column-gap: 20px;
	/* пробел между картинками в строке = "20px" */
	row-gap: 20px;
	/* пробел между строками с картинками = "15px" */
}
/* .categories__item {} */
.item-category {
	position: relative;
	/* относительное позиционирование = position: relative */
}
.item-category:hover 
.item-category__image img{
	transform: scale(1.1);
	/* изменение размера картинки = transform: scale(1.1) */
}
.item-category__title {
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 10px 10px;
	color: rgba(255, 255, 255, 1);
	font-size: 10px;
	line-height: 1.5;
	font-weight: 500;
	z-index: 3;
	width: 100%;
}
.item-category__image {
	position: relative;
	overflow: hidden;
	/* border-radius: 10px; */
	padding-bottom: 127%;
	box-shadow: 0px 13px 19px rgba(2, 62, 78, 0.3);
}
.item-category__image::before{
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
}
.item-category__image img{
	transition: all 0.3s ease 0s;
	position: absolute;width: 100%;height: 100%;top: 0;left: 0;
	object-fit: cover;
}
@media (max-width: 990px){
	.categories__items {
		column-gap:20px;
	}  
}
@media (max-width: 990px) {
	.categories {
		padding: 40px 0px 80px 0px;
	}
.categories__title {
		margin-bottom: 50px;
	}
	.categories__items {
		column-gap: 20px;
	}
	.categories__items {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 770px) {
	.categories {
		padding: 0px 0px 40px 0px;
	}
	.categories__title {
		margin-bottom: 20px;
	}
}
@media (max-width: 480px) {
	.categories__items {
		row-gap: 20px;
		grid-template-columns: repeat(1, 1fr);
	}
}
/* ----------------- What our customer’s say	- Что говорят наши клиенты ---------------------- */
/* .reviews { */
	/* padding-top: 240px; */
	/* padding-bottom:240px; */
/* } */
/* .reviews__container {} */
.reviews__title {
	line-height: 142%;
	font-weight: 700;
	font-size: 40px;
	margin: 60px 0px 0px 0px;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
	color: rgba(13, 92, 99, 1);
}
.reviews__subtitle {
	line-height: 142%;
	font-weight: 600;
	font-size: 20px;
	color: #737373;
	margin: 0px 0px 20px 0px;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
}
/* .reviews__swiper {} */
/* .swiper-reviews {} */
/* .swiper-reviews__wrapper {} */
/* .swiper-reviews__slide { */
/* } */
.slide-swiper-reviews {
	display: flex;
}
.slide-swiper-reviews__picture {
	overflow: hidden;
	flex: 0 1 50%;
	display: flex;
	justify-content:center;
	align-items: center;
}
.slide-swiper-reviews__image {
	width: 300px;
	height: 300px;
	position: relative;
}
.slide-swiper-reviews__image img{
	border-radius: 50%;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;left: 0;
	object-fit: center;
	box-shadow: 0px 13px 19px rgba(2, 62, 78, 0.3);
}
.slide-swiper-reviews__body {
	flex: 0 1 50%;
}
.slide-swiper-reviews__text {
	font-size: 24px;
	line-height: 160%;
	font-style: italic;
}
.slide-swiper-reviews__text p:not(:last-child) {
	margin-bottom: 15px;
}
.slide-swiper-reviews__text:not(:last-child){
	margin-bottom: 56px;
}
/* .slide-swiper-reviews__author { */
/* } */
.slide-swiper-reviews__name {
	font-weight: 600;
	font-size: 24px;
	line-height: 160%;
	color: #000;
	text-shadow: 10px 10px 10px rgba(68, 81, 98, 1);
}
.slide-swiper-reviews__name:not(:last-child) {
	margin-bottom: 8px;
}
.slide-swiper-reviews__position {
	color:rgba(134, 134, 134, 1);
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
	text-transform: uppercase;
}
.swiper-reviews__pagination {
	display: flex;
	transform: translate(0px,-100%);
	justify-content: flex-end;
}
.swiper-reviews__pagination .swiper-pagination-bullet{
	opacity: 1;
	background: #C4C4C4;
	border-radius: 20px;
	flex: 0 0 10px;
	height: 16px;
	transition: all 0.3s ease 0s;
}
.swiper-reviews__pagination .swiper-pagination-bullet-active{
	background: rgba(13, 92, 99, 1);
	flex: 0 0 24px;
}
@media (max-width: 1300px) {
	.reviews__swiper.swiper {
		margin-left: -15px;
	}
}
@media (max-width: 990px) {
	.reviews {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.reviews__title {
		margin-bottom: 50px;
	}
	.slide-swiper-reviews__body{
		padding-left: 15px;
	}
	.slide-swiper-reviews {
		flex-direction: column;
	}
	.slide-swiper-reviews__picture {
		margin-bottom: 25px;
	}
	.swiper-reviews__pagination.swiper-pagination {
		position: relative;
		bottom: 0;
		justify-content: center;
		transform: translate(0px,0px);
		padding-top: 35px;
	}
}
@media (max-width: 770px) {
	.reviews {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.reviews__title {
		margin-bottom: 30px;
	}
}
@media (max-width: 480px) {
	.slide-swiper-reviews__image {
		width: 270px;
		height: 270px;
	}
	.slide-swiper-reviews__image::before {
		content: "";
		position: absolute;
		width: 225px;
		height: 187px;
		top: 50px;
		left: -80px;
		transform: rotate(-10deg);
		background-color: rgba(13, 92, 99, 1);
		border-radius: 40px 0px 400px 400px;
	}
	.slide-swiper-reviews__text {
		font-size: 18px;
	}
	.slide-swiper-reviews__text:not(:last-child) {
		margin-bottom: 25px;
	}
}
/* -----------------------------------footer---------------- */
/* .footer { */
/* } */
.footer__top {
	background: rgba(13, 92, 99, 1);
	padding: 35px 0;
}
/* .footer__main {
} */
.footer__row {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -15px;
}
.footer__column {
	padding: 15px 15px;
	flex: 0 1 16.6667%;
}
.footer__column:last-child {
	flex: 0 1 33.334%;
}
@media (max-width: 990px) {
	.footer__column {
		flex: 0 1 25%;
	}
	.footer__column:last-child {
		flex: 1 1 100%;
	}
}
@media (max-width: 990px) {
	.footer__column {
		flex: 0 1 50%;
	}
}
.footer__label {
	color: rgba(255, 255, 255, 1);
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;
	margin: 0px 0px 20px 0px;
	padding: 0px 30px 0px 30px;
}
/* .footer__menu {
} */
/* .menu-footer {
} */
/* .menu-footer__list {
} */
.menu-footer__item:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
.menu-footer__link {
	color: rgba(255, 255, 255, 1);
	display: inline-block;
	line-height: 171%;
	letter-spacing: 0.2px;
}
.menu-footer__link:hover {
	text-decoration: underline;
}
/* .footer__contacts {
} */
.contacts-footer {
	display: flex;
	flex-direction: column;
}
.contacts-footer__item {
	padding: 0px 0px 0px 34px;
	line-height: 142%;
	display: flex;
	align-items: center;
	color: rgba(255, 255, 255, 1);
	min-height: 30px;
}
.contacts-footer__item:hover {
	text-decoration: underline;
}
.contacts-footer__item:not(:last-child) {
	margin: 0;
}
.contacts-footer__item_phone {
	background: url("../img/footer/icons/01.svg") 0 0 no-repeat;
}
.contacts-footer__item_map {
	background: url("../img/footer/icons/02.svg") 0 0 no-repeat;

}
.contacts-footer__item_email {
	background: url("../img/footer/icons/03.svg") 0 0 no-repeat;
}
.contacts-footer__item_html {
	background: url("../img/svg/one-dots-green.svg") 0 0 no-repeat;
}
.contacts-footer__item_telegram {
	background: url("../img/svg/one-dots-blue.svg") 0 0 no-repeat;
}
/* icons8-browser-64.png */
.footer__bottom {
	padding: 25px 0;
}
.footer__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer__copy {
	color: #737373;
	line-height: 171%;
}
/* .footer__social {
} */
.social {
	display: flex;
	align-items: center;
}
.social__item:not(:last-child) {
	margin: 0px 20px 0px 0px;
}
@media (max-width: 770px) {
	.footer__container {
		flex-direction: column;
	}
	.footer__copy {
		margin: 0px 0px 15px 0px;
		text-align: center;
	}
}
/* ------------------------------------------------------- */
.avatar {
  background-color: rgba(255, 255, 255, 1);
  border: solid 1px rgba(0, 90, 156, 1);
  border-radius: 50%;
  height: 6.25rem;
  overflow: hidden;
  width: 6.25rem;
}
.avatar img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
/* ------------------------------------------------------- */
/* ------------------------------------ */
/* Картинки в карточке №2 */
.item__item {
	display: flex;
	margin: 0px 0px 30px 0px;
}
/* Контейнер картинки */
.item__image {
	flex: 0 0 33.333%;
	position: relative;
	min-height: 500px;
}
.item__image {
	flex: 0 0 24%;
	position: relative;
	min-height: 500px;
	min-width: 100px;
}
/* Картинка */
.item__image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.item__body {
	flex: 1 1 auto;
	padding: 0px 0px 0px 30px;
}
.item__label {
	font-size: 20px;
	font-weight: 700;
	display: inline-block;
	margin: 0px 0px 20px 0px;
}
/* ------------------- Читать больше - Свернуть */

.text_hide_wrap {
	max-width: 700px;
}

.item_text {
	width: 100%;
	padding: 20px;
}

.item_text p {
	margin-bottom: 20px;
}

.io_item {
	width: 100%;
	padding-bottom: 20px;
}

.io_button_wrap {
	text-align: center;
	margin-top: 10px;
}

.io_button {
	border-radius: 4px;
	display: flex;
	min-height: 40px;
	/* высота кнопки = min-height: 40px */
	justify-content: center;
	align-items: center;
	letter-spacing: 0.2px;
	font-weight: 700;
	/* жирность шрифта в кнопке = font-weight: 700 */
	text-align: center;
	line-height: 150%;
	padding: 10px 20px;
	/* ширина кнопки = padding: 5px 20px */
	/* margin: 10px 0; */
	transition: all 0.3s ease 0s;
	box-shadow: 0px 10px 20px rgba(68, 81, 98, 1);
	/* тень возле кнопки = box-shadow */
	/* margin-right: 10px; */
}
.io_button:hover {
	/* псевдо класс hover начинает действовать когда мы наводим мышью на элемент страницы */
		background-color: rgba(13, 92, 99, 1);
		color: rgba(250, 250, 250, 1);
	}
	
a.io_button:hover {
	text-decoration: none;
}

.io_item .btn_close {
	display: none;
}

.io_item .btn_open {
	display: inline-block;
}

.io_item.open .btn_close {
	display: inline-block;
}

.io_item.open .btn_open {
	display: none;
}

.io_trans {
	width: inherit;
	position: absolute;
	height: 80px;
	bottom: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	transition: 1s;
}

.io_item.open .io_trans {
	height: 0;
	transition: 1s;
}

.io_item_wrap {
	position: relative;
	overflow: hidden;
	max-height: 100px;
	width: inherit;
	transition: max-height 0.5s;
}
.io_item.open .io_item_wrap {
	max-height: 999px !important;
	transition: max-height 1s;
}
/* https://www.w3schools.com/howto/howto_js_responsive_navbar_dropdown.asp */

/* Add a black background color to the top navigation */
/* Добавьте черный цвет фона в верхнюю панель навигации. */
/* Примечание: В настоящем сайте вместо черного цвета: rgba(250, 250, 250, 1)  */
.topnav {
	background-color: rgba(250, 250, 250, 1);
	overflow: hidden;
  }
  
  /* Style the links inside the navigation bar */
  /* Стиль ссылок внутри панели навигации */
  .topnav a {
	float: left;
	display: block;
	color: rgba(13, 92, 99, 1);
	text-align: center;
	padding: 10px 10px;
	text-decoration: none;
	font-size: 14px;
  }
  
  /* Add an active class to highlight the current page */
  /* Добавьте активный класс, чтобы выделить текущую страницу */
  .active {
	background-color:rgba(158, 187, 142, 0.2);
	color: rgba(13, 92, 99, 0.1);
	text-transform: uppercase;
  }
  
  /* Hide the link that should open and close the topnav on small screens */
  /* Скрыть ссылку, которая должна открывать и закрывать topnav на маленьких экранах */
  .topnav .icon {
	display: none;
  }
  
  /* Dropdown container - needed to position the dropdown content */
  /* Контейнер выпадающего списка — необходим для позиционирования выпадающего содержимого. */
  .dropdown {
	float: left;
	overflow: hidden;
  }
  
  /* Style the dropdown button to fit inside the topnav */
  /* Настройте кнопку раскрывающегося списка так, чтобы она помещалась внутри верхней навигации. */
  .dropdown .dropbtn {
	font-size: 14px;
	border: none;
	outline: none;
	color:  rgba(13, 92, 99, 1);
	padding: 8px 8px;
	background-color: inherit;
	font-family: inherit;
	margin: 0;
  }
  /* Style the dropdown content (hidden by default) */
  /* Стиль выпадающего содержимого (по умолчанию скрыт) */
  .dropdown-content {
	display: none;
	position: absolute;
	background-color: #f9f9f9;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	z-index: 1;
	padding-left: 20px;
  }
  
  /* Style the links inside the dropdown */
  /* Оформите ссылки внутри выпадающего списка  */
  .dropdown-content a {
	float: none;
	color:#34465a;
	padding: 10px 10px;
	text-decoration: none;
	display: block;
	text-align: left;
  }
  
  /* Add a dark background on topnav links and the dropdown button on hover */
    /* Сделайте темный фон для ссылок topnav и кнопки выпадающего списка при наведении курсора мыши */
  .topnav a:hover, .dropdown:hover .dropbtn {
	background-color: rgba(133, 9, 9, 1);
	color: white;
  }
  
  /* Add a grey background to dropdown links on hover */
    /* Добавить серый фон для выпадающих ссылок при наведении */
  .dropdown-content a:hover {
	background-color: #ddd;
	color: black;
  }
  
  /* Show the dropdown menu when the user moves the mouse over the dropdown button */
  /* Показывать раскрывающееся меню, когда пользователь наводит указатель мыши на кнопку раскрывающегося списка. */
  .dropdown:hover .dropdown-content {
	display: block;
  }
  /* When the screen is less than 770 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
  /* При ширине экрана менее 770 пикселей скрыть все ссылки, кроме первой ("Главная"). Показать ссылку, которая должна открывать и закрывать topnav (.icon) */
  @media screen and (max-width: 770px) 
	{.topnav a:not(:first-child), .dropdown .dropbtn, .dropdown .dropbtn-n {
	  display: none;
	}
	.topnav .icon {
	  float: right;
	  display: block;
	}
  }
  /* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
  /* «Отзывчивый» класс добавляется в topnav с помощью JavaScript, когда пользователь щелкает значок. Этот класс заставляет topnav хорошо выглядеть на маленьких экранах (отображать ссылки вертикально, а не горизонтально). */
  @media screen and (max-width: 770px) {
	.topnav.responsive {position: relative;}
	.topnav.responsive .icon {
	  position: absolute;
	  right: 0;
	  top: 0;
	}
	.topnav.responsive a {
	  float: none;
	  display: block;
	  text-align: left;
	}
	.topnav.responsive .dropdown {float: none;}
	.topnav.responsive .dropdown-content {position: relative;}
	.topnav.responsive .dropdown .dropbtn {
	  display: block;
	  width: 100%;
	  text-align: left;
	}
  }
  .dropdown .dropbtn-n {
	font-size: 14px;
	border: none;
	outline: none;
	color:  rgba(13, 92, 99, 1);
	padding: 8px 8px;
	font-family: inherit;
	margin: 0;
	background-color: rgba(13, 92, 99, 0.1);
	color: black;
	text-transform: uppercase;
  }
  .dropdown .dropbtn-w {
	font-size: 14px;
	border: none;
	outline: none;
	color: rgba(250, 250, 250, 1);
	padding: 0px 0px 0px 28px;
	font-family: inherit;
	margin: 5px 0px 0px 0px;
	text-transform: uppercase;
	background-color: rgba(13, 92, 99, 0.1);
	text-transform:none;
  }
/* Дополнил из W3.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */
/* Исключил поз. 5-9 */
html {
	box-sizing: border-box;
  }
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
  }
body {
	margin: 0;
  }
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}
summary {
	display: list-item;
  }
  audio,
  canvas,
  progress,
  video {
	display: inline-block;
  }
  progress {
	vertical-align: baseline;
  }
  audio:not([controls]) {
	display: none;
	height: 0;
  }
  [hidden],
  template {
	display: none;
  }
  a {
	background-color: transparent;
  }
  a:active,
  a:hover {
	outline-width: 0;
  }
  abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
  }
  b,
  strong {
	font-weight: bolder;
  }
  dfn {
	font-style: italic;
  }
  mark {
	background: #ff0;
	color: #000;
  }
  small {
	font-size: 80%;
  }
  sub,
  sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
  }
  sub {
	bottom: -0.25em;
  }
  sup {
	top: -0.5em;
  }
  figure {
	margin: 1em 40px;
  }
  img {
	border-style: none;
  }
  code,
  kbd,
  pre,
  samp {
	font-family: monospace, monospace;
	font-size: 1em;
  }
  hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
  }
  button,
  input,
  select,
  textarea,
  optgroup {
	font: inherit;
	margin: 0;
  }
  optgroup {
	font-weight: bold;
  }
  button,
  input {
	overflow: visible;
  }
  button,
  select {
	text-transform: none;
  }
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
	-webkit-appearance: button;
  }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
  }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
  }
  fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
  }
  legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
  }
  textarea {
	overflow: auto;
  }
  [type="checkbox"],
  [type="radio"] {
	padding: 0;
  }
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
	height: auto;
  }
  [type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
  }
  [type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
  }
  ::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
  }

/* html,
body {
  font-family: Verdana, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
html {
  overflow-x: hidden;
}
h1 {
  font-size: 36px;
}
h2 {
  font-size: 30px;
}
h3 {
  font-size: 24px;
}
h4 {
  font-size: 20px;
}
h5 {
  font-size: 18px;
}
h6 {
  font-size: 16px;
}
.w3-serif {
  font-family: serif;
}
.w3-sans-serif {
  font-family: sans-serif;
}
.w3-cursive {
  font-family: cursive;
}
.w3-monospace {
  font-family: monospace;
} */
/* h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 400;
  margin: 10px 0;
} */


.w3-wide {
	letter-spacing: 4px;
  }
  hr {
	border: 0;
	border-top: 1px solid #eee;
	margin: 20px 0;
  }
  .w3-image {
	max-width: 100%;
	height: auto;
  }
  img {
	vertical-align: middle;
  }
  a {
	color: inherit;
  }
  .w3-table,
  .w3-table-all {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	display: table;
  }
  .w3-table-all {
	border: 1px solid #ccc;
  }
  .w3-bordered tr,
  .w3-table-all tr {
	border-bottom: 1px solid #ddd;
  }
  .w3-striped tbody tr:nth-child(even) {
	background-color: #f1f1f1;
  }
  .w3-table-all tr:nth-child(odd) {
	background-color: #fff;
  }
  .w3-table-all tr:nth-child(even) {
	background-color: #f1f1f1;
  }
  .w3-hoverable tbody tr:hover,
  .w3-ul.w3-hoverable li:hover {
	background-color: #ccc;
  }
  .w3-centered tr th,
  .w3-centered tr td {
	text-align: center;
  }
  .w3-table td,
  .w3-table th,
  .w3-table-all td,
  .w3-table-all th {
	padding: 8px 8px;
	display: table-cell;
	text-align: left;
	vertical-align: top;
  }
  .w3-table th:first-child,
  .w3-table td:first-child,
  .w3-table-all th:first-child,
  .w3-table-all td:first-child {
	padding-left: 16px;
  }
  .w3-btn,
  .w3-button {
	border: none;
	display: inline-block;
	padding: 8px 16px;
	vertical-align: middle;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background-color: inherit;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
  }
  .w3-btn:hover {
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }
  .w3-btn,
  .w3-button {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
  }
  .w3-disabled,
  .w3-btn:disabled,
  .w3-button:disabled {
	cursor: not-allowed;
	opacity: 0.3;
  }
  .w3-disabled *,
  :disabled * {
	pointer-events: none;
  }
  .w3-btn.w3-disabled:hover,
  .w3-btn:disabled:hover {
	box-shadow: none;
  }
  .w3-badge,
  .w3-tag {
	background-color: #000;
	color: #fff;
	display: inline-block;
	padding-left: 8px;
	padding-right: 8px;
	text-align: center;
  }
  .w3-badge {
	border-radius: 50%;
  }
  .w3-ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
  }
  .w3-ul li {
	padding: 8px 16px;
	border-bottom: 1px solid #ddd;
  }
  .w3-ul li:last-child {
	border-bottom: none;
  }
  .w3-tooltip,
  .w3-display-container {
	position: relative;
  }
  .w3-tooltip .w3-text {
	display: none;
  }
  .w3-tooltip:hover .w3-text {
	display: inline-block;
  }
  .w3-ripple:active {
	opacity: 0.5;
  }
  .w3-ripple {
	transition: opacity 0s;
  }
  .w3-input {
	padding: 8px;
	display: block;
	border: none;
	border-bottom: 1px solid #ccc;
	width: 100%;
  }
  .w3-select {
	padding: 9px 0;
	width: 100%;
	border: none;
	border-bottom: 1px solid #ccc;
  }
  .w3-dropdown-click,
  .w3-dropdown-hover {
	position: relative;
	display: inline-block;
	cursor: pointer;
  }
  .w3-dropdown-hover:hover .w3-dropdown-content {
	display: block;
  }
  .w3-dropdown-hover:first-child,
  .w3-dropdown-click:hover {
	background-color: #ccc;
	color: #000;
  }
  .w3-dropdown-hover:hover > .w3-button:first-child,
  .w3-dropdown-click:hover > .w3-button:first-child {
	background-color: #ccc;
	color: #000;
  }
  .w3-dropdown-content {
	cursor: auto;
	color: #000;
	background-color: #fff;
	display: none;
	position: absolute;
	min-width: 160px;
	margin: 0;
	padding: 0;
	z-index: 1;
  }
.w3-check,
.w3-radio {
  width: 24px;
  height: 24px;
  position: relative;
  top: 6px;
}
.w3-sidebar {
  height: 100%;
  width: 200px;
  background-color: #fff;
  position: fixed !important;
  z-index: 1;
  overflow: auto;
}
.w3-bar-block .w3-dropdown-hover,
.w3-bar-block .w3-dropdown-click {
  width: 100%;
}
.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,
.w3-bar-block .w3-dropdown-click .w3-dropdown-content {
  min-width: 100%;
}
.w3-bar-block .w3-dropdown-hover .w3-button,
.w3-bar-block .w3-dropdown-click .w3-button {
  width: 100%;
  text-align: left;
  padding: 8px 16px;
}
.w3-main,
#main {
  transition: margin-left 0.4s;
}
.w3-modal {
  z-index: 3;
  display: none;
  padding-top: 100px;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}
.w3-modal-content {
  margin: auto;
  background-color: #fff;
  position: relative;
  padding: 0;
  outline: 0;
  width: 600px;
}
.w3-bar {
  width: 100%;
  overflow: hidden;
}
.w3-center .w3-bar {
  display: inline-block;
  width: auto;
}
.w3-bar .w3-bar-item {
  padding: 8px 16px;
  float: left;
  width: auto;
  border: none;
  display: block;
  outline: 0;
}
.w3-bar .w3-dropdown-hover,
.w3-bar .w3-dropdown-click {
  position: static;
  float: left;
}
.w3-bar .w3-button {
  white-space: normal;
}
.w3-bar-block .w3-bar-item {
  width: 100%;
  display: block;
  padding: 8px 16px;
  text-align: left;
  border: none;
  white-space: normal;
  float: none;
  outline: 0;
}
.w3-bar-block.w3-center .w3-bar-item {
  text-align: center;
}
.w3-block {
  display: block;
  width: 100%;
}
.w3-responsive {
  display: block;
  overflow-x: auto;
}
.w3-container:after,
.w3-container:before,
.w3-panel:after,
.w3-panel:before,
.w3-row:after,
.w3-row:before,
.w3-row-padding:after,
.w3-row-padding:before,
.w3-cell-row:before,
.w3-cell-row:after,
.w3-clear:after,
.w3-clear:before,
.w3-bar:before,
.w3-bar:after {
  content: "";
  display: table;
  clear: both;
}
.w3-col,
.w3-half,
.w3-third,
.w3-twothird,
.w3-threequarter,
.w3-quarter {
  float: left;
  width: 100%;
}
.w3-col.s1 {
  width: 8.33333%;
}
.w3-col.s2 {
  width: 16.66666%;
}
.w3-col.s3 {
  width: 24.99999%;
}
.w3-col.s4 {
  width: 33.33333%;
}
.w3-col.s5 {
  width: 41.66666%;
}
.w3-col.s6 {
  width: 49.99999%;
}
.w3-col.s7 {
  width: 58.33333%;
}
.w3-col.s8 {
  width: 66.66666%;
}
.w3-col.s9 {
  width: 74.99999%;
}
.w3-col.s10 {
  width: 83.33333%;
}
.w3-col.s11 {
  width: 91.66666%;
}
.w3-col.s12 {
  width: 99.99999%;
}
@media (min-width: 601px) {
  .w3-col.m1 {
    width: 8.33333%;
  }
  .w3-col.m2 {
    width: 16.66666%;
  }
  .w3-col.m3,
  .w3-quarter {
    width: 24.99999%;
  }
  .w3-col.m4,
  .w3-third {
    width: 33.33333%;
  }
  .w3-col.m5 {
    width: 41.66666%;
  }
  .w3-col.m6,
  .w3-half {
    width: 49.99999%;
  }
  .w3-col.m7 {
    width: 58.33333%;
  }
  .w3-col.m8,
  .w3-twothird {
    width: 66.66666%;
  }
  .w3-col.m9,
  .w3-threequarter {
    width: 74.99999%;
  }
  .w3-col.m10 {
    width: 83.33333%;
  }
  .w3-col.m11 {
    width: 91.66666%;
  }
  .w3-col.m12 {
    width: 99.99999%;
  }
}
@media (min-width: 993px) {
  .w3-col.l1 {
    width: 8.33333%;
  }
  .w3-col.l2 {
    width: 16.66666%;
  }
  .w3-col.l3 {
    width: 24.99999%;
  }
  .w3-col.l4 {
    width: 33.33333%;
  }
  .w3-col.l5 {
    width: 41.66666%;
  }
  .w3-col.l6 {
    width: 49.99999%;
  }
  .w3-col.l7 {
    width: 58.33333%;
  }
  .w3-col.l8 {
    width: 66.66666%;
  }
  .w3-col.l9 {
    width: 74.99999%;
  }
  .w3-col.l10 {
    width: 83.33333%;
  }
  .w3-col.l11 {
    width: 91.66666%;
  }
  .w3-col.l12 {
    width: 99.99999%;
  }
}
.w3-rest {
  overflow: hidden;
}
.w3-stretch {
  margin-left: -16px;
  margin-right: -16px;
}
.w3-content,
.w3-auto {
  margin-left: auto;
  margin-right: auto;
}
.w3-content {
  max-width: 980px;
}
.w3-auto {
  max-width: 1140px;
}
.w3-cell-row {
  display: table;
  width: 100%;
}
.w3-cell {
  display: table-cell;
}
.w3-cell-top {
  vertical-align: top;
}
.w3-cell-middle {
  vertical-align: middle;
}
.w3-cell-bottom {
  vertical-align: bottom;
}
.w3-hide {
  display: none !important;
}
.w3-show-block,
.w3-show {
  display: block !important;
}
.w3-show-inline-block {
  display: inline-block !important;
}
@media (max-width: 1205px) {
  .w3-auto {
    max-width: 95%;
  }
}
@media (max-width: 600px) {
  .w3-modal-content {
    margin: 0 10px;
    width: auto !important;
  }
  .w3-modal {
    padding-top: 30px;
  }
  .w3-dropdown-hover.w3-mobile .w3-dropdown-content,
  .w3-dropdown-click.w3-mobile .w3-dropdown-content {
    position: relative;
  }
  .w3-hide-small {
    display: none !important;
  }
  .w3-mobile {
    display: block;
    width: 100% !important;
  }
  .w3-bar-item.w3-mobile,
  .w3-dropdown-hover.w3-mobile,
  .w3-dropdown-click.w3-mobile {
    text-align: center;
  }
  .w3-dropdown-hover.w3-mobile,
  .w3-dropdown-hover.w3-mobile .w3-btn,
  .w3-dropdown-hover.w3-mobile .w3-button,
  .w3-dropdown-click.w3-mobile,
  .w3-dropdown-click.w3-mobile .w3-btn,
  .w3-dropdown-click.w3-mobile .w3-button {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .w3-modal-content {
    width: 500px;
  }
  .w3-modal {
    padding-top: 50px;
  }
}
@media (min-width: 993px) {
  .w3-modal-content {
    width: 900px;
  }
  .w3-hide-large {
    display: none !important;
  }
  .w3-sidebar.w3-collapse {
    display: block !important;
  }
}
@media (max-width: 992px) and (min-width: 601px) {
  .w3-hide-medium {
    display: none !important;
  }
}
@media (max-width: 992px) {
  .w3-sidebar.w3-collapse {
    display: none;
  }

.w3-main {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .w3-auto {
    max-width: 100%;
  }
}
.w3-top,
.w3-bottom {
  position: fixed;
  width: 100%;
  z-index: 1;
}
.w3-top {
  top: 0;
}
.w3-bottom {
  bottom: 0;
}
.w3-overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
}

.w3-display-topleft {
	position: absolute;
	left: 0;
	top: 0;
  }
  .w3-display-topright {
	position: absolute;
	right: 0;
	top: 0;
  }
  .w3-display-bottomleft {
	position: absolute;
	left: 0;
	bottom: 0;
  }
  .w3-display-bottomright {
	position: absolute;
	right: 0;
	bottom: 0;
  }
  .w3-display-middle {
	position: absolute;
	top: 50%;
	left: 70%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
  }
  .w3-display-left {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(0%, -50%);
	-ms-transform: translate(-0%, -50%);
  }
  .w3-display-right {
	position: absolute;
	top: 50%;
	right: 0%;
	transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
  }
  .w3-display-topmiddle {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
  }
  .w3-display-bottommiddle {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
  }
  .w3-display-container:hover .w3-display-hover {
	display: block;
  }
  .w3-display-container:hover span.w3-display-hover {
	display: inline-block;
  }
  .w3-display-hover {
	display: none;
  }
  .w3-display-position {
	position: absolute;
  }
  .w3-circle {
	border-radius: 50%;
  }
  .w3-round-small {
	border-radius: 2px;
  }
  .w3-round,
  .w3-round-medium {
	border-radius: 4px;
  }
  .w3-round-large {
	border-radius: 8px;
  }
  .w3-round-xlarge {
	border-radius: 16px;
  }
  .w3-round-xxlarge {
	border-radius: 32px;
  }
  .w3-row-padding,
  .w3-row-padding > .w3-half,
  .w3-row-padding > .w3-third,
  .w3-row-padding > .w3-twothird,
  .w3-row-padding > .w3-threequarter,
  .w3-row-padding > .w3-quarter,
  .w3-row-padding > .w3-col {
	padding: 0 8px;
  }
.w3-container,
.w3-panel {
  padding: 0.01em 16px;
}
.w3-panel {
  margin-top: 16px;
  margin-bottom: 16px;
}
.w3-code,
.w3-codespan {
  font-family: Consolas, "courier new";
  font-size: 16px;
}
.w3-code {
  width: auto;
  background-color: #fff;
  padding: 8px 12px;
  border-left: 4px solid #4caf50;
  word-wrap: break-word;
}
.w3-codespan {
  color: crimson;
  background-color: #f1f1f1;
  padding-left: 4px;
  padding-right: 4px;
  font-size: 110%;
}
  .w3-card,
  .w3-card-2 {
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  }
  .w3-card-4,
  .w3-hover-shadow:hover {
	box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.19);
  }
  .w3-spin {
	animation: w3-spin 2s infinite linear;
  }
  @keyframes w3-spin {
	0% {
	  transform: rotate(0deg);
	}
	100% {
	  transform: rotate(359deg);
	}
  }
  .w3-animate-fading {
	animation: fading 10s infinite;
  }
  @keyframes fading {
	0% {
	  opacity: 0;
	}
	50% {
	  opacity: 1;
	}
	100% {
	  opacity: 0;
	}
  }
  .w3-animate-opacity {
	animation: opac 0.8s;
  }
  @keyframes opac {
	from {
	  opacity: 0;
	}
	to {
	  opacity: 1;
	}
  }
  .w3-animate-top {
	position: relative;
	animation: animatetop 0.4s;
  }
  @keyframes animatetop {
	from {
	  top: -300px;
	  opacity: 0;
	}
	to {
	  top: 0;
	  opacity: 1;
	}
  }
  .w3-animate-left {
	position: relative;
	animation: animateleft 0.4s;
  }
  @keyframes animateleft {
	from {
	  left: -300px;
	  opacity: 0;
	}
	to {
	  left: 0;
	  opacity: 1;
	}
  }
  .w3-animate-right {
	position: relative;
	animation: animateright 0.4s;
  }
  @keyframes animateright {
	from {
	  right: -300px;
	  opacity: 0;
	}
	to {
	  right: 0;
	  opacity: 1;
	}
  }
  .w3-animate-bottom {
	position: relative;
	animation: animatebottom 0.4s;
  }
  @keyframes animatebottom {
	from {
	  bottom: -300px;
	  opacity: 0;
	}
	to {
	  bottom: 0;
	  opacity: 1;
	}
  }
  .w3-animate-zoom {
	animation: animatezoom 0.6s;
  }
  @keyframes animatezoom {
	from {
	  transform: scale(0);
	}
	to {
	  transform: scale(1);
	}
  }
  .w3-animate-input {
	transition: width 0.4s ease-in-out;
  }
  .w3-animate-input:focus {
	width: 100% !important;
  }
  .w3-opacity,
  .w3-hover-opacity:hover {
	opacity: 0.6;
  }
  .w3-opacity-off,
  .w3-hover-opacity-off:hover {
	opacity: 1;
  }
  .w3-opacity-max {
	opacity: 0.25;
  }
  .w3-opacity-min {
	opacity: 0.75;
  }
  .w3-greyscale-max,
  .w3-grayscale-max,
  .w3-hover-greyscale:hover,
  .w3-hover-grayscale:hover {
	filter: grayscale(100%);
  }
  .w3-greyscale,
  .w3-grayscale {
	filter: grayscale(75%);
  }
  .w3-greyscale-min,
  .w3-grayscale-min {
	filter: grayscale(50%);
  }
  .w3-sepia {
	filter: sepia(75%);
  }
  .w3-sepia-max,
  .w3-hover-sepia:hover {
	filter: sepia(100%);
  }
  .w3-sepia-min {
	filter: sepia(50%);
  }
  .w3-tiny {
	font-size: 10px !important;
  }
  .w3-small {
	font-size: 12px !important;
  }
  .w3-medium {
	font-size: 15px !important;
  }
  .w3-large {
	font-size: 18px !important;
  }
  .w3-xlarge {
	font-size: 24px !important;
  }
  .w3-xxlarge {
	font-size: 36px !important;
  }
  .w3-xxxlarge {
	font-size: 48px !important;
  }
  .w3-jumbo {
	font-size: 64px !important;
  }
  .w3-left-align {
	text-align: left !important;
  }
  .w3-right-align {
	text-align: right !important;
  }
  .w3-justify {
	text-align: justify !important;
  }
  .w3-center {
	text-align: center !important;
  }
  .w3-border-0 {
	border: 0 !important;
  }
  .w3-border {
	border: 1px solid #ccc !important;
  }
  .w3-border-top {
	border-top: 1px solid #ccc !important;
  }
  .w3-border-bottom {
	border-bottom: 1px solid #ccc !important;
  }
  .w3-border-left {
	border-left: 1px solid #ccc !important;
  }
  .w3-border-right {
	border-right: 1px solid #ccc !important;
  }
  .w3-topbar {
	border-top: 6px solid #ccc !important;
  }
  .w3-bottombar {
	border-bottom: 6px solid #ccc !important;
  }
  .w3-leftbar {
	border-left: 6px solid #ccc !important;
  }
  .w3-rightbar {
	border-right: 6px solid #ccc !important;
  }
  .w3-section,
  .w3-code {
	margin-top: 16px !important;
	margin-bottom: 16px !important;
  }
  .w3-margin {
	margin: 16px !important;
  }
  .w3-margin-top {
	margin-top: 16px !important;
  }
  .w3-margin-bottom {
	margin-bottom: 16px !important;
  }
  .w3-margin-left {
	margin-left: 16px !important;
  }
  .w3-margin-right {
	margin-right: 16px !important;
  }
  .w3-padding-small {
	padding: 4px 8px !important;
  }
  .w3-padding {
	padding: 8px 16px !important;
  }
  .w3-padding-large {
	padding: 12px 24px !important;
  }
  .w3-padding-16 {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
  }
  .w3-padding-24 {
	padding-top: 24px !important;
	padding-bottom: 24px !important;
  }
  .w3-padding-32 {
	padding-top: 32px !important;
	padding-bottom: 32px !important;
  }
  .w3-padding-48 {
	padding-top: 48px !important;
	padding-bottom: 48px !important;
  }
  .w3-padding-64 {
	padding-top: 64px !important;
	padding-bottom: 64px !important;
  }
  .w3-padding-top-64 {
	padding-top: 64px !important;
  }
  .w3-padding-top-48 {
	padding-top: 48px !important;
  }
  .w3-padding-top-32 {
	padding-top: 32px !important;
  }
  .w3-padding-top-24 {
	padding-top: 24px !important;
  }
  .w3-left {
	float: left !important;
  }
  .w3-right {
	float: right !important;
  }
  .w3-button:hover {
	color: #000 !important;
	background-color: #ccc !important;
  }
  .w3-transparent,
  .w3-hover-none:hover {
	background-color: transparent !important;
  }
  .w3-hover-none:hover {
	box-shadow: none !important;
  }
  /* Colors */
  .w3-amber,
  .w3-hover-amber:hover {
	color: #000 !important;
	background-color: #ffc107 !important;
  }
  .w3-aqua,
  .w3-hover-aqua:hover {
	color: #000 !important;
	background-color: #00ffff !important;
  }
  .w3-blue,
  .w3-hover-blue:hover {
	color: #fff !important;
	background-color: #2196f3 !important;
  }
  .w3-light-blue,
  .w3-hover-light-blue:hover {
	color: #000 !important;
	background-color: #87ceeb !important;
  }
  .w3-brown,
  .w3-hover-brown:hover {
	color: #fff !important;
	background-color: #795548 !important;
  }
  .w3-cyan,
  .w3-hover-cyan:hover {
	color: #000 !important;
	background-color: #00bcd4 !important;
  }
  .w3-blue-grey,
  .w3-hover-blue-grey:hover,
  .w3-blue-gray,
  .w3-hover-blue-gray:hover {
	color: #fff !important;
	background-color: #607d8b !important;
  }
  .w3-green,
  .w3-hover-green:hover {
	color: #fff !important;
	background-color: #4caf50 !important;
  }
  .w3-light-green,
  .w3-hover-light-green:hover {
	color: #000 !important;
	background-color: #8bc34a !important;
  }
  .w3-indigo,
  .w3-hover-indigo:hover {
	color: #fff !important;
	background-color: #3f51b5 !important;
  }
  .w3-khaki,
  .w3-hover-khaki:hover {
	color: #000 !important;
	background-color: #f0e68c !important;
  }
  .w3-lime,
  .w3-hover-lime:hover {
	color: #000 !important;
	background-color: #cddc39 !important;
  }
  .w3-orange,
  .w3-hover-orange:hover {
	color: #000 !important;
	background-color: #ff9800 !important;
  }
  .w3-deep-orange,
  .w3-hover-deep-orange:hover {
	color: #fff !important;
	background-color: #ff5722 !important;
  }
  .w3-pink,
  .w3-hover-pink:hover {
	color: #fff !important;
	background-color: #e91e63 !important;
  }
  .w3-purple,
  .w3-hover-purple:hover {
	color: #fff !important;
	background-color: #9c27b0 !important;
  }
  .w3-deep-purple,
  .w3-hover-deep-purple:hover {
	color: #fff !important;
	background-color: #673ab7 !important;
  }
  .w3-red,
  .w3-hover-red:hover {
	color: #fff !important;
	background-color: #f44336 !important;
  }
  .w3-sand,
  .w3-hover-sand:hover {
	color: #000 !important;
	background-color: #fdf5e6 !important;
  }
  .w3-teal,
  .w3-hover-teal:hover {
	color: #fff !important;
	background-color: #009688 !important;
  }
  .w3-yellow,
  .w3-hover-yellow:hover {
	color: #000 !important;
	background-color: #ffeb3b !important;
  }
  .w3-white,
  .w3-hover-white:hover {
	color: #000 !important;
	background-color: #fff !important;
  }
  .w3-black,
  .w3-hover-black:hover {
	color: #fff !important;
	background-color: #000 !important;
  }
  .w3-grey,
  .w3-hover-grey:hover,
  .w3-gray,
  .w3-hover-gray:hover {
	color: #000 !important;
	background-color: #9e9e9e !important;
  }
  .w3-light-grey,
  .w3-hover-light-grey:hover,
  .w3-light-gray,
  .w3-hover-light-gray:hover {
	color: #000 !important;
	background-color: #f1f1f1 !important;
  }
  .w3-dark-grey,
  .w3-hover-dark-grey:hover,
  .w3-dark-gray,
  .w3-hover-dark-gray:hover {
	color: #fff !important;
	background-color: #616161 !important;
  }
  .w3-pale-red,
  .w3-hover-pale-red:hover {
	color: #000 !important;
	background-color: #ffdddd !important;
  }
  .w3-pale-green,
  .w3-hover-pale-green:hover {
	color: #000 !important;
	background-color: #ddffdd !important;
  }
  .w3-pale-yellow,
  .w3-hover-pale-yellow:hover {
	color: #000 !important;
	background-color: #ffffcc !important;
  }
  .w3-pale-blue,
  .w3-hover-pale-blue:hover {
	color: #000 !important;
	background-color: #ddffff !important;
  }
  .w3-text-amber,
  .w3-hover-text-amber:hover {
	color: #ffc107 !important;
  }
  .w3-text-aqua,
  .w3-hover-text-aqua:hover {
	color: #00ffff !important;
  }
  .w3-text-blue,
  .w3-hover-text-blue:hover {
	color: #2196f3 !important;
  }
  .w3-text-light-blue,
  .w3-hover-text-light-blue:hover {
	color: #87ceeb !important;
  }
  .w3-text-brown,
  .w3-hover-text-brown:hover {
	color: #795548 !important;
  }
  .w3-text-cyan,
  .w3-hover-text-cyan:hover {
	color: #00bcd4 !important;
  }
  .w3-text-blue-grey,
  .w3-hover-text-blue-grey:hover,
  .w3-text-blue-gray,
  .w3-hover-text-blue-gray:hover {
	color: #607d8b !important;
  }
  .w3-text-green,
  .w3-hover-text-green:hover {
	color: #4caf50 !important;
  }
  .w3-text-light-green,
  .w3-hover-text-light-green:hover {
	color: #8bc34a !important;
  }
  .w3-text-indigo,
  .w3-hover-text-indigo:hover {
	color: #3f51b5 !important;
  }
  .w3-text-khaki,
  .w3-hover-text-khaki:hover {
	color: #b4aa50 !important;
  }
  .w3-text-lime,
  .w3-hover-text-lime:hover {
	color: #cddc39 !important;
  }
  .w3-text-orange,
  .w3-hover-text-orange:hover {
	color: #ff9800 !important;
  }
  .w3-text-deep-orange,
  .w3-hover-text-deep-orange:hover {
	color: #34465a !important;
  }
  .w3-text-pink,
  .w3-hover-text-pink:hover {
	color:#34465a !important;
  }
  .w3-text-purple,
  .w3-hover-text-purple:hover {
	color: #9c27b0 !important;
  }
  .w3-text-deep-purple,
  .w3-hover-text-deep-purple:hover {
	color: #673ab7 !important;
  }
  .w3-text-red,
  .w3-hover-text-red:hover {
	color: #34465a !important;
  }
  .w3-text-sand,
  .w3-hover-text-sand:hover {
	color: #fdf5e6 !important;
  }
  .w3-text-teal,
  .w3-hover-text-teal:hover {
	color: #009688 !important;
  }
  .w3-text-yellow,
  .w3-hover-text-yellow:hover {
	color: #d2be0e !important;
  }
  .w3-text-white,
  .w3-hover-text-white:hover {
	color: #fff !important;
  }
  .w3-text-black,
  .w3-hover-text-black:hover {
	color: #000 !important;
  }
  .w3-text-grey,
  .w3-hover-text-grey:hover,
  .w3-text-gray,
  .w3-hover-text-gray:hover {
	color: #757575 !important;
  }
  .w3-text-light-grey,
  .w3-hover-text-light-grey:hover,
  .w3-text-light-gray,
  .w3-hover-text-light-gray:hover {
	color: #f1f1f1 !important;
  }
  .w3-text-dark-grey,
  .w3-hover-text-dark-grey:hover,
  .w3-text-dark-gray,
  .w3-hover-text-dark-gray:hover {
	color: #3a3a3a !important;
  }
  .w3-border-amber,
  .w3-hover-border-amber:hover {
	border-color: #ffc107 !important;
  }
  .w3-border-aqua,
  .w3-hover-border-aqua:hover {
	border-color: #00ffff !important;
  }
  .w3-border-blue,
  .w3-hover-border-blue:hover {
	border-color: #2196f3 !important;
  }
  .w3-border-light-blue,
  .w3-hover-border-light-blue:hover {
	border-color: #87ceeb !important;
  }
  .w3-border-brown,
  .w3-hover-border-brown:hover {
	border-color: #795548 !important;
  }
  .w3-border-cyan,
  .w3-hover-border-cyan:hover {
	border-color: #00bcd4 !important;
  }
  .w3-border-blue-grey,
  .w3-hover-border-blue-grey:hover,
  .w3-border-blue-gray,
  .w3-hover-border-blue-gray:hover {
	border-color: #607d8b !important;
  }
  .w3-border-green,
  .w3-hover-border-green:hover {
	border-color: #4caf50 !important;
  }
  .w3-border-light-green,
  .w3-hover-border-light-green:hover {
	border-color: #8bc34a !important;
  }
  .w3-border-indigo,
  .w3-hover-border-indigo:hover {
	border-color: #3f51b5 !important;
  }
  .w3-border-khaki,
  .w3-hover-border-khaki:hover {
	border-color: #f0e68c !important;
  }
  .w3-border-lime,
  .w3-hover-border-lime:hover {
	border-color: #cddc39 !important;
  }
  .w3-border-orange,
  .w3-hover-border-orange:hover {
	border-color: #ff9800 !important;
  }
  .w3-border-deep-orange,
  .w3-hover-border-deep-orange:hover {
	border-color: #ff5722 !important;
  }
  .w3-border-pink,
  .w3-hover-border-pink:hover {
	border-color: #e91e63 !important;
  }
  .w3-border-purple,
  .w3-hover-border-purple:hover {
	border-color: #9c27b0 !important;
  }
  .w3-border-deep-purple,
  .w3-hover-border-deep-purple:hover {
	border-color: #673ab7 !important;
  }
  .w3-border-red,
  .w3-hover-border-red:hover {
	border-color: #f44336 !important;
  }
  .w3-border-sand,
  .w3-hover-border-sand:hover {
	border-color: #fdf5e6 !important;
  }
  .w3-border-teal,
  .w3-hover-border-teal:hover {
	border-color: #009688 !important;
  }
  .w3-border-yellow,
  .w3-hover-border-yellow:hover {
	border-color: #ffeb3b !important;
  }
  .w3-border-white,
  .w3-hover-border-white:hover {
	border-color: #fff !important;
  }
  .w3-border-black,
  .w3-hover-border-black:hover {
	border-color: #000 !important;
  }
  .w3-border-grey,
  .w3-hover-border-grey:hover,
  .w3-border-gray,
  .w3-hover-border-gray:hover {
	border-color: #9e9e9e !important;
  }
  .w3-border-light-grey,
  .w3-hover-border-light-grey:hover,
  .w3-border-light-gray,
  .w3-hover-border-light-gray:hover {
	border-color: #f1f1f1 !important;
  }
  .w3-border-dark-grey,
  .w3-hover-border-dark-grey:hover,
  .w3-border-dark-gray,
  .w3-hover-border-dark-gray:hover {
	border-color: #616161 !important;
  }
  .w3-border-pale-red,
  .w3-hover-border-pale-red:hover {
	border-color: #ffe7e7 !important;
  }
  .w3-border-pale-green,
  .w3-hover-border-pale-green:hover {
	border-color: #e7ffe7 !important;
  }
  .w3-border-pale-yellow,
  .w3-hover-border-pale-yellow:hover {
	border-color: #ffffcc !important;
  }
  .w3-border-pale-blue,
  .w3-hover-border-pale-blue:hover {
	border-color: #e7ffff !important;
  }
/*================================================*/

.doc2026{

margin-top:40px;

text-align:center;

}

/*================================================*/

.doc2026__viewer{

background:#ffffff;

padding:15px;

border-radius:12px;

box-shadow:0 0 20px rgba(0,0,0,.15);

}

/*================================================*/

.doc2026__viewer img{

    transition:opacity .3s ease;

}

/*================================================*/

.doc2026__viewer img{

width:100%;

width:auto;

max-height:700px;

display:block;

margin:auto;

border-radius:8px;

transition:opacity .35s;

}



.doc2026__toolbar{

margin-top:20px;

display:flex;

flex-wrap:wrap;

justify-content:center;

gap:12px;

}



.doc2026__toolbar button{

padding:10px 22px;

border:none;

border-radius:8px;

cursor:pointer;

background:#4d6578;

color:white;

font-size:16px;

}



.doc2026__toolbar button:hover{

background:#2c4456;

}



.doc2026__toolbar select{

padding:10px;

font-size:16px;

}



.doc2026__counter{

margin-top:20px;

font-size:22px;

font-weight:bold;

}



@media(max-width:768px){

.doc2026__toolbar{

flex-direction:column;

}

.doc2026__toolbar button{

width:100%;

}

.doc2026__toolbar select{

width:100%;

}

}

/* =====================================================
   Документы 2026: просмотрщик, миниатюры, PHP-список
   ===================================================== */

.doc2026{
    margin: 40px auto 0 auto;
    text-align: center;
    max-width: 1200px;
}

.doc2026__viewer{
    background: #ffffff;
    padding: 15px;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0,0,0,.15);
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.doc2026__viewer img{
    width: auto;
    max-width: 100%;
    max-height: 700px;
    display: block;
    margin: auto;
    border-radius: 8px;
    transition: opacity .3s ease;
}

.doc2026__toolbar{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.doc2026__toolbar button,
.doc2026__toolbar select{
    min-height: 48px;
    padding: 10px 22px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
}

.doc2026__toolbar button{
    border: none;
    cursor: pointer;
    background: rgba(13, 92, 99, 1);
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(68, 81, 98, .35);
}

.doc2026__toolbar button:hover{
    background: rgba(133, 9, 9, 1);
}

.doc2026__toolbar select{
    border: 1px solid rgba(13, 92, 99, .35);
    color: rgba(13, 92, 99, 1);
    background: #ffffff;
}

.doc2026__counter{
    margin-top: 20px;
    font-size: 26px;
    line-height: 1.4;
    font-weight: 800;
    color: rgba(13, 92, 99, 1);
}

.doc2026__message{
    margin: 15px auto 0 auto;
    min-height: 26px;
    font-size: 16px;
    font-weight: 700;
    color:#34465a;
}

.doc2026__thumbs-wrap{
    margin-top: 35px;
    padding: 16px;
    border: 1px solid rgba(13, 92, 99, .18);
    border-radius: 12px;
    background: rgba(158, 187, 142, .10);
    text-align: left;
}

.doc2026__thumbs-title{
    margin: 0 0 14px 0;
    font-size: 16px;
    font-weight: 800;
    color: rgba(13, 92, 99, 1);
}

.doc2026__thumbs{
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 2px 14px 2px;
    scroll-behavior: smooth;
}

.doc2026__thumb{
    flex: 0 0 108px;
    border: 2px solid transparent;
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
    padding: 7px;
    color: rgba(13, 92, 99, 1);
    box-shadow: 0 5px 15px rgba(0,0,0,.10);
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.doc2026__thumb:hover{
    transform: translateY(-2px);
    border-color: rgba(13, 92, 99, .45);
}

.doc2026__thumb.active{
    border-color: rgba(133, 9, 9, 1);
    background: rgba(158, 187, 142, .18);
}

.doc2026__thumb img{
    width: 100%;
    height: 125px;
    display: block;
    object-fit: cover;
    border-radius: 6px;
    background: #f5f5f5;
}

.doc2026__thumb span{
    display: block;
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
    text-align: center;
    word-break: break-word;
}

@media(max-width: 768px){
    .doc2026__viewer{
        padding: 8px;
    }

    .doc2026__viewer img{
        max-height: 72vh;
    }

    .doc2026__toolbar{
        flex-direction: column;
        align-items: stretch;
    }

    .doc2026__toolbar button,
    .doc2026__toolbar select{
        width: 100%;
    }

    .doc2026__thumb{
        flex-basis: 92px;
    }

    .doc2026__thumb img{
        height: 108px;
    }
}

/* =====================================================
   GLOBAL FONT FIX — Montserrat for entire site
   ===================================================== */
html,
body,
body * {
    font-family: "Montserrat", Arial, sans-serif;
}

/* Preserve icon fonts if used */
.fa,
.fas,
.far,
.fab,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "FontAwesome", "Font Awesome 5 Free", "Font Awesome 5 Brands" !important;
}

/* =====================================================
   PARALLAX FIX FOR documentation.html
   ===================================================== */
.bgimg-1,
.bgimg-2,
.bgimg-3 {
    background-attachment: scroll;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bgimg-1 {
    background-image: url("../img/parallax1.webp");
    min-height: 720px;
}

.bgimg-2 {
    background-image: url("../img/parallax0.webp");
    min-height: 400px;
}

.bgimg-3 {
    background-image: url("../img/parallax400.webp");
    min-height: 40%;
}

@media (max-width: 770px) {
    .bgimg-1 {
        min-height: 520px;
    }
}

@media (max-width: 480px) {
    .bgimg-1 {
        min-height: 420px;
    }
}



.doc2026__zoom-hint{
    display:none;
    margin: 8px 0 0 0;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    color: rgba(13, 92, 99, 1);
}

/* =====================================================
   Fullscreen mode for Documents 2026
   Кнопки и миниатюры всегда остаются на экране.
   Документ занимает только доступное пространство между ними.
   ===================================================== */

#exitFullBtn{
    display: none;
}

.doc2026:fullscreen,
.doc2026:-webkit-full-screen{
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #111;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.doc2026:fullscreen .doc2026__toolbar,
.doc2026:-webkit-full-screen .doc2026__toolbar{
    order: 1;
    flex: 0 0 auto;
    margin: 0 auto;
    padding: 8px;
    width: fit-content;
    max-width: calc(100vw - 20px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    background: rgba(255,255,255,.94);
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,.35);
    z-index: 20;
}

.doc2026:fullscreen .doc2026__viewer,
.doc2026:-webkit-full-screen .doc2026__viewer{
    order: 2;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    margin: 0 auto;
    padding: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: auto;
    background: #111;
    box-shadow: none;
}

.doc2026:fullscreen .doc2026__viewer img,
.doc2026:-webkit-full-screen .doc2026__viewer img{
    height: 100%;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 0 30px rgba(0,0,0,.55);
}

.doc2026:fullscreen .doc2026__counter,
.doc2026:-webkit-full-screen .doc2026__counter{
    order: 3;
    flex: 0 0 auto;
    margin: 0;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
}

.doc2026:fullscreen .doc2026__message,
.doc2026:-webkit-full-screen .doc2026__message{
    order: 4;
    flex: 0 0 auto;
    margin: 0;
    min-height: 18px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.2;
}


.doc2026:fullscreen .doc2026__zoom-hint,
.doc2026:-webkit-full-screen .doc2026__zoom-hint{
    order: 5;
    display:block;
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 10px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.2;
    text-align:center;
    background: rgba(13,92,99,.75);
    border-radius: 8px;
}

.doc2026:fullscreen .doc2026__thumbs-wrap,
.doc2026:-webkit-full-screen .doc2026__thumbs-wrap{
    order: 6;
    flex: 0 0 auto;
    max-height: 124px;
    margin-top: 0;
    padding: 8px;
    overflow: hidden;
    background: rgba(255,255,255,.94);
    border-radius: 12px;
}

.doc2026:fullscreen .doc2026__thumbs-title,
.doc2026:-webkit-full-screen .doc2026__thumbs-title{
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.1;
}

.doc2026:fullscreen .doc2026__thumbs,
.doc2026:-webkit-full-screen .doc2026__thumbs{
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
}

.doc2026:fullscreen .doc2026__thumb,
.doc2026:-webkit-full-screen .doc2026__thumb{
    flex: 0 0 76px;
    width: 76px;
    padding: 4px;
}

.doc2026:fullscreen .doc2026__thumb img,
.doc2026:-webkit-full-screen .doc2026__thumb img{
    height: 62px;
    object-fit: cover;
}

.doc2026:fullscreen .doc2026__thumb span,
.doc2026:-webkit-full-screen .doc2026__thumb span{
    font-size: 11px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media(max-width: 768px){
    .doc2026:fullscreen,
    .doc2026:-webkit-full-screen{
        padding: 6px;
        gap: 6px;
    }

    .doc2026:fullscreen .doc2026__viewer img,
    .doc2026:-webkit-full-screen .doc2026__viewer img{
        height: 100%;
    }

    .doc2026:fullscreen .doc2026__toolbar,
    .doc2026:-webkit-full-screen .doc2026__toolbar{
        width: calc(100vw - 12px);
        gap: 6px;
    }

    .doc2026:fullscreen .doc2026__toolbar button,
    .doc2026:-webkit-full-screen .doc2026__toolbar button,
    .doc2026:fullscreen .doc2026__toolbar select,
    .doc2026:-webkit-full-screen .doc2026__toolbar select{
        width: auto;
        padding: 7px 10px;
        font-size: 13px;
    }

    
.doc2026:fullscreen .doc2026__zoom-hint,
.doc2026:-webkit-full-screen .doc2026__zoom-hint{
    order: 5;
    display:block;
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 10px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.2;
    text-align:center;
    background: rgba(13,92,99,.75);
    border-radius: 8px;
}

.doc2026:fullscreen .doc2026__thumbs-wrap,
    .doc2026:-webkit-full-screen .doc2026__thumbs-wrap{
        max-height: 104px;
        padding: 6px;
    }

    .doc2026:fullscreen .doc2026__thumb,
    .doc2026:-webkit-full-screen .doc2026__thumb{
        flex-basis: 66px;
        width: 66px;
    }

    .doc2026:fullscreen .doc2026__thumb img,
    .doc2026:-webkit-full-screen .doc2026__thumb img{
        height: 52px;
    }
}


/* ===================================================== */
/* FINAL CLEAN: Полный экран документов 2026 */
/* ===================================================== */

.doc2026:fullscreen,
.doc2026:-webkit-full-screen {
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 12px 16px 14px !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 8px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.58) 0%, rgba(255,255,255,.22) 27%, rgba(255,255,255,0) 52%),
        linear-gradient(180deg, #7a1fe0 0%, #a55fe1 48%, #f4efff 100%) !important;
    color: #fff !important;
}

.doc2026:fullscreen .doc2026__toolbar,
.doc2026:-webkit-full-screen .doc2026__toolbar {
    margin: 0 !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    z-index: 80 !important;
}

.doc2026:fullscreen .doc2026__toolbar button,
.doc2026:fullscreen .doc2026__toolbar select,
.doc2026:-webkit-full-screen .doc2026__toolbar button,
.doc2026:-webkit-full-screen .doc2026__toolbar select {
    min-height: 32px !important;
    padding: 6px 13px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.92) !important;
    color: #5c16b4 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 20px rgba(50,0,100,.20) !important;
}

.doc2026:fullscreen .doc2026__counter,
.doc2026:-webkit-full-screen .doc2026__counter {
    margin: 0 !important;
    color: #fff !important;
    font-size: 22px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
}

.doc2026:fullscreen .doc2026__message,
.doc2026:-webkit-full-screen .doc2026__message {
    min-height: 22px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    text-align: center !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
}

.doc2026:fullscreen #doc2026ZoomHint,
.doc2026:-webkit-full-screen #doc2026ZoomHint {
    display: none !important;
}

.doc2026:fullscreen .doc2026__viewer,
.doc2026:-webkit-full-screen .doc2026__viewer {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    perspective: 1600px !important;
}

.doc2026:fullscreen .doc2026__viewer > img#doc2026Image,
.doc2026:-webkit-full-screen .doc2026__viewer > img#doc2026Image {
    display: none !important;
}

.doc2026__fs-tape {
    display: none;
}

.doc2026:fullscreen .doc2026__fs-tape,
.doc2026:-webkit-full-screen .doc2026__fs-tape {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    cursor: grab !important;
    user-select: none !important;
    touch-action: pan-y !important;
}

.doc2026:fullscreen .doc2026__fs-tape.dragging,
.doc2026:-webkit-full-screen .doc2026__fs-tape.dragging {
    cursor: grabbing !important;
}

.doc2026__fs-help {
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    z-index: 500;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(80,20,150,.72);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    pointer-events: none;
}

.doc2026__fs-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.doc2026__fs-card {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(23vw, 360px);
    height: min(58vh, calc(100vh - 230px));
    max-height: 58vh;
    aspect-ratio: .707 / 1;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 22px 48px rgba(44,0,94,.32);
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        rotateY(var(--rotate, 0deg))
        scale(var(--scale, 1));
    transform-origin: center center;
    transition: transform .42s cubic-bezier(.22,.8,.24,1), opacity .35s ease, box-shadow .35s ease;
    will-change: transform, opacity;
}

.doc2026__fs-card.active {
    box-shadow:
        0 0 0 9px rgba(255,255,255,.84),
        0 28px 62px rgba(44,0,94,.44);
}

.doc2026__fs-card img {
    display: block !important;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
    pointer-events: none;
}

.doc2026__fs-card strong {
    position: absolute;
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    padding: 5px 10px;
    border-radius: 12px;
    background: rgba(30,30,30,.58);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc2026:fullscreen .doc2026__thumbs-wrap,
.doc2026:-webkit-full-screen .doc2026__thumbs-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.70) !important;
    box-shadow: 0 -8px 30px rgba(80,20,150,.15) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.doc2026:fullscreen .doc2026__thumbs-title,
.doc2026:-webkit-full-screen .doc2026__thumbs-title {
    display: none !important;
}

.doc2026:fullscreen .doc2026__thumbs,
.doc2026:-webkit-full-screen .doc2026__thumbs {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 0 0 4px !important;
    scroll-behavior: auto !important;
}

.doc2026:fullscreen .doc2026__thumb,
.doc2026:-webkit-full-screen .doc2026__thumb {
    flex: 0 0 82px !important;
    width: 82px !important;
    padding: 5px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.88) !important;
    border: 2px solid transparent !important;
}

.doc2026:fullscreen .doc2026__thumb.active,
.doc2026:-webkit-full-screen .doc2026__thumb.active {
    border-color: #7a1fe0 !important;
    box-shadow: 0 0 0 3px rgba(122,31,224,.16) !important;
}

.doc2026:fullscreen .doc2026__thumb img,
.doc2026:-webkit-full-screen .doc2026__thumb img {
    height: 70px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

.doc2026:fullscreen .doc2026__thumb span,
.doc2026:-webkit-full-screen .doc2026__thumb span {
    display: block !important;
    margin-top: 6px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    color: #5c16b4 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 900px) {
    .doc2026__fs-card {
        width: 44vw;
        height: min(52vh, calc(100vh - 230px));
    }

    .doc2026:fullscreen .doc2026__thumb,
    .doc2026:-webkit-full-screen .doc2026__thumb {
        flex-basis: 72px !important;
        width: 72px !important;
    }
}


/* ===================================================== */
/* HOTFIX: видимость документов в полноэкранной ленте */
/* ===================================================== */

.doc2026:fullscreen .doc2026__fs-track,
.doc2026:-webkit-full-screen .doc2026__fs-track {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    z-index: 20 !important;
}

.doc2026:fullscreen .doc2026__fs-card,
.doc2026:-webkit-full-screen .doc2026__fs-card {
    display: block !important;
    visibility: visible !important;
    z-index: 50;
}

.doc2026:fullscreen .doc2026__fs-card img,
.doc2026:-webkit-full-screen .doc2026__fs-card img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
}


/* ===================================================== */
/* Overlay-полный экран документов: гарантированная лента */
/* ===================================================== */

.doc2026-no-scroll {
    overflow: hidden !important;
}

.doc2026-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    grid-template-rows: auto auto auto 1fr auto;
    gap: 8px;
    padding: 10px 14px 12px;
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.58) 0%, rgba(255,255,255,.22) 28%, rgba(255,255,255,0) 52%),
        linear-gradient(180deg, #7a1fe0 0%, #a55fe1 48%, #f4efff 100%);
    color: #fff;
    font-family: Montserrat, Arial, sans-serif;
}

.doc2026-overlay.open {
    display: grid;
}

.doc2026-overlay__top {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    z-index: 30;
}

.doc2026-overlay__top button {
    min-height: 32px;
    padding: 6px 13px;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    color: #5c16b4;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(50,0,100,.20);
}

.doc2026-overlay__counter {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    text-shadow: 0 2px 10px rgba(0,0,0,.32);
}

.doc2026-overlay__hint {
    min-height: 18px;
    text-align: center;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-shadow: 0 2px 10px rgba(0,0,0,.32);
}

.doc2026-overlay__stage {
    position: relative;
    min-height: 0;
    overflow: hidden;
    perspective: 1600px;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
}



.doc2026-overlay__track {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.doc2026-overlay__card {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(26vw, 420px);
    height: min(62vh, calc(100vh - 225px));
    max-height: 62vh;
    aspect-ratio: .707 / 1;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 22px 48px rgba(44,0,94,.32);
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        rotateY(var(--rotate, 0deg))
        scale(var(--scale, 1));
    transform-origin: center center;
    transition: transform .42s cubic-bezier(.22,.8,.24,1), opacity .35s ease, box-shadow .35s ease;
    will-change: transform, opacity;
}

.doc2026-overlay__card.active {
    box-shadow:
        0 0 0 9px rgba(255,255,255,.84),
        0 28px 62px rgba(44,0,94,.44);
}

.doc2026-overlay__card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
}

.doc2026-overlay__card strong {
    position: absolute;
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    padding: 5px 10px;
    border-radius: 12px;
    background: rgba(30,30,30,.58);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc2026-overlay__thumbs {
    width: 100%;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 10px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.70);
    box-shadow: 0 -8px 30px rgba(80,20,150,.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.doc2026-overlay__thumb {
    flex: 0 0 82px;
    width: 82px;
    padding: 5px;
    border-radius: 12px;
    background: rgba(255,255,255,.88);
    border: 2px solid transparent;
}

.doc2026-overlay__thumb.active {
    border-color: #7a1fe0;
    box-shadow: 0 0 0 3px rgba(122,31,224,.16);
}

.doc2026-overlay__thumb img {
    display: block !important;
    width: 100%;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
}

.doc2026-overlay__thumb span {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.1;
    color: #5c16b4;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 900px) {
    .doc2026-overlay__card {
        width: 50vw;
        height: min(56vh, calc(100vh - 230px));
    }

    .doc2026-overlay__thumb {
        flex-basis: 72px;
        width: 72px;
    }
}


/* ===================================================== */
/* FIX: перетаскивание ленты мышкой поверх документов */
/* ===================================================== */

.doc2026-overlay__stage,
.doc2026-overlay__track,
.doc2026-overlay__card,
.doc2026-overlay__card img {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
}

.doc2026-overlay__card img {
    pointer-events: none !important;
}

.doc2026-overlay__track {
    touch-action: none !important;
}

.doc2026-overlay__stage {
    touch-action: none !important;
}


/* ===================================================== */
/* FIX: кнопки снизу слева, изображения не скрываются */
/* ===================================================== */

.doc2026-overlay.open {
    display: grid !important;
}

.doc2026-overlay {
    grid-template-rows: auto auto 1fr auto auto !important;
}

.doc2026-overlay__top {
    grid-row: 4 !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 0 6px 12px !important;
    z-index: 80 !important;
}

.doc2026-overlay__counter {
    grid-row: 1 !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    z-index: 70 !important;
}

.doc2026-overlay__hint {
    grid-row: 2 !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    width: 100% !important;
    z-index: 70 !important;
}

.doc2026-overlay__stage {
    grid-row: 3 !important;
    min-height: 0 !important;
    height: 100% !important;
    z-index: 10 !important;
}

.doc2026-overlay__thumbs {
    grid-row: 5 !important;
    z-index: 70 !important;
}

.doc2026-overlay__track,
.doc2026-overlay__card,
.doc2026-overlay__card img {
    visibility: visible !important;
}


/* ===================================================== */
/* PROFESSIONAL DOCUMENT VIEWER UI */
/* ===================================================== */

.doc2026-overlay {
    grid-template-rows: auto auto 1fr auto auto !important;
    padding: 12px 18px 14px !important;
}

.doc2026-overlay__counter {
    grid-row: 1 !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    z-index: 70 !important;
    font-size: 24px !important;
    letter-spacing: .02em;
}

.doc2026-overlay__hint {
    grid-row: 2 !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    width: 100% !important;
    z-index: 70 !important;
    opacity: .95;
}

.doc2026-overlay__stage {
    grid-row: 3 !important;
    min-height: 0 !important;
    height: 100% !important;
    z-index: 10 !important;
    cursor: grab;
}

.doc2026-overlay__stage.dragging {
    cursor: grabbing;
}

.doc2026-overlay__stage.panning {
    cursor: move;
}

.doc2026-overlay__top {
    grid-row: 4 !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 0 8px 8px !important;
    z-index: 90 !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 9px !important;
    border-radius: 999px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 12px 32px rgba(60,0,120,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.doc2026-overlay__top button {
    min-height: 34px !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #5d17c5 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 14px rgba(60,0,120,.16) !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.doc2026-overlay__top button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(60,0,120,.22) !important;
    background: #f7f1ff !important;
}

.doc2026-overlay__thumbs {
    grid-row: 5 !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(-1 * 18px) !important;
    margin-right: calc(-1 * 18px) !important;
    border-radius: 22px 22px 0 0 !important;
    padding: 12px 18px 10px !important;
    gap: 10px !important;
    scroll-behavior: smooth;
    z-index: 80 !important;
}

.doc2026-overlay__thumb {
    flex: 0 0 84px !important;
    width: 84px !important;
    border: 2px solid rgba(255,255,255,.65) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.doc2026-overlay__thumb:hover {
    transform: translateY(-2px);
}

.doc2026-overlay__thumb.active {
    border-color: #7a1fe0 !important;
    box-shadow:
        0 0 0 3px rgba(122,31,224,.26),
        0 10px 24px rgba(78,0,160,.22) !important;
    transform: translateY(-3px);
}

.doc2026-overlay__thumb img {
    height: 72px !important;
}

.doc2026-overlay__card img {
    transform-origin: center center;
    transition: transform .14s ease;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
}

.doc2026-overlay__card.active img {
    cursor: move;
}

.doc2026-overlay__track,
.doc2026-overlay__card {
    user-select: none !important;
    -webkit-user-select: none !important;
}

@media (max-width: 800px) {
    .doc2026-overlay__top {
        gap: 5px !important;
        padding: 6px !important;
    }

    .doc2026-overlay__top button {
        padding: 6px 10px !important;
        font-size: 12px !important;
    }

    .doc2026-overlay__thumb {
        flex-basis: 72px !important;
        width: 72px !important;
    }
}


/* ===================================================== */
/* GREEN PLATFORM EFFECT */
/* Активный документ на зеленой площадке.
   У соседних документов зеленый фон уменьшается пропорционально удалению. */
/* ===================================================== */

.doc2026-overlay__card {
    background:
        linear-gradient(
            180deg,
            rgba(130, 215, 135, calc(.22 * var(--green, 0))) 0%,
            rgba(91, 178, 95, calc(.42 * var(--green, 0))) 100%
        ),
        rgba(255,255,255,.72) !important;
    padding: 12px !important;
    border: 1px solid rgba(70, 150, 78, calc(.45 * var(--green, 0))) !important;
    box-shadow:
        0 14px 34px rgba(48, 120, 58, calc(.18 * var(--green, 0))),
        0 22px 48px rgba(44,0,94,.28) !important;
}

.doc2026-overlay__card::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 8px;
    height: 22px;
    border-radius: 999px;
    background: rgba(54, 150, 66, calc(.44 * var(--green, 0)));
    filter: blur(14px);
    opacity: var(--green, 0);
    z-index: 0;
    pointer-events: none;
}

.doc2026-overlay__card img {
    position: relative;
    z-index: 1;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.14);
}

.doc2026-overlay__card strong {
    z-index: 2;
}

.doc2026-overlay__card.active {
    background:
        linear-gradient(180deg, rgba(156, 235, 160, .72) 0%, rgba(84, 183, 92, .94) 100%) !important;
    border-color: rgba(48, 140, 60, .85) !important;
    box-shadow:
        0 0 0 8px rgba(201,255,204,.72),
        0 22px 50px rgba(40, 145, 58, .42),
        0 28px 62px rgba(44,0,94,.34) !important;
}


/* ===================================================== */
/* PARALLAX2 BACKGROUND — без фиолетового цвета */
/* ===================================================== */

.doc2026-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.18) 0%,
            rgba(20,33,27,.26) 42%,
            rgba(5,11,8,.88) 100%
        ),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
    color: #fff !important;
}

.doc2026-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 38%),
        linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(0,0,0,.68) 100%);
}

.doc2026-overlay > * {
    position: relative;
    z-index: 1;
}

.doc2026-overlay__counter,
.doc2026-overlay__hint {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.65) !important;
}

.doc2026-overlay__top {
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.26) !important;
}

.doc2026-overlay__top button {
    background: #ffffff !important;
    color: #236333 !important;
    box-shadow: 0 5px 15px rgba(0,0,0,.20) !important;
}

.doc2026-overlay__top button:hover {
    background: #eef9ef !important;
    color: #155725 !important;
}

.doc2026-overlay__thumbs {
    background: rgba(16,38,24,.74) !important;
    border: 1px solid rgba(174,225,181,.36) !important;
    box-shadow: 0 -10px 34px rgba(0,0,0,.34) !important;
}

.doc2026-overlay__thumb {
    background: rgba(255,255,255,.86) !important;
    border-color: rgba(199,237,205,.56) !important;
}

.doc2026-overlay__thumb span {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.72) !important;
}

.doc2026-overlay__thumb.active {
    border-color: #7ad884 !important;
    box-shadow:
        0 0 0 3px rgba(122,216,132,.28),
        0 0 24px rgba(122,216,132,.42) !important;
}

.doc2026-overlay__card {
    background:
        linear-gradient(
            180deg,
            rgba(130,215,135, calc(.22 * var(--green, 0))) 0%,
            rgba(91,178,95, calc(.42 * var(--green, 0))) 100%
        ),
        rgba(255,255,255,.76) !important;
}

.doc2026-overlay__card.active {
    background:
        linear-gradient(180deg, rgba(156,235,160,.72) 0%, rgba(84,183,92,.94) 100%) !important;
    box-shadow:
        0 0 0 8px rgba(201,255,204,.72),
        0 22px 50px rgba(40,145,58,.42),
        0 28px 62px rgba(0,0,0,.42) !important;
}

.doc2026-overlay__card strong {
    background: rgba(36,92,48,.72) !important;
    color: #fff !important;
}


/* ===================================================== */
/* TEAL PLATFORMS — цвет как у кнопок управления */
/* ===================================================== */

:root {
    --doc2026-teal: rgb(13, 92, 99);
    --doc2026-teal-rgb: 13, 92, 99;
}

/* нижняя площадка миниатюр */
.doc2026-overlay__thumbs {
    background:
        linear-gradient(
            180deg,
            rgba(var(--doc2026-teal-rgb), .92) 0%,
            rgba(var(--doc2026-teal-rgb), .78) 100%
        ) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow:
        0 -10px 34px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* площадки под документами: активная яркая, остальные затухают по --green */
.doc2026-overlay__card {
    background:
        linear-gradient(
            180deg,
            rgba(var(--doc2026-teal-rgb), calc(.16 + .50 * var(--green, 0))) 0%,
            rgba(var(--doc2026-teal-rgb), calc(.10 + .34 * var(--green, 0))) 100%
        ),
        rgba(255,255,255,.76) !important;
    border-color: rgba(var(--doc2026-teal-rgb), calc(.22 + .45 * var(--green, 0))) !important;
    box-shadow:
        0 14px 34px rgba(var(--doc2026-teal-rgb), calc(.10 + .24 * var(--green, 0))),
        0 22px 48px rgba(0,0,0,.28) !important;
}

.doc2026-overlay__card::before {
    background: rgba(var(--doc2026-teal-rgb), calc(.22 + .44 * var(--green, 0))) !important;
}

.doc2026-overlay__card.active {
    background:
        linear-gradient(
            180deg,
            rgba(var(--doc2026-teal-rgb), .92) 0%,
            rgba(var(--doc2026-teal-rgb), .78) 100%
        ) !important;
    border-color: rgba(var(--doc2026-teal-rgb), .95) !important;
    box-shadow:
        0 0 0 8px rgba(var(--doc2026-teal-rgb), .28),
        0 22px 50px rgba(var(--doc2026-teal-rgb), .38),
        0 28px 62px rgba(0,0,0,.42) !important;
}

.doc2026-overlay__card.active::before {
    background: rgba(var(--doc2026-teal-rgb), .72) !important;
    opacity: 1 !important;
}

/* подписи на карточках */
.doc2026-overlay__card strong {
    background: rgba(var(--doc2026-teal-rgb), .86) !important;
    color: #fff !important;
}

/* активная миниатюра — подсветка тем же цветом */
.doc2026-overlay__thumb.active {
    border-color: var(--doc2026-teal) !important;
    box-shadow:
        0 0 0 3px rgba(var(--doc2026-teal-rgb), .30),
        0 0 24px rgba(var(--doc2026-teal-rgb), .48) !important;
}

/* нижние кнопки — единый цвет */
.doc2026-overlay__top button {
    background: var(--doc2026-teal) !important;
    color: #fff !important;
}

.doc2026-overlay__top button:hover {
    background: rgb(8, 77, 84) !important;
    color: #fff !important;
}


/* Перенос счетчика и подсказки вниз по центру */
.doc2026-overlay__counter,
.doc2026-overlay__hint{
    position:fixed !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    top:auto !important;
    text-align:center !important;
    z-index:1002 !important;
}
.doc2026-overlay__hint{
    bottom:150px !important; /* над лентой миниатюр */
}
.doc2026-overlay__counter{
    bottom:178px !important;
    font-size:30px !important;
    font-weight:700 !important;
}


/* ===================================================== */
/* ACTIVE DOCUMENT PAN + TAPE DRAG */
/* ===================================================== */

.doc2026-overlay__stage.dragging {
    cursor: grabbing !important;
}

.doc2026-overlay__stage.panning {
    cursor: move !important;
}

.doc2026-overlay__card.active {
    cursor: grab !important;
}

.doc2026-overlay__stage.panning .doc2026-overlay__card.active {
    cursor: move !important;
}

.doc2026-overlay__card img {
    transform-origin: center center !important;
    transition: transform .12s ease !important;
    will-change: transform !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
}

.doc2026-overlay__card.active img {
    cursor: move !important;
}

/* Подсказка пользователю */
.doc2026-overlay__hint::after {
    content: "  Увеличенный документ можно двигать мышкой вверх-вниз и вправо-влево.";
}


/* ===================================================== */
/* ADOBE ACROBAT STYLE: нижняя панель управления */
/* ===================================================== */

.doc2026-overlay {
    grid-template-rows: 1fr auto auto !important;
    gap: 8px !important;
    padding: clamp(8px, 1.2vw, 18px) !important;
}

.doc2026-overlay__stage {
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
}

/* общая нижняя панель: кнопки + счетчик + подсказка */
.doc2026-overlay__top {
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: end !important;
    margin: 0 !important;
    max-width: calc(100vw - 28px) !important;
    width: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    z-index: 120 !important;
}

.doc2026-overlay__top::after {
    content: "  " attr(data-counter);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 32px;
    padding: 0 12px;
    border-left: 1px solid rgba(13,92,99,.22);
    color: var(--doc2026-teal, rgb(13,92,99));
    font-weight: 900;
    font-size: 15px;
    white-space: nowrap;
}

/* счетчик остается в DOM, но визуально переносится в строку кнопок через JS data-counter */
.doc2026-overlay__counter {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* компактная подсказка по центру над миниатюрами */
.doc2026-overlay__hint {
    grid-row: 2 !important;
    position: fixed !important;
    left: 50% !important;
    bottom: clamp(96px, 13vh, 128px) !important;
    transform: translateX(-50%) !important;
    width: min(760px, calc(100vw - 32px)) !important;
    min-height: 0 !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.36) !important;
    color: #fff !important;
    font-size: clamp(11px, 1.1vw, 13px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-shadow: none !important;
    z-index: 110 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* убираем длинный псевдотекст из прошлой версии */
.doc2026-overlay__hint::after {
    content: "" !important;
}

/* лента миниатюр на всю ширину и по центру */
.doc2026-overlay__thumbs {
    grid-row: 3 !important;
    width: min(100%, 1600px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 auto !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(7px, .7vw, 12px) !important;
    padding: 10px clamp(10px, 1.2vw, 18px) !important;
    border-radius: 18px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
    scroll-behavior: smooth !important;
    z-index: 100 !important;
}

.doc2026-overlay__thumb {
    flex: 0 0 clamp(62px, 5.5vw, 86px) !important;
    width: clamp(62px, 5.5vw, 86px) !important;
}

.doc2026-overlay__thumb img {
    height: clamp(52px, 5.2vw, 74px) !important;
}

.doc2026-overlay__thumb span {
    font-size: clamp(9px, .78vw, 11px) !important;
}

/* адаптация для узких экранов */
@media (max-width: 760px) {
    .doc2026-overlay {
        grid-template-rows: 1fr auto auto !important;
    }

    .doc2026-overlay__top {
        gap: 5px !important;
        padding: 6px !important;
        max-width: calc(100vw - 16px) !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
    }

    .doc2026-overlay__top button {
        min-height: 30px !important;
        padding: 5px 9px !important;
        font-size: 11px !important;
        flex: 0 0 auto !important;
    }

    .doc2026-overlay__top::after {
        min-width: 46px;
        min-height: 28px;
        padding: 0 8px;
        font-size: 12px;
        flex: 0 0 auto;
    }

    .doc2026-overlay__hint {
        bottom: 88px !important;
        padding: 4px 10px !important;
    }
}

@media (min-width: 1280px) {
    .doc2026-overlay__top {
        transform: translateY(-2px);
    }
}


/* ===================================================== */
/* LANDSCAPE DOCUMENTS */
/* Если документ шире, чем выше, карточка и миниатюра становятся шире */
/* ===================================================== */

.doc2026-overlay__card.landscape {
    width: min(52vw, 840px) !important;
    height: min(62vh, calc(100vh - 225px)) !important;
    aspect-ratio: 1.414 / 1 !important;
}

.doc2026-overlay__card.landscape img {
    object-fit: contain !important;
}

/* обычные миниатюры */
.doc2026__thumb.landscape {
    flex-basis: 184px !important;
    width: 184px !important;
}



/* миниатюры в полноэкранном просмотрщике */
.doc2026-overlay__thumb.landscape {
    flex-basis: 168px !important;
    width: 168px !important;
}

.doc2026-overlay__thumb.landscape img {
    object-fit: contain !important;
    background: #fff !important;
}

/* адаптив */
@media (max-width: 900px) {
    .doc2026-overlay__card.landscape {
        width: 88vw !important;
        height: min(52vh, calc(100vh - 230px)) !important;
    }

    .doc2026__thumb.landscape {
        flex-basis: 144px !important;
        width: 144px !important;
    }

    .doc2026-overlay__thumb.landscape {
        flex-basis: 132px !important;
        width: 132px !important;
    }
}


/* Подсказка выше панели кнопок */
.doc2026-overlay__hint{
    bottom: 145px !important;
    z-index: 130 !important;
}

.doc2026-overlay__top{
    z-index:120 !important;
}


/* ===== Responsive layout: hint on separate row above buttons ===== */

.doc2026-overlay{
    position:fixed;
}

.doc2026-overlay__hint{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:170px !important;
    width:min(760px, calc(100vw - 40px)) !important;
    margin:0 !important;
    z-index:140 !important;
    pointer-events:none;
}

.doc2026-overlay__top{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:105px !important;
    margin:0 !important;
    z-index:130 !important;
    max-width:calc(100vw - 40px) !important;
}

.doc2026-overlay__thumbs{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:10px !important;
    width:min(1600px, calc(100vw - 20px)) !important;
}

@media (max-width:900px){
    .doc2026-overlay__hint{
        bottom:155px !important;
        font-size:12px !important;
        width:calc(100vw - 24px) !important;
    }

    .doc2026-overlay__top{
        bottom:92px !important;
        max-width:calc(100vw - 20px) !important;
    }

    .doc2026-overlay__thumbs{
        bottom:6px !important;
        width:calc(100vw - 12px) !important;
    }
}

/* ===== Lift thumbnail strip to avoid overlap ===== */



.doc2026-overlay__top{
    bottom:140px !important;
}

.doc2026-overlay__thumbs{
    bottom:42px !important;
}

@media (max-width:900px){
    .doc2026-overlay__hint{
        bottom:185px !important;
    }
    .doc2026-overlay__top{
        bottom:122px !important;
    }
    .doc2026-overlay__thumbs{
        bottom:34px !important;
    }
}


/* ===================================================== */
/* V5: резерв нижней панели, чтобы элементы не попадали на картинки */
/* ===================================================== */

/* сцена с документами заканчивается выше нижней панели */
.doc2026-overlay__stage{
    position:absolute !important;
    top:12px !important;
    left:0 !important;
    right:0 !important;
    bottom:275px !important;
    height:auto !important;
    min-height:0 !important;
    z-index:20 !important;
}

/* сама лента документов поднимается выше и не занимает область кнопок */
.doc2026-overlay__track{
    height:100% !important;
}

/* немного уменьшаем площадку активного документа, но сам документ остается вписанным */
.doc2026-overlay__card{
    width:min(22vw, 330px) !important;
    height:min(50vh, calc(100vh - 360px)) !important;
    max-height:min(50vh, calc(100vh - 360px)) !important;
}

/* альбомные документы шире, но не ниже остальных */
.doc2026-overlay__card.landscape{
    width:min(44vw, 660px) !important;
    height:min(50vh, calc(100vh - 360px)) !important;
    max-height:min(50vh, calc(100vh - 360px)) !important;
}

/* нижние элементы: сверху вниз — подсказка, кнопки, миниатюры */
.doc2026-overlay__hint{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:218px !important;
    width:min(760px, calc(100vw - 40px)) !important;
    z-index:120 !important;
}

.doc2026-overlay__top{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:158px !important;
    max-width:calc(100vw - 40px) !important;
    margin:0 !important;
    z-index:125 !important;
}

.doc2026-overlay__thumbs{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:22px !important;
    width:min(1600px, calc(100vw - 24px)) !important;
    max-height:118px !important;
    z-index:120 !important;
}

/* счетчик остается в строке кнопок */
.doc2026-overlay__counter{
    display:none !important;
}

@media (max-width:900px){
    .doc2026-overlay__stage{
        top:8px !important;
        bottom:245px !important;
    }

    .doc2026-overlay__card{
        width:38vw !important;
        height:min(44vh, calc(100vh - 320px)) !important;
        max-height:min(44vh, calc(100vh - 320px)) !important;
    }

    .doc2026-overlay__card.landscape{
        width:76vw !important;
        height:min(44vh, calc(100vh - 320px)) !important;
        max-height:min(44vh, calc(100vh - 320px)) !important;
    }

    .doc2026-overlay__hint{
        bottom:195px !important;
        width:calc(100vw - 24px) !important;
    }

    .doc2026-overlay__top{
        bottom:138px !important;
        max-width:calc(100vw - 20px) !important;
    }

    .doc2026-overlay__thumbs{
        bottom:14px !important;
        width:calc(100vw - 14px) !important;
        max-height:110px !important;
    }
}

@media (max-height:720px){
    .doc2026-overlay__stage{
        bottom:225px !important;
    }

    .doc2026-overlay__card,
    .doc2026-overlay__card.landscape{
        height:min(42vh, calc(100vh - 300px)) !important;
        max-height:min(42vh, calc(100vh - 300px)) !important;
    }

    .doc2026-overlay__hint{
        bottom:178px !important;
    }

    .doc2026-overlay__top{
        bottom:124px !important;
    }

    .doc2026-overlay__thumbs{
        bottom:8px !important;
        max-height:102px !important;
    }
}


/* ===================================================== */
/* V6: вернуть размер документов и сделать плотную ленту */
/* ===================================================== */

/* оставляем нижнюю панель внизу, но возвращаем документам прежний крупный размер */
.doc2026-overlay__stage{
    top: 8px !important;
    bottom: 230px !important;
}

/* прежний крупный размер портретных документов */
.doc2026-overlay__card{
    width: min(23vw, 360px) !important;
    height: min(58vh, calc(100vh - 230px)) !important;
    max-height: 58vh !important;
}

/* альбомные документы шире, высота такая же */
.doc2026-overlay__card.landscape{
    width: min(52vw, 840px) !important;
    height: min(58vh, calc(100vh - 230px)) !important;
    max-height: 58vh !important;
}

/* соседние документы могут заходить под активный документ */
.doc2026-overlay__card{
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.doc2026-overlay__card.active{
    z-index: 500 !important;
}

/* соседние карточки чуть ближе и визуально под активной */
.doc2026-overlay__card:not(.active){
    z-index: 120;
}

/* нижние элементы немного ниже, чтобы освободить место крупной картинке */
.doc2026-overlay__hint{
    bottom: 186px !important;
}

.doc2026-overlay__top{
    bottom: 128px !important;
}

.doc2026-overlay__thumbs{
    bottom: 10px !important;
}

/* миниатюры тоже сделать плотнее */
.doc2026-overlay__thumbs{
    gap: 6px !important;
}

.doc2026-overlay__thumb{
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 900px){
    .doc2026-overlay__stage{
        bottom: 220px !important;
    }

    .doc2026-overlay__card{
        width: 44vw !important;
        height: min(52vh, calc(100vh - 230px)) !important;
        max-height: 52vh !important;
    }

    .doc2026-overlay__card.landscape{
        width: 88vw !important;
        height: min(52vh, calc(100vh - 230px)) !important;
        max-height: 52vh !important;
    }

    .doc2026-overlay__hint{
        bottom: 174px !important;
    }

    .doc2026-overlay__top{
        bottom: 118px !important;
    }

    .doc2026-overlay__thumbs{
        bottom: 8px !important;
    }
}

@media (max-height: 720px){
    .doc2026-overlay__stage{
        bottom: 205px !important;
    }

    .doc2026-overlay__card,
    .doc2026-overlay__card.landscape{
        height: min(50vh, calc(100vh - 230px)) !important;
        max-height: 50vh !important;
    }

    .doc2026-overlay__hint{
        bottom: 160px !important;
    }

    .doc2026-overlay__top{
        bottom: 108px !important;
    }

    .doc2026-overlay__thumbs{
        bottom: 6px !important;
    }
}


/* ===== V7: разделение нижних элементов без изменения размера документов ===== */

.doc2026-overlay__stage{
    top:8px !important;
    bottom:255px !important; /* резерв под нижнюю панель */
}





.doc2026-overlay__thumbs{
    bottom:25px !important;
}

/* одинаковый вертикальный зазор */
.doc2026-overlay__hint{margin-bottom:0!important;}
.doc2026-overlay__top{margin-bottom:0!important;}

@media (max-width:900px){
    .doc2026-overlay__stage{bottom:240px !important;}
    .doc2026-overlay__hint{bottom:190px !important;}
    .doc2026-overlay__top{bottom:132px !important;}
    .doc2026-overlay__thumbs{bottom:18px !important;}
}

@media (max-height:720px){
    .doc2026-overlay__stage{bottom:225px !important;}
    .doc2026-overlay__hint{bottom:176px !important;}
    .doc2026-overlay__top{bottom:122px !important;}
    .doc2026-overlay__thumbs{bottom:10px !important;}
}


/* ===== V8: одинаковые зазоры ===== */

/* Подсказка */


/* Кнопки */


/* Миниатюры подняты так, чтобы расстояние
   Кнопки→Миниатюры ≈ Подсказка→Кнопки */
.doc2026-overlay__thumbs{
    bottom:85px !important;
}

@media (max-width:900px){
    .doc2026-overlay__hint{bottom:190px !important;}
    .doc2026-overlay__top{bottom:132px !important;}
    .doc2026-overlay__thumbs{bottom:74px !important;}
}

@media (max-height:720px){
    .doc2026-overlay__hint{bottom:176px !important;}
    .doc2026-overlay__top{bottom:122px !important;}
    .doc2026-overlay__thumbs{bottom:66px !important;}
}


/* ===== V9: одинаковый зазор между подсказкой→кнопками и кнопками→миниатюрами ===== */

.doc2026-overlay__hint{
    bottom:205px !important;
}

.doc2026-overlay__top{
    bottom:145px !important;
}

/* Верх миниатюр примерно на 60px ниже кнопок */
.doc2026-overlay__thumbs{
    bottom:45px !important;
    max-height:88px !important;
}

@media (max-width:900px){
    .doc2026-overlay__hint{bottom:190px !important;}
    .doc2026-overlay__top{bottom:132px !important;}
    .doc2026-overlay__thumbs{
        bottom:36px !important;
        max-height:84px !important;
    }
}

@media (max-height:720px){
    .doc2026-overlay__hint{bottom:176px !important;}
    .doc2026-overlay__top{bottom:122px !important;}
    .doc2026-overlay__thumbs{
        bottom:30px !important;
        max-height:78px !important;
    }
}


/* ===================================================== */
/* Viewer 2.0 Stage 1 */
/* Автоматические документы + базовый overlay */
/* ===================================================== */









.viewer2026-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    grid-template-rows: auto 1fr auto;
    gap: 12px;
    padding: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.72)),
        url("../img/parallax0.webp") center center / cover fixed no-repeat;
    font-family: Montserrat, Arial, sans-serif;
}

.viewer2026-overlay.open {
    display: grid;
}

.viewer2026-overlay__panel {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100vw - 24px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.viewer2026-overlay__panel button {
    min-height: 34px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(13,92,99,1);
    color: #fff;
    font-weight: 800;
}

.viewer2026-overlay__counter {
    padding: 0 10px;
    color: rgba(13,92,99,1);
    font-weight: 900;
    white-space: nowrap;
}

.viewer2026-overlay__stage {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.viewer2026-overlay__image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,.34);
}

.viewer2026-overlay__image.landscape {
    width: min(92vw, 1200px);
}

.viewer2026-overlay__thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 10px 14px;
    border-radius: 18px;
    background: rgba(13,92,99,.78);
    box-shadow: 0 -10px 30px rgba(0,0,0,.25);
}

.viewer2026-overlay__thumb {
    flex: 0 0 84px;
    width: 84px;
    padding: 5px;
    border-radius: 12px;
    background: rgba(255,255,255,.88);
    border: 2px solid transparent;
}

.viewer2026-overlay__thumb.landscape {
    flex-basis: 168px;
    width: 168px;
}

.viewer2026-overlay__thumb.active {
    border-color: rgba(13,92,99,1);
    box-shadow: 0 0 0 3px rgba(13,92,99,.28);
}

.viewer2026-overlay__thumb img {
    width: 100%;
    height: 70px;
    object-fit: cover;
    background: #fff;
    border-radius: 8px;
}

.viewer2026-overlay__thumb.landscape img {
    object-fit: contain;
}

.viewer2026-overlay__thumb span {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.1;
    color: rgba(13,92,99,1);
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 760px) {
    .viewer2026-overlay {
        padding: 8px;
    }

    .viewer2026-overlay__panel {
        justify-content: flex-start;
        overflow-x: auto;
        width: calc(100vw - 16px);
    }

    .viewer2026-overlay__panel button {
        flex: 0 0 auto;
        padding: 6px 10px;
        font-size: 12px;
    }

    .viewer2026-overlay__thumb {
        flex-basis: 72px;
        width: 72px;
    }

    .viewer2026-overlay__thumb.landscape {
        flex-basis: 144px;
        width: 144px;
    }
}


/* ===================================================== */
/* Viewer 2.0 Stage 2 — Professional Acrobat-like UI */
/* ===================================================== */

.viewer2026-overlay {
    grid-template-rows: 1fr auto auto auto !important;
    gap: 8px !important;
    padding: clamp(8px, 1.1vw, 16px) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(17,30,24,.38) 48%, rgba(5,10,8,.84) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

.viewer2026-overlay__stage {
    grid-row: 1 !important;
    min-height: 0 !important;
    position: relative !important;
    cursor: zoom-in;
}

.viewer2026-overlay__stage.panning {
    cursor: grabbing !important;
}

.viewer2026-overlay__image {
    max-width: min(92vw, 900px) !important;
    max-height: min(72vh, calc(100vh - 210px)) !important;
    object-fit: contain !important;
    border-radius: 16px !important;
    transform-origin: center center !important;
    transition: transform .12s ease, box-shadow .18s ease !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    will-change: transform;
}

.viewer2026-overlay__image.landscape {
    width: min(92vw, 1240px) !important;
    max-width: min(92vw, 1240px) !important;
}

.viewer2026-overlay__image.zoomed {
    cursor: grab !important;
    box-shadow:
        0 0 0 6px rgba(255,255,255,.35),
        0 26px 70px rgba(0,0,0,.44) !important;
}

.viewer2026-overlay__hint {
    grid-row: 2 !important;
    justify-self: center;
    width: min(760px, calc(100vw - 36px));
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,.38);
    color: #fff;
    font-size: clamp(11px, 1vw, 13px);
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.viewer2026-overlay__panel {
    grid-row: 3 !important;
    justify-self: center !important;
    margin: 0 !important;
    max-width: calc(100vw - 28px) !important;
    background: rgba(255,255,255,.86) !important;
}

.viewer2026-overlay__panel button {
    background: rgba(13,92,99,1) !important;
    color: #fff !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.viewer2026-overlay__panel button:hover {
    transform: translateY(-1px);
    background: rgba(8,72,78,1) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

.viewer2026-overlay__thumbs {
    grid-row: 4 !important;
    width: min(1600px, calc(100vw - 24px)) !important;
    justify-self: center !important;
    margin: 0 !important;
    gap: 8px !important;
    background: rgba(13,92,99,.82) !important;
    border: 1px solid rgba(255,255,255,.25);
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.viewer2026-overlay__thumb {
    flex: 0 0 clamp(70px, 6vw, 92px) !important;
    width: clamp(70px, 6vw, 92px) !important;
    border: 2px solid rgba(255,255,255,.66) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.viewer2026-overlay__thumb.landscape {
    flex-basis: clamp(132px, 12vw, 184px) !important;
    width: clamp(132px, 12vw, 184px) !important;
}

.viewer2026-overlay__thumb:hover {
    transform: translateY(-2px);
}

.viewer2026-overlay__thumb.active {
    border-color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow:
        0 0 0 3px rgba(255,255,255,.28),
        0 12px 24px rgba(0,0,0,.28) !important;
}

.viewer2026-overlay__thumb img {
    height: clamp(58px, 5.4vw, 76px) !important;
    object-fit: cover !important;
}

.viewer2026-overlay__thumb.landscape img {
    object-fit: contain !important;
}

.viewer2026-overlay__thumb span {
    color: rgba(13,92,99,1) !important;
    font-weight: 900 !important;
}

@media (max-width: 760px) {
    .viewer2026-overlay {
        grid-template-rows: 1fr auto auto auto !important;
        padding: 8px !important;
    }

    .viewer2026-overlay__image {
        max-height: min(64vh, calc(100vh - 210px)) !important;
    }

    .viewer2026-overlay__panel {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        width: calc(100vw - 16px) !important;
        padding: 6px !important;
    }

    .viewer2026-overlay__panel button {
        min-height: 30px !important;
        padding: 5px 10px !important;
        font-size: 12px !important;
        flex: 0 0 auto !important;
    }

    .viewer2026-overlay__counter {
        flex: 0 0 auto;
    }

    .viewer2026-overlay__hint {
        font-size: 11px !important;
        width: calc(100vw - 20px) !important;
        padding: 4px 10px !important;
    }
}


/* ===================================================== */
/* Viewer 2.1 — лента с соседними документами */
/* ===================================================== */

.viewer2026-carousel .viewer2026-overlay__stage {
    overflow: hidden !important;
    perspective: 1600px !important;
    cursor: grab !important;
}

.viewer2026-carousel .viewer2026-overlay__stage.dragging {
    cursor: grabbing !important;
}

.viewer2026-carousel .viewer2026-overlay__stage.panning {
    cursor: move !important;
}

.viewer2026-carousel__track {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.viewer2026-carousel__card {
    --teal: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(23vw, 360px);
    height: min(62vh, calc(100vh - 230px));
    max-height: 62vh;
    padding: 12px;
    border-radius: 18px;
    background:
        linear-gradient(
            180deg,
            rgba(13, 92, 99, calc(.12 + .58 * var(--teal))) 0%,
            rgba(13, 92, 99, calc(.08 + .42 * var(--teal))) 100%
        ),
        rgba(255,255,255,.78);
    border: 1px solid rgba(13, 92, 99, calc(.16 + .54 * var(--teal)));
    box-shadow:
        0 14px 34px rgba(13, 92, 99, calc(.08 + .22 * var(--teal))),
        0 24px 54px rgba(0,0,0,.28);
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        rotateY(var(--rotate, 0deg))
        scale(var(--scale, 1));
    transform-origin: center center;
    transition: transform .42s cubic-bezier(.22,.8,.24,1), opacity .35s ease, box-shadow .35s ease;
    will-change: transform, opacity;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
}

.viewer2026-carousel__card.landscape {
    width: min(52vw, 840px);
    height: min(62vh, calc(100vh - 230px));
}

.viewer2026-carousel__card.active {
    box-shadow:
        0 0 0 8px rgba(255,255,255,.46),
        0 24px 58px rgba(13,92,99,.36),
        0 30px 70px rgba(0,0,0,.40);
}

.viewer2026-carousel__card img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,.14);
    transform-origin: center center;
    transition: transform .12s ease;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
    will-change: transform;
}

.viewer2026-carousel__card strong {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 2;
    max-width: calc(100% - 28px);
    padding: 5px 10px;
    border-radius: 12px;
    background: rgba(13,92,99,.86);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.viewer2026-carousel .viewer2026-overlay__image {
    display: none !important;
}

@media (max-width: 900px) {
    .viewer2026-carousel__card {
        width: 44vw;
        height: min(56vh, calc(100vh - 225px));
    }

    .viewer2026-carousel__card.landscape {
        width: 88vw;
        height: min(56vh, calc(100vh - 225px));
    }
}

@media (max-height: 720px) {
    .viewer2026-carousel__card,
    .viewer2026-carousel__card.landscape {
        height: min(52vh, calc(100vh - 215px));
    }
}


/* ===================================================== */
/* Viewer 2.1 layout v2 */
/* 1) миниатюры на всю ширину экрана
   2) активный документ крупнее в 1.5 раза
   3) подсказка длиннее, без переноса слова "мышью" */
/* ===================================================== */

.viewer2026-overlay__thumbs {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
}

.viewer2026-carousel__card.active {
    /* было 1.25 в JS; CSS дополнительно усиливает активную карточку */
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        rotateY(var(--rotate, 0deg))
        scale(calc(var(--scale, 1) * 1.5)) !important;
}

.viewer2026-carousel__card.active.landscape {
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        rotateY(var(--rotate, 0deg))
        scale(calc(var(--scale, 1) * 1.5)) !important;
}

.viewer2026-overlay__hint {
    width: min(1120px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(11px, .92vw, 13px) !important;
}

@media (max-width: 900px) {
    .viewer2026-carousel__card.active {
        transform:
            translate(-50%, -50%)
            translateX(var(--x, 0px))
            rotateY(var(--rotate, 0deg))
            scale(calc(var(--scale, 1) * 1.32)) !important;
    }

    .viewer2026-overlay__hint {
        white-space: normal !important;
        line-height: 1.2 !important;
    }
}

@media (max-height: 760px) {
    .viewer2026-carousel__card.active {
        transform:
            translate(-50%, -50%)
            translateX(var(--x, 0px))
            rotateY(var(--rotate, 0deg))
            scale(calc(var(--scale, 1) * 1.28)) !important;
    }
}


/* ===================================================== */
/* Viewer 2.5 — Glass Professional UI */
/* Внешний вид как на финальной иллюстрации */
/* ===================================================== */

.viewer2026-overlay {
    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,.10), rgba(0,0,0,0) 42%),
        linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.48) 58%, rgba(0,0,0,.78) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
    grid-template-rows: 1fr auto auto auto !important;
    gap: 10px !important;
}

/* верхняя панель */
.viewer2026-overlay__panel {
    background: rgba(5, 69, 75, .92) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    border-radius: 32px !important;
    padding: 10px 18px !important;
    box-shadow:
        0 14px 32px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

.viewer2026-overlay__panel button {
    background: rgba(7, 84, 91, .96) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    border-radius: 24px !important;
    min-height: 42px !important;
    padding: 8px 22px !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        0 8px 16px rgba(0,0,0,.18) !important;
}

.viewer2026-overlay__panel button:hover {
    background: rgba(12, 104, 112, .98) !important;
    transform: translateY(-2px);
}

.viewer2026-overlay__counter {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    padding: 0 16px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.4) !important;
}

/* подсказка */
.viewer2026-overlay__hint {
    width: min(1180px, calc(100vw - 52px)) !important;
    max-width: calc(100vw - 52px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: rgba(5, 69, 75, .88) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
    color: #fff !important;
    padding: 8px 22px !important;
    font-weight: 900 !important;
    font-size: clamp(12px, 1vw, 15px) !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* сцена */
.viewer2026-carousel .viewer2026-overlay__stage {
    perspective: 1800px !important;
    overflow: hidden !important;
}

/* карточки документов */
.viewer2026-carousel__card {
    border-radius: 24px !important;
    padding: 14px !important;
    background:
        linear-gradient(
            180deg,
            rgba(5,69,75, calc(.08 + .40 * var(--teal))) 0%,
            rgba(5,69,75, calc(.06 + .28 * var(--teal))) 100%
        ),
        rgba(255,255,255,.34) !important;
    border: 2px solid rgba(255,255,255,.42) !important;
    box-shadow:
        0 20px 45px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    overflow: visible !important;
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        translateZ(var(--depth, 0px))
        rotateY(var(--rotate, 0deg))
        scale(var(--scale, 1)) !important;
}

/* активная страница — полупрозрачная, закругленная, с белой рамкой */
.viewer2026-carousel__card.active {
    border-radius: 34px !important;
    padding: 16px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.50)) !important;
    border: 4px solid rgba(255,255,255,.82) !important;
    box-shadow:
        0 0 0 2px rgba(190,245,255,.38),
        0 0 34px rgba(255,255,255,.56),
        0 28px 82px rgba(0,0,0,.44),
        inset 0 0 34px rgba(255,255,255,.42) !important;
    backdrop-filter: blur(12px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.12) !important;
    overflow: hidden !important;
}

/* белое внутреннее свечение активной страницы */
.viewer2026-carousel__card.active::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 30px;
    pointer-events: none;
    box-shadow:
        inset 0 0 28px rgba(255,255,255,.60),
        inset 0 0 2px rgba(255,255,255,.95);
    z-index: 4;
}

/* отражение страниц */
.viewer2026-carousel__card::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    bottom: -28%;
    height: 30%;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at center, rgba(255,255,255,.28) 0%, rgba(255,255,255,.08) 45%, rgba(255,255,255,0) 75%);
    transform: scaleY(.65);
    filter: blur(8px);
    opacity: .38;
    pointer-events: none;
    z-index: 0;
}

/* сама страница внутри карточки */
.viewer2026-carousel__card img {
    border-radius: 18px !important;
    background: rgba(255,255,255,.74) !important;
    box-shadow:
        0 8px 22px rgba(0,0,0,.20),
        inset 0 0 18px rgba(255,255,255,.38) !important;
}

.viewer2026-carousel__card.active img {
    border-radius: 24px !important;
    opacity: .82 !important;
    background: rgba(255,255,255,.58) !important;
    box-shadow:
        inset 0 0 26px rgba(255,255,255,.45),
        0 12px 28px rgba(0,0,0,.18) !important;
}

/* подпись на карточке */
.viewer2026-carousel__card strong {
    background: rgba(5,69,75,.84) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 999px !important;
    padding: 5px 12px !important;
    font-size: 13px !important;
}

/* нижняя лента миниатюр на всю ширину */
.viewer2026-overlay__thumbs {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding: 14px 18px 12px 18px !important;
    background: rgba(5, 69, 75, .90) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 22px !important;
    box-shadow:
        0 -12px 34px rgba(0,0,0,.36),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* миниатюры */
.viewer2026-overlay__thumb {
    background: rgba(255,255,255,.88) !important;
    border: 2px solid rgba(255,255,255,.65) !important;
    border-radius: 13px !important;
    padding: 7px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.20) !important;
}

.viewer2026-overlay__thumb.active {
    border-color: #ffffff !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow:
        0 0 0 3px rgba(160,245,255,.40),
        0 0 22px rgba(180,250,255,.55),
        0 12px 24px rgba(0,0,0,.24) !important;
}

.viewer2026-overlay__thumb img {
    border-radius: 8px !important;
}

.viewer2026-overlay__thumb span {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

/* темная нижняя дымка, как на картинке */
.viewer2026-carousel__track::after {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 34vh;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.48));
    pointer-events: none;
    z-index: 1;
}



.viewer2026-carousel__card.active {
    z-index: 20 !important;
}

@media (max-width: 900px) {
    .viewer2026-overlay__hint {
        white-space: normal !important;
        line-height: 1.2 !important;
        width: calc(100vw - 26px) !important;
        max-width: calc(100vw - 26px) !important;
    }

    .viewer2026-overlay__panel button {
        min-height: 34px !important;
        padding: 6px 12px !important;
        font-size: 13px !important;
    }

    .viewer2026-overlay__counter {
        font-size: 14px !important;
        padding: 0 8px !important;
    }

    .viewer2026-carousel__card.active {
        border-radius: 26px !important;
    }

    .viewer2026-carousel__card.active img {
        border-radius: 18px !important;
    }
}


/* ===================================================== */
/* Viewer 2.6 Professional Cover Flow */
/* Исправление двойной экспозиции и профессиональная геометрия */
/* ===================================================== */

/* полностью прячем одиночное изображение overlay, чтобы не было второго документа под каруселью */
.viewer2026-overlay__image,
.viewer2026-carousel .viewer2026-overlay__image {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* фон — только parallax и затемнение, без дублирования документов */
.viewer2026-overlay {
    background:
        radial-gradient(circle at 50% 34%, rgba(255,255,255,.10), rgba(0,0,0,0) 42%),
        linear-gradient(180deg, rgba(0,0,0,.26) 0%, rgba(0,0,0,.50) 58%, rgba(0,0,0,.82) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

/* сцена: больше места для нормальной карусели */
.viewer2026-carousel .viewer2026-overlay__stage {
    overflow: hidden !important;
    perspective: 1350px !important;
    perspective-origin: 50% 48% !important;
}

/* базовая карточка — компактнее, не такая огромная площадка */
.viewer2026-carousel__card {
    padding: 9px !important;
    border-radius: 20px !important;
    overflow: visible !important;
    background:
        linear-gradient(
            180deg,
            rgba(5,69,75, calc(.10 + .42 * var(--teal))) 0%,
            rgba(5,69,75, calc(.06 + .30 * var(--teal))) 100%
        ),
        rgba(255,255,255,.22) !important;
    border: 2px solid rgba(255,255,255, calc(.22 + .40 * var(--teal))) !important;
    filter: blur(var(--blur, 0px)) brightness(calc(.86 + .14 * var(--teal))) !important;
    box-shadow:
        0 18px 38px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
}

/* активная карточка: не прозрачная, но с мягким стеклом */
.viewer2026-carousel__card.active {
    padding: 10px !important;
    border-radius: 30px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)) !important;
    border: 4px solid rgba(255,255,255,.84) !important;
    filter: blur(0) brightness(1) !important;
    box-shadow:
        0 0 0 2px rgba(180,245,255,.36),
        0 0 30px rgba(255,255,255,.50),
        0 34px 76px rgba(0,0,0,.46),
        inset 0 0 24px rgba(255,255,255,.42) !important;
    overflow: hidden !important;
}

/* активная страница внутри — почти непрозрачная, читаемая */
.viewer2026-carousel__card.active img {
    opacity: .96 !important;
    background: rgba(255,255,255,.96) !important;
    border-radius: 22px !important;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,.28),
        0 10px 24px rgba(0,0,0,.18) !important;
}

/* остальные документы — мягкий фон */
.viewer2026-carousel__card:not(.active) img {
    opacity: .72 !important;
    border-radius: 14px !important;
}

/* белая стеклянная рамка активного документа */
.viewer2026-carousel__card.active::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 26px;
    pointer-events: none;
    z-index: 4;
    box-shadow:
        inset 0 0 26px rgba(255,255,255,.58),
        inset 0 0 2px rgba(255,255,255,.98);
}

/* отражение — только декоративное, без дублирования изображения на весь экран */
.viewer2026-carousel__card::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: -22%;
    height: 18%;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at center, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 72%);
    transform: scaleY(.55);
    filter: blur(9px);
    opacity: .26;
    pointer-events: none;
    z-index: 0;
}

.viewer2026-carousel__card.active::before {
    left: 7%;
    right: 7%;
    bottom: -18%;
    height: 16%;
    opacity: .34;
}

/* размеры активной области — крупно, но без заполнения всего экрана */
.viewer2026-carousel__card {
    width: min(22vw, 340px) !important;
    height: min(56vh, calc(100vh - 250px)) !important;
    max-height: min(56vh, calc(100vh - 250px)) !important;
}

.viewer2026-carousel__card.landscape {
    width: min(48vw, 780px) !important;
    height: min(56vh, calc(100vh - 250px)) !important;
    max-height: min(56vh, calc(100vh - 250px)) !important;
}

/* подписи на карточках — не перекрывают документ слишком сильно */
.viewer2026-carousel__card strong {
    bottom: 10px !important;
    left: 12px !important;
    max-width: calc(100% - 24px) !important;
    background: rgba(5,69,75,.86) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
}

/* панели поверх интерфейса, но не поверх активной страницы */
.viewer2026-overlay__hint {
    z-index: 60 !important;
    background: rgba(5,69,75,.86) !important;
}

.viewer2026-overlay__panel {
    z-index: 65 !important;
    background: rgba(5,69,75,.92) !important;
}

.viewer2026-overlay__thumbs {
    z-index: 65 !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    background: rgba(5,69,75,.92) !important;
}

/* нижняя дымка должна быть за карточками, а не поверх них */
.viewer2026-carousel__track::after {
    z-index: 0 !important;
    height: 30vh !important;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.36)) !important;
}

.viewer2026-carousel__card {
    z-index: 3;
}

.viewer2026-carousel__card.active {
    z-index: 30 !important;
}

@media (max-width: 900px) {
    .viewer2026-carousel__card {
        width: 40vw !important;
        height: min(50vh, calc(100vh - 230px)) !important;
    }

    .viewer2026-carousel__card.landscape {
        width: 82vw !important;
        height: min(50vh, calc(100vh - 230px)) !important;
    }

    .viewer2026-carousel__card.active {
        border-radius: 24px !important;
    }

    .viewer2026-carousel__card.active img {
        border-radius: 16px !important;
    }
}

@media (max-height: 720px) {
    .viewer2026-carousel__card,
    .viewer2026-carousel__card.landscape {
        height: min(48vh, calc(100vh - 220px)) !important;
    }
}


/* ===================================================== */
/* Viewer 2.8 Professional Engine */
/* Single-layer Apple Cover Flow / Adobe Bridge style */
/* ===================================================== */

.viewer2026-no-scroll {
    overflow: hidden !important;
}

/* isolate new overlay from older Viewer 2.x classes */
.viewer28 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    grid-template-rows: 1fr auto auto auto !important;
    gap: 10px !important;
    padding: clamp(8px, 1vw, 16px) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.10), rgba(0,0,0,0) 42%),
        linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.47) 56%, rgba(0,0,0,.84) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

.viewer28.open {
    display: grid !important;
}

/* Explicitly hide every old overlay artifact if it exists */
.viewer28 .viewer2026-overlay__image,
.viewer28 .viewer2026-carousel__track,
.viewer28 .viewer2026-carousel__card,
.viewer28 .viewer2026-coverflow27__track,
.viewer28 .viewer2026-coverflow27__card {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.viewer28__stage {
    grid-row: 1 !important;
    position: relative !important;
    min-height: 0 !important;
    overflow: hidden !important;
    perspective: 1550px !important;
    perspective-origin: 50% 50% !important;
    transform-style: preserve-3d !important;
    cursor: grab !important;
    touch-action: none !important;
}

.viewer28__stage.dragging {
    cursor: grabbing !important;
}

.viewer28__stage.panning {
    cursor: move !important;
}

.viewer28__track {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    transform-style: preserve-3d !important;
}

.viewer28__track::after {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 34vh !important;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.50)) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Card */
.viewer28__card {
    --x: 0px;
    --y: 0px;
    --z: 0px;
    --scale: 1;
    --rotate: 0deg;
    --blur: 0px;
    --brightness: 1;
    --teal: 0;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: min(22vw, 350px) !important;
    height: min(58vh, calc(100vh - 235px)) !important;
    max-height: min(58vh, calc(100vh - 235px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform:
        translate(-50%, -50%)
        translateX(var(--x))
        translateY(var(--y))
        translateZ(var(--z))
        rotateY(var(--rotate))
        scale(var(--scale)) !important;
    transform-origin: center center !important;
    transform-style: preserve-3d !important;
    filter: blur(var(--blur)) brightness(var(--brightness)) !important;
    transition:
        transform .48s cubic-bezier(.17,.84,.22,1),
        opacity .32s ease,
        filter .32s ease !important;
    will-change: transform, opacity, filter !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    pointer-events: auto !important;
}

.viewer28__card.landscape {
    width: min(48vw, 790px) !important;
}

/* Glass page holder */
.viewer28__page {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    padding: 9px !important;
    border-radius: 22px !important;
    background:
        linear-gradient(
            180deg,
            rgba(5, 69, 75, calc(.06 + .40 * var(--teal))) 0%,
            rgba(5, 69, 75, calc(.03 + .25 * var(--teal))) 100%
        ),
        rgba(255,255,255,.20) !important;
    border: 2px solid rgba(255,255,255, calc(.20 + .45 * var(--teal))) !important;
    box-shadow:
        0 20px 45px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    transform-style: preserve-3d !important;
    overflow: visible !important;
}

/* Reflection */
.viewer28__page::before {
    content: "" !important;
    position: absolute !important;
    left: 7% !important;
    right: 7% !important;
    bottom: -19% !important;
    height: 18% !important;
    border-radius: 50% !important;
    background:
        radial-gradient(ellipse at center, rgba(255,255,255,.24) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 74%) !important;
    transform: scaleY(.55) !important;
    filter: blur(8px) !important;
    opacity: .34 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.viewer28__card img {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: rgba(255,255,255,.96) !important;
    border-radius: 14px !important;
    box-shadow:
        0 9px 22px rgba(0,0,0,.22),
        inset 0 0 12px rgba(255,255,255,.30) !important;
    transform-origin: center center !important;
    transition: transform .12s ease, opacity .22s ease !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

.viewer28__card.near img {
    opacity: .84 !important;
}

.viewer28__card.far img {
    opacity: .58 !important;
}

/* Active page: only readable page */
.viewer28__card.active {
    filter: blur(0) brightness(1) !important;
}

.viewer28__card.active .viewer28__page {
    padding: 10px !important;
    border-radius: 32px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.91)) !important;
    border: 4px solid rgba(255,255,255,.88) !important;
    box-shadow:
        0 0 0 2px rgba(185,245,255,.36),
        0 0 34px rgba(255,255,255,.52),
        0 34px 78px rgba(0,0,0,.48),
        inset 0 0 26px rgba(255,255,255,.42) !important;
    overflow: hidden !important;
}

.viewer28__card.active .viewer28__page::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 28px !important;
    z-index: 4 !important;
    pointer-events: none !important;
    box-shadow:
        inset 0 0 25px rgba(255,255,255,.60),
        inset 0 0 2px rgba(255,255,255,.98) !important;
}

.viewer28__card.active img {
    border-radius: 22px !important;
    opacity: .99 !important;
    background: #fff !important;
    box-shadow:
        inset 0 0 16px rgba(255,255,255,.25),
        0 10px 25px rgba(0,0,0,.18) !important;
}

/* Caption */
.viewer28__card figcaption {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;
    z-index: 5 !important;
    max-width: calc(100% - 28px) !important;
    padding: 5px 11px !important;
    border-radius: 999px !important;
    background: rgba(5,69,75,.88) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Zoom mode: side cards disappear, central document becomes Acrobat-like */
.viewer28.is-zoomed .viewer28__card:not(.active) {
    opacity: .06 !important;
    pointer-events: none !important;
}

.viewer28.is-zoomed .viewer28__card.active {
    z-index: 2000 !important;
}

.viewer28.is-zoomed .viewer28__card.active img {
    cursor: move !important;
}

/* Hint */
.viewer28__hint {
    grid-row: 2 !important;
    justify-self: center !important;
    width: min(1180px, calc(100vw - 52px)) !important;
    max-width: calc(100vw - 52px) !important;
    padding: 8px 22px !important;
    border-radius: 999px !important;
    background: rgba(5,69,75,.86) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    font-size: clamp(12px, 1vw, 15px) !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    z-index: 80 !important;
}

/* Bottom controls preserved */
.viewer28__controls {
    grid-row: 3 !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    max-width: calc(100vw - 28px) !important;
    padding: 10px 18px !important;
    border-radius: 32px !important;
    background: rgba(5,69,75,.92) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow:
        0 14px 32px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 90 !important;
}

.viewer28__controls button {
    min-height: 40px !important;
    padding: 8px 22px !important;
    border-radius: 24px !important;
    background: rgba(7,84,91,.96) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        0 8px 16px rgba(0,0,0,.18) !important;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}

.viewer28__controls button:hover {
    background: rgba(12,104,112,.98) !important;
    transform: translateY(-2px) !important;
}

.viewer28__controls .viewer2026-overlay__counter {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    padding: 0 16px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.40) !important;
}

/* Thumbnails preserved and stretched */
.viewer28__thumbs {
    grid-row: 4 !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 auto !important;
    padding: 14px 18px 12px 18px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-radius: 22px !important;
    background: rgba(5,69,75,.92) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow:
        0 -12px 34px rgba(0,0,0,.36),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    scrollbar-width: thin !important;
    scroll-behavior: smooth !important;
    z-index: 90 !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb {
    flex: 0 0 clamp(72px, 6vw, 94px) !important;
    width: clamp(72px, 6vw, 94px) !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.88) !important;
    border: 2px solid rgba(255,255,255,.65) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.20) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb.landscape {
    flex-basis: clamp(135px, 12vw, 188px) !important;
    width: clamp(135px, 12vw, 188px) !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb.active {
    background: rgba(255,255,255,.96) !important;
    border-color: #fff !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 0 0 3px rgba(160,245,255,.40),
        0 0 22px rgba(180,250,255,.55),
        0 12px 24px rgba(0,0,0,.24) !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb img {
    width: 100% !important;
    height: clamp(58px, 5.4vw, 78px) !important;
    object-fit: cover !important;
    background: #fff !important;
    border-radius: 8px !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb.landscape img {
    object-fit: contain !important;
}

.viewer28__thumbs .viewer2026-overlay__thumb span {
    display: block !important;
    margin-top: 6px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
}

/* ordinary page thumbnails still understand landscape orientation */






/* responsive */
@media (max-width: 900px) {
    .viewer28__card {
        width: 40vw !important;
        height: min(50vh, calc(100vh - 230px)) !important;
    }

    .viewer28__card.landscape {
        width: 82vw !important;
        height: min(50vh, calc(100vh - 230px)) !important;
    }

    .viewer28__hint {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        white-space: normal !important;
        font-size: 11px !important;
        padding: 6px 12px !important;
    }

    .viewer28__controls {
        width: calc(100vw - 18px) !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding: 7px !important;
    }

    .viewer28__controls button {
        flex: 0 0 auto !important;
        min-height: 32px !important;
        padding: 6px 12px !important;
        font-size: 12px !important;
    }

    .viewer28__controls .viewer2026-overlay__counter {
        flex: 0 0 auto !important;
        font-size: 13px !important;
        padding: 0 8px !important;
    }

    .viewer28__card.active .viewer28__page {
        border-radius: 24px !important;
    }

    .viewer28__card.active img {
        border-radius: 16px !important;
    }
}

@media (max-height: 720px) {
    .viewer28 {
        gap: 7px !important;
    }

    .viewer28__card,
    .viewer28__card.landscape {
        height: min(48vh, calc(100vh - 220px)) !important;
    }

    .viewer28__controls button {
        min-height: 32px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .viewer28__thumbs {
        padding-top: 9px !important;
        padding-bottom: 8px !important;
    }
}


/* ===================================================== */
/* Viewer 2.9 Professional Cover Flow */
/* ===================================================== */
.viewer29{position:fixed!important;inset:0!important;z-index:999999!important;display:none!important;grid-template-rows:1fr auto auto auto!important;gap:10px!important;padding:clamp(8px,1vw,16px)!important;font-family:"Montserrat",Arial,sans-serif!important;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.10),rgba(0,0,0,0) 42%),linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.47) 56%,rgba(0,0,0,.84) 100%),url("../img/parallax0.webp") center center/cover fixed no-repeat!important}.viewer29.open{display:grid!important}.viewer29 .viewer2026-overlay__image,.viewer29 .viewer2026-carousel__track,.viewer29 .viewer2026-carousel__card,.viewer29 .viewer2026-coverflow27__track,.viewer29 .viewer2026-coverflow27__card,.viewer29 .viewer28__track,.viewer29 .viewer28__card{display:none!important;visibility:hidden!important;opacity:0!important}.viewer29__stage{grid-row:1!important;position:relative!important;min-height:0!important;overflow:hidden!important;perspective:1900px!important;perspective-origin:50% 48%!important;transform-style:preserve-3d!important;cursor:grab!important;touch-action:none!important}.viewer29__stage.dragging{cursor:grabbing!important}.viewer29__stage.panning{cursor:move!important}.viewer29__track{position:relative!important;width:100%!important;height:100%!important;transform-style:preserve-3d!important}.viewer29__track:after{content:""!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:34vh!important;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.50))!important;pointer-events:none!important;z-index:0!important}.viewer29__card{--x:0px;--y:0px;--z:0px;--scale:1;--rotate:0deg;--blur:0px;--brightness:1;--teal:0;position:absolute!important;left:50%!important;top:50%!important;width:min(28.5vw,430px)!important;height:min(66vh,calc(100vh - 220px))!important;max-height:min(66vh,calc(100vh - 220px))!important;margin:0!important;padding:0!important;transform:translate(-50%,-50%) translateX(var(--x)) translateY(var(--y)) translateZ(var(--z)) rotateY(var(--rotate)) scale(var(--scale))!important;transform-origin:center center!important;transform-style:preserve-3d!important;filter:blur(var(--blur)) brightness(var(--brightness))!important;transition:transform .48s cubic-bezier(.17,.84,.22,1),opacity .32s ease,filter .32s ease!important;will-change:transform,opacity,filter!important;user-select:none!important;-webkit-user-select:none!important;pointer-events:auto!important}.viewer29__card.landscape{width:min(54vw,860px)!important}.viewer29__page{position:relative!important;width:100%!important;height:100%!important;padding:9px!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(5,69,75,calc(.08 + .40 * var(--teal))) 0%,rgba(5,69,75,calc(.04 + .25 * var(--teal))) 100%),rgba(255,255,255,.22)!important;border:2px solid rgba(255,255,255,calc(.22 + .45 * var(--teal)))!important;box-shadow:0 20px 45px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;transform-style:preserve-3d!important;overflow:visible!important}.viewer29__page:before{content:""!important;position:absolute!important;left:7%!important;right:7%!important;bottom:-18%!important;height:16%!important;border-radius:50%!important;background:radial-gradient(ellipse at center,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 42%,rgba(255,255,255,0) 74%)!important;transform:scaleY(.55)!important;filter:blur(8px)!important;opacity:.34!important;pointer-events:none!important;z-index:0!important}.viewer29__card img{position:relative!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;border-radius:14px!important;box-shadow:0 9px 22px rgba(0,0,0,.22),inset 0 0 12px rgba(255,255,255,.30)!important;transform-origin:center center!important;transition:transform .12s ease,opacity .22s ease!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important}.viewer29__card.near img{opacity:.86!important}.viewer29__card.far img{opacity:.58!important}.viewer29__card.active{filter:blur(0) brightness(1)!important}.viewer29__card.active .viewer29__page{padding:10px!important;border-radius:32px!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92))!important;border:4px solid rgba(255,255,255,.88)!important;box-shadow:0 0 0 2px rgba(185,245,255,.36),0 0 34px rgba(255,255,255,.52),0 34px 78px rgba(0,0,0,.48),inset 0 0 26px rgba(255,255,255,.42)!important;overflow:hidden!important}.viewer29__card.active .viewer29__page:after{content:""!important;position:absolute!important;inset:0!important;border-radius:28px!important;z-index:4!important;pointer-events:none!important;box-shadow:inset 0 0 25px rgba(255,255,255,.60),inset 0 0 2px rgba(255,255,255,.98)!important}.viewer29__card.active img{border-radius:22px!important;opacity:1!important;background:#fff!important;box-shadow:inset 0 0 16px rgba(255,255,255,.25),0 10px 25px rgba(0,0,0,.18)!important}.viewer29__card figcaption{position:absolute!important;left:14px!important;bottom:14px!important;z-index:5!important;max-width:calc(100% - 28px)!important;padding:5px 11px!important;border-radius:999px!important;background:rgba(5,69,75,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;font-size:12px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.viewer29.is-zoomed .viewer29__card:not(.active){opacity:.06!important;pointer-events:none!important}.viewer29.is-zoomed .viewer29__card.active{z-index:3000!important}.viewer29.is-zoomed .viewer29__card.active img{cursor:move!important}.viewer29__hint{grid-row:2!important;justify-self:center!important;width:min(1180px,calc(100vw - 52px))!important;max-width:calc(100vw - 52px)!important;padding:8px 22px!important;border-radius:999px!important;background:rgba(5,69,75,.86)!important;color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;font-size:clamp(12px,1vw,15px)!important;line-height:1.22!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:0 12px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;z-index:80!important}.viewer29__controls{grid-row:3!important;justify-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;max-width:calc(100vw - 28px)!important;padding:10px 18px!important;border-radius:32px!important;background:rgba(5,69,75,.92)!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 14px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.22)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;z-index:90!important}.viewer29__controls button{min-height:40px!important;padding:8px 22px!important;border-radius:24px!important;background:rgba(7,84,91,.96)!important;color:#fff!important;border:1px solid rgba(255,255,255,.50)!important;font-weight:900!important;font-size:15px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 8px 16px rgba(0,0,0,.18)!important;transition:transform .15s ease,background .15s ease,box-shadow .15s ease!important}.viewer29__controls button:hover{background:rgba(12,104,112,.98)!important;transform:translateY(-2px)!important}.viewer29__controls .viewer2026-overlay__counter{color:#fff!important;font-size:18px!important;font-weight:900!important;padding:0 16px!important;text-shadow:0 2px 10px rgba(0,0,0,.40)!important}.viewer29__thumbs{grid-row:4!important;justify-self:center!important;display:flex!important;align-items:center!important;gap:10px!important;width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin:0 auto!important;padding:14px 18px 12px 18px!important;overflow-x:auto!important;overflow-y:hidden!important;border-radius:22px!important;background:rgba(5,69,75,.92)!important;border:1px solid rgba(255,255,255,.30)!important;box-shadow:0 -12px 34px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;scrollbar-width:thin!important;scroll-behavior:smooth!important;z-index:90!important}.viewer29__thumbs .viewer2026-overlay__thumb{flex:0 0 clamp(72px,6vw,94px)!important;width:clamp(72px,6vw,94px)!important;padding:7px!important;border-radius:13px!important;background:rgba(255,255,255,.88)!important;border:2px solid rgba(255,255,255,.65)!important;box-shadow:0 8px 18px rgba(0,0,0,.20)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.viewer29__thumbs .viewer2026-overlay__thumb.landscape{flex-basis:clamp(135px,12vw,188px)!important;width:clamp(135px,12vw,188px)!important}.viewer29__thumbs .viewer2026-overlay__thumb.active{background:rgba(255,255,255,.96)!important;border-color:#fff!important;transform:translateY(-3px)!important;box-shadow:0 0 0 3px rgba(160,245,255,.40),0 0 22px rgba(180,250,255,.55),0 12px 24px rgba(0,0,0,.24)!important}.viewer29__thumbs .viewer2026-overlay__thumb img{width:100%!important;height:clamp(58px,5.4vw,78px)!important;object-fit:cover!important;background:#fff!important;border-radius:8px!important}.viewer29__thumbs .viewer2026-overlay__thumb.landscape img{object-fit:contain!important}.viewer29__thumbs .viewer2026-overlay__thumb span{display:block!important;margin-top:6px!important;color:#fff!important;font-size:13px!important;line-height:1.05!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 2px 8px rgba(0,0,0,.55)!important}@media(max-width:900px){.viewer29__card{width:42vw!important;height:min(54vh,calc(100vh - 230px))!important}.viewer29__card.landscape{width:84vw!important;height:min(54vh,calc(100vh - 230px))!important}.viewer29__hint{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;white-space:normal!important;font-size:11px!important;padding:6px 12px!important}.viewer29__controls{width:calc(100vw - 18px)!important;justify-content:flex-start!important;overflow-x:auto!important;padding:7px!important}.viewer29__controls button{flex:0 0 auto!important;min-height:32px!important;padding:6px 12px!important;font-size:12px!important}.viewer29__controls .viewer2026-overlay__counter{flex:0 0 auto!important;font-size:13px!important;padding:0 8px!important}}@media(max-height:720px){.viewer29{gap:7px!important}.viewer29__card,.viewer29__card.landscape{height:min(52vh,calc(100vh - 220px))!important}.viewer29__controls button{min-height:32px!important;padding-top:5px!important;padding-bottom:5px!important}.viewer29__thumbs{padding-top:9px!important;padding-bottom:8px!important}}


/* ===================================================== */
/* Viewer 2.9 Fixed — nonlinear Cover Flow geometry */
/* Исправление просвечивания и пространственной модели */
/* ===================================================== */

.viewer29__stage {
    perspective: 2300px !important;
    perspective-origin: 50% 47% !important;
}

/* Центральная карточка должна физически перекрывать соседние документы */
.viewer29__card.active {
    z-index: 6000 !important;
    opacity: 1 !important;
    filter: none !important;
}

.viewer29__card.active .viewer29__page {
    background: #ffffff !important;
    border: 5px solid rgba(255,255,255,.94) !important;
    box-shadow:
        0 0 0 2px rgba(185,245,255,.42),
        0 0 42px rgba(255,255,255,.62),
        0 38px 86px rgba(0,0,0,.52),
        inset 0 0 22px rgba(255,255,255,.55) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.viewer29__card.active img {
    opacity: 1 !important;
    background: #ffffff !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}

/* Убираем стеклянную прозрачность только у активного документа */
.viewer29__card.active .viewer29__page::after {
    box-shadow:
        inset 0 0 18px rgba(255,255,255,.45),
        inset 0 0 2px rgba(255,255,255,.95) !important;
}

/* Соседи становятся фоном, а не вторым читаемым документом */
.viewer29__card:not(.active) {
    pointer-events: auto;
    transform-style: preserve-3d !important;
}

.viewer29__card:not(.active) .viewer29__page {
    background:
        linear-gradient(
            180deg,
            rgba(5,69,75, calc(.12 + .34 * var(--teal))) 0%,
            rgba(5,69,75, calc(.06 + .20 * var(--teal))) 100%
        ),
        rgba(255,255,255,.18) !important;
    border-color: rgba(255,255,255, calc(.18 + .34 * var(--teal))) !important;
    box-shadow:
        0 18px 38px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
}

/* Ближние боковые карточки видны, но не перекрывают центр */
.viewer29__card.near img {
    opacity: .58 !important;
}

/* Второй ряд уходит глубоко назад */
.viewer29__card.middle img {
    opacity: .34 !important;
}

/* Дальние почти исчезают */
.viewer29__card.far {
    pointer-events: none !important;
}

.viewer29__card.far img {
    opacity: .12 !important;
}

/* Чтобы боковые страницы не выглядели как параллельная стена */
.viewer29__card:not(.active) img {
    background: rgba(255,255,255,.72) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.24),
        inset 0 0 10px rgba(255,255,255,.18) !important;
}

/* Немного увеличиваем центральную читаемую страницу */
.viewer29__card {
    width: min(30vw, 460px) !important;
    height: min(68vh, calc(100vh - 218px)) !important;
    max-height: min(68vh, calc(100vh - 218px)) !important;
}

.viewer29__card.landscape {
    width: min(56vw, 880px) !important;
}

/* При zoom оставляем строго один активный документ */
.viewer29.is-zoomed .viewer29__card:not(.active) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Дополнительная защита от старых слоев */
.viewer29 .viewer2026-overlay__image,
.viewer29 .viewer2026-carousel__card,
.viewer29 .viewer2026-coverflow27__card,
.viewer29 .viewer28__card {
    display: none !important;
}

/* На малых экранах уменьшаем агрессию размеров */
@media (max-width: 900px) {
    .viewer29__card {
        width: 44vw !important;
        height: min(56vh, calc(100vh - 230px)) !important;
    }

    .viewer29__card.landscape {
        width: 86vw !important;
    }
}

@media (max-height: 720px) {
    .viewer29__card,
    .viewer29__card.landscape {
        height: min(54vh, calc(100vh - 218px)) !important;
    }
}


/* ===================================================== */
/* Viewer 3.0 Next Generation */
/* One active page + separate 3D side cards */
/* ===================================================== */
.viewer2026-no-scroll{overflow:hidden!important}.viewer30{position:fixed!important;inset:0!important;z-index:999999!important;display:none!important;grid-template-rows:1fr auto auto auto!important;gap:10px!important;padding:clamp(8px,1vw,16px)!important;font-family:"Montserrat",Arial,sans-serif!important;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.10),rgba(0,0,0,0) 42%),linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.47) 56%,rgba(0,0,0,.84) 100%),url("../img/parallax0.webp") center center/cover fixed no-repeat!important}.viewer30.open{display:grid!important}.viewer30 .viewer2026-overlay__image,.viewer30 .viewer2026-carousel__track,.viewer30 .viewer2026-carousel__card,.viewer30 .viewer2026-coverflow27__track,.viewer30 .viewer2026-coverflow27__card,.viewer30 .viewer28__track,.viewer30 .viewer28__card,.viewer30 .viewer29__track,.viewer30 .viewer29__card{display:none!important;visibility:hidden!important;opacity:0!important}.viewer30__stage{grid-row:1!important;position:relative!important;min-height:0!important;overflow:hidden!important;perspective:2300px!important;perspective-origin:50% 47%!important;transform-style:preserve-3d!important;cursor:grab!important;touch-action:none!important}.viewer30__stage.dragging{cursor:grabbing!important}.viewer30__stage.panning{cursor:move!important}.viewer30__stage:after{content:""!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:34vh!important;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.50))!important;pointer-events:none!important;z-index:0!important}.viewer30__sides{position:absolute!important;inset:0!important;transform-style:preserve-3d!important;z-index:1!important}.viewer30__side{--sw:320px;--sh:520px;--x:0px;--y:0px;--z:0px;--rotate:0deg;--scale:.7;--blur:0px;--brightness:1;--teal:.5;position:absolute!important;left:50%!important;top:50%!important;width:var(--sw)!important;height:var(--sh)!important;margin:0!important;transform:translate(-50%,-50%) translateX(var(--x)) translateY(var(--y)) translateZ(var(--z)) rotateY(var(--rotate)) scale(var(--scale))!important;transform-origin:center center!important;transform-style:preserve-3d!important;filter:blur(var(--blur)) brightness(var(--brightness))!important;transition:transform .46s cubic-bezier(.17,.84,.22,1),opacity .30s ease,filter .30s ease!important;will-change:transform,opacity,filter!important;user-select:none!important}.viewer30__sidePage{position:relative!important;width:100%!important;height:100%!important;padding:8px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(5,69,75,calc(.11 + .36 * var(--teal))) 0%,rgba(5,69,75,calc(.05 + .22 * var(--teal))) 100%),rgba(255,255,255,.18)!important;border:2px solid rgba(255,255,255,calc(.20 + .35 * var(--teal)))!important;box-shadow:0 18px 38px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.14)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}.viewer30__sidePage:before{content:""!important;position:absolute!important;left:8%!important;right:8%!important;bottom:-17%!important;height:16%!important;border-radius:50%!important;background:radial-gradient(ellipse at center,rgba(255,255,255,.18),rgba(255,255,255,0) 72%)!important;filter:blur(8px)!important;opacity:.26!important;pointer-events:none!important}.viewer30__side img{display:block!important;position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;background:rgba(255,255,255,.72)!important;border-radius:13px!important;box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 0 10px rgba(255,255,255,.18)!important;opacity:.58!important;user-select:none!important;-webkit-user-drag:none!important;pointer-events:none!important}.viewer30__side.middle img{opacity:.34!important}.viewer30__side.far{pointer-events:none!important}.viewer30__side.far img{opacity:.12!important}.viewer30__side figcaption{position:absolute!important;left:12px!important;bottom:12px!important;z-index:5!important;max-width:calc(100% - 24px)!important;padding:5px 10px!important;border-radius:999px!important;background:rgba(5,69,75,.86)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;font-size:11px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.viewer30__active{--aw:460px;--ah:660px;position:absolute!important;left:50%!important;top:50%!important;width:var(--aw)!important;height:var(--ah)!important;margin:0!important;transform:translate(-50%,-50%)!important;z-index:10000!important;transition:transform .34s cubic-bezier(.17,.84,.22,1)!important;user-select:none!important}.viewer30__activePage{position:relative!important;width:100%!important;height:100%!important;padding:10px!important;border-radius:32px!important;background:#fff!important;border:5px solid rgba(255,255,255,.94)!important;box-shadow:0 0 0 2px rgba(185,245,255,.42),0 0 42px rgba(255,255,255,.62),0 38px 86px rgba(0,0,0,.52),inset 0 0 22px rgba(255,255,255,.55)!important;overflow:hidden!important}.viewer30__activePage:after{content:""!important;position:absolute!important;inset:0!important;border-radius:28px!important;z-index:4!important;pointer-events:none!important;box-shadow:inset 0 0 18px rgba(255,255,255,.45),inset 0 0 2px rgba(255,255,255,.95)!important}.viewer30__active img{position:relative!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;border-radius:22px!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important;box-shadow:inset 0 0 16px rgba(255,255,255,.25),0 10px 25px rgba(0,0,0,.18)!important;transform-origin:center center!important;transition:transform .12s ease!important;user-select:none!important;-webkit-user-drag:none!important;pointer-events:none!important}.viewer30__active figcaption{position:absolute!important;left:16px!important;bottom:16px!important;z-index:5!important;max-width:calc(100% - 32px)!important;padding:5px 12px!important;border-radius:999px!important;background:rgba(5,69,75,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;font-size:12px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.viewer30.is-zoomed .viewer30__sides{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.viewer30.is-zoomed .viewer30__active{z-index:20000!important}.viewer30__hint{grid-row:2!important;justify-self:center!important;width:min(1180px,calc(100vw - 52px))!important;max-width:calc(100vw - 52px)!important;padding:8px 22px!important;border-radius:999px!important;background:rgba(5,69,75,.86)!important;color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;font-size:clamp(12px,1vw,15px)!important;line-height:1.22!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:0 12px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;z-index:80!important}.viewer30__controls{grid-row:3!important;justify-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;max-width:calc(100vw - 28px)!important;padding:10px 18px!important;border-radius:32px!important;background:rgba(5,69,75,.92)!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 14px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.22)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;z-index:90!important}.viewer30__controls button{min-height:40px!important;padding:8px 22px!important;border-radius:24px!important;background:rgba(7,84,91,.96)!important;color:#fff!important;border:1px solid rgba(255,255,255,.50)!important;font-weight:900!important;font-size:15px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 8px 16px rgba(0,0,0,.18)!important;transition:transform .15s ease,background .15s ease,box-shadow .15s ease!important}.viewer30__controls button:hover{background:rgba(12,104,112,.98)!important;transform:translateY(-2px)!important}.viewer30__controls .viewer2026-overlay__counter{color:#fff!important;font-size:18px!important;font-weight:900!important;padding:0 16px!important;text-shadow:0 2px 10px rgba(0,0,0,.40)!important}.viewer30__thumbs{grid-row:4!important;justify-self:center!important;display:flex!important;align-items:center!important;gap:10px!important;width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin:0 auto!important;padding:14px 18px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;border-radius:22px!important;background:rgba(5,69,75,.92)!important;border:1px solid rgba(255,255,255,.30)!important;box-shadow:0 -12px 34px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;scrollbar-width:thin!important;scroll-behavior:smooth!important;z-index:90!important}.viewer30__thumbs .viewer2026-overlay__thumb{flex:0 0 clamp(72px,6vw,94px)!important;width:clamp(72px,6vw,94px)!important;padding:7px!important;border-radius:13px!important;background:rgba(255,255,255,.88)!important;border:2px solid rgba(255,255,255,.65)!important;box-shadow:0 8px 18px rgba(0,0,0,.20)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.viewer30__thumbs .viewer2026-overlay__thumb.landscape{flex-basis:clamp(135px,12vw,188px)!important;width:clamp(135px,12vw,188px)!important}.viewer30__thumbs .viewer2026-overlay__thumb.active{background:rgba(255,255,255,.96)!important;border-color:#fff!important;transform:translateY(-3px)!important;box-shadow:0 0 0 3px rgba(160,245,255,.40),0 0 22px rgba(180,250,255,.55),0 12px 24px rgba(0,0,0,.24)!important}.viewer30__thumbs .viewer2026-overlay__thumb img{width:100%!important;height:clamp(58px,5.4vw,78px)!important;object-fit:cover!important;background:#fff!important;border-radius:8px!important}.viewer30__thumbs .viewer2026-overlay__thumb.landscape img{object-fit:contain!important}.viewer30__thumbs .viewer2026-overlay__thumb span{display:block!important;margin-top:6px!important;color:#fff!important;font-size:13px!important;line-height:1.05!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 2px 8px rgba(0,0,0,.55)!important}.doc2026__thumb.landscape{flex-basis:180px!important;width:180px!important}.doc2026__thumb.landscape img{object-fit:contain!important;background:#fff!important}#doc2026Image.landscape{width:min(100%,1100px)}@media(max-width:900px){.viewer30__hint{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;white-space:normal!important;font-size:11px!important;padding:6px 12px!important}.viewer30__controls{width:calc(100vw - 18px)!important;justify-content:flex-start!important;overflow-x:auto!important;padding:7px!important}.viewer30__controls button{flex:0 0 auto!important;min-height:32px!important;padding:6px 12px!important;font-size:12px!important}.viewer30__controls .viewer2026-overlay__counter{flex:0 0 auto!important;font-size:13px!important;padding:0 8px!important}}@media(max-height:720px){.viewer30{gap:7px!important}.viewer30__controls button{min-height:32px!important;padding-top:5px!important;padding-bottom:5px!important}.viewer30__thumbs{padding-top:9px!important;padding-bottom:8px!important}}


/* ===================================================== */
/* Viewer 3.0 Fix — боковые документы рядом с основной */
/* ===================================================== */
.viewer30__sides{
    z-index:8500!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}
.viewer30__active{
    z-index:10000!important;
}
.viewer30__side{
    display:block!important;
    visibility:visible!important;
    opacity:var(--side-opacity, .86);
    transform-style:preserve-3d!important;
}
.viewer30__sidePage{
    background:
        linear-gradient(180deg,rgba(5,69,75,calc(.08 + .30 * var(--teal))) 0%,rgba(5,69,75,calc(.04 + .20 * var(--teal))) 100%),
        rgba(255,255,255,.34)!important;
    border:2px solid rgba(255,255,255,calc(.28 + .40 * var(--teal)))!important;
    box-shadow:0 18px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.viewer30__side.near img{
    opacity:.88!important;
}
.viewer30__side.middle img{
    opacity:.58!important;
}
.viewer30__side.far img{
    opacity:.28!important;
}
.viewer30__side img{
    background:rgba(255,255,255,.88)!important;
}
/* основная страница остается единственной читаемой и не пропускает соседей */
.viewer30__activePage,
.viewer30__active img{
    opacity:1!important;
    background:#fff!important;
}


/* ===================================================== */
/* Viewer 3.1 — active drag + readable side documents */
/* ===================================================== */

.viewer30__active {
    transition: transform .42s cubic-bezier(.17,.84,.22,1) !important;
}

.viewer30__active.is-dragging {
    transition: none !important;
    cursor: grabbing !important;
    will-change: transform !important;
}

.viewer30__stage.dragging .viewer30__active {
    will-change: transform !important;
}

.viewer30__sidePage {
    background:
        linear-gradient(
            180deg,
            rgba(5,69,75, calc(.07 + .28 * var(--teal))) 0%,
            rgba(5,69,75, calc(.03 + .16 * var(--teal))) 100%
        ),
        rgba(255,255,255,.24) !important;
}





.viewer30__side.far img {
    opacity: .22 !important;
}

.viewer30__active.is-dragging .viewer30__activePage {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.50),
        0 0 50px rgba(255,255,255,.70),
        0 44px 94px rgba(0,0,0,.58),
        inset 0 0 22px rgba(255,255,255,.55) !important;
}

.viewer30__stage {
    cursor: grab !important;
}



.viewer30__stage.panning {
    cursor: move !important;
}


/* ===================================================== */
/* Viewer 3.2 — реальное перетаскивание основной картинки */
/* ===================================================== */

.viewer30__active {
    --drag-x: 0px;
    --drag-rot: 0deg;
    transform:
        translate(-50%, -50%)
        translateX(var(--drag-x))
        rotateY(var(--drag-rot)) !important;
    transform-style: preserve-3d !important;
    transition: transform .38s cubic-bezier(.17,.84,.22,1) !important;
    cursor: grab !important;
    touch-action: none !important;
}

.viewer30__active.is-dragging {
    transition: none !important;
    cursor: grabbing !important;
    z-index: 30000 !important;
}

.viewer30__active.is-dragging .viewer30__activePage {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.55),
        0 0 54px rgba(255,255,255,.72),
        0 46px 96px rgba(0,0,0,.60),
        inset 0 0 22px rgba(255,255,255,.55) !important;
}

.viewer30__stage.dragging {
    cursor: grabbing !important;
}

/* При 100% мышью двигается центральный документ. При увеличении >100% двигается само изображение внутри документа. */
.viewer30.is-zoomed .viewer30__active {
    cursor: move !important;
}

/* Боковые документы меньше повернуты и лучше читаются */
.viewer30__side.near img {
    opacity: .76 !important;
    background: rgba(255,255,255,.86) !important;
}

.viewer30__side.middle img {
    opacity: .54 !important;
    background: rgba(255,255,255,.78) !important;
}

.viewer30__sidePage {
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}


/* Viewer 3.2 Glass update */

.viewer30__activePage{
background:rgba(255,255,255,.78)!important;
backdrop-filter:blur(10px)!important;
-webkit-backdrop-filter:blur(10px)!important;
border:4px solid rgba(255,255,255,.70)!important;
box-shadow:0 30px 70px rgba(0,0,0,.45),inset 0 0 18px rgba(255,255,255,.45)!important;
}

.viewer30__thumbs .viewer2026-overlay__thumb{
background:rgba(255,255,255,.40)!important;
backdrop-filter:blur(6px)!important;
-webkit-backdrop-filter:blur(6px)!important;
border:1px solid rgba(255,255,255,.35)!important;
}

.viewer30__thumbs .viewer2026-overlay__thumb.active{
background:rgba(255,255,255,.62)!important;
border:2px solid rgba(255,255,255,.80)!important;
box-shadow:0 0 18px rgba(180,255,255,.45),0 10px 22px rgba(0,0,0,.25)!important;
}

.viewer30__thumbs .viewer2026-overlay__thumb img{
background:rgba(255,255,255,.82)!important;
border-radius:8px!important;
}

/* v.401 transparent thumbnail backgrounds */
.doc2026__thumb,
.doc2026__thumb::before,
.doc2026__thumb::after,
.doc2026__thumb-card,
.doc2026__thumb-inner,
.doc2026__thumb-wrap{
background:transparent!important;
box-shadow:none!important;
}
.doc2026__thumb .is-active,
.doc2026__thumb.active,
.doc2026__thumb.selected{
background:transparent!important;
}

/* v.604 — active upper-navigation button: red-brown background and white text. */
.topnav > a[aria-current="page"]:not(.icon),
.topnav > a.active:not(.icon),
.topnav > a.categories__title.title:not(.icon) {
  background-color: rgba(133, 9, 9, 1) !important;
  color: #fff !important;
}

.topnav > a[aria-current="page"]:not(.icon) span,
.topnav > a.active:not(.icon) span,
.topnav > a.categories__title.title:not(.icon) span {
  color: #fff !important;
}

/* v.800: remove decorative background strips site-wide in both themes */
.bgimg-2,
.bgimg-3 {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}


/* v.1192 — service-card actions belong to their cards.
   Applies only where a main action is nested inside a service card. */
.services__column > .services__item {
  display: flex;
  flex-direction: column;
}

.services__column > .services__item > .main-block__buttons {
  width: 100%;
  margin: auto 0 0 0 !important;
  padding-top: 24px;
  flex: 0 0 auto;
  align-items: center !important;
  justify-content: flex-start !important;
}

.services__column > .services__item > .main-block__buttons > .main-block__button {
  margin: 0 !important;
}

@media (max-width: 600px) {
  .services__column > .services__item > .main-block__buttons {
    padding-top: 18px;
  }
}


/* ===== css/viewer4.css?v=1186 ===== */
/* =====================================================
   Viewer 4.0 Core — isolated styles
   Новая сцена Cover Flow, стеклянная центральная страница,
   миниатюры и панель управления вынесены из style.css.
   ===================================================== */

.viewer4-no-scroll {
    overflow: hidden !important;
}

.viewer4 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    grid-template-rows: 1fr auto auto auto !important;
    gap: 10px !important;
    padding: clamp(8px, 1vw, 16px) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.12), rgba(0,0,0,0) 42%),
        linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.48) 56%, rgba(0,0,0,.86) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

.viewer4.open {
    display: grid !important;
}

/* stage */
.viewer4__stage {
    grid-row: 1 !important;
    position: relative !important;
    min-height: 0 !important;
    overflow: hidden !important;
    perspective: 2300px !important;
    perspective-origin: 50% 47% !important;
    transform-style: preserve-3d !important;
    cursor: grab !important;
    touch-action: none !important;
    border-radius: 24px !important;
}

.viewer4__stage::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 28px !important;
    background:
        linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,0) 30%),
        radial-gradient(circle at 50% 8%, rgba(255,255,255,.14), rgba(255,255,255,0) 42%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.viewer4__stage::after {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 34vh !important;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.52)) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.viewer4__stage.dragging {
    cursor: grabbing !important;
}

.viewer4__stage.panning {
    cursor: move !important;
}

.viewer4__track {
    position: absolute !important;
    inset: 0 !important;
    transform-style: preserve-3d !important;
    z-index: 1 !important;
}

/* cards */
.viewer4__card {
    --vw: 320px;
    --vh: 520px;
    --x: 0px;
    --y: 0px;
    --z: 0px;
    --rotate: 0deg;
    --scale: 1;
    --blur: 0px;
    --brightness: 1;
    --teal: 0.5;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: var(--vw) !important;
    height: var(--vh) !important;
    margin: 0 !important;
    transform:
        translate(-50%, -50%)
        translate3d(var(--x), var(--y), var(--z))
        rotateY(var(--rotate))
        scale(var(--scale)) !important;
    transform-origin: center center !important;
    transform-style: preserve-3d !important;
    filter: blur(var(--blur)) brightness(var(--brightness)) !important;
    transition:
        transform .46s cubic-bezier(.17,.84,.22,1),
        opacity .30s ease,
        filter .30s ease !important;
    will-change: transform, opacity, filter !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.viewer4__card-page {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    padding: 8px !important;
    border-radius: 20px !important;
    background:
        linear-gradient(180deg,
            rgba(5,69,75, calc(.10 + .34 * var(--teal))) 0%,
            rgba(5,69,75, calc(.04 + .20 * var(--teal))) 100%),
        rgba(255,255,255,.22) !important;
    border: 2px solid rgba(255,255,255, calc(.20 + .34 * var(--teal))) !important;
    box-shadow:
        0 18px 38px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    overflow: visible !important;
}

.viewer4__card-page::before {
    content: "" !important;
    position: absolute !important;
    left: 8% !important;
    right: 8% !important;
    bottom: -17% !important;
    height: 16% !important;
    border-radius: 50% !important;
    background: radial-gradient(ellipse at center, rgba(255,255,255,.20), rgba(255,255,255,0) 72%) !important;
    filter: blur(8px) !important;
    opacity: .28 !important;
    pointer-events: none !important;
}

.viewer4__card img {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: rgba(255,255,255,.78) !important;
    border-radius: 13px !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.24),
        inset 0 0 10px rgba(255,255,255,.18) !important;
    opacity: .64 !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
}

.viewer4__card.middle img {
    opacity: .44 !important;
}

.viewer4__card.far img {
    opacity: .18 !important;
}

.viewer4__card figcaption {
    position: absolute !important;
    left: 12px !important;
    bottom: 12px !important;
    z-index: 5 !important;
    max-width: calc(100% - 24px) !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: rgba(5,69,75,.86) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* active card */
.viewer4__card.active {
    z-index: 10000 !important;
    filter: none !important;
}

.viewer4__card.active .viewer4__card-page {
    padding: 10px !important;
    border-radius: 32px !important;
    background: rgba(255,255,255,.76) !important;
    border: 4px solid rgba(255,255,255,.72) !important;
    box-shadow:
        0 0 0 2px rgba(185,245,255,.36),
        0 0 42px rgba(255,255,255,.52),
        0 38px 86px rgba(0,0,0,.50),
        inset 0 0 22px rgba(255,255,255,.48) !important;
    backdrop-filter: blur(12px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.15) !important;
    overflow: hidden !important;
}

.viewer4__card.active .viewer4__card-page::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 28px !important;
    z-index: 4 !important;
    pointer-events: none !important;
    background:
        linear-gradient(120deg, rgba(255,255,255,.34), rgba(255,255,255,0) 34%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 55%) !important;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,.44),
        inset 0 0 2px rgba(255,255,255,.95) !important;
}

.viewer4__card.active img {
    border-radius: 22px !important;
    opacity: 1 !important;
    background: #ffffff !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    box-shadow:
        inset 0 0 16px rgba(255,255,255,.25),
        0 10px 25px rgba(0,0,0,.18) !important;
}

.viewer4.is-zoomed .viewer4__card:not(.active) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.viewer4.is-zoomed .viewer4__card.active {
    z-index: 20000 !important;
}

/* hint */
.viewer4__hint {
    grid-row: 2 !important;
    justify-self: center !important;
    width: min(1180px, calc(100vw - 52px)) !important;
    max-width: calc(100vw - 52px) !important;
    padding: 8px 22px !important;
    border-radius: 999px !important;
    background: rgba(5,69,75,.78) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    font-size: clamp(12px, 1vw, 15px) !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    z-index: 80 !important;
}

/* controls */
.viewer4__controls {
    grid-row: 3 !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    max-width: calc(100vw - 28px) !important;
    padding: 10px 18px !important;
    border-radius: 32px !important;
    background: rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow:
        0 14px 32px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 90 !important;
}

.viewer4__controls button {
    min-height: 40px !important;
    padding: 8px 22px !important;
    border-radius: 24px !important;
    background: rgba(7,84,91,.94) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        0 8px 16px rgba(0,0,0,.18) !important;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}

.viewer4__controls button:hover {
    background: rgba(12,104,112,.98) !important;
    transform: translateY(-2px) !important;
}

.viewer4__counter {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    padding: 0 16px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.40) !important;
}

/* thumbnails */
.viewer4__thumbs {
    grid-row: 4 !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 auto !important;
    padding: 14px 18px 12px 18px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-radius: 22px !important;
    background: rgba(5,69,75,.86) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow:
        0 -12px 34px rgba(0,0,0,.36),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    scrollbar-width: thin !important;
    scroll-behavior: smooth !important;
    z-index: 90 !important;
}

.viewer4__thumb {
    flex: 0 0 clamp(72px, 6vw, 94px) !important;
    width: clamp(72px, 6vw, 94px) !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.36) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}

.viewer4__thumb.landscape {
    flex-basis: clamp(135px, 12vw, 188px) !important;
    width: clamp(135px, 12vw, 188px) !important;
}

.viewer4__thumb.active {
    background: rgba(255,255,255,.62) !important;
    border: 2px solid rgba(255,255,255,.80) !important;
    transform: translateY(-3px) !important;
    box-shadow:
        0 0 18px rgba(180,255,255,.45),
        0 10px 22px rgba(0,0,0,.25) !important;
}

.viewer4__thumb img {
    width: 100% !important;
    height: clamp(58px, 5.4vw, 78px) !important;
    object-fit: cover !important;
    background: rgba(255,255,255,.82) !important;
    border-radius: 8px !important;
}

.viewer4__thumb.landscape img {
    object-fit: contain !important;
}

.viewer4__thumb span {
    display: block !important;
    margin-top: 6px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
}

.doc2026__thumb.landscape {
    flex-basis: 180px !important;
    width: 180px !important;
}

.doc2026__thumb.landscape img {
    object-fit: contain !important;
    background: #fff !important;
}

#doc2026Image.landscape {
    width: min(100%, 1100px);
}

@media (max-width: 900px) {
    .viewer4__hint {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        white-space: normal !important;
        font-size: 11px !important;
        padding: 6px 12px !important;
    }

    .viewer4__controls {
        width: calc(100vw - 18px) !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding: 7px !important;
    }

    .viewer4__controls button {
        flex: 0 0 auto !important;
        min-height: 32px !important;
        padding: 6px 12px !important;
        font-size: 12px !important;
    }

    .viewer4__counter {
        flex: 0 0 auto !important;
        font-size: 13px !important;
        padding: 0 8px !important;
    }
}

@media (max-height: 720px) {
    .viewer4 {
        gap: 7px !important;
    }

    .viewer4__controls button {
        min-height: 32px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .viewer4__thumbs {
        padding-top: 9px !important;
        padding-bottom: 8px !important;
    }
}


/* =====================================================
   Viewer 4.1 — Physics + Glass
   Следующий этап после Viewer 4.0 Core.
   ===================================================== */

.viewer4-stage2 {
    --viewer4-light-x: 50%;
}

.viewer4-glass-ready .viewer4__stage {
    background:
        radial-gradient(circle at var(--viewer4-light-x) 0%, rgba(255,255,255,.16), rgba(255,255,255,0) 34%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 55%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        inset 0 -1px 0 rgba(0,0,0,.14),
        0 22px 70px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(6px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(6px) saturate(1.08) !important;
}

.viewer4-glass-ready .viewer4__card.active .viewer4__card-page {
    background:
        linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.62)),
        radial-gradient(circle at var(--viewer4-light-x) 0%, rgba(255,255,255,.30), rgba(255,255,255,0) 42%) !important;
    border-color: rgba(255,255,255,.76) !important;
    box-shadow:
        0 0 0 2px rgba(185,245,255,.36),
        0 0 48px rgba(255,255,255,.58),
        0 40px 92px rgba(0,0,0,.52),
        inset 0 0 24px rgba(255,255,255,.52) !important;
}

.viewer4-glass-ready .viewer4__card:not(.active) .viewer4__card-page {
    background:
        linear-gradient(135deg,
            rgba(255,255,255,.24),
            rgba(5,69,75, calc(.08 + .26 * var(--teal)))),
        rgba(255,255,255,.18) !important;
}

.viewer4.is-dragging-active .viewer4__card.active .viewer4__card-page {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.52),
        0 0 58px rgba(255,255,255,.72),
        0 48px 104px rgba(0,0,0,.58),
        inset 0 0 26px rgba(255,255,255,.55) !important;
}

.viewer4__track {
    transition: transform .22s cubic-bezier(.17,.84,.22,1);
    will-change: transform;
}

.viewer4__stage.dragging .viewer4__track {
    transition: none !important;
}

/* Более «дорогие» стеклянные миниатюры */
.viewer4-glass-ready .viewer4__thumbs {
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(5,69,75,.82)),
        rgba(5,69,75,.82) !important;
}

.viewer4-glass-ready .viewer4__thumb {
    background:
        linear-gradient(135deg, rgba(255,255,255,.46), rgba(255,255,255,.22)) !important;
    border-color: rgba(255,255,255,.46) !important;
}

.viewer4-glass-ready .viewer4__thumb.active {
    background:
        linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.44)) !important;
    box-shadow:
        0 0 0 2px rgba(185,245,255,.38),
        0 0 22px rgba(180,255,255,.52),
        0 12px 26px rgba(0,0,0,.28) !important;
}


/* =====================================================
   Viewer 4.2 — Performance Engine
   Виртуализация, GPU-анимация, изоляция layout/paint.
   ===================================================== */

.viewer4__stage,
.viewer4__track,
.viewer4__card,
.viewer4__card-page,
.viewer4__thumbs {
    contain: layout paint style;
}

.viewer4__track {
    transform: translate3d(0,0,0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.viewer4__card {
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform-style: preserve-3d !important;
    will-change: transform, opacity, filter !important;
}

.viewer4__card img {
    transform: translateZ(0);
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

.viewer4__card:not(.active).far {
    pointer-events: none !important;
}



.viewer4__thumbs {
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.viewer4__thumb {
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .viewer4__card,
    .viewer4__track,
    .viewer4__thumb,
    .viewer4__controls button {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* =====================================================
   Viewer 4.3 — Polished Interaction
   Доступность, фокус, кнопки масштаба, улучшенный UX.
   ===================================================== */

.viewer4__stage:focus-visible,
.viewer4__controls button:focus-visible,
.viewer4__thumb:focus-visible {
    outline: 3px solid rgba(185,245,255,.86) !important;
    outline-offset: 3px !important;
}

.viewer4__controls button[data-action="zoom-out"],
.viewer4__controls button[data-action="zoom-reset"],
.viewer4__controls button[data-action="zoom-in"] {
    min-width: 44px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.viewer4__controls button[data-action="zoom-reset"] {
    min-width: 70px !important;
}

.viewer4__counter {
    min-width: 105px !important;
    text-align: center !important;
}

.viewer4__card[aria-current="true"] figcaption {
    background: rgba(5,69,75,.94) !important;
}

.viewer4__card:not(.active):hover .viewer4__card-page {
    border-color: rgba(255,255,255,.58) !important;
    box-shadow:
        0 20px 44px rgba(0,0,0,.34),
        0 0 18px rgba(185,245,255,.18),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.viewer4__thumb:hover {
    transform: translateY(-2px) !important;
}

.viewer4__hint {
    user-select: none !important;
}

.viewer4__card-page,
.viewer4__thumb,
.viewer4__controls,
.viewer4__hint,
.viewer4__thumbs {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

@media (max-width: 720px) {
    .viewer4__controls {
        gap: 6px !important;
    }

    .viewer4__controls button[data-action="zoom-out"],
    .viewer4__controls button[data-action="zoom-reset"],
    .viewer4__controls button[data-action="zoom-in"] {
        min-width: 36px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer4__controls button[data-action="zoom-reset"] {
        min-width: 56px !important;
    }

    .viewer4__counter {
        min-width: 82px !important;
    }
}


/* =====================================================
   Viewer 4.4 — Final Glass Pro
   Финальный визуальный слой: глубина, статус, блики, мягкость.
   ===================================================== */

.viewer4 {
    --viewer4-accent: rgba(185,245,255,.72);
}

.viewer4::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.13), rgba(255,255,255,0) 34%),
        radial-gradient(circle at 15% 70%, rgba(185,245,255,.07), rgba(255,255,255,0) 28%),
        radial-gradient(circle at 85% 72%, rgba(255,255,255,.08), rgba(255,255,255,0) 30%) !important;
    z-index: 0 !important;
}

.viewer4__stage {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -1px 0 rgba(0,0,0,.18),
        0 26px 86px rgba(0,0,0,.34) !important;
}

.viewer4__card.active .viewer4__card-page {
    background:
        linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.58)),
        radial-gradient(circle at var(--viewer4-light-x) 0%, rgba(255,255,255,.35), rgba(255,255,255,0) 43%) !important;
    border-color: rgba(255,255,255,.78) !important;
}

.viewer4__card.active img {
    box-shadow:
        inset 0 0 14px rgba(255,255,255,.28),
        0 12px 30px rgba(0,0,0,.20) !important;
}

.viewer4__card:not(.active) {
    transform-origin: center center !important;
}

.viewer4__card:not(.active) .viewer4__card-page {
    box-shadow:
        0 18px 38px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.viewer4__card.near img {
    opacity: .70 !important;
}

.viewer4__status {
    position: fixed !important;
    left: 50% !important;
    top: clamp(12px, 2vh, 24px) !important;
    transform: translateX(-50%) !important;
    max-width: min(780px, calc(100vw - 40px)) !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: rgba(5,69,75,.62) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    z-index: 110 !important;
    pointer-events: none !important;
}

.viewer4.is-flowing .viewer4__status,
.viewer4.is-panning .viewer4__status {
    background: rgba(5,69,75,.78) !important;
    box-shadow:
        0 16px 38px rgba(0,0,0,.34),
        0 0 24px rgba(185,245,255,.18),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.viewer4-pulse .viewer4__card-page {
    animation: viewer4Pulse .42s ease-out;
}

@keyframes viewer4Pulse {
    0% {
        transform: scale(.985);
        box-shadow:
            0 0 0 2px rgba(185,245,255,.30),
            0 0 22px rgba(255,255,255,.42),
            0 30px 70px rgba(0,0,0,.42),
            inset 0 0 18px rgba(255,255,255,.40);
    }
    55% {
        transform: scale(1.012);
        box-shadow:
            0 0 0 3px rgba(185,245,255,.54),
            0 0 58px rgba(255,255,255,.72),
            0 44px 94px rgba(0,0,0,.54),
            inset 0 0 25px rgba(255,255,255,.54);
    }
    100% {
        transform: scale(1);
    }
}

.viewer4__controls {
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
}

.viewer4__hint {
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(5,69,75,.78)),
        rgba(5,69,75,.78) !important;
}

.viewer4__thumb.active span {
    color: #ffffff !important;
}

@media (max-width: 720px) {
    .viewer4__status {
        top: 8px !important;
        font-size: 11px !important;
        padding: 6px 12px !important;
    }
}


/* =====================================================
   Viewer 4.5 — Smart Documents
   Закладки, диагностика, индикаторы и улучшенный контроль.
   ===================================================== */

.viewer4__controls button[data-action="favorite"],
.viewer4__controls button[data-action="info"] {
    min-width: 42px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer4.has-favorite .viewer4__controls button[data-action="favorite"] {
    background:
        linear-gradient(135deg, rgba(255,255,255,.25), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.34),
        inset 0 1px 0 rgba(255,255,255,.26),
        0 8px 16px rgba(0,0,0,.20) !important;
}

.viewer4__fav-mark,
.viewer4__thumb-fav {
    display: none !important;
}

.viewer4__card.favorite .viewer4__fav-mark {
    display: block !important;
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 8 !important;
    color: #fff !important;
    background: rgba(5,69,75,.82) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 26px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.28),
        0 8px 18px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.viewer4__thumb.favorite .viewer4__thumb-fav {
    display: block !important;
    position: absolute !important;
    right: 6px !important;
    top: 5px !important;
    z-index: 4 !important;
    color: #fff !important;
    background: rgba(5,69,75,.78) !important;
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 19px !important;
    text-align: center !important;
    font-size: 11px !important;
    box-shadow: 0 5px 12px rgba(0,0,0,.24) !important;
}

.viewer4__thumb {
    position: relative !important;
}

.viewer4__thumb.favorite {
    border-color: rgba(185,245,255,.74) !important;
}

.viewer4__card.favorite.active .viewer4__card-page {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.50),
        0 0 54px rgba(185,245,255,.36),
        0 40px 92px rgba(0,0,0,.52),
        inset 0 0 24px rgba(255,255,255,.54) !important;
}

.viewer4__controls button[data-action="info"] {
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important;
    font-weight: 900 !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="favorite"],
    .viewer4__controls button[data-action="info"] {
        min-width: 34px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* =====================================================
   Viewer 4.6 — Professional Engine
   Кинетика, темы, адаптивная перспектива, devtools.
   ===================================================== */

.viewer4__controls button[data-action="theme"],
.viewer4__controls button[data-action="devtools"] {
    min-width: 58px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer4-theme-glass {
    filter: none;
}

.viewer4-theme-dark {
    background:
        radial-gradient(circle at 50% 36%, rgba(255,255,255,.07), rgba(0,0,0,0) 40%),
        linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.78) 58%, rgba(0,0,0,.94) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

.viewer4-theme-dark .viewer4__card.active .viewer4__card-page {
    background:
        linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.44)),
        radial-gradient(circle at var(--viewer4-light-x) 0%, rgba(255,255,255,.28), rgba(255,255,255,0) 43%) !important;
}

.viewer4-theme-light {
    background:
        radial-gradient(circle at 50% 30%, rgba(255,255,255,.30), rgba(255,255,255,0) 42%),
        linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.26) 46%, rgba(5,69,75,.62) 100%),
        url("../img/parallax0.webp") center center / cover fixed no-repeat !important;
}

.viewer4-theme-light .viewer4__hint,
.viewer4-theme-light .viewer4__controls,
.viewer4-theme-light .viewer4__thumbs,
.viewer4-theme-light .viewer4__status {
    background:
        linear-gradient(135deg, rgba(255,255,255,.26), rgba(5,69,75,.62)),
        rgba(5,69,75,.62) !important;
}

.viewer4__devtools {
    position: fixed !important;
    right: 16px !important;
    top: 16px !important;
    z-index: 130 !important;
    display: grid !important;
    gap: 4px !important;
    min-width: 130px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(0,0,0,.56) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.34) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    pointer-events: none !important;
}

.viewer4__devtools[hidden] {
    display: none !important;
}

.viewer4__devtools strong {
    font-size: 13px !important;
    margin-bottom: 2px !important;
}

.viewer4__stage.dragging .viewer4__card.active .viewer4__card-page {
    transform: translateZ(0) scale(1.008);
}

.viewer4__card {
    transition:
        transform .42s cubic-bezier(.18,.86,.2,1),
        opacity .28s ease,
        filter .28s ease !important;
}

.viewer4__stage.dragging .viewer4__card {
    transition: none !important;
}

.viewer4__card.near .viewer4__card-page {
    box-shadow:
        0 20px 44px rgba(0,0,0,.34),
        0 0 16px rgba(185,245,255,.10),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="theme"],
    .viewer4__controls button[data-action="devtools"] {
        min-width: 44px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer4__devtools {
        right: 8px !important;
        top: 8px !important;
        font-size: 10px !important;
        min-width: 104px !important;
    }
}


/* =====================================================
   Viewer 5.0 — Next Generation
   Adaptive quality, touch gestures, GPU layer polish.
   ===================================================== */

.viewer4.viewer5-quality-high .viewer4__stage {
    perspective: 2600px !important;
}

.viewer4.viewer5-quality-fast .viewer4__stage {
    perspective: 1800px !important;
}

.viewer4.viewer5-quality-fast .viewer4__card.far,
.viewer4.viewer5-quality-fast .viewer4__card.middle.far {
    opacity: 0 !important;
}

.viewer4.viewer5-quality-fast .viewer4__card,
.viewer4.viewer5-quality-fast .viewer4__track {
    transition-duration: .22s !important;
}

.viewer4.viewer5-quality-high .viewer4__card.active .viewer4__card-page {
    backdrop-filter: blur(16px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.22) !important;
}

.viewer4__controls button[data-action="quality"] {
    min-width: 58px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer4__stage {
    touch-action: none !important;
}

.viewer4__card-page {
    transform: translateZ(0);
}

.viewer4__card.active {
    transform-style: preserve-3d !important;
}

.viewer4__card.active .viewer4__card-page::before {
    opacity: .42 !important;
}

.viewer4.viewer5-quality-high .viewer4__card:not(.active) img {
    image-rendering: auto;
}

.viewer4.viewer5-quality-fast .viewer4__card:not(.active) img {
    filter: saturate(.92);
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="quality"] {
        min-width: 44px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* =====================================================
   Viewer 5.1 — Command Palette
   Палитра команд, история переходов, восстановление сессии.
   ===================================================== */

.viewer4__controls button[data-action="command"],
.viewer4__controls button[data-action="back"],
.viewer4__controls button[data-action="forward"] {
    min-width: 42px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer5-command {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30000 !important;
    display: grid !important;
    place-items: start center !important;
    padding-top: min(12vh, 90px) !important;
    background: rgba(0,0,0,.28) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.viewer5-command[hidden] {
    display: none !important;
}

.viewer5-command__box {
    width: min(680px, calc(100vw - 34px)) !important;
    max-height: min(70vh, 620px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.82)),
        rgba(5,69,75,.82) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow:
        0 24px 80px rgba(0,0,0,.44),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer5-command__input {
    width: 100% !important;
    height: 58px !important;
    padding: 0 22px !important;
    border: 0 !important;
    outline: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    background: rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
}

.viewer5-command__input::placeholder {
    color: rgba(255,255,255,.72) !important;
}

.viewer5-command__list {
    max-height: min(58vh, 500px) !important;
    overflow-y: auto !important;
    padding: 10px !important;
}

.viewer5-command__item {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #fff !important;
    font-weight: 850 !important;
    text-align: left !important;
}

.viewer5-command__item:hover,
.viewer5-command__item.active {
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.28) !important;
}

.viewer5-command__item kbd {
    min-width: 42px !important;
    padding: 4px 8px !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: rgba(0,0,0,.24) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="command"],
    .viewer4__controls button[data-action="back"],
    .viewer4__controls button[data-action="forward"] {
        min-width: 34px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer5-command {
        padding-top: 46px !important;
    }

    .viewer5-command__input {
        height: 50px !important;
        font-size: 15px !important;
    }
}


/* =====================================================
   Viewer 5.2 — Rendering Engine
   Scene layers, light/floor, improved cache-ready rendering.
   ===================================================== */

.viewer4 {
    --viewer52-light-x: 50%;
    --viewer52-light-y: 18%;
}

.viewer52-scene-ready .viewer4__stage {
    isolation: isolate !important;
}

.viewer52__light {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at var(--viewer52-light-x) var(--viewer52-light-y),
            rgba(255,255,255,.22),
            rgba(255,255,255,.06) 18%,
            rgba(255,255,255,0) 45%) !important;
    mix-blend-mode: screen !important;
    opacity: .78 !important;
    transition: background .18s ease !important;
}

.viewer52__floor {
    position: absolute !important;
    left: 8% !important;
    right: 8% !important;
    bottom: 1% !important;
    height: 22% !important;
    z-index: 0 !important;
    pointer-events: none !important;
    border-radius: 50% !important;
    background:
        radial-gradient(ellipse at center,
            rgba(255,255,255,.16),
            rgba(185,245,255,.08) 35%,
            rgba(0,0,0,0) 72%) !important;
    filter: blur(18px) !important;
    opacity: .58 !important;
}

.viewer52-scene-ready .viewer4__track {
    z-index: 3 !important;
}

.viewer52-scene-ready .viewer4__card.active .viewer4__card-page {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.42),
        0 0 52px rgba(255,255,255,.58),
        0 44px 96px rgba(0,0,0,.54),
        inset 0 0 26px rgba(255,255,255,.52) !important;
}

.viewer52-scene-ready .viewer4__card:not(.active) .viewer4__card-page {
    box-shadow:
        0 20px 44px rgba(0,0,0,.36),
        0 0 18px rgba(185,245,255,.08),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.viewer52-scene-ready .viewer4__card img {
    will-change: transform;
}

.viewer4__controls button,
.viewer4__thumb,
.viewer5-command__item {
    cursor: pointer !important;
}


/* =====================================================
   Viewer 5.3 — Hybrid Renderer
   GPU/CSS hybrid mode, depth layers, improved snap.
   ===================================================== */

.viewer4__controls button[data-action="hybrid"] {
    min-width: 54px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer53-hybrid .viewer4__card {
    transform-style: preserve-3d !important;
    transform-origin: center center !important;
    will-change: transform, opacity, filter !important;
}

.viewer53-hybrid .viewer4__track {
    transform: translate3d(0,0,0) !important;
    transform-style: preserve-3d !important;
}

.viewer53-layered .viewer4__card.depth-active {
    filter: none !important;
}

.viewer53-layered .viewer4__card.depth-near .viewer4__card-page {
    opacity: .96 !important;
}

.viewer53-layered .viewer4__card.depth-mid .viewer4__card-page {
    opacity: .82 !important;
}

.viewer53-layered .viewer4__card.depth-far .viewer4__card-page {
    opacity: .60 !important;
}

.viewer53-hybrid.viewer5-quality-high .viewer4__card.active .viewer4__card-page {
    box-shadow:
        0 0 0 2px rgba(185,245,255,.48),
        0 0 64px rgba(255,255,255,.62),
        0 50px 110px rgba(0,0,0,.58),
        inset 0 0 28px rgba(255,255,255,.55) !important;
}

.viewer53-hybrid .viewer4__card img {
    transform: translateZ(0.1px);
}

.viewer53-hybrid .viewer4__stage.dragging .viewer4__card {
    transition: none !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="hybrid"] {
        min-width: 42px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* =====================================================
   Viewer 5.4 — Search Index
   Живой поиск документов и индекс коллекции.
   ===================================================== */

.viewer4__controls button[data-action="search"] {
    min-width: 72px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.viewer54-search {
    position: fixed !important;
    inset: 0 !important;
    z-index: 31000 !important;
    display: grid !important;
    place-items: start center !important;
    padding-top: min(10vh, 78px) !important;
    background: rgba(0,0,0,.26) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}

.viewer54-search[hidden] {
    display: none !important;
}

.viewer54-search__box {
    width: min(760px, calc(100vw - 34px)) !important;
    max-height: min(76vh, 680px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.84)),
        rgba(5,69,75,.84) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow:
        0 24px 80px rgba(0,0,0,.44),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer54-search__top {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
}

.viewer54-search__input {
    flex: 1 1 auto !important;
    height: 48px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    outline: 0 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: rgba(255,255,255,.12) !important;
}

.viewer54-search__input::placeholder {
    color: rgba(255,255,255,.72) !important;
}

.viewer54-search__fav,
.viewer54-search__close {
    width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
    font-size: 18px !important;
}

.viewer54-search.favorites-only .viewer54-search__fav {
    background: rgba(185,245,255,.28) !important;
    box-shadow: 0 0 18px rgba(185,245,255,.32) !important;
}

.viewer54-search__list {
    max-height: min(64vh, 590px) !important;
    overflow-y: auto !important;
    padding: 10px !important;
}

.viewer54-search__item {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 54px 1fr 28px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 68px !important;
    padding: 8px !important;
    border-radius: 16px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #fff !important;
    text-align: left !important;
}

.viewer54-search__item:hover,
.viewer54-search__item.active {
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.28) !important;
}

.viewer54-search__item img {
    width: 48px !important;
    height: 54px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.82) !important;
}

.viewer54-search__text {
    min-width: 0 !important;
}

.viewer54-search__text strong,
.viewer54-search__text em {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.viewer54-search__text strong {
    font-size: 15px !important;
    font-weight: 900 !important;
}

.viewer54-search__text em {
    margin-top: 4px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
    font-style: normal !important;
}

.viewer54-search__star {
    opacity: 0 !important;
    text-align: center !important;
}

.viewer54-search__item.favorite .viewer54-search__star {
    opacity: 1 !important;
}

.viewer54-search__empty {
    padding: 24px !important;
    color: #fff !important;
    text-align: center !important;
    font-weight: 900 !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="search"] {
        min-width: 54px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer54-search {
        padding-top: 42px !important;
    }

    .viewer54-search__item {
        grid-template-columns: 46px 1fr 24px !important;
    }

    .viewer54-search__item img {
        width: 42px !important;
        height: 48px !important;
    }
}


/* =====================================================
   Viewer 5.5 — Annotations & Notes
   Локальные заметки к документам.
   ===================================================== */

.viewer4__controls button[data-action="notes"] {
    min-width: 42px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.viewer4__controls button[data-action="notes"].active {
    background:
        linear-gradient(135deg, rgba(255,255,255,.25), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.34),
        inset 0 1px 0 rgba(255,255,255,.26),
        0 8px 16px rgba(0,0,0,.20) !important;
}

.viewer55__note-mark,
.viewer55__thumb-note {
    display: none !important;
}

.viewer4__card.has-note .viewer55__note-mark {
    display: block !important;
    position: absolute !important;
    right: 48px !important;
    top: 14px !important;
    z-index: 8 !important;
    color: #fff !important;
    background: rgba(5,69,75,.82) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 26px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.28),
        0 8px 18px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.viewer4__thumb.has-note .viewer55__thumb-note {
    display: block !important;
    position: absolute !important;
    left: 6px !important;
    top: 5px !important;
    z-index: 4 !important;
    color: #fff !important;
    background: rgba(5,69,75,.78) !important;
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 19px !important;
    text-align: center !important;
    font-size: 11px !important;
    box-shadow: 0 5px 12px rgba(0,0,0,.24) !important;
}

.viewer55-notes {
    position: fixed !important;
    inset: 0 !important;
    z-index: 32000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.26) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}

.viewer55-notes[hidden] {
    display: none !important;
}

.viewer55-notes__box {
    width: min(680px, calc(100vw - 34px)) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.84)),
        rgba(5,69,75,.84) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow:
        0 24px 80px rgba(0,0,0,.44),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer55-notes__head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
    color: #fff !important;
}

.viewer55-notes__head strong {
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.viewer55-notes__head button {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
    font-size: 18px !important;
}

.viewer55-notes__text {
    display: block !important;
    width: calc(100% - 28px) !important;
    min-height: 240px !important;
    margin: 14px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    outline: 0 !important;
    resize: vertical !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.viewer55-notes__text::placeholder {
    color: rgba(255,255,255,.70) !important;
}

.viewer55-notes__actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 0 14px 14px !important;
}

.viewer55-notes__actions button {
    min-height: 38px !important;
    padding: 8px 16px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
}

.viewer55-notes__actions button[data-notes-action="save"] {
    background: rgba(7,84,91,.96) !important;
}

@media (max-width: 720px) {
    .viewer4__controls button[data-action="notes"] {
        min-width: 34px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer55-notes__text {
        min-height: 200px !important;
    }
}


/* =====================================================
   Viewer 5.6 — Professional Workspace
   Workspace, metadata, compare, bookmarks.
   ===================================================== */

.viewer4__controls button[data-action="meta"],
.viewer4__controls button[data-action="compare"],
.viewer4__controls button[data-action="bookmark"] {
    min-width: 78px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.viewer4__controls button[data-action="bookmark"].active {
    background:
        linear-gradient(135deg, rgba(255,255,255,.25), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.34),
        inset 0 1px 0 rgba(255,255,255,.26),
        0 8px 16px rgba(0,0,0,.20) !important;
}

.viewer4__card.bookmark .viewer4__card-page {
    border-color: rgba(185,245,255,.68) !important;
}

.viewer4__thumb.bookmark {
    border-color: rgba(185,245,255,.74) !important;
}

.viewer56-meta,
.viewer56-compare {
    position: fixed !important;
    inset: 0 !important;
    z-index: 33000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.28) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

.viewer56-meta[hidden],
.viewer56-compare[hidden] {
    display: none !important;
}

.viewer56-meta__box {
    width: min(720px, calc(100vw - 34px)) !important;
    max-height: min(78vh, 720px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.86)),
        rgba(5,69,75,.86) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer56-meta__head,
.viewer56-compare__head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
}

.viewer56-meta__head button,
.viewer56-compare__head button {
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
}

.viewer56-meta__body {
    max-height: min(62vh, 620px) !important;
    overflow: auto !important;
    padding: 16px !important;
    color: #fff !important;
}

.viewer56-meta__body dl {
    display: grid !important;
    grid-template-columns: 150px 1fr !important;
    gap: 10px 14px !important;
}

.viewer56-meta__body dt {
    color: rgba(255,255,255,.72) !important;
    font-weight: 900 !important;
}

.viewer56-meta__body dd {
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    font-weight: 800 !important;
}

.viewer56-compare {
    grid-template-rows: auto 1fr !important;
    align-items: stretch !important;
    color: #fff !important;
}

.viewer56-compare__head,
.viewer56-compare__body {
    width: min(1180px, calc(100vw - 34px)) !important;
    justify-self: center !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.84)),
        rgba(5,69,75,.84) !important;
    border-left: 1px solid rgba(255,255,255,.32) !important;
    border-right: 1px solid rgba(255,255,255,.32) !important;
}

.viewer56-compare__head {
    border-radius: 24px 24px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.32) !important;
}

.viewer56-compare__body {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 0 0 24px 24px !important;
    border-bottom: 1px solid rgba(255,255,255,.32) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.44) !important;
}

.viewer56-compare__body figure {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    gap: 8px !important;
}

.viewer56-compare__body img {
    width: 100% !important;
    height: min(68vh, 760px) !important;
    object-fit: contain !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.30) !important;
}

.viewer56-compare__body figcaption {
    color: #fff !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 820px) {
    .viewer4__controls button[data-action="meta"],
    .viewer4__controls button[data-action="compare"],
    .viewer4__controls button[data-action="bookmark"] {
        min-width: 58px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer56-compare__body {
        grid-template-columns: 1fr !important;
    }

    .viewer56-compare__body img {
        height: 36vh !important;
    }

    .viewer56-meta__body dl {
        grid-template-columns: 1fr !important;
    }
}


/* =====================================================
   Viewer 6.0 — Enterprise Edition
   Export, audit, enterprise shell based on Viewer 5.6.
   ===================================================== */

.viewer60-enterprise .viewer4__controls {
    box-shadow:
        0 14px 34px rgba(0,0,0,.36),
        0 0 22px rgba(185,245,255,.10),
        inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.viewer4__controls button[data-action="export"],
.viewer4__controls button[data-action="audit"] {
    min-width: 82px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.viewer60-audit {
    position: fixed !important;
    inset: 0 !important;
    z-index: 34000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.28) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

.viewer60-audit[hidden] {
    display: none !important;
}

.viewer60-audit__box {
    width: min(860px, calc(100vw - 34px)) !important;
    max-height: min(78vh, 720px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.86)),
        rgba(5,69,75,.86) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer60-audit__head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
}

.viewer60-audit__head button {
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
}

.viewer60-audit__body {
    max-height: min(62vh, 620px) !important;
    overflow: auto !important;
    padding: 12px !important;
}

.viewer60-audit__row {
    display: grid !important;
    grid-template-columns: 140px 190px 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    margin-bottom: 8px !important;
}

.viewer60-audit__row strong {
    color: #fff !important;
}

.viewer60-audit__row span {
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
}

.viewer60-audit__row code {
    color: rgba(255,255,255,.86) !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    font-family: Consolas, monospace !important;
    font-size: 12px !important;
}

.viewer60-audit__empty {
    padding: 24px !important;
    text-align: center !important;
    font-weight: 900 !important;
}

@media (max-width: 820px) {
    .viewer4__controls button[data-action="export"],
    .viewer4__controls button[data-action="audit"] {
        min-width: 58px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer60-audit__row {
        grid-template-columns: 1fr !important;
    }
}


/* =====================================================
   Viewer 6.1 — Enterprise OCR Engine
   OCR panel, text layer, full-text OCR search.
   ===================================================== */

.viewer4__controls button[data-action="ocr"],
.viewer4__controls button[data-action="textlayer"] {
    min-width: 62px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.viewer61-textlayer {
    position: fixed !important;
    left: 50% !important;
    top: 12% !important;
    transform: translateX(-50%) !important;
    z-index: 25000 !important;
    width: min(720px, calc(100vw - 36px)) !important;
    max-height: 56vh !important;
    overflow: auto !important;
    pointer-events: auto !important;
}

.viewer61-textlayer[hidden] {
    display: none !important;
}

.viewer61-textlayer__box,
.viewer61-textlayer__empty {
    color: #fff !important;
    border-radius: 20px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.84)),
        rgba(5,69,75,.84) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow: 0 18px 56px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}

.viewer61-textlayer__box {
    padding: 14px !important;
}

.viewer61-textlayer__box strong {
    display: block !important;
    margin-bottom: 10px !important;
}

.viewer61-textlayer__box pre {
    margin: 0 !important;
    white-space: pre-wrap !important;
    font: 14px/1.45 Consolas, "Courier New", monospace !important;
}

.viewer61-textlayer__empty {
    padding: 20px !important;
    text-align: center !important;
    font-weight: 900 !important;
}

.viewer61-ocrpanel,
.viewer61-textsearch {
    position: fixed !important;
    inset: 0 !important;
    z-index: 35000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.28) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

.viewer61-ocrpanel[hidden],
.viewer61-textsearch[hidden] {
    display: none !important;
}

.viewer61-ocrpanel__box,
.viewer61-textsearch__box {
    width: min(760px, calc(100vw - 34px)) !important;
    max-height: min(78vh, 740px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.86)),
        rgba(5,69,75,.86) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer61-ocrpanel__head,
.viewer61-textsearch__top {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
}

.viewer61-ocrpanel__head strong {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.viewer61-ocrpanel__head button,
.viewer61-textsearch__top button {
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
}

.viewer61-ocrpanel__text {
    display: block !important;
    width: calc(100% - 28px) !important;
    min-height: 260px !important;
    margin: 14px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    outline: 0 !important;
    resize: vertical !important;
    font: 14px/1.45 Consolas, "Courier New", monospace !important;
}

.viewer61-ocrpanel__actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 0 14px 14px !important;
    flex-wrap: wrap !important;
}

.viewer61-ocrpanel__actions button {
    min-height: 38px !important;
    padding: 8px 14px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
}

.viewer61-ocrpanel__actions button[data-ocr-action="save"] {
    background: rgba(7,84,91,.96) !important;
}

.viewer61-textsearch__input {
    flex: 1 1 auto !important;
    height: 44px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    outline: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: rgba(255,255,255,.12) !important;
}

.viewer61-textsearch__list {
    max-height: min(62vh, 590px) !important;
    overflow: auto !important;
    padding: 10px !important;
}

.viewer61-textsearch__item {
    display: block !important;
    width: 100% !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    text-align: left !important;
}

.viewer61-textsearch__item:hover,
.viewer61-textsearch__item.active {
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.28) !important;
}

.viewer61-textsearch__item strong,
.viewer61-textsearch__item span {
    display: block !important;
}

.viewer61-textsearch__item span {
    margin-top: 6px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.viewer61-textsearch__empty {
    padding: 24px !important;
    text-align: center !important;
    color: #fff !important;
    font-weight: 900 !important;
}

@media (max-width: 820px) {
    .viewer4__controls button[data-action="ocr"],
    .viewer4__controls button[data-action="textlayer"] {
        min-width: 48px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .viewer61-textlayer {
        top: 8% !important;
        max-height: 50vh !important;
    }
}


/* =====================================================
   Viewer 6.2 — Real OCR Engine
   Настоящий OCR через Tesseract.js.
   ===================================================== */

.viewer4__controls button[data-action="ocr-current"] {
    min-width: 62px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.viewer61-ocrpanel__actions button[data-ocr-action="recognize"],
.viewer61-ocrpanel__actions button[data-ocr-action="recognize-all"] {
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(7,84,91,.98)),
        rgba(7,84,91,.98) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.24),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.viewer61-ocrpanel__actions button[data-ocr-action="stop"] {
    background: rgba(110,45,45,.92) !important;
}

.viewer61-ocrpanel__text {
    min-height: 300px !important;
}

.viewer4__status {
    max-width: min(980px, calc(100vw - 40px)) !important;
}

@media (max-width: 820px) {
    .viewer4__controls button[data-action="ocr-current"] {
        min-width: 48px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Viewer 6.3 — Enterprise PDF Engine */
.viewer4__controls button[data-action="pdf-prev"],.viewer4__controls button[data-action="pdf-next"],.viewer4__controls button[data-action="pdf-search"],.viewer4__controls button[data-action="print"]{min-width:68px!important;padding-left:12px!important;padding-right:12px!important}
.viewer4__card.pdf figcaption::after{content:" · PDF";opacity:.82}
.viewer4__card.pdf .viewer4__card-page{border-color:rgba(185,245,255,.64)!important}
.viewer63-pdfsearch{position:fixed!important;inset:0!important;z-index:36000!important;display:grid!important;place-items:center!important;padding:18px!important;background:rgba(0,0,0,.28)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}
.viewer63-pdfsearch[hidden]{display:none!important}
.viewer63-pdfsearch__box{width:min(760px,calc(100vw - 34px))!important;max-height:min(78vh,740px)!important;overflow:hidden!important;border-radius:24px!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(5,69,75,.86)),rgba(5,69,75,.86)!important;border:1px solid rgba(255,255,255,.36)!important;box-shadow:0 24px 80px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.20)!important;backdrop-filter:blur(18px) saturate(1.18)!important;-webkit-backdrop-filter:blur(18px) saturate(1.18)!important}
.viewer63-pdfsearch__top{display:flex!important;align-items:center!important;gap:10px!important;padding:14px 16px!important;border-bottom:1px solid rgba(255,255,255,.20)!important}
.viewer63-pdfsearch__input{flex:1 1 auto!important;height:44px!important;padding:0 14px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.26)!important;outline:0!important;color:#fff!important;font-size:15px!important;font-weight:800!important;background:rgba(255,255,255,.12)!important}
.viewer63-pdfsearch__top button{min-width:38px!important;height:38px!important;border-radius:12px!important;color:#fff!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.30)!important;font-weight:900!important}
.viewer63-pdfsearch__list{max-height:min(62vh,590px)!important;overflow:auto!important;padding:10px!important}
.viewer63-pdfsearch__item{display:block!important;width:100%!important;padding:10px 12px!important;margin-bottom:8px!important;border-radius:14px!important;color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;text-align:left!important}
.viewer63-pdfsearch__item:hover{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.28)!important}
.viewer63-pdfsearch__item strong,.viewer63-pdfsearch__item span{display:block!important}
.viewer63-pdfsearch__item span{margin-top:6px!important;color:rgba(255,255,255,.78)!important;font-size:13px!important;line-height:1.35!important}
.viewer63-pdfsearch__empty{padding:24px!important;text-align:center!important;color:#fff!important;font-weight:900!important}
@media(max-width:820px){.viewer4__controls button[data-action="pdf-prev"],.viewer4__controls button[data-action="pdf-next"],.viewer4__controls button[data-action="pdf-search"],.viewer4__controls button[data-action="print"]{min-width:48px!important;padding-left:9px!important;padding-right:9px!important}}


/* =====================================================
   Viewer 6.3.1 — PDF Folder Fix
   PDF из documents/Diplom теперь определяется через documents.php.
   ===================================================== */

.viewer4__thumb.pdf::after {
    content: "PDF" !important;
    position: absolute !important;
    left: 6px !important;
    bottom: 24px !important;
    z-index: 6 !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(110, 45, 45, .92) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    box-shadow: 0 5px 12px rgba(0,0,0,.24) !important;
}

.viewer4__card.pdf .viewer4__card-page::before {
    opacity: .34 !important;
}

/* Viewer 6.3.2 — PDF Multipage Fix */
.viewer63-pdfpanel{position:fixed!important;left:50%!important;top:clamp(48px,7vh,78px)!important;transform:translateX(-50%)!important;z-index:24000!important;display:flex!important;align-items:center!important;gap:8px!important;max-width:min(980px,calc(100vw - 28px))!important;padding:8px 10px!important;border-radius:999px!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(5,69,75,.86)),rgba(5,69,75,.86)!important;border:1px solid rgba(255,255,255,.34)!important;box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(16px) saturate(1.15)!important;-webkit-backdrop-filter:blur(16px) saturate(1.15)!important}
.viewer63-pdfpanel[hidden]{display:none!important}
.viewer63-pdfpanel button{min-height:34px!important;padding:7px 13px!important;border-radius:999px!important;color:#fff!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.28)!important;font-weight:900!important;cursor:pointer!important}
.viewer63-pdfpanel button:disabled{opacity:.38!important;cursor:default!important}
.viewer63-pdfpanel__title{max-width:min(420px,36vw)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:900!important}
.viewer63-pdfpanel__counter{min-width:72px!important;text-align:center!important;font-weight:900!important;color:rgba(255,255,255,.88)!important}
.viewer4__card.pdf figcaption::after{content:""!important}
@media(max-width:760px){.viewer63-pdfpanel{top:42px!important;gap:5px!important;padding:6px!important}.viewer63-pdfpanel button{min-height:30px!important;padding:6px 9px!important;font-size:11px!important}.viewer63-pdfpanel__title{max-width:22vw!important;font-size:11px!important}.viewer63-pdfpanel__counter{min-width:52px!important;font-size:11px!important}}


/* =====================================================
   Viewer 6.4 — AI Assistant Foundation
   Локальный поиск по смыслу, краткие итоги, индекс коллекции.
   ===================================================== */

.viewer4__controls button[data-action="ai"] {
    min-width: 48px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
}

.viewer64-ai {
    position: fixed !important;
    inset: 0 !important;
    z-index: 37000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.30) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
}

.viewer64-ai[hidden] {
    display: none !important;
}

.viewer64-ai__box {
    width: min(860px, calc(100vw - 34px)) !important;
    max-height: min(82vh, 780px) !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(185,245,255,.18), rgba(255,255,255,0) 36%),
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    box-shadow:
        0 28px 90px rgba(0,0,0,.48),
        0 0 38px rgba(185,245,255,.12),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(20px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
}

.viewer64-ai__head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
}

.viewer64-ai__head strong {
    font-size: 18px !important;
    font-weight: 950 !important;
}

.viewer64-ai__head button,
.viewer64-ai__quick button,
.viewer64-ai__ask button {
    min-height: 38px !important;
    padding: 8px 14px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer64-ai__quick {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    padding: 12px 14px 0 !important;
}

.viewer64-ai__ask {
    display: flex !important;
    gap: 8px !important;
    padding: 12px 14px !important;
}

.viewer64-ai__input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    outline: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    background: rgba(255,255,255,.12) !important;
}

.viewer64-ai__input::placeholder {
    color: rgba(255,255,255,.70) !important;
}

.viewer64-ai__output {
    max-height: min(58vh, 560px) !important;
    overflow: auto !important;
    padding: 0 14px 14px !important;
}

.viewer64-ai__output section {
    padding: 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.viewer64-ai__output h3 {
    margin: 0 0 10px !important;
    color: #fff !important;
    font-size: 18px !important;
}

.viewer64-ai__output p {
    margin: 8px 0 !important;
    color: rgba(255,255,255,.88) !important;
    line-height: 1.45 !important;
}

.viewer64-ai__result {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    text-align: left !important;
}

.viewer64-ai__result:hover {
    background: rgba(255,255,255,.17) !important;
    border-color: rgba(255,255,255,.30) !important;
}

.viewer64-ai__result strong,
.viewer64-ai__result span,
.viewer64-ai__result em {
    display: block !important;
}

.viewer64-ai__result span {
    margin-top: 4px !important;
    color: rgba(185,245,255,.86) !important;
    font-size: 12px !important;
}

.viewer64-ai__result em {
    margin-top: 6px !important;
    color: rgba(255,255,255,.78) !important;
    font-style: normal !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    .viewer64-ai__ask {
        flex-direction: column !important;
    }

    .viewer64-ai__quick button {
        flex: 1 1 auto !important;
    }
}

/* Viewer 6.5 — Knowledge Graph Engine */
.viewer4__controls button[data-action="kg"]{min-width:64px!important;padding-left:14px!important;padding-right:14px!important;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(7,84,91,.96)),rgba(7,84,91,.96)!important}
.viewer4__thumb.kg-related{box-shadow:0 0 0 2px rgba(185,245,255,.72),0 0 22px rgba(185,245,255,.36),0 10px 22px rgba(0,0,0,.28)!important}
.viewer4__card.kg-related .viewer4__card-page{border-color:rgba(185,245,255,.72)!important}
.viewer65-kg{position:fixed!important;inset:0!important;z-index:38000!important;display:grid!important;place-items:center!important;padding:18px!important;background:rgba(0,0,0,.32)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
.viewer65-kg[hidden]{display:none!important}
.viewer65-kg__box{width:min(1160px,calc(100vw - 34px))!important;max-height:min(86vh,820px)!important;overflow:hidden!important;border-radius:26px!important;color:#fff!important;background:radial-gradient(circle at 20% 0%,rgba(185,245,255,.18),rgba(255,255,255,0) 36%),linear-gradient(135deg,rgba(255,255,255,.20),rgba(5,69,75,.88)),rgba(5,69,75,.88)!important;border:1px solid rgba(255,255,255,.38)!important;box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 38px rgba(185,245,255,.12),inset 0 1px 0 rgba(255,255,255,.22)!important;backdrop-filter:blur(20px) saturate(1.2)!important;-webkit-backdrop-filter:blur(20px) saturate(1.2)!important}
.viewer65-kg__head,.viewer65-kg__search{display:flex!important;align-items:center!important;gap:10px!important;padding:14px 16px!important;border-bottom:1px solid rgba(255,255,255,.20)!important}
.viewer65-kg__head strong{flex:1 1 auto!important;font-size:18px!important;font-weight:950!important}
.viewer65-kg__head button,.viewer65-kg__search button{min-height:38px!important;padding:8px 14px!important;border-radius:14px!important;color:#fff!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.30)!important;font-weight:900!important;cursor:pointer!important}
.viewer65-kg__search input{flex:1 1 auto!important;min-width:0!important;height:42px!important;padding:0 14px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.26)!important;outline:0!important;color:#fff!important;font-size:15px!important;font-weight:800!important;background:rgba(255,255,255,.12)!important}
.viewer65-kg__layout{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;gap:12px!important;padding:14px!important;max-height:min(68vh,680px)!important;overflow:hidden!important}
.viewer65-kg__graph,.viewer65-kg__related{min-height:0!important;overflow:auto!important;border-radius:20px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important}
.viewer65-kg__graph{display:grid!important;place-items:center!important;padding:10px!important}
.viewer65-graph-svg{width:100%!important;height:auto!important;max-height:58vh!important}
.viewer65-graph-node circle{fill:rgba(185,245,255,.78)!important;stroke:rgba(255,255,255,.85)!important;stroke-width:2!important;cursor:pointer!important}
.viewer65-graph-node circle.active{fill:rgba(255,255,255,.96)!important;stroke:rgba(185,245,255,.98)!important;filter:drop-shadow(0 0 10px rgba(185,245,255,.80))!important}
.viewer65-graph-node text{fill:#fff!important;font-size:13px!important;font-weight:900!important;pointer-events:none!important}
.viewer65-kg__related{padding:12px!important}
.viewer65-kg__related h3{margin:0 0 12px!important;color:#fff!important;font-size:16px!important}
.viewer65-kg__item{display:block!important;width:100%!important;margin:0 0 8px!important;padding:10px 12px!important;border-radius:14px!important;color:#fff!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.16)!important;text-align:left!important;cursor:pointer!important}
.viewer65-kg__item:hover{background:rgba(255,255,255,.17)!important;border-color:rgba(255,255,255,.30)!important}
.viewer65-kg__item strong,.viewer65-kg__item span,.viewer65-kg__item em{display:block!important}
.viewer65-kg__item span{margin-top:4px!important;color:rgba(185,245,255,.86)!important;font-size:12px!important}
.viewer65-kg__item em{margin-top:6px!important;color:rgba(255,255,255,.78)!important;font-style:normal!important;line-height:1.35!important}
@media(max-width:860px){.viewer65-kg__layout{grid-template-columns:1fr!important;overflow:auto!important}.viewer65-kg__search{flex-direction:column!important;align-items:stretch!important}}


/* =====================================================
   Viewer 6.5.1 — Knowledge Graph Visible
   Видимый блок на странице + плавающая кнопка KG.
   ===================================================== */

.viewer65-launch {
    width: min(1180px, calc(100% - 30px)) !important;
    margin: 26px auto !important;
    border-radius: 26px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(185,245,255,.20), rgba(255,255,255,0) 34%),
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow:
        0 22px 70px rgba(0,0,0,.28),
        0 0 34px rgba(185,245,255,.10),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer65-launch__inner {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px !important;
}

.viewer65-launch h3 {
    margin: 0 0 6px !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 950 !important;
}

.viewer65-launch p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-weight: 700 !important;
}

.viewer65-launch__stats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

.viewer65-launch__stats span {
    padding: 7px 11px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.viewer65-launch button,
.viewer65-kg-badge {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow:
        0 12px 26px rgba(0,0,0,.24),
        0 0 18px rgba(185,245,255,.18) !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.viewer65-kg-badge {
    position: fixed !important;
    right: 18px !important;
    top: 86px !important;
    z-index: 24500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

.viewer65-kg-badge strong {
    display: inline-grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.18) !important;
}

.viewer65-kg__hint {
    flex: 1 1 auto !important;
    color: rgba(255,255,255,.72) !important;
    font-weight: 800 !important;
}

.viewer65-kg__mini {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: -4px 0 12px !important;
}

.viewer65-kg__mini span {
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

@media (max-width: 820px) {
    .viewer65-launch__inner {
        grid-template-columns: 1fr !important;
    }

    .viewer65-launch__stats {
        justify-content: flex-start !important;
    }

    .viewer65-kg-badge {
        right: 10px !important;
        top: 76px !important;
        padding: 8px 10px !important;
    }
}


/* =====================================================
   Viewer 6.5.2 — Persistent PDF Search
   Постоянный поиск, подсветка и переход между найденными словами.
   ===================================================== */











.viewer652-pdfhighlight {
    position: fixed !important;
    z-index: 23950 !important;
    pointer-events: none !important;
}











.viewer63-pdfsearch__top button[data-pdfsearch-run] {
    min-width: 68px !important;
}



@media (max-width: 760px) {
    .viewer652-pdfsearchbar {
        top: 82px !important;
        gap: 5px !important;
        padding: 6px !important;
    }

    .viewer652-pdfsearchbar__query {
        max-width: 26vw !important;
        font-size: 11px !important;
    }

    .viewer652-pdfsearchbar button {
        padding: 5px 8px !important;
        font-size: 11px !important;
    }
}


/* =====================================================
   Viewer 6.5.3 — PDF TextLayer Highlight Fix
   Подсветка теперь привязана к настоящим текстовым span PDF.js.
   ===================================================== */

.viewer652-pdfhighlight {
    display: none !important;
}

.viewer653-pdf-textlayer {
    position: fixed !important;
    z-index: 23960 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
}

.viewer653-pdf-textlayer[hidden] {
    display: none !important;
}

.viewer653-pdf-text {
    position: absolute !important;
    display: block !important;
    color: transparent !important;
    white-space: pre !important;
    transform-origin: 0 0 !important;
    line-height: 1 !important;
    border-radius: 3px !important;
}

.viewer653-pdf-text.match {
    background: rgba(255, 235, 59, .42) !important;
    outline: 1px solid rgba(255, 214, 0, .72) !important;
    box-shadow:
        0 0 10px rgba(255,235,59,.30),
        inset 0 0 0 1px rgba(255,255,255,.16) !important;
}

.viewer653-pdf-text.active {
    background: rgba(255, 152, 0, .60) !important;
    outline: 2px solid rgba(255, 245, 157, .95) !important;
    box-shadow:
        0 0 18px rgba(255,152,0,.58),
        0 0 0 2px rgba(255,255,255,.34) !important;
}


/* =====================================================
   Viewer 6.5.4 — PDF Highlight Reliable
   Яркая подсветка поверх видимой PDF-страницы.
   ===================================================== */

.viewer653-pdf-textlayer,
.viewer652-pdfhighlight {
    display: none !important;
}

.viewer654-pdfhighlight-layer {
    position: fixed !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    overflow: visible !important;
}

.viewer654-pdfhighlight-layer[hidden] {
    display: none !important;
}

.viewer654-pdfhighlight-mark {
    position: absolute !important;
    display: block !important;
    border-radius: 5px !important;
    background: rgba(255, 235, 59, .62) !important;
    border: 2px solid rgba(255, 214, 0, .92) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.28),
        0 0 16px rgba(255,235,59,.56),
        inset 0 0 0 1px rgba(255,255,255,.22) !important;
    mix-blend-mode: multiply !important;
}

.viewer654-pdfhighlight-mark.active {
    background: rgba(255, 152, 0, .78) !important;
    border: 3px solid rgba(255, 255, 255, .95) !important;
    box-shadow:
        0 0 0 2px rgba(255,152,0,.72),
        0 0 24px rgba(255,152,0,.82),
        inset 0 0 0 1px rgba(255,255,255,.32) !important;
    mix-blend-mode: normal !important;
}

.viewer654-pdfhighlight-mark.fallback {
    opacity: .88 !important;
}


/* =====================================================
   Viewer 6.5.5 — PDF Search Accurate Navigation
   Точная подсветка + переход по двойному щелчку в таблице.
   ===================================================== */

.viewer652-pdfhighlight,
.viewer653-pdf-textlayer,
.viewer654-pdfhighlight-layer {
    display: none !important;
}

.viewer655-pdfhighlight-layer {
    position: fixed !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.viewer655-pdfhighlight-layer[hidden] {
    display: none !important;
}

.viewer655-pdfhighlight-mark {
    position: absolute !important;
    display: block !important;
    border-radius: 3px !important;
    background: rgba(255, 235, 59, .50) !important;
    border: 1px solid rgba(255, 214, 0, .85) !important;
    box-shadow:
        0 0 10px rgba(255,235,59,.32),
        inset 0 0 0 1px rgba(255,255,255,.18) !important;
    mix-blend-mode: multiply !important;
}

.viewer655-pdfhighlight-mark.active {
    background: rgba(255, 152, 0, .72) !important;
    border: 2px solid rgba(255,255,255,.95) !important;
    box-shadow:
        0 0 0 2px rgba(255,152,0,.60),
        0 0 22px rgba(255,152,0,.74) !important;
    mix-blend-mode: normal !important;
}

/* В таблице поиска не показываем "метки" подсветки — только спокойное выделение строки. */
.viewer63-pdfsearch__item.active {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.14) !important;
    box-shadow: none !important;
}

.viewer63-pdfsearch__item.selected {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.34) !important;
    box-shadow: none !important;
}

.viewer63-pdfsearch__item.selected strong::after {
    content: "  • двойной щелчок для перехода" !important;
    color: rgba(185,245,255,.82) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}


/* =====================================================
   Viewer 6.5.6 — PDF Search No Marks + Context
   Без цветных меток в таблице и PDF.
   Таблица показывает совпадение с двумя соседними словами.
   ===================================================== */



.viewer63-pdfsearch__item,
.viewer63-pdfsearch__item.active,
.viewer63-pdfsearch__item.selected,
.viewer656-pdfsearch__row,
.viewer656-pdfsearch__row.selected {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.viewer63-pdfsearch__item:hover,
.viewer656-pdfsearch__row:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.24) !important;
    box-shadow: none !important;
}

.viewer63-pdfsearch__item.selected {
    background: rgba(255,255,255,.11) !important;
    border-color: rgba(255,255,255,.28) !important;
}



.viewer656-pdfsearch__hint {
    padding: 8px 14px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.viewer656-pdfsearch__row span {
    font-size: 14px !important;
    color: rgba(255,255,255,.86) !important;
    line-height: 1.42 !important;
}

.viewer656-pdfsearch__row strong {
    color: rgba(255,255,255,.96) !important;
}


/* =====================================================
   Viewer 6.6 — Enterprise Analytics
   Аналитика, статистика, временные линии и отчёты.
   ===================================================== */

.viewer4__controls button[data-action="analytics"] {
    min-width: 92px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(5,69,75,.96)),
        rgba(5,69,75,.96) !important;
}

.viewer66-analytics {
    position: fixed !important;
    inset: 0 !important;
    z-index: 39000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.34) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.viewer66-analytics[hidden] {
    display: none !important;
}

.viewer66-analytics__box {
    width: min(1180px, calc(100vw - 34px)) !important;
    max-height: min(88vh, 840px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(185,245,255,.18), rgba(255,255,255,0) 36%),
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(5,69,75,.90)),
        rgba(5,69,75,.90) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    box-shadow:
        0 30px 96px rgba(0,0,0,.52),
        0 0 42px rgba(185,245,255,.12),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
    backdrop-filter: blur(22px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.22) !important;
}

.viewer66-analytics__head,
.viewer66-analytics__tabs {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
}

.viewer66-analytics__head strong {
    flex: 1 1 auto !important;
    font-size: 19px !important;
    font-weight: 950 !important;
}

.viewer66-analytics button {
    min-height: 38px !important;
    padding: 8px 14px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer66-analytics__body {
    max-height: min(68vh, 690px) !important;
    overflow: auto !important;
    padding: 14px !important;
}

.viewer66-cards {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(120px, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.viewer66-card {
    padding: 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
}

.viewer66-card span {
    display: block !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer66-card strong {
    display: block !important;
    margin-top: 7px !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 950 !important;
}

.viewer66-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
}

.viewer66-table {
    padding: 12px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.viewer66-table h3 {
    margin: 0 0 10px !important;
    color: #fff !important;
}

.viewer66-table table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.viewer66-table td {
    padding: 7px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.88) !important;
}

.viewer66-table td:last-child {
    text-align: right !important;
    font-weight: 900 !important;
}

.viewer66-timeline section {
    margin-bottom: 14px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.viewer66-timeline h3 {
    margin: 0 0 10px !important;
    color: #fff !important;
}

.viewer66-timeline button {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: left !important;
}

.viewer66-timeline button strong,
.viewer66-timeline button span {
    display: block !important;
}

.viewer66-timeline button span {
    margin-top: 4px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
}

.viewer66-report {
    margin: 0 !important;
    padding: 14px !important;
    min-height: 420px !important;
    white-space: pre-wrap !important;
    color: #fff !important;
    border-radius: 18px !important;
    background: rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    font: 14px/1.45 Consolas, "Courier New", monospace !important;
}

@media (max-width: 900px) {
    .viewer66-cards,
    .viewer66-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .viewer66-analytics__tabs {
        flex-wrap: wrap !important;
    }
}

@media (max-width: 620px) {
    .viewer66-cards,
    .viewer66-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =====================================================
   Viewer 6.6.1 — Vertical Text Toolbar
   Правая вертикальная ленточка для текстовых инструментов.
   ===================================================== */

.viewer661-textbar {
    position: fixed !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 25050 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 8px !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow:
        0 18px 48px rgba(0,0,0,.34),
        0 0 24px rgba(185,245,255,.12),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer661-textbar button {
    width: 86px !important;
    min-height: 38px !important;
    padding: 7px 9px !important;
    border-radius: 15px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.viewer661-textbar button:hover {
    background: rgba(255,255,255,.20) !important;
    border-color: rgba(255,255,255,.38) !important;
}

.viewer661-textbar button.active {
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    border-color: rgba(185,245,255,.54) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.28),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.viewer661-textbar button.disabled,
.viewer661-textbar button:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

/* Разгружаем нижнюю панель: текстовые инструменты теперь справа. */
.viewer4__controls button[data-action="search"],
.viewer4__controls button[data-action="pdf-search"],
.viewer4__controls button[data-action="ocr"],
.viewer4__controls button[data-action="ocr-current"],
.viewer4__controls button[data-action="textlayer"],
.viewer4__controls button[data-action="notes"],
.viewer4__controls button[data-action="ai"],
.viewer4__controls button[data-action="kg"],
.viewer4__controls button[data-action="analytics"] {
    display: none !important;
}

/* PDF-панель оставляем рабочей, но убираем дублирующие текстовые команды. */


@media (max-width: 820px) {
    .viewer661-textbar {
        right: 8px !important;
        gap: 5px !important;
        padding: 6px !important;
        border-radius: 18px !important;
    }

    .viewer661-textbar button {
        width: 58px !important;
        min-height: 32px !important;
        padding: 5px 6px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 520px) {
    .viewer661-textbar {
        top: auto !important;
        right: 8px !important;
        bottom: 92px !important;
        transform: none !important;
        max-height: 48vh !important;
        overflow: auto !important;
    }
}


/* =====================================================
   Viewer 6.6.2 — Split Toolbars
   Правая панель: Поиск → Печать.
   Нижняя панель: остальные общие кнопки.
   ===================================================== */

/* Отключаем оформление старой версии, если оно осталось в каскаде. */
.viewer661-textbar {
    display: none !important;
}

.viewer662-textbar {
    position: fixed !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 25060 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 8px !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow:
        0 18px 48px rgba(0,0,0,.34),
        0 0 24px rgba(185,245,255,.12),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.viewer662-textbar__title {
    padding: 4px 6px 2px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.viewer662-textbar button {
    width: 92px !important;
    min-height: 38px !important;
    padding: 7px 9px !important;
    border-radius: 15px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.viewer662-textbar button:hover {
    background: rgba(255,255,255,.20) !important;
    border-color: rgba(255,255,255,.38) !important;
}

.viewer662-textbar button.active {
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(16,124,132,.96)),
        rgba(16,124,132,.96) !important;
    border-color: rgba(185,245,255,.54) !important;
    box-shadow:
        0 0 18px rgba(185,245,255,.28),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.viewer662-textbar button.disabled,
.viewer662-textbar button:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

/*
   Разделение:
   эти кнопки перенесены на правую вертикальную панель,
   поэтому в нижней ленте они скрываются.
*/
.viewer4__controls button[data-action="search"],
.viewer4__controls button[data-action="pdf-search"],
.viewer4__controls button[data-action="ocr"],
.viewer4__controls button[data-action="ocr-current"],
.viewer4__controls button[data-action="textlayer"],
.viewer4__controls button[data-action="notes"],
.viewer4__controls button[data-action="ai"],
.viewer4__controls button[data-action="kg"],
.viewer4__controls button[data-action="analytics"],
.viewer4__controls button[data-action="print"] {
    display: none !important;
}

/*
   Но остальные кнопки нижней панели остаются:
   назад/вперёд, масштаб, полный экран, избранное,
   метаданные, сравнение, метка, экспорт, журнал и т.д.
*/

/* PDF-панель оставляем компактной: поиск и переходы по словам теперь справа/в окне поиска. */
.viewer63-pdfpanel button[data-pdf-panel-search],
.viewer63-pdfpanel button[data-pdf-search-prev],
.viewer63-pdfpanel button[data-pdf-search-next],
.viewer63-pdfpanel button[data-pdf-search-clear] {
    display: none !important;
}

@media (max-width: 820px) {
    .viewer662-textbar {
        right: 8px !important;
        gap: 5px !important;
        padding: 6px !important;
        border-radius: 18px !important;
    }

    .viewer662-textbar button {
        width: 66px !important;
        min-height: 32px !important;
        padding: 5px 6px !important;
        font-size: 10px !important;
    }

    .viewer662-textbar__title {
        font-size: 9px !important;
    }
}

@media (max-width: 520px) {
    .viewer662-textbar {
        top: auto !important;
        right: 8px !important;
        bottom: 92px !important;
        transform: none !important;
        max-height: 48vh !important;
        overflow: auto !important;
    }
}

/* Viewer 6.7 — Three Toolbars */
.viewer661-textbar,.viewer662-textbar{display:none!important}
.viewer67-toolbar{position:fixed!important;top:50%!important;transform:translateY(-50%)!important;z-index:25070!important;display:flex!important;flex-direction:column!important;gap:7px!important;padding:8px!important;border-radius:22px!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(5,69,75,.88)),rgba(5,69,75,.88)!important;border:1px solid rgba(255,255,255,.34)!important;box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 24px rgba(185,245,255,.12),inset 0 1px 0 rgba(255,255,255,.20)!important;backdrop-filter:blur(18px) saturate(1.18)!important;-webkit-backdrop-filter:blur(18px) saturate(1.18)!important}
.viewer67-toolbar--left{left:14px!important}.viewer67-toolbar--right{right:14px!important}
.viewer67-toolbar__title{padding:4px 6px 2px!important;color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:950!important;text-align:center!important;text-transform:uppercase!important;letter-spacing:.06em!important}
.viewer67-toolbar button{width:94px!important;min-height:38px!important;padding:7px 9px!important;border-radius:15px!important;color:#fff!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;white-space:nowrap!important}
.viewer67-toolbar button:hover{background:rgba(255,255,255,.20)!important;border-color:rgba(255,255,255,.38)!important}
.viewer67-toolbar button.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(16,124,132,.96)),rgba(16,124,132,.96)!important;border-color:rgba(185,245,255,.54)!important;box-shadow:0 0 18px rgba(185,245,255,.28),inset 0 1px 0 rgba(255,255,255,.20)!important}
.viewer67-toolbar button.disabled,.viewer67-toolbar button:disabled{opacity:.42!important;cursor:default!important}

/* Нижняя панель — только просмотрщик. */
.viewer4__controls button[data-action="search"],
.viewer4__controls button[data-action="pdf-search"],
.viewer4__controls button[data-action="ocr"],
.viewer4__controls button[data-action="ocr-current"],
.viewer4__controls button[data-action="textlayer"],
.viewer4__controls button[data-action="notes"],
.viewer4__controls button[data-action="ai"],
.viewer4__controls button[data-action="kg"],
.viewer4__controls button[data-action="analytics"],
.viewer4__controls button[data-action="print"],
.viewer4__controls button[data-action="meta"],
.viewer4__controls button[data-action="compare"],
.viewer4__controls button[data-action="bookmark"],
.viewer4__controls button[data-action="export"],
.viewer4__controls button[data-action="audit"]{display:none!important}
.viewer63-pdfpanel button[data-pdf-panel-search],
.viewer63-pdfpanel button[data-pdf-search-prev],
.viewer63-pdfpanel button[data-pdf-search-next],
.viewer63-pdfpanel button[data-pdf-search-clear]{display:none!important}

@media(max-width:920px){.viewer67-toolbar button{width:72px!important;min-height:34px!important;padding:6px 7px!important;font-size:10px!important}.viewer67-toolbar--left{left:8px!important}.viewer67-toolbar--right{right:8px!important}}
@media(max-width:620px){.viewer67-toolbar{top:auto!important;transform:none!important;max-height:40vh!important;overflow:auto!important;gap:5px!important;padding:6px!important;border-radius:18px!important}.viewer67-toolbar--left{left:8px!important;bottom:92px!important}.viewer67-toolbar--right{right:8px!important;bottom:92px!important}.viewer67-toolbar button{width:58px!important;min-height:30px!important;padding:5px!important;font-size:9px!important}.viewer67-toolbar__title{font-size:8px!important}}


/* =====================================================
   Viewer 6.7.1 — PDF Search 6.5.2 Model
   Возврат архитектуры Viewer6_5_2_Persistent_PDF_Search:
   постоянный поиск, панель результатов, навигация, подсветка.
   ===================================================== */

.viewer656-pdfhighlight-disabled,
.viewer655-pdfhighlight-layer,
.viewer654-pdfhighlight-layer,
.viewer653-pdf-textlayer {
    display: none !important;
}

.viewer652-pdfhighlight {
    position: fixed !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    display: block !important;
}

.viewer652-pdfhighlight[hidden] {
    display: none !important;
}

.viewer652-pdfhighlight__mark {
    position: absolute !important;
    display: block !important;
    border-radius: 4px !important;
    background: rgba(255, 235, 59, .42) !important;
    border: 1px solid rgba(255, 214, 0, .78) !important;
    box-shadow:
        0 0 10px rgba(255,235,59,.32),
        inset 0 0 0 1px rgba(255,255,255,.18) !important;
}

.viewer652-pdfhighlight__mark.active {
    background: rgba(255, 152, 0, .58) !important;
    border-color: rgba(255, 245, 157, .95) !important;
    box-shadow:
        0 0 18px rgba(255,152,0,.58),
        0 0 0 2px rgba(255,255,255,.34) !important;
}

.viewer652-pdfsearchbar {
    position: fixed !important;
    left: 50% !important;
    top: clamp(96px, 13vh, 134px) !important;
    transform: translateX(-50%) !important;
    z-index: 24600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: min(980px, calc(100vw - 28px)) !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(92,78,8,.88)),
        rgba(92,78,8,.88) !important;
    border: 1px solid rgba(255,235,130,.46) !important;
    box-shadow:
        0 18px 46px rgba(0,0,0,.34),
        0 0 24px rgba(255,220,80,.18),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}

.viewer652-pdfsearchbar[hidden] {
    display: none !important;
}

.viewer652-pdfsearchbar button,
.viewer652-pdfsearch__nav button {
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer652-pdfsearchbar__query {
    max-width: min(420px, 38vw) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-weight: 950 !important;
}

.viewer652-pdfsearchbar__count {
    min-width: 66px !important;
    text-align: center !important;
    font-weight: 950 !important;
    color: rgba(255,255,255,.90) !important;
}

.viewer652-pdfsearch__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.viewer652-pdfsearch__nav span {
    min-width: 70px !important;
    text-align: center !important;
    font-weight: 950 !important;
    color: rgba(255,255,255,.90) !important;
}

.viewer63-pdfsearch__item.active {
    background: rgba(255, 235, 59, .18) !important;
    border-color: rgba(255,235,130,.46) !important;
    box-shadow: 0 0 18px rgba(255,235,59,.16) !important;
}

.viewer63-pdfsearch__item.selected strong::after {
    content: "" !important;
}



/* =====================================================
   Viewer 6.7.2 — PDF Search New Architecture
   Постоянный поиск, контекст, двойной щелчок для перехода.
   ===================================================== */

.viewer652-pdfhighlight,
.viewer653-pdf-textlayer,
.viewer654-pdfhighlight-layer,
.viewer655-pdfhighlight-layer,
.viewer656-pdfhighlight-disabled {
    display: none !important;
}

.viewer672-pdfsearchbar {
    position: fixed !important;
    left: 50% !important;
    top: clamp(96px, 13vh, 134px) !important;
    transform: translateX(-50%) !important;
    z-index: 24600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: min(980px, calc(100vw - 28px)) !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.88)),
        rgba(5,69,75,.88) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow:
        0 18px 46px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}

.viewer672-pdfsearchbar[hidden] {
    display: none !important;
}

.viewer672-pdfsearchbar button,
.viewer672-pdfsearch__nav button {
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer672-pdfsearchbar__query {
    max-width: min(420px, 38vw) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-weight: 950 !important;
}

.viewer672-pdfsearchbar__count {
    min-width: 66px !important;
    text-align: center !important;
    font-weight: 950 !important;
}

.viewer672-pdfsearch__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.viewer672-pdfsearch__nav span {
    min-width: 70px !important;
    text-align: center !important;
    font-weight: 950 !important;
    color: rgba(255,255,255,.90) !important;
}

.viewer672-pdfsearch__hint {
    padding: 8px 14px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.viewer672-pdfsearch__row,
.viewer672-pdfsearch__row.active,
.viewer672-pdfsearch__row.selected {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.viewer672-pdfsearch__row:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.24) !important;
}

.viewer672-pdfsearch__row.selected {
    background: rgba(185,245,255,.13) !important;
    border-color: rgba(185,245,255,.34) !important;
}

.viewer672-pdfsearch__row.selected strong::after {
    content: "" !important;
}

.viewer672-pdfsearch__row span {
    font-size: 14px !important;
    color: rgba(255,255,255,.86) !important;
    line-height: 1.42 !important;
}

.viewer672-pdfhighlight {
    position: fixed !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.viewer672-pdfhighlight[hidden] {
    display: none !important;
}

.viewer672-pdfhighlight__mark {
    position: absolute !important;
    display: block !important;
    border-radius: 3px !important;
    outline: 2px solid rgba(255, 214, 0, .86) !important;
    background: rgba(255, 235, 59, .16) !important;
    box-shadow: 0 0 10px rgba(255,235,59,.20) !important;
}

.viewer672-pdfhighlight__mark.active {
    outline: 3px solid rgba(255,255,255,.96) !important;
    background: rgba(255,152,0,.26) !important;
    box-shadow:
        0 0 0 2px rgba(255,152,0,.58),
        0 0 22px rgba(255,152,0,.52) !important;
}


/* =====================================================
   Viewer 6.7.3 — PDF Search Restored
   Восстановление открытия поиска PDF через правую панель и Ctrl+F.
   ===================================================== */

.viewer67-toolbar--right .viewer91-paragraph-marker {
    left: -40px !important;
}


/* =====================================================
   Viewer 9.8 — one search icon only
   Убрана вторая лупа через CSS pseudo-element.
   ===================================================== */

button[data-right-tool="pdf-search"]::before,
button[data-tool="pdf-search"]::before,
button[data-command="pdf-search"]::before,
button[data-right-tool="search"]::before,
button[data-tool="search"]::before,
button[data-command="search"]::before {
    content: none !important;
}


/* =====================================================
   Viewer 9.8 — accurate paragraph + one magnifier icon
   ===================================================== */






/* =====================================================
   Viewer 9.9 — restore PDF search table + status line
   Таблица как раньше: номер/страница + контекст.
   Строка информации: Проверка: стр. N, абз. M   5 / 42.
   ===================================================== */

/* Восстановленный вид строк результатов */
.viewer99-search-row,
.viewer99-search-row.active,
.viewer99-search-row.selected {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 0 9px 0 !important;
    border-radius: 16px !important;
    text-align: left !important;
    cursor: pointer !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: none !important;
}

.viewer99-search-row:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.28) !important;
}

.viewer99-search-row.selected {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.36) !important;
}

.viewer99-search-row strong {
    display: block !important;
    margin-bottom: 6px !important;
    font-weight: 950 !important;
    color: #fff !important;
}

.viewer99-search-row span {
    display: block !important;
    color: rgba(255,255,255,.86) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

/* Панель статуса поиска — выше документа, не перекрывает текст */
.viewer681-pdfsearchbar,
.viewer68-pdfsearchbar,
.viewer676-pdfsearchbar {
    top: clamp(150px, 18vh, 180px) !important;
    transform: translate(-50%, -100%) !important;
    min-height: 38px !important;
    padding: 6px 10px !important;
    max-width: min(720px, calc(100vw - 28px)) !important;
}

.viewer681-pdfsearchbar__query,
.viewer68-pdfsearchbar__query,
.viewer676-pdfsearchbar__query {
    max-width: min(480px, 48vw) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Убрать возможное влияние старой табличной сетки */
.viewer91-search-table {
    display: block !important;
    padding: 8px 10px 14px !important;
}

.viewer91-search-head {
    display: none !important;
}

/* Метка напротив абзаца */


.viewer91-paragraph-marker {
    left: -40px !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* =====================================================
   Viewer 10.0 — Search Status Bar Final
   Порядок:
   [PDF toolbar]
   [Проверка: стр.N, абз.M  X/Y  ◀ ▶ Очистить]
   [PDF-документ]
   ===================================================== */

.viewer100-search-statusbar {
    position: fixed !important;
    left: 50% !important;
    top: clamp(156px, 18vh, 188px) !important;
    transform: translate(-50%, -100%) !important;
    z-index: 24620 !important;

    height: 40px !important;
    min-height: 38px !important;
    max-height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    max-width: min(720px, calc(100vw - 28px)) !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;

    color: #fff !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.92)),
        rgba(5,69,75,.92) !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    box-shadow:
        0 18px 44px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.18) !important;

    backdrop-filter: blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.12) !important;
}

.viewer100-search-statusbar[hidden] {
    display: none !important;
}

.viewer100-search-statusbar__query {
    max-width: min(430px, 46vw) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-weight: 950 !important;
    font-size: 14px !important;
}

.viewer100-search-statusbar__count {
    min-width: 52px !important;
    text-align: center !important;
    font-weight: 950 !important;
    font-size: 14px !important;
}

.viewer100-search-statusbar__btn,
.viewer100-search-statusbar__clear {
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px 11px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.viewer100-search-statusbar__btn {
    min-width: 34px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
}

.viewer100-search-statusbar__clear {
    min-width: 86px !important;
}

/* Старые statusbar-классы не должны перекрывать новый */
.viewer681-pdfsearchbar,
.viewer68-pdfsearchbar,
.viewer676-pdfsearchbar {
    top: clamp(156px, 18vh, 188px) !important;
    transform: translate(-50%, -100%) !important;
}

/*
   Освобождаем место между панелью и страницей PDF:
   страница начинается ниже строки поиска.
*/
.viewer4__stage,
.viewer4__scene,
.viewer4__coverflow,
.viewer4__viewport {
    scroll-margin-top: 94px !important;
}

.viewer4__card.active,
.viewer4__card.is-active,
.viewer4__card[data-active="true"] {
    margin-top: 42px !important;
}

.viewer90-official-pdf-container {
    margin-top: 58px !important;
}

/* Метка только на нужной странице и выше PDF */
.viewer91-paragraph-marker-layer {
    z-index: 2147483000 !important;
}

.viewer91-paragraph-marker {
    left: -40px !important;
}

@media (max-width: 700px) {
    .viewer100-search-statusbar {
        top: 146px !important;
        max-width: calc(100vw - 18px) !important;
        gap: 5px !important;
        height: 38px !important;
        padding: 4px 7px !important;
    }

    .viewer100-search-statusbar__query {
        max-width: 42vw !important;
        font-size: 12px !important;
    }

    .viewer100-search-statusbar__count {
        min-width: 44px !important;
        font-size: 12px !important;
    }

    .viewer100-search-statusbar__btn,
    .viewer100-search-statusbar__clear {
        height: 28px !important;
        min-height: 28px !important;
        padding: 3px 8px !important;
        font-size: 12px !important;
    }
}


/* =====================================================
   Viewer 10.1 — accurate paragraph + non-overlapping statusbar
   ===================================================== */

.viewer101-search-statusbar {
    position: fixed !important;
    left: 50% !important;
    top: clamp(158px, 18vh, 190px) !important;
    transform: translate(-50%, -100%) !important;
    z-index: 24620 !important;

    height: 40px !important;
    min-height: 38px !important;
    max-height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    max-width: min(720px, calc(100vw - 28px)) !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    color: #fff !important;

    background:
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(5,69,75,.92)),
        rgba(5,69,75,.92) !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    box-shadow:
        0 18px 44px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    backdrop-filter: blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.12) !important;
}

.viewer101-search-statusbar[hidden] {
    display: none !important;
}

.viewer101-search-statusbar__query {
    max-width: min(430px, 46vw) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-weight: 950 !important;
    font-size: 14px !important;
}

.viewer101-search-statusbar__count {
    min-width: 52px !important;
    text-align: center !important;
    font-weight: 950 !important;
    font-size: 14px !important;
}

.viewer101-search-statusbar__btn,
.viewer101-search-statusbar__clear {
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px 11px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.viewer101-search-statusbar__btn {
    min-width: 34px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
}

.viewer101-search-statusbar__clear {
    min-width: 86px !important;
}

/*
   Старые панели поиска не должны закрывать документ.
   Если где-то остался старый класс, он получает тот же безопасный уровень.
*/
.viewer681-pdfsearchbar,
.viewer68-pdfsearchbar,
.viewer676-pdfsearchbar,
.viewer100-search-statusbar {
    top: clamp(158px, 18vh, 190px) !important;
    transform: translate(-50%, -100%) !important;
}

/* Автоматический сдвиг PDF ниже строки состояния */
.viewer4__card.active,
.viewer4__card.is-active,
.viewer4__card[data-active="true"],
.viewer4__center,
.viewer4__main-card {
    margin-top: 46px !important;
}

/* Для официального PDF.js-контейнера */
.viewer90-official-pdf-container {
    margin-top: 60px !important;
}

/* Метка совпадения только на нужной странице */
.viewer101-paragraph-marker-layer,
.viewer91-paragraph-marker-layer {
    z-index: 2147483000 !important;
}

.viewer101-paragraph-marker,
.viewer91-paragraph-marker {
    left: -40px !important;
}

@media (max-width: 700px) {
    .viewer101-search-statusbar {
        top: 148px !important;
        max-width: calc(100vw - 18px) !important;
        gap: 5px !important;
        height: 38px !important;
        padding: 4px 7px !important;
    }

    .viewer101-search-statusbar__query {
        max-width: 42vw !important;
        font-size: 12px !important;
    }

    .viewer101-search-statusbar__count {
        min-width: 44px !important;
        font-size: 12px !important;
    }

    .viewer101-search-statusbar__btn,
    .viewer101-search-statusbar__clear {
        height: 28px !important;
        min-height: 28px !important;
        padding: 3px 8px !important;
        font-size: 12px !important;
    }
}


/* =====================================================
   Viewer 10.2 — corrected paragraph number and field marker
   ===================================================== */

.viewer102-paragraph-marker-layer,
.viewer101-paragraph-marker-layer,
.viewer91-paragraph-marker-layer {
    z-index: 2147483000 !important;
    pointer-events: none !important;
}

.viewer102-paragraph-marker,
.viewer101-paragraph-marker,
.viewer91-paragraph-marker {
    left: -40px !important;
}

/* Viewer 10.3 — PDF search table and table-aware paragraphs */
.viewer103-pdf-search-tablebar{position:fixed!important;left:50%!important;top:clamp(158px,18vh,190px)!important;transform:translate(-50%,-100%)!important;z-index:24620!important;height:40px!important;max-width:min(760px,calc(100vw - 28px))!important;padding:4px 8px!important;border-radius:999px!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(5,69,75,.94)),rgba(5,69,75,.94)!important;border:1px solid rgba(255,255,255,.32)!important;box-shadow:0 18px 44px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;backdrop-filter:blur(16px) saturate(1.12)!important}
.viewer103-pdf-search-tablebar[hidden]{display:none!important}
.viewer103-pdf-search-tablebar__grid{display:grid!important;grid-template-columns:72px 82px 82px 118px 118px 98px!important;gap:6px!important;align-items:center!important;height:100%!important}
.viewer103-pdf-search-tablebar__cell,.viewer103-pdf-search-tablebar__btn,.viewer103-pdf-search-tablebar__clear{height:30px!important;display:grid!important;place-items:center!important;border-radius:999px!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.12)!important;font-weight:950!important;font-size:13px!important;white-space:nowrap!important}
.viewer103-pdf-search-tablebar__match{background:#d50000!important;border-color:rgba(255,255,255,.72)!important;box-shadow:0 0 0 2px rgba(213,0,0,.18),0 0 14px rgba(213,0,0,.35)!important}
.viewer103-pdf-search-tablebar__btn,.viewer103-pdf-search-tablebar__clear{cursor:pointer!important}
.viewer103-pdfsearch-results-table{display:grid!important;gap:8px!important;padding:8px 10px 14px!important}
.viewer103-pdfsearch-results-head,.viewer103-pdfsearch-results-row{display:grid!important;grid-template-columns:72px 86px 76px minmax(180px,1fr)!important;gap:8px!important;align-items:center!important}
.viewer103-pdfsearch-results-head{padding:8px 12px!important;color:rgba(255,255,255,.74)!important;font-size:12px!important;font-weight:950!important;text-transform:uppercase!important}
.viewer103-pdfsearch-results-row{width:100%!important;padding:10px 12px!important;border-radius:16px!important;text-align:left!important;cursor:pointer!important;color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important}
.viewer103-pdfsearch-results-row.selected{background:rgba(185,245,255,.14)!important;border-color:rgba(185,245,255,.36)!important}
.viewer103-pdfsearch-results-row.selected .viewer103-pdfsearch-results-num{background:#d50000!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important;box-shadow:0 0 14px rgba(213,0,0,.36)!important}
.viewer103-pdfsearch-results-num{display:grid!important;place-items:center!important;border-radius:999px!important;padding:5px 7px!important;font-weight:950!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important}
.viewer103-pdfsearch-results-context{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
.viewer4__card.active,.viewer4__card.is-active,.viewer4__card[data-active="true"],.viewer4__center,.viewer4__main-card{margin-top:46px!important}
.viewer102-paragraph-marker-layer,.viewer101-paragraph-marker-layer,.viewer91-paragraph-marker-layer{z-index:2147483000!important;pointer-events:none!important}
.viewer102-paragraph-marker,.viewer101-paragraph-marker,.viewer91-paragraph-marker{left:-40px!important}
@media(max-width:780px){.viewer103-pdf-search-tablebar__grid{grid-template-columns:54px 64px 64px 38px 38px 78px!important}.viewer103-pdf-search-tablebar__btn{font-size:0!important}.viewer103-pdf-search-tablebar__btn[data-pdf-search-prev]::after{content:"◀"!important;font-size:13px!important}.viewer103-pdf-search-tablebar__btn[data-pdf-search-next]::after{content:"▶"!important;font-size:13px!important}}


/* =====================================================
   Viewer 10.4 — line number instead of paragraph + visited green
   ===================================================== */

.viewer103-pdf-search-tablebar__grid {
    grid-template-columns: 72px 82px 104px 42px 42px 42px !important;
}

.viewer103-pdf-search-tablebar__btn,
.viewer103-pdf-search-tablebar__clear {
    min-width: 38px !important;
    width: 38px !important;
    padding: 0 !important;
    font-size: 15px !important;
}

.viewer103-pdf-search-tablebar__clear {
    background: rgba(213,0,0,.20) !important;
}

.viewer103-pdfsearch-results-head,
.viewer103-pdfsearch-results-row {
    grid-template-columns: 72px 86px 96px minmax(180px, 1fr) !important;
}

.viewer103-pdfsearch-results-row.visited .viewer103-pdfsearch-results-num {
    background: #0b8f3a !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.72) !important;
    box-shadow: 0 0 14px rgba(11,143,58,.42) !important;
}

.viewer103-pdfsearch-results-row.selected .viewer103-pdfsearch-results-num {
    background: #d50000 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.72) !important;
    box-shadow: 0 0 14px rgba(213,0,0,.38) !important;
}

/* If a row was opened and is no longer active, keep it green until Clear. */
.viewer103-pdfsearch-results-row.visited:not(.selected) .viewer103-pdfsearch-results-num {
    background: #0b8f3a !important;
}

@media (max-width: 780px) {
    .viewer103-pdf-search-tablebar__grid {
        grid-template-columns: 54px 64px 82px 34px 34px 34px !important;
    }

    .viewer103-pdf-search-tablebar__btn,
    .viewer103-pdf-search-tablebar__clear {
        width: 32px !important;
        min-width: 32px !important;
    }
}


/* =====================================================
   Viewer 10.5 — active match before controls + red marker + icon buttons
   ===================================================== */

.viewer105-pdf-search-tablebar__grid,
.viewer103-pdf-search-tablebar__grid {
    grid-template-columns: 74px 82px 104px 42px 42px 42px !important;
}

.viewer105-pdf-search-tablebar__match,
.viewer103-pdf-search-tablebar__match {
    background: #d50000 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow:
        0 0 0 2px rgba(213,0,0,.20),
        0 0 16px rgba(213,0,0,.42) !important;
}

.viewer105-pdf-search-tablebar__btn,
.viewer103-pdf-search-tablebar__btn,
.viewer105-pdf-search-tablebar__clear,
.viewer103-pdf-search-tablebar__clear {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
}

.viewer105-pdf-search-tablebar__clear,
.viewer103-pdf-search-tablebar__clear {
    background: rgba(213,0,0,.22) !important;
}

/* В таблице PDF: активное совпадение — красное, уже открытые — зелёные до Очистить */
.viewer103-pdfsearch-results-row.selected .viewer103-pdfsearch-results-num {
    background: #d50000 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow: 0 0 14px rgba(213,0,0,.42) !important;
}

.viewer103-pdfsearch-results-row.visited:not(.selected) .viewer103-pdfsearch-results-num {
    background: #0b8f3a !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.72) !important;
    box-shadow: 0 0 14px rgba(11,143,58,.42) !important;
}

/* Красный маркер на полях страницы с номером выбранного совпадения */
.viewer105-paragraph-marker-layer,
.viewer102-paragraph-marker-layer,
.viewer101-paragraph-marker-layer,
.viewer91-paragraph-marker-layer {
    z-index: 2147483000 !important;
    pointer-events: none !important;
}

.viewer105-paragraph-marker,
.viewer102-paragraph-marker,
.viewer101-paragraph-marker,
.viewer91-paragraph-marker {
    left: -40px !important;
    background: #d50000 !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,.95) !important;
    box-shadow:
        0 0 0 3px rgba(213,0,0,.24),
        0 8px 22px rgba(0,0,0,.30) !important;
}

.viewer105-paragraph-marker::after,
.viewer102-paragraph-marker::after,
.viewer101-paragraph-marker::after,
.viewer91-paragraph-marker::after {
    border-left-color: #d50000 !important;
}

@media (max-width: 780px) {
    .viewer105-pdf-search-tablebar__grid,
    .viewer103-pdf-search-tablebar__grid {
        grid-template-columns: 54px 64px 82px 34px 34px 34px !important;
    }

    .viewer105-pdf-search-tablebar__btn,
    .viewer103-pdf-search-tablebar__btn,
    .viewer105-pdf-search-tablebar__clear,
    .viewer103-pdf-search-tablebar__clear {
        width: 32px !important;
        min-width: 32px !important;
    }
}


/* =====================================================
   Viewer 10.6 — Work panel and field marker after double click
   ===================================================== */

/* Красный маркер на поле страницы с номером совпадения */






/* Панель Работа: Аналитика визуально выше */


/* Скрыть старые кнопки навигации в рабочей панели, если они созданы HTML */



/* =====================================================
   Applied to project — Viewer 10.6 Work panel + PDF click marker
   ===================================================== */

/* Рабочая панель */




/* PDF search: активное совпадение красное, открытые ссылки зелёные до Очистить */
.viewer103-pdfsearch-results-row.selected .viewer103-pdfsearch-results-num,
.viewer99-search-row.selected strong:first-child {
    background: #d50000 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow: 0 0 14px rgba(213,0,0,.42) !important;
}

.viewer103-pdfsearch-results-row.visited:not(.selected) .viewer103-pdfsearch-results-num,
.viewer99-search-row.visited:not(.selected) strong:first-child {
    background: #0b8f3a !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.72) !important;
    box-shadow: 0 0 14px rgba(11,143,58,.42) !important;
}

/* Кнопки PDF-поиска символами */
.viewer103-pdf-search-tablebar__btn,
.viewer103-pdf-search-tablebar__clear,
.viewer105-pdf-search-tablebar__btn,
.viewer105-pdf-search-tablebar__clear {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    font-size: 15px !important;
    overflow: hidden !important;
}

/* Красный маркер на полях PDF после двойного щелчка */







/* =====================================================
   Viewer 11.0 Stable
   Финальная стабилизация рабочего интерфейса.
   ===================================================== */

button[title="Первый"],
button[aria-label="Первый"],
button[title="Назад"],
button[aria-label="Назад"],
button[title="Вперёд"],
button[aria-label="Вперёд"],
button[title="Вперед"],
button[aria-label="Вперед"] {
    display: none !important;
}

button[title*="Аналитика"],
button[aria-label*="Аналитика"],
[data-command*="analytics"],
[data-tool*="analytics"] {
    order: -10 !important;
}

.viewer106-paragraph-marker-layer,
.viewer105-paragraph-marker-layer,
.viewer102-paragraph-marker-layer,
.viewer101-paragraph-marker-layer,
.viewer91-paragraph-marker-layer {
    z-index: 2147483000 !important;
    pointer-events: none !important;
}

.viewer106-paragraph-marker,
.viewer105-paragraph-marker,
.viewer102-paragraph-marker,
.viewer101-paragraph-marker,
.viewer91-paragraph-marker {
    left: -40px !important;
    background: #d50000 !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,.95) !important;
    box-shadow:
        0 0 0 3px rgba(213,0,0,.24),
        0 8px 22px rgba(0,0,0,.30) !important;
}

.viewer106-paragraph-marker::after,
.viewer105-paragraph-marker::after,
.viewer102-paragraph-marker::after,
.viewer101-paragraph-marker::after,
.viewer91-paragraph-marker::after {
    border-left-color: #d50000 !important;
}


/* Viewer 11.3 — кнопка "Начало" перед "Старт" на нижней панели */
.viewer4__controls button[data-action="first"] {
    font-weight: 950 !important;
}


/* =====================================================
   Viewer 11.4 — нижняя панель очищена, кнопки перенесены влево
   ===================================================== */

.viewer4__controls [data-action="pdf-prev"],
.viewer4__controls [data-action="pdf-next"],
.viewer4__controls [data-action="favorite"],
.viewer4__controls [data-action="notes"],
.viewer4__controls [data-action="theme"],
.viewer4__controls [data-action="quality"],
.viewer4__controls [data-action="hybrid"],
.viewer4__controls [data-action="devtools"],
.viewer4__controls [data-action="info"],
.viewer4__controls [data-action="textlayer"] {
    display: none !important;
}

.viewer114-work-toolbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.viewer114-work-toolbar__group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding-top: 4px !important;
    margin-top: 4px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
}

.viewer114-work-toolbar__spacer {
    flex: 1 1 auto !important;
    min-height: 12px !important;
}

.viewer114-work-toolbar__bottom {
    margin-top: auto !important;
}

.viewer114-work-toolbar button[data-left-tool="analytics"] {
    order: -10 !important;
}


/* =====================================================
   Viewer 11.6 — grouped left work panel
   ===================================================== */

.viewer116-work-toolbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow-y: auto !important;
    scrollbar-width: thin !important;
}

.viewer116-work-toolbar__title {
    margin-bottom: 2px !important;
}

.viewer116-work-toolbar__section {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 7px 6px 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer116-work-toolbar__heading {
    padding: 0 4px 2px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
}

.viewer116-work-toolbar__section button,
.viewer116-work-toolbar__bottom {
    width: 100% !important;
    justify-content: center !important;
}

.viewer116-work-toolbar__section[data-section="analytics"] button {
    background: rgba(185,245,255,.16) !important;
    border-color: rgba(185,245,255,.32) !important;
    font-weight: 950 !important;
}

.viewer116-work-toolbar__spacer {
    flex: 1 1 auto !important;
    min-height: 10px !important;
}

.viewer116-work-toolbar__bottom {
    margin-top: auto !important;
    min-height: 34px !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

/* Командная кнопка больше не должна быть на нижней панели */
.viewer4__controls [data-action="command"] {
    display: none !important;
}

@media (max-height: 720px) {
    .viewer116-work-toolbar {
        gap: 6px !important;
    }

    .viewer116-work-toolbar__section {
        gap: 4px !important;
        padding-top: 5px !important;
        padding-bottom: 6px !important;
    }

    .viewer116-work-toolbar__heading {
        font-size: 10px !important;
    }
}


/* =====================================================
   Viewer 11.7 — grouped right tools panel
   ===================================================== */

.viewer117-text-toolbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow-y: auto !important;
    scrollbar-width: thin !important;
}

.viewer117-text-toolbar__title {
    margin-bottom: 2px !important;
}

.viewer117-text-toolbar__section {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 7px 6px 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer117-text-toolbar__heading {
    padding: 0 4px 2px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
}

.viewer117-text-toolbar__section button {
    width: 100% !important;
    justify-content: center !important;
}

.viewer117-text-toolbar__section[data-section="search"] button {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.28) !important;
    font-weight: 950 !important;
}

.viewer117-text-toolbar button.disabled,
.viewer117-text-toolbar button:disabled {
    opacity: .45 !important;
    cursor: not-allowed !important;
}

@media (max-height: 720px) {
    .viewer117-text-toolbar {
        gap: 6px !important;
    }

    .viewer117-text-toolbar__section {
        gap: 4px !important;
        padding-top: 5px !important;
        padding-bottom: 6px !important;
    }

    .viewer117-text-toolbar__heading {
        font-size: 10px !important;
    }
}


/* =====================================================
   Viewer 11.8 — центральная панель управления просмотром
   Порядок: Начало | ◀ | Старт | ▶ | длительность | Возврат | − | 100% | + | 1/14 · 100%
   ===================================================== */

.viewer118-central-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.viewer118-central-controls__group {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 4px 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer118-central-controls button,
.viewer118-central-controls select,
.viewer118-central-controls__counter {
    min-height: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.viewer118-central-controls button[data-action="toggle"] {
    min-width: 86px !important;
    background: rgba(185,245,255,.18) !important;
    border-color: rgba(185,245,255,.34) !important;
}

.viewer118-central-controls button[data-action="prev"],
.viewer118-central-controls button[data-action="next"],
.viewer118-central-controls button[data-action="zoom-out"],
.viewer118-central-controls button[data-action="zoom-in"] {
    min-width: 38px !important;
    width: 38px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
}

.viewer118-central-controls select[data-action="speed"] {
    min-width: 72px !important;
    padding: 0 28px 0 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    outline: none !important;
    cursor: pointer !important;
}

.viewer118-central-controls select[data-action="speed"] option {
    color: #111 !important;
    background: #fff !important;
}

.viewer118-central-controls__counter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 108px !important;
    padding: 0 12px !important;
    color: rgba(255,255,255,.94) !important;
    background: rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

@media (max-width: 760px) {
    .viewer118-central-controls {
        gap: 6px !important;
    }

    .viewer118-central-controls__group {
        gap: 4px !important;
        padding: 3px 4px !important;
    }

    .viewer118-central-controls button,
    .viewer118-central-controls select,
    .viewer118-central-controls__counter {
        min-height: 30px !important;
        height: 30px !important;
        font-size: 12px !important;
    }

    .viewer118-central-controls button[data-action="toggle"] {
        min-width: 70px !important;
    }

    .viewer118-central-controls__counter {
        min-width: 86px !important;
    }
}


/* =====================================================
   Viewer 11.9 — парольный доступ к панелям и информации
   Без пароля видимы: документ, название документа и подсказка "Колесо — ...".
   ===================================================== */

html.viewer119-locked #viewer2026Overlay .viewer67-toolbar,
html.viewer119-locked #viewer2026Overlay .viewer4__controls,
html.viewer119-locked #viewer2026Overlay .viewer4__thumbs,
html.viewer119-locked #viewer2026Overlay .viewer4__counter,
html.viewer119-locked #viewer2026Overlay .viewer4__status,
html.viewer119-locked #viewer2026Overlay .viewer63-pdfsearch,
html.viewer119-locked #viewer2026Overlay .viewer103-pdf-search-tablebar,
html.viewer119-locked #viewer2026Overlay .viewer101-search-statusbar,
html.viewer119-locked #viewer2026Overlay .viewer100-search-statusbar,
html.viewer119-locked #viewer2026Overlay .viewer681-pdfsearchbar,
html.viewer119-locked #viewer2026Overlay .viewer68-pdfsearchbar,
html.viewer119-locked #viewer2026Overlay .viewer676-pdfsearchbar,
html.viewer119-locked #viewer2026Overlay .viewer91-paragraph-marker-layer,
html.viewer119-locked #viewer2026Overlay .viewer102-paragraph-marker-layer,
html.viewer119-locked #viewer2026Overlay .viewer105-paragraph-marker-layer,
html.viewer119-locked #viewer2026Overlay .viewer106-paragraph-marker-layer,
html.viewer119-locked #viewer2026Overlay .viewer4__panel,
html.viewer119-locked #viewer2026Overlay .viewer4__drawer,
html.viewer119-locked #viewer2026Overlay .viewer4__modal,
html.viewer119-locked #viewer2026Overlay .viewer4__popup {
    display: none !important;
}

html.viewer119-locked #viewer2026Overlay .viewer4__hint {
    display: block !important;
    opacity: .92 !important;
    pointer-events: none !important;
}

html.viewer119-locked #viewer2026Overlay .viewer4__stage,
html.viewer119-locked #viewer2026Overlay .viewer4__track,
html.viewer119-locked #viewer2026Overlay .viewer4__card,
html.viewer119-locked #viewer2026Overlay .viewer4__card-title,
html.viewer119-locked #viewer2026Overlay .viewer4__title,
html.viewer119-locked #viewer2026Overlay [data-doc-title] {
    visibility: visible !important;
}

html.viewer119-locked #viewer2026Overlay::after {
    content: "Двойной щелчок вне документа — ввод пароля";
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 2147482000;
    padding: 8px 14px;
    border-radius: 999px;
    color: rgba(255,255,255,.84);
    background: rgba(0,0,0,.34);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 12px;
    font-weight: 800;
    pointer-events: none;
}


/* =====================================================
   Viewer 12.0 — уточнённый парольный режим
   Без пароля скрываются боковые панели и служебная информация.
   Центральная панель и миниатюры видны всегда.
   ===================================================== */

/* Всегда показывать центральную нижнюю панель и миниатюры даже без пароля */
html.viewer120-locked #viewer2026Overlay .viewer4__controls,
html.viewer120-locked #viewer2026Overlay .viewer118-central-controls,
html.viewer120-locked #viewer2026Overlay .viewer4__thumbs,
html.viewer120-locked #viewer2026Overlay .viewer4__counter {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Старый режим 11.9 тоже переопределяем */
html.viewer119-locked #viewer2026Overlay .viewer4__controls,
html.viewer119-locked #viewer2026Overlay .viewer118-central-controls,
html.viewer119-locked #viewer2026Overlay .viewer4__thumbs,
html.viewer119-locked #viewer2026Overlay .viewer4__counter {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Без пароля скрыть только боковые панели */
html.viewer120-locked #viewer2026Overlay .viewer67-toolbar--left,
html.viewer120-locked #viewer2026Overlay .viewer67-toolbar--right,
html.viewer119-locked #viewer2026Overlay .viewer67-toolbar--left,
html.viewer119-locked #viewer2026Overlay .viewer67-toolbar--right {
    display: none !important;
}

/* Без пароля скрыть служебные информационные панели и сообщения, включая KG */
html.viewer120-locked #viewer2026Overlay .viewer4__status,
html.viewer120-locked #viewer2026Overlay .viewer4__panel,
html.viewer120-locked #viewer2026Overlay .viewer4__drawer,
html.viewer120-locked #viewer2026Overlay .viewer4__modal,
html.viewer120-locked #viewer2026Overlay .viewer4__popup,
html.viewer120-locked #viewer2026Overlay .viewer63-pdfsearch,
html.viewer120-locked #viewer2026Overlay .viewer103-pdf-search-tablebar,
html.viewer120-locked #viewer2026Overlay .viewer101-search-statusbar,
html.viewer120-locked #viewer2026Overlay .viewer100-search-statusbar,
html.viewer120-locked #viewer2026Overlay .viewer681-pdfsearchbar,
html.viewer120-locked #viewer2026Overlay .viewer68-pdfsearchbar,
html.viewer120-locked #viewer2026Overlay .viewer676-pdfsearchbar,
html.viewer120-locked #viewer2026Overlay .viewer91-paragraph-marker-layer,
html.viewer120-locked #viewer2026Overlay .viewer102-paragraph-marker-layer,
html.viewer120-locked #viewer2026Overlay .viewer105-paragraph-marker-layer,
html.viewer120-locked #viewer2026Overlay .viewer106-paragraph-marker-layer,
html.viewer120-locked #viewer2026Overlay [class*="kg"],
html.viewer120-locked #viewer2026Overlay [class*="KG"],
html.viewer120-locked #viewer2026Overlay [class*="graph"],
html.viewer120-locked #viewer2026Overlay [class*="Graph"],
html.viewer120-locked #viewer2026Overlay [data-action="kg"],
html.viewer120-locked #viewer2026Overlay [data-left-tool="kg"],
html.viewer120-locked #viewer2026Overlay [data-right-tool="kg"] {
    display: none !important;
}

/* Старые классы 11.9 также переопределяем для служебной информации */
html.viewer119-locked #viewer2026Overlay .viewer4__status,
html.viewer119-locked #viewer2026Overlay .viewer4__panel,
html.viewer119-locked #viewer2026Overlay .viewer4__drawer,
html.viewer119-locked #viewer2026Overlay .viewer4__modal,
html.viewer119-locked #viewer2026Overlay .viewer4__popup,
html.viewer119-locked #viewer2026Overlay [class*="kg"],
html.viewer119-locked #viewer2026Overlay [class*="KG"],
html.viewer119-locked #viewer2026Overlay [class*="graph"],
html.viewer119-locked #viewer2026Overlay [class*="Graph"] {
    display: none !important;
}

/* Документ, название документа и подсказка "Колесо — ..." остаются видимыми */
html.viewer120-locked #viewer2026Overlay .viewer4__stage,
html.viewer120-locked #viewer2026Overlay .viewer4__track,
html.viewer120-locked #viewer2026Overlay .viewer4__card,
html.viewer120-locked #viewer2026Overlay .viewer4__card-title,
html.viewer120-locked #viewer2026Overlay .viewer4__title,
html.viewer120-locked #viewer2026Overlay [data-doc-title],
html.viewer120-locked #viewer2026Overlay .viewer4__hint {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Подсказка пароля не закрывает центральную панель */
html.viewer120-locked #viewer2026Overlay::after,
html.viewer119-locked #viewer2026Overlay::after {
    content: "Двойной щелчок вне документа — ввод пароля";
    position: fixed;
    left: 50%;
    bottom: 76px;
    transform: translateX(-50%);
    z-index: 2147482000;
    padding: 8px 14px;
    border-radius: 999px;
    color: rgba(255,255,255,.84);
    background: rgba(0,0,0,.34);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 12px;
    font-weight: 800;
    pointer-events: none;
}


/* =====================================================
   Viewer 12.2 — кнопка закрытия панелей и подсказка пароля
   ===================================================== */

.viewer122-access-lock,
.viewer118-central-controls button.viewer122-access-lock {
    min-width: 38px !important;
    width: 38px !important;
    padding: 0 !important;
    font-size: 15px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
}

.viewer122-access-lock:hover {
    background: rgba(185,245,255,.18) !important;
    border-color: rgba(185,245,255,.38) !important;
}

/* В закрытом режиме центральная панель и миниатюры остаются видимыми */
html.viewer120-locked #viewer2026Overlay .viewer122-access-lock,
html.viewer119-locked #viewer2026Overlay .viewer122-access-lock {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Подсказка о пароле теперь в левом верхнем углу, а не на ленте миниатюр */
html.viewer120-locked #viewer2026Overlay::after,
html.viewer119-locked #viewer2026Overlay::after {
    content: "Двойной щелчок вне документа — пароль";
    left: 18px !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 2147482000 !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.78) !important;
    background: rgba(0,0,0,.22) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    pointer-events: none !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* После ввода пароля подсказка исчезает */
html.viewer120-unlocked #viewer2026Overlay::after,
html.viewer119-unlocked #viewer2026Overlay::after {
    content: none !important;
}


/* =====================================================
   Viewer 12.3 — Smart Tooltips
   ===================================================== */

.viewer123-tooltip {
    position: fixed !important;
    z-index: 2147483600 !important;
    max-width: min(320px, calc(100vw - 24px)) !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    color: rgba(255,255,255,.96) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.16), rgba(5,69,75,.94)),
        rgba(5,69,75,.94) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow:
        0 16px 38px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    text-align: center !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translateY(4px) scale(.98) !important;
    transition: opacity .16s ease, transform .16s ease !important;
}

.viewer123-tooltip.visible {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

.viewer123-tooltip[hidden] {
    display: none !important;
}


/* =====================================================
   Viewer 13.0 — Legal Workspace
   Строка тематических папок, панель времени и карточка документа.
   ===================================================== */

.viewer130-legal-workspace {
    position: fixed !important;
    left: 50% !important;
    top: 16px !important;
    transform: translateX(-50%) !important;
    z-index: 24420 !important;
    width: min(980px, calc(100vw - 260px)) !important;
    pointer-events: none !important;
}

.viewer130-folders,
.viewer130-timeline {
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
    padding: 6px 8px !important;
    margin: 0 auto 6px !important;
    border-radius: 999px !important;
    background: rgba(5, 69, 75, .62) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
}

.viewer130-folder,
.viewer130-year {
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

.viewer130-folder.active,
.viewer130-year.active {
    background: rgba(185,245,255,.20) !important;
    border-color: rgba(185,245,255,.42) !important;
}

.viewer130-folder__count {
    min-width: 22px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.22) !important;
}

.viewer130-timeline {
    width: fit-content !important;
    max-width: 100% !important;
}

.viewer130-timeline__title {
    color: rgba(255,255,255,.72) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    padding: 0 4px !important;
}

.viewer130-folder-panel,
.viewer130-case-card {
    pointer-events: auto !important;
    position: fixed !important;
    top: 108px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(820px, calc(100vw - 320px)) !important;
    max-height: min(520px, calc(100vh - 220px)) !important;
    overflow: auto !important;
    border-radius: 22px !important;
    padding: 12px !important;
    color: #fff !important;
    background: rgba(5, 69, 75, .88) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}

.viewer130-case-card {
    top: auto !important;
    right: 148px !important;
    left: auto !important;
    bottom: 132px !important;
    transform: none !important;
    width: min(340px, calc(100vw - 320px)) !important;
}

.viewer130-folder-panel[hidden],
.viewer130-case-card[hidden] {
    display: none !important;
}

.viewer130-folder-panel__head,
.viewer130-case-card__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.viewer130-folder-panel__head button,
.viewer130-case-card__head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer130-folder-panel__thumbs {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
    gap: 10px !important;
}

.viewer130-doc-thumb {
    min-height: 92px !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 6px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    text-align: left !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    cursor: pointer !important;
}

.viewer130-doc-thumb:hover {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.34) !important;
}

.viewer130-doc-thumb__badge,
.viewer130-doc-thumb__year {
    width: fit-content !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    background: rgba(0,0,0,.22) !important;
}

.viewer130-doc-thumb__title {
    font-weight: 900 !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.viewer130-folder-panel__empty {
    grid-column: 1 / -1 !important;
    padding: 20px !important;
    text-align: center !important;
    color: rgba(255,255,255,.74) !important;
    font-weight: 900 !important;
}

.viewer130-case-card__body {
    display: grid !important;
    gap: 8px !important;
}

.viewer130-case-card__body div {
    display: grid !important;
    gap: 2px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.07) !important;
}

.viewer130-case-card__body span {
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
}

.viewer130-case-card__body b {
    font-size: 13px !important;
    line-height: 1.25 !important;
}

/* В закрытом парольном режиме рабочее место скрыто */
html.viewer120-locked #viewer2026Overlay .viewer130-legal-workspace,
html.viewer119-locked #viewer2026Overlay .viewer130-legal-workspace {
    display: none !important;
}

@media (max-width: 980px) {
    .viewer130-legal-workspace {
        width: calc(100vw - 24px) !important;
        top: 10px !important;
    }

    .viewer130-folder-panel {
        width: calc(100vw - 28px) !important;
        top: 118px !important;
    }

    .viewer130-case-card {
        right: 14px !important;
        width: calc(100vw - 28px) !important;
    }
}


/* =====================================================
   Viewer 13.1 — File Explorer + Time Folder
   ===================================================== */
.viewer130-timeline { display: none !important; }
.viewer4__card.active,.viewer4__card.is-active,.viewer4__card[data-active="true"] { max-height: calc(100vh - 250px) !important; }
.viewer4__card.active img,.viewer4__card.is-active img,.viewer4__card[data-active="true"] img,.viewer4__card.active canvas,.viewer4__card.is-active canvas,.viewer4__card[data-active="true"] canvas { max-height: calc(100vh - 290px) !important; object-fit: contain !important; }
.viewer131-case-card,.viewer130-case-card { bottom: 70px !important; top: auto !important; }
.viewer131-folder-panel { top: 116px !important; width: min(920px, calc(100vw - 320px)) !important; }
.viewer131-folder-panel__head { align-items: center !important; }
.viewer131-folder-panel__actions { display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.viewer131-folder-panel__actions button { min-width: auto !important; width: auto !important; height: 30px !important; padding: 4px 10px !important; border-radius: 999px !important; color: #fff !important; background: rgba(255,255,255,.10) !important; border: 1px solid rgba(255,255,255,.20) !important; font-weight: 900 !important; cursor: pointer !important; }
.viewer131-folder-panel__actions button.active { background: rgba(185,245,255,.20) !important; border-color: rgba(185,245,255,.42) !important; }
.viewer131-time-list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)) !important; gap: 7px !important; margin: 0 0 12px !important; padding: 10px !important; border-radius: 16px !important; background: rgba(255,255,255,.055) !important; border: 1px solid rgba(255,255,255,.10) !important; }
.viewer131-time-list button { height: 32px !important; display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; padding: 4px 9px !important; border-radius: 999px !important; color: #fff !important; background: rgba(255,255,255,.09) !important; border: 1px solid rgba(255,255,255,.18) !important; font-weight: 900 !important; cursor: pointer !important; }
.viewer131-time-list button.active { background: rgba(185,245,255,.20) !important; border-color: rgba(185,245,255,.42) !important; }
.viewer131-time-list b { min-width: 22px !important; padding: 2px 6px !important; border-radius: 999px !important; background: rgba(0,0,0,.22) !important; text-align: center !important; }
.viewer131-file-list { display: grid !important; gap: 6px !important; margin-top: 8px !important; }
.viewer131-file-list.full::before { content: "Имя документа      Тип      Год      Стр.      Файл"; display: grid !important; grid-template-columns: 26px minmax(220px, 1fr) 70px 70px 54px minmax(150px, .8fr) !important; gap: 8px !important; padding: 6px 10px !important; color: rgba(255,255,255,.66) !important; font-size: 11px !important; font-weight: 950 !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
.viewer131-file-row { width: 100% !important; min-height: 36px !important; display: grid !important; grid-template-columns: 26px minmax(220px, 1fr) 70px 70px 54px minmax(150px, .8fr) !important; gap: 8px !important; align-items: center !important; padding: 7px 10px !important; border-radius: 12px !important; text-align: left !important; color: #fff !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.13) !important; cursor: pointer !important; }
.viewer131-file-row:hover { background: rgba(185,245,255,.13) !important; border-color: rgba(185,245,255,.30) !important; }
.viewer131-file-row__name { font-weight: 900 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.viewer131-file-row__type,.viewer131-file-row__year,.viewer131-file-row__pages,.viewer131-file-row__file { color: rgba(255,255,255,.78) !important; font-size: 12px !important; font-weight: 800 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.viewer131-file-list.short { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important; gap: 8px !important; }
.viewer131-file-list.short .viewer131-file-row { grid-template-columns: 26px minmax(120px, 1fr) !important; min-height: 42px !important; }
.viewer131-file-list.short .viewer131-file-row__type,.viewer131-file-list.short .viewer131-file-row__year,.viewer131-file-list.short .viewer131-file-row__pages,.viewer131-file-list.short .viewer131-file-row__file { display: none !important; }
.viewer131-folder-panel .viewer130-folder-panel__thumbs { display: none !important; }
@media (max-width: 980px) { .viewer131-folder-panel { width: calc(100vw - 28px) !important; } .viewer131-file-list.full::before,.viewer131-file-row { grid-template-columns: 24px minmax(160px, 1fr) 56px 56px !important; } .viewer131-file-row__pages,.viewer131-file-row__file { display: none !important; } }


/* =====================================================
   Viewer 13.2 — File Explorer table cleanup
   ===================================================== */

/* Лента папок без переноса строк */
.viewer131-folders,
.viewer130-folders {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    scrollbar-width: thin !important;
}

.viewer131-folder,
.viewer130-folder {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.viewer131-folder .viewer130-folder__title,
.viewer130-folder .viewer130-folder__title {
    white-space: nowrap !important;
}

/* Кнопку "Законы" скрыть, если она осталась из старого DOM */
.viewer131-folder[data-legal-folder="laws"],
.viewer130-folder[data-legal-folder="laws"] {
    display: none !important;
}

/* Кнопки Полный / Краткий / Закрыть шире, чтобы не налезали друг на друга */
.viewer131-folder-panel__actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    min-width: 270px !important;
}

.viewer131-folder-panel__actions button {
    min-width: 92px !important;
    height: 34px !important;
    padding: 5px 14px !important;
    white-space: nowrap !important;
}

.viewer131-folder-panel__actions button[data-legal-close] {
    min-width: 38px !important;
    width: 38px !important;
    padding: 0 !important;
}

/* Годы в панели времени с пробелом: шире и читабельнее */
.viewer131-time-list {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
}

.viewer131-time-list button {
    min-width: 104px !important;
    letter-spacing: .02em !important;
}

/* Полный список документов как таблица проводника Windows */
.viewer131-file-list.full {
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.035) !important;
}

.viewer131-file-list.full::before {
    content: "Имя документа        Тип        Год        Стр.        Файл";
    display: grid !important;
    grid-template-columns: minmax(280px, 1.4fr) 84px 92px 70px minmax(210px, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.82) !important;
    background: rgba(0,0,0,.22) !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .045em !important;
}

/* В CSS content нельзя надёжно создать несколько ячеек, поэтому ниже рисуем строку-заголовок фоном.
   Основная таблица выровнена по колонкам как в проводнике Windows. */
.viewer131-file-list.full .viewer131-file-row {
    grid-template-columns: 28px minmax(250px, 1.4fr) 84px 92px 70px minmax(210px, 1fr) !important;
    border-radius: 0 !important;
    border-width: 0 0 1px 0 !important;
    background: rgba(255,255,255,.045) !important;
}

.viewer131-file-list.full .viewer131-file-row:nth-child(even) {
    background: rgba(255,255,255,.07) !important;
}

.viewer131-file-list.full .viewer131-file-row__icon,
.viewer131-file-list.full .viewer131-file-row__name,
.viewer131-file-list.full .viewer131-file-row__type,
.viewer131-file-list.full .viewer131-file-row__year,
.viewer131-file-list.full .viewer131-file-row__pages,
.viewer131-file-list.full .viewer131-file-row__file {
    min-width: 0 !important;
    padding: 0 8px !important;
}

/* Краткий список: компактный режим проводника */
.viewer131-file-list.short {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    border: 0 !important;
    background: transparent !important;
}

.viewer131-file-list.short .viewer131-file-row {
    border-radius: 12px !important;
    grid-template-columns: 28px minmax(150px, 1fr) !important;
}

/* Убираем старую псевдошапку, если браузер неверно выводит content */
.viewer131-file-list.full::before {
    padding: 8px 12px !important;
}

/* Более удобная шапка панели */
.viewer131-folder-panel__head {
    gap: 14px !important;
    flex-wrap: nowrap !important;
}

.viewer131-folder-panel__head strong,
.viewer131-folder-panel__head span {
    white-space: nowrap !important;
}

@media (max-width: 980px) {
    .viewer131-folder-panel__head {
        flex-wrap: wrap !important;
    }

    .viewer131-folder-panel__actions {
        min-width: 100% !important;
        justify-content: flex-start !important;
    }

    .viewer131-file-list.full .viewer131-file-row {
        grid-template-columns: 28px minmax(160px, 1fr) 68px 78px !important;
    }

    .viewer131-file-list.full .viewer131-file-row__pages,
    .viewer131-file-list.full .viewer131-file-row__file {
        display: none !important;
    }
}


/* =====================================================
   Viewer 13.3 — A4 Workspace
   ===================================================== */

#viewer2026Overlay.viewer133-a4-mode .viewer4__stage {
    perspective: 1600px !important;
}

#viewer2026Overlay.viewer133-a4-mode .viewer4__track {
    align-items: center !important;
    justify-content: center !important;
}

#viewer2026Overlay.viewer133-a4-mode .viewer4__card.active,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card.is-active,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card[data-active="true"] {
    width: min(72vh, 62vw, 760px) !important;
    aspect-ratio: 210 / 297 !important;
    height: auto !important;
    max-height: calc(100vh - 230px) !important;
    min-height: 0 !important;
    padding: clamp(14px, 2.2vh, 26px) !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow:
        0 30px 90px rgba(0,0,0,.38),
        0 0 0 1px rgba(0,0,0,.10),
        inset 0 0 0 1px rgba(0,0,0,.05) !important;
    transition:
        width .28s ease,
        max-height .28s ease,
        transform .28s ease,
        box-shadow .28s ease,
        padding .28s ease !important;
}

#viewer2026Overlay.viewer133-a4-mode .viewer4__card.active img,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card.is-active img,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card[data-active="true"] img,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card.active canvas,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card.is-active canvas,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card[data-active="true"] canvas {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    background: #fff !important;
}

#viewer2026Overlay.viewer133-a4-mode .viewer4__card.active .page,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card.is-active .page,
#viewer2026Overlay.viewer133-a4-mode .viewer4__card[data-active="true"] .page {
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    background: #fff !important;
}

#viewer2026Overlay.viewer133-auto-mode .viewer4__card.active,
#viewer2026Overlay.viewer133-auto-mode .viewer4__card.is-active,
#viewer2026Overlay.viewer133-auto-mode .viewer4__card[data-active="true"] {
    transition:
        width .24s ease,
        max-height .24s ease,
        transform .24s ease,
        box-shadow .24s ease,
        padding .24s ease !important;
}

.viewer118-central-controls button[data-action="page-layout"] {
    min-width: 58px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-weight: 950 !important;
    background: rgba(185,245,255,.16) !important;
    border-color: rgba(185,245,255,.34) !important;
}

#viewer2026Overlay.viewer133-a4-mode .viewer4__card {
    transform-origin: center center !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay.viewer133-a4-mode .viewer4__card.active,
    #viewer2026Overlay.viewer133-a4-mode .viewer4__card.is-active,
    #viewer2026Overlay.viewer133-a4-mode .viewer4__card[data-active="true"] {
        width: min(78vh, 88vw) !important;
        max-height: calc(100vh - 250px) !important;
        padding: 12px !important;
    }

    .viewer118-central-controls button[data-action="page-layout"] {
        min-width: 48px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* =====================================================
   Viewer 13.4 — Document Folder Switcher
   ===================================================== */

.viewer134-document-folder-bar {
    position: fixed !important;
    left: 18px !important;
    top: 58px !important;
    z-index: 24440 !important;
    color: #fff !important;
    pointer-events: auto !important;
}

.viewer134-document-folder-bar__label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(5,69,75,.68) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    font-weight: 950 !important;
    font-size: 12px !important;
}

.viewer134-document-folder-bar__label span {
    white-space: nowrap !important;
    color: rgba(255,255,255,.78) !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.viewer134-document-folder-bar select {
    min-width: 156px !important;
    height: 30px !important;
    border-radius: 999px !important;
    padding: 0 28px 0 10px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    outline: none !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer134-document-folder-bar option {
    color: #111 !important;
    background: #fff !important;
}

/* В парольном режиме селектор папок скрыт вместе с боковыми панелями */
html.viewer120-locked #viewer2026Overlay .viewer134-document-folder-bar,
html.viewer119-locked #viewer2026Overlay .viewer134-document-folder-bar {
    display: none !important;
}

@media (max-width: 980px) {
    .viewer134-document-folder-bar {
        left: 12px !important;
        top: 52px !important;
    }

    .viewer134-document-folder-bar__label span {
        display: none !important;
    }

    .viewer134-document-folder-bar select {
        min-width: 132px !important;
    }
}


/* =====================================================
   Viewer 14.0 Professional — Documents Explorer
   ===================================================== */

.viewer140-pro-topbar {
    position: fixed !important;
    left: 50% !important;
    top: 16px !important;
    transform: translateX(-50%) !important;
    z-index: 24520 !important;
    max-width: min(980px, calc(100vw - 300px)) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(5,69,75,.74) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    pointer-events: auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.viewer140-pro-topbar button {
    flex: 0 0 auto !important;
    height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.viewer140-pro-topbar span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    color: rgba(255,255,255,.84) !important;
}

.viewer140-pro-explorer {
    position: fixed !important;
    left: 18px !important;
    top: 104px !important;
    bottom: 132px !important;
    z-index: 24500 !important;
    width: 300px !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    color: #fff !important;
    background: rgba(5,69,75,.76) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}

.viewer140-pro-explorer__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

.viewer140-pro-explorer__head strong {
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.viewer140-pro-explorer__head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer140-pro-explorer__tree {
    overflow: auto !important;
    padding: 8px !important;
    scrollbar-width: thin !important;
}

.viewer140-pro-node {
    margin: 2px 0 !important;
}

.viewer140-pro-node button {
    width: 100% !important;
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: 18px 24px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 8px 5px calc(8px + var(--level, 0) * 14px) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-align: left !important;
    cursor: pointer !important;
}

.viewer140-pro-node button:hover {
    background: rgba(185,245,255,.12) !important;
    border-color: rgba(185,245,255,.24) !important;
}

.viewer140-pro-node.active > button {
    background: rgba(185,245,255,.20) !important;
    border-color: rgba(185,245,255,.42) !important;
}

.viewer140-pro-node__toggle {
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255,255,255,.78) !important;
}

.viewer140-pro-node__toggle.empty {
    opacity: .20 !important;
}

.viewer140-pro-node__title {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer140-pro-node__count {
    min-width: 24px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.22) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-align: center !important;
}

.viewer140-pro-explorer__hint {
    padding: 8px 10px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

html.viewer120-locked #viewer2026Overlay .viewer140-pro-explorer,
html.viewer119-locked #viewer2026Overlay .viewer140-pro-explorer,
html.viewer120-locked #viewer2026Overlay .viewer140-pro-topbar,
html.viewer119-locked #viewer2026Overlay .viewer140-pro-topbar {
    display: none !important;
}

@media (max-width: 1100px) {
    .viewer140-pro-explorer {
        width: 240px !important;
        left: 12px !important;
    }

    .viewer140-pro-topbar {
        max-width: calc(100vw - 280px) !important;
    }
}

@media (max-width: 840px) {
    .viewer140-pro-explorer {
        display: none !important;
    }

    .viewer140-pro-topbar {
        left: 12px !important;
        right: 12px !important;
        transform: none !important;
        max-width: none !important;
    }
}


/* =====================================================
   Viewer 15.0 Professional — No Generator
   ===================================================== */

.viewer150-pro-topbar [data-pro-refresh],
.viewer150-pro-explorer [data-pro-refresh] {
    min-width: 34px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.viewer150-pro-explorer .viewer140-pro-empty {
    padding: 14px !important;
    color: rgba(255,255,255,.80) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}


/* =====================================================
   Viewer 15.5 Enterprise Explorer
   ===================================================== */

.viewer155-explorer {
    position: fixed !important;
    top: 14px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 24480 !important;
    max-width: min(1100px, calc(100vw - 300px)) !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 9px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(5, 75, 82, .76) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
}

.viewer155-explorer button {
    flex: 0 0 auto !important;
    height: 30px !important;
    border-radius: 999px !important;
    padding: 0 11px !important;
    color: #fff !important;
    background: rgba(255,255,255,.11) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.viewer155-explorer__folders {
    display: flex !important;
    gap: 6px !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

.viewer155-folder.active {
    background: rgba(185,245,255,.20) !important;
    border-color: rgba(185,245,255,.44) !important;
}

.viewer155-folder b {
    margin-left: 5px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.24) !important;
}

.viewer155-explorer [data-v155-status] {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 260px !important;
    color: rgba(255,255,255,.80) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.viewer155-explorer-panel {
    position: fixed !important;
    top: 62px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 24479 !important;
    width: min(980px, calc(100vw - 320px)) !important;
    max-height: min(620px, calc(100vh - 190px)) !important;
    overflow: auto !important;
    padding: 12px !important;
    border-radius: 22px !important;
    color: #fff !important;
    background: rgba(5, 75, 82, .92) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: 0 26px 80px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
    pointer-events: auto !important;
}

.viewer155-explorer-panel[hidden] {
    display: none !important;
}

.viewer155-explorer-panel__head,
.viewer155-list__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.viewer155-explorer-panel__head button {
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer155-node {
    margin: 3px 0 !important;
}

.viewer155-node > button:first-child {
    width: calc(100% - 76px) !important;
    min-height: 32px !important;
    display: inline-grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center !important;
    padding: 5px 9px 5px calc(9px + var(--level, 0) * 16px) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    text-align: left !important;
    cursor: pointer !important;
}

.viewer155-node.active > button:first-child,
.viewer155-node > button:first-child:hover {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.30) !important;
}

.viewer155-node strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
}

.viewer155-node b {
    min-width: 26px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.24) !important;
    text-align: center !important;
    font-size: 11px !important;
}

.viewer155-node > button[data-v155-list-folder] {
    width: 68px !important;
    height: 32px !important;
    margin-left: 6px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.viewer155-explorer-panel__list {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
}

.viewer155-table {
    display: grid !important;
    gap: 4px !important;
}

.viewer155-row {
    display: grid !important;
    grid-template-columns: minmax(240px, 1fr) 70px minmax(140px, .7fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    text-align: left !important;
}

.viewer155-row--head {
    color: rgba(255,255,255,.72) !important;
    background: rgba(0,0,0,.22) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.viewer155-row span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html.viewer120-locked #viewer2026Overlay .viewer155-explorer,
html.viewer120-locked #viewer2026Overlay .viewer155-explorer-panel,
html.viewer119-locked #viewer2026Overlay .viewer155-explorer,
html.viewer119-locked #viewer2026Overlay .viewer155-explorer-panel {
    display: none !important;
}

@media (max-width: 980px) {
    .viewer155-explorer {
        left: 12px !important;
        right: 12px !important;
        transform: none !important;
        max-width: none !important;
    }

    .viewer155-explorer [data-v155-status] {
        display: none !important;
    }

    .viewer155-explorer-panel {
        left: 12px !important;
        right: 12px !important;
        transform: none !important;
        width: auto !important;
    }

    .viewer155-row {
        grid-template-columns: minmax(160px, 1fr) 60px !important;
    }

    .viewer155-row span:nth-child(3) {
        display: none !important;
    }
}


/* =====================================================
   Viewer 15.6 Enterprise Search
   ===================================================== */

.viewer156-folder-search {
    margin: 0 0 12px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.viewer156-folder-search__line {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) 32px !important;
    align-items: center !important;
    gap: 8px !important;
}

.viewer156-folder-search input {
    height: 34px !important;
    min-width: 0 !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    outline: none !important;
    font-weight: 850 !important;
}

.viewer156-folder-search input::placeholder {
    color: rgba(255,255,255,.58) !important;
}

.viewer156-folder-search__line button {
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    cursor: pointer !important;
    font-weight: 950 !important;
}

.viewer156-folder-search__results {
    margin-top: 10px !important;
    max-height: 280px !important;
    overflow: auto !important;
    padding: 8px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer156-folder-search__results[hidden] {
    display: none !important;
}

.viewer156-results-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 12px !important;
}

.viewer156-results-section {
    display: grid !important;
    gap: 5px !important;
    margin: 8px 0 !important;
}

.viewer156-results-section > b {
    color: rgba(255,255,255,.70) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.viewer156-results-section button {
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) minmax(80px, .45fr) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 9px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    text-align: left !important;
    cursor: pointer !important;
}

.viewer156-results-section button:hover {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.30) !important;
}

.viewer156-results-section strong,
.viewer156-results-section em {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.viewer156-results-section strong {
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

.viewer156-results-section em {
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    font-style: normal !important;
    text-align: right !important;
}

.viewer156-empty {
    padding: 10px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}


/* =====================================================
   Viewer 15.7 Enterprise Analytics
   ===================================================== */

.viewer157-analytics {
    position: fixed !important;
    top: 92px !important;
    right: 18px !important;
    bottom: 150px !important;
    z-index: 24450 !important;
    width: 286px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    color: #fff !important;
    background: rgba(5, 75, 82, .78) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}

.viewer157-analytics.collapsed {
    width: 54px !important;
}

.viewer157-analytics.collapsed .viewer157-analytics__body,
.viewer157-analytics.collapsed .viewer157-analytics__head strong {
    display: none !important;
}

.viewer157-analytics__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

.viewer157-analytics__head strong {
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.viewer157-analytics__head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer157-analytics__body {
    overflow: auto !important;
    padding: 10px !important;
    scrollbar-width: thin !important;
}

.viewer157-card {
    margin: 0 0 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

.viewer157-card__title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}

.viewer157-card__title span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.viewer157-card__title button,
.viewer157-card--split button {
    min-height: 32px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    cursor: pointer !important;
    font-weight: 950 !important;
}

.viewer157-meta {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
    min-height: 24px !important;
    font-size: 12px !important;
}

.viewer157-meta span {
    color: rgba(255,255,255,.64) !important;
    font-weight: 850 !important;
}

.viewer157-meta b {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-weight: 900 !important;
}

.viewer157-section-title {
    margin-bottom: 8px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.viewer157-doc-list {
    display: grid !important;
    gap: 5px !important;
}

.viewer157-doc-list button {
    min-height: 32px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    text-align: left !important;
    cursor: pointer !important;
}

.viewer157-doc-list button:hover {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.30) !important;
}

.viewer157-doc-list span,
.viewer157-doc-list em {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.viewer157-doc-list span {
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer157-doc-list em {
    color: rgba(255,255,255,.66) !important;
    font-size: 10px !important;
    font-style: normal !important;
    text-align: right !important;
}

.viewer157-card--split {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
}

.viewer157-card--split button {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 9px !important;
    font-size: 11px !important;
}

.viewer157-card--split b {
    min-width: 20px !important;
    padding: 2px 5px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.24) !important;
}

.viewer157-empty,
.viewer157-empty-small {
    padding: 12px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}

.viewer157-empty-small {
    padding: 6px !important;
}

html.viewer120-locked #viewer2026Overlay .viewer157-analytics,
html.viewer119-locked #viewer2026Overlay .viewer157-analytics {
    display: none !important;
}

@media (max-width: 1120px) {
    .viewer157-analytics {
        display: none !important;
    }
}


/* =====================================================
   Viewer 15.8 Enterprise Knowledge
   ===================================================== */

.viewer158-knowledge {
    position: fixed !important;
    top: 92px !important;
    left: 18px !important;
    bottom: 150px !important;
    z-index: 24448 !important;
    width: 286px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    color: #fff !important;
    background: rgba(42, 54, 88, .78) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}

.viewer158-knowledge.collapsed {
    width: 54px !important;
}

.viewer158-knowledge.collapsed .viewer158-knowledge__body,
.viewer158-knowledge.collapsed .viewer158-knowledge__head strong {
    display: none !important;
}

.viewer158-knowledge__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

.viewer158-knowledge__head strong {
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.viewer158-knowledge__head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer158-knowledge__body {
    overflow: auto !important;
    padding: 10px !important;
    scrollbar-width: thin !important;
}

.viewer158-card {
    margin: 0 0 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

.viewer158-title {
    margin-bottom: 8px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.viewer158-current {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.viewer158-case-list,
.viewer158-link-list,
.viewer158-manual-list {
    display: grid !important;
    gap: 5px !important;
}

.viewer158-case-list button,
.viewer158-link-list button,
.viewer158-graph button {
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    text-align: left !important;
    cursor: pointer !important;
}

.viewer158-case-list button {
    grid-template-columns: minmax(0, 1fr) 34px !important;
}

.viewer158-case-list button:hover,
.viewer158-link-list button:hover,
.viewer158-graph button:hover {
    background: rgba(185,245,255,.14) !important;
    border-color: rgba(185,245,255,.30) !important;
}

.viewer158-case-list span,
.viewer158-link-list span,
.viewer158-graph button {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer158-case-list b {
    min-width: 28px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.24) !important;
    text-align: center !important;
    font-size: 11px !important;
}

.viewer158-case-list em,
.viewer158-link-list em,
.viewer158-manual em {
    grid-column: 1 / -1 !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 10px !important;
    font-style: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.viewer158-manual {
    padding: 8px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer158-manual b,
.viewer158-manual span,
.viewer158-manual em {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.viewer158-manual b {
    font-size: 11px !important;
    color: rgba(255,255,255,.80) !important;
}

.viewer158-manual span {
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer158-graph {
    display: grid !important;
    gap: 5px !important;
}

.viewer158-graph__center {
    padding: 8px !important;
    border-radius: 12px !important;
    background: rgba(0,0,0,.22) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.viewer158-graph button {
    grid-template-columns: 24px minmax(0, 1fr) !important;
}

.viewer158-empty,
.viewer158-empty-small {
    padding: 10px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}

.viewer158-empty-small {
    padding: 6px !important;
}

html.viewer120-locked #viewer2026Overlay .viewer158-knowledge,
html.viewer119-locked #viewer2026Overlay .viewer158-knowledge {
    display: none !important;
}

@media (max-width: 1120px) {
    .viewer158-knowledge {
        display: none !important;
    }
}


/* =====================================================
   Viewer 15.9 Enterprise Case Manager
   ===================================================== */

.viewer159-case-manager {
    position: fixed !important;
    top: 92px !important;
    left: 320px !important;
    bottom: 150px !important;
    z-index: 24446 !important;
    width: 286px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    color: #fff !important;
    background: rgba(82, 58, 24, .78) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}

.viewer159-case-manager.collapsed {
    width: 54px !important;
}

.viewer159-case-manager.collapsed .viewer159-case-manager__body,
.viewer159-case-manager.collapsed .viewer159-case-manager__head strong {
    display: none !important;
}

.viewer159-case-manager__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

.viewer159-case-manager__head strong {
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.viewer159-case-manager__head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
}

.viewer159-case-manager__body {
    overflow: auto !important;
    padding: 10px !important;
    scrollbar-width: thin !important;
}

.viewer159-card {
    margin: 0 0 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

.viewer159-title {
    margin-bottom: 8px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.viewer159-create {
    width: 100% !important;
    min-height: 34px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    cursor: pointer !important;
    font-weight: 950 !important;
}

.viewer159-current {
    margin-top: 8px !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}

.viewer159-current b {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #fff !important;
    font-size: 12px !important;
}

.viewer159-case-list {
    display: grid !important;
    gap: 7px !important;
}

.viewer159-case {
    padding: 7px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.viewer159-case__top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 30px 30px !important;
    gap: 5px !important;
    align-items: center !important;
}

.viewer159-case__top button,
.viewer159-case-list > button {
    min-height: 32px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    cursor: pointer !important;
}

.viewer159-case__top button:first-child,
.viewer159-case-list > button {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    padding: 6px 8px !important;
    text-align: left !important;
}

.viewer159-case__top button:hover,
.viewer159-case-list > button:hover,
.viewer159-doc-row button:hover {
    background: rgba(255,230,180,.16) !important;
    border-color: rgba(255,230,180,.34) !important;
}

.viewer159-case__top span,
.viewer159-case-list span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.viewer159-case__top b,
.viewer159-case-list b {
    min-width: 24px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.24) !important;
    text-align: center !important;
    font-size: 11px !important;
}

.viewer159-doc-list {
    display: grid !important;
    gap: 4px !important;
    margin-top: 7px !important;
}

.viewer159-doc-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    gap: 4px !important;
}

.viewer159-doc-row button {
    min-height: 28px !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    cursor: pointer !important;
}

.viewer159-doc-row button:first-child {
    padding: 5px 7px !important;
    text-align: left !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.viewer159-empty,
.viewer159-empty-small {
    padding: 8px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}

.viewer159-empty-small {
    padding: 6px !important;
    font-size: 11px !important;
}

html.viewer120-locked #viewer2026Overlay .viewer159-case-manager,
html.viewer119-locked #viewer2026Overlay .viewer159-case-manager {
    display: none !important;
}

@media (max-width: 1320px) {
    .viewer159-case-manager {
        display: none !important;
    }
}


/* =====================================================
   Viewer 15.14 Enterprise Workspace III Stable HotFix
   ===================================================== */

:root {
    --viewer-left-width: 286px;
    --viewer-right-width: 286px;
}

#viewer2026Overlay .viewer1510-workspace-switcher,
#viewer2026Overlay .viewer1511-shell,
#viewer2026Overlay .viewer1513-shell {
    display: none !important;
}

#viewer2026Overlay .viewer1514-shell {
    position: fixed !important;
    top: 104px !important;
    bottom: 150px !important;
    z-index: 24700 !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr !important;
    color: #fff !important;
    border-radius: 22px !important;
    background: rgba(5, 75, 82, .82) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    transition: transform .18s ease, opacity .18s ease, width .12s ease !important;
}

#viewer2026Overlay .viewer1514-shell--left {
    left: 18px !important;
    right: auto !important;
    width: var(--viewer-left-width) !important;
}

#viewer2026Overlay .viewer1514-shell--right {
    right: 18px !important;
    left: auto !important;
    width: var(--viewer-right-width) !important;
}

#viewer2026Overlay .viewer1514-shell.is-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
}

#viewer2026Overlay .viewer1514-shell--left.is-hidden {
    transform: translateX(calc(-1 * var(--viewer-left-width) - 26px)) !important;
}

#viewer2026Overlay .viewer1514-shell--right.is-hidden {
    transform: translateX(calc(var(--viewer-right-width) + 26px)) !important;
}

#viewer2026Overlay .viewer1514-shell__head {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

#viewer2026Overlay .viewer1514-shell__head strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

#viewer2026Overlay .viewer1514-size {
    display: flex !important;
    gap: 4px !important;
    align-items: center !important;
}

#viewer2026Overlay .viewer1514-size button {
    width: 27px !important;
    height: 27px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    cursor: pointer !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

#viewer2026Overlay .viewer1514-shell__tabs {
    display: flex !important;
    gap: 0 !important;
    padding: 7px 8px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

#viewer2026Overlay .viewer1514-shell__tabs button {
    flex: 0 0 auto !important;
    height: 31px !important;
    padding: 0 11px !important;
    border-radius: 11px 11px 0 0 !important;
    color: rgba(255,255,255,.78) !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-bottom: 0 !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    margin-right: 3px !important;
}

#viewer2026Overlay .viewer1514-shell__tabs button.active {
    color: #fff !important;
    background: rgba(185,245,255,.20) !important;
    border-color: rgba(185,245,255,.36) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#viewer2026Overlay .viewer1514-shell__body {
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(185,245,255,.42) transparent !important;
}

#viewer2026Overlay .viewer1514-shell__body::-webkit-scrollbar {
    width: 6px !important;
}

#viewer2026Overlay .viewer1514-shell__body::-webkit-scrollbar-thumb {
    background: rgba(185,245,255,.35) !important;
    border-radius: 999px !important;
}

#viewer2026Overlay .viewer1514-resizer {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 8px !important;
    cursor: ew-resize !important;
    z-index: 5 !important;
    background: transparent !important;
}

#viewer2026Overlay .viewer1514-resizer--left {
    right: -3px !important;
}

#viewer2026Overlay .viewer1514-resizer--right {
    left: -3px !important;
}

#viewer2026Overlay .viewer1514-resizer:hover {
    background: rgba(185,245,255,.16) !important;
}

html.viewer1514-resizing,
html.viewer1514-resizing * {
    cursor: ew-resize !important;
    user-select: none !important;
}

#viewer2026Overlay .viewer1514-tab-panel {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: auto !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
}

#viewer2026Overlay .viewer1514-tab-panel[hidden],
#viewer2026Overlay .viewer1514-shell [hidden] {
    display: none !important;
}

#viewer2026Overlay .viewer1514-tab-panel:not([hidden]) {
    display: block !important;
}

#viewer2026Overlay .viewer1514-tab-panel.viewer157-analytics:not([hidden]),
#viewer2026Overlay .viewer1514-tab-panel.viewer158-knowledge:not([hidden]),
#viewer2026Overlay .viewer1514-tab-panel.viewer159-case-manager:not([hidden]) {
    display: grid !important;
    grid-template-rows: 1fr !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer67-toolbar__title,
#viewer2026Overlay .viewer1514-tab-panel .viewer116-work-toolbar__title,
#viewer2026Overlay .viewer1514-tab-panel .viewer117-text-toolbar__title,
#viewer2026Overlay .viewer1514-tab-panel .viewer157-analytics__head,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-knowledge__head,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-case-manager__head {
    display: none !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-analytics__body,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-knowledge__body,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-case-manager__body {
    min-height: 0 !important;
    overflow: visible !important;
    padding: 8px !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-card,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-card,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-card,
#viewer2026Overlay .viewer1514-tab-panel .viewer116-work-toolbar__section,
#viewer2026Overlay .viewer1514-tab-panel .viewer117-text-toolbar__section {
    margin: 6px 8px !important;
    padding: 8px !important;
    border-radius: 13px !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-section-title,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-title,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-title,
#viewer2026Overlay .viewer1514-section-title {
    margin-bottom: 6px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-doc-list button,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-link-list button,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-doc-row button,
#viewer2026Overlay .viewer1514-tab-panel .viewer116-work-toolbar button,
#viewer2026Overlay .viewer1514-tab-panel .viewer117-text-toolbar button {
    min-height: 28px !important;
}

#viewer2026Overlay > .viewer116-work-toolbar,
#viewer2026Overlay > .viewer117-text-toolbar,
#viewer2026Overlay > .viewer157-analytics,
#viewer2026Overlay > .viewer158-knowledge,
#viewer2026Overlay > .viewer159-case-manager {
    display: none !important;
}

#viewer2026Overlay .viewer65-launch,
#viewer2026Overlay .viewer65-mini,
#viewer2026Overlay .viewer65-floating,
#viewer2026Overlay .viewer65-launcher,
#viewer2026Overlay .viewer65-launch-button,
#viewer2026Overlay .viewer65-launch__button,
#viewer2026Overlay .viewer6-kg,
#viewer2026Overlay [data-kg-launcher],
#viewer2026Overlay [class*="kg"][class*="mini"],
#viewer2026Overlay [class*="kg"][class*="badge"] {
    display: none !important;
}

html[data-viewer-workspace="1514"]:not([data-viewer-left-panel="none"]) #viewer2026Overlay .viewer4__stage {
    left: calc(var(--viewer-left-width) + 36px) !important;
}

html[data-viewer-workspace="1514"]:not([data-viewer-right-panel="none"]) #viewer2026Overlay .viewer4__stage {
    right: calc(var(--viewer-right-width) + 36px) !important;
}

html[data-viewer-workspace="1514"][data-viewer-left-panel="none"] #viewer2026Overlay .viewer4__stage {
    left: 14px !important;
}

html[data-viewer-workspace="1514"][data-viewer-right-panel="none"] #viewer2026Overlay .viewer4__stage {
    right: 14px !important;
}

html.viewer120-locked #viewer2026Overlay .viewer1514-shell,
html.viewer119-locked #viewer2026Overlay .viewer1514-shell {
    display: none !important;
}

@media (max-width: 1180px) {
    #viewer2026Overlay .viewer1514-shell {
        display: none !important;
    }
}


/* =====================================================
   Viewer 15.15 Enterprise Workspace Final
   Финальная доводка рабочего пространства.
   ===================================================== */

:root {
    --viewer-left-width: 300px;
    --viewer-right-width: 255px;
    --viewer-left-gap: 342px;
    --viewer-right-gap: 297px;
}

/* Центр документа рассчитывается от свободного пространства между панелями */
html[data-viewer-workspace="1515"] #viewer2026Overlay .viewer4__stage {
    left: var(--viewer-left-gap) !important;
    right: var(--viewer-right-gap) !important;
}

html[data-viewer-workspace="1515"][data-viewer-left-panel="none"] #viewer2026Overlay .viewer4__stage {
    left: 18px !important;
}

html[data-viewer-workspace="1515"][data-viewer-right-panel="none"] #viewer2026Overlay .viewer4__stage {
    right: 18px !important;
}

/* Панели: левую чуть шире, правую компактнее */
#viewer2026Overlay .viewer1514-shell--left {
    width: var(--viewer-left-width) !important;
}

#viewer2026Overlay .viewer1514-shell--right {
    width: var(--viewer-right-width) !important;
}

/* Панели меньше давят на ленту миниатюр */
#viewer2026Overlay .viewer1514-shell {
    top: 98px !important;
    bottom: 165px !important;
}

#viewer2026Overlay .viewer1514-shell__head {
    min-height: 34px !important;
    padding: 6px 9px !important;
}

#viewer2026Overlay .viewer1514-shell__tabs {
    padding: 6px 7px 0 !important;
}

#viewer2026Overlay .viewer1514-shell__tabs button {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 10.5px !important;
}

/* Компактные карточки */
#viewer2026Overlay .viewer1514-tab-panel .viewer157-card,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-card,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-card {
    margin: 5px 7px !important;
    padding: 7px !important;
    border-radius: 12px !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-meta {
    min-height: 20px !important;
    font-size: 11px !important;
}

#viewer2026Overlay .viewer1514-tab-panel .viewer157-doc-list button,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-link-list button,
#viewer2026Overlay .viewer1514-tab-panel .viewer158-case-list button,
#viewer2026Overlay .viewer1514-tab-panel .viewer159-doc-row button {
    min-height: 26px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Секции Knowledge: заголовки кликабельны и компактны */
#viewer2026Overlay .viewer1515-knowledge-compact .viewer158-title {
    cursor: pointer !important;
    user-select: none !important;
}

#viewer2026Overlay .viewer1515-knowledge-compact .viewer158-title::before {
    content: "▾ " !important;
    opacity: .75 !important;
}

#viewer2026Overlay .viewer1515-knowledge-compact .viewer158-card.is-collapsed .viewer158-title::before {
    content: "▸ " !important;
}

#viewer2026Overlay .viewer1515-knowledge-compact .viewer158-card.is-collapsed > *:not(.viewer158-title) {
    display: none !important;
}

/* Правая аналитика разбивается на внутренние вкладки */
#viewer2026Overlay .viewer1515-inner-tabs {
    display: flex !important;
    gap: 4px !important;
    margin: 0 7px 6px !important;
    padding-top: 5px !important;
}

#viewer2026Overlay .viewer1515-inner-tabs button {
    flex: 1 1 auto !important;
    height: 26px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.78) !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

#viewer2026Overlay .viewer1515-inner-tabs button.active {
    color: #fff !important;
    background: rgba(185,245,255,.20) !important;
    border-color: rgba(185,245,255,.35) !important;
}

/* Режимы правой аналитики.
   Порядок карточек: KG, документ, связанные, избранное/недавние, последние, избранные */
#viewer2026Overlay [data-v1515-analytics-mode="info"] .viewer157-card:nth-of-type(n+4) {
    display: none !important;
}

#viewer2026Overlay [data-v1515-analytics-mode="links"] .viewer157-card:nth-of-type(2),
#viewer2026Overlay [data-v1515-analytics-mode="links"] .viewer157-card:nth-of-type(4),
#viewer2026Overlay [data-v1515-analytics-mode="links"] .viewer157-card:nth-of-type(5),
#viewer2026Overlay [data-v1515-analytics-mode="links"] .viewer157-card:nth-of-type(6) {
    display: none !important;
}

#viewer2026Overlay [data-v1515-analytics-mode="history"] .viewer157-card:nth-of-type(2),
#viewer2026Overlay [data-v1515-analytics-mode="history"] .viewer157-card:nth-of-type(3) {
    display: none !important;
}

/* Тонкий скролл */
#viewer2026Overlay .viewer1514-shell__body::-webkit-scrollbar {
    width: 5px !important;
}

#viewer2026Overlay .viewer1514-shell__body::-webkit-scrollbar-thumb {
    background: rgba(185,245,255,.28) !important;
}

#viewer2026Overlay .viewer1514-shell__body:hover::-webkit-scrollbar-thumb {
    background: rgba(185,245,255,.48) !important;
}

/* Документ визуально приоритетнее */
#viewer2026Overlay .viewer4__document,
#viewer2026Overlay .viewer4__page,
#viewer2026Overlay .viewer4__paper {
    transition: transform .15s ease, width .15s ease, height .15s ease !important;
}


/* =====================================================
   Viewer 15.16 Enterprise Folder Scoped Thumbnails
   Миниатюры Viewer всегда соответствуют выбранной папке.
   ===================================================== */

#viewer2026Overlay .viewer4__thumbs {
    contain: content !important;
}

#viewer2026Overlay .viewer4__thumb {
    flex: 0 0 auto !important;
}


/* =====================================================
   Viewer 15.17 Enterprise Strict Folder Scope
   Нижняя лента миниатюр строго соответствует выбранной папке.
   ===================================================== */

#viewer2026Overlay .viewer4__thumb[data-folder-path] {
    outline-offset: -2px;
}


/* =====================================================
   Viewer 15.18 Enterprise Default Education
   Старт любого режима — папка "Diplom".
   ===================================================== */


/* =====================================================
   Viewer 15.19 Enterprise File Types
   PDF, TXT, Word, Excel в индексе, ленте и Viewer.
   ===================================================== */

#viewer2026Overlay .viewer1519-file-badge {
    position: absolute !important;
    left: 8px !important;
    bottom: 34px !important;
    z-index: 4 !important;
    min-width: 34px !important;
    height: 18px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: rgba(160,40,40,.92) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.24) !important;
}

#viewer2026Overlay .viewer4__thumb.text-file .viewer1519-file-badge { background: rgba(75,95,120,.92) !important; }
#viewer2026Overlay .viewer4__thumb.word-file .viewer1519-file-badge { background: rgba(45,91,170,.92) !important; }
#viewer2026Overlay .viewer4__thumb.excel-file .viewer1519-file-badge { background: rgba(37,118,75,.92) !important; }

#viewer2026Overlay .viewer4__card.text-file img,
#viewer2026Overlay .viewer4__card.word-file img,
#viewer2026Overlay .viewer4__card.excel-file img,
#viewer2026Overlay .viewer4__card.pdf img,
#viewer2026Overlay .viewer4__thumb.text-file img,
#viewer2026Overlay .viewer4__thumb.word-file img,
#viewer2026Overlay .viewer4__thumb.excel-file img {
    object-fit: contain !important;
    background: #fff !important;
}


/* =====================================================
   Viewer 15.20 Enterprise PDF Restore + Education Only
   PDF снова отображается через прежний PDF renderer; одна метка PDF.
   ===================================================== */

#viewer2026Overlay .viewer4__thumb.pdf .viewer1519-file-badge,
.viewer2026-docs .viewer4__thumb.pdf .viewer1519-file-badge {
    display: none !important;
}

#viewer2026Overlay .viewer4__card.pdf img,
#viewer2026Overlay .viewer4__thumb.pdf img {
    object-fit: contain !important;
    background: #fff !important;
}


/* =====================================================
   Viewer 15.21 Enterprise Education Start Strict
   documentation.html всегда стартует с documents/Diplom.
   ===================================================== */


/* =====================================================
   Viewer 15.22 Enterprise Education Fullscreen + PDF Thumb
   Старт/возврат из fullscreen — Diplom; PDF имеет картинку в миниатюре.
   ===================================================== */


#viewer2026Overlay .viewer4__thumb.pdf img,
.viewer2026-docs .viewer4__thumb.pdf img,
.doc2026__thumb img[src^="data:image/svg+xml"] {
    object-fit: contain !important;
    background: #fff !important;
}


/* =====================================================
   Viewer 15.23 Education Return + PDF Page Thumb
   После закрытия Viewer — Diplom; PDF-миниатюра — картинка страницы.
   ===================================================== */

#viewer2026Overlay .viewer4__thumb.pdf .viewer1519-file-badge,
.viewer2026-docs .viewer4__thumb.pdf .viewer1519-file-badge,
.doc2026__thumb.pdf .viewer1519-file-badge {
    display: none !important;
}

#viewer2026Overlay .viewer4__thumb.pdf img,
.viewer2026-docs .viewer4__thumb.pdf img,
.doc2026__thumb img {
    object-fit: contain !important;
}

/* Viewer 15.24: documentation.html только documents/Diplom */

/* Viewer 15.25: кнопка Все документы показывает все папки documents/* */


/* =====================================================
   Viewer 15.26 Enterprise All Documents Folder Sections
   В режиме "Все документы" перед документами каждой папки показывается метка.
   ===================================================== */

.doc2026__folder-label1526,
#viewer2026Overlay .viewer4__folder-label1526 {
    flex: 0 0 auto !important;
    min-width: 160px !important;
    height: 112px !important;
    margin: 0 8px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 18px !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(6,85,93,.96), rgba(38,132,141,.88)) !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.22) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
    white-space: nowrap !important;
}

#viewer2026Overlay .viewer4__folder-label1526 {
    height: 132px !important;
}

#viewer2026Overlay .viewer4__card--folder-label1526 {
    display: none !important;
}


/* =====================================================
   Viewer 15.29 Enterprise RightClick Open
   Правый щелчок по документу в проводнике открывает его как основной.
   ===================================================== */

.viewer155-row[data-v155-doc-src],
.viewer155-doc-name {
    cursor: context-menu !important;
}


/* =====================================================
   Viewer 15.30 Enterprise LeftClick Open
   Левый щелчок по документу в проводнике открывает его как основной.
   ===================================================== */

.viewer155-row[data-v155-doc-src],
.viewer155-doc-name {
    cursor: pointer !important;
}


/* =====================================================
   Viewer 15.31 Enterprise All Documents Panel + Thumbs
   "Все документы" показывает все документы в панели документов и миниатюрах.
   ===================================================== */

.viewer155-folder-section1531 {
    grid-column: 1 / -1 !important;
    margin: 8px 0 4px !important;
    padding: 8px 12px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(6,85,93,.96), rgba(38,132,141,.88)) !important;
    font-weight: 950 !important;
    letter-spacing: .2px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.16) !important;
}

.viewer155-list__head strong {
    white-space: nowrap !important;
}


/* =====================================================
   Viewer 15.32 — Knowledge Graph Engine hidden without password
   ===================================================== */

html.viewer120-locked .viewer65-kg,
html.viewer120-locked .viewer65-launch,
html.viewer120-locked .viewer65-mini,
html.viewer120-locked .viewer65-floating,
html.viewer120-locked .viewer65-launcher,
html.viewer120-locked .viewer65-launch-button,
html.viewer120-locked .viewer65-launch__button,
html.viewer120-locked [data-kg-launcher],
html.viewer1532-kg-locked .viewer65-kg,
html.viewer1532-kg-locked .viewer65-launch,
html.viewer1532-kg-locked .viewer65-mini,
html.viewer1532-kg-locked .viewer65-floating,
html.viewer1532-kg-locked .viewer65-launcher,
html.viewer1532-kg-locked .viewer65-launch-button,
html.viewer1532-kg-locked .viewer65-launch__button,
html.viewer1532-kg-locked [data-kg-launcher] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* =====================================================
   Viewer 16.0 Enterprise Adaptive Workspace
   Документу максимум пространства, панели не перекрывают миниатюры.
   ===================================================== */

:root {
    --viewer160-left-safe: 318px;
    --viewer160-right-safe: 290px;
    --viewer160-top-safe: 92px;
    --viewer160-bottom-safe: 164px;
    --viewer160-thumb-height: 138px;
}

/* Нижняя лента миниатюр всегда свободна */
html.viewer160-adaptive #viewer2026Overlay .viewer4__thumbs,
html.viewer160-adaptive #viewer2026Overlay .viewer4__thumbstrip,
html.viewer160-adaptive #viewer2026Overlay [class*="thumbs"] {
    z-index: 25250 !important;
}

/* Боковые панели не попадают на миниатюры */
html.viewer160-adaptive #viewer2026Overlay .viewer1514-shell {
    top: var(--viewer160-top-safe) !important;
    bottom: calc(var(--viewer160-bottom-safe) + 8px) !important;
    max-height: calc(100vh - var(--viewer160-top-safe) - var(--viewer160-bottom-safe) - 8px) !important;
    overflow: hidden !important;
}

html.viewer160-adaptive #viewer2026Overlay .viewer1514-shell__body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
}

/* Центральная область рассчитывается между панелями */
html.viewer160-adaptive #viewer2026Overlay .viewer4__stage {
    top: var(--viewer160-top-safe) !important;
    left: var(--viewer160-left-safe) !important;
    right: var(--viewer160-right-safe) !important;
    bottom: var(--viewer160-bottom-safe) !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Документ внутри центральной области */
html.viewer160-adaptive #viewer2026Overlay .viewer4__track {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html.viewer160-adaptive #viewer2026Overlay .viewer4__card {
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto !important;
}

html.viewer160-adaptive #viewer2026Overlay .viewer4__card img,
html.viewer160-adaptive #viewer2026Overlay .viewer4__card canvas {
    max-width: 100% !important;
    max-height: calc(100vh - var(--viewer160-top-safe) - var(--viewer160-bottom-safe) - 22px) !important;
    object-fit: contain !important;
}

/* Подсказка "Колесо..." переносится вниз в статусную строку */
html.viewer160-adaptive #viewer2026Overlay .viewer4__hint {
    display: none !important;
}

html.viewer160-adaptive #viewer2026Overlay .viewer160-statusbar {
    position: fixed !important;
    left: var(--viewer160-left-safe) !important;
    right: var(--viewer160-right-safe) !important;
    bottom: calc(var(--viewer160-thumb-height) + 10px) !important;
    z-index: 25280 !important;
    min-height: 28px !important;
    padding: 5px 12px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.90) !important;
    background: rgba(5,75,82,.74) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

/* Режим фокуса: документ почти на весь экран */
html.viewer160-focus #viewer2026Overlay .viewer1514-shell,
html.viewer160-focus #viewer2026Overlay .viewer155-explorer,
html.viewer160-focus #viewer2026Overlay .viewer155-explorer-panel,
html.viewer160-focus #viewer2026Overlay .viewer157-analytics,
html.viewer160-focus #viewer2026Overlay .viewer158-knowledge,
html.viewer160-focus #viewer2026Overlay .viewer159-case-manager,
html.viewer160-focus #viewer2026Overlay .viewer116-work-toolbar,
html.viewer160-focus #viewer2026Overlay .viewer117-text-toolbar {
    display: none !important;
}

html.viewer160-focus #viewer2026Overlay .viewer4__stage {
    left: 18px !important;
    right: 18px !important;
    bottom: 18px !important;
    top: 72px !important;
}

html.viewer160-focus #viewer2026Overlay .viewer160-statusbar {
    left: 50% !important;
    right: auto !important;
    bottom: 20px !important;
    transform: translateX(-50%) !important;
    opacity: .72 !important;
}

/* В фокусе лента миниатюр скрыта, документ свободнее */
html.viewer160-focus #viewer2026Overlay .viewer4__thumbs,
html.viewer160-focus #viewer2026Overlay .viewer4__thumbstrip,
html.viewer160-focus #viewer2026Overlay [class*="thumbs"] {
    display: none !important;
}

/* Адаптация для узких экранов */
@media (max-width: 1180px) {
    html.viewer160-adaptive #viewer2026Overlay .viewer1514-shell {
        display: none !important;
    }

    html.viewer160-adaptive #viewer2026Overlay .viewer4__stage {
        left: 16px !important;
        right: 16px !important;
        bottom: var(--viewer160-bottom-safe) !important;
    }

    html.viewer160-adaptive #viewer2026Overlay .viewer160-statusbar {
        left: 16px !important;
        right: 16px !important;
        font-size: 11px !important;
        gap: 8px !important;
    }
}

@media (max-width: 760px) {
    html.viewer160-adaptive #viewer2026Overlay .viewer160-statusbar span:nth-child(n+3) {
        display: none !important;
    }
}


/* =====================================================
   Viewer 16.2 Enterprise Rendering Engine
   Clean Document Layer: без овального blur/floor слоя.
   ===================================================== */

/* Полное отключение старого овального слоя Rendering Engine 5.2 */
html.viewer162-render-engine #viewer2026Overlay .viewer52__floor,
html.viewer162-render-engine #viewer2026Overlay .viewer52__light,
#viewer2026Overlay.viewer162-render-engine .viewer52__floor,
#viewer2026Overlay.viewer162-render-engine .viewer52__light {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Stage больше не рисует декоративную стеклянную вуаль поверх документа */
html.viewer162-render-engine #viewer2026Overlay .viewer4__stage::before,
html.viewer162-render-engine #viewer2026Overlay .viewer4__stage::after,
#viewer2026Overlay.viewer162-render-engine .viewer4__stage::before,
#viewer2026Overlay.viewer162-render-engine .viewer4__stage::after {
    display: none !important;
    content: none !important;
    background: none !important;
    opacity: 0 !important;
}

/* У stage остаётся только фон сцены, без backdrop blur */
html.viewer162-render-engine #viewer2026Overlay .viewer4__stage,
#viewer2026Overlay.viewer162-render-engine .viewer4__stage {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    isolation: auto !important;
}

/* Карточка документа — простой чистый слой, без стеклянной маски */
html.viewer162-render-engine #viewer2026Overlay .viewer4__card-page,
#viewer2026Overlay.viewer162-render-engine .viewer4__card-page {
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 36px rgba(0,0,0,.24) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
}

/* Убираем декоративные эллипсы под карточками и глянцевые псевдослои */
html.viewer162-render-engine #viewer2026Overlay .viewer4__card-page::before,
html.viewer162-render-engine #viewer2026Overlay .viewer4__card-page::after,
#viewer2026Overlay.viewer162-render-engine .viewer4__card-page::before,
#viewer2026Overlay.viewer162-render-engine .viewer4__card-page::after {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
}

/* Активный документ — основной чистый белый документ */
html.viewer162-render-engine #viewer2026Overlay .viewer4__card.active,
#viewer2026Overlay.viewer162-render-engine .viewer4__card.active {
    z-index: 30000 !important;
    filter: none !important;
}

html.viewer162-render-engine #viewer2026Overlay .viewer4__card.active .viewer4__card-page,
#viewer2026Overlay.viewer162-render-engine .viewer4__card.active .viewer4__card-page {
    background: #ffffff !important;
    border: 2px solid rgba(255,255,255,.82) !important;
    border-radius: 22px !important;
    box-shadow:
        0 0 0 1px rgba(185,245,255,.22),
        0 26px 58px rgba(0,0,0,.38) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Изображение активного документа не затемняется и не смешивается с фоном */
html.viewer162-render-engine #viewer2026Overlay .viewer4__card.active img,
#viewer2026Overlay.viewer162-render-engine .viewer4__card.active img {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

/* Боковые карточки остаются, но без тяжёлого стекла и без овальных бликов */
html.viewer162-render-engine #viewer2026Overlay .viewer4__card:not(.active) .viewer4__card-page,
#viewer2026Overlay.viewer162-render-engine .viewer4__card:not(.active) .viewer4__card-page {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.20) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.viewer162-render-engine #viewer2026Overlay .viewer4__card:not(.active) img,
#viewer2026Overlay.viewer162-render-engine .viewer4__card:not(.active) img {
    opacity: .54 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Если старые классы всё-таки снова добавятся, визуально они ничего не меняют */
html.viewer162-render-engine #viewer2026Overlay.viewer52-scene-ready .viewer4__stage,
html.viewer162-render-engine #viewer2026Overlay.viewer4-glass-ready .viewer4__stage,
#viewer2026Overlay.viewer162-render-engine.viewer52-scene-ready .viewer4__stage,
#viewer2026Overlay.viewer162-render-engine.viewer4-glass-ready .viewer4__stage {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.viewer162-render-engine #viewer2026Overlay.viewer5-quality-high .viewer4__card.active .viewer4__card-page,
#viewer2026Overlay.viewer162-render-engine.viewer5-quality-high .viewer4__card.active .viewer4__card-page {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Нейтрализация возможных следов Viewer 16.1 Stage1/Build2 при установке поверх них */
html.viewer162-render-engine.viewer161-fluid #viewer2026Overlay .viewer4__stage,
html.viewer162-render-engine.viewer161b2-fluid #viewer2026Overlay .viewer4__stage {
    position: relative !important;
    inset: auto !important;
}


/* =====================================================
   Viewer 16.2.1 LTS — Safe Thumbnails Patch
   Только улучшение панели миниатюр.
   JS и архитектура Viewer не изменяются.
   ===================================================== */

#viewer2026Overlay .viewer4__thumbs {
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
}

#viewer2026Overlay .viewer4__thumbs::-webkit-scrollbar {
    height: 8px !important;
}

#viewer2026Overlay .viewer4__thumbs::-webkit-scrollbar-track {
    background: rgba(255,255,255,.10) !important;
    border-radius: 999px !important;
}

#viewer2026Overlay .viewer4__thumbs::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.34) !important;
    border-radius: 999px !important;
}

#viewer2026Overlay .viewer4__thumb {
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    opacity: .94 !important;
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease,
        opacity .15s ease !important;
}

#viewer2026Overlay .viewer4__thumb:hover {
    transform: translateY(-2px) !important;
    opacity: 1 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.30) !important;
}

#viewer2026Overlay .viewer4__thumb.active,
#viewer2026Overlay .viewer4__thumb.is-active,
#viewer2026Overlay .viewer4__thumb[aria-current="true"] {
    opacity: 1 !important;
    border-color: rgba(255,255,255,.88) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.42),
        0 12px 28px rgba(0,0,0,.36) !important;
}

#viewer2026Overlay .viewer4__thumb img,
#viewer2026Overlay .viewer4__thumb canvas {
    display: block !important;
    object-fit: contain !important;
    background: rgba(255,255,255,.92) !important;
    border-radius: 5px !important;
}

#viewer2026Overlay .viewer4__thumb-title {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: center !important;
}

/* PDF-метка без изменения логики PDF */
#viewer2026Overlay .viewer4__thumb .viewer-pdf-badge,
#viewer2026Overlay .viewer4__thumb .pdf-badge,
#viewer2026Overlay .viewer4__thumb [data-pdf-badge] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 16px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .2px !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer4__thumbs {
        padding: 6px 8px !important;
        gap: 7px !important;
    }

    #viewer2026Overlay .viewer4__thumb,
    #viewer2026Overlay .viewer4__thumb:hover {
        transform: none !important;
    }
}


/* Viewer 16.2.2 LTS — Side Panels After Password */
html.viewer120-unlocked #viewer2026Overlay .viewer116-work-toolbar,
html.viewer120-unlocked #viewer2026Overlay .viewer117-text-toolbar,
html.viewer119-unlocked #viewer2026Overlay .viewer116-work-toolbar,
html.viewer119-unlocked #viewer2026Overlay .viewer117-text-toolbar,
#viewer2026Overlay.viewer1622-side-panels-open .viewer116-work-toolbar,
#viewer2026Overlay.viewer1622-side-panels-open .viewer117-text-toolbar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}


/* =====================================================
   Viewer 16.2.4 LTS — Fast Search & Highlight
   Быстрый поиск и подсветка без изменения ядра Viewer.
   ===================================================== */

#viewer2026Overlay .viewer1624-search {
    position: absolute !important;
    top: 64px !important;
    right: 20px !important;
    width: min(430px, calc(100vw - 40px)) !important;
    max-height: calc(100vh - 190px) !important;
    z-index: 210000 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    background: rgba(5, 70, 73, .94) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.36) !important;
    color: #fff !important;
    backdrop-filter: blur(10px) !important;
}

#viewer2026Overlay .viewer1624-search[hidden] {
    display: none !important;
}

#viewer2026Overlay .viewer1624-search__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

#viewer2026Overlay .viewer1624-search__head strong {
    font-size: 13px !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer1624-search__head button,
#viewer2026Overlay .viewer1624-search__line button {
    cursor: pointer !important;
}

#viewer2026Overlay .viewer1624-search__head button {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

#viewer2026Overlay .viewer1624-search__line {
    display: flex !important;
    gap: 7px !important;
}

#viewer2026Overlay .viewer1624-search__line input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.94) !important;
    color: #123 !important;
    font-weight: 700 !important;
}

#viewer2026Overlay .viewer1624-search__line button {
    flex: 0 0 auto !important;
    height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

#viewer2026Overlay .viewer1624-search__meta {
    font-size: 11px !important;
    opacity: .84 !important;
}

#viewer2026Overlay .viewer1624-search__results {
    overflow: auto !important;
    max-height: calc(100vh - 310px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding-right: 2px !important;
}

#viewer2026Overlay .viewer1624-search__item {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 8px !important;
    text-align: left !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important;
}

#viewer2026Overlay .viewer1624-search__item:hover {
    background: rgba(255,255,255,.18) !important;
}

#viewer2026Overlay .viewer1624-search__num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.16) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer1624-search__body {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

#viewer2026Overlay .viewer1624-search__body strong,
#viewer2026Overlay .viewer1624-search__body em {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#viewer2026Overlay .viewer1624-search__body strong {
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer1624-search__body em {
    font-size: 11px !important;
    font-style: normal !important;
    opacity: .88 !important;
}

#viewer2026Overlay .viewer1624-search__body small {
    display: flex !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    font-size: 10px !important;
    opacity: .78 !important;
}

#viewer2026Overlay .viewer1624-search mark {
    color: #111 !important;
    background: rgba(255, 231, 96, .95) !important;
    border-radius: 4px !important;
    padding: 0 2px !important;
}

#viewer2026Overlay .viewer1624-search__folder,
#viewer2026Overlay .viewer1624-search__type {
    display: inline-flex !important;
    align-items: center !important;
    height: 17px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.13) !important;
}

#viewer2026Overlay .viewer1624-search__empty {
    padding: 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.10) !important;
    font-size: 12px !important;
}

#viewer2026Overlay .viewer4__thumb.viewer1624-search-hit {
    box-shadow:
        0 0 0 3px rgba(255, 231, 96, .88),
        0 12px 28px rgba(0,0,0,.40) !important;
    opacity: 1 !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer1624-search {
        top: 56px !important;
        right: 8px !important;
        left: 8px !important;
        width: auto !important;
    }
}


/* Viewer 16.2.5 LTS — Accurate Timer */
#viewer2026Overlay [data-action="speed"],
#speedSelect {
    font-variant-numeric: tabular-nums !important;
}


/* Viewer 16.2.6 LTS — Preload Next Document */
#viewer2026Overlay .viewer4__thumb img,
#viewer2026Overlay .viewer4__thumb canvas {
    content-visibility: auto !important;
}


/* =====================================================
   Viewer 16.2.7 LTS — Document Navigator
   Малый навигационный блок без изменения ядра Viewer.
   ===================================================== */

#viewer2026Overlay .viewer1627-navigator {
    position: absolute !important;
    top: 64px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 150000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    pointer-events: auto !important;
}

#viewer2026Overlay .viewer1627-navigator button {
    min-width: 42px !important;
    height: 30px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: .90 !important;
}

#viewer2026Overlay .viewer1627-navigator button:hover {
    opacity: 1 !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer1627-navigator {
        top: 56px !important;
        gap: 4px !important;
    }

    #viewer2026Overlay .viewer1627-navigator button {
        min-width: 36px !important;
        height: 28px !important;
        padding: 0 7px !important;
        font-size: 11px !important;
    }
}


/* =====================================================
   Viewer 16.2.8 LTS — Hotkeys Help
   Справка по клавишам.
   ===================================================== */

#viewer2026Overlay .viewer1628-help-button {
    position: absolute !important;
    top: 66px !important;
    right: 18px !important;
    z-index: 160000 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: .88 !important;
}

#viewer2026Overlay .viewer1628-help-button:hover {
    opacity: 1 !important;
}

#viewer2026Overlay .viewer1628-help {
    position: absolute !important;
    top: 106px !important;
    right: 18px !important;
    width: min(430px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 160px) !important;
    overflow: auto !important;
    z-index: 160001 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    background: rgba(5, 70, 73, .95) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(10px) !important;
}

#viewer2026Overlay .viewer1628-help[hidden] {
    display: none !important;
}

#viewer2026Overlay .viewer1628-help__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

#viewer2026Overlay .viewer1628-help__head strong {
    font-size: 14px !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer1628-help__head button {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    cursor: pointer !important;
}

#viewer2026Overlay .viewer1628-help__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px 10px !important;
    align-items: center !important;
    font-size: 12px !important;
}

#viewer2026Overlay .viewer1628-help__grid span {
    opacity: .92 !important;
}

#viewer2026Overlay .viewer1628-help__grid b {
    display: inline-flex !important;
    justify-content: center !important;
    min-width: 70px !important;
    padding: 4px 7px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.14) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer1628-help-button {
        top: 58px !important;
        right: 10px !important;
    }

    #viewer2026Overlay .viewer1628-help {
        top: 96px !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
    }
}


/* =====================================================
   Viewer 16.2.9 LTS — Session Restore
   Невидимый системный патч; визуальных изменений нет.
   ===================================================== */


/* =====================================================
   Viewer 16.2.10 LTS — Performance Monitor
   Открытие: Ctrl + Shift + P.
   ===================================================== */

#viewer2026Overlay .viewer16210-perf {
    position: absolute !important;
    top: 106px !important;
    left: 18px !important;
    width: min(520px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 170px) !important;
    z-index: 170000 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    background: rgba(5, 70, 73, .95) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(10px) !important;
}

#viewer2026Overlay .viewer16210-perf[hidden] {
    display: none !important;
}

#viewer2026Overlay .viewer16210-perf__head,
#viewer2026Overlay .viewer16210-perf__toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#viewer2026Overlay .viewer16210-perf__head {
    justify-content: space-between !important;
}

#viewer2026Overlay .viewer16210-perf__head strong {
    font-size: 14px !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer16210-perf__head button {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    cursor: pointer !important;
}

#viewer2026Overlay .viewer16210-perf__toolbar button {
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

#viewer2026Overlay .viewer16210-perf__toolbar span {
    margin-left: auto !important;
    font-size: 11px !important;
    opacity: .86 !important;
}

#viewer2026Overlay .viewer16210-perf__list {
    overflow: auto !important;
    max-height: calc(100vh - 260px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

#viewer2026Overlay .viewer16210-perf__row {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 76px !important;
    gap: 7px !important;
    align-items: center !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.10) !important;
    font-size: 11px !important;
}

#viewer2026Overlay .viewer16210-perf__row.fast {
    box-shadow: inset 3px 0 0 rgba(87, 220, 137, .85) !important;
}

#viewer2026Overlay .viewer16210-perf__row.medium {
    box-shadow: inset 3px 0 0 rgba(255, 219, 92, .90) !important;
}

#viewer2026Overlay .viewer16210-perf__row.slow {
    box-shadow: inset 3px 0 0 rgba(255, 110, 110, .95) !important;
}

#viewer2026Overlay .viewer16210-perf__row b {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#viewer2026Overlay .viewer16210-perf__row em {
    font-style: normal !important;
    text-align: right !important;
    font-weight: 900 !important;
}

#viewer2026Overlay .viewer16210-perf__row small {
    grid-column: 1 / -1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    opacity: .68 !important;
}

#viewer2026Overlay .viewer16210-perf__empty {
    padding: 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.10) !important;
    font-size: 12px !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer16210-perf {
        top: 96px !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
    }
}


/* =====================================================
   Viewer 13 A4 + Full Document Engine
   Stable rendering core is preserved.
   ===================================================== */

#viewer2026Overlay .viewer155-explorer {
    z-index: 195000 !important;
}

#viewer2026Overlay .viewer4__stage {
    top: 72px !important;
    height: calc(100% - 72px) !important;
}

@media (max-width: 900px) {
    #viewer2026Overlay .viewer4__stage {
        top: 68px !important;
        height: calc(100% - 68px) !important;
    }
}


/* =====================================================
   Viewer 13 A4.1 LTS — Full Document Suite UI
   ===================================================== */

#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel {
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 28px) !important;
    max-width: none !important;
    min-height: 48px !important;
    z-index: 197000 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: linear-gradient(
        180deg,
        rgba(17, 95, 99, .98),
        rgba(5, 65, 71, .98)
    ) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow:
        0 12px 34px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.17) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel
.viewer155-explorer__folders {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
}

#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel button {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
}

#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel button:hover,
#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel button.active {
    background: rgba(255,255,255,.21) !important;
    border-color: rgba(255,255,255,.46) !important;
}

#viewer2026Overlay .viewer13a4-count-badge {
    min-width: 21px !important;
    height: 21px !important;
    padding: 0 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.17) !important;
    font-size: 11px !important;
}

#viewer2026Overlay .viewer13a4-folder-symbol {
    margin-right: 4px !important;
}

#viewer2026Overlay .viewer13a4-suite-toolbar {
    position: absolute !important;
    top: 66px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 196500 !important;
    max-width: calc(100vw - 28px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 7px !important;
    overflow-x: auto !important;
    border-radius: 18px !important;
    background: rgba(8, 75, 80, .88) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

#viewer2026Overlay .viewer13a4-suite-toolbar button {
    flex: 0 0 auto !important;
    min-height: 29px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

#viewer2026Overlay .viewer13a4-suite-toolbar button:hover {
    background: rgba(255,255,255,.22) !important;
    border-color: rgba(255,255,255,.45) !important;
}

/* Space for the two upper rows. */
#viewer2026Overlay .viewer4__stage {
    top: 108px !important;
    height: calc(100% - 108px) !important;
}

@media (max-width: 900px) {
    #viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel {
        left: 6px !important;
        right: 6px !important;
        width: auto !important;
        transform: none !important;
        border-radius: 17px !important;
    }

    #viewer2026Overlay .viewer13a4-suite-toolbar {
        top: 63px !important;
        left: 6px !important;
        right: 6px !important;
        max-width: none !important;
        transform: none !important;
    }

    #viewer2026Overlay .viewer4__stage {
        top: 104px !important;
        height: calc(100% - 104px) !important;
    }
}


/* =====================================================
   Viewer 13 A4.2 LTS — Active toolbar buttons
   ===================================================== */

#viewer2026Overlay .viewer13a4-suite-toolbar button.active,
#viewer2026Overlay .viewer13a4-suite-toolbar button[aria-pressed="true"] {
    background: rgba(255,255,255,.28) !important;
    border-color: rgba(255,255,255,.65) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.14),
        inset 0 1px 0 rgba(255,255,255,.20) !important;
}

#viewer2026Overlay .viewer1627-navigator.viewer13a4-suite-hidden {
    display: none !important;
}

#viewer2026Overlay .viewer140-pro-explorer[hidden],
#viewer2026Overlay .viewer150-pro-explorer[hidden] {
    display: none !important;
}


/* Viewer 13 A4.3 LTS — Reliable panel visibility */

#viewer2026Overlay .viewer13a4-panel-closed {
    display: none !important;
}

#viewer2026Overlay .viewer1627-navigator.open,
#viewer2026Overlay .viewer155-explorer-panel.open,
#viewer2026Overlay .viewer140-pro-explorer.open,
#viewer2026Overlay .viewer150-pro-explorer.open,
#viewer2026Overlay .viewer157-analytics.open,
#viewer2026Overlay .viewer158-knowledge.open,
#viewer2026Overlay .viewer159-case-manager.open {
    display: block !important;
}

#viewer2026Overlay .viewer13a4-suite-toolbar button.active,
#viewer2026Overlay .viewer13a4-suite-toolbar button[aria-pressed="true"] {
    background: rgba(255,255,255,.30) !important;
    border-color: rgba(255,255,255,.72) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.17),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
}


/* =====================================================
   Viewer 13 A4.3.1 LTS — Toolbar information spacing
   ===================================================== */

#viewer2026Overlay .viewer155-explorer.viewer13a4-document-suite-panel {
    top: 8px !important;
}

/* The information/status row remains unobstructed. */
#viewer2026Overlay .viewer4__badge,
#viewer2026Overlay .viewer4__status,
#viewer2026Overlay .viewer4__meta,
#viewer2026Overlay .viewer4__top-info,
#viewer2026Overlay [data-viewer-status],
#viewer2026Overlay [data-viewer-meta] {
    z-index: 196700 !important;
}

/* Move the toolbar to its own row below the information. */
#viewer2026Overlay .viewer13a4-suite-toolbar {
    top: 92px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 196500 !important;
    min-height: 34px !important;
    max-width: calc(100vw - 32px) !important;
    padding: 4px 7px !important;
}

#viewer2026Overlay .viewer13a4-suite-toolbar button {
    min-height: 27px !important;
    line-height: 1 !important;
}

/* Reserve vertical space for folders, information and toolbar. */
#viewer2026Overlay .viewer4__stage {
    top: 136px !important;
    height: calc(100% - 136px) !important;
}

@media (max-width: 900px) {
    #viewer2026Overlay .viewer13a4-suite-toolbar {
        top: 88px !important;
        left: 6px !important;
        right: 6px !important;
        max-width: none !important;
        transform: none !important;
    }

    #viewer2026Overlay .viewer4__stage {
        top: 132px !important;
        height: calc(100% - 132px) !important;
    }
}


/* Viewer 13 A4.3.2 LTS — Active Education folder */

#viewer2026Overlay [data-v155-folder].active,
#viewer2026Overlay [data-v155-folder][aria-current="true"] {
    background: rgba(255,255,255,.28) !important;
    border-color: rgba(255,255,255,.66) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.14),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
}


/* Viewer 13 A4.3.3 LTS — restored Education folder */

#viewer2026Overlay [data-v155-folder][aria-current="true"] {
    background: rgba(255,255,255,.30) !important;
    border-color: rgba(255,255,255,.70) !important;
}


/* Viewer 13 A4.3.4 LTS — Education selected on initial load */

#viewer2026Overlay [data-v155-folder][aria-current="true"] {
    background: rgba(255,255,255,.31) !important;
    border-color: rgba(255,255,255,.72) !important;
}


/* =====================================================
   Viewer 13 A4.3.4.2 LTS — Minimal Secure Header
   Minimal CSS-only patch. No observers or playback changes.
   ===================================================== */

/* Before correct password: hide only the extra top toolbar. */
html.viewer120-locked #viewer2026Overlay .viewer13a4-suite-toolbar,
html.viewer119-locked #viewer2026Overlay .viewer13a4-suite-toolbar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Before correct password: hide only the "Колесо..." information. */
html.viewer120-locked #viewer2026Overlay .viewer4__hint,
html.viewer119-locked #viewer2026Overlay .viewer4__hint,
html.viewer120-locked #doc2026ZoomHint,
html.viewer119-locked #doc2026ZoomHint {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* After correct password: restore toolbar and hint. */
html.viewer120-unlocked #viewer2026Overlay .viewer13a4-suite-toolbar,
html.viewer119-unlocked #viewer2026Overlay .viewer13a4-suite-toolbar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

html.viewer120-unlocked #viewer2026Overlay .viewer4__hint,
html.viewer119-unlocked #viewer2026Overlay .viewer4__hint,
html.viewer120-unlocked #doc2026ZoomHint,
html.viewer119-unlocked #doc2026ZoomHint {
    visibility: visible !important;
    opacity: 1 !important;
}

html.viewer120-locked #viewer2026Overlay .viewer118-central-controls__zoom,
html.viewer119-locked #viewer2026Overlay .viewer118-central-controls__zoom{display:none!important;}
html.viewer120-locked #viewer2026Overlay .viewer118-central-controls__nav [data-action="access-lock"],
html.viewer119-locked #viewer2026Overlay .viewer118-central-controls__nav [data-action="access-lock"]{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;flex:0 0 auto!important;}
html.viewer120-unlocked #viewer2026Overlay .viewer118-central-controls__zoom,
html.viewer119-unlocked #viewer2026Overlay .viewer118-central-controls__zoom{display:flex!important;}
html.viewer120-locked #viewer2026Overlay .viewer4__card.active img,
html.viewer119-locked #viewer2026Overlay .viewer4__card.active img{object-fit:contain!important;max-width:100%!important;max-height:100%!important;-webkit-user-drag:none!important;user-drag:none!important;}
html.viewer120-locked #viewer2026Overlay .viewer4__card.active,
html.viewer119-locked #viewer2026Overlay .viewer4__card.active{cursor:grab!important;}
html.viewer120-locked #viewer2026Overlay .viewer4__stage.dragging .viewer4__card.active,
html.viewer119-locked #viewer2026Overlay .viewer4__stage.dragging .viewer4__card.active{cursor:grabbing!important;}


/* Viewer 13 A4.3.4.4 — all thumbnails visible before password
   v.1186: fullscreen strip uses exactly the ordinary documentation geometry. */

html.viewer120-locked #viewer2026Overlay .viewer4__thumbs,
html.viewer119-locked #viewer2026Overlay .viewer4__thumbs {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: none !important;
    gap: 10px !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    scroll-behavior: auto !important;
}

html.viewer120-locked #viewer2026Overlay .viewer4__thumb,
html.viewer119-locked #viewer2026Overlay .viewer4__thumb,
html.viewer120-locked #viewer2026Overlay .viewer4__thumb.landscape,
html.viewer119-locked #viewer2026Overlay .viewer4__thumb.landscape {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: content-box !important;
    flex: 0 0 auto !important;
    width: var(--thumb-width, 79.18px) !important;
    min-width: var(--thumb-width, 79.18px) !important;
    max-width: var(--thumb-width, 79.18px) !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    padding: 5px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: none !important;
}

html.viewer120-locked #viewer2026Overlay .viewer4__thumb img,
html.viewer119-locked #viewer2026Overlay .viewer4__thumb img,
html.viewer120-locked #viewer2026Overlay .viewer4__thumb canvas,
html.viewer119-locked #viewer2026Overlay .viewer4__thumb canvas {
    box-sizing: border-box !important;
    width: var(--thumb-width, 79.18px) !important;
    min-width: var(--thumb-width, 79.18px) !important;
    max-width: var(--thumb-width, 79.18px) !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    object-fit: fill !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

html.viewer120-locked #viewer2026Overlay .viewer4__thumb span,
html.viewer119-locked #viewer2026Overlay .viewer4__thumb span {
    display: none !important;
}

#viewer2026Overlay .viewer4__thumb.active,
#viewer2026Overlay .viewer4__thumb[aria-current="true"] {
    background: transparent !important;
    border-radius: 0 !important;
    outline-offset: 2px !important;
}

@media (max-width: 900px) {
    html.viewer120-locked #viewer2026Overlay .viewer4__thumbs,
    html.viewer119-locked #viewer2026Overlay .viewer4__thumbs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        max-height: none !important;
        gap: 10px !important;
    }

    html.viewer120-locked #viewer2026Overlay .viewer4__thumb,
    html.viewer119-locked #viewer2026Overlay .viewer4__thumb,
    html.viewer120-locked #viewer2026Overlay .viewer4__thumb.landscape,
    html.viewer119-locked #viewer2026Overlay .viewer4__thumb.landscape {
        flex: 0 0 auto !important;
        width: var(--thumb-width, 79.18px) !important;
        min-width: var(--thumb-width, 79.18px) !important;
        max-width: var(--thumb-width, 79.18px) !important;
    }
}

/* =====================================================
   Viewer13A4.3.4.8.3 — PDF Thumbnail Renderer
   ===================================================== */

/* Название документа показывается только снизу. */
.doc2026__thumb img {
    display: block !important;
    width: 100% !important;
    height: 168px !important;
    object-fit: contain !important;
    background: #f7f7f7 !important;
    color: transparent !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
}

.doc2026__thumb .doc2026__thumb-caption,
.doc2026__thumb > span {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
    overflow: hidden !important;
    color: #075c64 !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Нейтральное состояние во время подготовки первой страницы PDF. */
.doc2026__thumb.is-loading img {
    opacity: .45 !important;
    background:
        linear-gradient(110deg, #f1f1f1 8%, #ffffff 18%, #f1f1f1 33%)
        !important;
    background-size: 200% 100% !important;
    animation: pdf-thumb-loading-13483 1.15s linear infinite !important;
}

@keyframes pdf-thumb-loading-13483 {
    to {
        background-position-x: -200% !important;
    }
}

/* Красно-фиолетовая двойная рамка активной миниатюры. */
.doc2026__thumb.active,
.doc2026__thumb[aria-current="true"] {
    border: 2px solid #d7193f !important;
    outline: 3px solid #9c27b0 !important;
    outline-offset: -1px !important;
    background: linear-gradient(
        145deg,
        rgba(215, 25, 63, .12),
        rgba(156, 39, 176, .18)
    ) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.85),
        0 0 0 5px rgba(156,39,176,.34),
        0 10px 24px rgba(121,25,125,.28) !important;
}

/* Та же рамка для миниатюр полноэкранного Viewer. */
.viewer4__thumb.active,
.viewer4__thumb.is-active,
.viewer4__thumb[aria-current="true"] {
    border: 2px solid #d7193f !important;
    outline: 3px solid #9c27b0 !important;
    outline-offset: -1px !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.80),
        0 0 0 5px rgba(156,39,176,.34),
        0 10px 24px rgba(121,25,125,.30) !important;
}


/* Viewer13A4.3.4.17 — навигация по страницам многостраничного PDF */
.viewer4__pdf-page-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 34px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  white-space: nowrap !important;
}
.viewer4__pdf-page-controls[hidden] { display: none !important; }
.viewer4__pdf-page-controls button {
  min-width: 32px !important;
  min-height: 30px !important;
  padding: 4px 8px !important;
}
.viewer4__pdf-page-controls button:disabled {
  opacity: .38 !important;
  cursor: default !important;
}
.viewer4__pdf-page-label,
.viewer4__pdf-page-counter {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}
.viewer4__pdf-page-counter { min-width: 48px !important; text-align: center !important; }
@media (max-width: 760px) {
  .viewer4__pdf-page-label { display: none !important; }
  .viewer4__pdf-page-controls { padding: 2px 4px !important; gap: 3px !important; }
  .viewer4__pdf-page-controls button { min-width: 28px !important; padding: 3px 6px !important; }
}

/* =====================================================
   Viewer13A4.3.4.18 — Hide Explorer bar in fullscreen
   ===================================================== */
#viewer2026Overlay .viewer155-explorer,
#viewer2026Overlay .viewer155-explorer-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =====================================================
   Viewer13A4.3.4.19 — Compact PDF controls in fullscreen
   Отдельная информационная PDF-панель скрыта.
   Печать перенесена в компактную панель страниц PDF.
   ===================================================== */
#viewer2026Overlay .viewer63-pdfpanel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#viewer2026Overlay .viewer4__pdf-page-controls .viewer4__pdf-print {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 72px !important;
    min-height: 30px !important;
    padding: 4px 12px !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer4__pdf-page-controls .viewer4__pdf-print {
        min-width: 58px !important;
        padding: 3px 8px !important;
        font-size: 11px !important;
    }
}


/* =====================================================
   Viewer13A4.3.4.20 — PDF header panel restored
   Название + страницы + Печать + технический статус.
   ===================================================== */
#viewer2026Overlay .viewer63-pdfpanel {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    top: clamp(12px, 2vh, 22px) !important;
    max-width: calc(100vw - 28px) !important;
    flex-wrap: nowrap !important;
}
#viewer2026Overlay .viewer63-pdfpanel[hidden] {
    display: none !important;
}

/* Убираем дублирующую компактную панель страниц из нижней панели. */
#viewer2026Overlay .viewer4__pdf-page-controls {
    display: none !important;
}

/* Техническая информация размещается в PDF-панели сразу после Печати. */
#viewer2026Overlay .viewer63-pdfpanel .viewer4__status {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    min-height: 34px !important;
    padding: 7px 13px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    z-index: auto !important;
}

@media (max-width: 760px) {
    #viewer2026Overlay .viewer63-pdfpanel {
        overflow-x: auto !important;
        justify-content: flex-start !important;
        scrollbar-width: thin !important;
    }
    #viewer2026Overlay .viewer63-pdfpanel .viewer4__status {
        min-height: 30px !important;
        padding: 6px 9px !important;
        font-size: 10px !important;
    }
}

/* =====================================================
   Viewer13A4.3.4.22 — устранение дублирования PDF-статуса
   ===================================================== */
#viewer2026Overlay > .viewer4__status {
    display: none !important;
}

#viewer2026Overlay .viewer63-pdfpanel > .viewer4__status {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 34px !important;
    max-width: none !important;
    padding: 7px 13px !important;
    margin: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    z-index: auto !important;
}


/* ==========================================================
   v.1360 — Viewer fullscreen isolation / controls recovery
   Scope: only while Viewer2026 overlay is open.
   No page HTML/layout rules are changed.
   ========================================================== */

body.viewer4-no-scroll {
    overflow: hidden !important;
}

/* The viewer must own the whole viewport, never start below page content. */
body.viewer4-no-scroll > #viewer2026Overlay.viewer4.open,
#viewer2026Overlay.viewer4.open {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-width: 100vw !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2147483000 !important;
    isolation: isolate !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.12), rgba(0,0,0,0) 42%),
        linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.48) 56%, rgba(0,0,0,.86) 100%),
        url("../img/parallax0.webp") center center / cover no-repeat !important;
}

/* The ordinary in-page viewer must never form a second thumbnail strip behind fullscreen. */
body.viewer4-no-scroll .doc2026 {
    visibility: hidden !important;
    pointer-events: none !important;
}
body.viewer4-no-scroll #viewer2026Overlay {
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Keep the only fullscreen thumbnail strip and all viewer controls interactive. */
#viewer2026Overlay.open .viewer4__stage,
#viewer2026Overlay.open .viewer4__controls,
#viewer2026Overlay.open .viewer4__thumbs,
#viewer2026Overlay.open .viewer4__controls button,
#viewer2026Overlay.open .viewer4__controls select,
#viewer2026Overlay.open .viewer4__thumb,
#viewer2026Overlay.open .viewer54-search,
#viewer2026Overlay.open .viewer54-search * {
    pointer-events: auto !important;
}

#viewer2026Overlay.open .viewer4__stage {
    z-index: 10 !important;
}
#viewer2026Overlay.open .viewer4__controls {
    position: relative !important;
    z-index: 2147483200 !important;
    visibility: visible !important;
    opacity: 1 !important;
}
#viewer2026Overlay.open .viewer4__thumbs {
    position: relative !important;
    z-index: 2147483100 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Search is a core viewer action in v.1360; later historical CSS must not hide it. */
#viewer2026Overlay.open .viewer4__controls button[data-action="search"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Search dialog always sits above documents, controls and thumbnails. */
#viewer2026Overlay.open .viewer54-search:not([hidden]) {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483600 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Prevent accidental duplicate canonical strips inside the overlay itself. */
#viewer2026Overlay.open > .viewer4__thumbs ~ .viewer4__thumbs {
    display: none !important;
}


/* v4294: native mobile menu button parity */
.topnav button.icon{border:0;padding:0;background:transparent;font:inherit;color:inherit;cursor:pointer;}


/* ---- css/css-bundle-v4035-670b2878.css ---- */
/* ===== css/documentation-fullscreen-up.css?v=20260722-3 ===== */
/* Только documentation.html: увеличенная вверх карусель в режиме «Полный экран». */
body.documentation-page .viewer4.open {
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    gap: 6px !important;
    padding-top: 4px !important;
}

body.documentation-page .viewer4.open .viewer4__stage {
    min-height: 0 !important;
    border-radius: 18px !important;
    perspective-origin: 50% 42% !important;
}

body.documentation-page .viewer4.open .viewer4__card {
    top: 49% !important;
}

/* Основная страница и изображение используют всю рассчитанную высоту карточки. */
body.documentation-page .viewer4.open .viewer4__card.active .viewer4__card-page,
body.documentation-page .viewer4.open .viewer4__card.active img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}

/* Убирает визуальное дрожание исходной картинки после кнопки «Возврат». */
body.documentation-page #doc2026Image,
body.documentation-page .doc2026__viewer,
body.documentation-page .doc2026__viewer > img,
body.documentation-page.doc-return-stable #doc2026Image,
body.documentation-page.doc-return-stable .doc2026__viewer,
body.documentation-page.doc-return-stable .doc2026__viewer * {
    transition: none !important;
    animation: none !important;
}

body.documentation-page.doc-return-stable #doc2026Image {
    transform: none !important;
    will-change: auto !important;
}

@media (max-height: 760px) {
    body.documentation-page .viewer4.open {
        gap: 4px !important;
        padding-top: 2px !important;
    }
}

/* 2026-07-22: миниатюры разворотов и дополнительный нижний зазор.
   Только documentation.html в режиме «Полный экран». */
body.documentation-page .viewer4.open {
    /* Строка 2 — постоянный воздушный зазор между сценой и линейкой кнопок. */
    grid-template-rows: minmax(0, 1fr) 14px auto auto !important;
    column-gap: 0 !important;
    row-gap: 6px !important;
    padding-top: 2px !important;
}

body.documentation-page .viewer4.open .viewer4__stage {
    /* Сцена поднята, а снизу оставлено безопасное место перед управлением. */
    margin-bottom: 0 !important;
}

body.documentation-page .viewer4.open .viewer4__card {
    top: 47% !important;
}

body.documentation-page .viewer4.open .viewer4__controls {
    grid-row: 3 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
}

body.documentation-page .viewer4.open .viewer4__thumbs {
    grid-row: 4 !important;
    margin-top: 4px !important;
}

/* Высота всех изображений миниатюр едина, а ширина разворота вычисляется
   из реального соотношения сторон изображения. */
body.documentation-page .viewer4.open .viewer4__thumb {
    --documentation-thumb-height: clamp(64px, 6.1vw, 88px);
}

body.documentation-page .viewer4.open .viewer4__thumb img {
    height: var(--documentation-thumb-height) !important;
}

body.documentation-page .viewer4.open .viewer4__thumb.landscape {
    flex: 0 0 min(280px, calc(var(--documentation-thumb-height) * var(--documentation-thumb-ratio, 1.78) + 14px)) !important;
    width: min(280px, calc(var(--documentation-thumb-height) * var(--documentation-thumb-ratio, 1.78) + 14px)) !important;
    min-width: 150px !important;
    max-width: 280px !important;
}

body.documentation-page .viewer4.open .viewer4__thumb.landscape img {
    width: 100% !important;
    height: var(--documentation-thumb-height) !important;
    object-fit: contain !important;
}

@media (max-height: 760px) {
    body.documentation-page .viewer4.open {
        grid-template-rows: minmax(0, 1fr) 10px auto auto !important;
        row-gap: 4px !important;
    }

    body.documentation-page .viewer4.open .viewer4__card {
        top: 46.5% !important;
    }

    body.documentation-page .viewer4.open .viewer4__thumb {
        --documentation-thumb-height: clamp(56px, 5.4vw, 72px);
    }
}


/* ===== css/three-pages-thumbnails-stable.css?v=20260722-1 ===== */
/* Только documentation.html, news-lawyer-1mln.html и news-lawyer-electro.html.
   Стабилизация основной ленты миниатюр после кнопки «Возврат». */
body.three-pages-thumb-stable .doc2026__thumbs,
body.three-pages-thumb-stable #doc2026Thumbs {
    scroll-behavior: auto !important;
    overflow-anchor: none !important;
    contain: layout paint !important;
}

body.three-pages-thumb-stable .doc2026__thumb,
body.three-pages-thumb-stable .doc2026__thumb *,
body.three-pages-thumb-stable .doc2026__thumb img {
    animation: none !important;
    transition: none !important;
}

body.three-pages-thumb-stable .doc2026__thumb {
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

body.three-pages-thumb-stable .doc2026__thumb img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform: translateZ(0) !important;
}

body.three-pages-thumb-stable.thumb-return-freeze .doc2026__thumb {
    transform: none !important;
    contain: layout paint !important;
}


/* ===== css/documentation-thumbnails-return-stable.css?v=20260722-3 ===== */
/* Только documentation.html: неизменная лента миниатюр при возврате. */
body.documentation-thumb-return-stable #doc2026Thumbs,
body.documentation-thumb-return-stable .doc2026__thumbs {
    scroll-behavior: auto !important;
    overflow-anchor: none !important;
    contain: layout paint !important;
}

body.documentation-thumb-return-stable .doc2026__thumb,
body.documentation-thumb-return-stable .doc2026__thumb *,
body.documentation-thumb-return-stable .doc2026__thumb img {
    animation: none !important;
    transition: none !important;
}

body.documentation-thumb-return-stable .doc2026__thumb img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

body.documentation-thumb-return-stable.documentation-return-freeze-v3 #doc2026Thumbs,
body.documentation-thumb-return-stable.documentation-return-freeze-v3 .doc2026__thumbs,
body.documentation-thumb-return-stable.documentation-return-freeze-v3 .doc2026__thumb {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
}


/* ===== css/documentation-clean-viewer.css?v=987 ===== */
/* documentation.html: полноэкранный просмотр без проводника и папочной ленты. */
#viewer2026Overlay .viewer140-pro-explorer,
#viewer2026Overlay .viewer150-pro-explorer,
#viewer2026Overlay .viewer155-explorer-panel,
#viewer2026Overlay .viewer155-explorer,
#viewer2026Overlay .viewer140-pro-topbar,
#viewer2026Overlay .viewer150-pro-topbar,
#viewer2026Overlay [data-v155-root],
#viewer2026Overlay [data-v155-folders],
#viewer2026Overlay [data-v155-toggle],
#viewer2026Overlay [data-v155-refresh],
#viewer2026Overlay [data-v155-status] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#viewer2026Overlay.viewer13482-explorer-open,
#viewer2026Overlay {
  --viewer-explorer-width: 0px !important;
  --viewer-topbar-height: 0px !important;
}

/* v3: основной документ не затемняется при возврате из полноэкранного режима. */
body.documentation-thumb-return-stable #doc2026Image {
    transition: none !important;
}
.documentation-return-cover {
    margin: 0 !important;
    max-width: none !important;
    max-height: none !important;
}

/* v4: при возврате основной документ не может быть скрыт отложенным show(). */
html.documentation-return-lock #doc2026Image,
body.documentation-return-lock #doc2026Image {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    transition: none !important;
    animation: none !important;
}

/* 2026-07-24: фиксированная геометрия основного просмотра.
   Высота равна прежней максимальной высоте портретного документа, поэтому
   смена портретного листа на альбомный разворот больше не изменяет поток
   страницы и не сдвигает панель управления вверх-вниз. */
body.documentation-page .doc2026__viewer {
    box-sizing: border-box !important;
    height: 730px !important;
    min-height: 730px !important;
    overflow: hidden !important;
}

body.documentation-page .doc2026__viewer > #doc2026Image {
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 700px !important;
    object-fit: contain !important;
    flex: 0 1 auto !important;
}

/* Класс ориентации может менять ширину, но больше не влияет на высоту блока. */
body.documentation-page .doc2026__viewer > #doc2026Image.landscape {
    width: min(100%, 1100px) !important;
    height: 100% !important;
}

@media (max-width: 768px) {
    body.documentation-page .doc2026__viewer {
        height: calc(72vh + 16px) !important;
        min-height: calc(72vh + 16px) !important;
    }

    body.documentation-page .doc2026__viewer > #doc2026Image,
    body.documentation-page .doc2026__viewer > #doc2026Image.landscape {
        max-height: 72vh !important;
    }
}

/* v.400: полностью прозрачная подложка под основным документом. */
body.page-documents .doc2026__viewer {
    background: transparent !important;
    background-color: rgba(255, 255, 255, 0) !important;
    box-shadow: none !important;
}


/* HTML cleanup v987: former inline presentation rules from documentation.html. */
#education-documents {
    scroll-margin-top: 120px;
}

.documentation-entry-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 24px 0 8px;
    position: relative;
    z-index: 10;
}

#documents-entry {
    visibility: visible;
    scroll-margin-top: 72px;
}



/* ---- css/accessibility-phase2.css ---- */
/* Phase 2: accessibility improvements without changing the visual design */
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 2147483647;
  padding: 10px 14px;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font: 600 14px/1.2 Arial, sans-serif;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
  transform: translateY(-180%);
  transition: transform .15s ease;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

#page-content-anchor {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* ---- css/css-bundle-v4035-bda14d0b.css ---- */
/* ===== css/common-modern-core-v4031.css?v=4031 ===== */
/* BEGIN css/site-quality-phase31-40.css */
/* Phase 31–40 quality layer: no visual redesign. */
.resource-error { outline: 2px dashed currentColor; opacity: .65; }
.visually-hidden:not(:focus):not(:active) { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
@media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }

/* var.6: the primary document image must not display the diagnostic dashed outline. */
.doc2026__viewer > img.resource-error,
#doc2026Image.resource-error {
  outline: none !important;
  opacity: 1;
}


/* END css/site-quality-phase31-40.css */

/* BEGIN css/design-system-modern-ui-phase1.css */
/*
 * grafo74 — Modern UI Phase 1: Design System
 * Central, non-destructive visual tokens and shared component foundations.
 * Version: var.3 grafo74
 */

:root {
  color-scheme: light;

  /* Typography */
  --ds-font-sans: "Montserrat", "Segoe UI", Arial, sans-serif;
  --ds-font-serif: Georgia, "Times New Roman", serif;
  --ds-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --ds-text-xs: 0.75rem;
  --ds-text-sm: 0.875rem;
  --ds-text-md: 1rem;
  --ds-text-lg: 1.125rem;
  --ds-text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.75rem);
  --ds-text-2xl: clamp(1.75rem, 1.35rem + 1.8vw, 2.75rem);
  --ds-leading-tight: 1.2;
  --ds-leading-normal: 1.55;

  /* Neutral palette */
  --ds-color-bg: #f7f8fa;
  --ds-color-surface: #ffffff;
  --ds-color-surface-muted: #f1f3f6;
  --ds-color-text: #20242a;
  --ds-color-text-muted: #626b76;
  --ds-color-border: #d9dee5;
  --ds-color-border-strong: #b9c1cc;

  /* Brand and semantic palette */
  --ds-color-primary: #1d5b8f;
  --ds-color-primary-hover: #174a74;
  --ds-color-primary-soft: #e9f2f9;
  --ds-color-accent: #9b6b2f;
  --ds-color-success: #27734f;
  --ds-color-warning: #986b16;
  --ds-color-danger: #a53a3a;
  --ds-color-focus: #176fbd;

  /* Spacing: 4/8 px scale */
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.5rem;
  --ds-space-6: 2rem;
  --ds-space-7: 3rem;
  --ds-space-8: 4rem;

  /* Shape */
  --ds-radius-sm: 0.375rem;
  --ds-radius-md: 0.625rem;
  --ds-radius-lg: 1rem;
  --ds-radius-pill: 999px;

  /* Elevation */
  --ds-shadow-sm: 0 1px 2px rgba(21, 32, 43, 0.08);
  --ds-shadow-md: 0 8px 24px rgba(21, 32, 43, 0.10);
  --ds-shadow-lg: 0 18px 48px rgba(21, 32, 43, 0.14);

  /* Motion */
  --ds-duration-fast: 140ms;
  --ds-duration-normal: 220ms;
  --ds-ease-standard: cubic-bezier(0.2, 0, 0, 1);

  /* Layout */
  --ds-container: 1200px;
  --ds-page-gutter: clamp(1rem, 3vw, 2rem);
}

html {
  accent-color: var(--ds-color-primary);
  scroll-behavior: smooth;
}

body {
  background-color: var(--ds-color-bg);
  color: var(--ds-color-text);
  font-family: var(--ds-font-sans);
  line-height: var(--ds-leading-normal);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--ds-color-primary-soft);
  color: var(--ds-color-text);
}

a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
  transition: color var(--ds-duration-fast) var(--ds-ease-standard),
              background-color var(--ds-duration-fast) var(--ds-ease-standard),
              border-color var(--ds-duration-fast) var(--ds-ease-standard),
              opacity var(--ds-duration-fast) var(--ds-ease-standard),
              transform var(--ds-duration-fast) var(--ds-ease-standard);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--ds-color-focus);
  outline-offset: 3px;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.btn,
.main-block__button {
  border-radius: var(--ds-radius-md);
  transition: color var(--ds-duration-fast) var(--ds-ease-standard),
              background-color var(--ds-duration-fast) var(--ds-ease-standard),
              border-color var(--ds-duration-fast) var(--ds-ease-standard),
              box-shadow var(--ds-duration-fast) var(--ds-ease-standard),
              transform var(--ds-duration-fast) var(--ds-ease-standard);
}

button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="reset"]:not(:disabled) {
  cursor: pointer;
}

button:not(:disabled):active,
input[type="button"]:not(:disabled):active,
input[type="submit"]:not(:disabled):active,
input[type="reset"]:not(:disabled):active,
.button:active,
.btn:active,
.main-block__button:active {
  transform: translateY(1px);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
  border-color: var(--ds-color-border);
  border-radius: var(--ds-radius-md);
  background-color: var(--ds-color-surface);
  color: var(--ds-color-text);
  transition: border-color var(--ds-duration-fast) var(--ds-ease-standard),
              box-shadow var(--ds-duration-fast) var(--ds-ease-standard),
              background-color var(--ds-duration-fast) var(--ds-ease-standard);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):hover,
select:hover,
textarea:hover {
  border-color: var(--ds-color-border-strong);
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

hr {
  border: 0;
  border-top: 1px solid var(--ds-color-border);
}

/* Shared site chrome */
.header {
  background-color: color-mix(in srgb, var(--ds-color-surface) 94%, transparent);
  border-bottom: 1px solid var(--ds-color-border);
  box-shadow: var(--ds-shadow-sm);
}

.header__container,
._container {
  max-width: var(--ds-container);
}

.header__logo,
.topnav a,
.dropbtn {
  border-radius: var(--ds-radius-sm);
}

.topnav a:hover,
.topnav a:focus-visible,
.dropdown:hover .dropbtn,
.dropbtn:focus-visible {
  background-color: var(--ds-color-primary-soft);
  color: var(--ds-color-primary-hover);
}

.dropdown-content {
  border: 1px solid var(--ds-color-border);
  border-radius: var(--ds-radius-md);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-md);
  overflow: hidden;
}

/* Shared content surfaces. Existing dimensions remain untouched. */
.card,
.news__item,
.categories__item,
.products__item,
.services__item,
[class*="__card"] {
  border-radius: var(--ds-radius-lg);
}

.title,
h1,
h2,
h3 {
  line-height: var(--ds-leading-tight);
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

/* Back-to-top control */
#upbutton {
  border: 1px solid var(--ds-color-border);
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-md);
}

#upbutton:hover,
#upbutton:focus-visible {
  border-color: var(--ds-color-primary);
  box-shadow: var(--ds-shadow-lg);
}

/* Utility classes for future phases and gradual migration */
.ds-container {
  width: min(100% - (2 * var(--ds-page-gutter)), var(--ds-container));
  margin-inline: auto;
}

.ds-surface {
  border: 1px solid var(--ds-color-border);
  border-radius: var(--ds-radius-lg);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-sm);
}

.ds-muted { color: var(--ds-color-text-muted); }
.ds-stack > * + * { margin-top: var(--ds-space-4); }

@media (max-width: 767px) {
  :root {
    --ds-page-gutter: 1rem;
  }

  .dropdown-content {
    border-radius: var(--ds-radius-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  [tabindex]:focus-visible {
    outline: 2px solid CanvasText;
  }
}

/* END css/design-system-modern-ui-phase1.css */

/* BEGIN css/typography-modern-ui-phase2.css */
/*
 * grafo74 — Modern UI Phase 2: Typography
 * Adaptive, readable and non-destructive type system.
 * Version: var.4 grafo74
 */

:root {
  --type-font-body: "Montserrat", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --type-font-display: "Montserrat", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --type-font-reading: Georgia, "Times New Roman", serif;
  --type-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --type-size-xs: 0.75rem;
  --type-size-sm: 0.875rem;
  --type-size-base: clamp(1rem, 0.975rem + 0.125vw, 1.0625rem);
  --type-size-lg: clamp(1.125rem, 1.075rem + 0.25vw, 1.25rem);
  --type-size-h4: clamp(1.125rem, 1.02rem + 0.5vw, 1.375rem);
  --type-size-h3: clamp(1.25rem, 1.08rem + 0.8vw, 1.75rem);
  --type-size-h2: clamp(1.5rem, 1.16rem + 1.4vw, 2.25rem);
  --type-size-h1: clamp(1.875rem, 1.25rem + 2.6vw, 3.25rem);

  --type-leading-tight: 1.15;
  --type-leading-heading: 1.24;
  --type-leading-body: 1.68;
  --type-leading-compact: 1.42;
  --type-measure: 72ch;
  --type-measure-wide: 88ch;
  --type-tracking-tight: -0.025em;
  --type-tracking-heading: -0.015em;
  --type-tracking-label: 0.025em;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--type-font-body);
  font-size: var(--type-size-base);
  line-height: var(--type-leading-body);
  font-kerning: normal;
  font-synthesis: none;
  font-variant-ligatures: common-ligatures contextual;
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6,
.title,
[class$="__title"],
[class*="__title "] {
  font-family: var(--type-font-display);
  font-weight: 700;
  line-height: var(--type-leading-heading);
  letter-spacing: var(--type-tracking-heading);
  text-wrap: balance;
  overflow-wrap: normal;
}

h1 { font-size: var(--type-size-h1); line-height: var(--type-leading-tight); letter-spacing: var(--type-tracking-tight); }
h2 { font-size: var(--type-size-h2); }
h3 { font-size: var(--type-size-h3); }
h4 { font-size: var(--type-size-h4); }
h5 { font-size: var(--type-size-lg); }
h6 { font-size: var(--type-size-base); }

p, li, dd, dt, blockquote, figcaption, address {
  hanging-punctuation: first last;
}

p {
  text-wrap: pretty;
}

main p,
.main p,
[class*="content"] p,
[class*="article"] p,
[class*="text"] p {
  max-width: var(--type-measure-wide);
}

small,
.small,
.caption,
figcaption,
[class*="__caption"],
[class*="__meta"],
[class*="__date"] {
  font-size: var(--type-size-sm);
  line-height: var(--type-leading-compact);
}

strong, b { font-weight: 700; }

abbr[title] {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

code, kbd, samp, pre {
  font-family: var(--type-font-mono);
  font-size: 0.925em;
  font-variant-ligatures: none;
}

pre {
  line-height: 1.55;
  tab-size: 2;
  white-space: pre-wrap;
}

blockquote {
  font-family: var(--type-font-reading);
  font-size: var(--type-size-lg);
  line-height: 1.65;
}

button, input, select, textarea {
  letter-spacing: normal;
}

label,
button,
.button,
.btn,
.main-block__button,
.topnav a,
.dropbtn {
  line-height: var(--type-leading-compact);
}

/* Preserve compact viewer controls while unifying their font stack. */
[class^="viewer"] button,
[class*=" viewer"] button,
[class^="doc2026"] button,
[class*=" doc2026"] button {
  font-family: var(--type-font-body);
}

/* Do not override icon glyph fonts. */
.fa, .fas, .far, .fal, .fab,
[class^="fa-"], [class*=" fa-"] {
  font-family: "Font Awesome 5 Free", "FontAwesome" !important;
}

@media (max-width: 480px) {
  :root {
    --type-leading-body: 1.62;
  }
}

@media print {
  body {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
    line-height: 1.5;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: Arial, Helvetica, sans-serif;
    break-after: avoid;
  }

  p, li, blockquote {
    orphans: 3;
    widows: 3;
  }
}

/* END css/typography-modern-ui-phase2.css */

/* BEGIN css/layout-modern-ui-phase3.css */
/*
 * grafo74 — Modern UI Phase 3: Layout
 * Responsive container, section rhythm, grid and media foundations.
 * Version: var.5 grafo74
 */

:root {
  --layout-content-max: 1200px;
  --layout-reading-max: 76ch;
  --layout-gutter: clamp(1rem, 2.7vw, 2rem);
  --layout-section-space: clamp(2.75rem, 6vw, 6rem);
  --layout-grid-gap: clamp(1rem, 2.4vw, 2rem);
  --layout-card-min: 16rem;
  --layout-header-height: clamp(4.5rem, 9vw, 6.5rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-width: 0;
  max-width: 100%;
}

body {
  overflow-x: clip;
}

.wrapper {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: clip;
}

.page,
main {
  min-width: 0;
  flex: 1 0 auto;
}

/* One fluid container model for the legacy and BEM containers. */
._container,
[class$="__container"],
[class*="__container "] {
  width: min(100% - (2 * var(--layout-gutter)), var(--layout-content-max));
  max-width: var(--layout-content-max);
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}

/* Prevent wide descendants from forcing horizontal scrolling. */
.wrapper > *,
.page > *,
[class$="__container"] > *,
[class*="__container "] > * {
  min-width: 0;
}

img,
picture,
video,
canvas,
svg,
iframe,
embed,
object {
  max-width: 100%;
}

img,
picture,
video,
canvas,
svg {
  height: auto;
}

iframe,
embed,
object {
  display: block;
}

/* Header: flexible wrapping without changing navigation behavior. */
.header__container {
  min-height: var(--layout-header-height);
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 1.6vw, 1.25rem);
  flex-wrap: wrap;
}

.header__logo {
  flex: 0 0 auto;
  margin-left: 0;
}

.header__datetime {
  min-width: 0;
  margin-left: auto;
}

.topnav {
  min-width: 0;
  max-width: 100%;
}

.dropdown-content {
  max-width: min(22rem, calc(100vw - 2 * var(--layout-gutter)));
}

/* Consistent vertical rhythm for principal content sections. */
.services,
.practice,
.whoweare,
.man,
.contact,
.categories,
.products,
.news,
.clients,
.subscribe,
.getintouch {
  padding-block: var(--layout-section-space);
}

.page > section:first-child,
.page > div:first-child {
  scroll-margin-top: calc(var(--layout-header-height) + 1rem);
}

.header-block,
.practice__header,
.man__header,
.categories__header {
  margin-bottom: clamp(1.5rem, 3vw, 2.75rem);
}

.header-block__text,
.main-block__text,
.whoweare__text,
.contact__text,
.news__text,
.item-service__text,
.item-practice__text,
.item-man__text {
  max-width: var(--layout-reading-max);
}

/* Replace negative-margin card rows with gap-based layouts. */
.services__body,
.practice__body,
.man__body {
  margin: 0;
  gap: var(--layout-grid-gap);
}

.services__column,
.practice__column,
.practice__column_2,
.practice__column_2h,
.man__column {
  min-width: 0;
  padding: 0;
  margin: 0;
}

@supports (display: grid) {
  .services__body,
  .practice__body,
  .man__body {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--layout-card-min)), 1fr));
    align-items: stretch;
  }

  .services__column,
  .practice__column,
  .practice__column_2,
  .practice__column_2h,
  .man__column {
    width: auto;
    max-width: none;
    flex: none;
  }
}

.categories__items {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: var(--layout-grid-gap);
}

.item-practice,
.item-man,
.services__item,
.item-category {
  min-width: 0;
}

.item-practice__content,
.services__item {
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
}

/* Two-column editorial/media blocks collapse naturally. */
.whoweare__body,
.contact__body {
  gap: clamp(1.5rem, 4vw, 4rem);
}

.whoweare__video,
.whoweare__content,
.contact__content {
  min-width: 0;
}

.whoweare__video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

/* Tables remain usable on narrow screens without widening the page. */
table {
  max-width: 100%;
}

.table-scroll,
.table-responsive,
[role="region"][aria-label*="таблиц" i] {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* Legacy hero stays full-width while its content follows the shared container. */
.main-block {
  min-width: 0;
}

.main-block__body {
  width: min(100%, 54rem);
}

.main-block__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3, 0.75rem);
}

.main-block__button {
  min-width: 0;
}

/* Preserve dedicated document/gallery viewers: only guard their outer width. */
.doc2026,
.viewer-shell,
.viewer-container,
.swiper,
.bx-wrapper {
  max-width: 100%;
}

@media (max-width: 900px) {
  :root {
    --layout-card-min: 14rem;
  }

  .header__container {
    align-content: center;
  }

  .header__datetime {
    flex-basis: 100%;
    margin-left: 0;
  }

  .whoweare__body,
  .contact__body {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  :root {
    --layout-gutter: 1rem;
    --layout-section-space: clamp(2rem, 10vw, 3.5rem);
  }

  .header__container {
    gap: 0.5rem 0.75rem;
  }

  .header__logo {
    font-size: clamp(1.05rem, 5vw, 1.35rem);
  }

  .main-block__body {
    width: 100%;
  }

  .main-block__buttons,
  .contact__body,
  .contact__button {
    width: 100%;
  }

  .main-block__button,
  .contact__button {
    max-width: 100%;
  }

  .services__body,
  .practice__body,
  .man__body,
  .categories__items {
    grid-template-columns: 1fr;
  }
}

@media print {
  :root {
    --layout-content-max: none;
    --layout-gutter: 0;
    --layout-section-space: 1.5rem;
  }

  ._container,
  [class$="__container"],
  [class*="__container "] {
    width: 100%;
    max-width: none;
  }
}

/* END css/layout-modern-ui-phase3.css */

/* BEGIN css/cards-modern-ui-phase4.css */
/* Modern UI Phase 4 — Cards
   Unified card surfaces without changing document-viewer geometry or behavior. */

:root {
  --card-bg: var(--color-surface, #ffffff);
  --card-bg-muted: var(--color-surface-subtle, #f7faf9);
  --card-border: color-mix(in srgb, var(--color-primary, #086973) 16%, transparent);
  --card-border-hover: color-mix(in srgb, var(--color-primary, #086973) 34%, transparent);
  --card-radius: var(--radius-lg, 18px);
  --card-radius-sm: var(--radius-md, 12px);
  --card-shadow: 0 8px 24px rgba(15, 50, 54, 0.08);
  --card-shadow-hover: 0 14px 34px rgba(15, 50, 54, 0.14);
  --card-transition: 180ms ease;
}

/* Content and service cards */
.services__item,
.item-service,
.practice__item,
.item-practice,
.man__item,
.item-man,
.items__item,
.error-card {
  position: relative;
  overflow: hidden;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  transition:
    transform var(--card-transition),
    box-shadow var(--card-transition),
    border-color var(--card-transition),
    background-color var(--card-transition);
}

/* Preserve the original semantic green service cards. */
.item-service_green {
  background: var(--color-primary, #0d5c63);
  border-color: color-mix(in srgb, var(--color-primary, #0d5c63) 82%, #ffffff);
}

.item-service_green,
.item-service_green a,
.item-service_green .item-service__title,
.item-service_green .item-service__text {
  color: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  .services__item:hover,
  .item-service:hover,
  .practice__item:hover,
  .item-practice:hover,
  .man__item:hover,
  .item-man:hover,
  .items__item:hover {
    transform: translateY(-3px);
    border-color: var(--card-border-hover);
    box-shadow: var(--card-shadow-hover);
  }
}

.services__item:focus-within,
.item-service:focus-within,
.practice__item:focus-within,
.item-practice:focus-within,
.man__item:focus-within,
.item-man:focus-within,
.items__item:focus-within {
  border-color: var(--color-primary, #086973);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #086973) 20%, transparent), var(--card-shadow-hover);
}

/* Icons remain visually direct: no pale circular plate. */
.item-service__icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: clamp(64px, 7vw, 88px);
  min-height: clamp(64px, 7vw, 88px);
  margin-inline: 0;
  border-radius: 0;
  background: transparent;
}

.item-service__icon img {
  max-width: 78%;
  max-height: 78%;
  object-fit: contain;
}

/* Existing dark pictograms become clean inverse marks on green cards. */
.item-service_green .item-service__icon img {
  filter: brightness(0) invert(1);
}

.item-service__title,
.item-practice__title,
.item-man__title {
  margin-block: 0 var(--space-3, 0.75rem);
  text-wrap: balance;
}

.item-service__text,
.item-practice__text,
.item-man__text,
.items__text {
  color: var(--color-text, #22383a);
}

/* Image sections inside editorial cards */
.item-practice__image,
.item-man__image {
  overflow: hidden;
  border-radius: var(--card-radius-sm);
  background: var(--card-bg-muted);
}

.item-practice__image img,
.item-man__image img {
  transition: transform 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .item-practice:hover .item-practice__image img,
  .item-man:hover .item-man__image img {
    transform: scale(1.025);
  }
}

/* Document viewer thumbnail cards */
.doc2026__thumbs-wrap {
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  background: color-mix(in srgb, var(--card-bg-muted) 86%, transparent);
  box-shadow: 0 6px 20px rgba(15, 50, 54, 0.05);
}

.doc2026__thumb {
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: var(--card-radius-sm);
  background: var(--card-bg);
  box-shadow: 0 5px 16px rgba(15, 50, 54, 0.08);
  transition:
    transform var(--card-transition),
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    background-color var(--card-transition);
}

@media (hover: hover) and (pointer: fine) {
  .doc2026__thumb:hover {
    transform: translateY(-2px);
    border-color: var(--card-border-hover);
    box-shadow: 0 10px 24px rgba(15, 50, 54, 0.13);
  }
}

.doc2026__thumb[aria-current="true"],
.doc2026__thumb.is-active,
.doc2026__thumb.active {
  border-color: var(--color-accent, #cb3b94);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--color-accent, #cb3b94) 20%, transparent),
    0 8px 22px rgba(15, 50, 54, 0.12);
}

.doc2026__thumb:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-primary, #086973) 48%, transparent);
  outline-offset: 2px;
}

.doc2026__thumb-caption {
  padding-inline: var(--space-2, 0.5rem);
  font-weight: 650;
  text-align: center;
}

/* Keep the main document image neutral: no card border or focus decoration. */
.doc2026__image-wrap,
.doc2026__viewer img {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .services__item,
  .item-service,
  .practice__item,
  .item-practice,
  .man__item,
  .item-man,
  .items__item,
  .doc2026__thumb,
  .item-practice__image img,
  .item-man__image img {
    transition: none;
  }
}

@media print {
  .services__item,
  .item-service,
  .practice__item,
  .item-practice,
  .man__item,
  .item-man,
  .items__item,
  .error-card,
  .doc2026__thumbs-wrap,
  .doc2026__thumb {
    box-shadow: none !important;
    border-color: #bbb !important;
  }
}

/* END css/cards-modern-ui-phase4.css */

/* BEGIN css/gallery-ux-modern-ui-phase5.css */
/* Modern UI Phase 5 — Gallery UX
   Progressive media loading, clearer thumbnail states and touch-friendly strips.
   This layer does not alter viewer dimensions or document rendering logic. */

:root {
  --gallery-radius: var(--radius-lg, 14px);
  --gallery-thumb-radius: var(--radius-md, 10px);
  --gallery-accent: var(--color-primary, #086973);
  --gallery-active: var(--color-accent, #cb3b94);
  --gallery-transition: 220ms cubic-bezier(.2,.7,.2,1);
}

/* Horizontal thumbnail areas */
.doc2026__thumbs,
.viewer4__thumbs,
.bx-wrapper .bx-viewport,
.swiper-wrapper {
  scroll-behavior: smooth;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.doc2026__thumbs,
.viewer4__thumbs {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--gallery-accent) 55%, transparent) transparent;
  scroll-snap-type: inline proximity;
  touch-action: pan-x pan-y;
}

.doc2026__thumbs::-webkit-scrollbar,
.viewer4__thumbs::-webkit-scrollbar {
  height: 8px;
}

.doc2026__thumbs::-webkit-scrollbar-track,
.viewer4__thumbs::-webkit-scrollbar-track {
  background: transparent;
}

.doc2026__thumbs::-webkit-scrollbar-thumb,
.viewer4__thumbs::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--gallery-accent) 48%, transparent);
}

.doc2026__thumb,
.viewer4__thumb,
.bx-wrapper li,
.swiper-slide {
  scroll-snap-align: start;
}

/* Progressive image reveal. Existing images stay visible until JS marks them. */
.gallery-ux-managed {
  opacity: .01;
  filter: saturate(.86) contrast(.96);
  transition: opacity 280ms ease, filter 360ms ease, transform var(--gallery-transition);
}

.gallery-ux-managed.gallery-ux-loaded {
  opacity: 1;
  filter: none;
}

.gallery-ux-managed.gallery-ux-error {
  opacity: .42;
  filter: grayscale(1);
}

/* Thumbnail affordance */
.doc2026__thumb,
.viewer4__thumb {
  position: relative;
  isolation: isolate;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.doc2026__thumb::after,
.viewer4__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 0 transparent;
  transition: box-shadow var(--gallery-transition), background-color var(--gallery-transition);
}

@media (hover: hover) and (pointer: fine) {
  .doc2026__thumb:hover::after,
  .viewer4__thumb:hover::after {
    background: linear-gradient(to top, rgba(8,105,115,.08), transparent 42%);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gallery-accent) 35%, transparent);
  }
}

.doc2026__thumb[aria-current="true"]::after,
.doc2026__thumb.is-active::after,
.doc2026__thumb.active::after,
.viewer4__thumb[aria-current="true"]::after,
.viewer4__thumb.is-active::after,
.viewer4__thumb.active::after {
  box-shadow: inset 0 0 0 2px var(--gallery-active);
}

.doc2026__thumb:active,
.viewer4__thumb:active {
  transform: translateY(0) scale(.985);
}

/* Main image transition without borders or outlines. */
.doc2026__image-wrap,
.viewer4__stage,
.viewer4__image-wrap {
  position: relative;
}

.doc2026__image-wrap img,
.viewer4__stage img,
.viewer4__image-wrap img {
  transition: opacity 240ms ease, filter 300ms ease;
}

.gallery-ux-busy .doc2026__image-wrap::before,
.gallery-ux-busy .viewer4__stage::before,
.gallery-ux-busy .viewer4__image-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: var(--gallery-radius);
  background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.36) 45%, transparent 70%);
  background-size: 220% 100%;
  animation: gallery-ux-shimmer 1.2s linear infinite;
}

@keyframes gallery-ux-shimmer {
  to { background-position: -220% 0; }
}

/* Controls remain large enough for touch. */
.doc2026__controls button,
.doc2026__controls select,
.viewer4__controls button,
.viewer4__toolbar button,
.bx-controls-direction a,
.swiper-button-prev,
.swiper-button-next {
  min-inline-size: 44px;
  min-block-size: 44px;
  touch-action: manipulation;
}

@media (max-width: 640px) {
  .doc2026__thumbs,
  .viewer4__thumbs {
    gap: clamp(.5rem, 2.5vw, .875rem);
    padding-block: .5rem;
  }

  .doc2026__thumb,
  .viewer4__thumb {
    scroll-snap-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .doc2026__thumbs,
  .viewer4__thumbs { scroll-behavior: auto; }
  .gallery-ux-managed,
  .doc2026__thumb,
  .viewer4__thumb,
  .doc2026__thumb::after,
  .viewer4__thumb::after,
  .doc2026__image-wrap img,
  .viewer4__stage img,
  .viewer4__image-wrap img { transition: none !important; }
  .gallery-ux-busy .doc2026__image-wrap::before,
  .gallery-ux-busy .viewer4__stage::before,
  .gallery-ux-busy .viewer4__image-wrap::before { animation: none; }
}

@media print {
  .doc2026__thumbs-wrap,
  .viewer4__thumbs,
  .bx-controls,
  .swiper-button-prev,
  .swiper-button-next { display: none !important; }
}

/* END css/gallery-ux-modern-ui-phase5.css */

/* BEGIN css/buttons-modern-ui-phase6.css */
/* Modern UI Phase 6 — Buttons | var.11 grafo74 */
:root {
  --button-height: 44px;
  --button-radius: 12px;
  --button-shadow: 0 7px 18px rgba(37, 63, 67, .16);
  --button-shadow-hover: 0 11px 24px rgba(37, 63, 67, .22);
}

.main-block__button,
.io_button,
button.dropbtn,
.button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  min-height: var(--button-height);
  border-radius: var(--button-radius);
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45em;
  padding: .65rem 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform .18s ease, box-shadow .18s ease,
    background-color .18s ease, border-color .18s ease, color .18s ease;
}

.main-block__button { box-shadow: var(--button-shadow); }
.main-block__button_border {
  color: var(--ds-color-primary, #0d5c63);
  background: rgba(255,255,255,.94);
  border-color: currentColor;
}
.main-block__button_white {
  color: #0d5c63;
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.72);
}
.main-block__button_green,
.io_button {
  color: #fff;
  background: #0d5c63;
  border-color: #0d5c63;
}
.main-block__button_orange {
  color: #fff;
  background: #a52a2a;
  border-color: #a52a2a;
}

@media (hover:hover) {
  .main-block__button:hover,
  .io_button:hover,
  input[type="button"]:hover,
  input[type="submit"]:hover,
  input[type="reset"]:hover {
    transform: translateY(-2px);
    box-shadow: var(--button-shadow-hover);
  }
  .main-block__button_border:hover,
  .main-block__button_white:hover {
    color: #fff;
    background: #0d5c63;
    border-color: #0d5c63;
  }
  .main-block__button_green:hover,
  .io_button:hover { background: #094950; border-color: #094950; color:#fff; }
  .main-block__button_orange:hover { background:#842020; border-color:#842020; color:#fff; }
}

.main-block__button:active,
.io_button:active,
button.dropbtn:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
  transform: translateY(0) scale(.98);
  box-shadow: 0 3px 9px rgba(37,63,67,.16);
}

.main-block__button:focus-visible,
.io_button:focus-visible,
button.dropbtn:focus-visible,
#upbutton:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible {
  outline: 3px solid rgba(26, 144, 154, .4);
  outline-offset: 3px;
}

button.dropbtn {
  min-width: var(--button-height);
  padding-inline: .75rem;
  box-shadow: none;
}

.io_button_wrap { display:flex; justify-content:center; }
.io_button { width:min(100%, 28rem); }

#upbutton {
  border-radius: 50%;
  box-shadow: var(--button-shadow);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  -webkit-tap-highlight-color: transparent;
}
@media (hover:hover) {
  #upbutton:hover { transform: translateY(-3px); box-shadow: var(--button-shadow-hover); }
}

@media (max-width: 600px) {
  .main-block__buttons { gap: .65rem; margin-block: .5rem; }
  .main-block__button { width:100%; margin:0; padding-inline:1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .main-block__button, .io_button, button.dropbtn, #upbutton,
  input[type="button"], input[type="submit"], input[type="reset"] { transition:none; }
}

@media print {
  .main-block__button, .io_button { box-shadow:none; border:1px solid #555; background:#fff!important; color:#000!important; }
  #upbutton, button.dropbtn { display:none!important; }
}

/* END css/buttons-modern-ui-phase6.css */

/* BEGIN css/forms-modern-ui-phase7.css */
/* Modern UI Phase 7 — Forms
   Version: var.12 grafo74
   Scope: native and viewer form controls only. */

:root {
  --mui-form-height: 44px;
  --mui-form-radius: var(--radius-md, 12px);
  --mui-form-border: rgba(16, 104, 92, 0.24);
  --mui-form-border-hover: rgba(16, 104, 92, 0.48);
  --mui-form-focus: rgba(20, 137, 120, 0.22);
  --mui-form-bg: #fff;
  --mui-form-text: #173f3a;
  --mui-form-muted: #667c78;
  --mui-form-accent: #148978;
}

/* Text inputs, search fields, textareas and native selects. */
:where(input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: var(--mui-form-height);
  padding: 0.68rem 0.88rem;
  border: 1px solid var(--mui-form-border);
  border-radius: var(--mui-form-radius);
  background-color: var(--mui-form-bg);
  color: var(--mui-form-text);
  font: inherit;
  line-height: 1.35;
  box-shadow: 0 1px 2px rgba(18, 62, 56, 0.04);
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

:where(input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select):hover:not(:disabled) {
  border-color: var(--mui-form-border-hover);
}

:where(input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select):focus-visible {
  outline: none;
  border-color: var(--mui-form-accent);
  box-shadow: 0 0 0 4px var(--mui-form-focus);
}

:where(input, textarea)::placeholder {
  color: var(--mui-form-muted);
  opacity: 0.86;
}

textarea {
  min-height: 7.5rem;
  resize: vertical;
}

select {
  padding-right: 2.35rem;
  cursor: pointer;
}

:where(input, textarea, select):disabled {
  cursor: not-allowed;
  opacity: 0.62;
  background-color: #f2f6f5;
}

/* Native checkbox and radio controls. */
:where(input[type="checkbox"], input[type="radio"]) {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: var(--mui-form-accent);
  cursor: pointer;
  flex: 0 0 auto;
}

:where(input[type="checkbox"], input[type="radio"]):focus-visible {
  outline: 3px solid var(--mui-form-focus);
  outline-offset: 3px;
}

:where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) {
  cursor: pointer;
}

/* Journal filter controls. */
.journal-filters__search,
.journal-filters__select {
  width: 100%;
}

.journal-filters__label {
  min-height: 38px;
  gap: 0.65rem;
  border-radius: 10px;
  transition: background-color 150ms ease;
}

.journal-filters__label:hover {
  background-color: rgba(20, 137, 120, 0.07);
}

.journal-filters__label:focus-within {
  background-color: rgba(20, 137, 120, 0.09);
  box-shadow: 0 0 0 3px var(--mui-form-focus);
}

/* Compact viewer selects should remain aligned with toolbar buttons. */
.doc2026__toolbar select,
.viewer-overlay select,
[data-viewer-overlay] select,
select[data-action="speed"] {
  min-width: 5.8rem;
  min-height: 44px;
  padding-block: 0.55rem;
}

/* Dynamically generated viewer search and notes controls. */
:where(.viewer5-command__input, .viewer54-search__input, .viewer61-textsearch__input,
.viewer61-ocrpanel__text, .viewer63-pdfsearch__input, .viewer64-ai__input,
.viewer55-notes__text, [data-v156-folder-search], [data-v1624-search-input],
[data-kg-search]) {
  width: 100%;
}

@media (max-width: 640px) {
  :where(input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select) {
    font-size: 16px; /* prevents automatic zoom on mobile browsers */
  }

  .doc2026__toolbar select {
    flex: 1 1 7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(input, textarea, select, .journal-filters__label) {
    transition: none !important;
  }
}

@media print {
  :where(input, textarea, select) {
    border-color: #777 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #000 !important;
  }
}

/* END css/forms-modern-ui-phase7.css */

/* BEGIN css/animations-modern-ui-phase8.css */
/* Modern UI Phase 8 — Animations | var.13 grafo74 */
:root {
  --motion-fast: 160ms;
  --motion-base: 260ms;
  --motion-slow: 420ms;
  --motion-ease: cubic-bezier(.2,.7,.2,1);
  --motion-ease-out: cubic-bezier(.16,1,.3,1);
}

html { scroll-behavior: smooth; }

/* Safe initial page entrance: never hides content. */
body.modern-ui-motion-ready .wrapper,
body.modern-ui-motion-ready .container,
body.modern-ui-motion-ready main {
  animation: mui-page-enter var(--motion-slow) var(--motion-ease-out) both;
}

@keyframes mui-page-enter {
  from { opacity: .86; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Progressive reveal. Content remains visible when JS is unavailable. */
.mui-reveal {
  transition:
    opacity var(--motion-slow) var(--motion-ease-out),
    transform var(--motion-slow) var(--motion-ease-out);
}
body.modern-ui-motion-ready .mui-reveal:not(.mui-reveal-visible) {
  opacity: 0;
  transform: translateY(14px);
}
body.modern-ui-motion-ready .mui-reveal.mui-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered groups without changing layout. */
.mui-reveal:nth-child(2) { transition-delay: 45ms; }
.mui-reveal:nth-child(3) { transition-delay: 90ms; }
.mui-reveal:nth-child(4) { transition-delay: 135ms; }
.mui-reveal:nth-child(n+5) { transition-delay: 180ms; }

/* Interactive micro-motion. */
a,
button,
input,
select,
textarea,
.item-service,
.item-practice,
.item-man,
.card,
.thumbnail,
[class*="thumb"] {
  transition-duration: var(--motion-fast);
  transition-timing-function: var(--motion-ease);
}

button:active,
[role="button"]:active,
.btn:active,
.button:active,
a[class*="btn"]:active,
a[class*="button"]:active {
  transform: translateY(1px) scale(.985);
}

.item-service:hover,
.item-practice:hover,
.item-man:hover,
.card:hover {
  transform: translateY(-3px);
}

/* Images fade in only after the browser has decoded them. */
img.mui-image-pending {
  opacity: .001;
}
img.mui-image-ready {
  opacity: 1;
  transition: opacity var(--motion-base) ease;
}

/* Disclosure/menu transitions where supported. */
details > *:not(summary) {
  animation: mui-disclosure var(--motion-base) var(--motion-ease-out) both;
}
@keyframes mui-disclosure {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Preserve viewer geometry and document controls. */
.viewer img,
.viewer-container img,
#doc2026Image,
.main-image,
.document-image {
  transform: none;
}

@media (hover: none) {
  .item-service:hover,
  .item-practice:hover,
  .item-man:hover,
  .card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
  body.modern-ui-motion-ready .mui-reveal,
  body.modern-ui-motion-ready .mui-reveal:not(.mui-reveal-visible) {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media print {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  .mui-reveal,
  img.mui-image-pending { opacity: 1 !important; }
}

/* END css/animations-modern-ui-phase8.css */

/* BEGIN css/var16-corrections.css */
/* var.16 grafo74 — approved article sheets, footer-teal controls, fullscreen thumbnails */
:root {
  --site-footer-green: #0d5c63;
  --site-footer-green-hover: #094950;
  --article-sheet-bg: #f4faff;
  --article-sheet-edge: rgba(128,174,201,.34);
}

/* A4-inspired sheets: 30/15/15/15 mm proportions, square corners. */
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(100%, 1120px) !important;
  margin: 24px auto !important;
  padding: clamp(34px, 7.1429cqw, 76px) clamp(24px, 7.1429cqw, 76px) clamp(34px, 7.1429cqw, 76px) clamp(86px, 14.2857cqw, 152px) !important;
  overflow: hidden !important;
  border: 1px solid var(--article-sheet-edge) !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 52% 43%, #fff 0%, #f8fcff 56%, #e7f4fb 100%) !important;
  box-shadow: 0 24px 44px -25px rgba(31,57,72,.24), 0 8px 20px -15px rgba(31,57,72,.30), inset -18px -12px 34px rgba(115,177,214,.10) !important;
}

/* Always circular holes: explicit equal width/height circles repeated vertically. */
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::before {
  content: "" !important;
  position: absolute !important;
  z-index: 7 !important;
  top: 34px !important;
  bottom: 34px !important;
  left: clamp(22px, 3.45cqw, 42px) !important;
  width: 20px !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle 8px at 10px 10px,
    rgba(104,113,119,.78) 0 5px,
    rgba(190,199,205,.72) 5.5px 7px,
    rgba(255,255,255,.98) 7.5px 8.5px,
    transparent 9px) !important;
  background-size: 20px clamp(92px, 12.4cqw, 132px) !important;
  background-position: 0 0 !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(1px 2px 2px rgba(33,47,56,.20)) !important;
}

/* Lifted paper corner: white face, blue underside, clear cast shadow. */
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::after,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::after {
  content: "" !important;
  position: absolute !important;
  z-index: 8 !important;
  top: -1px !important;
  right: -1px !important;
  width: clamp(68px, 9.6cqw, 108px) !important;
  height: clamp(68px, 9.6cqw, 108px) !important;
  pointer-events: none !important;
  clip-path: polygon(28% 0,100% 0,100% 100%,78% 79%,26% 70%) !important;
  background: linear-gradient(225deg,
    transparent 0 32%,
    #fff 33% 57%,
    #dceef8 58% 69%,
    #9fc8df 70% 100%) !important;
  box-shadow: -15px 17px 22px rgba(45,76,94,.23), -5px 6px 8px rgba(45,76,94,.17) !important;
}


.article-paper-section .text_hide_wrap > .item_text > * {
  position: relative;
  z-index: 3;
}

/* One canonical green: exactly the established footer teal. */
.article-index-page .main-block__button,
.article-detail-page .main-block__button,
.article-detail-page .io_button,
.article-index-page .io_button,
.article-detail-page button,
.article-index-page button,
.main-block__button_green,
.io_button {
  border-color: var(--site-footer-green) !important;
  background: var(--site-footer-green) !important;
  color: #fff !important;
}
.article-index-page .main-block__button:hover,
.article-detail-page .main-block__button:hover,
.article-detail-page .io_button:hover,
.article-index-page .io_button:hover,
.main-block__button_green:hover,
.io_button:hover {
  border-color: var(--site-footer-green-hover) !important;
  background: var(--site-footer-green-hover) !important;
  color: #fff !important;
}

/* “Читать больше” follows its text instead of spanning the section. */
.article-index-page .io_button_wrap,
.article-detail-page .io_button_wrap {
  justify-content: center !important;
}
.article-index-page .io_button,
.article-detail-page .io_button,
.article-index-page .text_hide_wrap + .io_button_wrap .io_button,
.article-detail-page .text_hide_wrap + .io_button_wrap .io_button {
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding-inline: 1.35rem !important;
  white-space: nowrap !important;
}

/* Fullscreen thumbnail recovery on the three affected pages. */
body.three-pages-thumb-stable .viewer2026-overlay__thumbs,
body.three-pages-thumb-stable .viewer28__thumbs,
body.three-pages-thumb-stable .viewer29__thumbs,
body.three-pages-thumb-stable .viewer30__thumbs,
body.three-pages-thumb-stable .viewer4.open .viewer4__thumbs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 112px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
body.three-pages-thumb-stable .viewer2026-overlay__thumb,
body.three-pages-thumb-stable .viewer28__thumbs .viewer2026-overlay__thumb,
body.three-pages-thumb-stable .viewer29__thumbs .viewer2026-overlay__thumb,
body.three-pages-thumb-stable .viewer30__thumbs .viewer2026-overlay__thumb,
body.three-pages-thumb-stable .viewer4.open .viewer4__thumb {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
}
body.three-pages-thumb-stable .viewer2026-overlay__thumb img,
body.three-pages-thumb-stable .viewer28__thumbs img,
body.three-pages-thumb-stable .viewer29__thumbs img,
body.three-pages-thumb-stable .viewer30__thumbs img,
body.three-pages-thumb-stable .viewer4.open .viewer4__thumb img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  object-fit: contain !important;
  background: #fff !important;
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 720px) {
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
    padding: 30px 20px 30px 68px !important;
  }
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::before {
    left: 18px !important;
    width: 18px !important;
    background-image: radial-gradient(circle 7px at 9px 9px, rgba(104,113,119,.78) 0 4.5px, rgba(190,199,205,.72) 5px 6px, #fff 6.5px 7.5px, transparent 8px) !important;
    background-size: 18px 96px !important;
  }
  .article-index-page .io_button,
  .article-detail-page .io_button { width: auto !important; }
}

@media print {
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
    width: 210mm !important;
    min-height: 297mm !important;
    padding: 15mm 15mm 15mm 30mm !important;
    margin: 0 auto !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::before,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::after { display:none !important; }
}

/* END css/var16-corrections.css */


/* ===== css/var17-final-corrections.css?v=17 ===== */
/* var.17 grafo74 — approved correction set */
:root {
  --grafo-green: #0d5c63;
  --grafo-green-hover: #094950;
  --grafo-green-focus: rgba(13,92,99,.32);
  --article-paper-bg: #f4faff;
  --article-paper-edge: rgba(128,174,201,.34);
}

/* One green everywhere: the established footer colour. */
a.main-block__button,
button.main-block__button,
.io_button,
.btn_open,
.btn_close,
.main-block__button_green,
.item-service__button,
.article-index-page button,
.article-detail-page button,
.article-index-page [role="button"],
.article-detail-page [role="button"] {
  border-color: var(--grafo-green) !important;
  background: var(--grafo-green) !important;
  background-image: none !important;
  color: #fff !important;
}
a.main-block__button:hover,
button.main-block__button:hover,
.io_button:hover,
.btn_open:hover,
.btn_close:hover,
.main-block__button_green:hover,
.item-service__button:hover,
.article-index-page button:hover,
.article-detail-page button:hover {
  border-color: var(--grafo-green-hover) !important;
  background: var(--grafo-green-hover) !important;
  color: #fff !important;
}
a.main-block__button:focus-visible,
button.main-block__button:focus-visible,
.io_button:focus-visible,
.article-index-page button:focus-visible,
.article-detail-page button:focus-visible {
  outline: 3px solid var(--grafo-green-focus) !important;
  outline-offset: 3px !important;
}

/* Read-more buttons follow text width. */
.io_button_wrap { justify-content: center !important; }
.io_button,
.btn_open,
.btn_close {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding: .72em 1.3em !important;
  white-space: nowrap !important;
}

/* Approved paper: square sheet, no folded corner. */
.article-paper-section { container-type: inline-size; }
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
.article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(100%, 1120px) !important;
  margin: 24px auto !important;
  padding: clamp(34px,7.1429cqw,76px) clamp(24px,7.1429cqw,76px) clamp(34px,7.1429cqw,76px) clamp(86px,14.2857cqw,152px) !important;
  overflow: hidden !important;
  border: 1px solid var(--article-paper-edge) !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 52% 43%,#fff 0%,#f8fcff 56%,#e7f4fb 100%) !important;
  box-shadow: 0 24px 44px -25px rgba(31,57,72,.24),0 8px 20px -15px rgba(31,57,72,.30),inset -18px -12px 34px rgba(115,177,214,.10) !important;
}

/* Disable every previous fold. */
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::after,
.article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text::after,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::after {
  display: none !important;
  content: none !important;
}

/* Circular holes: fixed square tile and circle geometry. */
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
.article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text::before,
.article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::before {
  content: "" !important;
  position: absolute !important;
  z-index: 7 !important;
  top: 34px !important;
  bottom: 34px !important;
  left: clamp(22px,3.45cqw,42px) !important;
  width: 20px !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle 8px at 10px 10px,rgba(104,113,119,.78) 0 5px,rgba(190,199,205,.72) 5.5px 7px,rgba(255,255,255,.98) 7.5px 8.5px,transparent 9px) !important;
  background-size: 20px clamp(92px,12.4cqw,132px) !important;
  background-position: 0 0 !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(1px 2px 2px rgba(33,47,56,.20)) !important;
}

.article-paper-section .io_item_wrap { overflow: hidden !important; }
.article-paper-section .io_item.open .io_item_wrap { max-height: none !important; overflow: visible !important; }
.article-paper-section .text_hide_wrap { overflow: visible !important; }
.article-paper-section .text_hide_wrap > .item_text > * { position: relative; z-index: 3; }

/* Fullscreen thumbnails must show actual page previews. */
.three-pages-thumb-stable .viewer2026-overlay__thumbs,
.three-pages-thumb-stable .viewer28__thumbs,
.three-pages-thumb-stable .viewer29__thumbs,
.three-pages-thumb-stable .viewer30__thumbs,
.three-pages-thumb-stable .viewer4__thumbs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 116px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.three-pages-thumb-stable .viewer2026-overlay__thumb,
.three-pages-thumb-stable .viewer4__thumb {
  flex: 0 0 88px !important;
  width: 88px !important;
  min-height: 104px !important;
  padding: 6px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.94) !important;
}
.three-pages-thumb-stable .viewer2026-overlay__thumb img,
.three-pages-thumb-stable .viewer4__thumb img {
  display: block !important;
  width: 100% !important;
  height: 78px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  background: #fff !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}
.three-pages-thumb-stable .viewer2026-overlay__thumb::before,
.three-pages-thumb-stable .viewer2026-overlay__thumb::after,
.three-pages-thumb-stable .viewer4__thumb::before,
.three-pages-thumb-stable .viewer4__thumb::after { display:none !important; content:none !important; }

@media (max-width:720px) {
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
  .article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
    padding: 30px 20px 30px 68px !important;
  }
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
  .article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text::before,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text::before {
    left: 18px !important;
    width: 18px !important;
    background-image: radial-gradient(circle 7px at 9px 9px,rgba(104,113,119,.78) 0 4.5px,rgba(190,199,205,.72) 5px 6px,#fff 6.5px 7.5px,transparent 8px) !important;
    background-size: 18px 96px !important;
  }
}

@media print {
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
  .article-paper-section > .Rules__container > .Rules__body > .io_item > .io_item_wrap > .text_hide_wrap > .item_text,
  .article-paper-section > .Rules__container > .Rules__body > .text_hide_wrap > .item_text {
    width:210mm !important; min-height:297mm !important; padding:15mm 15mm 15mm 30mm !important;
    margin:0 auto !important; border:0 !important; background:#fff !important; box-shadow:none !important;
  }
  .article-paper-section .item_text::before { display:none !important; }
}


/* ===== css/documentation-info-paper-var109.css?v=110 ===== */
/* var.109 — documentation information styled like the approved article paper */
.documentation-info-paper {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(100%, 1120px) !important;
  margin: 24px 0 24px 30px !important;
  padding: clamp(34px, 7vw, 76px) clamp(24px, 7vw, 76px) clamp(34px, 7vw, 76px) clamp(86px, 14vw, 152px) !important;
  overflow: hidden !important;
  border: 1px solid var(--article-paper-edge, #c9dce7) !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 52% 43%, #fff 0%, #f8fcff 56%, #e7f4fb 100%) !important;
  color: #17212b !important;
  box-shadow: 0 24px 44px -25px rgba(31,57,72,.24), 0 8px 20px -15px rgba(31,57,72,.30), inset -18px -12px 34px rgba(115,177,214,.10) !important;
}
.documentation-info-paper::before {
  content: "" !important;
  position: absolute !important;
  z-index: 7 !important;
  top: 34px !important;
  bottom: 34px !important;
  left: clamp(22px, 3.45vw, 42px) !important;
  width: 20px !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle 8px at 10px 10px, rgba(104,113,119,.78) 0 5px, rgba(190,199,205,.72) 5.5px 7px, rgba(255,255,255,.98) 7.5px 8.5px, transparent 9px) !important;
  background-size: 20px clamp(92px, 12.4vw, 132px) !important;
  background-position: 0 0 !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(1px 2px 2px rgba(33,47,56,.20)) !important;
}
.documentation-info-paper > * {
  position: relative;
  z-index: 3;
}
.documentation-info-paper .item__label {
  display: block;
  margin: 0 0 28px;
  color: #17212b !important;
  font-size: clamp(22px, 2.3vw, 31px);
  line-height: 1.35;
}
.documentation-info-paper .header-block__text,
.documentation-info-paper .header-block__text p {
  color: #17212b !important;
}
html[data-theme="dark"] .documentation-info-paper,
html[data-theme="dark"] .documentation-info-paper .item__label,
html[data-theme="dark"] .documentation-info-paper .header-block__text,
html[data-theme="dark"] .documentation-info-paper .header-block__text p {
  color: #17212b !important;
}
@media (max-width: 900px) {
  .page__categories .item__item {
    align-items: flex-start;
  }
  .documentation-info-paper {
    margin-left: 18px !important;
    padding-left: 78px !important;
  }
}
@media (max-width: 700px) {
  .page__categories .item__item {
    display: block;
  }
  .page__categories .item__image {
    width: min(100%, 360px);
    min-height: 520px;
    margin: 0 auto 22px;
  }
  .documentation-info-paper {
    width: 100% !important;
    margin: 0 auto 24px !important;
    padding: 34px 22px 34px 62px !important;
  }
  .documentation-info-paper::before {
    left: 20px !important;
  }
}

/* var.110 — portrait cropped to the exact vertical span of the adjacent paper */
@media (min-width: 701px) {
  .page__categories .item__item {
    align-items: stretch;
  }

  .page__categories .item__item > .item__image {
    box-sizing: border-box;
    min-height: 0;
    margin-top: 24px;
    margin-bottom: 24px;
    overflow: hidden;
    align-self: stretch;
  }

  .page__categories .item__item > .item__image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
  }
}


/* ===== css/common-modern-secondary-v4032.css?v=4032 ===== */
/* SOURCE: css/var18-button-and-article-state-fix.css */
/* var.18 grafo74 — unified green buttons and correct read-more states */
:root {
  --grafo-footer-green: #0d5c63;
  --grafo-footer-green-hover: #094950;
  --grafo-footer-green-active: #073c42;
  --grafo-footer-green-focus: rgba(13, 92, 99, .34);
  --grafo-paper-bg: #f4faff;
  --grafo-paper-edge: rgba(128, 174, 201, .34);
}

/* The footer green is the single interactive colour across the site. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.main-block__button,
.item-service__button,
.io_button,
.btn_open,
.btn_close,
[role="button"].button,
[role="button"].btn {
  border-color: var(--grafo-footer-green) !important;
  background-color: var(--grafo-footer-green) !important;
  background-image: none !important;
  color: #fff !important;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.main-block__button:hover,
.item-service__button:hover,
.io_button:hover,
.btn_open:hover,
.btn_close:hover,
[role="button"].button:hover,
[role="button"].btn:hover {
  border-color: var(--grafo-footer-green-hover) !important;
  background-color: var(--grafo-footer-green-hover) !important;
  color: #fff !important;
}
button:active,
.main-block__button:active,
.item-service__button:active,
.io_button:active {
  background-color: var(--grafo-footer-green-active) !important;
}
button:focus-visible,
input:focus-visible,
.main-block__button:focus-visible,
.item-service__button:focus-visible,
.io_button:focus-visible {
  outline: 3px solid var(--grafo-footer-green-focus) !important;
  outline-offset: 3px !important;
}

/* Read-more controls: exactly one button is visible for each state. */
.io_button_wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 14px !important;
}
.io_button,
.btn_open,
.btn_close {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  padding: .72em 1.3em !important;
  white-space: nowrap !important;
}
.io_item:not(.open) > .io_button_wrap > .btn_close {
  display: none !important;
}
.io_item:not(.open) > .io_button_wrap > .btn_open {
  display: inline-flex !important;
}
.io_item.open > .io_button_wrap > .btn_close {
  display: inline-flex !important;
}
.io_item.open > .io_button_wrap > .btn_open {
  display: none !important;
}

/* Expanded text uses the same approved paper component. */
.article-paper-section .io_item > .io_item_wrap {
  width: 100% !important;
}

.article-paper-section .io_item > .io_item_wrap > .item_text {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(100%, 1120px) !important;
  margin: 24px auto !important;
  padding: clamp(34px, 7.1429cqw, 76px)
           clamp(24px, 7.1429cqw, 76px)
           clamp(34px, 7.1429cqw, 76px)
           clamp(86px, 14.2857cqw, 152px) !important;
  overflow: hidden !important;
  border: 1px solid var(--grafo-paper-edge) !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 52% 43%, #fff 0%, #f8fcff 56%, #e7f4fb 100%) !important;
  box-shadow:
    0 24px 44px -25px rgba(31, 57, 72, .24),
    0 8px 20px -15px rgba(31, 57, 72, .30),
    inset -18px -12px 34px rgba(115, 177, 214, .10) !important;
}
.article-paper-section .io_item > .io_item_wrap > .item_text::after {
  display: none !important;
  content: none !important;
}
.article-paper-section .io_item > .io_item_wrap > .item_text::before {
  content: "" !important;
  position: absolute !important;
  z-index: 7 !important;
  top: 34px !important;
  bottom: 34px !important;
  left: clamp(22px, 3.45cqw, 42px) !important;
  width: 20px !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle 8px at 10px 10px,
    rgba(104, 113, 119, .78) 0 5px,
    rgba(190, 199, 205, .72) 5.5px 7px,
    rgba(255, 255, 255, .98) 7.5px 8.5px,
    transparent 9px) !important;
  background-size: 20px clamp(92px, 12.4cqw, 132px) !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(1px 2px 2px rgba(33, 47, 56, .20)) !important;
}
.article-paper-section .io_item > .io_item_wrap > .item_text > * {
  position: relative;
  z-index: 3;
}
.article-paper-section .io_item:not(.open) > .io_item_wrap > .item_text {
  margin-bottom: 0 !important;
}
.article-paper-section .io_item:not(.open) .io_trans {
  z-index: 8 !important;
}

@media (max-width: 720px) {
  .article-paper-section .io_item > .io_item_wrap > .item_text {
    padding: 30px 20px 30px 68px !important;
  }
  .article-paper-section .io_item > .io_item_wrap > .item_text::before {
    left: 18px !important;
    width: 18px !important;
    background-image: radial-gradient(circle 7px at 9px 9px,
      rgba(104, 113, 119, .78) 0 4.5px,
      rgba(190, 199, 205, .72) 5px 6px,
      #fff 6.5px 7.5px,
      transparent 8px) !important;
    background-size: 18px 96px !important;
  }
}

@media print {
  .io_button_wrap { display: none !important; }
  .article-paper-section .io_item > .io_item_wrap > .item_text {
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 auto !important;
    padding: 15mm 15mm 15mm 30mm !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .article-paper-section .io_item > .io_item_wrap > .item_text::before {
    display: none !important;
  }
}

/* SOURCE: css/var19-article-controls-and-alignment.css */
/* var.19 grafo74 — reliable article controls, aligned paper widths, unified footer green */
:root {
  --grafo-unified-green: #0d5c63;
  --grafo-unified-green-hover: #094950;
  --grafo-unified-green-active: #073c42;
  --grafo-paper-max-width: 1120px;
  --grafo-paper-bg: #f4faff;
  --grafo-paper-edge: rgba(128, 174, 201, .34);
}

/* One green for every actual button/control. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.main-block__button,
.item-service__button,
.io_button,
.btn_open,
.btn_close,
.button,
.btn,
.viewer-controls button,
.viewer-toolbar button,
.controls button,
[data-pro-toggle],
[role="button"].button,
[role="button"].btn {
  background: var(--grafo-unified-green) !important;
  background-color: var(--grafo-unified-green) !important;
  background-image: none !important;
  border-color: var(--grafo-unified-green) !important;
  color: #fff !important;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.main-block__button:hover,
.item-service__button:hover,
.io_button:hover,
.button:hover,
.btn:hover,
.viewer-controls button:hover,
.viewer-toolbar button:hover,
.controls button:hover,
[data-pro-toggle]:hover {
  background: var(--grafo-unified-green-hover) !important;
  border-color: var(--grafo-unified-green-hover) !important;
  color: #fff !important;
}
button:active,
.io_button:active,
.button:active,
.btn:active {
  background: var(--grafo-unified-green-active) !important;
}

/* One horizontal grid for the initial article, collapsed and expanded pages. */
.article-paper-section > .Rules__container {
  box-sizing: border-box !important;
  width: min(calc(100% - 32px), var(--grafo-paper-max-width)) !important;
  max-width: var(--grafo-paper-max-width) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.article-paper-section > .Rules__container > .Rules__body,
.article-paper-section .text_hide_wrap,
.article-paper-section .io_item,
.article-paper-section .io_item_wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
.article-paper-section .io_item_wrap > .item_text {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 !important;
  padding: clamp(34px, 6vw, 76px)
           clamp(24px, 6vw, 76px)
           clamp(34px, 6vw, 76px)
           clamp(86px, 12vw, 152px) !important;
  overflow: hidden !important;
  border: 1px solid var(--grafo-paper-edge) !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 52% 43%, #fff 0%, #f8fcff 56%, #e7f4fb 100%) !important;
  box-shadow:
    0 24px 44px -25px rgba(31, 57, 72, .24),
    0 8px 20px -15px rgba(31, 57, 72, .30),
    inset -18px -12px 34px rgba(115, 177, 214, .10) !important;
}
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::after,
.article-paper-section .io_item_wrap > .item_text::after {
  display: none !important;
  content: none !important;
}
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
.article-paper-section .io_item_wrap > .item_text::before {
  content: "" !important;
  position: absolute !important;
  z-index: 7 !important;
  top: 34px !important;
  bottom: 34px !important;
  left: clamp(22px, 3.4vw, 42px) !important;
  width: 20px !important;
  aspect-ratio: auto !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle 8px at 10px 10px,
    rgba(104, 113, 119, .78) 0 5px,
    rgba(190, 199, 205, .72) 5.5px 7px,
    rgba(255, 255, 255, .98) 7.5px 8.5px,
    transparent 9px) !important;
  background-size: 20px clamp(92px, 11vw, 132px) !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(1px 2px 2px rgba(33, 47, 56, .20)) !important;
}
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
.article-paper-section .io_item_wrap > .item_text {
  position: relative !important;
  isolation: isolate !important;
}
.article-paper-section .io_item_wrap > .item_text > *,
.article-paper-section > .Rules__container > .Rules__body > .items__item:first-child > * {
  position: relative;
  z-index: 3;
}

/* Reliable collapsed/expanded state. */
.article-paper-section .io_item_wrap {
  position: relative !important;
  overflow: hidden !important;
  transition: max-height .35s ease !important;
}
.article-paper-section .io_item:not(.open) > .io_item_wrap {
  max-height: 190px !important;
}
.article-paper-section .io_item.open > .io_item_wrap {
  max-height: none !important;
  overflow: visible !important;
}
.article-paper-section .io_trans {
  position: absolute !important;
  inset: auto 0 0 !important;
  height: 90px !important;
  pointer-events: none !important;
  background: linear-gradient(to bottom, rgba(244,250,255,0), rgba(244,250,255,.98)) !important;
}
.article-paper-section .io_item.open .io_trans {
  display: none !important;
}
.article-paper-section .io_button_wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 14px 0 34px !important;
}
.article-paper-section .io_button {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  padding: .72em 1.3em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.article-paper-section .io_item:not(.open) .btn_close,
.article-paper-section .io_item.open .btn_open {
  display: none !important;
}
.article-paper-section .io_item:not(.open) .btn_open,
.article-paper-section .io_item.open .btn_close {
  display: inline-flex !important;
}

@media (max-width: 720px) {
  .article-paper-section > .Rules__container {
    width: min(calc(100% - 20px), var(--grafo-paper-max-width)) !important;
  }
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
  .article-paper-section .io_item_wrap > .item_text {
    padding: 30px 20px 30px 68px !important;
  }
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child::before,
  .article-paper-section .io_item_wrap > .item_text::before {
    left: 18px !important;
    width: 18px !important;
    background-image: radial-gradient(circle 7px at 9px 9px,
      rgba(104, 113, 119, .78) 0 4.5px,
      rgba(190, 199, 205, .72) 5px 6px,
      #fff 6.5px 7.5px,
      transparent 8px) !important;
    background-size: 18px 96px !important;
  }
}

@media print {
  .article-paper-section .io_button_wrap { display: none !important; }
  .article-paper-section > .Rules__container { width: 210mm !important; max-width: 210mm !important; }
  .article-paper-section > .Rules__container > .Rules__body > .items__item:first-child,
  .article-paper-section .io_item_wrap > .item_text {
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 15mm 15mm 15mm 30mm !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .article-paper-section .io_item_wrap { max-height: none !important; overflow: visible !important; }
  .article-paper-section .io_trans,
  .article-paper-section .item_text::before,
  .article-paper-section .items__item::before { display: none !important; }
}

/* SOURCE: css/var21-unified-buttons-and-header-cleanup.css */
/* var.21 grafo74 — remove obsolete header down button and force one footer green */
:root {
  --grafo-button-green: #0d5c63;
}

/* Every visual button uses exactly the footer green in every interaction state. */
:is(
  button,
  input[type="button"], input[type="submit"], input[type="reset"],
  a.main-block__button, a.item-service__button,
  .main-block__button, .item-service__button,
  .io_button, .btn_open, .btn_close,
  .button, .btn,
  .w3-button, .w3-btn,
  .w3-green, .w3-light-green, .w3-teal,
  .viewer-controls button, .viewer-toolbar button, .controls button,
  [data-pro-toggle], [role="button"]
),
:is(
  button,
  input[type="button"], input[type="submit"], input[type="reset"],
  a.main-block__button, a.item-service__button,
  .main-block__button, .item-service__button,
  .io_button, .btn_open, .btn_close,
  .button, .btn,
  .w3-button, .w3-btn,
  .w3-green, .w3-light-green, .w3-teal,
  .viewer-controls button, .viewer-toolbar button, .controls button,
  [data-pro-toggle], [role="button"]
):is(:hover, :focus, :focus-visible, :active) {
  background: var(--grafo-button-green) !important;
  background-color: var(--grafo-button-green) !important;
  background-image: none !important;
  border-color: var(--grafo-button-green) !important;
  color: #fff !important;
  filter: none !important;
}

/* Old header triangle is no longer part of the interface. Defensive fallback for cached HTML. */
.header .dropdown > .dropbtn,
.topnav > .dropdown > .dropbtn {
  display: none !important;
}

/* SOURCE: css/dark-mode-modern-ui-phase10.css */
/* Modern UI Phase 10 — Dark Mode | var.23 grafo74 */
:root {
  color-scheme: light;
  --dm-bg: #f6f8f8;
  --dm-surface: #ffffff;
  --dm-surface-soft: #eef6f7;
  --dm-text: #17212b;
  --dm-muted: #52606d;
  --dm-border: rgba(13, 92, 99, .22);
  --dm-shadow: 0 14px 34px rgba(16, 35, 42, .14);
  --dm-accent: #0d5c63;
  --dm-accent-hover: #0d5c63;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --dm-bg: #101719;
  --dm-surface: #172226;
  --dm-surface-soft: #1d2d31;
  --dm-text: #edf5f5;
  --dm-muted: #b7c6c8;
  --dm-border: rgba(143, 207, 211, .24);
  --dm-shadow: 0 16px 36px rgba(0, 0, 0, .42);
  --dm-accent: #0d5c63;
  --dm-accent-hover: #0d5c63;
}
html, body { background-color: var(--dm-bg); color: var(--dm-text); }
body, main, section, article, .w3-content, .content, .container { transition: background-color .24s ease, color .24s ease, border-color .24s ease; }
html[data-theme="dark"] {
  background: #101719 url("../img/parallax0.webp") center center / cover fixed no-repeat;
}
html[data-theme="dark"] body {
  background-color: transparent !important;
  background-image: url("../img/parallax0.webp") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}
html[data-theme="dark"] :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,caption,small,strong,b,span:not(.pdf-label):not(.viewer-page-label)) { color: inherit; }
html[data-theme="dark"] :where(a:not(.w3-button):not(.button):not(.btn):not([class*="button"])) { color: #8fd0d4; }
html[data-theme="dark"] :where(.w3-white,.item,.card,.service-card,.practice-card,.man-card,.content-card,.article-sheet,.article-paper,.article-page,.paper-page,.item_text,.news-item,.journal-item,.viewer-panel,.viewer-toolbar,.viewer-thumbnails,.gallery-strip,.modal-content,.dropdown-content) {
  background-color: var(--dm-surface) !important;
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}
html[data-theme="dark"] :where(input,textarea,select) {
  background: #111b1e !important;
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}
html[data-theme="dark"] :where(input,textarea)::placeholder { color: #91a5a8; }
html[data-theme="dark"] table { color: var(--dm-text); border-color: var(--dm-border); }
html[data-theme="dark"] :where(th,td) { border-color: var(--dm-border) !important; }
html[data-theme="dark"] :where(.article-sheet,.article-paper,.article-page,.paper-page,.readmore-sheet,.readmore-expanded) {
  background: linear-gradient(145deg, #1c2a2e, #172226) !important;
  color: var(--dm-text) !important;
}
html[data-theme="dark"] :where(.article-sheet,.article-paper,.article-page,.paper-page,.readmore-sheet,.readmore-expanded)::before {
  filter: brightness(.74);
}
/* Documents and scanned pages must remain visually authentic. */
html[data-theme="dark"] :where(.viewer-stage,.document-stage,.pdf-stage,.main-document,.page-canvas) { background: #0a0e10 !important; }
html[data-theme="dark"] :where(.viewer-stage img,.document-stage img,.pdf-stage img,.main-document img,canvas) { filter: none !important; }
html[data-theme="dark"] footer, html[data-theme="dark"] .footer, html[data-theme="dark"] #footer {
  background: #0d5c63 !important;
  color: #fff !important;
}
html[data-theme="dark"] footer a, html[data-theme="dark"] .footer a, html[data-theme="dark"] #footer a { color: #fff !important; }
/* Keep all action buttons in the approved footer green in both themes. */
:where(button,.button,.btn,.w3-button,input[type="button"],input[type="submit"],a[class*="button"],a[class*="btn"]) {
  --button-green: #0d5c63;
}
html[data-theme="dark"] :where(button,.button,.btn,.w3-button,input[type="button"],input[type="submit"],a[class*="button"],a[class*="btn"]):not(.theme-toggle) {
  background-color: #0d5c63 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.25) !important;
}
.theme-toggle {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  right: auto;
  top: max(14px, env(safe-area-inset-top));
  z-index: 2147483000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: #0d5c63 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.theme-toggle:hover, .theme-toggle:focus-visible, .theme-toggle:active { background: #0d5c63 !important; transform: none; }
.theme-toggle:focus-visible { outline: 3px solid rgba(143,208,212,.75); outline-offset: 3px; }
html[data-theme="dark"] .theme-toggle { border-color: rgba(255,255,255,.45); }
@media (max-width: 700px) {
  .theme-toggle { width: 42px; height: 42px; left: 10px; right:auto; top: 10px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html, body, main, section, article, .w3-content, .content, .container { transition: none !important; }
}
@media print {
  .theme-toggle { display: none !important; }
  html, html[data-theme="dark"], body { color-scheme: light !important; background: #fff !important; color: #000 !important; }
}


/* var108 readability */
html[data-theme="dark"] .bgimg-1,
html[data-theme="dark"] .bgimg-2,
html[data-theme="dark"] .bgimg-3{
  background-image:none !important;
  background:transparent !important;
}
html[data-theme="dark"] #documents-entry,
html[data-theme="dark"] .w3-content,
html[data-theme="dark"] .w3-card,
html[data-theme="dark"] .w3-panel{
  background-color: var(--dm-surface) !important;
}

/* SOURCE: css/icons-modern-ui-phase11.css */
/* Modern UI Phase 11 — Icons | var.24 grafo74 */
:root {
  --ui-icon-size: 1.1em;
  --ui-icon-stroke: 2;
  --ui-icon-gap: .48em;
  --ui-icon-muted: currentColor;
}

.ui-icon {
  width: var(--ui-icon-size);
  height: var(--ui-icon-size);
  flex: 0 0 var(--ui-icon-size);
  display: inline-block;
  vertical-align: -.18em;
  color: inherit;
  stroke: currentColor;
  stroke-width: var(--ui-icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  pointer-events: none;
}

.ui-icon--filled { fill: currentColor; stroke: none; }

.ui-has-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--ui-icon-gap);
}

.ui-icon-only {
  display: inline-grid !important;
  place-items: center;
  line-height: 1 !important;
}

.ui-icon-only > .ui-icon {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
}

/* Keep old glyphs available to assistive technology but visually remove them. */
.ui-icon-only > .ui-icon-legacy-glyph {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Header/menu icon */
a.icon.ui-icon-only {
  min-width: 44px;
  min-height: 44px;
  padding: .55rem !important;
}

/* Viewer controls */
.viewer-toolbar button .ui-icon,
.doc-controls button .ui-icon,
.viewer-controls button .ui-icon,
.viewer-controls a .ui-icon,
button[onclick*="prevDoc"] .ui-icon,
button[onclick*="nextDoc"] .ui-icon {
  width: 1.15rem;
  height: 1.15rem;
}

/* Contact rows: icons line up instead of changing text baseline. */
.contacts-footer__item.ui-has-icon,
a[href^="mailto:"].ui-has-icon,
a[href^="tel:"].ui-has-icon {
  justify-content: flex-start;
}

.contacts-footer__item .ui-icon {
  width: 1rem;
  height: 1rem;
  opacity: .96;
}

/* Text actions */
.io_button.ui-has-icon,
.article-toggle.ui-has-icon,
[data-article-action].ui-has-icon,
.theme-toggle.ui-has-icon {
  gap: .42rem;
}

/* Scroll arrows use the same vector system. */
.scroll-arrow .ui-icon,
.scroll-to-top .ui-icon,
.back-to-top .ui-icon,
a[href="#top"] .ui-icon,
button[aria-label*="Вверх"] .ui-icon,
button[title*="Вверх"] .ui-icon {
  width: 1.45rem;
  height: 1.45rem;
}

/* Dark mode: icons inherit the already-approved foreground color. */
html[data-theme="dark"] .ui-icon,
body.dark-mode .ui-icon {
  color: inherit;
  filter: none;
}

/* High contrast and keyboard focus remain obvious. */
@media (forced-colors: active) {
  .ui-icon { forced-color-adjust: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .ui-icon { transition: none !important; animation: none !important; }
}

@media print {
  .ui-icon { filter: none !important; }
  .theme-toggle, .scroll-arrow, .scroll-to-top, .back-to-top { display: none !important; }
}

/* var.25 fix — the responsive menu trigger must never appear beside a fully visible menu. */
.topnav > .icon.ui-icon-only {
  display: none !important;
}

@media screen and (max-width: 770px) {
  .topnav > .icon.ui-icon-only {
    display: inline-grid !important;
  }
}

@media print {
  .topnav > .icon.ui-icon-only {
    display: none !important;
  }
}

/* SOURCE: css/loading-experience-modern-ui-phase12.css */
/* Modern UI Phase 12 — Loading Experience | var.30 navigation performance fix */
:root {
  --loading-accent: #0d5c63;
  --loading-surface: #f7faf9;
  --loading-track: rgba(13, 92, 99, .18);
}
html[data-theme="dark"] {
  --loading-surface: #10191b;
  --loading-track: rgba(255, 255, 255, .16);
}

/* Thin, non-blocking progress indicator. */
html.ui-loading::before {
  content: "";
  position: fixed;
  z-index: 2147483646;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--loading-accent) 18%,
    var(--loading-accent) 58%,
    transparent 78%);
  transform: translateX(-75%);
  animation: grafo-loading-progress 1.05s ease-in-out infinite;
  pointer-events: none;
}

html.ui-loading body {
  background-color: var(--loading-surface);
}
/* var.30: loading state never hides or delays page content. */
html.ui-loading body > :not(script),
html.ui-ready body > :not(script) {
  opacity: 1;
}

/* Image loading states are subtle and preserve layout. */
img.ui-image-pending {
  opacity: .35;
  filter: saturate(.7);
  transition: opacity .28s ease, filter .28s ease;
}
img.ui-image-ready {
  opacity: 1;
  filter: none;
}
img.ui-image-error {
  opacity: .7;
}

/* Viewers and embedded documents get a stable loading surface. */
:where(iframe, embed, object).ui-frame-pending {
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent),
    var(--loading-track);
  background-size: 220% 100%;
  animation: grafo-loading-shimmer 1.2s linear infinite;
}
:where(iframe, embed, object).ui-frame-ready {
  animation: none;
  background: transparent;
}

/* Keep the theme button on the requested left side. */
.theme-toggle {
  left: max(14px, env(safe-area-inset-left)) !important;
  right: auto !important;
}
@media (max-width: 700px) {
  .theme-toggle { left: 10px !important; right: auto !important; }
}

@keyframes grafo-loading-progress {
  0% { transform: translateX(-75%); }
  100% { transform: translateX(115%); }
}
@keyframes grafo-loading-shimmer {
  from { background-position: 120% 0; }
  to { background-position: -120% 0; }
}

@media (prefers-reduced-motion: reduce) {
  html.ui-loading::before { animation: none; transform: none; }
  img.ui-image-pending, img.ui-image-ready { transition: none; }
  :where(iframe, embed, object).ui-frame-pending { animation: none; }
}
@media print {
  html.ui-loading::before { display: none !important; }
  html.ui-loading body > :not(script), html.ui-ready body > :not(script) {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}

/* SOURCE: css/accessibility-performance-modern-ui-phase14.css */
/* var.29 grafo74 — Modern UI Phase 14: Accessibility & Performance */
:root {
  --ui-a11y-ring: 0 0 0 4px rgba(22, 131, 141, .24);
  --ui-a11y-target: 44px;
}

.ui-skip-link {
  position: fixed;
  z-index: 100000;
  top: max(8px, env(safe-area-inset-top));
  left: max(8px, env(safe-area-inset-left));
  padding: 10px 14px;
  border-radius: 10px;
  background: #0b5960;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transform: translateY(-160%);
  transition: transform 160ms ease;
}
.ui-skip-link:focus { transform: translateY(0); }

.ui-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid #16838d;
  outline-offset: 3px;
  box-shadow: var(--ui-a11y-ring);
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"], .ui-icon-only) {
  touch-action: manipulation;
}

:where(.ui-icon-only, .topnav > .icon) {
  min-width: var(--ui-a11y-target);
  min-height: var(--ui-a11y-target);
}

img[loading="lazy"] {
  content-visibility: auto;
}

.ui-deferred-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 540px;
}

.ui-media-error {
  min-height: 72px;
  border: 1px dashed currentColor;
  opacity: .72;
}

html[data-theme="dark"] .ui-skip-link,
html.dark .ui-skip-link,
body.dark-theme .ui-skip-link {
  background: #d9f5f2;
  color: #103c40 !important;
}

@media (prefers-contrast: more) {
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline-width: 3px;
    outline-offset: 4px;
    box-shadow: none;
  }
  :where(input, select, textarea, button) { border-width: 2px; }
}

@media (prefers-reduced-data: reduce) {
  * { background-attachment: scroll !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ui-skip-link { transition: none; }
  html { scroll-behavior: auto !important; }
}

@media print {
  .ui-skip-link, .ui-live-region { display: none !important; }
  .ui-deferred-section { content-visibility: visible; contain-intrinsic-size: none; }
}

/* SOURCE: css/responsive-touch-modern-ui-phase15.css */
/* var.31 — Modern UI Phase 15: Responsive & Touch UX */
:root {
  --ui-vh: 1vh;
  --ui-safe-top: env(safe-area-inset-top, 0px);
  --ui-safe-right: env(safe-area-inset-right, 0px);
  --ui-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ui-safe-left: env(safe-area-inset-left, 0px);
}

html {
  min-height: 100%;
  scroll-padding-top: calc(16px + var(--ui-safe-top));
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  min-height: calc(var(--ui-vh) * 100);
  padding-left: var(--ui-safe-left);
  padding-right: var(--ui-safe-right);
}

/* Current-page feedback without changing the established visual language. */
.topnav a[aria-current="page"]:not(.icon),
nav a[aria-current="page"] {
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.28em;
}

/* Avoid accidental horizontal overflow from long URLs and document names. */
main,
article,
section,
.card,
.paper,
[class*="content"] {
  min-width: 0;
}

main p,
article p,
main li,
article li,
main a,
article a {
  overflow-wrap: anywhere;
}

img,
video,
canvas,
svg,
iframe,
embed,
object {
  max-width: 100%;
}

/* Touch improvements are limited to coarse pointers and do not enlarge desktop UI. */
@media (hover: none), (pointer: coarse) {
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .button,
  .btn,
  a.icon,
  .viewer button,
  [role="button"] {
    min-width: 44px;
    min-height: 44px;
  }

  .topnav a,
  nav a,
  footer a {
    -webkit-tap-highlight-color: transparent;
  }

  a,
  button,
  [role="button"] {
    touch-action: manipulation;
  }

  /* Hover transforms can feel sticky on touchscreens. */
  .card:hover,
  .button:hover,
  .btn:hover,
  button:hover {
    transform: none;
  }
}

@media screen and (max-width: 770px) {
  body {
    padding-bottom: var(--ui-safe-bottom);
  }

  .topnav.responsive {
    max-height: calc(var(--ui-vh) * 100 - var(--ui-safe-top) - 12px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .topnav > .icon {
    margin-right: max(0px, var(--ui-safe-right));
  }

  #upbutton,
  .theme-toggle,
  [data-theme-toggle] {
    margin-bottom: var(--ui-safe-bottom);
  }
}

@media print {
  body { min-height: auto; padding: 0; }
}

/* v.603 — active button in the upper navigation uses the established red-brown accent. */
.topnav a[aria-current="page"]:not(.icon),
.topnav a.active:not(.icon) {
  background-color: rgba(133, 9, 9, 1);
  color: #fff;
  text-transform: uppercase;
}


/* v.1368 — stable desktop topnav activation target */
.header {
  z-index: 1000 !important;
}

.header__container,
.header__datetime,
.topnav {
  position: relative;
  pointer-events: auto !important;
}

.topnav {
  z-index: 2;
}

.topnav a[href] {
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.topnav a[data-grafo-nav-started="1"] {
  cursor: progress;
}


/* v.1370 — header topnav geometry isolation
   Stable hitboxes for every upper navigation link on every page. */

/* The outer navigation/date wrapper is one stable header flex item. */
.header__container > .header__datetime {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

/*
 * Desktop/tablet navigation no longer uses legacy floats.
 * One deterministic flex row means every visible label owns its full hitbox.
 */
.header__container > .header__datetime > .topnav {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}

.header__container > .header__datetime > .topnav > a {
  float: none !important;
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 31 !important;
  pointer-events: auto !important;
}

/* The legacy <br> was required only by the old floated layout. */
.header__container > .header__datetime > .topnav + br {
  display: none !important;
}

/*
 * On pages that contain a nested section.header__datetime for the clock,
 * isolate it from the navigation geometry completely.
 */
.header__container > .header__datetime > section.header__datetime {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  z-index: auto !important;
  pointer-events: none !important;
}

.header__container > .header__datetime > section.header__datetime *,
.header__container > .header__datetime > section.header__datetime .dropdown {
  pointer-events: none !important;
}

/*
 * At <=900px the nav/date wrapper gets its own full header row.
 * This prevents the later buttons from being squeezed underneath the logos.
 */
@media screen and (max-width: 900px) and (min-width: 771px) {
  .header__container > .header__datetime {
    flex: 1 1 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .header__container > .header__datetime > .topnav {
    width: 100% !important;
    flex-wrap: nowrap !important;
  }
}

/* Preserve the site's established mobile menu behavior. */
@media screen and (max-width: 770px) {
  .header__container > .header__datetime {
    flex: 1 1 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .header__container > .header__datetime > .topnav {
    display: block !important;
    overflow: hidden !important;
  }

  .header__container > .header__datetime > .topnav.responsive {
    display: block !important;
    overflow-y: auto !important;
  }

  .header__container > .header__datetime > .topnav > a {
    float: none !important;
  }
}


/* ===== css/navigation-content-polish-modern-ui-phase16.css?v=34 ===== */
/* var.32 — Modern UI Phase 16: Navigation & Content Polish */
html { scroll-padding-top: clamp(76px, 9vw, 112px); }
body { overflow-anchor: auto; }
.ui-scroll-progress { position:fixed; inset:0 0 auto; height:3px; z-index:10020; pointer-events:none; transform-origin:left center; transform:scaleX(0); background:currentColor; color:var(--accent,#2f7d57); opacity:.72; transition:transform 80ms linear,opacity .2s ease; }
.ui-scroll-progress[hidden] { display:none; }
.ui-back-to-top { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px)); width:46px; height:46px; border:0; border-radius:999px; display:grid; place-items:center; z-index:10010; cursor:pointer; background:var(--accent,#2f7d57); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.ui-back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.ui-back-to-top:hover { transform:translateY(-2px); }
.ui-back-to-top:active { transform:translateY(0) scale(.96); }
.ui-back-to-top svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.25; }
:where(main,article,section) :is(h2,h3,h4)[id] { scroll-margin-top:clamp(84px,10vw,120px); }
:where(p,li,dd,figcaption)>a { text-underline-offset:.16em; text-decoration-thickness:.08em; }
:where(p,li,dd,figcaption)>a:hover { text-decoration-thickness:.13em; }
@media (max-width:640px) { .ui-back-to-top { width:44px; height:44px; right:max(12px,env(safe-area-inset-right)); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } .ui-back-to-top,.ui-scroll-progress { transition:none!important; } }
@media print { .ui-scroll-progress,.ui-back-to-top { display:none!important; } }


/* ===== css/search-quick-navigation-modern-ui-phase17.css?v=34 ===== */
/* var.33 — Modern UI Phase 17: Search & Quick Navigation */
.quick-nav-trigger {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid color-mix(in srgb, var(--accent, #2f7d32) 45%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
  color: var(--accent, #2f7d32);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.quick-nav-trigger:hover { transform: translateY(-2px); }
.quick-nav-trigger:active { transform: translateY(0); }
.quick-nav-trigger svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }

.quick-nav-dialog {
  width: min(680px, calc(100vw - 28px));
  max-height: min(76vh, 720px);
  padding: 0;
  border: 1px solid rgba(127,127,127,.28);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text, #202124);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.quick-nav-dialog::backdrop { background: rgba(0,0,0,.42); backdrop-filter: blur(3px); }
.quick-nav-head { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid rgba(127,127,127,.2); }
.quick-nav-input {
  flex:1; min-width:0; height:44px; padding:0 14px; border:1px solid rgba(127,127,127,.35); border-radius:12px;
  background: var(--surface, #fff); color:inherit; font:inherit; outline:none;
}
.quick-nav-input:focus { border-color: var(--accent, #2f7d32); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent, #2f7d32) 18%, transparent); }
.quick-nav-close { width:40px; height:40px; border:0; border-radius:10px; background:transparent; color:inherit; font-size:24px; cursor:pointer; }
.quick-nav-close:hover { background:rgba(127,127,127,.12); }
.quick-nav-results { margin:0; padding:8px; list-style:none; overflow:auto; max-height:calc(min(76vh, 720px) - 74px); overscroll-behavior:contain; }
.quick-nav-results button { width:100%; display:block; text-align:left; padding:11px 12px; border:0; border-radius:10px; background:transparent; color:inherit; cursor:pointer; font:inherit; }
.quick-nav-results button:hover,
.quick-nav-results button[aria-selected="true"] { background:color-mix(in srgb, var(--accent, #2f7d32) 12%, transparent); }
.quick-nav-title { display:block; font-weight:700; line-height:1.3; }
.quick-nav-snippet { display:block; margin-top:3px; opacity:.7; font-size:.9em; line-height:1.35; }
.quick-nav-empty { padding:22px 14px; text-align:center; opacity:.68; }
.quick-nav-hint { padding:0 14px 12px; font-size:.82em; opacity:.62; }

@media (max-width: 640px) {
  .quick-nav-trigger { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .quick-nav-dialog { width:calc(100vw - 16px); max-height:82dvh; border-radius:16px; }
  .quick-nav-results { max-height:calc(82dvh - 74px); }
}
@media (prefers-reduced-motion: reduce) { .quick-nav-trigger { transition:none !important; } }
@media print { .quick-nav-trigger, .quick-nav-dialog { display:none !important; } }


/* ===== css/production-hardening-modern-ui-phase19.css?v=37 ===== */
/* Modern UI Phase 19/var.37: resource failures remain visible and recoverable. */
img.resource-load-error {
  opacity: 0.35;
}

#doc2026Image.resource-load-error {
  visibility: visible;
  opacity: 1;
  background: #fff;
}

.has-resource-error body::after {
  content: none;
}


/* ===== css/viewer-reliability-modern-ui-phase21.css?v=38 ===== */
#doc2026Image.viewer-image-unavailable {
  min-height: 260px;
  object-fit: contain;
}
.doc2026__thumb.is-load-error {
  opacity: .65;
}
.doc2026__thumb.is-load-error img {
  visibility: hidden;
}
.doc2026__thumb.is-load-error::before {
  content: "Страница недоступна";
  display: grid;
  place-items: center;
  min-height: 96px;
  padding: 8px;
  text-align: center;
  font-size: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .doc2026__thumbs { scroll-behavior: auto !important; }
}


/* ===== css/buttons-approved-var94.css?v=94 ===== */
/* var.94 — approved outlined buttons, direct final override */











@media(max-width:600px){html body a.main-block__button,html body button.main-block__button,html body a.io_button{min-height:42px!important;padding:9px 16px!important;font-size:15px!important}}


/* ===== css/shared-buttons-v94.css?v=1014 ===== */
/* v.972 — extracted from identical inline HTML styles. */
/* var.94 inline approved buttons */
/* var.94 — approved outlined buttons, direct final override */
:root{--v94-accent:#086b75;--v94-hover:#075963;--v94-soft:#f2fafb;--v94-focus:rgba(8,107,117,.24)}
html body a.main-block__button,
html body button.main-block__button,
html body a.item-service__button,
html body button.item-service__button,
html body a.io_button,
html body button.io_button,
html body .read-more__button,
html body [class*="read-more"] button {
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
 width:auto!important;min-width:0!important;min-height:44px!important;height:auto!important;padding:10px 20px!important;margin:0!important;
 border:1px solid var(--v94-accent)!important;border-radius:8px!important;background:#fff!important;background-color:#fff!important;background-image:none!important;
 color:var(--v94-accent)!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;font:inherit!important;font-size:16px!important;
 font-weight:650!important;line-height:1.25!important;letter-spacing:0!important;text-decoration:none!important;transform:none!important;cursor:pointer!important;
 transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important
}
html body a.main-block__button:hover,html body button.main-block__button:hover,html body a.item-service__button:hover,html body button.item-service__button:hover,
html body a.io_button:hover,html body button.io_button:hover,html body .read-more__button:hover,html body [class*="read-more"] button:hover,
html body a.main-block__button:focus,html body button.main-block__button:focus,html body a.io_button:focus,
html body a.main-block__button:active,html body button.main-block__button:active,html body a.io_button:active{
 border-color:var(--v94-hover)!important;background:var(--v94-soft)!important;background-color:var(--v94-soft)!important;background-image:none!important;
 color:var(--v94-hover)!important;box-shadow:0 4px 14px rgba(8,107,117,.10)!important;filter:none!important;transform:none!important
}
html body a.main-block__button:focus-visible,html body button.main-block__button:focus-visible,html body a.io_button:focus-visible{outline:3px solid var(--v94-focus)!important;outline-offset:3px!important}
html body a.main-block__button.main-block__button_border::after,html body a.item-service__button::after{content:"›"!important;font-size:24px!important;font-weight:400!important;line-height:.75!important;margin-left:3px!important;color:currentColor!important}
html body a.io_button.btn_open::after{content:"⌄"!important;font-size:20px!important;line-height:.75!important;margin-left:3px!important;color:currentColor!important}
html body a.io_button.btn_close::after{content:"⌃"!important;font-size:20px!important;line-height:.75!important;margin-left:3px!important;color:currentColor!important}
html body .item-service_green a.main-block__button_white,html body a.main-block__button.main-block__button_white{
 width:100%!important;min-height:0!important;padding:8px 14px!important;border:1px solid rgba(255,255,255,.88)!important;background:transparent!important;background-color:transparent!important;
 color:#fff!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;line-height:1.25!important;box-shadow:none!important
}
html body .item-service_green a.main-block__button_white:hover,html body a.main-block__button.main-block__button_white:hover{
 border-color:#fff!important;background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:none!important
}
html body .main-block__buttons,html body .io_button_wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important}
html body .io_button_wrap{margin-top:18px!important}


/* ===== css/shared-inline-utilities.css?v=1014 ===== */
/* Общие utility-правила, вынесенные из повторяющихся inline style HTML. */
.icon { font-size: 15px; }
#date, #time { color: blue; }
.g74-nowrap { white-space: nowrap; }
.g74-img-28x40 { width: 28px; height: 40px; margin-left: 10px; }
.g74-img-60x60 { width: 60px; height: 60px; margin-left: 10px; }
.g74-img-28x28 { width: 28px; height: 28px; margin-left: 10px; }


/* ===== css/buttons-page-fixes-var95.css?v=95 ===== */
/* var.95 — targeted remaining button fixes. Viewer toolbar is intentionally excluded. */
:root {
  --v95-accent: #086b75;
  --v95-hover: #075963;
  --v95-soft: #f2fafb;
  --v95-focus: rgba(8, 107, 117, .24);
}

/* Main page links and case-card actions. */
html body a.main-block__button:not(.main-block__button_white),
html body button.main-block__button:not(.main-block__button_white),
html body a.my-explanations-jump,
html body #documents-entry {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 20px !important;
  border: 1px solid var(--v95-accent) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--v95-accent) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transform: none !important;
  opacity: 1 !important;
}

html body a.main-block__button:not(.main-block__button_white):hover,
html body button.main-block__button:not(.main-block__button_white):hover,
html body a.my-explanations-jump:hover,
html body #documents-entry:hover {
  border-color: var(--v95-hover) !important;
  background: var(--v95-soft) !important;
  color: var(--v95-hover) !important;
  box-shadow: 0 4px 14px rgba(8, 107, 117, .10) !important;
}

html body a.main-block__button_border:not(.main-block__button_white)::after,
html body a.my-explanations-jump::after,
html body #documents-entry::after {
  content: "›" !important;
  display: inline-block !important;
  margin-left: 2px !important;
  color: currentColor !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: .75 !important;
}

/* Read-more controls generated by iComputerSlide. */
html body .io_button_wrap > a.io_button,
html body .io_button_wrap > .io_button,
html body a.io_button.btn_open,
html body a.io_button.btn_close {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 20px !important;
  border: 1px solid var(--v95-accent) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--v95-accent) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transform: none !important;
}

html body .io_button_wrap > a.io_button:hover,
html body a.io_button.btn_open:hover,
html body a.io_button.btn_close:hover {
  border-color: var(--v95-hover) !important;
  background: var(--v95-soft) !important;
  color: var(--v95-hover) !important;
  box-shadow: 0 4px 14px rgba(8, 107, 117, .10) !important;
}

html body a.io_button.btn_open::after { content: "⌄" !important; }
html body a.io_button.btn_close::after { content: "⌃" !important; }
html body a.io_button.btn_open::after,
html body a.io_button.btn_close::after {
  display: inline-block !important;
  margin-left: 2px !important;
  color: currentColor !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: .75 !important;
}

/* Preserve the light outline action inside dark teal cards. */
html body .item-service_green a.main-block__button_white,
html body a.main-block__button.main-block__button_white {
  border: 1px solid rgba(255, 255, 255, .88) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body a.main-block__button:focus-visible,
html body a.io_button:focus-visible,
html body #documents-entry:focus-visible {
  outline: 3px solid var(--v95-focus) !important;
  outline-offset: 3px !important;
}

@media (max-width: 600px) {
  html body a.main-block__button:not(.main-block__button_white),
  html body a.io_button,
  html body #documents-entry {
    min-height: 42px !important;
    padding: 9px 16px !important;
    font-size: 15px !important;
  }
}


/* ===== css/ui-consistency-audit-var97.css?v=97 ===== */
/* var.97 — UI Consistency Audit
   Conservative normalization layer. No content, media or layout concept changes. */

:root {
  --ui97-radius-control: 8px;
  --ui97-focus-color: #0d5c63;
  --ui97-focus-ring: 0 0 0 3px rgba(13, 92, 99, .24);
  --ui97-transition: 180ms ease;
}

/* Predictable box model on every page. */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

/* Prevent isolated media overflow while preserving original proportions. */
img, svg, video, canvas { max-width: 100%; }
img { height: auto; }

/* One keyboard-focus language for links and controls. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ui97-focus-color);
  outline-offset: 3px;
  box-shadow: var(--ui97-focus-ring);
}

/* Keep button typography and interaction consistent across native buttons. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  font: inherit;
}

button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="reset"]:not(:disabled),
[role="button"]:not([aria-disabled="true"]) {
  cursor: pointer;
}

button:disabled,
input:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
}

/* Approved outlined actions: identical radius and transition on all page families. */
:where(.io_button, .cover-readmore-button, #documents-entry, .button, [class*="button"]):not(.swiper-button-next):not(.swiper-button-prev) {
  border-radius: var(--ui97-radius-control);
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: 180ms;
  transition-timing-function: ease;
}

/* Footer/avatar media must not inherit accidental dimensions from article styles. */
:where(footer, .footer, #footer) img {
  object-fit: contain;
}

/* Stable anchor positioning under sticky navigation. */
:where([id]) { scroll-margin-top: 76px; }

/* Avoid accidental horizontal scrolling caused by long legal/document strings. */
:where(main, article, .content, .container, .wrapper) {
  overflow-wrap: anywhere;
}

@media (max-width: 480px) {
  :where(.io_button, .cover-readmore-button, #documents-entry, .button, [class*="button"]):not(.swiper-button-next):not(.swiper-button-prev) {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.io_button, .cover-readmore-button, #documents-entry, .button, [class*="button"]) {
    transition-duration: 0.01ms !important;
  }
}


/* ===== css/seo-var99.css?v=99 ===== */
/* var.99 — semantic SEO helpers. No visible layout changes. */
.seo-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ===== css/site-search.css?v=103 ===== */
/* var.103 — Global search by site sections */
.site-search-trigger {
  position: fixed;
  left: max(66px, calc(env(safe-area-inset-left) + 66px));
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--accent, #2f7d32) 45%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
  color: var(--accent, #2f7d32);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.site-search-trigger:hover { transform: translateY(-2px); }
.site-search-trigger:active { transform: translateY(0); }
.site-search-trigger svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }
.site-search-trigger__badge {
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--accent, #2f7d32);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .02em;
}
.site-search-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: min(82vh, 780px);
  padding: 0;
  border: 1px solid rgba(127,127,127,.28);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text, #202124);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.site-search-dialog::backdrop { background: rgba(0,0,0,.42); backdrop-filter: blur(3px); }
.site-search-head { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid rgba(127,127,127,.2); }
.site-search-field { flex:1; min-width:0; position:relative; }
.site-search-field svg { position:absolute; left:14px; top:50%; width:20px; height:20px; transform:translateY(-50%); fill:none; stroke:currentColor; stroke-width:2; opacity:.65; pointer-events:none; }
.site-search-input {
  width:100%; height:46px; padding:0 14px 0 44px; border:1px solid rgba(127,127,127,.35); border-radius:12px;
  background:var(--surface, #fff); color:inherit; font:inherit; outline:none;
}
.site-search-input:focus { border-color:var(--accent, #2f7d32); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent, #2f7d32) 18%, transparent); }
.site-search-close { width:40px; height:40px; border:0; border-radius:10px; background:transparent; color:inherit; font-size:24px; cursor:pointer; }
.site-search-close:hover { background:rgba(127,127,127,.12); }
.site-search-status { padding:9px 16px; border-bottom:1px solid rgba(127,127,127,.14); font-size:.86em; opacity:.72; }
.site-search-results { max-height:calc(min(82vh, 780px) - 145px); padding:8px; overflow:auto; overscroll-behavior:contain; }
.site-search-group + .site-search-group { margin-top:10px; padding-top:8px; border-top:1px solid rgba(127,127,127,.16); }
.site-search-page-title { margin:0; padding:6px 10px 5px; font-size:.82em; line-height:1.3; text-transform:uppercase; letter-spacing:.045em; color:var(--accent, #2f7d32); }
.site-search-result { display:block; padding:10px 12px; border-radius:10px; color:inherit; text-decoration:none; }
.site-search-result:hover,
.site-search-result[aria-selected="true"] { background:color-mix(in srgb, var(--accent, #2f7d32) 12%, transparent); color:inherit; }
.site-search-section-title { display:block; font-weight:700; line-height:1.3; }
.site-search-snippet { display:block; margin-top:4px; opacity:.72; font-size:.9em; line-height:1.4; }
.site-search-result mark { padding:0 .08em; border-radius:2px; background:color-mix(in srgb, var(--accent, #2f7d32) 24%, transparent); color:inherit; }
.site-search-empty { padding:28px 16px; text-align:center; opacity:.68; }
.site-search-hint { padding:0 14px 12px; font-size:.82em; opacity:.62; }
@media (max-width:640px) {
  .site-search-trigger { left:max(64px, calc(env(safe-area-inset-left) + 64px)); bottom:calc(76px + env(safe-area-inset-bottom)); }
  .site-search-dialog { width:calc(100vw - 16px); max-height:86dvh; border-radius:16px; }
  .site-search-results { max-height:calc(86dvh - 145px); }
  .site-search-hint { display:none; }
}
@media (prefers-reduced-motion:reduce) { .site-search-trigger { transition:none !important; } }
@media print { .site-search-trigger, .site-search-dialog { display:none !important; } }


/* ===== css/floating-controls-layout-var106.css?v=1344 ===== */
/* var.106 — approved final floating controls layout */
:root {
  --floating-control-height: 44px;
  --floating-control-width: 112px;
  --floating-control-gap: 10px;
  --floating-edge: max(14px, env(safe-area-inset-left));
  --floating-edge-right: max(14px, env(safe-area-inset-right));
  --floating-bottom: calc(18px + env(safe-area-inset-bottom));
  --floating-dark-green: #0e5f5f;
  --floating-green: #07943f;
}

/* Two-button floating column on the right: page search above site search. */
.quick-nav-trigger,
.site-search-trigger {
  box-sizing: border-box !important;
  width: var(--floating-control-width) !important;
  height: var(--floating-control-height) !important;
  min-width: var(--floating-control-width) !important;
  min-height: var(--floating-control-height) !important;
  max-width: var(--floating-control-width) !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  border-radius: 999px !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.27) !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
.quick-nav-trigger,
.site-search-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
}
.quick-nav-trigger { background: var(--floating-dark-green) !important; }
.site-search-trigger { background: var(--floating-green) !important; }

/* Right: page search above site search. */
.quick-nav-trigger,
.site-search-trigger {
  left: auto !important;
  right: var(--floating-edge-right) !important;
}
.site-search-trigger { bottom: var(--floating-bottom) !important; }
.quick-nav-trigger {
  bottom: calc(var(--floating-bottom) + var(--floating-control-height) + var(--floating-control-gap)) !important;
}
.quick-nav-trigger svg,
.site-search-trigger svg {
  flex: 0 0 auto;
  width: 22px !important;
  height: 22px !important;
  color: currentColor;
}
.quick-nav-trigger__label,
.site-search-trigger__label { white-space: nowrap; }
.site-search-trigger__badge { display: none !important; }

/* Approved up arrow: plain green arrow, centered above the right-side search controls. */
#upbutton {
  right: calc(var(--floating-edge-right) + (var(--floating-control-width) - 44px) / 2) !important;
  bottom: calc(var(--floating-bottom) + (var(--floating-control-height) * 2) + (var(--floating-control-gap) * 2)) !important;
  width: 44px !important;
  height: 44px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#upbutton svg { width: 44px !important; height: 44px !important; }
#upbutton img { display: none !important; }

@media (max-width: 640px) {
  :root {
    --floating-control-width: 106px;
    --floating-control-gap: 8px;
    --floating-edge: max(10px, env(safe-area-inset-left));
    --floating-edge-right: max(10px, env(safe-area-inset-right));
    --floating-bottom: calc(10px + env(safe-area-inset-bottom));
  }
  .quick-nav-trigger,
  .site-search-trigger { padding-left: 11px !important; padding-right: 11px !important; }
}

@media print {
  .quick-nav-trigger,
  .site-search-trigger,
  #upbutton { display: none !important; }
}

/* v.534 — canonical sitewide theme toggle, identical to the approved home-page control. */
html body #themeToggle.theme-toggle,
html body .theme-toggle {
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  right: auto !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  bottom: auto !important;
  z-index: 2147483647 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 50% !important;
  background: #0d5c63 !important;
  background-color: #0d5c63 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  cursor: pointer !important;
  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html body #themeToggle.theme-toggle:hover,
html body #themeToggle.theme-toggle:active,
html body #themeToggle.theme-toggle:focus,
html body .theme-toggle:hover,
html body .theme-toggle:active,
html body .theme-toggle:focus {
  border-color: rgba(255,255,255,.45) !important;
  background: #0d5c63 !important;
  background-color: #0d5c63 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  transform: none !important;
}

html body #themeToggle.theme-toggle:focus-visible,
html body .theme-toggle:focus-visible {
  outline: 3px solid rgba(143,208,212,.75) !important;
  outline-offset: 3px !important;
}

@media (max-width: 700px) {
  html body #themeToggle.theme-toggle,
  html body .theme-toggle {
    left: max(10px, env(safe-area-inset-left)) !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    font-size: 20px !important;
  }
}

@media print {
  html body #themeToggle.theme-toggle,
  html body .theme-toggle {
    display: none !important;
  }
}



/* ===== css/documentation-thumbnails-transparent-v402.css?v=402 ===== */
/* v.402 — fully transparent thumbnail surfaces on documentation page */
body.documentation-page .doc2026__thumbs-wrap,
body.documentation-page .doc2026__thumbs,
body.documentation-page .doc2026__thumbs-title,
body.documentation-page #doc2026Thumbs,
body.documentation-page #doc2026Thumbs .doc2026__thumb,
body.documentation-page #doc2026Thumbs button.doc2026__thumb,
body.documentation-page #doc2026Thumbs .doc2026__thumb:hover,
body.documentation-page #doc2026Thumbs .doc2026__thumb:focus,
body.documentation-page #doc2026Thumbs .doc2026__thumb:focus-visible,
body.documentation-page #doc2026Thumbs .doc2026__thumb:active,
body.documentation-page #doc2026Thumbs .doc2026__thumb.active,
body.documentation-page #doc2026Thumbs .doc2026__thumb[aria-current="true"],
body.documentation-page #doc2026Thumbs .doc2026__thumb[aria-selected="true"],
body.documentation-page #doc2026Thumbs .doc2026__thumb img,
body.documentation-page #doc2026Thumbs .doc2026__thumb span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
}
body.documentation-page #doc2026Thumbs .doc2026__thumb::before,
body.documentation-page #doc2026Thumbs .doc2026__thumb::after,
body.documentation-page .doc2026__thumbs-wrap::before,
body.documentation-page .doc2026__thumbs-wrap::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
  content: none !important;
}
/* Neutralize native button painting without changing thumbnail size or labels. */
body.documentation-page #doc2026Thumbs button.doc2026__thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
}


/* ===== css/documentation-thumbnails-fullwidth-v403.css?v=403 ===== */
/* v.403 — full-width, uncropped document thumbnails with safe space for floating controls */
body.documentation-page .doc2026__thumbs-wrap {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(12px, env(safe-area-inset-left)) !important;
  padding-right: max(88px, calc(env(safe-area-inset-right) + 88px)) !important;
  padding-bottom: max(82px, calc(env(safe-area-inset-bottom) + 82px)) !important;
  overflow: visible !important;
}

body.documentation-page #doc2026Thumbs,
body.documentation-page .doc2026__thumbs {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 42vw), 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  gap: clamp(8px, 1.2vw, 18px) !important;
  padding: 6px 0 12px !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scroll-snap-type: none !important;
}

body.documentation-page #doc2026Thumbs .doc2026__thumb,
body.documentation-page #doc2026Thumbs button.doc2026__thumb,
body.documentation-page #doc2026Thumbs .doc2026__thumb.landscape {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
  padding: 4px !important;
  overflow: visible !important;
  transform: none !important;
}

body.documentation-page #doc2026Thumbs .doc2026__thumb img,
body.documentation-page #doc2026Thumbs .doc2026__thumb.landscape img {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(130px, 22vw, 300px) !important;
  max-height: min(42vh, 300px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body.documentation-page #doc2026Thumbs .doc2026__thumb-caption,
body.documentation-page #doc2026Thumbs .doc2026__thumb > span {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}

/* Keep fixed controls clickable and visually above the full-width thumbnail area. */
body.documentation-page :is(
  .ui-back-to-top,
  .back-to-top,
  .scroll-to-top,
  [data-back-to-top],
  #backToTop,
  #upbutton,
  .theme-toggle,
  #themeToggle,
  .site-search-toggle,
  .quick-nav,
  .quick-nav-trigger
) {
  z-index: 2147483000 !important;
  pointer-events: auto !important;
}

@media (max-width: 720px) {
  body.documentation-page .doc2026__thumbs-wrap {
    padding-left: max(8px, env(safe-area-inset-left)) !important;
    padding-right: max(68px, calc(env(safe-area-inset-right) + 68px)) !important;
    padding-bottom: max(74px, calc(env(safe-area-inset-bottom) + 74px)) !important;
  }

  body.documentation-page #doc2026Thumbs,
  body.documentation-page .doc2026__thumbs {
    grid-template-columns: repeat(auto-fit, minmax(min(118px, 42vw), 1fr)) !important;
  }

  body.documentation-page #doc2026Thumbs .doc2026__thumb img,
  body.documentation-page #doc2026Thumbs .doc2026__thumb.landscape img {
    height: clamp(120px, 42vw, 220px) !important;
    max-height: 34vh !important;
  }
}

@media (max-width: 390px) {
  body.documentation-page #doc2026Thumbs,
  body.documentation-page .doc2026__thumbs {
    grid-template-columns: 1fr !important;
  }

  body.documentation-page #doc2026Thumbs .doc2026__thumb img,
  body.documentation-page #doc2026Thumbs .doc2026__thumb.landscape img {
    height: min(58vh, 360px) !important;
  }
}


/* ===== css/site-footer-compact-var112.css?v=112 ===== */
/* v.512 — compact footer and unified white outlines for site controls. */
.footer {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

.footer__top {
  padding: 14px 0 !important;
}

.footer__main,
.footer__container {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer__row {
  display: grid !important;
  grid-template-columns: 104px max-content minmax(310px, 1fr) minmax(300px, 1fr) !important;
  grid-template-rows: repeat(3, minmax(34px, auto)) !important;
  grid-template-areas:
    "avatar label mail copy"
    "avatar label phone social"
    "avatar label site social" !important;
  align-items: center !important;
  column-gap: 16px !important;
  row-gap: 6px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 86px 0 0 !important;
}

.footer .avatar {
  grid-area: avatar !important;
  width: 100px !important;
  height: 100px !important;
  margin: 0 !important;
}

.footer .avatar img {
  width: 100px !important;
  height: 100px !important;
  object-fit: cover !important;
}

.footer__label {
  grid-area: label !important;
  align-self: start !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.footer__contacts,
.contacts-footer {
  display: contents !important;
}

.contacts-footer__item {
  min-height: 34px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 34px !important;
  white-space: nowrap !important;
}

.contacts-footer__item:nth-child(1) { grid-area: mail !important; }
.contacts-footer__item:nth-child(2) { grid-area: phone !important; }
.contacts-footer__item:nth-child(3) { grid-area: site !important; }

.footer__bottom,
.footer__bottom .footer__container {
  display: contents !important;
}

.footer__copy {
  grid-area: copy !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.footer__social,
.footer .social {
  grid-area: social !important;
  align-self: center !important;
  justify-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 900px) {
  .footer__row {
    grid-template-columns: 104px max-content minmax(220px, 1fr) !important;
    grid-template-rows: repeat(4, minmax(28px, auto)) !important;
    grid-template-areas:
      "avatar label mail"
      "avatar label phone"
      "avatar label site"
      "copy copy copy" !important;
    padding-right: 70px !important;
  }

  .footer__social,
  .footer .social {
    display: none !important;
  }
}

@media (max-width: 620px) {
  .footer__top {
    padding: 10px 0 !important;
  }

  .footer__row {
    grid-template-columns: 100px minmax(0, 1fr) !important;
    grid-template-rows: repeat(5, minmax(24px, auto)) !important;
    grid-template-areas:
      "avatar label"
      "avatar mail"
      "avatar phone"
      "avatar site"
      "copy copy" !important;
    column-gap: 10px !important;
    padding-right: 52px !important;
  }

  .contacts-footer__item {
    min-height: 26px !important;
    line-height: 26px !important;
    white-space: normal !important;
  }

  .footer__copy {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
}

/* Contact markers: keep the original circles fully visible and separate rows. */
.contacts-footer__item {
  overflow: visible !important;
  padding-left: 38px !important;
  background-position: left center !important;
  background-size: 120px 30px !important;
  background-clip: border-box !important;
}

/* Keep the white outline consistent across site controls. */
html body .quick-nav-trigger,
html body .site-search-trigger,
html body #upbutton,
html body #downbutton {
  box-sizing: border-box !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: rgba(255, 255, 255, .92) !important;
}

#upbutton,
#downbutton {
  border-radius: 999px !important;
  background: rgba(14, 95, 95, .28) !important;
}



/* ---- css/three-viewers-fullscreen-river-v700.css ---- */
/* v.700 — show the existing live river background inside the fullscreen viewer
   on documentation.html, news-lawyer-1mln.html and news-lawyer-electro.html only. */

body:has(#viewer2026Overlay.viewer4.open) > .site-river-background-v640.is-ready {
  z-index: 999998 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#viewer2026Overlay.viewer4.open {
  background: transparent !important;
  isolation: isolate !important;
}

#viewer2026Overlay.viewer4.open > .viewer4__stage,
#viewer2026Overlay.viewer4.open > .viewer4__controls,
#viewer2026Overlay.viewer4.open > .viewer4__thumbs {
  position: relative !important;
  z-index: 1 !important;
}

#viewer2026Overlay.viewer4.open .viewer4__stage {
  background-color: transparent !important;
  background-image: none !important;
}

/* Keep the existing soft viewer shading, but never replace the moving river. */
#viewer2026Overlay.viewer4.open .viewer4__stage::before,
#viewer2026Overlay.viewer4.open .viewer4__stage::after {
  pointer-events: none !important;
}

@supports not selector(body:has(*)) {
  body.viewer4-no-scroll > .site-river-background-v640.is-ready {
    z-index: 999998 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.viewer4-no-scroll #viewer2026Overlay.viewer4.open {
    background: transparent !important;
  }
}


/* v.1032 — keep document thumbnails, remove the temporary white strip of their wrapper. */
.doc2026__thumbs-wrap,
.doc2026:fullscreen .doc2026__thumbs-wrap,
.doc2026:-webkit-full-screen .doc2026__thumbs-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* ---- css/three-viewers-fullscreen-top-document-strip-transparent-v701.css ---- */
/* v.701 — прозрачная верхняя линейка документов только в полноэкранном просмотрщике. */
#viewer2026Overlay.viewer4.open .viewer4__stage,
#viewer2026Overlay.viewer4.open .viewer4__track {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

#viewer2026Overlay.viewer4.open .viewer4__stage::before,
#viewer2026Overlay.viewer4.open .viewer4__stage::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

#viewer2026Overlay.viewer4.open .viewer4__card .viewer4__card-page,
#viewer2026Overlay.viewer4.open .viewer4__card.active .viewer4__card-page,
#viewer2026Overlay.viewer4.open .viewer4__card.is-active .viewer4__card-page,
#viewer2026Overlay.viewer4.open .viewer4__card[data-active="true"] .viewer4__card-page {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

#viewer2026Overlay.viewer4.open .viewer4__card .viewer4__card-page::before,
#viewer2026Overlay.viewer4.open .viewer4__card .viewer4__card-page::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* ---- css/three-viewers-fullscreen-bottom-thumbnails-transparent-v702.css ---- */
/* v.702 — полностью прозрачная нижняя лента миниатюр только в полноэкранном Viewer. */
#viewer2026Overlay.viewer4.open .viewer4__thumbs {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

#viewer2026Overlay.viewer4.open .viewer4__thumbs::before,
#viewer2026Overlay.viewer4.open .viewer4__thumbs::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

#viewer2026Overlay.viewer4.open .viewer4__thumbs::-webkit-scrollbar-track {
    background: transparent !important;
    box-shadow: none !important;
}

/* Миниатюры и ползунок прокрутки намеренно не изменяются. */


/* ---- css/three-viewers-fullscreen-hide-theme-button-v704.css ---- */
/* v.704: скрытие кнопки «Сменить тему» только в полноэкранном просмотрщике трёх страниц. */
#viewer2026Overlay.viewer4.open .viewer4__controls [data-action="theme"] {
  display: none !important;
}


/* ---- css/three-viewers-fullscreen-hide-search-button-v705.css ---- */
/* v.705: hide only the lower-left search button while the fullscreen Viewer 4 overlay is open. */
body:has(#viewer2026Overlay.viewer4.open) .quick-nav-trigger {
  display: none !important;
}


/* ---- css/css-bundle-v4035-ce044b5d.css ---- */
/* ===== css/shared-b5-background.css?v=1014 ===== */
/* v.972 — extracted from identical inline HTML styles. */
body {
      background-image: url("../img/b5.webp");
    }


/* ===== css/viewer-accessibility-focus-safety-modern-ui-phase25.css?v=42 ===== */
.viewer-a11y-status {
  position: fixed !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.doc2026__toolbar button:focus-visible,
.doc2026__toolbar select:focus-visible,
#doc2026Image:focus-visible,
.doc2026__thumbs [role="button"]:focus-visible,
.doc2026__thumbs button:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

#doc2026Image[tabindex="0"] {
  cursor: zoom-in;
}

@media (prefers-reduced-motion: reduce) {
  .doc2026__toolbar button,
  .doc2026__toolbar select,
  #doc2026Image {
    scroll-behavior: auto;
  }
}


/* ===== css/viewer-gesture-navigation-modern-ui-phase27.css?v=44 ===== */
/* var.44 / Modern UI Phase 27 — safe touch gesture navigation */
#doc2026Image {
  touch-action: pan-y pinch-zoom;
  -webkit-user-drag: none;
  user-select: none;
}




/* ---- css/css-bundle-v4035-72318f2a.css ---- */
/* ===== css/canonical-thumbnail-strip-v1187.css?v=1191 ===== */
/* v.1187 — final canonical strip layer */
#doc2026Thumbs,.doc2026__thumbs,.viewer4__thumbs,.viewer2026-overlay__thumbs{
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  justify-content:flex-start!important;gap:10px!important;column-gap:10px!important;row-gap:0!important;
}
.doc2026__thumb,.viewer4__thumb,.viewer2026-overlay__thumb{
  box-sizing:content-box!important;flex:0 0 auto!important;padding:5px!important;margin:0!important;
  border-radius:0!important;background:transparent!important;background-color:transparent!important;
  background-image:none!important;box-shadow:none!important;
}
.doc2026__thumb>img,.doc2026__thumb>canvas,.viewer4__thumb>img,.viewer4__thumb>canvas,
.viewer2026-overlay__thumb>img,.viewer2026-overlay__thumb>canvas{
  display:block!important;margin:0!important;padding:0!important;border-radius:0!important;
}
/* Explicitly disable the two page-specific fullscreen sizing systems. */
body.documentation-page .viewer4.open .viewer4__thumb,
body.news-viewer-expanded .viewer4.open .viewer4__thumb{
  --documentation-thumb-height:112px!important;--news-thumb-height:112px!important;
}
body.documentation-page .viewer4.open .viewer4__thumb.landscape,
body.news-viewer-expanded .viewer4.open .viewer4__thumb.landscape{
  flex:0 0 auto!important;min-width:0!important;max-width:none!important;
}


/* v.1188 — fullscreen card must visually equal ordinary documentation card. */
.viewer4__thumb,
.viewer2026-overlay__thumb {
  color: inherit !important;
}

/* Same caption block as ordinary documentation thumbnails. */
.viewer4__thumb .doc2026__thumb-caption,
.viewer4__thumb > span,
.viewer2026-overlay__thumb .doc2026__thumb-caption,
.viewer2026-overlay__thumb > span {
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  overflow: hidden !important;
  color: #075c64 !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Exact active state copied from ordinary documentation strip. */
.doc2026__thumb.active,
.doc2026__thumb[aria-current="true"],
.viewer4__thumb.active,
.viewer4__thumb.is-active,
.viewer4__thumb[aria-current="true"],
.viewer2026-overlay__thumb.active,
.viewer2026-overlay__thumb[aria-current="true"] {
  border: 2px solid #d7193f !important;
  outline: 3px solid #9c27b0 !important;
  outline-offset: -1px !important;
  background: linear-gradient(
      145deg,
      rgba(215,25,63,.12),
      rgba(156,39,176,.18)
  ) !important;
  box-shadow:
      0 0 0 2px rgba(255,255,255,.85),
      0 0 0 5px rgba(156,39,176,.34),
      0 10px 24px rgba(121,25,125,.28) !important;
  border-radius: 0 !important;
}


/* v.1189 — strip midpoint follows active-document midpoint on desktop only. */
@media (min-width: 901px) {
  #doc2026Thumbs,
  .doc2026__thumbs,
  .viewer4__thumbs,
  .viewer2026-overlay__thumbs {
    position: relative !important;
    will-change: transform !important;
  }
}

/* Small screens keep natural scroll positioning; no center correction. */
@media (max-width: 900px) {
  #doc2026Thumbs,
  .doc2026__thumbs,
  .viewer4__thumbs,
  .viewer2026-overlay__thumbs {
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }
}


/* v.1190 — center thumbnail CONTENT, never translate the strip container. */
@media (min-width: 901px) {
  #doc2026Thumbs,
  .doc2026__thumbs,
  .viewer4__thumbs,
  .viewer2026-overlay__thumbs {
    transform: none !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 900px) {
  #doc2026Thumbs,
  .doc2026__thumbs,
  .viewer4__thumbs,
  .viewer2026-overlay__thumbs {
    transform: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* v.1191 — partially clipped thumbnails are not rendered.
   JS marks any card that is not fully inside the visible horizontal strip. */
.doc2026__thumb[data-canonical-partial="1"],
.viewer4__thumb[data-canonical-partial="1"],
.viewer2026-overlay__thumb[data-canonical-partial="1"] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ===== css/aquarium-screensaver-v1203.css?v=1209 ===== */
/* v.1203 — manual Aquarium screensaver. */
#aquariumScreensaverToggle {
  position: fixed !important;
  left: max(68px, calc(env(safe-area-inset-left) + 68px)) !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  z-index: 2147483001 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 50% !important;
  background: #0d5c63 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  cursor: pointer !important;
  font: 400 21px/1 Arial,sans-serif !important;
}
#aquariumScreensaverToggle:focus-visible {
  outline: 3px solid rgba(143,208,212,.75) !important;
  outline-offset: 3px !important;
}
#aquariumScreensaverToggle .aquarium-monitor {
  width: 22px; height: 15px; box-sizing: border-box;
  border: 2px solid currentColor; border-radius: 2px; position: relative;
}
#aquariumScreensaverToggle .aquarium-monitor::before {
  content:""; position:absolute; left:8px; top:14px; width:2px; height:4px;
  background:currentColor;
}
#aquariumScreensaverToggle .aquarium-monitor::after {
  content:""; position:absolute; left:4px; top:18px; width:10px; height:2px;
  background:currentColor; border-radius:2px;
}

#aquariumScreensaverOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  display: none;
  overflow: hidden;
  background: transparent !important;
  color: #fff;
  pointer-events: none;
}
html.aquarium-screensaver-active #aquariumScreensaverOverlay {
  display: block !important;
}
html.aquarium-screensaver-active .site-river-background-v640 {
  z-index: 2147482400 !important;
}
html.aquarium-screensaver-active body > *:not(.site-river-background-v640):not(#aquariumScreensaverOverlay):not(#aquariumScreensaverToggle) {
  visibility: hidden !important;
}
html.aquarium-screensaver-active #aquariumScreensaverToggle {
  visibility: visible !important;
  opacity: .20 !important;
  left: auto !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  top: max(16px, env(safe-area-inset-top)) !important;
}
html.aquarium-screensaver-active #aquariumScreensaverToggle:hover,
html.aquarium-screensaver-active #aquariumScreensaverToggle:focus-visible {
  opacity: 1 !important;
}
html.aquarium-screensaver-active,
html.aquarium-screensaver-active body {
  overflow: hidden !important;
}

.aquarium-screensaver__clock {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  text-shadow: 0 3px 18px rgba(0,0,0,.62);
  font-family: Arial,sans-serif;
  user-select: none;
}
.aquarium-screensaver__time {
  font-size: clamp(54px,9vw,128px);
  font-weight: 300;
  line-height: .95;
  letter-spacing: .02em;
}
.aquarium-screensaver__date {
  margin-top: 18px;
  font-size: clamp(17px,2.2vw,28px);
  font-weight: 500;
}
.aquarium-screensaver__hint {
  position: absolute;
  left: 50%; bottom: max(22px,env(safe-area-inset-bottom));
  transform: translateX(-50%);
  padding: 8px 14px;
  border-radius: 18px;
  background: rgba(4,48,53,.42);
  border: 1px solid rgba(255,255,255,.25);
  font: 600 13px/1.2 Arial,sans-serif;
  opacity: .72;
  white-space: nowrap;
}

@media (max-width:600px) {
  #aquariumScreensaverToggle {
    left: max(60px,calc(env(safe-area-inset-left) + 60px)) !important;
    top: max(10px,env(safe-area-inset-top)) !important;
    width:42px !important; height:42px !important;
    min-width:42px !important; min-height:42px !important;
  }
}
@media print {
  #aquariumScreensaverToggle,#aquariumScreensaverOverlay { display:none !important; }
}


/* v.1204 — final visibility guard: the Aquarium control must survive all
   legacy mobile/floating-control hide rules and remain next to themeToggle. */
html body #aquariumScreensaverToggle.aquarium-screensaver-toggle,
html body button#aquariumScreensaverToggle {
  position: fixed !important;
  left: max(68px, calc(env(safe-area-inset-left) + 68px)) !important;
  right: auto !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  bottom: auto !important;
  z-index: 2147483646 !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
@media (max-width:600px) {
  html body #aquariumScreensaverToggle.aquarium-screensaver-toggle,
  html body button#aquariumScreensaverToggle {
    left: max(60px, calc(env(safe-area-inset-left) + 60px)) !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
html.aquarium-screensaver-active body #aquariumScreensaverToggle.aquarium-screensaver-toggle {
  left: auto !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  visibility: visible !important;
}


/* v.1205 — control row: theme -> dimming (when visible) -> Aquarium.
   Position is calculated by JS to avoid overlap with riverDimmingButton. */
html body #aquariumScreensaverToggle.aquarium-screensaver-toggle {
  left: auto !important;
  right: auto !important;
}

/* v.1209 idle timer indicator. Right-click Aquarium: Off -> 2 -> 5 -> 10 -> Off. */
#aquariumScreensaverToggle .aquarium-timer-badge{position:absolute;right:-4px;bottom:-4px;min-width:17px;height:17px;padding:0 3px;box-sizing:border-box;border-radius:9px;background:#fff;color:#0d5c63;border:1px solid rgba(13,92,99,.55);font:700 9px/15px Arial,sans-serif;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}
#aquariumScreensaverToggle[data-idle-minutes="0"] .aquarium-timer-badge::after{content:"×"}
#aquariumScreensaverToggle[data-idle-minutes="2"] .aquarium-timer-badge::after{content:"2"}
#aquariumScreensaverToggle[data-idle-minutes="5"] .aquarium-timer-badge::after{content:"5"}
#aquariumScreensaverToggle[data-idle-minutes="10"] .aquarium-timer-badge::after{content:"10"}
#aquariumTimerToast{position:fixed;z-index:2147483647;left:50%;top:24px;transform:translate(-50%,-10px);opacity:0;padding:10px 16px;border-radius:22px;background:rgba(5,65,71,.92);color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 24px rgba(0,0,0,.28);font:600 14px/1.2 Arial,sans-serif;pointer-events:none;transition:opacity 180ms ease,transform 180ms ease}
#aquariumTimerToast.show{opacity:1;transform:translate(-50%,0)}



/* ---- css/css-bundle-v4035-28be297d.css ---- */
/* ===== css/page-transition-v1208.css?v=1208 ===== */
/* v.1359 — compositor-safe native navigation, no black intermediate frame. */

/*
 * Every root HTML page already loads this stylesheet.
 * Modern browsers can therefore keep the old document snapshot visible until
 * the new same-origin document has painted, without JS click interception.
 */
@view-transition {
  navigation: auto;
}

/* Do not animate/fade the snapshots — just bridge the document swap. */
::view-transition-old(root),
::view-transition-new(root) {
  animation: none !important;
  mix-blend-mode: normal !important;
}

/*
 * Permanent non-black compositor backdrop.
 * This is also the fallback for browsers without cross-document View Transition.
 */
html {
  background-color: #314b48 !important;
}

html[data-river-theme="dark"] {
  background-color: #182523 !important;
}

body {
  min-height: 100vh;
}

/* Legacy transition classes must never hide or dim the document. */
:root{
  --grafo-page-out: 0ms;
  --grafo-page-in: 0ms;
}

html.grafo-page-entering body,
html.grafo-page-ready body,
html.grafo-page-leaving body{
  opacity:1 !important;
  transition:none !important;
}

html.grafo-page-leaving body{
  pointer-events:auto !important;
}

html.grafo-page-entering .site-river-background-v640,
html.grafo-page-ready .site-river-background-v640,
html.grafo-page-leaving .site-river-background-v640{
  opacity:1 !important;
}


/* ===== css/header-style-quick-menu-v1210c.css?v=1210c ===== */
/* v.1210c — static HTML quick menu based on native <details>. */
#headerQuickMenuDetails{
  position:fixed!important;
  z-index:10053!important;
  left:var(--floating-edge,14px)!important;
  bottom:var(--floating-bottom,18px)!important;
  width:var(--floating-control-width,112px)!important;
  height:var(--floating-control-height,44px)!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
#headerQuickMenuDetails > summary{
  box-sizing:border-box!important;
  width:var(--floating-control-width,112px)!important;
  height:var(--floating-control-height,44px)!important;
  min-width:var(--floating-control-width,112px)!important;
  min-height:var(--floating-control-height,44px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 13px!important;
  border:2px solid rgba(255,255,255,.92)!important;
  border-radius:999px!important;
  background:var(--floating-dark-green,#0e5f5f)!important;
  color:#fff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.27)!important;
  font:700 15px/1 Arial,sans-serif!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
}
#headerQuickMenuDetails > summary::-webkit-details-marker{display:none!important}
#headerQuickMenuDetails > summary::before{
  content:"☰";
  font:700 19px/1 Arial,sans-serif;
}
#headerQuickMenuDetails[open] > summary{
  background:#0a4f52!important;
}
.header-quick-static-panel{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  width:min(330px,calc(100vw - 28px));
  max-height:min(70vh,620px);
  box-sizing:border-box;
  padding:10px;
  overflow:auto;
  border:2px solid rgba(255,255,255,.92);
  border-radius:16px;
  background:rgba(10,80,82,.97);
  color:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.header-quick-static-title{
  padding:5px 7px 9px;
  color:#fff;
  font:800 15px/1.15 Arial,sans-serif;
}
.header-quick-static-links{
  display:grid;
  gap:5px;
}
.header-quick-static-link{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:8px 11px;
  box-sizing:border-box;
  border-radius:9px;
  color:#fff!important;
  text-decoration:none!important;
  font:700 13px/1.2 Arial,sans-serif;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}
.header-quick-static-link:hover,
.header-quick-static-link:focus-visible{
  background:rgba(255,255,255,.17);
  border-color:rgba(255,255,255,.28);
}
.header-quick-static-link[aria-current="page"]{
  background:#07943f;
  border-color:rgba(255,255,255,.55);
}
.header-quick-static-separator{
  height:1px;
  margin:5px 3px;
  background:rgba(255,255,255,.18);
}
.header-quick-static-activity{
  background:rgba(255,255,255,.14);
}
@media(max-width:640px){
  #headerQuickMenuDetails{
    left:var(--floating-edge,10px)!important;
    width:var(--floating-control-width,106px)!important;
  }
  #headerQuickMenuDetails > summary{
    width:var(--floating-control-width,106px)!important;
    min-width:var(--floating-control-width,106px)!important;
  }
  .header-quick-static-panel{
    width:min(310px,calc(100vw - 20px));
  }
}
@media print{
  #headerQuickMenuDetails{display:none!important}
}


/* ===== css/fullscreen-fit-drag-v1214.css?v=1214 ===== */
/* v.1214 — fullscreen stage must always contain the active document. */

/* Cancel the many late "top: 72/108/136px" rules which move the grid stage
   without reducing its grid allocation correctly.  The grid itself owns sizing. */
#viewer2026Overlay.viewer4.open {
  grid-template-rows: minmax(72px,1fr) auto auto !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 7px !important;
  overflow: hidden !important;
}

#viewer2026Overlay.viewer4.open > .viewer4__stage {
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 72px !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#viewer2026Overlay.viewer4.open > .viewer4__controls {
  grid-row: 2 !important;
  position: relative !important;
  margin: 0 auto !important;
  z-index: 40 !important;
}

#viewer2026Overlay.viewer4.open > .viewer4__thumbs {
  grid-row: 3 !important;
  position: relative !important;
  margin: 0 !important;
  z-index: 35 !important;
}

/* Fast snap after release. */
#viewer2026Overlay .viewer4__card {
  transition:
    transform 140ms cubic-bezier(.22,.72,.26,1),
    opacity 115ms ease,
    filter 115ms ease !important;
}

/* Exact mouse-follow while held. */
#viewer2026Overlay .viewer4__stage.grafo-drag-v1214 .viewer4__card,
#viewer2026Overlay .viewer4__stage.grafo-drag-v1214 .viewer4__track {
  transition: none !important;
}

#viewer2026Overlay .viewer4__stage.grafo-drag-v1214 {
  cursor: grabbing !important;
}

#viewer2026Overlay .viewer4__stage.grafo-drag-v1214 .viewer4__card.near {
  visibility: visible !important;
  opacity: .92 !important;
  filter: none !important;
}

/* Very low / ultra-wide browser windows: controls and thumbs remain usable,
   but the scene gets guaranteed room rather than pushing the document away. */
@media (max-height: 520px) {
  #viewer2026Overlay.viewer4.open {
    padding: 5px 8px !important;
    gap: 4px !important;
    grid-template-rows: minmax(86px,1fr) auto auto !important;
  }

  #viewer2026Overlay.viewer4.open > .viewer4__controls {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 40px !important;
  }

  #viewer2026Overlay.viewer4.open > .viewer4__thumbs {
    min-height: 82px !important;
    max-height: 108px !important;
  }
}

@media (max-height: 390px) {
  #viewer2026Overlay.viewer4.open {
    grid-template-rows: minmax(92px,1fr) auto 94px !important;
  }

  #viewer2026Overlay.viewer4.open > .viewer4__thumbs {
    height: 94px !important;
    min-height: 94px !important;
    max-height: 94px !important;
  }
}


/* ===== css/remove-password-buttons-v1215.css?v=1215 ===== */
/* v.1215 — no Password/Access Lock button in any Viewer button row. */
#viewer2026Overlay [data-action="access-lock"],
#viewer2026Overlay .viewer122-access-lock,
.doc2026 [data-action="access-lock"],
.doc2026 .viewer122-access-lock,
.viewer4 [data-password-button],
.viewer4 [data-action="password"],
.viewer4 button[name="password"],
.viewer4 button[id*="password" i],
.viewer4 button[class*="password" i] {
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}


/* ===== css/document-footer-gap-v1236.css?v=1236 ===== */
/* v.1236 — реальное устранение пустого пространства перед футером.
   На страницах с doc2026 просмотрщик находится внутри вложенных .practice.
   Общий layout добавляет padding-block до 96px каждой .practice, поэтому после
   линейки миниатюр суммировался большой пустой участок. */
body.page-documents .page__practice:has(.doc2026),
body.page-documents .practice:has(.doc2026),
body.documentation-page .page__practice:has(.doc2026),
body.documentation-page .practice:has(.doc2026) {
  padding-bottom: 0 !important;
}

/* В documentation.html doc2026 вложен в секцию documents2026; именно её нижний
   padding непосредственно находится между миниатюрами и закрытием секций. */
body.page-documents #documents2026,
body.documentation-page #documents2026 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Родительская секция также не должна добавлять второй нижний отступ. */
body.page-documents .page__practice:has(#documents2026),
body.documentation-page .page__practice:has(#documents2026) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Сама линейка получает небольшой зазор, сопоставимый с rules.html. */
body.page-documents .doc2026__thumbs-wrap,
body.documentation-page .doc2026__thumbs-wrap {
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
}



/* ---- css/thumbnail-no-partial-flash-v1339.css ---- */
/* v.1339 — hide thumbnail cards until the first complete crop calculation. */
#doc2026Thumbs:not([data-thumbnail-crop-ready-v1339="1"]) > .doc2026__thumb,
.doc2026__thumbs:not([data-thumbnail-crop-ready-v1339="1"]) > .doc2026__thumb,
.viewer4__thumbs:not([data-thumbnail-crop-ready-v1339="1"]) > .viewer4__thumb,
.viewer2026-overlay__thumbs:not([data-thumbnail-crop-ready-v1339="1"]) > .viewer2026-overlay__thumb {
  visibility: hidden !important;
}


/* ---- css/header-v4444-09.css ---- */
/* v4444-09: header-only correction */
@media (min-width:771px){
  .header__container{column-gap:20px !important;}
  .g74-prelogo-nav{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    overflow:visible !important;
    background-color:rgba(250,250,250,1) !important;
  }
  .g74-prelogo-nav > a{
    float:left !important;
    display:block !important;
    color:rgba(13,92,99,1) !important;
    text-align:center !important;
    padding:10px 10px !important;
    text-decoration:none !important;
    font-size:14px !important;
  }
  .header__container > .g74-prelogo-nav,
  .header__container > .g74-header-feather,
  .header__container > .g74-header-name{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
.topnav > a[aria-current="page"]:not(.icon),
.topnav > a.active:not(.icon){
  background-color:rgba(133,9,9,1) !important;
  color:#fff !important;
  font-weight:700 !important;
}
.topnav > a[aria-current="page"]:not(.icon) span,
.topnav > a.active:not(.icon) span{color:#fff !important;}

