/*
 * Новое оформление корпоративного портала - по макету СамГЭС (PDF 17.10.2026, 14 стр.):
 * 1 вход (/sdo), 2 новости (/portal), 3 открытая новость, 4 моя карьера, 5-6 курсы и курс, 7 база знаний, 8 задачи,
 * 9 календарь, 10-11 мессенджер, 12-13 обращения, 14 настройки.
 * Подключается ТОЛЬКО на поддомене с $hr_portal_theme = 'new' (samges-new.hr-expert.club); правила - под body.theme-new.
 * Размеры - в единицах макета: var(--u) = 1 px макета шириной 2000 px, масштабируется с окном.
 * Цвета и фон - из head.php (настройки СДО организации): --t-primary, --t-accent, --t-fon.
 * Модули пишут свои <style> в теле страницы и style="" в разметке, поэтому часть правил - с !important.
 * Иконки меню - Tabler Icons (MIT), data-URI в конце файла (маски с другого домена требуют CORS, data-URI - нет).
 * Файл собирается из style.src.css: иконки подставляет сборка (см. комментарий в конце).
 */

/* ===================== Основа ===================== */
body.theme-new {
    /* 1 px макета: по ширине (2000) и по высоте (1125) - что меньше, чтобы всё помещалось в один экран */
    --u: clamp(0.5px, min(0.05vw, 0.0889vh), 1.15px);
    --t-ink: #1d1d1b;
    --t-muted: #6f6f6f;
    --t-card: #ffffff;
    --t-shell: rgba(170, 170, 170, 0.42);
    --t-panel: rgba(250, 250, 250, 0.82);
    --t-item: #f2f2f2;
    --t-item-active: #567a70;
    --t-tab-active: #dcdcdc;
    --t-blue: #1fa3dc;
    --t-green: #3cae3f;
    --t-bubble: #3c87d2;
    --t-fs: max(14px, calc(20 * var(--u)));
    --t-fs-s: max(13px, calc(17 * var(--u)));
    --t-fs-l: max(16px, calc(22 * var(--u)));
    font-family: 'Nunito', sans-serif;
    color: var(--t-ink);
    background: #e7e7e7;
}

body.theme-new::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: var(--t-fon) center / cover no-repeat;
}

/* Метка тестового стенда - только на тестовых поддоменах (*-new, класс t-test ставит body_end.php) */
body.theme-new.t-test::after {
    content: "Тест: новое оформление";
    position: fixed;
    right: 12px;
    bottom: 12px;
    z-index: 99999;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--t-accent);
    color: #1f3d2b;
    font: 600 12px/1.4 sans-serif;
    pointer-events: none;
}

/* Жёлтая кнопка действия - общий вид (макет: «Создать задачу», «Начать курс», «Создать заметку»...) */
body.theme-new .t-btn,
body.theme-new .portal__info-desc-inner .black_btn,
body.theme-new .portal__info-desc-inner .portal__info-desc-nav-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: calc(53 * var(--u));
    padding: 0 calc(18 * var(--u)) !important;
    border: 0 !important;
    border-radius: calc(5 * var(--u)) !important;
    background: var(--t-accent) !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    cursor: pointer;
}

body.theme-new .t-btn:hover,
body.theme-new .portal__info-desc-inner .black_btn:hover {
    filter: brightness(0.96);
}

/* ===================== 1. Вход (mod_sdo) ===================== */
body.theme-new .wrapper {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

body.theme-new .wrapper .img__info {
    position: fixed !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center right !important;
    z-index: 0;
}

body.theme-new .wrapper .img__info * {
    display: none;
}

/* Карточка: 623 x 725, слева 181, по центру по высоте */
body.theme-new .form__login {
    position: relative;
    z-index: 1;
    width: calc(623 * var(--u));
    min-width: 340px;
    max-width: calc(100% - 32px);
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 0 calc(181 * var(--u));
    padding: calc(70 * var(--u)) calc(57 * var(--u)) calc(55 * var(--u));
    box-sizing: border-box;
    border-radius: calc(25 * var(--u));
    background: #f6f6f6 !important;
}

body.theme-new .form__login .logo {
    display: flex !important;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    margin: 0 0 calc(55 * var(--u)) !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

/* Логотип - квадратный jpg на белом: кадрируем и сливаем белое с фоном карточки */
body.theme-new .form__login .logo img.logo_img {
    display: block;
    width: calc(285 * var(--u)) !important;
    height: calc(80 * var(--u)) !important;
    max-width: none !important;
    border-radius: 0 !important;
    object-fit: cover;
    mix-blend-mode: multiply;
}

body.theme-new .form__login .logo img:not(.logo_img) {
    display: none;
}

body.theme-new .form__login h2 {
    margin: 0 0 calc(38 * var(--u)) !important;
    color: var(--t-ink) !important;
    font-size: max(17px, calc(25 * var(--u))) !important;
    font-weight: 400 !important;
    line-height: 1.3;
    text-transform: none !important;
}

body.theme-new .form__login fieldset {
    position: relative;
    margin: 0 0 calc(28 * var(--u)) !important;
    padding: 0 !important;
    border: 0 !important;
}

body.theme-new .form__login legend {
    display: none;
}

body.theme-new .form__login input {
    width: 100%;
    height: calc(64 * var(--u));
    min-height: 44px;
    padding: 0 calc(32 * var(--u)) !important;
    box-sizing: border-box;
    border: 1px solid #4a4a4a !important;
    border-radius: calc(13 * var(--u)) !important;
    background: transparent !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs) !important;
}

body.theme-new .form__login .icon-eye {
    top: 50% !important;
    right: calc(22 * var(--u)) !important;
    transform: translateY(-50%);
}

body.theme-new .form__login button[name="login_btn"] {
    width: 100%;
    height: calc(62 * var(--u));
    min-height: 44px;
    margin: calc(8 * var(--u)) 0 0;
    border: 0;
    border-radius: calc(13 * var(--u)) !important;
    background: var(--t-accent) !important;
    color: var(--t-ink) !important;
    font-size: max(17px, calc(25 * var(--u))) !important;
    text-transform: none !important;
}

body.theme-new .form__login .login__link {
    margin-top: calc(30 * var(--u));
}

body.theme-new .form__login .form-footer {
    margin: 0 calc(10 * var(--u));
    color: var(--t-ink) !important;
    font-size: max(12px, calc(16 * var(--u))) !important;
    line-height: 1.6;
    text-align: left;
}

body.theme-new .form__login .form-footer a {
    color: var(--t-accent) !important;
    font-weight: 700;
}

/* ===================== Каркас портала ===================== */
body.theme-new .portal__inner {
    min-height: 100vh;
    background: none !important;
}

body.theme-new .portal__container {
    padding: calc(27 * var(--u)) calc(30 * var(--u)) calc(18 * var(--u));
    box-sizing: border-box;
}

/* Сетка: слева логотип и меню (315), справа серая оболочка с шапкой и содержимым */
body.theme-new .portal__info {
    position: relative;
    display: grid;
    grid-template-columns: calc(315 * var(--u)) minmax(0, 1fr);
    grid-template-rows: calc(118 * var(--u)) 1fr;
    column-gap: calc(27 * var(--u));
    min-height: calc(100vh - 45 * var(--u));
}

body.theme-new .portal__info::before {
    content: "";
    grid-column: 2;
    grid-row: 1 / 3;
    border-radius: calc(22 * var(--u));
    background: var(--t-shell);
}

body.theme-new .portal__info-search,
body.theme-new .portal__info-search-title,
body.theme-new .portal__info-desc-wrapper {
    display: contents !important;
}

body.theme-new .mobile-menu__inner,
body.theme-new .portal__info-form-search,
body.theme-new .portal__info-bell,
body.theme-new .portal__info-photo > a {
    display: none !important;
}

/* Логотип над меню: 253 x 66 */
body.theme-new .portal__info-search-title > a {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    display: block;
    width: auto !important;
    height: auto !important;
    margin-top: calc(-8 * var(--u));
    background: none !important;
    border-radius: 0 !important;
}

body.theme-new .portal__info-search-title > a img {
    display: block;
    width: calc(265 * var(--u)) !important;
    height: calc(80 * var(--u)) !important;
    max-width: none !important;
    border-radius: 0 !important;
    object-fit: cover;
    mix-blend-mode: multiply;
}

/* Шапка: плашка раздела (+ кнопка действия раздела) - .t-head собирает body_end.php */
body.theme-new .t-head,
body.theme-new .portal__info-search-title > h2 {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    position: relative;
    z-index: 1;
    margin: calc(23 * var(--u)) 0 0 calc(21 * var(--u)) !important;
}

body.theme-new .t-head {
    display: flex;
    align-items: center;
    gap: calc(28 * var(--u));
}

body.theme-new .t-head > h2 {
    margin: 0 !important;
}

body.theme-new .portal__info-search-title h2 {
    display: flex;
    align-items: center;
    height: calc(65 * var(--u));
    min-height: 42px;
    padding: 0 calc(25 * var(--u)) !important;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: calc(8 * var(--u)) !important;
    background: var(--t-primary) !important;
    color: #fff !important;
    font-size: var(--t-fs) !important;
    font-weight: 400 !important;
    white-space: nowrap;
}

body.theme-new .t-head .t-btn {
    min-height: calc(65 * var(--u));
    border-radius: calc(8 * var(--u)) !important;
    padding: 0 calc(17 * var(--u)) !important;
}

/* Справа: «Выйти» + аватар, плашка 154 x 65 */
body.theme-new .portal__info-search-wrapper {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    position: relative;
    z-index: 1;
    width: auto !important;
    margin: calc(23 * var(--u)) calc(23 * var(--u)) 0 0 !important;
    background: none !important;
}

body.theme-new .portal__info-search-inner {
    display: flex !important;
    align-items: center;
    gap: calc(17 * var(--u));
    height: calc(65 * var(--u));
    min-height: 42px;
    padding: 0 calc(9 * var(--u)) 0 calc(18 * var(--u)) !important;
    box-sizing: border-box;
    border-radius: calc(8 * var(--u));
    background: rgba(255, 255, 255, 0.86) !important;
}

body.theme-new .t-logout {
    color: var(--t-ink) !important;
    font-size: var(--t-fs);
    text-decoration: none;
}

body.theme-new .t-logout:hover {
    color: var(--t-primary) !important;
}

body.theme-new .portal__info-photo {
    display: block !important;
    margin: 0 !important;
}

body.theme-new .portal__info-photo img {
    display: block;
    width: calc(48 * var(--u)) !important;
    height: calc(48 * var(--u)) !important;
    min-width: 32px;
    min-height: 32px;
    border-radius: calc(4 * var(--u)) !important;
    object-fit: cover;
}

/* ===================== Левое меню ===================== */
body.theme-new .portal__menu {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: calc(23 * var(--u)) calc(15 * var(--u)) calc(25 * var(--u)) !important;
    border-radius: calc(24 * var(--u)) !important;
    background: var(--t-shell) !important;
}

body.theme-new .portal__menu ul {
    display: flex !important;
    flex-direction: column;
    gap: calc(19 * var(--u));
    width: 100% !important;
    margin: 0;
    padding: 0;
}

/* Пункт 285 x 76: иконка 45 (слева 20) + подпись; ссылка - на весь пункт */
body.theme-new .portal__menu li.spisok__list {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: calc(15 * var(--u));
    width: 100% !important;
    height: calc(76 * var(--u)) !important;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 0 0 calc(20 * var(--u)) !important;
    box-sizing: border-box;
    border-radius: calc(8 * var(--u)) !important;
    background: var(--t-item) !important;
    color: var(--t-ink);
    list-style: none;
    cursor: pointer;
}

body.theme-new .portal__menu li.spisok__list svg {
    display: none !important;
}

body.theme-new .portal__menu li.spisok__list > a {
    position: absolute !important;
    inset: 0;
    z-index: 1;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}

body.theme-new .portal__menu li.spisok__list::before {
    content: "";
    flex: 0 0 calc(45 * var(--u));
    width: calc(45 * var(--u));
    height: calc(45 * var(--u));
    min-width: 28px;
    min-height: 28px;
    background: currentColor;
    -webkit-mask: var(--t-ico) center / contain no-repeat;
    mask: var(--t-ico) center / contain no-repeat;
}

body.theme-new .portal__menu li.spisok__list::after {
    content: attr(title);
    font-size: var(--t-fs);
    white-space: nowrap;
}

body.theme-new .portal__menu li.spisok__list[title="Чат"]::after {
    content: "Мессенджер";
}

body.theme-new .portal__menu li.spisok__list[title="Техподдержка"]::after {
    content: "Обращения";
}

/* «Настройки» - без плашки, по центру */
body.theme-new .portal__menu li.spisok__list[title="Настройки"] {
    justify-content: center;
    padding: 0 !important;
    background: transparent !important;
}

body.theme-new .portal__menu li.spisok__list:hover {
    background: #e6ebe9 !important;
}

body.theme-new .portal__menu li.spisok__list.active {
    background: var(--t-item-active) !important;
    color: #fff;
}

/* ===================== Панель содержимого ===================== */
body.theme-new .portal__info-desc-inner {
    grid-column: 2;
    grid-row: 2;
    position: relative;
    z-index: 1;
    min-width: 0;
    width: auto !important;
    margin: 0 calc(17 * var(--u)) calc(14 * var(--u)) calc(23 * var(--u)) !important;
    padding: calc(18 * var(--u)) calc(17 * var(--u)) !important;
    box-sizing: border-box;
    border-radius: calc(10 * var(--u));
    background: var(--t-panel) !important;
}

/* Разделы без общей панели (макет: карьера, настройки - карточки прямо на оболочке) */
body.theme-new .portal__info-desc-inner:has(> .portal__info-desc_career.t-career),
body.theme-new .portal__info-desc-inner:has(> #form_setting) {
    padding: 0 !important;
    background: none !important;
}

/* Вкладки разделов: белые, активная серая (макет: база знаний, задачи) */
body.theme-new .portal__nav_panel,
body.theme-new .portal__info-desc-library-img-inner {
    display: flex !important;
    flex-wrap: wrap;
    gap: calc(12 * var(--u)) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 calc(30 * var(--u)) !important;
    padding: 0 !important;
    background: none !important;
}

body.theme-new .portal__nav_panel > a {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none;
}

body.theme-new .portal__nav_panel-item,
body.theme-new .portal__info-desc-library-img-item {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto !important;
    width: auto !important;
    height: calc(65 * var(--u)) !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: calc(6 * var(--u)) !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
}

body.theme-new .portal__info-desc-library-img-item::before,
body.theme-new .portal__info-desc-library-img-item::after,
body.theme-new .portal__info-desc-library-img-item img {
    display: none !important;
}

body.theme-new .portal__nav_panel-item p,
body.theme-new .portal__nav_panel-item > a,
body.theme-new .portal__info-desc-library-img-item p {
    display: block;
    margin: 0 !important;
    padding: 0 calc(21 * var(--u)) !important;
    border: 0 !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs) !important;
    font-weight: 400 !important;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
}

body.theme-new .portal__nav_panel-item > a > p {
    padding: 0 !important;
}

body.theme-new .portal__nav_panel-item:hover,
body.theme-new .portal__info-desc-library-img-item:hover {
    background: #efefef !important;
}

body.theme-new .portal__nav_panel-item.active,
body.theme-new .portal__info-desc-library-img-item.active {
    background: var(--t-tab-active) !important;
}

body.theme-new .portal__nav_panel .nav_input {
    display: none;
}

/* Фильтр/поиск над списками - в макете нет */
body.theme-new .portal__info-desc-menu {
    display: none !important;
}

/* ===================== 2. Новости ===================== */
body.theme-new .portal__info-desc-inner:has(.left_article) {
    align-self: start;
    background: #fff !important;
    padding: calc(8 * var(--u)) !important;
}

body.theme-new .portal__info-desc:has(> .left_article) {
    display: block !important;
}

body.theme-new .portal__info-desc-article.right_article {
    display: none !important;
}

/* Новости - по 4 карточки в ряд (как курсы). portal.css/style.css: у ленты и у каждой карточки overflow-y: scroll при высоте 440px -
   полоса прокрутки поверх картинки и текста карточки; прокручивается только панель */
body.theme-new .portal__info-desc-article.left_article {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(28 * var(--u));
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
}

body.theme-new .left_article .portal__info-desc-article-photo,
body.theme-new .left_article .portal__info-desc-article-info {
    max-height: none !important;
    overflow: visible !important;
}

@media (max-width: 960px) {
    body.theme-new .portal__info-desc-article.left_article {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    }
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) {
    display: flex !important;
    flex-direction: column;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: calc(8 * var(--u)) !important;
    background: #fff !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-photo {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 calc(30 * var(--u)) !important;
    background: none !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-img {
    width: 100% !important;
    height: calc(228 * var(--u)) !important;
    margin: 0 !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-img img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    object-fit: cover;
}

/* Дата длинная (body_end.php), тема - скрыта */
body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-date {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: calc(42 * var(--u)) calc(20 * var(--u)) calc(10 * var(--u)) !important;
}

body.theme-new .left_article .portal__info-desc-article-date h3 {
    display: none !important;
}

body.theme-new .left_article .portal__info-desc-article-date p {
    margin: 0 !important;
    color: var(--t-muted) !important;
    font-size: var(--t-fs-s) !important;
    text-align: left !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-text {
    width: auto !important;
    height: auto !important;
    padding: 0 calc(20 * var(--u)) !important;
    text-align: left !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-text h3 {
    margin: 0 0 calc(18 * var(--u)) !important;
    color: var(--t-ink) !important;
    font-size: max(15px, calc(21 * var(--u))) !important;
    font-weight: 700 !important;
    line-height: 1.55;
    text-align: left !important;
}

body.theme-new .t-excerpt {
    margin: 0;
    color: #555;
    font-size: var(--t-fs-s);
    line-height: 1.5;
}

/* Карточка новости: ровные отступы, заголовок до 3 строк, анонс до 4 - карточки в ряду одной высоты, без «скомканности» */
body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-photo {
    display: flex !important;
    flex-direction: column;
    height: 100% !important;
    padding-bottom: calc(22 * var(--u)) !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-img {
    flex: 0 0 auto;
    height: calc(200 * var(--u)) !important;
    min-height: 120px;
    overflow: hidden;
    background: #e4ecee;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-date {
    padding: calc(18 * var(--u)) calc(20 * var(--u)) calc(8 * var(--u)) !important;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-text h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: calc(10 * var(--u)) !important;
    line-height: 1.4;
}

body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .t-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

/* Лайки и комментарии в карточке - в макете нет, остаются в открытой новости */
body.theme-new .left_article > .portal__info-desc-article-inner:not([id]) .portal__info-desc-article-photo > div:last-child:not(.portal__info-desc-article-text) {
    display: none !important;
}

/* ===================== 3. Открытая новость - внутри панели (body_end.php, без fancybox) ===================== */
body.theme-new.t-reading .left_article > .portal__info-desc-article-inner:not(.t-open) {
    display: none !important;
}

body.theme-new.t-reading .left_article {
    display: block !important;
}

body.theme-new.t-reading .portal__info-desc-inner:has(.left_article) {
    padding: calc(30 * var(--u)) calc(23 * var(--u)) !important;
}

body.theme-new .left_article > .t-open {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.theme-new .t-open .portal__info-desc-article-photo {
    display: flex !important;
    flex-direction: column;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

body.theme-new .t-open .portal__info-desc-article-text {
    display: contents !important;
}

body.theme-new .t-open .portal__info-desc-article-text > h3:first-child {
    order: 1;
    margin: 0 0 calc(25 * var(--u)) !important;
    font-size: max(20px, calc(34 * var(--u))) !important;
    font-weight: 700 !important;
    line-height: 1.35;
    text-align: left !important;
}

body.theme-new .t-open .portal__info-desc-article-date {
    order: 2;
    display: block !important;
    margin: 0 0 calc(35 * var(--u)) !important;
    padding: 0 !important;
}

body.theme-new .t-open .portal__info-desc-article-date h3 {
    display: none !important;
}

body.theme-new .t-open .portal__info-desc-article-date p {
    margin: 0 !important;
    color: var(--t-muted) !important;
    font-size: var(--t-fs-s) !important;
    text-align: left !important;
}

body.theme-new .t-open .portal__info-desc-article-img {
    order: 3;
    width: 100% !important;
    height: calc(424 * var(--u)) !important;
    margin: 0 0 calc(45 * var(--u)) !important;
}

body.theme-new .t-open .portal__info-desc-article-img img {
    width: 100% !important;
    height: 100% !important;
    border-radius: calc(10 * var(--u)) !important;
    object-fit: cover;
}

body.theme-new .t-open .portal__info-desc-article-text > :not(h3:first-child),
body.theme-new .t-open .portal__info-desc-article-info {
    order: 4;
}

body.theme-new .t-open .portal__info-desc-article-text p,
body.theme-new .t-open .portal__info-desc-article-text li,
body.theme-new .t-open .portal__info-desc-article-text span {
    font-family: 'Nunito', sans-serif !important;
    font-size: max(14px, calc(18 * var(--u))) !important;
    line-height: 1.75;
    text-align: left !important;
}

/* ===================== 4. Моя карьера ===================== */
body.theme-new .portal__info-desc-inner > .portal__info-desc_career.t-career {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: calc(450 * var(--u)) calc(450 * var(--u));
    gap: calc(33 * var(--u)) calc(45 * var(--u));
    margin: 0 !important;
}

body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_left {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex !important;
    flex-direction: column;
    gap: calc(24 * var(--u));
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

body.theme-new .portal__info-desc_career.t-career .portal__info-desc_left-inner {
    display: contents !important;
}

body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_right {
    display: contents !important;
}

body.theme-new .portal__info-desc_career.t-career .portal__info-desc_left-inner_wrapper,
body.theme-new .portal__info-desc_career.t-career .portal__info-desc_right-inner_wrapper,
body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_center {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: calc(30 * var(--u)) calc(22 * var(--u)) !important;
    box-sizing: border-box;
    overflow: auto;
    border: 0 !important;
    border-radius: calc(10 * var(--u)) !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: none !important;
}

body.theme-new .portal__info-desc_career.t-career .portal__info-desc_right-inner_wrapper h3,
body.theme-new .portal__info-desc_career.t-career .portal__info-desc_left-inner_wrapper:not(.t-career-profile) > h3,
body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_center::before {
    display: block;
    margin: 0 0 calc(35 * var(--u)) !important;
    color: var(--t-ink);
    font-size: var(--t-fs) !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body.theme-new .portal__info-desc_right-inner_wrapper a {
    display: block;
    margin: 0 0 calc(18 * var(--u));
    color: var(--t-ink) !important;
    font-size: var(--t-fs-s) !important;
    line-height: 1.5;
    text-decoration: none;
}

/* Статус - цветной текст без рамки: «В процессе» синий, «Завершен» зелёный (цвет - из модуля) */
body.theme-new .circle_span {
    display: inline !important;
    margin-left: 4px;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: inherit !important;
}

/* ИПР - 4-я плитка */
body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_center {
    order: 10;
}

body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_center::before {
    content: "ИПР";
}

body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_center:not(:has(*)) {
    display: none !important;
}

body.theme-new .portal__info-desc_center .analytic_wrapper_inner h2 {
    font-size: var(--t-fs-s) !important;
}

/* Профиль: фото 138 слева, имя, должность, почта, телефон; без «Стажа» и «Испытательного срока» (классы t-career* - из mod_career.php,
   раньше раскладка держалась на .experience_data, которого нет у сотрудника с резюме того же ФИО или без даты приёма) */
body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile {
    display: grid !important;
    grid-template-columns: calc(138 * var(--u)) 1fr;
    column-gap: calc(28 * var(--u));
    align-content: start;
    flex: 0 0 auto;
    padding: calc(20 * var(--u)) !important;
    text-align: left;
}

body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > * {
    grid-column: 2;
    margin: 0 0 calc(8 * var(--u)) !important;
    font-size: var(--t-fs-s) !important;
    text-align: left !important;
}

body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > h3:first-of-type {
    font-size: var(--t-fs) !important;
    font-weight: 700 !important;
}

body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > .portal__info-desc_left-inner_wrapper-img {
    grid-column: 1;
    grid-row: 1 / span 6;
    width: calc(138 * var(--u)) !important;
    height: calc(138 * var(--u)) !important;
    margin: 0 !important;
}

body.theme-new .portal__info-desc_left-inner_wrapper-img img {
    width: 100% !important;
    height: 100% !important;
    border-radius: calc(6 * var(--u)) !important;
    object-fit: cover;
}

body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > .portal__info-desc_left-inner_wrapper-data,
body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > h3:not(:first-of-type),
body.theme-new .portal__info-desc_left-inner_wrapper.t-career-profile > p:empty {
    display: none !important;
}

/* Достижения - остальное место колонки */
body.theme-new .portal__info-desc_career.t-career .portal__info-desc_left-inner_wrapper:not(.t-career-profile) {
    flex: 1 1 auto;
}

body.theme-new .portal__info-desc_left-inner_wrapper-cert img {
    width: 100%;
    max-height: none !important;
    margin-bottom: calc(14 * var(--u));
}

/* ===================== 5. Курсы и тесты: вкладки - жёлтые, карточки с прогрессом ===================== */
body.theme-new .portal__nav_panel:has(+ .portal__info-desc_lms) {
    gap: calc(20 * var(--u)) !important;
}

body.theme-new .portal__nav_panel:has(+ .portal__info-desc_lms) .portal__nav_panel-item {
    padding: 0 calc(12 * var(--u)) !important;
    background: var(--t-accent) !important;
}

body.theme-new .portal__nav_panel:has(+ .portal__info-desc_lms) .portal__nav_panel-item.active {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12) inset !important;
}

/* Курсы и тесты - по 4 карточки в ряд (на телефоне - сколько влезет, см. ниже) */
body.theme-new .portal__info-desc-library-text.flex_net:has(.portal__info-desc-courses-inner) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(28 * var(--u));
    padding: 0 calc(13 * var(--u));
}

body.theme-new .portal__info-desc-courses-inner {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: calc(8 * var(--u)) !important;
    background: #fff !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer;
}

body.theme-new .portal__info-desc-courses-photo {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

body.theme-new .portal__info-desc-courses-img {
    width: 100% !important;
    height: calc(220 * var(--u)) !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background-color: #e4ecee;
    background-size: cover !important;
    background-position: center !important;
}

body.theme-new .portal__info-desc-courses-text {
    padding: calc(30 * var(--u)) calc(15 * var(--u)) calc(28 * var(--u)) !important;
}

body.theme-new .portal__info-desc-courses-text h2 {
    margin: calc(14 * var(--u)) calc(4 * var(--u)) calc(16 * var(--u)) !important;
    color: var(--t-ink) !important;
    font-size: max(15px, calc(21 * var(--u))) !important;
    font-weight: 700 !important;
    line-height: 1.5;
    text-align: left !important;
}

body.theme-new .portal__info-desc-courses-text > p:not(.t-course-desc),
body.theme-new .portal__info-desc-courses-text > a {
    display: none !important;
}

/* Полоса прогресса в карточке - по ширине карточки (при 4 в ряд 265 единиц макета не помещаются) */
body.theme-new .portal__info-desc-courses-text .t-progress__bar {
    flex: 1 1 auto;
    min-width: 0;
}

/* Описание курса (mod_lms_courses.php выводит его скрытым для темы) */
body.theme-new .portal__info-desc-courses-text .t-course-desc {
    display: block !important;
    margin: 0 calc(4 * var(--u));
    color: #555;
    font-size: var(--t-fs-s);
    line-height: 1.5;
}

/* Полоса прогресса: 265 x 20, синяя */
body.theme-new .t-progress {
    display: flex;
    align-items: center;
    gap: calc(15 * var(--u));
}

body.theme-new .t-progress__bar {
    position: relative;
    flex: 0 0 calc(265 * var(--u));
    height: calc(20 * var(--u));
    min-height: 10px;
    overflow: hidden;
    border: 1.5px solid var(--t-blue);
    border-radius: 999px;
    box-sizing: border-box;
}

body.theme-new .t-progress__bar > i {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: 999px;
    background: var(--t-blue);
}

body.theme-new .t-progress__val {
    color: var(--t-blue);
    font-size: var(--t-fs-s);
    font-weight: 700;
    white-space: nowrap;
}

/* ===================== 6. Страница курса (partials/course_intro.php) ===================== */
body.theme-new .portal__info-desc-library:has(.t-course) > .return_btn {
    display: none !important;
}

body.theme-new .t-course {
    display: grid;
    grid-template-columns: calc(386 * var(--u)) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: calc(22 * var(--u)) calc(23 * var(--u));
    min-height: calc(100vh - 230 * var(--u));
}

body.theme-new .t-course__top {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: calc(12 * var(--u)) calc(34 * var(--u)) 0;
}

body.theme-new .t-course__back {
    justify-self: start;
    color: #444 !important;
    font-size: var(--t-fs);
    text-decoration: none;
}

body.theme-new .t-course__title {
    margin: 0;
    font-size: var(--t-fs-l);
    font-weight: 700;
    text-align: center;
}

body.theme-new .t-course__top .t-progress {
    justify-self: end;
}

body.theme-new .t-course__top .t-progress__bar {
    flex-basis: calc(250 * var(--u));
}

body.theme-new .t-course__program,
body.theme-new .t-course__main {
    padding: calc(30 * var(--u)) calc(36 * var(--u));
    border-radius: calc(10 * var(--u));
    background: #fff;
}

body.theme-new .t-course__program h3 {
    margin: 0 0 calc(28 * var(--u));
    font-size: var(--t-fs-l);
    font-weight: 700;
    text-align: center;
}

body.theme-new .t-course__program ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.theme-new .t-course__program li {
    margin: 0 0 calc(20 * var(--u));
    font-size: max(14px, calc(18 * var(--u)));
    line-height: 1.4;
}

body.theme-new .t-course__program li::before {
    content: "• ";
}

/* css/lms.css: .portal__info-desc-library { overflow-y: scroll } - полоса прокрутки видна всегда и съедает ширину справа.
   В теме - только когда нужна; на странице курса прокручиваются сами блоки программы и урока */
body.theme-new .portal__info-desc-library {
    overflow-y: auto !important;
}

body.theme-new .portal__info-desc-library:has(.t-course) {
    max-height: none !important;
}

@media (min-width: 961px) {
    body.theme-new .portal__info-desc-library:has(.t-course) {
        overflow: hidden !important;
    }
}

/* Без горизонтальной прокрутки: страница курса не шире панели, блоки прокручиваются только по вертикали */
body.theme-new .t-course {
    box-sizing: border-box;
    max-width: 100%;
}

body.theme-new .t-course > * {
    min-width: 0;
    box-sizing: border-box;
}

body.theme-new .t-course__program,
body.theme-new .t-course__main {
    overflow-x: hidden;
}

/* Программа: модули жирным, их уроки - обычным шрифтом под модулем; текущий урок выделен.
   Список - обычный столбец (не flex «Базы знаний»), длинное название переносится с отступом под текст, а не под точку */
body.theme-new .t-course__program ul {
    display: block !important;
}

body.theme-new .t-course__program li {
    position: relative;
    padding-left: 1em;
    overflow-wrap: break-word;
}

body.theme-new .t-course__program li::before {
    position: absolute;
    left: 0;
}

body.theme-new .t-course__program li.t-course-mod {
    padding-left: 0;
}

body.theme-new .t-course__program li.t-course-mod::before {
    content: none;
}

body.theme-new .t-course__program li.t-course-mod > ul {
    margin: calc(12 * var(--u)) 0 0;
}

body.theme-new .t-course__program li.t-course-mod > ul > li {
    margin-bottom: calc(12 * var(--u));
    font-weight: 400;
}

body.theme-new .t-course__program a {
    display: inline;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: inherit !important;
    font-size: inherit !important;
    text-decoration: none;
}

body.theme-new .t-course__program a:hover {
    color: var(--t-blue) !important;
}

body.theme-new .t-course__program li.active > a {
    color: var(--t-blue) !important;
    font-weight: 700;
}

body.theme-new .t-course-st {
    display: block;
    color: var(--t-blue);
    font-size: var(--t-fs-s);
    font-weight: 700;
}

body.theme-new .t-course-st_done {
    color: #2e9e44;
}

body.theme-new .t-course__main {
    padding: calc(20 * var(--u));
}

/* Открытый урок в правой части страницы курса */
body.theme-new .t-course-lesson .test {
    width: auto !important;
    margin: 0 !important;
}

body.theme-new .t-course-lesson img,
body.theme-new .t-course-lesson video,
body.theme-new .t-course-lesson iframe,
body.theme-new .t-course-lesson embed,
body.theme-new .t-course-lesson table {
    max-width: 100% !important;
}

body.theme-new .t-course-lesson pre {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: break-word;
}

/* Текст урока - шрифтом темы: редактор уроков вставляет font-family (Times New Roman) в style, <pre> - моноширинный.
   Блоки кода (.code-block) остаются моноширинными */
body.theme-new .t-course-lesson .test_inner,
body.theme-new .t-course-lesson .test_inner *:not(.code-block):not(.code-block *) {
    font-family: 'Nunito', sans-serif !important;
}

/* Урок на весь экран во всплывающем окне (кнопка из course_intro.php, переключение - body_end.php, Esc - закрыть) */
body.theme-new .t-course-lesson {
    position: relative;
    padding-top: 0;
}

/* Строка над уроком: название урока (переносит body_end.php) и кнопка; при прокрутке остаётся сверху, текст не закрывает */
body.theme-new .t-lesson-bar {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: calc(16 * var(--u));
    margin: 0 calc(-20 * var(--u)) calc(10 * var(--u));
    padding: calc(14 * var(--u)) calc(20 * var(--u));
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
}

body.theme-new .t-lesson-bar h2 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    font-size: var(--t-fs-l);
    font-weight: 700;
    text-align: left;
}

body.theme-new .t-lesson-full-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: calc(8 * var(--u)) calc(14 * var(--u));
    border: 0;
    border-radius: calc(6 * var(--u));
    background: var(--t-accent);
    color: var(--t-ink);
    font: inherit;
    font-size: var(--t-fs-s);
    cursor: pointer;
}

body.theme-new .t-lesson-full-btn::before {
    content: "⛶";
    font-size: 1.2em;
    line-height: 1;
}

body.theme-new .t-lesson-full-btn.on::before {
    content: "✕";
}

body.theme-new .t-course-lesson.t-lesson-full {
    position: fixed;
    inset: 3vh 3vw;
    z-index: 10000;
    padding: 0 calc(32 * var(--u)) calc(24 * var(--u));
    overflow-y: auto;
    border-radius: calc(10 * var(--u));
    background: #fff;
    box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.55);
}

body.theme-new.t-lesson-full-open {
    overflow: hidden;
}

body.theme-new .t-course-lesson.t-lesson-full .t-lesson-bar {
    margin-right: calc(-32 * var(--u));
    margin-left: calc(-32 * var(--u));
    padding-right: calc(32 * var(--u));
    padding-left: calc(32 * var(--u));
}

body.theme-new .t-course-lesson.t-lesson-full iframe,
body.theme-new .t-course-lesson.t-lesson-full embed,
body.theme-new .t-course-lesson.t-lesson-full video {
    height: 78vh !important;
}

body.theme-new .t-course__desc {
    margin: calc(26 * var(--u)) 0 0;
    font-size: max(14px, calc(18 * var(--u)));
    line-height: 1.6;
}

/* ===================== 7. База знаний ===================== */
body.theme-new .portal__info-desc-library-text > p {
    display: none;
}

body.theme-new .portal__info-desc-library-text ul {
    display: flex;
    flex-wrap: wrap;
    gap: calc(16 * var(--u));
    margin: 0;
    padding: 0;
}

body.theme-new .portal__info-desc-library-text li {
    width: auto !important;
    list-style: none;
}

body.theme-new .portal__info-desc-library-text .click_p_library {
    display: inline-flex;
    align-items: center;
    min-height: calc(86 * var(--u));
    margin: 0 !important;
    padding: 0 calc(25 * var(--u)) !important;
    border: 0 !important;
    border-radius: calc(14 * var(--u)) !important;
    background: #fff !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs) !important;
    cursor: pointer;
}

/* Списки документов базы знаний (вкладки 1-4: ЛНА, инструкции, бизнес-процессы, шаблоны) - столбиком:
   строка на всю ширину, название слева, «Скачать» справа. Видео и книжная полка - своя разметка (без ul), их не задевает */
body.theme-new .portal__info-desc-library-text > ul {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: calc(10 * var(--u));
}

body.theme-new .portal__info-desc-library-text > ul > li {
    display: flex;
    align-items: center;
    gap: calc(16 * var(--u));
    width: 100% !important;
    padding-right: calc(25 * var(--u));
    box-sizing: border-box;
    border-radius: calc(14 * var(--u));
    background: #fff;
}

body.theme-new .portal__info-desc-library-text > ul .click_p_library {
    flex: 1 1 auto;
    min-width: 0;
    min-height: calc(64 * var(--u));
}

body.theme-new .portal__info-desc-library-text > ul .click_p_library:hover {
    color: var(--t-blue) !important;
}

body.theme-new .portal__info-desc-library-text > ul > li > a {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: calc(8 * var(--u)) calc(16 * var(--u));
    border-radius: calc(6 * var(--u));
    background: var(--t-accent) !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs-s) !important;
    text-decoration: none;
}

body.theme-new .portal__info-desc-library-text > ul > li > a::first-letter {
    text-transform: uppercase;
}

/* ===================== 8. Задачи: строки-карточки, 5 колонок ===================== */
body.theme-new .portal__info-desc-nav,
body.theme-new .table__footer {
    display: none !important;
}

body.theme-new .portal__info-desc_tasks,
body.theme-new .portal__info-desc_wrapper,
body.theme-new .table__content {
    background: none !important;
}

body.theme-new .portal__info-desc_tasks .table__row {
    display: grid !important;
    grid-template-columns: 2.3fr 1.6fr 1.8fr 1.6fr 1fr;
    grid-template-rows: auto auto;
    column-gap: calc(20 * var(--u));
    align-items: start;
    margin: 0 0 calc(22 * var(--u));
    padding: calc(28 * var(--u)) calc(30 * var(--u));
    border: 0 !important;
    border-radius: calc(14 * var(--u));
    background: #fff !important;
    font-size: var(--t-fs);
}

body.theme-new .portal__info-desc_tasks .table__cell {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: var(--t-fs) !important;
    line-height: 1.55;
}

body.theme-new .portal__info-desc_tasks .name_cell { grid-column: 1; grid-row: 1 / 3; }
body.theme-new .portal__info-desc_tasks .ini_cell { grid-column: 2; grid-row: 1; }
body.theme-new .portal__info-desc_tasks .exe_cell { grid-column: 3; grid-row: 1; }
body.theme-new .portal__info-desc_tasks .sub_cell { grid-column: 3; grid-row: 2; }
body.theme-new .portal__info-desc_tasks .date_cell { grid-column: 4; grid-row: 1; text-align: center; }
body.theme-new .portal__info-desc_tasks .stat_cell { grid-column: 5; grid-row: 1; text-align: center; }

body.theme-new .portal__info-desc_tasks .name_cell,
body.theme-new .portal__info-desc_tasks .name_cell a {
    color: var(--t-ink) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.theme-new .portal__info-desc_tasks .table__header .table__row {
    margin-bottom: calc(10 * var(--u));
    padding-top: 0;
    padding-bottom: 0;
    background: none !important;
}

body.theme-new .portal__info-desc_tasks .table__header .table__cell {
    font-weight: 700 !important;
    text-align: center;
}

body.theme-new .portal__info-desc_tasks .table__header .sub_cell {
    display: none !important;
}

body.theme-new .t-st--work { color: var(--t-blue) !important; }
body.theme-new .t-st--done { color: var(--t-green) !important; }
body.theme-new .t-st--back { color: #e08a00 !important; }

/* ===================== 9. Календарь ===================== */
body.theme-new .portal__info-desc-inner .portal__info-desc_career:has(.calendar) {
    display: grid !important;
    grid-template-columns: calc(831 * var(--u)) minmax(0, 1fr);
    gap: calc(25 * var(--u));
    min-height: calc(100vh - 230 * var(--u));
}

body.theme-new .portal__info-desc_career:has(.calendar) > div {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: calc(24 * var(--u)) !important;
    border-radius: calc(10 * var(--u)) !important;
    background: #fff !important;
}

body.theme-new .portal__info-desc_career:has(.calendar) > .portal__info-desc_left {
    padding: calc(24 * var(--u)) calc(27 * var(--u)) !important;
    background: #f7f7f7 !important;
}

body.theme-new .portal__info-desc_left .header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(30 * var(--u));
    margin: calc(12 * var(--u)) 0 calc(22 * var(--u));
}

body.theme-new .portal__info-desc_left .header h2 {
    margin: 0;
    font-size: max(24px, calc(48 * var(--u)));
    font-weight: 700;
}

body.theme-new .portal__info-desc_left .header button {
    border: 0;
    background: none;
    font-size: max(18px, calc(34 * var(--u)));
    cursor: pointer;
}

body.theme-new .days-of-week,
body.theme-new .calendar {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: calc(10 * var(--u));
    width: auto !important;
    height: auto !important;
}

body.theme-new .days-of-week {
    margin-bottom: calc(20 * var(--u));
}

body.theme-new .days-of-week .cell,
body.theme-new .calendar .cell {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    aspect-ratio: 1;
    margin: 0 !important;
    border: 1px solid #c9c9c9 !important;
    background: #fff;
    font-size: max(16px, calc(34 * var(--u)));
}

body.theme-new .days-of-week .cell {
    font-weight: 700;
}

body.theme-new .calendar .cell.not-current {
    color: #8a8a8a;
}

/* Цвета дней - как в макете: сегодня чёрный, события впереди зелёные, прошедшие серые */
body.theme-new .calendar .cell.org_color { background: #000 !important; color: #fff !important; }
body.theme-new .calendar .cell.yellow { background: #62bc46 !important; color: var(--t-ink) !important; }
body.theme-new .calendar .cell.gray { background: #6d6d6d !important; color: var(--t-ink) !important; }

body.theme-new .portal__info-desc_career:has(.calendar) > .portal__info-desc_right {
    text-align: left;
}

body.theme-new .portal__info-desc_career:has(.calendar) > .portal__info-desc_right > *:first-child {
    margin-bottom: calc(26 * var(--u));
    font-size: var(--t-fs);
    font-weight: 700;
    text-align: center;
}

/* ===================== 10-11. Мессенджер (themes/new/modules/mod_messenger.php) ===================== */
body.theme-new .portal__info-desc-inner:has(.t-msgr) {
    padding: calc(15 * var(--u)) calc(13 * var(--u)) !important;
}

body.theme-new .t-msgr {
    display: grid;
    grid-template-columns: calc(539 * var(--u)) minmax(0, 1fr);
    gap: calc(23 * var(--u));
    height: calc(100vh - 200 * var(--u));
    min-height: 460px;
}

body.theme-new .t-msgr__side,
body.theme-new .t-msgr__main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #fff;
}

body.theme-new .t-msgr__side {
    padding: calc(26 * var(--u)) 0 calc(10 * var(--u));
}

body.theme-new .t-msgr__side h3 {
    margin: 0 calc(26 * var(--u)) calc(20 * var(--u));
    font-size: max(18px, calc(26 * var(--u)));
    font-weight: 700;
}

body.theme-new .t-msgr__search {
    height: calc(57 * var(--u));
    min-height: 40px;
    margin: 0 calc(18 * var(--u)) calc(14 * var(--u));
    padding: 0 calc(22 * var(--u));
    border: 1px solid #c9c9c9;
    border-radius: calc(8 * var(--u));
    font-size: var(--t-fs);
}

body.theme-new .t-msgr__list {
    flex: 1;
    overflow-y: auto;
}

body.theme-new .t-msgr__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(20 * var(--u));
    min-height: calc(100 * var(--u));
    padding: calc(14 * var(--u)) calc(36 * var(--u)) calc(14 * var(--u)) calc(26 * var(--u));
    box-sizing: border-box;
    cursor: pointer;
}

body.theme-new .t-msgr__item:hover {
    background: #f1f7fa;
}

body.theme-new .t-msgr__item.active {
    background: #e1f1f7;
}

body.theme-new .t-msgr__ava {
    flex: 0 0 calc(70 * var(--u));
    width: calc(70 * var(--u));
    height: calc(70 * var(--u));
    min-width: 40px;
    min-height: 40px;
    overflow: hidden;
    border-radius: 50%;
    background: #cfe8ee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='M2 24c0-6 4.5-9 10-9s10 3 10 9z'/%3E%3C/svg%3E") center 70% / 72% no-repeat;
}

body.theme-new .t-msgr__ava img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-new .t-msgr__item-text {
    flex: 1;
    min-width: 0;
}

body.theme-new .t-msgr__item-name {
    margin-bottom: calc(6 * var(--u));
    font-size: var(--t-fs);
    font-weight: 700;
}

body.theme-new .t-msgr__item-last {
    overflow: hidden;
    color: #555;
    font-size: max(13px, calc(18 * var(--u)));
    white-space: nowrap;
    text-overflow: ellipsis;
}

body.theme-new .t-msgr__item-date {
    align-self: flex-start;
    margin-top: calc(6 * var(--u));
    color: var(--t-muted);
    font-size: var(--t-fs-s);
}

body.theme-new .t-msgr__unread {
    position: absolute;
    right: calc(36 * var(--u));
    bottom: calc(18 * var(--u));
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--t-primary);
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
}

body.theme-new .t-msgr__sep,
body.theme-new .t-msgr__none {
    padding: calc(14 * var(--u)) calc(26 * var(--u)) calc(6 * var(--u));
    color: var(--t-muted);
    font-size: var(--t-fs-s);
}

/* Пусто - справа фон оболочки и надпись, как в макете стр. 10 */
body.theme-new .t-msgr__main {
    overflow: hidden;
    background: transparent;
}

body.theme-new .t-msgr__empty {
    margin: auto auto calc(270 * var(--u));
    padding: 0 20px;
    font-size: max(18px, calc(32 * var(--u)));
    text-align: center;
}

body.theme-new .t-msgr__chat {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
}

body.theme-new .t-msgr__chat[hidden],
body.theme-new .t-msgr__empty[hidden] {
    display: none;
}

body.theme-new .t-msgr__peer {
    display: flex;
    align-items: center;
    gap: calc(22 * var(--u));
    min-height: calc(112 * var(--u));
    padding: 0 calc(33 * var(--u));
    border-bottom: 1px solid #e3e3e3;
}

body.theme-new .t-msgr__peer .t-msgr__ava {
    flex-basis: calc(64 * var(--u));
    width: calc(64 * var(--u));
    height: calc(64 * var(--u));
}

body.theme-new .t-msgr__peer-name {
    margin-bottom: calc(8 * var(--u));
    font-size: var(--t-fs-l);
    font-weight: 700;
}

body.theme-new .t-msgr__peer-post {
    color: #555;
    font-size: max(13px, calc(18 * var(--u)));
}

body.theme-new .t-msgr__msgs {
    flex: 1;
    overflow-y: auto;
    padding: calc(10 * var(--u)) calc(60 * var(--u)) calc(10 * var(--u)) calc(33 * var(--u));
}

body.theme-new .t-msgr__day {
    width: max-content;
    margin: calc(18 * var(--u)) auto;
    padding: calc(8 * var(--u)) calc(22 * var(--u));
    border-radius: 999px;
    background: #ececec;
    font-size: max(13px, calc(18 * var(--u)));
    font-weight: 700;
}

body.theme-new .t-msgr__msg {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: calc(18 * var(--u));
}

body.theme-new .t-msgr__msg.mine {
    align-items: flex-end;
}

body.theme-new .t-msgr__bubble {
    max-width: 62%;
    padding: calc(14 * var(--u)) calc(26 * var(--u));
    border-radius: calc(22 * var(--u));
    background: #ececec;
    font-size: var(--t-fs);
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

body.theme-new .t-msgr__msg.mine .t-msgr__bubble {
    background: var(--t-bubble);
    color: #fff;
}

body.theme-new .t-msgr__time {
    margin-top: calc(8 * var(--u));
    color: var(--t-muted);
    font-size: max(12px, calc(17 * var(--u)));
}

body.theme-new .t-msgr__tick::after {
    content: " ✓";
}

body.theme-new .t-msgr__msg.read .t-msgr__tick::after {
    content: " ✓✓";
}

body.theme-new .t-msgr__form {
    display: flex;
    align-items: center;
    gap: calc(20 * var(--u));
    padding: calc(20 * var(--u)) calc(33 * var(--u));
    border-top: 1px solid #e3e3e3;
}

body.theme-new .t-msgr__input {
    flex: 1;
    min-height: calc(58 * var(--u));
    max-height: 160px;
    padding: calc(14 * var(--u)) calc(28 * var(--u));
    box-sizing: border-box;
    border: 1px solid #c9c9c9;
    border-radius: 999px;
    font: inherit;
    font-size: var(--t-fs);
    resize: none;
}

body.theme-new .t-msgr__send {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 calc(64 * var(--u));
    width: calc(64 * var(--u));
    height: calc(64 * var(--u));
    min-width: 42px;
    min-height: 42px;
    border: 0;
    border-radius: 50%;
    background: var(--t-bubble);
    color: #fff;
    cursor: pointer;
}

/* ===================== 12-13. Обращения (partials/support_my.php) ===================== */
body.theme-new .t-support__empty {
    margin: calc(26 * var(--u)) 0 0;
    font-size: max(15px, calc(21 * var(--u)));
}

body.theme-new .t-support__table {
    margin-top: calc(30 * var(--u));
}

body.theme-new .t-support__row {
    display: grid;
    grid-template-columns: 2.3fr 1.6fr 1.8fr 1.6fr 1fr;
    gap: calc(20 * var(--u));
    align-items: start;
    margin-bottom: calc(30 * var(--u));
    padding: calc(28 * var(--u)) calc(30 * var(--u));
    border-radius: calc(14 * var(--u));
    background: #fff;
    font-size: var(--t-fs);
    cursor: pointer;
}

body.theme-new .t-support__row > div:not(:first-child) {
    text-align: center;
}

body.theme-new .t-support__row:hover {
    box-shadow: 0 0 0 2px var(--t-accent) inset;
}

body.theme-new .t-support__row--head {
    margin-bottom: calc(10 * var(--u));
    padding-top: 0;
    padding-bottom: 0;
    background: none;
    font-weight: 700;
    text-align: center;
    cursor: default;
}

body.theme-new .t-support__row--head:hover {
    box-shadow: none;
}

body.theme-new .t-support__subject {
    font-weight: 700;
}

body.theme-new .t-support__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: 4px;
    border: 1px solid var(--t-primary);
    border-radius: 50%;
    font-size: 11px;
    font-weight: 400;
    vertical-align: super;
}

body.theme-new .t-support__st--work {
    color: var(--t-blue);
}

body.theme-new .t-support__pick {
    margin: calc(26 * var(--u)) 0 calc(14 * var(--u));
    font-size: var(--t-fs);
    font-weight: 700;
}

/* Отделы и форма - только после «Создать обращение»; переписка - после клика по строке */
body.theme-new .portal__info-desc_wrapper:has(> .t-support) > .portal__info-desc_career,
body.theme-new .portal__info-desc_wrapper:has(> .t-support) > .portal__info-desc_data_title,
body.theme-new .portal__info-desc_wrapper:has(> .t-support) > .hide_button,
body.theme-new .portal__info-desc_wrapper:has(> .t-support) > .portal__info-desc_data,
body.theme-new .t-support__pick {
    display: none !important;
}

body.theme-new .portal__info-desc_wrapper.t-sup-pick > .portal__info-desc_career {
    display: grid !important;
}

/* Выбор отдела сразу открывает форму «Обратиться в <отдел>» (partials/support_my.php) - старые заголовок и кнопка «Обратиться»
   под карточками не нужны; заголовок отдела - над перепиской */
body.theme-new .portal__info-desc_wrapper.t-sup-pick .t-support__pick,
body.theme-new .portal__info-desc_wrapper.t-sup-thread > .portal__info-desc_data_title.active {
    display: block !important;
}

body.theme-new .portal__info-desc_wrapper.t-sup-thread > .portal__info-desc_data.active {
    display: block !important;
}

/* support.css: у обёртки своя прокрутка (overflow-y: scroll) - вторая полоса рядом с полосой панели. Прокручивается только панель */
body.theme-new .portal__info-desc_wrapper:has(> .t-support) {
    max-height: none !important;
    overflow: visible !important;
}

body.theme-new .portal__info-desc_wrapper > .portal__info-desc_career {
    grid-template-columns: repeat(auto-fill, minmax(calc(260 * var(--u)), 1fr));
    gap: calc(20 * var(--u));
}

body.theme-new .portal__info-desc_wrapper > .portal__info-desc_career .portal__info-desc_left-inner_wrapper {
    margin: 0 !important;
    padding: calc(22 * var(--u)) !important;
    border-radius: calc(14 * var(--u)) !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer;
}

body.theme-new .portal__info-desc_wrapper > .portal__info-desc_career .portal__info-desc_left-inner_wrapper.t-dept--active {
    box-shadow: 0 0 0 3px var(--t-accent) inset !important;
}

body.theme-new .portal__info-desc_data .message {
    margin-top: calc(16 * var(--u));
    padding: calc(22 * var(--u));
    border-radius: calc(14 * var(--u));
    background: #fff;
}

/* ===================== 14. Настройки: карточка «фото + изменение пароля» ===================== */
body.theme-new #form_setting .portal__info-desc_left,
body.theme-new .portal__info-desc-inner > h1,
body.theme-new #form_setting .portal__info-desc_right,
body.theme-new #form_setting fieldset.t-set-fon,
body.theme-new #form_setting fieldset.t-set-photo {
    display: none !important;
}

body.theme-new #form_setting {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    justify-content: start;
    column-gap: calc(22 * var(--u));
    width: max-content;
    max-width: 100%;
    padding: calc(25 * var(--u)) calc(23 * var(--u)) calc(28 * var(--u)) calc(28 * var(--u));
    border-radius: calc(4 * var(--u));
    background: rgba(255, 255, 255, 0.9);
}

body.theme-new #form_setting > .portal__info-desc_career {
    display: contents !important;
}

body.theme-new #form_setting .portal__info-desc_center {
    display: contents !important;
}

body.theme-new .t-ava {
    position: relative;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: calc(298 * var(--u));
    height: calc(300 * var(--u));
    min-width: 180px;
    min-height: 180px;
    overflow: hidden;
    border-radius: calc(6 * var(--u));
    background: #bfe0e7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cellipse cx='12' cy='9.2' rx='4.6' ry='5.4'/%3E%3Cpath d='M1.5 24.5c0-6.4 4.7-9.3 10.5-9.3s10.5 2.9 10.5 9.3z'/%3E%3C/svg%3E") center bottom / 92% no-repeat;
}

body.theme-new .t-ava img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-new .t-ava__edit {
    position: absolute;
    top: calc(8 * var(--u));
    right: calc(10 * var(--u));
    width: calc(42 * var(--u));
    height: calc(42 * var(--u));
    min-width: 28px;
    min-height: 28px;
    border: 0;
    background: var(--t-accent);
    -webkit-mask: var(--t-ico-pencil) center / contain no-repeat;
    mask: var(--t-ico-pencil) center / contain no-repeat;
    cursor: pointer;
}

body.theme-new #form_setting fieldset.t-set-pass {
    grid-column: 2;
    grid-row: 1;
    width: calc(650 * var(--u));
    min-width: 300px;
    margin: 0 !important;
    padding: calc(20 * var(--u)) calc(17 * var(--u)) calc(22 * var(--u)) calc(13 * var(--u)) !important;
    box-sizing: border-box;
    border: 0 !important;
    background: #fff;
}

body.theme-new #form_setting fieldset.t-set-pass legend {
    float: left;
    width: 100%;
    margin-bottom: calc(18 * var(--u));
    font-size: max(14px, calc(18 * var(--u)));
    font-weight: 700;
}

body.theme-new .t-pass {
    position: relative;
    margin-bottom: calc(40 * var(--u));
}

body.theme-new .t-pass:last-of-type {
    margin-bottom: 0;
}

body.theme-new #form_setting .password-input {
    width: 100% !important;
    height: calc(48 * var(--u));
    min-height: 38px;
    margin: 0 !important;
    padding: 0 calc(55 * var(--u)) 0 calc(20 * var(--u)) !important;
    box-sizing: border-box;
    border: 1px solid #8a8a8a !important;
    border-radius: calc(8 * var(--u)) !important;
    font-size: max(13px, calc(15 * var(--u)));
}

body.theme-new .t-pass__eye {
    position: absolute;
    top: 50%;
    right: calc(16 * var(--u));
    width: calc(28 * var(--u));
    height: calc(28 * var(--u));
    min-width: 20px;
    min-height: 20px;
    transform: translateY(-50%);
    border: 0;
    background: var(--t-ink);
    -webkit-mask: var(--t-ico-eye) center / contain no-repeat;
    mask: var(--t-ico-eye) center / contain no-repeat;
    cursor: pointer;
}

body.theme-new .t-pass__eye.on {
    -webkit-mask-image: var(--t-ico-eye-off);
    mask-image: var(--t-ico-eye-off);
}

body.theme-new #form_setting .hr-pass-msg {
    margin: calc(14 * var(--u)) 0 0;
    font-size: var(--t-fs-s);
}

body.theme-new #form_setting > .black_btn,
body.theme-new #form_setting button[name="sbm_sdo"] {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    align-self: start;
    min-height: calc(53 * var(--u));
    margin: calc(19 * var(--u)) 0 0 !important;
    padding: 0 calc(16 * var(--u)) !important;
    border: 0 !important;
    border-radius: calc(4 * var(--u)) !important;
    background: var(--t-accent) !important;
    color: var(--t-ink) !important;
    font-size: var(--t-fs) !important;
}

/* ===================== Узкие экраны ===================== */
@media (max-width: 960px) {
    body.theme-new {
        --u: 0.9px;
    }

    body.theme-new .portal__info-desc-library-text.flex_net:has(.portal__info-desc-courses-inner) {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    }

    body.theme-new .portal__container {
        padding: 12px;
    }

    body.theme-new .portal__info {
        display: block;
        position: relative;
    }

    body.theme-new .portal__info::before {
        display: none;
    }

    body.theme-new .portal__info-search-title {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
    }

    body.theme-new .portal__info-search-title > a img {
        width: 150px !important;
        height: 56px !important;
    }

    body.theme-new .t-head,
    body.theme-new .portal__info-search-title > h2 {
        flex: 1 1 100%;
        margin: 0 !important;
        flex-wrap: wrap;
    }

    body.theme-new .portal__info-search-wrapper {
        position: absolute !important;
        top: 0;
        right: 0;
        margin: 0 !important;
    }

    body.theme-new .portal__menu {
        margin: 12px 0 !important;
        padding: 8px !important;
        overflow-x: auto;
    }

    body.theme-new .portal__menu ul {
        flex-direction: row;
        gap: 8px;
    }

    body.theme-new .portal__menu li.spisok__list {
        flex: 0 0 auto;
        width: auto !important;
        padding: 0 14px 0 10px !important;
    }

    body.theme-new .portal__menu li.spisok__list[title="Настройки"] {
        padding: 0 14px 0 10px !important;
    }

    body.theme-new .portal__info-desc-inner {
        margin: 0 !important;
    }

    body.theme-new .portal__info-desc-inner > .portal__info-desc_career.t-career {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    body.theme-new .portal__info-desc_career.t-career > .portal__info-desc_left {
        grid-row: auto;
    }

    body.theme-new .portal__info-desc_tasks .table__row,
    body.theme-new .t-support__row {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-new .portal__info-desc_tasks .table__header,
    body.theme-new .t-support__row--head {
        display: none !important;
    }

    body.theme-new .portal__info-desc_tasks .table__cell {
        grid-column: auto !important;
        grid-row: auto !important;
        text-align: left !important;
    }

    body.theme-new .portal__info-desc-inner .portal__info-desc_career:has(.calendar),
    body.theme-new .t-course,
    body.theme-new .t-msgr {
        grid-template-columns: 1fr;
        height: auto;
    }

    body.theme-new .t-msgr--open .t-msgr__side {
        display: none;
    }

    body.theme-new .t-msgr__main {
        min-height: 70vh;
    }

    body.theme-new #form_setting {
        grid-template-columns: 1fr;
        width: auto;
    }

    body.theme-new .t-ava,
    body.theme-new #form_setting fieldset.t-set-pass,
    body.theme-new #form_setting button[name="sbm_sdo"] {
        grid-column: 1;
        grid-row: auto;
        width: auto;
    }

    body.theme-new .form__login {
        margin: 0 auto;
        padding: 36px 24px 28px;
    }
}

/* ===================== Подгонка после сверки с макетом (2000 x 1125) ===================== */
body.theme-new .form__login .logo img.logo_img {
    margin: 0 auto !important;
}

body.theme-new .t-hide {
    display: none !important;
}

/* Вкладки: текст по центру по высоте, без следов старого оформления */
body.theme-new .portal__nav_panel-item,
body.theme-new .portal__info-desc-library-img-item {
    justify-content: center;
    outline: 0 !important;
    border-bottom: 0 !important;
}

body.theme-new .portal__nav_panel-item p,
body.theme-new .portal__info-desc-library-img-item p {
    height: auto !important;
    padding: 0 calc(18 * var(--u)) !important;
    background: none !important;
    box-shadow: none !important;
}

/* Страница курса: на всю ширину, «Назад» - текстом, прогресс справа */
body.theme-new .portal__info-desc-library-text.flex_net:has(> .t-course) {
    display: block !important;
    width: 100% !important;
}

body.theme-new .t-course__back {
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
}

/* Шапка курса - сетка «Назад | название | прогресс»: боковые колонки равные (название по центру), длинное название
   переносится, полоса прогресса сжимается в своей колонке и не выходит за край (было: название absolute, в Firefox полоса уезжала) */
body.theme-new .t-course__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 1fr);
    align-items: center;
    gap: calc(20 * var(--u));
    min-height: calc(40 * var(--u));
}

body.theme-new .t-course__title {
    min-width: 0;
}

body.theme-new .t-course__top .t-progress {
    justify-content: flex-end;
    width: 100%;
    min-width: 0;
}

body.theme-new .t-course__top .t-progress__bar {
    flex: 1 1 auto;
    min-width: 40px;
    max-width: calc(250 * var(--u));
}

/* Задачи: колонка названия шире */
body.theme-new .portal__info-desc_tasks .table__row {
    grid-template-columns: 2.6fr 1.5fr 1.6fr 1.4fr 1fr;
}

/* Настройки: поле пароля ниже подписи */
body.theme-new .t-pass {
    clear: both;
}

body.theme-new .portal__info-desc-library-img-item p {
    display: flex !important;
    align-items: center;
    height: 100% !important;
    line-height: 1.2 !important;
}

body.theme-new .portal__info-desc_tasks .table__cell {
    max-width: none !important;
    min-width: 0 !important;
}

/* ===================== Один экран: страница не прокручивается, прокручивается содержимое панели ===================== */
@media (min-width: 961px) {
    body.theme-new:has(.portal__info) {
        height: 100vh;
        overflow: hidden;
    }

    body.theme-new .portal__inner,
    body.theme-new .portal__container {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    /* Высота окна минус отступы контейнера сверху и снизу */
    body.theme-new .portal__info {
        height: calc(100vh - 45 * var(--u));
        min-height: 0;
    }

    /* Содержимое - прокрутка внутри панели */
    body.theme-new .portal__info-desc-inner {
        align-self: stretch;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    /* Меню: пункты делят высоту колонки, при нехватке - прокрутка меню */
    body.theme-new .portal__menu {
        align-self: stretch;
        max-height: 100%;
        overflow-y: auto;
        scrollbar-width: none;
    }

    body.theme-new .portal__menu ul {
        height: 100%;
    }

    body.theme-new .portal__menu li.spisok__list {
        flex: 0 1 calc(76 * var(--u));
        min-height: 40px;
    }

    /* Разделы на всю высоту панели */
    body.theme-new .t-msgr,
    body.theme-new .t-course,
    body.theme-new .portal__info-desc-inner .portal__info-desc_career:has(.calendar) {
        height: 100%;
        min-height: 0;
    }

    body.theme-new .portal__info-desc-inner:has(.t-msgr),
    body.theme-new .portal__info-desc-inner:has(.t-course) {
        overflow: hidden;
    }

    body.theme-new .portal__info-desc-inner:has(.t-msgr) > *,
    body.theme-new .portal__info-desc-inner:has(.t-course) .portal__info-desc_lms,
    body.theme-new .portal__info-desc-inner:has(.t-course) .portal__info-desc-library,
    body.theme-new .portal__info-desc-inner:has(.t-course) .portal__info-desc-library-text:has(> .t-course) {
        height: 100%;
    }

    body.theme-new .t-course__program,
    body.theme-new .t-course__main {
        overflow-y: auto;
    }

    /* Карьера: две строки плиток делят высоту */
    body.theme-new .portal__info-desc-inner > .portal__info-desc_career.t-career {
        height: 100%;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    }

    /* Календарь: клетки по высоте, а не квадраты, чтобы месяц помещался */
    body.theme-new .portal__info-desc_career:has(.calendar) > .portal__info-desc_left {
        display: flex !important;
        flex-direction: column;
        min-height: 0;
    }

    body.theme-new .portal__info-desc_career:has(.calendar) .calendar {
        flex: 1;
        grid-auto-rows: minmax(0, 1fr) !important;
        min-height: 0;
    }

    body.theme-new .calendar .cell,
    body.theme-new .days-of-week .cell {
        aspect-ratio: auto !important;
        min-height: 28px;
    }

    body.theme-new .days-of-week .cell {
        height: calc(62 * var(--u)) !important;
    }

    /* Новости: панель по содержимому */
    body.theme-new .portal__info-desc-inner:has(.left_article) {
        align-self: start;
        max-height: 100%;
    }

    /* Вход - по центру экрана */
    body.theme-new .wrapper {
        height: 100vh;
        min-height: 0;
    }
}

/* Пусто в разделе (body_end.php) */
body.theme-new .t-empty {
    margin: 0;
    padding: calc(40 * var(--u)) calc(30 * var(--u));
    color: var(--t-muted);
    font-size: var(--t-fs-l);
    text-align: center;
}

body.theme-new .portal__info-desc-inner:has(.t-empty) {
    align-self: start;
    background: #fff !important;
}

/* Колонка меню не уже 220 px, подписи не обрезаются на низких экранах */
body.theme-new .portal__info {
    grid-template-columns: max(220px, calc(315 * var(--u))) minmax(0, 1fr);
}

body.theme-new .portal__menu li.spisok__list::after {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 961px) {
    body.theme-new .portal__info-desc:has(.calendar) {
        height: 100%;
    }
}

/* Телефон и планшет: шапка - логотип и «Выйти» в строку, раздел ниже, меню - лента пунктов */
@media (max-width: 960px) {
    body.theme-new .portal__info-search-wrapper {
        display: block !important;
    }

    body.theme-new .portal__info-search-title > a {
        padding: 4px 0;
    }

    body.theme-new .portal__info-search-inner {
        height: 44px;
        padding: 0 4px 0 12px !important;
    }

    body.theme-new .portal__info-photo img {
        width: 36px !important;
        height: 36px !important;
        min-width: 0;
        min-height: 0;
    }

    body.theme-new .t-head .t-btn,
    body.theme-new .portal__info-search-title h2 {
        height: 44px;
        min-height: 44px;
        font-size: 15px !important;
    }

    body.theme-new .portal__menu {
        margin: 10px -12px 12px !important;
        padding: 0 12px !important;
        border-radius: 0 !important;
        background: none !important;
        scrollbar-width: none;
    }

    body.theme-new .portal__menu ul {
        gap: 8px;
    }

    body.theme-new .portal__menu li.spisok__list,
    body.theme-new .portal__menu li.spisok__list[title="Настройки"] {
        height: 44px !important;
        min-height: 44px;
        gap: 8px;
        padding: 0 14px 0 10px !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, 0.92) !important;
    }

    body.theme-new .portal__menu li.spisok__list.active {
        background: var(--t-item-active) !important;
    }

    body.theme-new .portal__menu li.spisok__list::before {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
    }

    body.theme-new .portal__menu li.spisok__list::after {
        font-size: 14px;
    }

    body.theme-new .portal__info-desc-inner {
        padding: 12px !important;
        border-radius: 12px;
    }
}

@media (min-width: 961px) {
    body.theme-new .portal__info-desc_career:has(.calendar) > .portal__info-desc_left {
        height: 100% !important;
        max-height: none !important;
        box-sizing: border-box;
    }
}

/* Нет фото сотрудника - силуэт (класс ставит body_end.php) */
body.theme-new img.t-noimg {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%23cfe3e6'/%3E%3Ccircle cx='12' cy='9' r='4.5' fill='%23fff'/%3E%3Cpath d='M3 24c0-5.5 4-8.5 9-8.5s9 3 9 8.5z' fill='%23fff'/%3E%3C/svg%3E");
}

/* ===================== Иконки (Tabler Icons, MIT) - подставляет сборка ===================== */
/* Сгенерировано из icons/*.svg (build_css.py). Пункт меню -> иконка по title. */
body.theme-new .portal__menu li.spisok__list[title="Новости компании"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11' /%3E%3Cpath d='M8 8l4 0' /%3E%3Cpath d='M8 12l4 0' /%3E%3Cpath d='M8 16l4 0' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Моя карьера"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M22 6h-5v5h-5v5h-5v5h-5' /%3E%3Cpath d='M6 10v-7' /%3E%3Cpath d='M3 6l3 -3l3 3' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Курсы и тесты"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M3 19l18 0' /%3E%3Cpath d='M5 6m0 1a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1z' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Аналитика"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-6.8a2 2 0 0 1 -2 -2v-7a.9 .9 0 0 0 -1 -.8' /%3E%3Cpath d='M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a1 1 0 0 1 -1 -1v-4.5' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="База знаний"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0' /%3E%3Cpath d='M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0' /%3E%3Cpath d='M3 6l0 13' /%3E%3Cpath d='M12 6l0 13' /%3E%3Cpath d='M21 6l0 13' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Задачи"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2' /%3E%3Cpath d='M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z' /%3E%3Cpath d='M9 12l.01 0' /%3E%3Cpath d='M13 12l2 0' /%3E%3Cpath d='M9 16l.01 0' /%3E%3Cpath d='M13 16l2 0' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Календарь"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z' /%3E%3Cpath d='M16 3v4' /%3E%3Cpath d='M8 3v4' /%3E%3Cpath d='M4 11h16' /%3E%3Cpath d='M7 14h.013' /%3E%3Cpath d='M10.01 14h.005' /%3E%3Cpath d='M13.01 14h.005' /%3E%3Cpath d='M16.015 14h.005' /%3E%3Cpath d='M13.015 17h.005' /%3E%3Cpath d='M7.01 17h.005' /%3E%3Cpath d='M10.01 17h.005' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Чат"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M21 14l-3 -3h-7a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1h9a1 1 0 0 1 1 1v10' /%3E%3Cpath d='M14 15v2a1 1 0 0 1 -1 1h-7l-3 3v-10a1 1 0 0 1 1 -1h2' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Техподдержка"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0' /%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4 -4h2.5' /%3E%3Cpath d='M19.001 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0' /%3E%3Cpath d='M19.001 15.5v1.5' /%3E%3Cpath d='M19.001 21v1.5' /%3E%3Cpath d='M22.032 17.25l-1.299 .75' /%3E%3Cpath d='M17.27 20l-1.3 .75' /%3E%3Cpath d='M15.97 17.25l1.3 .75' /%3E%3Cpath d='M20.733 20l1.3 .75' /%3E%3C/svg%3E"); }
body.theme-new .portal__menu li.spisok__list[title="Настройки"] { --t-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z' /%3E%3Cpath d='M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0' /%3E%3C/svg%3E"); }
body.theme-new { --t-ico-pencil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4' /%3E%3Cpath d='M13.5 6.5l4 4' /%3E%3C/svg%3E"); --t-ico-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0' /%3E%3Cpath d='M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6' /%3E%3C/svg%3E"); --t-ico-eye-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M10.585 10.587a2 2 0 0 0 2.829 2.828' /%3E%3Cpath d='M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87' /%3E%3Cpath d='M3 3l18 18' /%3E%3C/svg%3E"); }


/* ===================== Всплывающее окно (body_end.php): ИПР в «Моей карьере» ===================== */
body.theme-new .t-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3vh 3vw;
    background: rgba(0, 0, 0, 0.55);
}

body.theme-new .t-modal[hidden] {
    display: none;
}

body.theme-new.t-modal-open {
    overflow: hidden;
}

body.theme-new .t-modal-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1700px;
    max-height: 100%;
    overflow: hidden;
    border-radius: calc(10 * var(--u));
    background: #fff;
}

body.theme-new .t-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(16 * var(--u));
    padding: calc(14 * var(--u)) calc(24 * var(--u));
    border-bottom: 1px solid #e6e6e6;
}

body.theme-new .t-modal-head h2 {
    margin: 0;
    font-size: var(--t-fs-l);
    font-weight: 700;
}

body.theme-new .t-modal-close {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--t-ink);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

body.theme-new .t-modal-close:hover {
    background: #f0f0f0;
}

body.theme-new .t-modal-body {
    min-height: 0;
    overflow: auto;
    padding: 0 calc(24 * var(--u)) calc(24 * var(--u));
}

body.theme-new .t-modal-body .roadmap-container {
    display: block !important;
    margin: 0 auto;
}

/* «ИПР для: сотрудник» в окне: цели списком, кнопка «Отметить как выполненное» - в цветах темы */
body.theme-new .t-modal-body .details_analytic:not(.roadmap-container) {
    margin: 0;
    padding-top: calc(16 * var(--u));
    font-size: var(--t-fs);
    line-height: 1.5;
}

body.theme-new .t-modal-body .details_analytic ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.theme-new .t-modal-body .details_analytic li {
    margin: 0 0 calc(6 * var(--u));
}

body.theme-new .t-modal-body .details_analytic li svg {
    vertical-align: -2px;
}

body.theme-new .t-modal-body .details_analytic button {
    padding: calc(8 * var(--u)) calc(16 * var(--u));
    border-radius: calc(6 * var(--u));
    background: var(--t-primary);
    font: inherit;
    font-size: var(--t-fs-s);
    cursor: pointer;
}

/* ===================== Задачи: форма «Добавить задачу» и просмотр задачи (forms/form_tasks.php, css/tasks.css) ===================== */
/* tasks.css: width 100% + margin/padding 25px - шире панели (горизонтальная прокрутка); прокрутка - у панели, не у формы */
body.theme-new .tasks__options {
    box-sizing: border-box;
    width: auto !important;
    max-width: 100%;
    max-height: none !important;
    margin: 0 !important;
    padding: calc(24 * var(--u)) calc(30 * var(--u)) !important;
    overflow: visible !important;
    border-radius: calc(10 * var(--u));
    background: #fff !important;
}

body.theme-new .tasks__options .personnel__selection h2 {
    margin: 0 0 calc(18 * var(--u));
    font-size: var(--t-fs-l);
    font-weight: 700;
}

/* Поля - подпись над полем, без рамок fieldset */
body.theme-new .tasks__options fieldset {
    min-width: 0;
    margin: 0 0 calc(16 * var(--u)) !important;
    padding: 0 !important;
    border: 0 !important;
}

body.theme-new .tasks__options legend {
    margin-bottom: calc(6 * var(--u));
    padding: 0;
    color: #555;
    font-size: var(--t-fs-s);
    font-weight: 700;
}

body.theme-new .tasks__options input[type="text"],
body.theme-new .tasks__options input[type="datetime-local"],
body.theme-new .tasks__options textarea {
    box-sizing: border-box;
    width: 100% !important;
    padding: calc(10 * var(--u)) calc(14 * var(--u));
    border: 1px solid #d9d9d9 !important;
    border-radius: calc(6 * var(--u));
    background: #fff;
    font: inherit;
    font-size: var(--t-fs);
}

body.theme-new .tasks__options input[type="file"] {
    max-width: 100%;
    font: inherit;
    font-size: var(--t-fs-s);
}

/* «Сохранить» и «Закрыть» - кнопки темы в ряд */
body.theme-new .tasks__options fieldset:has(> .black_btn) {
    display: flex;
    flex-wrap: wrap;
    gap: calc(12 * var(--u));
}

body.theme-new .tasks__options .black_btn {
    display: inline-flex;
    align-items: center;
    padding: calc(10 * var(--u)) calc(22 * var(--u)) !important;
    border: 0 !important;
    border-radius: calc(6 * var(--u)) !important;
    background: var(--t-primary) !important;
    color: #fff !important;
    font: inherit;
    font-size: var(--t-fs) !important;
    text-decoration: none;
    cursor: pointer;
}

body.theme-new .tasks__options a.black_btn {
    background: #e9e9e9 !important;
    color: var(--t-ink) !important;
}

/* ===================== Открытая новость: «← Все новости» и блок «Комментарии» (body_end.php) ===================== */
body.theme-new .t-news-back {
    display: none;
}

body.theme-new .t-open > .t-news-back {
    display: inline-flex;
    align-items: center;
    margin: 0 0 calc(22 * var(--u));
    padding: calc(8 * var(--u)) calc(16 * var(--u));
    border: 0;
    border-radius: calc(6 * var(--u));
    background: #f0f0f0;
    color: var(--t-ink);
    font: inherit;
    font-size: var(--t-fs-s);
    cursor: pointer;
}

body.theme-new .t-open > .t-news-back:hover {
    background: #e4e4e4;
}

/* Комментарии видны всегда (mod_portal.php прячет их до клика по иконке и раскрывает незаметно внизу) */
body.theme-new .t-open .portal__info-desc-article-info {
    display: block !important;
    margin-top: calc(35 * var(--u)) !important;
    padding-top: calc(24 * var(--u)) !important;
    border-top: 1px solid #e6e6e6;
    padding-right: 0 !important;
    padding-left: 0 !important;
    scroll-margin-top: calc(20 * var(--u));
}

body.theme-new .t-open .t-news-comments {
    margin: 0 0 calc(16 * var(--u));
    font-size: var(--t-fs-l);
    font-weight: 700;
}

body.theme-new .t-open .portal__info-desc-article-info-text:empty::before {
    content: "Комментариев пока нет - напишите первым";
    color: var(--t-muted);
    font-size: var(--t-fs-s);
}

body.theme-new .t-open .portal__info-desc-article-info-text p {
    margin: 0 0 calc(12 * var(--u)) !important;
    padding: calc(12 * var(--u)) calc(16 * var(--u));
    border-radius: calc(8 * var(--u));
    background: #f6f6f6;
}

body.theme-new .t-open .portal__info-desc-article-info-comment {
    margin-top: calc(16 * var(--u));
}

/* «Скрыть комментарии» - не нужно, блок виден всегда */
body.theme-new .t-open .portal__info-desc-article-info-comment .portal__info-desc-article-comment {
    display: none !important;
}

body.theme-new .t-open .portal__info-desc-article-text .comment_open {
    cursor: pointer;
}
