/*
 * Дизайн-система ИСУ v3 — см. /DESIGN.md
 * (снято с референса пользователя: uav-msc-review, деловой отчёт)
 * Полностью заменяет визуал темы WordPress для кабинета и формы входа.
 */

:root {
    --ulk-acc: #49519c;
    --ulk-acc-d: #33396d;
    --ulk-acc-l: #f0f1f7;
    /* Четыре уровня текста. На двух (основной + приглушённый) иерархия
       получалась плоской: подпись поля весила столько же, сколько данные
       в нём. Все четыре проходят WCAG AA на обоих фонах (--ulk-bg и
       --ulk-surface) — контраст от 14,7 до 4,6. */
    --ulk-ink: #1a2330;    /* основной: заголовки, данные, значения */
    --ulk-ink-2: #414c60;  /* вторичный: абзацы, подписи полей */
    --ulk-muted: #5b6676;  /* третичный: пояснения, пустые состояния */
    --ulk-faint: #697182;  /* четвёртый: мета, даты, заблокированное */
    --ulk-line: #dce3ec;
    --ulk-bg: #f4f7fb;
    --ulk-surface: #ffffff;
    --ulk-surface-tint: #fbfdff;
    --ulk-ok: #1f8a4c;
    --ulk-ok-bg: #e5f5eb;
    --ulk-warn: #b8860b;
    --ulk-warn-bg: #fbf3e0;
    --ulk-no: #b04a3c;
    --ulk-no-bg: #f8e9e6;
    /* Целевое обучение — апельсиновый в списке студентов (просьба
       дирекции 24.09.2026: прежний рыжий #a8560e читался как коричневый).
       Не --ulk-warn: тот значит «внимание, что-то не так», а целевик — не
       проблема, а условие зачисления. Компромисс осознанный: контраст
       3,0 на белом — норма AA для жирного ФИО, но ниже 4,5 для мелкой
       подписи «Целевое обучение»; оттенки темнее уже не апельсиновые. */
    --ulk-target: #e8740c;

    /* Внимание — непрочитанные уведомления. Один цвет на всю роль:
       раньше колокольчик обводился оранжевым, а счётчик на нём заливался
       красным, то есть на одном элементе работали два сигнальных цвета. */
    --ulk-attn: #c0392b;
    --ulk-attn-bg: rgba(192, 57, 43, 0.22);

    --ulk-radius: 8px;
    --ulk-radius-lg: 12px;
    /* Шкала радиусов идёт по возрастанию размера элемента: мелкие
       бейджи 5px, карточки/поля 8px, крупные панели 12px. Раньше здесь
       стояло 9px — «маленький» радиус был БОЛЬШЕ базового, из-за чего
       бейджи высотой ~14px выглядели почти капсулами. */
    --ulk-radius-sm: 5px;
    --ulk-shadow: 0 2px 14px rgba(20, 40, 80, 0.05);

    /* Текст поверх акцентной заливки (кнопки, шапка, боковое меню) —
       это не «поверхность», поэтому у него свой токен, а не --ulk-surface. */
    --ulk-on-acc: #ffffff;

    /* Кольцо фокуса одно на весь кабинет: клавиатурная навигация должна
       выглядеть одинаково в форме, в таблице и в меню. */
    --ulk-focus-ring: 0 0 0 3px rgba(73, 81, 156, 0.35);

    /* Движение: одна длительность и одна кривая. ease-out, не ease-in —
       ease-in задерживает первый кадр, тот самый, который человек видит. */
    --ulk-dur: 140ms;
    --ulk-ease: cubic-bezier(0.23, 1, 0.32, 1);

    /* Шкала кегля. Было двенадцать размеров (9…24), причём соседние
       13/14/15 глаз не различает — иерархии не дают, а решение требуют
       каждый раз. Осталось пять ступеней с ощутимым шагом; недостающую
       разницу добирают насыщенность и цвет, а не доли пикселя. */
    --ulk-fs-xs: 12px;   /* мета, шапки таблиц, бейджи */
    --ulk-fs-sm: 14px;   /* плотный интерфейс: таблицы, поля, кнопки, меню */
    --ulk-fs-md: 16px;   /* текст абзацев */
    --ulk-fs-lg: 20px;   /* заголовок раздела, бренд в шапке */
    --ulk-fs-xl: 26px;   /* заголовок формы входа */

    /* Исключение из шкалы: подписи оси дней в шкале конкурсов. Это ось
       диаграммы, а не текст интерфейса, — числа стоят вплотную в полосе
       высотой 16px и на любом большем кегле налезают друг на друга. */
    --ulk-fs-tick: 9px;

    /* Категорийная палитра диаграмм: цвет различает СУЩНОСТЬ (категорию
       персонала, вид начисления), а не состояние. Порядок закреплён —
       категория всегда получает свой номер, иначе при смене фильтра
       оставшиеся ряды перекрашиваются и человек читает график заново.
       Набор проверен валидатором палитр (dataviz): полоса светлоты,
       порог насыщенности, различимость соседних пар при трёх типах
       цветовой слепоты и при нормальном зрении, контраст к фону — всё
       пройдено. Менять значения по одному нельзя: проверка идёт на
       соседних парах, поэтому набор пересчитывается целиком. */
    --ulk-cat-1: #49519c;
    --ulk-cat-2: #c26a1a;
    --ulk-cat-3: #0e8f86;
    --ulk-cat-4: #8a5bd0;
    --ulk-cat-5: #6f8f1f;
    --ulk-cat-6: #b03060;

    --ulk-sans: "Segoe UI", Roboto, Arial, sans-serif;
}

/* Шрифт на macOS без этого рендерится заметно жирнее, чем задумано. */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Каркас страницы кабинета (templates/cabinet-template.php) ---

   Страница ровно в высоту экрана: шапка сверху и подвал снизу стоят на
   месте, а прокручиваются по отдельности меню слева и содержимое
   раздела (.ulk-main). Раньше прокручивалась вся страница, и на длинной
   таблице уезжали и шапка, и меню, а подвал был виден только в самом
   конце. dvh — высота с учётом адресной строки мобильного браузера,
   которая то появляется, то прячется; vh стоит запасным для браузеров,
   где dvh ещё нет. */

.ulk-page {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    font-family: var(--ulk-sans);
    color: var(--ulk-ink);
    background: var(--ulk-bg);
    margin: 0;
    line-height: 1.6;
    font-size: var(--ulk-fs-md);
}

.ulk-topbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, var(--ulk-acc-d), var(--ulk-acc));
    color: #ffffff;
    padding: 16px 24px;
}

.ulk-topbar__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    font-size: var(--ulk-fs-lg);
    letter-spacing: 0.2px;
    color: #ffffff;
    text-decoration: none;
}

.ulk-topbar__logo {
    /* Белая версия логотипа (pish-logo-white.png) уже рассчитана на
       тёмный акцентный фон — отдельная плашка-подложка не нужна. */
    height: 36px;
    width: auto;
    display: block;
}

.ulk-topbar__user {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: var(--ulk-fs-sm);
    color: rgba(255, 255, 255, 0.85);
}

.ulk-topbar__role {
    font-weight: 600;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    padding: 4px 12px;
    font-size: var(--ulk-fs-xs);
    letter-spacing: 0.3px;
    border-radius: 100px;
}

/* Переключатель роли для пользователей с несколькими ИСУ-ролями —
   <details>/<summary> без JS, см. templates/cabinet-template.php. */
.ulk-role-switcher {
    position: relative;
}

.ulk-role-switcher__toggle {
    cursor: pointer;
    user-select: none;
    list-style: none;
}

.ulk-role-switcher__toggle::-webkit-details-marker {
    display: none;
}

.ulk-role-switcher__arrow {
    display: inline-block;
    margin-left: 2px;
    font-size: var(--ulk-fs-xs);
}

.ulk-role-switcher__menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 20;
    min-width: 200px;
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    box-shadow: var(--ulk-shadow);
    overflow: hidden;
}

.ulk-role-switcher__form {
    margin: 0;
}

.ulk-role-switcher__option {
    display: block;
    width: 100%;
    padding: 10px 14px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    font-size: var(--ulk-fs-sm);
    color: var(--ulk-ink);
}

.ulk-role-switcher__option:hover,
.ulk-role-switcher__option:focus {
    background: var(--ulk-acc-l);
}

/* Колокольчик уведомлений (слева от роли — templates/cabinet-template.php,
   university_lk_render_notifications_bell() в includes/suggestions.php),
   тот же приём <details>/<summary> без JS, что и переключатель роли выше.
   При непросмотренных уведомлениях получает класс has-unread — «горит»
   оранжево-красным свечением с пульсацией, чтобы точно бросалось в глаза. */
.ulk-notif-bell {
    position: relative;
}

.ulk-notif-bell__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: none;
    color: #ffffff;
    font-size: var(--ulk-fs-sm);
    cursor: pointer;
    list-style: none;
}

.ulk-notif-bell__toggle::-webkit-details-marker {
    display: none;
}

.ulk-notif-bell.has-unread .ulk-notif-bell__toggle {
    border-color: var(--ulk-attn);
    background: var(--ulk-attn-bg);
    box-shadow: 0 0 0 2px rgba(255, 90, 30, 0.35), 0 0 10px rgba(255, 60, 20, 0.55);
    animation: ulk-notif-bell-pulse 1.6s ease-in-out infinite;
}

@keyframes ulk-notif-bell-pulse {
    0%, 100% {
        box-shadow: 0 0 0 2px rgba(255, 90, 30, 0.35), 0 0 10px rgba(255, 60, 20, 0.5);
    }
    50% {
        box-shadow: 0 0 0 5px rgba(255, 90, 30, 0.15), 0 0 18px rgba(255, 60, 20, 0.85);
    }
}

.ulk-notif-bell__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ulk-attn);
    color: #ffffff;
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    line-height: 1;
    border-radius: 100px;
}

.ulk-notif-bell__menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 20;
    min-width: 280px;
    max-width: 340px;
    max-height: 360px;
    overflow: auto;
    background: var(--ulk-surface);
    color: var(--ulk-ink);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    box-shadow: var(--ulk-shadow);
    padding: 6px 0;
}

.ulk-notif-bell__empty {
    margin: 0;
    padding: 10px 14px;
    color: var(--ulk-muted);
    font-size: var(--ulk-fs-sm);
}

/* Панель вверху выпадающего меню — «Снять все уведомления» и чекбокс
   «Не уведомлять» (обе формы отправляются сразу, без отдельной кнопки
   «Применить»). */
.ulk-notif-bell__toolbar {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px 14px 10px;
    border-bottom: 1px solid var(--ulk-line);
    margin-bottom: 4px;
}

.ulk-notif-bell__toolbar form {
    margin: 0;
}

.ulk-notif-bell__dismiss-all {
    width: 100%;
    background: none;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    padding: 6px 10px;
    font-size: var(--ulk-fs-xs);
    font-weight: 600;
    color: var(--ulk-acc);
    cursor: pointer;
}

.ulk-notif-bell__dismiss-all:hover,
.ulk-notif-bell__dismiss-all:focus {
    background: var(--ulk-acc-l);
}

.ulk-notif-bell__mute-form label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-ink-2);
    cursor: pointer;
}

.ulk-notif-bell__item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 14px;
    border-bottom: 1px solid var(--ulk-line);
    font-size: var(--ulk-fs-sm);
}

.ulk-notif-bell__item:last-child {
    border-bottom: none;
}

.ulk-notif-bell__item form {
    margin: 0;
    display: contents;
}

.ulk-notif-bell__item input[type="checkbox"] {
    margin-top: 4px;
}

.ulk-notif-bell__item-content {
    flex: 1 1 auto;
    min-width: 0;
}

.ulk-notif-bell__item-date {
    display: block;
    color: var(--ulk-faint);
    font-size: var(--ulk-fs-xs);
    margin-top: 2px;
}

/* Поиск пользователя для входа под ним без пароля («Права пользователей»
   → templates/cabinet-template.php) — слева от плашки роли администратора. */
.ulk-user-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.ulk-user-switch__search {
    width: 200px;
    padding: 8px 12px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: var(--ulk-fs-sm);
}

.ulk-user-switch__search::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.ulk-user-switch__connect {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 100px;
    width: 28px;
    height: 28px;
    line-height: 1;
    color: #ffffff;
    cursor: pointer;
    font-size: var(--ulk-fs-sm);
}

.ulk-user-switch__connect:hover {
    background: rgba(255, 255, 255, 0.12);
}

.ulk-user-switch-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--ulk-fs-sm);
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: 100px;
}

.ulk-user-switch-banner__form {
    margin: 0;
}

.ulk-user-switch-banner__back {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 100px;
    padding: 4px 10px;
    color: #ffffff;
    cursor: pointer;
    font-size: var(--ulk-fs-xs);
}

.ulk-user-switch-banner__back:hover {
    background: rgba(255, 255, 255, 0.12);
}

.ulk-topbar__logout {
    font-size: var(--ulk-fs-sm);
    color: #ffffff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: var(--ulk-radius);
    padding: 6px 12px;
}

.ulk-topbar__logout:hover {
    background: rgba(255, 255, 255, 0.12);
}

.ulk-layout {
    flex: 1 1 auto;
    /* Без min-height: 0 флекс-элемент не ужимается ниже высоты
       содержимого, и прокрутка внутри него не включилась бы. */
    min-height: 0;
    display: flex;
    align-items: stretch;
}

.ulk-sidebar {
    flex: 0 0 240px;
    width: 240px;
    box-sizing: border-box;
    background: var(--ulk-acc);
    padding: 8px 0;
    /* Меню прокручивается само по себе, не трогая содержимое раздела. */
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}

/* Фото пользователя над списком модулей. Ширина — 96px при сайдбаре в
   240px: заметно, но не перебивает меню; пропорция 3×4 та же, что в
   карточке, поэтому снимок не приходится готовить отдельно. */
.ulk-sidebar__photo {
    display: block;
    width: 96px;
    margin: 4px auto 12px;
}

.ulk-sidebar__photo img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: var(--ulk-radius);
    /* Светлая рамка вместо тёмной: фон сайдбара — фирменный синий, и
       обычная граница на нём не видна вовсе. */
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.ulk-sidebar__photo:hover img {
    border-color: rgba(255, 255, 255, 0.7);
}

.ulk-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Пунктов много (у администратора — 18, часть переносится на две
   строки), поэтому вертикальные отступы и межстрочный интервал сжаты:
   иначе список не помещается на экран и приходится прокручивать
   сайдбар. Горизонтальные отступы не тронуты — от них зависит
   читаемость, а по высоте выигрыш и так основной. */
.ulk-sidebar__item a,
.ulk-sidebar__head {
    display: block;
    padding: 6px 24px;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--ulk-fs-sm);
    border-left: 3px solid transparent;
}

.ulk-sidebar__item a:hover,
.ulk-sidebar__head:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.ulk-sidebar__item.is-active > a {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border-left-color: #ffffff;
}

/* Двухуровневое меню (issue #1110, includes/menu-layout.php). Пункты
   1 уровня разделены чертой — черта на <li>, а не на ссылке, иначе её
   перекрывает фон активного пункта. */
.ulk-sidebar__list > .ulk-sidebar__item + .ulk-sidebar__item {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ulk-sidebar__item--group {
    display: grid;
    grid-template-columns: 1fr 32px 4px;
}

/* Название и стрелка лежат в одной строке сетки: название на всю
   ширину (фон активного пункта доходит до края), стрелка поверх него
   справа и по центру строки — какой бы высоты строка ни вышла. Раньше
   стрелка была прибита к верху пункта с высотой 32px и у названия в
   две строки, а заодно из-за смещения уголка, сползала к черте под
   пунктом. */
.ulk-sidebar__item--group > a,
.ulk-sidebar__item--group > .ulk-sidebar__head {
    grid-row: 1;
    grid-column: 1 / -1;
}

.ulk-sidebar__item--group > .ulk-sidebar__sub {
    grid-row: 2;
    grid-column: 1 / -1;
}

/* Место справа под стрелку группы, чтобы длинное название не залезало
   под неё. */
.ulk-sidebar__item--group > a,
.ulk-sidebar__head {
    padding-right: 40px;
}

/* Заголовок раздела (issue #1114) — кнопка, а не ссылка: своей
   страницы у раздела нет, нажатие только сворачивает группу. Сброс
   оформления кнопки, остальное — как у ссылки пункта 1 уровня. */
.ulk-sidebar__head {
    width: 100%;
    margin: 0;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    background: none;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

/* Стрелка группы — отдельная кнопка, а не часть ссылки: ссылка
   открывает модуль, стрелка только сворачивает. Высота — строка пункта
   с одной строкой текста (6 + 20 + 6). */
.ulk-sidebar__toggle {
    grid-row: 1;
    grid-column: 2;
    align-self: center;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: var(--ulk-radius);
    background: none;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

.ulk-sidebar__toggle::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    /* Уголок — две стороны повёрнутого квадрата, он лежит в нижней
       половине квадрата; сдвиг на 2px возвращает его на середину. */
    transform: translateY(-2px) rotate(45deg);
}

.ulk-sidebar__item--group.is-collapsed > .ulk-sidebar__toggle::before {
    transform: translateX(-2px) rotate(-45deg);
}

.ulk-sidebar__toggle:hover,
.ulk-sidebar__toggle:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.ulk-sidebar__sub {
    list-style: none;
    margin: 0 0 4px;
    padding: 0;
}

.ulk-sidebar__item--group.is-collapsed > .ulk-sidebar__sub {
    display: none;
}

/* Пункт 2 уровня: мельче, без значка, текст начинается под текстом
   пункта 1 уровня (24 отступ + 20 значок + 10 зазор). */
.ulk-sidebar__item--l2 > a {
    padding: 4px 16px 4px 54px;
    font-size: var(--ulk-fs-xs);
    font-weight: 500;
}

/* «Развернуть все» — появляется, только когда меню не поместилось на
   экран и группы свернулись. */
.ulk-sidebar__tools {
    padding: 0 16px 6px;
    text-align: right;
}

.ulk-sidebar__expand-all {
    padding: 2px 10px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: var(--ulk-radius);
    background: none;
    color: rgba(255, 255, 255, 0.85);
    font: inherit;
    font-size: var(--ulk-fs-xs);
    cursor: pointer;
}

.ulk-sidebar__expand-all:hover {
    border-color: rgba(255, 255, 255, 0.7);
    color: #ffffff;
}

.ulk-sidebar__expand-all[hidden] {
    display: none;
}

/* Кнопки по верхнему краю «Параметров системы», сразу под шапкой. */
.ulk-settings-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

/* Экран «Меню» в «Параметрах системы». */
.ulk-menu-layout__table {
    border-collapse: collapse;
}

.ulk-menu-layout__table th,
.ulk-menu-layout__table td {
    padding: 4px 8px;
    border: 1px solid var(--ulk-line);
    text-align: left;
}

.ulk-menu-layout__row.is-level-2 .ulk-menu-layout__label {
    padding-left: 32px;
    font-size: var(--ulk-fs-xs);
}

.ulk-menu-layout__row:not(.is-level-2) .ulk-menu-layout__label {
    font-weight: 600;
}

/* Значок раздела рядом с выбором — видно, что выбираешь. */
.ulk-menu-layout__icon {
    display: inline-flex;
    vertical-align: middle;
    color: var(--ulk-ink, currentColor);
}

.ulk-menu-layout__move {
    white-space: nowrap;
}

.ulk-main {
    flex: 1 1 auto;
    min-width: 0;
    overflow: auto;
    padding: 0 24px 64px;
}

/* Верхний отступ раздела — распоркой, а не padding-top: прибитая к верху
   шапка таблицы (position: sticky; top: 0) останавливается у края
   области без её внутреннего отступа, и в полосе над шапкой мелькали бы
   уезжающие строки. Распорка уезжает вместе с содержимым. */
.ulk-main::before {
    content: '';
    display: block;
    height: 32px;
}

.ulk-footer {
    flex: 0 0 auto;
    background: var(--ulk-surface);
    border-top: 1px solid var(--ulk-line);
    /* Подвал теперь виден всегда и отнимает высоту у содержимого —
       поэтому он тоньше, чем был, когда стоял в конце страницы. */
    padding: 8px 24px;
    text-align: center;
}

.ulk-footer p {
    margin: 0;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-faint);
}

.ulk-footer p + p {
    margin-top: 4px;
}

/* Первая строка футера — ссылка на модуль «Предложения» и copyright в
   один ряд, прижаты к левому краю (в отличие от остальных строк футера,
   которые остаются по центру). */
.ulk-footer__row {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 4px 16px;
    text-align: left;
}

/* Ссылка на модуль «Предложения» — обязательный для всех ролей модуль,
   вынесен из общего списка вкладок сайдбара (ulk-sidebar__list) в футер,
   т.к. не относится к конкретной роли. Обычная гиперссылка, а не кнопка —
   в одном ряду с copyright, не должна перетягивать внимание. */
.ulk-footer__suggestions-link {
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-xs);
    font-weight: 600;
    color: var(--ulk-acc);
    text-decoration: underline;
}

.ulk-footer__suggestions-link:hover,
.ulk-footer__suggestions-link:focus,
.ulk-footer__suggestions-link.is-active {
    color: var(--ulk-acc-d);
}

@media (max-width: 600px) {
    .ulk-topbar {
        flex-wrap: wrap;
        gap: 12px;
        padding: 16px;
    }

    .ulk-topbar__brand {
        font-size: var(--ulk-fs-md);
        flex-basis: 100%;
    }

    .ulk-topbar__logo {
        height: 28px;
    }

    .ulk-layout {
        flex-direction: column;
    }

    .ulk-sidebar {
        width: 100%;
        flex: 0 0 auto;
        padding: 4px 0;
        /* Лента вкладок прокручивается вбок сама (.ulk-sidebar__list),
           вертикальной прокрутки у неё быть не должно. */
        overflow: visible;
    }

    .ulk-footer {
        padding: 6px 16px;
    }

    .ulk-footer p {
        line-height: 1.35;
    }

    /* На узком экране сайдбар — горизонтальная лента вкладок, и
       вертикальный портрет 3×4 в ней съел бы пол-экрана. */
    .ulk-sidebar__photo {
        display: none;
    }

    /* Список вкладок скроллится горизонтально (нужен деканату/ректорату/
       администратору — у них 6+ модулей, все не помещаются на 375px).
       Классический CSS-приём "scroll shadow" двумя парами градиентов —
       фоновая заливка вкладок (attachment:local, двигается со скроллом)
       перекрывает градиент-тень (attachment:scroll, стоит на месте) у того
       края, до которого доскроллили, поэтому тень с левого края исчезает
       сама, когда прокрутили до начала, и то же справа у конца — без JS.
       До этого приёма последняя вкладка стояла вплотную к краю экрана без
       какого-либо намёка, что справа есть ещё пункты меню (обнаружено
       ux-reviewer агентом: пункты вроде «Права пользователей» физически
       достижимы через scroll, но ничего на экране не подсказывает, что
       скроллить вообще есть куда). */
    .ulk-sidebar__list {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        background:
            linear-gradient(to right, var(--ulk-acc) 30%, rgba(255, 255, 255, 0)) left,
            linear-gradient(to left, var(--ulk-acc) 30%, rgba(255, 255, 255, 0)) right,
            linear-gradient(to right, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)) left,
            linear-gradient(to left, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)) right;
        background-repeat: no-repeat;
        background-color: var(--ulk-acc);
        background-size: 24px 100%, 24px 100%, 10px 100%, 10px 100%;
        background-attachment: local, local, scroll, scroll;
    }

    .ulk-sidebar__item a {
        padding: 10px 16px;
        white-space: nowrap;
        border-left: none;
        border-bottom: 3px solid transparent;
        /* Вкладки идут в строку, и каждая иконка удлиняет прокрутку —
           при 22 модулях это заметно, поэтому зазор здесь меньше. */
        gap: 6px;
    }

    .ulk-sidebar__item.is-active > a {
        border-left-color: transparent;
        border-bottom-color: #ffffff;
    }

    /* В ленте вкладок уровни выстраиваются в одну строку: группа
       растворяется, стрелки и «Развернуть все» не нужны, а черта между
       пунктами 1 уровня переезжает с верхней границы на левую. */
    .ulk-sidebar__list > .ulk-sidebar__item + .ulk-sidebar__item {
        border-top: none;
    }

    .ulk-sidebar__item--group,
    .ulk-sidebar__sub,
    .ulk-sidebar__item--group.is-collapsed > .ulk-sidebar__sub {
        display: contents;
    }

    .ulk-sidebar__toggle,
    .ulk-sidebar__head,
    .ulk-sidebar__tools {
        display: none;
    }

    .ulk-sidebar__list > .ulk-sidebar__item + .ulk-sidebar__item > a {
        border-left: 1px solid rgba(255, 255, 255, 0.2);
    }

    .ulk-sidebar__item--group > a,
    .ulk-sidebar__item--l2 > a {
        padding: 10px 16px;
    }

    .ulk-main {
        padding: 0 16px 48px;
    }

    .ulk-main::before {
        height: 24px;
    }

    /* Единое мобильное поведение для всех таблиц кабинета: сама таблица
       становится блочным горизонтально прокручиваемым контейнером,
       строки/ячейки остаются обычной табличной раскладкой (шапка не
       скрывается). Раньше здесь была карточная раскладка по умолчанию
       с ручным исключением для отдельных классов таблиц — новые таблицы
       (например, «Права пользователей») забывали получить исключение и
       на мобильном теряли подписи столбцов. Прокрутка работает для
       любой таблицы без дополнительной разметки/классов. */
    .university-lk table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    /* Первая колонка (обычно название — дисциплина/ФИО/поле) прибита
       к левому краю через position:sticky относительно самой таблицы
       (это и есть скролл-контейнер на мобильном, см. правило выше) —
       остаётся на экране при горизонтальном скролле остальных колонок,
       не нужно скроллить в обе стороны, чтобы понять, к какой строке
       относится ячейка. Внутри неё явно включаем перенос слов (родитель
       ставит nowrap всем ячейкам) — иначе длинное название дисциплины/ФИО
       растягивало бы колонку на всю ширину экрана. */
    .university-lk table th:first-child,
    .university-lk table td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        white-space: normal;
        overflow-wrap: break-word;
        width: 130px;
        min-width: 130px;
        max-width: 160px;
        box-shadow: 2px 0 4px rgba(20, 40, 80, 0.12);
    }

    .university-lk table th:first-child {
        background: var(--ulk-acc-l);
    }

    .university-lk table td:first-child {
        background: var(--ulk-surface);
    }

    .university-lk table tr:hover td:first-child {
        background: var(--ulk-surface-tint);
    }
}

/* --- Контент кабинета (cabinet-page.php, workload.php) --- */

.university-lk h3 {
    font-size: var(--ulk-fs-lg);
    font-weight: 700;
    color: var(--ulk-ink);
    margin: 32px 0 16px;
}

.university-lk p {
    color: var(--ulk-ink-2);
}

.university-lk__notice {
    background: var(--ulk-ok-bg);
    border-left: 3px solid var(--ulk-ok);
    padding: 12px 16px;
    border-radius: var(--ulk-radius);
    color: var(--ulk-ink);
    margin-bottom: 24px;
}

/* Сообщение о результате, который нельзя назвать успехом: импорт с
   непрочитанными строками, рассылка, дошедшая не до всех. Зелёная
   плашка в таких случаях врёт — человек читает цвет раньше текста. */
.university-lk__notice--warn {
    background: var(--ulk-warn-bg);
    border-left-color: var(--ulk-warn);
}

/* Блок служебной операции в рамке — модуль «Сервисные функции»
   (includes/modules/service). Рамка группирует шаги одного сюжета:
   импорт зачисленных и приглашение их в кабинет идут строго по
   порядку, и врозь они читались бы как две независимые формы.
   Фон — подложка, а не белый: формы внутри белые и должны читаться
   вложенными в блок, а не лежащими рядом с ним. */
.university-lk__panel {
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-lg);
    background: var(--ulk-surface-tint);
    padding: 4px 24px 4px;
    margin-bottom: 32px;
}

/* Заголовок рамки — он же кнопка «развернуть». Рамки свёрнуты по
   умолчанию (это редкие служебные операции), поэтому заголовок обязан
   выглядеть нажимаемым: курсор-палец и треугольник-маркер. Сам <h3>
   внутри <summary> оставлен ради заголовочной разметки — с ним экранный
   диктор объявляет раздел, а не «кнопка Абитуриенты». */
.university-lk__panel-title {
    margin-top: 20px;
    cursor: pointer;
    list-style-position: outside;
}

.university-lk__panel-title h3 {
    display: inline;
    margin: 0;
}

.university-lk__panel-title:focus-visible {
    outline: none;
    box-shadow: var(--ulk-focus-ring);
    border-radius: var(--ulk-radius);
}

/* Между свёрнутыми рамками нужен воздух: без него две подряд читаются
   как одна двухстрочная. */
.university-lk__panel > details:not([open]) {
    margin-bottom: 4px;
}

.university-lk__panel h4 {
    font-size: var(--ulk-fs-md);
    font-weight: 700;
    color: var(--ulk-ink);
    margin: 28px 0 12px;
}

/* --- Формы --- */

/* Форма — не панель.
   Белая подложка под каждой формой читалась как плитка внутри и без того
   светлого экрана, а у формы из одной кнопки («Отправить бланк автору»,
   «Поставить в очередь конвертации») превращалась в лишний
   прямоугольник, который своим падингом наезжал на строку над собой.
   Заказчик просил убрать эти подложки по всему сайту. Формы теперь
   разделяет отступ, а не рамка с тенью; карточками остаются только
   настоящие карточки (.ulk-card) и таблицы. */
.university-lk form {
    margin-bottom: 24px;
}

/* Мелкие формы одного действия (например, "Удалить" в строке таблицы) —
   не отдельная панель, а просто кнопка на месте ссылки. */
.university-lk form.university-lk__inline-form {
    display: inline;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.university-lk form p {
    margin: 0 0 16px;
    color: var(--ulk-ink);
}

.university-lk label {
    display: block;
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    color: var(--ulk-ink-2);
    margin-bottom: 6px;
}

/* Шкала-радиокнопки 1–5: самооценка навыков и опросник командных ролей
   в анкете входного тестирования, peer-оценка сокомандников.
   Правило выше делает метку блочной — для подписи к полю это верно, но
   шкалу из пяти вариантов оно ставит в столбик, по строке на вариант:
   опросник из 18 утверждений занимал 90 строк вместо 18. Здесь варианты
   возвращаются в строку, рядом с самим утверждением. Начертание обычное:
   полужирные цифры на шкале спорят за внимание с текстом утверждения. */
.university-lk .ulk-scale label {
    display: inline-block;
    margin: 0 10px 0 0;
    font-weight: 400;
}

.university-lk input[type="text"],
.university-lk input[type="number"],
.university-lk input[type="email"],
.university-lk select {
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-sm);
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    background: var(--ulk-surface);
    color: var(--ulk-ink);
}

/* Поле, которое человек тянет за правый нижний угол. Textarea, а не
   input, ровно ради этого: у input ручки размера нет, а длинное
   название организации в одну строку видно только кусочком. Тянется в
   обе стороны — таблица авторов и так прокручивается вбок. */
.university-lk textarea.ulk-grow-field {
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-sm);
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    background: var(--ulk-surface);
    color: var(--ulk-ink);
    line-height: 1.35;
    resize: both;
    min-width: 160px;
}

.university-lk textarea.ulk-grow-field:focus {
    outline: 2px solid var(--ulk-acc);
    outline-offset: -1px;
    border-color: var(--ulk-acc);
}

.university-lk input:focus,
.university-lk select:focus {
    outline: 2px solid var(--ulk-acc);
    outline-offset: -1px;
    border-color: var(--ulk-acc);
}

/* Заблокированное поле должно быть видно, что оно заблокировано.
   До этого disabled-поле выглядело ровно как обычное, и человек
   пытался в него печатать. */
.university-lk input:disabled,
.university-lk select:disabled,
.university-lk textarea:disabled {
    background: var(--ulk-bg);
    color: var(--ulk-faint);
    cursor: not-allowed;
}

.university-lk button,
.university-lk input[type="submit"] {
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    background: var(--ulk-acc);
    color: var(--ulk-on-acc);
    border: 1px solid var(--ulk-acc);
    border-radius: var(--ulk-radius);
    padding: 12px 20px;
    cursor: pointer;
    transition: background var(--ulk-dur) var(--ulk-ease),
                transform var(--ulk-dur) var(--ulk-ease);
}

.university-lk button:hover,
.university-lk input[type="submit"]:hover {
    background: var(--ulk-acc-d);
    border-color: var(--ulk-acc-d);
}

/* Нажатие: кнопка чуть проседает — тактильное подтверждение, что клик
   услышан. Форм в ИСУ много, и отправка часто идёт на сервер секунду
   и дольше; без отклика люди жмут второй раз. */
.university-lk button:active,
.university-lk input[type="submit"]:active {
    transform: scale(0.97);
}

/* Кольцо фокуса — :focus-visible, а не :focus: иначе рамка остаётся
   висеть после обычного клика мышью. Клавиатурная навигация её
   по-прежнему получает. */
.university-lk button:focus-visible,
.university-lk input[type="submit"]:focus-visible {
    outline: 2px solid var(--ulk-acc-d);
    outline-offset: 2px;
    box-shadow: var(--ulk-focus-ring);
}

/* Fallback для браузеров без :focus-visible. */
.university-lk button:focus,
.university-lk input[type="submit"]:focus {
    outline: 2px solid var(--ulk-acc-d);
    outline-offset: 2px;
}

.university-lk button:disabled,
.university-lk input[type="submit"]:disabled {
    background: var(--ulk-line);
    border-color: var(--ulk-line);
    color: var(--ulk-faint);
    cursor: not-allowed;
    transform: none;
}

/* --- Панель редактора текста (wp_editor: TinyMCE + Quicktags) ---

   Редактор рендерится внутри .university-lk (форма новости, форма идеи
   и т.д.), поэтому его кнопки ловили общий стиль кнопок ИСУ выше:
   синий фон, белый текст, padding 12px 20px. Иконки панели TinyMCE
   рисует своим шрифтом тёмно-серым (#555d66) — на синем фоне их не
   видно вообще, панель превращается в ряд одинаковых синих
   прямоугольников. Здесь панели возвращается её собственный вид:
   прозрачная кнопка с тёмной иконкой, подсветка акцентом при наведении
   и у включённого начертания. Двух других частей редактора здесь нет
   намеренно: диалоги TinyMCE («Вставить ссылку») вешаются на <body>,
   вне .university-lk, а вкладки «Визуально»/«Текст» перекрыты
   собственным правилом WordPress (.wp-core-ui .wp-switch-editor) — оно
   специфичнее общего и синим их не красит. */
.university-lk .mce-btn button,
.university-lk .mce-toolbar button,
.university-lk .mce-menubtn button {
    background: none;
    border: 1px solid transparent;
    border-radius: var(--ulk-radius-sm);
    color: var(--ulk-ink);
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-sm);
    font-weight: 400;
    padding: 2px 6px;
    transition: none;
}

.university-lk .mce-ico {
    color: var(--ulk-ink);
}

.university-lk .mce-btn:hover button,
.university-lk .mce-btn button:hover,
.university-lk .mce-btn button:focus {
    background: var(--ulk-acc-l);
    border-color: var(--ulk-acc-l);
    color: var(--ulk-acc-d);
}

/* Включённое начертание (курсор стоит в жирном тексте) — панель обязана
   это показывать, иначе непонятно, что уже применено. */
.university-lk .mce-btn.mce-active button,
.university-lk .mce-btn.mce-active:hover button {
    background: var(--ulk-acc-l);
    border-color: var(--ulk-acc);
    color: var(--ulk-acc-d);
}

.university-lk .mce-btn.mce-active .mce-ico,
.university-lk .mce-btn:hover .mce-ico {
    color: var(--ulk-acc-d);
}

.university-lk .mce-btn.mce-disabled button,
.university-lk .mce-btn.mce-disabled .mce-ico {
    color: var(--ulk-faint);
}

/* Общее правило кнопок даёт scale(0.97) при нажатии — на панели из
   пятнадцати мелких кнопок это выглядит дёрганьем, а не откликом. */
.university-lk .mce-btn button:active {
    transform: none;
}

/* Ссылка-кнопка — для действий вроде «Добавить», реализованных как
   переход по query-параметру, а не отправка формы. */
.university-lk__button-link {
    display: inline-block;
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    background: var(--ulk-acc);
    color: #ffffff;
    border: 1px solid var(--ulk-acc);
    border-radius: var(--ulk-radius);
    padding: 12px 20px;
    text-decoration: none;
}

.university-lk__button-link:hover,
.university-lk__button-link:focus {
    background: var(--ulk-acc-d);
    border-color: var(--ulk-acc-d);
    color: var(--ulk-on-acc);
}

.university-lk__button-link:active {
    transform: scale(0.97);
}

.university-lk__button-link:focus-visible {
    box-shadow: var(--ulk-focus-ring);
}

/* Кнопка-действие, отрисованная как выключенная <button> с этим же
   классом: действие существует, но сейчас недоступно — например, приём
   тезисов конференции закрыт по дедлайну. Правило продублировано явно,
   а не оставлено на специфичность `.university-lk button:disabled`,
   чтобы вид выключенной кнопки не зависел от порядка селекторов. */
.university-lk button.university-lk__button-link:disabled {
    background: var(--ulk-line);
    border-color: var(--ulk-line);
    color: var(--ulk-faint);
    cursor: not-allowed;
    transform: none;
}

/* --- Таблицы --- */

.university-lk table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ulk-fs-sm);
}

.university-lk table th {
    background: var(--ulk-acc-l);
    text-align: left;
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    color: var(--ulk-acc-d);
    padding: 12px;
    border-bottom: 1px solid var(--ulk-line);
}

.university-lk table td {
    padding: 12px;
    border-bottom: 1px solid var(--ulk-line);
    /* Табличные цифры: в пропорциональном шрифте «1» уже остальных цифр,
       поэтому часы нагрузки, з.е. учебного плана и суммы ФОТ не
       выстраивались в колонку и «дрожали» от строки к строке. */
    font-variant-numeric: tabular-nums;
}

.university-lk table tr:hover td {
    background: var(--ulk-surface-tint);
}

.university-lk table a {
    color: var(--ulk-acc);
}

/* Кнопка-ссылка внутри таблицы: правило выше по специфичности сильнее
   .university-lk__button-link и делало белый текст кнопки цветом ссылки,
   то есть невидимым на такой же заливке (таблица кандидатов «Заявкомата»). */
.university-lk table a.university-lk__button-link {
    color: var(--ulk-on-acc);
}

/* --- Модуль «Конкурсы студентов»: цветная шкала конкурсов по месяцам --- */

.ulk-timeline {
    margin: 0 0 20px;
}

.ulk-timeline__scroll {
    overflow-x: auto;
    border-radius: var(--ulk-radius-lg);
    box-shadow: var(--ulk-shadow);
    background: var(--ulk-surface);
    padding: 16px 12px 12px;
}

.ulk-timeline__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(58px, 1fr));
    gap: 4px 6px;
    min-width: 800px;
}

.ulk-timeline__year {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 4px;
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--ulk-faint);
    border-bottom: 2px solid var(--ulk-line);
}

.ulk-timeline__pill {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: var(--ulk-fs-xs);
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 2px 6px rgba(20, 40, 80, 0.15);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ulk-timeline__pill:hover,
.ulk-timeline__pill:focus {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(20, 40, 80, 0.28);
}

/* Сроки взяты по прошлому году — конкурс на этот год ещё не объявлен
   (competitions.php, university_lk_competition_dates_confirmed()). Белая
   заливка и пунктирный контур в цвет конкурса читаются как «состоится
   примерно в эти сроки, даты могут уточниться».

   Сама заливка, цвет текста и цвет контура приходят инлайном из PHP
   (цвет у каждого конкурса свой), поэтому здесь остаётся только то, что
   от цвета не зависит. Правило hover выше перекрасило бы текст в белый
   по белому — но инлайновый color специфичнее любого селектора, так что
   подпись остаётся цветной и под курсором. Тень снимаем: вместе с
   пунктиром она делает плашку шумной. */
.ulk-timeline__pill--tentative {
    box-shadow: none;
}

.ulk-timeline__pill--tentative:hover,
.ulk-timeline__pill--tentative:focus {
    box-shadow: 0 2px 6px rgba(20, 40, 80, 0.18);
}

/* У короткого периода подпись вынесена сбоку от точки — пунктир рамки
   выноски держит ту же «неточность», что и сама точка. */
.ulk-timeline__pill--tentative .ulk-timeline__pill-callout {
    border-style: dashed;
}

/* Период в несколько дней (~1–2% ширины года) — подпись в него не влезает
   (competitions.php рендерит такую плашку без текста): показываем кружком,
   иначе полоска в пару пикселей и по ней не попасть мышью. Название и даты —
   во всплывающей подсказке и в карточке по клику. */
.ulk-timeline__pill--dot {
    min-width: 18px;
    padding: 4px 0;
    /* Выноска вылезает за пределы точки, поэтому обрезку с многоточием,
       заданную для обычных плашек, здесь снимаем. */
    position: relative;
    overflow: visible;
}

/* Название конкурса сбоку от точки: сама плашка в пару дней шириной подпись
   не вмещает (competitions.php ставит класс --dot при ширине < 3% года).
   Выноска не влияет на раскладку (position:absolute), поэтому не сдвигает
   соседние плашки, и не перехватывает клик — клик остаётся на точке. */
.ulk-timeline__pill-callout {
    position: absolute;
    left: calc(100% + 6px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    padding: 2px 4px;
    border-radius: var(--ulk-radius-sm);
    /* Подложка под текстом: выноска заходит на соседние месяцы, без неё
       подпись сливалась бы с полосами и засечками под ними. */
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
    pointer-events: none;
}

/* У правого края шкалы выноска разворачивается влево (competitions.php,
   $callout_left), иначе её срезал бы горизонтальный скролл. */
.ulk-timeline__pill-callout--left {
    left: auto;
    right: calc(100% + 6px);
}

.ulk-timeline__pill--active {
    outline: 2px solid var(--ulk-ink);
    outline-offset: 2px;
}

.ulk-timeline__month {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
    border-radius: var(--ulk-radius-sm);
}

.ulk-timeline__month--current {
    outline: 3px solid var(--ulk-ink);
    outline-offset: 1px;
}

.ulk-timeline__day-ticks {
    position: relative;
    height: 16px;
}

.ulk-timeline__day-tick {
    position: absolute;
    top: 0;
    font-size: var(--ulk-fs-tick);
    line-height: 16px;
    color: var(--ulk-faint);
    transform: translateX(-2px);
}

.ulk-timeline__empty {
    padding: 12px;
    color: var(--ulk-muted);
}

.ulk-timeline__note {
    color: var(--ulk-muted);
    font-size: var(--ulk-fs-sm);
    margin: 8px 0 20px;
}

/* Расшифровка пунктирных плашек под шкалой: образец плашки + текст. */
.ulk-timeline__legend {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.ulk-timeline__legend-sample {
    flex: none;
    /* Пропорции обычной плашки в миниатюре; margin-top сажает образец на
       первую строку текста, а не на середину абзаца. */
    width: 34px;
    height: 16px;
    margin-top: 2px;
    border-radius: 999px;
    border: 2px dashed var(--ulk-faint);
    background: var(--ulk-surface);
}

/* --- Форма входа (wp-login.php) — см. includes/branding.php --- */

/* Имя пользователя на форме регистрации не спрашиваем: оно строится
   из ФИО (university_lk_registration_generate_login()). Правило с :has()
   убирает абзац целиком; правило ниже — запасное для браузеров без
   :has(): оно прячет саму подпись с полем внутри, абзац остаётся
   пустым, но поле не показывается. */
#registerform p:has(#user_login) {
    display: none;
}

#registerform label[for="user_login"] {
    display: none;
}

/* Ловушка для роботов на форме регистрации. Убрана за край экрана, а
   НЕ display:none: часть роботов пропускает скрытое через display, но
   заполняет всё остальное подряд. Человеку поле недостижимо (tabindex
   -1) и не читается экранной читалкой (aria-hidden на обёртке). */
.ulk-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


body.login {
    background: var(--ulk-bg);
    font-family: var(--ulk-sans);
}

body.login #login h1 a {
    background-image: none;
    width: auto;
    height: auto;
    text-indent: 0;
    font-size: var(--ulk-fs-xl);
    font-weight: 700;
    color: var(--ulk-acc-d);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}

body.login #login h1 a::before {
    content: "";
    display: block;
    width: 270px;
    height: 96px;
    background-image: url("images/pish-logo.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

body.login #loginform {
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-lg);
    box-shadow: var(--ulk-shadow);
    padding: 32px;
}

body.login label {
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    color: var(--ulk-muted);
}

/* Перечислять типы полей по одному — ловушка: форма регистрации
   WordPress отдаёт почту как input[type="email"], и она оставалась без
   оформления, заметно отличаясь от соседних полей. Ниже перечислены
   все текстовые типы, какие встречаются на экранах входа, регистрации
   и восстановления пароля. */
body.login input[type="text"],
body.login input[type="email"],
body.login input[type="password"] {
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    box-shadow: none;
    font-size: var(--ulk-fs-sm);
    padding: 12px;
    background: var(--ulk-surface);
    color: var(--ulk-ink);
}

body.login input[type="text"]:focus,
body.login input[type="email"]:focus,
body.login input[type="password"]:focus {
    border-color: var(--ulk-acc);
    box-shadow: none;
    outline: 2px solid var(--ulk-acc);
    outline-offset: -1px;
}

body.login .button-primary {
    font-size: var(--ulk-fs-sm);
    background: var(--ulk-acc);
    border: 1px solid var(--ulk-acc);
    border-radius: var(--ulk-radius);
    box-shadow: none;
    text-shadow: none;
    font-weight: 600;
    padding: 8px 20px;
    height: auto;
    line-height: 1.6;
}

body.login .button-primary:hover,
body.login .button-primary:focus {
    background: var(--ulk-acc-d);
    border-color: var(--ulk-acc-d);
    box-shadow: none;
}

body.login #backtoblog,
body.login #nav {
    text-align: center;
}

body.login #backtoblog a,
body.login #nav a {
    font-size: var(--ulk-fs-sm);
    color: var(--ulk-faint);
}


/* Тултипы терминов глоссария (Фаза 7) — assets/tooltips.js */
.gloss-term {
    border-bottom: 1px dotted #2271b1;
    cursor: help;
}
#gloss-tip {
    display: none;
    position: fixed;
    z-index: 100000;
    max-width: 360px;
    background: #fff;
    border: 1px solid var(--ulk-line);
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    padding: 10px 12px;
    font-size: var(--ulk-fs-sm);
    line-height: 1.45;
}
#gloss-tip .gt-term { font-weight: 600; margin-bottom: 4px; }
#gloss-tip .gt-def { color: var(--ulk-ink); }
#gloss-tip .gt-foot {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-muted);
}

/* Подчинённая навигация внутри модуля-контейнера («Наука»): полоса
   вкладок по подразделам. Отдельный класс, а не инлайновые стили как у
   вкладок приёмной кампании, — вкладки здесь рисуют три разных
   подраздела, и общий вид должен задаваться в одном месте. */
.ulk-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ulk-line);
}

.ulk-subnav__item {
    padding: 8px 16px;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    background: var(--ulk-surface);
    color: var(--ulk-ink);
    font-size: var(--ulk-fs-sm);
    line-height: 1.3;
    text-decoration: none;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.ulk-subnav__item:hover {
    background: var(--ulk-acc-l);
    border-color: var(--ulk-acc);
    color: var(--ulk-acc-d);
}

.ulk-subnav__item.is-active {
    background: var(--ulk-acc);
    border-color: var(--ulk-acc);
    color: #ffffff;
    font-weight: 600;
}

.ulk-subnav__item.is-active:hover {
    background: var(--ulk-acc-d);
    color: #ffffff;
}

/* Кнопка, уводящая из модуля, — в ряду вкладок. Обводка, а не заливка:
   у активной вкладки фон акцентный, и залитая кнопка рядом с ней
   читалась бы как второй выбранный раздел. Высота и отступы — как у
   вкладок, чтобы ряд не разъезжался. */
.university-lk__button-link.ulk-subnav__out {
    padding: 8px 16px;
    background: var(--ulk-surface);
    color: var(--ulk-acc-d);
    border-color: var(--ulk-acc);
    line-height: 1.3;
}

.university-lk__button-link.ulk-subnav__out:hover,
.university-lk__button-link.ulk-subnav__out:focus {
    background: var(--ulk-acc-l);
    border-color: var(--ulk-acc);
    color: var(--ulk-acc-d);
}

/* --- «Приказы» → «Вышедшие приказы»: окно на 10 строк --- */

.ulk-issued-orders {
    overflow: auto;
}

/* Запасная высота, пока скрипт не измерил десятую строку (или если он
   не выполнился); точную высоту ставит скрипт под таблицей. */
.ulk-issued-orders--long {
    max-height: 34em;
    overflow-y: auto;
}

.ulk-issued-orders thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--ulk-surface);
}

/* --- Дашборды: плитки показателей, шкалы и полосы --- */

/* Карточка-раздел дашборда. */
.ulk-card {
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-lg);
    box-shadow: var(--ulk-shadow);
    padding: 20px;
}

/* Плитки показателей. Главную цифру человек должен прочитать не читая:
   до этого «занято столько-то из такого-то» пряталось в предложении
   вместе с остатком, резервом и внебюджетом. */
.ulk-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 16px;
}

.ulk-kpi {
    flex: 1 1 170px;
    min-width: 150px;
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ulk-kpi__label {
    font-size: var(--ulk-fs-xs);
    font-weight: 500;
    color: var(--ulk-muted);
}

.ulk-kpi__value {
    font-size: var(--ulk-fs-xl);
    font-weight: 700;
    line-height: 1.15;
    color: var(--ulk-ink);
    font-variant-numeric: tabular-nums;
}

.ulk-kpi__sub {
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-faint);
    font-variant-numeric: tabular-nums;
}

/* Состояние — цветом И словом. Цвет в одиночку не читается ни на
   монохромной печати, ни при цветовой слепоте. */
.ulk-kpi--ok .ulk-kpi__value { color: var(--ulk-ok); }
.ulk-kpi--warn .ulk-kpi__value { color: var(--ulk-warn); }
.ulk-kpi--no .ulk-kpi__value { color: var(--ulk-no); }

.ulk-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--ulk-fs-xs);
    font-weight: 500;
}

.ulk-status--ok { color: var(--ulk-ok); }
.ulk-status--warn { color: var(--ulk-warn); }
.ulk-status--no { color: var(--ulk-no); }

/* Шкала исполнения лимита. */
.ulk-meter {
    height: 10px;
    border-radius: 5px;
    background: var(--ulk-bg);
    overflow: hidden;
}

.ulk-meter__fill {
    height: 100%;
    border-radius: 5px;
    min-width: 2px;
}

.ulk-meter__fill--ok { background: var(--ulk-ok); }
.ulk-meter__fill--warn { background: var(--ulk-warn); }
.ulk-meter__fill--no { background: var(--ulk-no); }

/* Ранжированные полосы. Ширина в процентах, а не в пикселях: прежние
   полосы были шириной ровно 160px и на узком экране вылезали за край,
   а на широком занимали угол. */
.ulk-bars {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ulk-bar {
    display: grid;
    grid-template-columns: minmax(88px, 30%) 1fr auto;
    gap: 12px;
    align-items: center;
    font-size: var(--ulk-fs-xs);
}

.ulk-bar__name {
    color: var(--ulk-ink-2);
    overflow-wrap: anywhere;
}

.ulk-bar__track {
    background: var(--ulk-bg);
    border-radius: 4px;
    height: 12px;
}

.ulk-bar__fill {
    height: 100%;
    border-radius: 4px;
    min-width: 2px;
    background: var(--ulk-acc);
}

.ulk-bar__val {
    color: var(--ulk-ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Доли целого одной полосой. Зазор 2px между долями — чтобы соседние
   заливки не сливались в одно пятно. */
.ulk-seg {
    display: flex;
    gap: 2px;
    height: 14px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--ulk-bg);
}

.ulk-seg__part { height: 100%; }

.ulk-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-ink-2);
    margin-top: 8px;
}

.ulk-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-variant-numeric: tabular-nums;
}

.ulk-legend__dot {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex: none;
}

.ulk-dash__title {
    font-size: var(--ulk-fs-lg);
    font-weight: 600;
    margin: 24px 0 10px;
}

.ulk-dash__cap {
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-muted);
    margin: 0 0 8px;
}



/* --- Панель показателей («Аналитика») --- */

/*
 * Требование к вкладке — умещаться на один экран целиком: её открывают
 * на совещании и смотрят, не прокручивая. Поэтому здесь всё плотнее,
 * чем на остальных дашбордах: строка — 24px, отступы карточек
 * уменьшены, а число строк в колонке ограничивает сам модуль
 * (university_lk_analytics_scorecard_row_limit()).
 */
.ulk-scorecard__head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 10px;
}

/* Плитки внутри панели плотнее обычных: тут их пять в ряд, и каждый
   лишний пиксель их высоты — это строка, которая не поместилась в
   колонке ниже. На других дашбордах .ulk-kpi остаётся прежним. */
.ulk-scorecard .ulk-kpi { padding: 10px 12px; flex: 1 1 150px; min-width: 140px; }
.ulk-scorecard .ulk-kpi__value { font-size: 22px; }

.ulk-scorecard__kpis {
    flex: 1 1 420px;
    margin: 0;
}

/* Общий показатель — главная цифра экрана, поэтому плитка шире
   обычной и цифра в ней крупнее: остальные плитки её поясняют. */
.ulk-scorecard__overall {
    flex: 0 1 280px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid var(--ulk-line);
    border-left: 4px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    background: var(--ulk-surface);
}

.ulk-scorecard__overall--ok { border-left-color: var(--ulk-ok); background: var(--ulk-ok-bg); }
.ulk-scorecard__overall--warn { border-left-color: var(--ulk-warn); background: var(--ulk-warn-bg); }
.ulk-scorecard__overall--no { border-left-color: var(--ulk-no); background: var(--ulk-no-bg); }

.ulk-scorecard__big {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.05;
    color: var(--ulk-ink);
    font-variant-numeric: tabular-nums;
}

.ulk-scorecard__scale {
    font-size: var(--ulk-fs-sm);
    font-weight: 500;
    color: var(--ulk-muted);
    margin-left: 6px;
}

/* Зона названа словом рядом с цветом: цвет в одиночку не читается ни
   на монохромной печати, ни при цветовой слепоте. */
.ulk-scorecard__zone {
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ulk-scorecard__overall--ok .ulk-scorecard__zone { color: var(--ulk-ok); }
.ulk-scorecard__overall--warn .ulk-scorecard__zone { color: var(--ulk-warn); }
.ulk-scorecard__overall--no .ulk-scorecard__zone { color: var(--ulk-no); }

.ulk-scorecard__cols {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.ulk-scorecard__panel {
    flex: 1 1 340px;
    min-width: 0;
    padding: 10px 14px;
}

.ulk-scorecard__paneltitle {
    margin: 0 0 8px;
    font-size: var(--ulk-fs-sm);
    font-weight: 600;
    color: var(--ulk-ink);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ulk-scorecard__lines { display: flex; flex-direction: column; }

/* Высота 22px, а не 24: пятнадцать строк в колонке — это 330px, и
   при 24px панель переставала помещаться на экран 1366×768 целиком. */
.ulk-scoreline {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) 34px 84px 64px;
    gap: 8px;
    align-items: center;
    height: 21px;
    font-size: var(--ulk-fs-xs);
}

.ulk-scoreline__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ulk-line);
}

.ulk-scoreline__dot--ok { background: var(--ulk-ok); }
.ulk-scoreline__dot--warn { background: var(--ulk-warn); }
.ulk-scoreline__dot--no { background: var(--ulk-no); }

.ulk-scoreline__name {
    color: var(--ulk-ink-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ulk-scoreline__place { color: var(--ulk-faint); font-variant-numeric: tabular-nums; }

.ulk-scoreline__val {
    text-align: right;
    font-weight: 600;
    color: var(--ulk-ink);
    font-variant-numeric: tabular-nums;
}

/* Полоса отклонения расходится от середины: вправо — выше общего
   уровня, влево — ниже. Середина отмечена линией, иначе короткая
   полоса читается как «почти ноль» в любую сторону. */
.ulk-scoreline__dev {
    position: relative;
    height: 10px;
    border-radius: 3px;
    background: var(--ulk-bg);
}

.ulk-scoreline__dev::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -2px;
    bottom: -2px;
    width: 1px;
    background: var(--ulk-line);
}

.ulk-scoreline__bar {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 2px;
    min-width: 2px;
}

.ulk-scoreline__bar--up { left: 50%; background: var(--ulk-ok); }
.ulk-scoreline__bar--down { right: 50%; background: var(--ulk-no); }

/* Отклонение числом — со знаком и стрелкой: направление не должно
   держаться на одном цвете. */
.ulk-scoreline__delta {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ulk-scoreline__delta--up { color: var(--ulk-ok); }
.ulk-scoreline__delta--down { color: var(--ulk-no); }
.ulk-scoreline__delta--level { color: var(--ulk-faint); }

/* Уровень института — черта, относительно которой строки читаются как
   «тянет вверх» и «тянет вниз». */
.ulk-scorecard__level {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-muted);
    white-space: nowrap;
}

.ulk-scorecard__level::before,
.ulk-scorecard__level::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--ulk-line);
}

.ulk-scorecard__more,
.ulk-scorecard__empty,
.ulk-scorecard__unmeasured,
.ulk-scorecard__foot {
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-muted);
    margin: 6px 0 0;
}

.ulk-scorecard__more { margin: 2px 0; }
.ulk-scorecard__foot { margin-top: 8px; }
/* Кнопка печати живёт в шапке панели, прижатая к правому краю ряда
   плиток: внизу она оказывалась за сгибом экрана. */
/* Кнопка печати живёт в ряду плиток, прижатая к его концу: внизу
   панели она оказывалась за сгибом экрана. Не растягивается, иначе
   отбирает ширину у плиток и те переносятся на вторую строку. */
.ulk-scorecard__print { margin: 0; display: flex; align-items: center; flex: 0 0 auto; }

/* Печать прямо с экрана кабинета оставляет панель как есть, но без
   кнопки: на бумагу её нажимать нечем. Полный лист со всеми строками —
   отдельная страница (scorecard-print.php). */
@media print {
    .ulk-scorecard__print { display: none; }
}


/* Критерии методики полосой: все восемь разделов с состоянием.
   Состояние названо словом, цвет только помогает — полосу печатают и
   читают люди, которые цвет различают по-разному. */
.ulk-scorecard__criteria { margin-top: 10px; padding: 8px 14px; }

/* Заголовок блока и охват — одной строкой. */
.ulk-scorecard__crithead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}


.ulk-crit {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ulk-crit__item {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 2px 7px;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-sm);
    font-size: var(--ulk-fs-xs);
    background: var(--ulk-surface);
}

.ulk-crit__item--full { border-color: var(--ulk-ok); background: var(--ulk-ok-bg); }
.ulk-crit__item--partial { border-color: var(--ulk-warn); background: var(--ulk-warn-bg); }
.ulk-crit__item--none { border-color: var(--ulk-line); background: var(--ulk-bg); color: var(--ulk-muted); }

.ulk-crit__no { font-weight: 700; color: var(--ulk-ink); }
.ulk-crit__item--none .ulk-crit__no { color: var(--ulk-muted); }
.ulk-crit__name { color: var(--ulk-ink-2); }
.ulk-crit__item--none .ulk-crit__name { color: var(--ulk-muted); }

.ulk-crit__state {
    font-size: var(--ulk-fs-xs);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ulk-crit__item--full .ulk-crit__state { color: var(--ulk-ok); }
.ulk-crit__item--partial .ulk-crit__state { color: var(--ulk-warn); }
.ulk-crit__item--none .ulk-crit__state { color: var(--ulk-faint); }

/* «Что нужно завести» свёрнуто и вынесено в строку заголовка: на
   совещании это лишние строки, а при разговоре «почему посчитано не
   всё» — единственный нужный ответ. */
.ulk-scorecard__gaps { margin: 0; font-size: var(--ulk-fs-xs); }
.ulk-scorecard__gaps summary { cursor: pointer; color: var(--ulk-ink-2); }
.ulk-scorecard__gaps dl { margin: 8px 0 0; }
.ulk-scorecard__gaps dt { font-weight: 600; color: var(--ulk-ink); margin-top: 8px; }
.ulk-scorecard__gaps dd { margin: 2px 0 0; color: var(--ulk-muted); }


/* --- Иконки пунктов меню модулей --- */

/*
 * Иконки лежат здесь, а не в разметке: так они кэшируются вместе с
 * таблицей стилей, а не приезжают заново с каждой страницей кабинета.
 * Форма задаётся маской, цвет берётся из currentColor — поэтому иконка
 * сама светлеет в активном пункте и на наведении, отдельных вариантов
 * файла под каждое состояние не нужно.
 *
 * Набор нарисован генератором (Magnific, Recraft v4 Vector) одним
 * стилем: контур постоянной толщины, скруглённые концы, поле 24x24.
 * Новую иконку рисует и вписывает сюда tools/icons/icon.py — тем же
 * генератором, но по API (стиль outline), — чтобы она не выбивалась
 * из ряда, как вышло с «Сервисными функциями» и «Бланкоматом».
 * Каждая иконка сведена в один контур с чередующейся заливкой
 * (fill-rule: evenodd) — генератор рисует «дырки» белыми фигурами
 * поверх тёмных, и без этого иконка превращается в сплошной силуэт.
 */

.ulk-sidebar__item a,
.ulk-sidebar__head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ulk-nav-icon::before {
    content: '';
    flex: none;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask: var(--ulk-icon) center / contain no-repeat;
    mask: var(--ulk-icon) center / contain no-repeat;
    opacity: 0.75;
}

/* Активный пункт и наведение — иконка в полную силу вместе с текстом. */
.ulk-sidebar__item.is-active > .ulk-nav-icon::before,
.ulk-sidebar__item a:hover .ulk-nav-icon::before,
.ulk-sidebar__head:hover::before {
    opacity: 1;
}

/* Без поддержки масок квадрат из currentColor выглядел бы браком —
   в таком браузере пункт остаётся просто текстовым. */
@supports not ((-webkit-mask-image: none) or (mask-image: none)) {
    .ulk-nav-icon::before { display: none; }
}

/* Длинные названия («Образовательные программы») переносятся, а не
   вылезают за край: без min-width:0 флекс-элемент не сжимается ниже
   ширины своего содержимого. */
.ulk-sidebar__item a > span,
.ulk-sidebar__head > span {
    min-width: 0;
}

.ulk-nav-icon--profile { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-3.691,-40.309) scale(0.063)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 226 828 C 226 828 233 829 230 831 C 228 831 225 831 223 831 C 225 830 225 830 226 828 z M 241 678 C 280 674 315 702 318 741 C 322 780 293 814 254 817 C 216 821 182 792 179 754 C 175 716 203 681 241 678 z M 226 828 C 202 820 183 806 172 782 C 162 763 161 740 169 720 C 176 698 192 680 214 671 C 234 661 255 660 276 668 C 298 676 316 692 325 714 C 335 734 335 758 327 778 C 318 799 302 816 282 825 C 279 826 275 827 272 828 L 273 831 C 336 841 388 888 405 950 C 408 959 413 983 408 991 C 403 997 374 996 366 995 L 313 995 L 180 995 C 153 995 127 995 101 995 C 94 996 88 990 88 983 C 88 911 151 840 223 831 C 225 830 225 830 226 828 z M 231 844 C 293 839 346 866 378 920 C 390 941 393 958 396 981 L 266 981 L 102 981 C 107 908 160 857 231 844 z M 273 831 C 266 831 263 829 272 828 L 273 831 z'/%3E%3C/g%3E%3C/svg%3E"); } /* силуэт человека */
.ulk-nav-icon--news { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-32.665,-41.709) scale(0.064)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 573 785 C 574 785 578 785 578 786 C 579 795 579 831 579 839 C 568 839 567 839 557 834 C 534 817 545 790 573 785 z M 598 864 C 611 864 625 865 637 866 C 643 887 648 910 653 931 C 655 941 654 947 649 955 C 642 960 634 962 627 957 C 617 951 614 931 612 920 C 607 901 603 883 598 864 z M 750 696 C 755 697 759 697 759 704 C 759 746 759 789 759 832 L 759 890 C 759 898 760 918 756 924 C 747 926 744 918 737 912 C 711 887 686 878 652 869 C 656 884 668 929 668 941 C 668 947 666 952 664 957 C 653 976 633 977 616 967 C 604 956 601 935 597 919 L 584 863 C 580 861 579 859 578 855 C 576 851 564 851 558 849 C 554 848 550 846 547 844 C 539 838 533 828 531 818 C 530 808 532 798 538 789 C 547 777 560 772 574 772 C 579 772 579 768 582 763 C 588 758 597 760 606 760 C 646 758 688 746 721 723 C 733 714 740 706 750 696 z M 744 722 C 746 725 745 883 745 900 C 712 871 680 860 639 854 C 623 852 609 851 592 851 C 592 827 592 798 593 774 C 644 775 705 757 744 722 z M 783 761 C 790 761 796 766 800 771 C 822 801 817 833 790 855 C 785 855 783 855 781 851 C 781 843 791 835 796 826 C 805 810 800 794 789 780 C 786 777 781 771 780 767 C 780 764 780 763 783 761 z M 818 731 C 825 731 829 737 834 742 C 852 764 860 792 856 820 C 854 844 842 865 823 880 C 820 880 820 880 817 879 C 810 869 826 859 831 851 C 849 822 847 785 828 757 C 824 751 814 744 813 737 C 814 734 815 733 818 731 z'/%3E%3C/g%3E%3C/svg%3E"); } /* мегафон */
.ulk-nav-icon--academic_programs { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-55,-38.925) scale(0.062)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 930 897 C 943 899 941 907 941 918 C 940 924 944 937 937 937 C 933 937 928 937 924 937 C 924 924 920 906 930 897 z M 1080 697 C 1088 699 1126 716 1136 720 C 1170 734 1205 749 1239 763 C 1248 767 1250 772 1248 782 C 1243 790 1208 804 1197 809 L 1197 867 C 1197 882 1195 891 1184 902 C 1157 927 1112 933 1077 933 C 1043 932 998 925 973 900 C 963 890 962 882 962 868 L 962 808 C 955 804 947 800 939 797 L 939 884 C 955 893 956 901 955 918 C 955 925 957 943 954 949 C 948 953 914 954 910 949 C 908 945 909 926 909 921 C 909 902 907 894 925 884 C 925 854 926 821 924 792 C 924 789 895 776 926 762 C 948 753 970 744 992 734 C 1021 722 1050 708 1080 697 z M 976 814 C 1005 825 1035 842 1064 854 C 1070 856 1081 863 1087 861 C 1099 857 1110 851 1120 846 C 1141 836 1162 826 1183 816 C 1183 835 1183 855 1183 874 C 1180 909 1109 919 1081 918 C 1052 918 988 912 977 879 C 975 872 976 824 976 814 z M 1080 712 C 1130 734 1183 754 1233 776 C 1195 793 1158 814 1120 831 C 1109 836 1095 843 1084 848 L 989 804 C 977 799 953 789 943 783 L 930 776 C 935 774 941 772 946 769 C 959 763 977 756 990 751 C 1020 738 1050 725 1080 712 z'/%3E%3C/g%3E%3C/svg%3E"); } /* академическая шапочка */
.ulk-nav-icon--admission { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-74,-35.695) scale(0.057)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1493 702 C 1496 703 1496 703 1499 705 C 1503 711 1501 783 1501 796 C 1509 790 1524 769 1534 774 C 1536 776 1536 776 1536 780 C 1535 786 1500 821 1494 826 C 1493 825 1492 824 1490 823 C 1484 817 1451 787 1451 779 C 1451 778 1452 776 1453 775 C 1454 774 1456 773 1458 773 C 1467 774 1481 792 1487 799 C 1486 772 1485 735 1487 708 C 1487 705 1490 703 1493 702 z M 1325 665 C 1337 664 1360 665 1372 665 L 1462 665 L 1591 665 C 1614 665 1637 665 1660 665 C 1671 664 1682 679 1676 688 C 1666 702 1652 719 1641 732 L 1579 807 C 1567 822 1550 841 1539 856 L 1539 873 C 1539 890 1539 908 1539 926 C 1538 946 1543 969 1527 985 C 1519 994 1507 999 1495 999 C 1478 999 1456 987 1452 969 C 1449 954 1450 934 1450 918 L 1450 855 C 1418 817 1386 779 1355 740 C 1341 723 1326 706 1313 688 C 1307 679 1317 669 1325 665 z M 1326 679 C 1338 678 1360 679 1372 679 L 1454 679 L 1578 679 C 1607 679 1637 678 1666 679 C 1658 687 1647 701 1639 710 L 1598 761 C 1575 789 1547 821 1526 849 C 1523 857 1524 870 1524 879 C 1524 896 1524 913 1524 930 C 1524 949 1528 981 1501 985 C 1485 988 1467 977 1465 961 C 1464 950 1464 939 1464 928 L 1464 875 C 1464 868 1465 859 1463 852 C 1460 842 1366 731 1353 715 C 1348 708 1326 685 1326 679 z'/%3E%3C/g%3E%3C/svg%3E"); } /* воронка со стрелкой */
.ulk-nav-icon--edu_process { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='18' rx='2'/%3E%3Crect x='9' y='2.5' width='6' height='3.5' rx='1' fill='%23000'/%3E%3Cpath d='M8.5 13.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); } /* планшет с галочкой */
.ulk-nav-icon--menu_section { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.333,1.337) scale(0.0042)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M379 4580 c-135 -10 -247 -89 -307 -218 l-27 -57 -3 -1730 -2 -1730 22 -62 c40 -114 129 -201 243 -236 72 -22 1918 -17 1974 6 106 42 130 70 246 292 l107 205 1086 2 1087 3 60 29 c33 17 80 50 105 76 26 25 59 72 76 105 l29 60 0 1495 0 1495 -28 57 c-49 100 -147 181 -247 204 -39 8 -4299 12 -4421 4z m4379 -279 c65 -33 62 35 62 -1211 l0 -1138 -30 -26 c-57 -47 -4 -46 -2125 -46 -1959 0 -2021 -1 -2051 -19 -60 -37 -65 -63 -62 -335 5 -371 -70 -337 728 -334 l615 3 55 26 c114 53 160 114 215 280 l37 109 1269 0 c1106 0 1274 2 1306 15 19 8 37 15 39 15 14 0 2 -248 -12 -269 -37 -53 1 -51 -1181 -51 l-1098 0 -40 -23 c-37 -20 -48 -39 -145 -234 -58 -116 -116 -223 -129 -237 l-24 -26 -907 0 c-1012 0 -939 -5 -969 67 -24 58 -10 3376 14 3403 45 51 -67 48 2238 49 2112 1 2158 1 2195 -18z m-2843 -2718 c-33 -131 5 -124 -591 -121 l-509 3 -3 73 -3 72 557 0 556 0 -7 -27z'/%3E%3C/g%3E%3C/svg%3E"); } /* папка — раздел меню */
.ulk-nav-icon--menu_section_education { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.685,1.683) scale(0.0040)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2500 5107 c-14 -7 -59 -38 -100 -68 -616 -451 -1175 -604 -1587 -433 -135 56 -219 40 -263 -51 -30 -63 -31 -1547 -1 -1644 89 -285 713 -489 826 -271 13 25 15 108 15 534 0 472 1 505 18 510 9 2 57 12 105 21 241 44 559 156 795 280 l102 54 0 -638 0 -639 -87 -12 c-367 -51 -849 -257 -1258 -537 -108 -74 -105 -63 -105 -425 l0 -306 -93 -36 c-50 -19 -189 -71 -307 -115 -528 -195 -510 -186 -542 -258 -64 -144 -21 -171 617 -393 77 -26 158 -55 180 -63 22 -8 159 -58 305 -110 146 -52 391 -140 545 -195 154 -55 411 -148 572 -206 320 -116 323 -117 421 -82 37 13 155 56 262 94 107 39 431 154 720 257 289 103 687 245 885 316 198 72 394 142 435 156 166 59 211 215 85 293 l-35 22 0 582 0 583 -23 34 c-64 98 -206 96 -267 -3 -19 -32 -20 -52 -20 -557 0 -494 -1 -523 -17 -516 -38 15 -382 138 -455 163 l-77 26 -3 316 c-4 368 2 346 -119 436 -341 254 -883 480 -1271 529 l-48 6 0 635 c0 349 2 634 5 634 3 0 42 -20 88 -45 229 -123 520 -224 812 -279 l110 -21 5 -515 c5 -561 3 -538 66 -586 114 -88 506 9 667 165 130 125 128 112 125 1026 l-3 750 -23 37 c-51 82 -138 100 -240 49 -363 -183 -886 -50 -1555 396 -168 113 -214 130 -267 100z m142 -390 c614 -395 1169 -563 1551 -469 49 12 90 22 93 22 7 0 4 -1202 -3 -1244 -9 -59 -66 -110 -148 -135 -116 -36 -105 -65 -101 277 8 782 9 779 -232 808 -336 42 -759 201 -1114 421 -122 75 -135 74 -296 -23 -339 -206 -678 -333 -1067 -399 -252 -43 -235 3 -235 -617 0 -554 10 -502 -90 -472 -66 20 -111 49 -140 91 l-23 33 0 628 c0 373 3 627 9 627 5 0 50 -8 99 -17 296 -55 581 -8 965 159 171 74 514 265 619 343 14 11 27 20 28 20 1 0 40 -24 85 -53z m202 -2291 c310 -72 582 -187 894 -379 l112 -69 0 -194 c0 -107 -4 -194 -8 -194 -8 0 -204 74 -537 201 -71 28 -202 77 -290 110 -88 33 -224 85 -303 115 -171 66 -119 74 -504 -72 -166 -63 -436 -164 -598 -225 -162 -60 -305 -114 -317 -119 -30 -12 -29 -22 -23 196 l5 198 90 53 c353 212 733 356 1070 407 78 12 303 -4 409 -28z m-119 -740 c465 -179 1047 -396 1065 -396 8 0 11 -2 8 -5 -3 -3 -276 -6 -606 -6 -598 0 -600 0 -643 -22 -112 -57 -122 -206 -19 -270 l35 -22 888 -5 889 -5 -159 -57 c-87 -31 -365 -132 -618 -224 -253 -91 -582 -210 -732 -264 l-272 -98 -213 77 c-117 43 -316 115 -443 161 -1279 460 -1306 471 -1243 493 104 37 442 161 600 221 95 36 369 137 608 226 239 88 487 181 550 205 145 55 139 55 305 -9z'/%3E%3C/g%3E%3C/svg%3E"); } /* книга под академической шапочкой — раздел «Образование» */
.ulk-nav-icon--menu_section_science { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.103,1.500) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1311 5102 c-75 -37 -88 -79 -86 -277 3 -362 191 -575 522 -592 l102 -6 -83 -58 c-272 -190 -511 -497 -617 -791 l-13 -38 -109 0 c-225 0 -324 -192 -146 -282 53 -27 1855 -27 1909 0 77 38 105 142 57 213 -42 62 -50 63 -391 69 l-309 5 42 38 c547 494 1438 -66 1218 -765 -55 -173 -244 -412 -311 -394 -122 34 -255 27 -368 -19 -54 -22 -57 -22 -70 -5 -19 26 -308 380 -311 380 -1 0 -19 6 -41 14 -55 19 -110 4 -170 -47 l-49 -41 -16 24 c-174 261 -265 290 -440 139 l-71 -61 -27 34 c-122 147 -183 176 -273 130 -110 -55 -109 -162 3 -292 l65 -75 -79 -75 c-122 -116 -119 -140 44 -328 l89 -103 -42 -36 c-87 -74 -86 -136 3 -239 28 -34 99 -117 157 -185 1096 -1294 1050 -1248 1165 -1189 22 11 40 20 41 20 1 0 52 -61 114 -135 l113 -135 57 0 c44 0 64 5 86 22 168 129 623 512 632 532 33 73 23 96 -115 273 l-103 131 26 47 c42 74 31 111 -66 225 -94 110 -92 100 -32 129 1106 530 1203 2144 170 2818 l-76 50 92 6 c334 20 526 247 526 622 0 158 -29 222 -113 254 -55 21 -2665 15 -2706 -7z m2519 -332 c0 -90 -49 -167 -135 -213 l-40 -22 -930 0 c-1029 -1 -1049 0 -1109 42 -56 39 -96 119 -96 189 l0 54 1155 0 1155 0 0 -50z m-880 -650 c864 -177 1324 -1107 932 -1885 -117 -234 -412 -560 -412 -457 0 42 -37 143 -74 205 l-33 55 69 69 c561 551 296 1527 -468 1722 -447 114 -941 -70 -1144 -427 l-35 -61 -162 -1 c-90 0 -163 2 -163 5 0 51 164 297 267 400 235 235 465 344 838 399 68 10 285 -3 385 -24z m-1115 -1745 l37 -45 -49 -44 c-26 -24 -86 -76 -133 -115 l-85 -72 -38 42 c-46 52 -56 36 97 168 152 131 126 121 171 66z m480 -227 c39 -46 87 -106 108 -131 l39 -46 -28 -68 c-157 -389 208 -817 616 -722 l45 10 48 -53 47 -53 -37 -33 c-21 -18 -103 -88 -183 -155 -80 -67 -193 -163 -252 -214 l-107 -92 -208 247 c-114 135 -226 267 -249 292 -22 25 -95 110 -161 190 -67 80 -173 207 -237 282 l-116 137 262 223 c144 123 276 235 293 250 39 35 38 36 120 -64z m733 -227 c54 -28 99 -85 118 -150 67 -228 -212 -396 -393 -237 -210 185 24 515 275 387z m266 -1228 c45 -63 50 -52 -76 -155 -55 -46 -126 -104 -157 -130 -31 -26 -58 -48 -61 -48 -5 0 -84 106 -87 118 -1 4 50 50 114 102 64 52 139 114 166 138 28 23 54 39 57 35 4 -5 23 -32 44 -60z'/%3E%3C/g%3E%3C/svg%3E"); } /* микроскоп — раздел «Наука» */
.ulk-nav-icon--menu_section_management { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.791,1.861) scale(0.0040)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M108 5093 c-103 -16 -143 -171 -62 -242 34 -30 37 -31 139 -31 l104 0 3 -227 c4 -316 16 -333 228 -333 l112 0 -3 -32 c-4 -60 1 -75 39 -124 l37 -49 0 -753 0 -753 -30 -19 c-54 -33 -65 -66 -65 -188 l0 -110 -109 -4 c-193 -6 -204 -24 -211 -326 l-5 -227 -102 -5 c-210 -10 -256 -189 -73 -283 57 -29 355 -198 665 -377 55 -32 206 -117 335 -190 129 -73 276 -157 325 -185 977 -571 1119 -642 1195 -601 88 47 860 485 1130 641 179 103 397 228 485 277 88 50 295 167 460 261 165 93 319 180 341 193 152 85 72 264 -118 264 l-87 0 -3 229 c-4 305 -15 323 -208 329 l-108 4 -4 118 c-3 126 -21 167 -80 186 -26 8 -28 1523 -2 1545 28 23 54 87 54 133 l0 44 118 4 c205 6 209 12 215 323 l4 230 104 5 c193 9 265 162 120 252 l-36 23 -2440 1 c-1342 1 -2452 -1 -2467 -3z m4422 -408 l0 -135 -1980 0 -1980 0 0 128 c0 71 3 132 7 135 3 4 894 7 1980 7 l1973 0 0 -135z m-3210 -434 c0 -5 -16 -32 -35 -61 l-35 -52 0 -882 c0 -991 -5 -929 74 -957 30 -11 36 -18 36 -41 l0 -28 -240 0 -240 0 0 28 c0 20 8 31 32 42 78 37 73 -34 76 933 3 946 4 933 -39 981 -16 19 -29 36 -29 40 0 3 90 6 200 6 112 0 200 -4 200 -9z m762 -51 c3 -46 11 -70 35 -103 l30 -43 4 -265 c2 -145 2 -485 1 -756 l-2 -491 -34 -20 c-60 -35 -71 -63 -74 -187 l-4 -110 -204 3 -204 3 0 107 c0 122 -9 146 -63 181 l-37 24 0 759 0 760 30 29 c34 35 53 93 44 138 l-6 31 240 0 240 0 4 -60z m688 47 c0 -8 -12 -24 -26 -38 -58 -54 -56 -6 -58 -943 -3 -986 -4 -976 108 -976 11 0 16 -9 16 -30 l0 -30 -245 0 -245 0 0 28 c1 22 9 31 42 47 83 41 78 -21 78 939 0 910 0 903 -51 953 -61 60 -52 63 176 63 164 0 205 -3 205 -13z m750 -24 c1 -45 22 -107 44 -132 14 -16 16 -96 16 -782 l0 -764 -34 -22 c-52 -33 -66 -75 -66 -192 l0 -101 -199 0 -199 0 -4 113 c-3 125 -15 152 -75 181 l-33 16 0 760 c0 673 2 761 15 766 30 12 65 88 65 142 l0 52 235 0 235 0 0 -37z m690 31 c0 -3 -12 -20 -27 -38 -55 -66 -53 -26 -53 -966 0 -945 -2 -907 54 -944 14 -9 32 -16 41 -16 10 0 15 -10 15 -30 l0 -30 -240 0 -240 0 0 30 c0 23 5 30 19 30 100 0 101 11 101 960 0 876 -2 899 -46 957 -40 53 -40 53 176 53 110 0 200 -3 200 -6z m340 -2454 l0 -130 -1985 0 -1985 0 0 130 0 130 1985 0 1985 0 0 -130z m-165 -434 c-11 -7 -56 -34 -100 -58 -44 -24 -143 -81 -220 -125 -199 -115 -1182 -674 -1358 -772 -93 -53 -153 -81 -164 -77 -9 4 -120 66 -247 138 -734 416 -1514 861 -1558 888 l-33 20 1850 0 c1572 0 1846 -2 1830 -14z'/%3E%3C/g%3E%3C/svg%3E"); } /* здание с колоннами — раздел «Управление» */
.ulk-nav-icon--menu_section_finance { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.549,1.478) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4210 3934 c-467 -42 -675 -182 -671 -451 l1 -123 -377 -1 c-615 -2 -2505 -7 -2811 -8 l-284 -1 -34 -34 -34 -34 0 -1012 0 -1012 33 -33 c48 -48 -45 -46 1984 -43 l1863 3 32 33 33 32 3 454 3 453 70 -14 c397 -75 870 8 1023 178 78 87 76 69 76 713 l0 571 -24 51 c-83 179 -508 312 -886 278z m420 -242 c183 -49 280 -112 280 -180 0 -38 4 -38 -71 -7 -290 123 -742 110 -1081 -30 -21 -8 -15 55 8 92 77 124 594 198 864 125z m-120 -332 c172 -21 335 -80 379 -136 27 -35 30 -100 4 -88 -265 118 -755 131 -1046 29 -40 -14 -79 -28 -88 -31 -19 -6 -17 32 4 74 53 110 441 189 747 152z m-3985 -252 c-28 -133 -147 -243 -272 -251 l-38 -2 3 139 c1 76 2 140 2 142 0 2 70 4 156 4 l156 0 -7 -32z m2704 -37 c26 -143 123 -287 249 -368 28 -18 53 -39 54 -46 0 -7 2 -56 3 -110 3 -145 60 -246 173 -306 22 -11 22 -15 22 -186 l0 -175 -58 0 c-217 0 -442 -225 -442 -442 l0 -38 -1233 0 -1233 0 -12 63 c-41 223 -224 394 -461 431 l-75 12 0 364 -1 365 55 6 c242 26 439 213 474 452 l7 47 1233 0 1233 0 12 -69z m306 -22 c3 -50 4 -93 1 -96 -17 -18 -79 83 -91 150 l-7 37 45 0 44 0 8 -91z m1031 -44 c228 -39 344 -104 344 -193 l0 -30 -62 25 c-275 111 -796 101 -1092 -22 -26 -11 -17 66 11 97 97 108 513 172 799 123z m-63 -346 c251 -22 427 -94 401 -166 -68 -194 -928 -216 -1131 -30 -129 117 304 234 730 196z m-4148 -1008 c73 -34 146 -111 169 -178 26 -77 35 -73 -150 -73 l-167 0 7 46 c3 26 6 89 6 140 l0 94 38 0 c20 0 64 -13 97 -29z m3375 -116 l0 -135 -140 0 -140 0 0 33 c1 105 138 234 253 236 l27 1 0 -135z M1849 2767 c-385 -131 -496 -613 -205 -885 260 -242 668 -167 820 150 198 413 -192 879 -615 735z m251 -216 c205 -78 268 -337 121 -494 -188 -203 -527 -69 -525 208 1 214 209 360 404 286z M815 2479 c-155 -35 -206 -239 -88 -351 57 -55 157 -65 234 -25 208 110 85 428 -146 376z M3045 2464 c-192 -99 -130 -383 83 -384 216 -1 283 291 87 381 -49 23 -130 24 -170 3z'/%3E%3C/g%3E%3C/svg%3E"); } /* купюра и монеты — раздел «Финансы» */
.ulk-nav-icon--menu_section_people { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.959,1.951) scale(0.0039)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1588 4235 c-60 -33 -68 -64 -68 -264 l0 -181 -710 0 c-927 0 -810 95 -810 -655 0 -775 -17 -725 354 -1005 212 -159 214 -160 265 -160 l52 0 -44 -62 c-329 -463 -103 -1045 403 -1041 503 4 744 621 405 1038 l-44 54 43 6 c128 20 532 338 575 453 27 72 22 69 69 37 20 -14 49 -25 64 -25 33 0 34 -4 9 -38 -323 -458 -88 -1038 419 -1035 493 2 706 537 404 1011 -40 62 -40 62 -11 62 12 0 42 12 66 25 24 14 44 24 45 23 48 -124 67 -144 306 -328 185 -143 265 -190 320 -190 38 0 39 2 -18 -72 -332 -440 -99 -1024 408 -1021 480 2 722 544 444 994 -61 99 -61 95 -17 102 43 7 67 24 303 206 308 237 300 212 300 969 0 741 114 649 -813 658 l-707 7 0 175 c0 197 -8 225 -74 256 -49 23 -1895 24 -1938 1z m272 -576 c0 -307 2 -354 16 -379 41 -68 130 -78 188 -21 l31 31 3 360 3 360 459 0 460 0 0 -332 c0 -407 7 -439 102 -454 126 -21 138 16 138 436 l0 350 50 0 50 0 0 -473 0 -474 -30 -59 c-20 -41 -44 -71 -77 -95 -26 -20 -112 -84 -191 -143 l-144 -106 -357 0 -358 0 -54 38 c-416 292 -389 234 -389 847 l0 465 50 0 50 0 0 -351z m-1520 -467 l5 -364 33 -29 c37 -33 94 -39 142 -14 59 30 60 40 60 425 l0 350 470 0 470 0 0 -273 c0 -385 24 -447 227 -593 109 -79 97 -167 -34 -260 -37 -26 -123 -90 -190 -141 l-121 -93 -371 0 -372 0 -132 101 c-73 56 -156 120 -186 143 -94 71 -90 50 -96 610 -6 538 -9 508 48 504 l42 -3 5 -363z m4202 -1 l3 -359 24 -26 c55 -58 138 -54 186 8 l25 33 0 352 0 352 48 -3 47 -3 0 -480 c0 -602 20 -533 -198 -697 -89 -67 -175 -132 -190 -145 l-29 -23 -372 0 -373 0 -79 62 c-330 260 -317 246 -338 344 -7 31 -4 34 73 88 97 69 147 124 192 213 l34 68 3 288 3 287 469 0 469 0 3 -359z m-1875 -860 c118 -60 213 -241 213 -407 1 -420 -616 -437 -638 -17 -15 289 223 527 425 424z m-1532 -485 c207 -96 288 -459 139 -625 -201 -224 -569 -85 -568 214 1 302 217 510 429 411z m3051 5 c134 -61 227 -228 228 -411 3 -413 -621 -449 -642 -36 -15 300 207 541 414 447z'/%3E%3C/g%3E%3C/svg%3E"); } /* три фигуры — раздел «Люди» */
.ulk-nav-icon--menu_section_documents { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.833,2.190) scale(0.0040)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1535 5102 c-170 -59 -244 -175 -253 -393 l-5 -127 -106 -4 c-171 -6 -282 -72 -348 -206 l-28 -57 0 -1760 0 -1760 22 -48 c70 -149 199 -217 413 -217 l100 0 0 -47 c1 -593 801 -657 818 -66 l4 113 361 1 c959 1 1111 3 1138 19 37 22 646 645 664 680 13 26 15 232 13 1827 l-3 1798 -22 48 c-31 66 -115 152 -182 184 l-56 28 -1240 2 c-1158 2 -1243 1 -1290 -15z m2487 -291 l33 -29 3 -1714 2 -1714 -166 -172 c-197 -203 -184 -198 -184 -71 l0 102 40 43 40 44 -2 1512 -3 1513 -26 56 c-34 72 -90 128 -165 165 l-59 29 -987 3 -988 2 0 110 c0 170 -162 150 1241 150 l1189 0 32 -29z m-548 -522 l26 -20 0 -1389 0 -1388 -277 -1 c-403 -3 -377 24 -381 -392 l-3 -299 -342 2 -342 3 -2 309 c-2 200 -6 321 -14 345 -93 293 -466 381 -686 162 -108 -109 -123 -174 -123 -537 l0 -274 -104 0 c-96 0 -107 2 -133 24 l-28 24 -3 1684 c-2 1817 -5 1729 52 1754 60 26 2326 20 2360 -7z m-1667 -2828 c80 -37 78 -21 79 -571 0 -441 -1 -489 -17 -527 -32 -77 -124 -106 -196 -62 -65 40 -63 26 -63 577 l0 499 23 34 c43 64 103 82 174 50z m1428 -347 c-133 -127 -125 -127 -125 1 l0 105 118 -1 117 0 -110 -105z m215 -244 l0 -70 -72 0 -72 0 69 70 c38 39 71 70 72 70 2 0 3 -31 3 -70z M1393 3800 c-90 -55 -90 -167 1 -234 27 -21 34 -21 889 -21 l862 0 33 23 c82 59 81 182 -2 233 -49 30 -1734 29 -1783 -1z M1384 3291 c-73 -44 -79 -153 -14 -216 l31 -30 867 -3 c826 -2 869 -1 901 16 88 47 94 173 12 231 -44 32 -1746 33 -1797 2z M1404 2770 c-93 -37 -108 -181 -25 -237 l34 -23 866 0 c841 0 867 1 898 20 88 53 80 197 -13 236 -38 16 -1721 20 -1760 4z M1383 2230 c-91 -55 -80 -194 20 -235 61 -25 1707 -23 1756 3 99 50 105 183 10 234 -54 29 -1738 28 -1786 -2z'/%3E%3C/g%3E%3C/svg%3E"); } /* стопка листов со скрепкой — раздел «Документы» */
.ulk-nav-icon--menu_section_analytics { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.694,1.476) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4198 5100 c-15 -4 -41 -18 -58 -30 -65 -46 -60 88 -60 -1775 l0 -1695 34 -38 34 -37 413 -3 c444 -3 445 -3 495 49 l29 30 3 1692 c2 1806 5 1721 -49 1773 l-30 29 -392 -1 c-251 -1 -336 1 -237 5 l155 7 -155 1 c-85 1 -167 -2 -182 -7z m602 -1800 l0 -1480 -210 0 -210 0 0 1480 0 1480 210 0 210 0 0 -1480z M95 5077 c-68 -34 -65 -5 -65 -738 0 -857 -66 -761 517 -757 549 4 487 -89 491 741 3 703 4 700 -54 743 l-35 27 -410 1 c-373 1 -413 -1 -444 -17z m645 -747 l0 -450 -207 2 -208 3 -3 448 -2 447 210 0 210 0 0 -450z M1442 5075 c-72 -47 -67 31 -70 -1068 -3 -1271 -73 -1117 506 -1117 451 0 452 0 494 69 l23 36 0 1002 c0 1120 6 1021 -67 1076 -41 31 -840 32 -886 2z m653 -1092 l1 -793 -208 0 -208 0 0 795 0 795 208 -2 207 -3 0 -792z M2812 5089 c-29 -11 -72 -64 -82 -100 -6 -21 -10 -460 -10 -1177 0 -1239 -3 -1179 55 -1232 l27 -25 421 -3 c462 -2 454 -3 494 57 l23 34 0 1175 0 1175 -21 34 c-42 68 -38 68 -487 68 -222 0 -411 -3 -420 -6z m628 -1279 l0 -970 -205 0 -205 0 0 970 0 970 205 0 205 0 0 -970z M285 2575 c-75 -27 -119 -109 -97 -183 14 -46 1337 -1388 1396 -1416 40 -19 90 -20 129 -3 16 7 231 215 478 462 l450 450 745 -748 c411 -411 745 -750 743 -751 -2 -2 -69 7 -149 20 -244 40 -306 19 -318 -106 -12 -132 21 -150 390 -205 161 -24 336 -51 388 -59 179 -30 234 -16 271 69 l20 44 -45 334 c-65 479 -67 488 -88 530 -52 105 -207 103 -260 -3 -23 -45 -22 -86 2 -240 11 -69 20 -136 20 -150 0 -20 -158 133 -812 786 -869 868 -833 834 -905 833 -72 -1 -50 18 -534 -462 -491 -488 -457 -460 -499 -405 -48 62 -1189 1193 -1215 1203 -42 18 -59 18 -110 0z'/%3E%3C/g%3E%3C/svg%3E"); } /* столбцы с растущей стрелкой — раздел «Аналитика» */
.ulk-nav-icon--menu_section_communication { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(2.959,2.626) scale(0.0038)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4115 4378 c-31 -11 -114 -72 -398 -294 l-169 -131 -136 -6 c-388 -17 -802 -172 -1053 -396 l-56 -50 -99 24 c-128 31 -293 55 -381 55 -105 0 -118 7 -392 228 -333 268 -348 275 -432 219 -65 -43 -69 -61 -69 -352 l0 -260 -94 -48 c-1223 -622 -1066 -2096 270 -2543 758 -254 1666 3 2090 590 l21 29 84 -14 c831 -138 1705 399 1810 1111 71 485 -218 977 -723 1231 l-78 39 0 238 c0 217 -2 240 -20 269 -36 60 -110 85 -175 61z m-70 -738 c12 -19 36 -43 55 -52 19 -10 77 -38 128 -63 692 -336 802 -1079 229 -1526 -273 -212 -679 -335 -995 -301 -113 12 -107 6 -82 83 192 597 -90 1232 -690 1553 l-83 44 49 36 c192 142 493 232 804 243 l175 6 190 143 190 143 5 -137 c4 -114 8 -143 25 -172z m-2665 -165 c157 -130 205 -166 225 -169 11 -3 99 -9 195 -15 1657 -103 1841 -1955 224 -2252 -1562 -287 -2399 1498 -989 2107 175 75 183 88 186 266 0 69 3 137 6 152 l5 27 37 -28 c20 -14 70 -54 111 -88z M3380 3085 c27 -36 73 -104 101 -150 l52 -85 341 0 c416 0 456 14 456 156 0 137 -29 144 -558 144 l-443 0 51 -65z M3629 2603 c-1 -5 -1 -12 0 -17 1 -5 8 -41 16 -80 8 -39 17 -97 20 -129 l7 -58 289 3 289 3 36 36 c74 74 52 204 -40 239 -31 12 -615 14 -617 3z M1033 2541 c-97 -45 -100 -206 -4 -256 26 -13 115 -15 704 -15 l674 0 33 23 c95 64 86 211 -16 253 -59 25 -1335 20 -1391 -5z M1031 2012 c-105 -53 -103 -205 3 -256 52 -24 1340 -24 1392 0 101 48 109 189 15 251 l-34 23 -671 0 c-619 0 -674 -1 -705 -18z'/%3E%3C/g%3E%3C/svg%3E"); } /* два облачка реплик — раздел «Коммуникации» */
.ulk-nav-icon--menu_section_service { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(2.049,1.992) scale(0.0039)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M755 5110 c-530 -84 -883 -682 -708 -1200 154 -456 605 -723 1036 -615 l68 18 412 -418 c227 -229 414 -421 416 -427 2 -5 -210 -223 -470 -484 l-474 -475 -210 -103 -210 -103 -165 -251 c-91 -139 -184 -281 -206 -316 l-42 -63 227 -232 226 -232 45 30 c77 50 399 253 493 311 l89 55 121 217 122 217 469 476 470 476 120 -120 120 -120 -32 -98 c-289 -887 454 -1778 1368 -1638 186 28 256 62 286 140 31 82 28 86 -327 444 -428 432 -415 378 -151 644 292 294 234 305 675 -132 335 -332 339 -336 404 -328 207 23 257 573 88 960 -267 607 -980 920 -1575 690 l-73 -28 -156 158 c-179 182 -168 160 -113 222 l43 49 60 -60 61 -59 801 806 c837 841 852 858 882 974 90 348 -214 678 -566 615 -168 -29 -138 -4 -1025 -889 l-796 -793 51 -52 c62 -63 62 -61 3 -119 l-49 -48 -383 380 -384 380 14 68 c128 619 -417 1173 -1055 1073z m340 -285 c354 -95 554 -460 441 -804 -40 -122 -108 -42 857 -1009 1011 -1012 915 -933 1047 -867 628 316 1389 -147 1417 -862 7 -166 32 -177 -262 118 -313 315 -371 347 -555 305 -116 -25 -533 -395 -604 -535 -105 -206 -60 -309 281 -652 l255 -256 -54 -7 c-697 -87 -1263 738 -963 1403 70 158 161 44 -837 1046 -955 959 -902 912 -990 879 -356 -132 -710 41 -825 404 -158 499 289 972 792 837z m3458 12 c119 -51 179 -201 122 -309 -11 -20 -335 -352 -719 -738 l-700 -701 -165 166 -166 166 693 690 c798 795 788 787 935 726z m-1648 -1767 l60 -60 -50 -50 -50 -50 -64 64 -63 64 48 46 c59 56 48 58 119 -14z m-635 -893 c0 -5 -215 -227 -477 -493 l-478 -485 -120 -212 -120 -212 -175 -108 c-96 -59 -181 -110 -188 -114 -9 -4 -44 24 -95 75 l-80 80 41 69 c22 37 78 126 124 197 l83 128 203 97 204 97 490 493 491 492 48 -47 c27 -27 49 -52 49 -57z M805 4636 c-242 -74 -229 -61 -320 -329 -83 -242 -77 -280 56 -381 268 -203 331 -241 392 -241 l59 0 198 201 c305 309 300 278 93 553 -219 289 -203 283 -478 197z m249 -326 c42 -56 76 -104 76 -108 0 -16 -204 -223 -215 -218 -12 4 -181 121 -199 137 -8 7 45 205 61 228 2 4 182 59 195 60 4 1 41 -44 82 -99z M4245 4586 c-36 -16 -1085 -1074 -1097 -1107 -35 -94 82 -189 184 -150 45 17 1072 1057 1086 1100 34 102 -75 200 -173 157z'/%3E%3C/g%3E%3C/svg%3E"); } /* ключ и отвёртка — раздел «Сервис» */
.ulk-nav-icon--students { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-104,-38.397) scale(0.061)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1859 833 C 1892 833 1924 846 1948 869 C 1976 896 1982 927 1981 964 C 1981 970 1982 976 1978 980 C 1969 983 1876 981 1861 981 C 1848 981 1745 982 1742 980 C 1739 978 1739 974 1739 971 C 1736 935 1743 901 1767 874 C 1791 847 1824 835 1859 833 z M 1858 699 C 1890 698 1917 723 1918 755 C 1919 786 1894 813 1863 814 C 1831 816 1804 791 1803 759 C 1801 727 1826 700 1858 699 z M 1935 657 C 2010 649 2053 753 1969 791 C 2009 803 2041 825 2058 864 C 2070 892 2068 918 2068 947 C 2060 960 2051 960 2037 960 C 2023 960 2009 960 1995 960 C 1995 991 1994 995 1960 995 C 1952 995 1943 995 1936 995 L 1859 995 C 1841 995 1744 998 1734 992 C 1729 990 1727 985 1725 981 C 1724 974 1724 966 1724 960 C 1725 932 1728 908 1742 885 C 1762 851 1794 831 1831 822 C 1816 814 1806 806 1797 792 C 1788 777 1785 758 1789 741 C 1793 723 1805 707 1821 697 C 1841 685 1861 684 1883 690 C 1894 671 1914 660 1935 657 z M 1935 671 C 1947 670 1958 672 1968 677 C 1982 684 1992 696 1998 710 C 2002 723 2001 738 1995 751 C 1987 766 1975 774 1959 779 C 1947 783 1941 782 1929 781 C 1941 747 1928 713 1896 696 C 1908 681 1917 675 1935 671 z M 1927 802 C 2006 799 2060 855 2054 932 C 2053 937 2054 941 2051 944 C 2045 946 2026 945 2018 945 L 1996 945 C 1991 879 1951 838 1888 822 C 1900 817 1906 813 1915 804 L 1927 802 z'/%3E%3C/g%3E%3C/svg%3E"); } /* две фигуры */
.ulk-nav-icon--competitions { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-133,-40.053) scale(0.063)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 2161 705 C 2177 705 2192 705 2208 705 C 2208 744 2211 762 2222 798 C 2210 794 2194 784 2186 775 C 2164 752 2161 734 2161 705 z M 2240 946 L 2379 946 L 2379 983 C 2365 984 2347 983 2333 983 L 2240 983 L 2240 946 z M 2302 914 C 2322 913 2333 916 2345 932 L 2315 932 C 2300 932 2288 931 2273 932 C 2283 921 2287 917 2302 914 z M 2298 862 C 2309 863 2310 863 2321 862 C 2319 871 2317 881 2315 890 C 2314 893 2314 899 2311 900 C 2310 900 2309 900 2309 900 C 2307 899 2300 866 2298 862 z M 2213 663 C 2220 663 2250 663 2256 663 C 2275 665 2402 660 2410 666 C 2414 672 2413 683 2413 691 C 2427 691 2442 691 2456 691 C 2462 691 2473 691 2474 699 C 2479 756 2444 799 2390 814 L 2390 815 C 2378 836 2359 852 2336 859 C 2334 871 2329 888 2327 902 C 2345 908 2352 915 2361 932 C 2369 932 2394 929 2394 941 C 2394 957 2394 973 2394 988 C 2394 990 2393 992 2393 994 C 2388 999 2338 998 2327 997 C 2294 997 2260 1000 2228 995 C 2226 995 2225 986 2225 984 C 2227 969 2221 947 2228 934 C 2232 930 2250 931 2257 931 C 2266 914 2276 907 2294 901 C 2290 889 2286 872 2283 858 C 2262 850 2243 835 2231 816 C 2180 803 2145 762 2147 709 C 2146 706 2147 695 2150 694 C 2163 688 2195 691 2208 691 C 2208 681 2205 669 2213 663 z M 2222 678 L 2399 678 C 2399 728 2400 777 2369 819 C 2339 856 2289 859 2256 824 C 2221 788 2222 725 2222 678 z M 2413 705 L 2460 706 C 2460 708 2460 710 2460 713 C 2459 741 2449 760 2429 779 C 2421 786 2408 792 2398 797 C 2410 767 2412 737 2413 705 z'/%3E%3C/g%3E%3C/svg%3E"); } /* кубок */
.ulk-nav-icon--applications { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 8.5h11.5v4H9.6l-.8 2.2h-2L5.2 21H1.8l2.1-7.4H2zM5 10.3h5.5v1H5zM10.8 12.5h1.6v1.7h-1.6zM15 4.2h7v4.2h-7zm1.2 1.2v1.8h4.6V5.4zm2.3.2a.7.7 0 1 0 0 1.4.7.7 0 1 0 0-1.4zM14.2 9.6h7v4.2h-7zm1.2 1.2v1.8h4.6v-1.8zm2.3.2a.7.7 0 1 0 0 1.4.7.7 0 1 0 0-1.4z'/%3E%3C/svg%3E"); } /* пистолет, стреляющий купюрами */
.ulk-nav-icon--projects { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-35.965,-44.435) scale(0.068)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 606 862 C 619 862 635 865 642 877 L 640 880 L 642 878 L 641 879 C 632 881 624 871 610 871 C 583 871 562 891 562 919 C 562 932 567 944 576 953 C 605 982 657 968 656 922 C 655 917 654 912 653 908 L 659 902 C 675 937 655 972 617 976 C 601 977 586 972 574 962 C 562 953 555 939 554 924 C 551 890 574 865 606 862 z M 605 691 C 610 691 614 691 619 692 C 633 693 646 701 655 712 C 664 724 666 734 664 750 C 664 755 662 761 658 764 L 656 763 C 655 762 654 761 653 759 C 656 748 658 739 654 728 C 651 718 643 709 634 705 C 592 685 549 723 566 770 C 567 771 567 771 568 772 C 579 791 599 801 622 796 C 631 793 633 786 642 789 L 643 791 C 632 812 593 807 577 795 C 565 786 557 773 554 758 C 549 724 572 696 605 691 z M 631 921 C 629 930 621 936 612 936 C 603 936 595 929 593 920 C 592 911 597 902 605 899 C 614 896 623 899 628 907 C 629 907 630 907 631 907 C 632 910 632 911 633 914 L 633 915 C 632 918 632 919 631 921 z M 628 760 C 618 770 601 771 594 757 C 592 752 592 747 594 742 C 596 737 600 733 605 732 C 610 730 616 730 621 732 C 629 736 629 740 632 747 C 633 748 633 749 634 749 C 633 752 632 755 632 758 L 629 758 C 629 759 629 759 628 760 z M 628 907 C 629 907 630 907 631 907 C 632 910 632 911 633 914 L 633 915 C 632 918 632 919 631 921 C 632 916 631 911 628 907 z M 629 758 L 632 747 C 633 748 633 749 634 749 C 633 752 632 755 632 758 L 629 758 z M 628 760 C 637 768 648 778 656 787 C 657 818 657 849 656 880 C 648 887 638 898 629 904 L 627 902 C 625 895 643 882 648 877 C 649 850 648 818 648 790 C 642 783 628 772 626 765 C 627 763 627 762 628 760 z M 634 749 C 643 757 655 768 664 774 L 754 774 C 765 766 774 757 784 750 C 785 753 785 756 786 759 C 776 765 767 775 757 782 C 725 782 693 782 660 782 C 651 775 641 765 632 758 C 632 755 633 752 634 749 z M 660 884 C 692 882 727 883 758 883 C 762 887 782 906 787 907 L 789 908 C 787 911 786 914 786 917 L 783 917 C 775 908 763 899 754 891 C 724 891 694 891 664 891 C 659 896 637 915 633 915 L 633 914 C 632 911 632 910 631 907 C 640 902 652 891 660 884 z M 788 761 C 791 763 792 764 793 766 C 786 773 778 782 770 790 L 770 877 C 776 882 791 894 791 901 C 789 904 790 904 788 905 C 783 902 767 885 762 880 L 762 786 C 771 778 780 769 788 761 z M 784 750 C 785 749 785 749 786 749 C 787 753 787 756 788 759 L 786 759 C 785 756 785 753 784 750 z M 787 907 L 789 908 C 787 911 786 914 786 917 L 783 917 C 785 913 785 911 787 907 z M 789 760 C 791 762 794 764 796 766 L 793 766 C 792 764 791 763 788 761 L 789 760 z M 786 749 C 788 743 790 735 798 733 C 832 722 834 779 796 766 L 793 766 C 792 764 791 763 788 761 L 789 760 L 788 759 L 786 759 C 785 756 785 753 784 750 C 785 749 785 749 786 749 z M 789 908 C 793 900 803 896 812 900 C 821 903 826 913 823 922 C 821 931 812 937 803 936 C 793 935 786 927 786 917 C 786 914 787 911 789 908 z M 801 863 C 804 863 809 862 813 863 C 827 864 841 871 850 882 C 860 894 865 910 863 925 C 862 940 854 954 842 963 C 830 973 814 977 798 976 C 784 974 772 967 763 956 C 755 946 752 932 754 920 C 755 914 755 907 760 904 C 763 905 762 905 765 908 C 759 930 762 950 783 962 C 795 968 808 969 820 965 C 833 961 844 952 850 940 C 856 929 857 916 853 904 C 849 892 840 881 828 875 C 820 872 807 869 799 872 C 793 874 788 878 782 880 C 779 879 777 878 777 874 C 782 868 794 865 801 863 z M 800 691 C 810 691 819 692 828 695 C 842 701 853 712 859 727 C 865 741 865 758 859 772 C 853 785 843 796 829 801 C 816 806 801 807 788 801 C 785 799 777 795 775 792 C 777 789 777 789 780 787 C 781 787 782 787 783 788 C 795 798 813 799 827 793 C 834 789 838 786 844 781 C 859 760 860 736 842 716 C 833 706 820 700 807 699 C 795 699 784 703 775 711 C 760 725 762 740 764 758 C 764 761 762 762 760 763 L 759 763 C 757 760 755 753 754 750 C 750 718 769 696 800 691 z'/%3E%3C/g%3E%3C/svg%3E"); } /* квадрокоптер */
.ulk-nav-icon--suggestions { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-66,-47.299) scale(0.071)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1062 803 C 1065 801 1069 803 1070 806 C 1071 809 1070 812 1067 813 C 1065 814 1063 814 1061 813 C 1059 811 1058 809 1059 807 C 1059 805 1060 803 1062 803 z M 1086 803 C 1088 802 1090 802 1091 804 C 1093 805 1094 807 1093 809 C 1093 811 1091 812 1089 813 C 1087 814 1084 812 1083 810 C 1082 807 1083 804 1086 803 z M 1090 693 C 1110 691 1130 697 1147 708 C 1167 720 1181 740 1186 763 C 1191 791 1183 819 1164 839 C 1144 860 1131 870 1138 901 L 1120 901 C 1120 876 1120 847 1133 823 C 1136 821 1142 819 1144 816 C 1148 810 1148 801 1142 797 C 1137 793 1122 799 1121 799 C 1113 796 1114 794 1104 796 L 1100 799 C 1091 800 1094 788 1077 800 C 1070 799 1069 791 1059 795 C 1044 803 1050 817 1064 822 C 1073 846 1077 875 1077 901 L 1060 901 C 1064 861 1052 864 1029 835 C 981 778 1020 702 1090 693 z M 1092 685 C 1112 684 1132 689 1149 700 C 1171 713 1187 734 1193 759 C 1201 791 1191 824 1168 847 C 1159 856 1152 862 1146 873 C 1142 882 1147 906 1146 908 C 1139 910 1111 909 1102 909 C 1093 909 1055 910 1049 907 C 1047 902 1058 886 1050 873 C 1030 842 1005 833 1001 791 C 998 766 1005 741 1021 721 C 1040 699 1063 688 1092 685 z M 1048 928 C 1058 927 1143 927 1147 929 C 1149 932 1148 931 1148 935 C 1137 936 1056 937 1049 935 C 1047 932 1048 932 1048 928 z M 1049 941 C 1061 941 1139 939 1147 943 C 1149 946 1148 944 1148 948 C 1144 950 1141 949 1136 949 C 1134 953 1131 956 1128 960 C 1123 967 1118 973 1112 980 L 1083 980 C 1077 972 1067 958 1061 949 C 1057 949 1052 950 1049 948 C 1048 944 1048 945 1049 941 z M 1050 914 L 1115 914 C 1124 914 1135 914 1145 914 C 1147 915 1147 916 1148 918 C 1148 921 1148 919 1146 922 L 1084 923 C 1074 923 1064 923 1054 923 C 1050 922 1050 922 1048 920 C 1048 916 1048 918 1050 914 z M 1076 815 L 1077 816 C 1095 830 1091 808 1105 820 C 1111 824 1118 818 1123 816 C 1125 818 1125 820 1124 822 C 1117 841 1113 858 1112 879 L 1112 901 L 1085 901 C 1085 872 1081 848 1072 821 C 1072 819 1074 817 1076 815 z M 1071 949 L 1126 949 C 1123 952 1119 959 1117 962 C 1114 965 1111 968 1109 972 L 1088 972 C 1082 964 1077 958 1071 949 z M 1109 803 C 1112 802 1115 804 1115 807 C 1116 810 1114 812 1111 813 C 1110 814 1108 813 1106 811 C 1105 810 1104 808 1105 806 C 1106 804 1108 803 1109 803 z M 1131 802 C 1134 801 1138 803 1139 806 C 1140 809 1138 813 1135 814 C 1132 815 1128 813 1127 810 C 1126 807 1128 803 1131 802 z'/%3E%3C/g%3E%3C/svg%3E"); } /* лампочка */
.ulk-nav-icon--staff { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-102,-51) scale(0.076)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1497 736 C 1535 731 1568 758 1573 795 C 1577 833 1551 867 1514 871 C 1476 876 1442 849 1437 812 C 1433 774 1460 740 1497 736 z M 1496 749 C 1526 744 1555 765 1559 795 C 1564 825 1544 853 1514 858 C 1484 863 1455 842 1451 812 C 1446 782 1466 754 1496 749 z M 1496 903 C 1512 902 1530 902 1546 903 C 1549 903 1550 905 1551 907 C 1551 911 1552 909 1550 913 C 1543 917 1527 915 1518 915 C 1501 915 1481 916 1464 915 C 1462 914 1460 913 1459 911 C 1459 907 1458 909 1460 905 C 1468 901 1486 902 1496 903 z M 1420 693 L 1527 693 C 1545 693 1565 692 1583 693 C 1588 694 1594 695 1599 697 C 1603 699 1607 705 1609 710 C 1612 720 1610 815 1610 833 L 1610 905 C 1610 918 1610 932 1610 946 C 1609 959 1602 966 1590 970 C 1535 969 1480 970 1425 969 C 1414 969 1403 964 1401 951 C 1399 942 1400 931 1400 921 L 1400 863 L 1400 766 C 1400 749 1400 732 1400 715 C 1401 703 1409 695 1420 693 z M 1420 706 C 1469 705 1518 707 1567 706 C 1574 706 1591 706 1595 711 C 1598 726 1598 943 1596 949 C 1595 953 1592 955 1589 957 L 1486 956 C 1466 957 1447 957 1427 956 C 1419 956 1413 954 1413 945 C 1413 928 1413 911 1413 894 L 1413 796 L 1413 740 C 1413 732 1413 723 1414 714 C 1414 711 1417 708 1420 706 z'/%3E%3C/g%3E%3C/svg%3E"); } /* бейдж */
.ulk-nav-icon--budget { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-163,-54) scale(0.079)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 2203 701 C 2243 699 2333 715 2335 767 C 2337 804 2334 843 2335 879 C 2336 897 2336 915 2323 929 C 2298 956 2259 964 2223 967 C 2187 969 2139 960 2110 937 C 2100 928 2090 914 2090 900 C 2090 862 2091 824 2090 786 C 2090 769 2090 753 2102 739 C 2127 713 2167 704 2203 701 z M 2103 842 C 2109 847 2115 854 2123 858 C 2180 889 2274 888 2323 842 C 2323 854 2324 859 2319 870 C 2297 901 2248 911 2212 911 C 2180 911 2138 902 2114 879 C 2102 868 2103 858 2103 842 z M 2199 714 C 2236 713 2275 718 2305 740 C 2322 752 2330 773 2315 790 C 2294 813 2257 822 2227 825 C 2191 827 2149 821 2119 798 C 2103 785 2097 764 2112 748 C 2133 724 2169 717 2199 714 z M 2323 800 C 2323 811 2324 814 2320 825 C 2317 829 2314 833 2311 836 C 2269 877 2156 877 2114 834 C 2104 825 2102 814 2103 801 C 2156 850 2271 851 2323 800 z M 2323 886 C 2323 898 2324 902 2319 913 C 2316 917 2314 921 2310 924 C 2267 965 2143 967 2107 912 C 2102 905 2103 895 2103 887 C 2110 893 2117 899 2125 903 C 2180 933 2278 931 2323 886 z'/%3E%3C/g%3E%3C/svg%3E"); } /* стопка монет */
.ulk-nav-icon--workload { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-128,-51) scale(0.076)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1774 693 C 1823 691 1874 694 1923 693 C 1928 693 1935 693 1939 696 C 1944 699 1947 703 1949 708 C 1952 723 1941 731 1928 733 C 1928 762 1926 786 1902 804 C 1884 818 1867 825 1894 844 C 1930 867 1929 892 1928 930 C 1944 933 1954 944 1947 961 C 1944 966 1937 969 1932 970 C 1881 969 1829 971 1777 969 C 1755 969 1747 934 1780 930 C 1780 915 1779 904 1781 889 C 1785 857 1824 843 1830 828 C 1830 815 1810 809 1799 797 C 1779 775 1780 761 1780 734 C 1755 731 1748 703 1774 693 z M 1774 706 C 1791 705 1929 705 1933 707 C 1935 708 1936 710 1936 713 C 1937 716 1934 718 1933 720 C 1920 722 1779 722 1775 719 C 1773 718 1771 716 1771 714 C 1771 711 1772 709 1774 706 z M 1774 943 C 1807 942 1841 943 1873 943 C 1884 942 1925 942 1933 944 C 1938 949 1938 952 1933 957 C 1919 958 1780 958 1774 956 C 1770 951 1770 948 1774 943 z M 1793 733 L 1915 733 C 1915 772 1911 785 1877 807 C 1871 811 1868 818 1867 825 C 1865 848 1892 854 1903 869 C 1918 887 1917 908 1915 930 C 1874 930 1834 930 1793 930 C 1793 922 1793 914 1793 905 C 1793 882 1800 870 1819 857 C 1830 849 1842 842 1842 827 C 1842 807 1821 801 1809 789 C 1792 771 1793 756 1793 733 z'/%3E%3C/g%3E%3C/svg%3E"); } /* песочные часы */
.ulk-nav-icon--curriculum { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-5.297,-41.928) scale(0.065)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 165 703 C 176 702 187 702 198 704 C 224 709 246 720 261 742 L 261 955 C 246 945 233 940 216 936 C 179 930 153 933 119 948 L 119 720 C 135 710 146 706 165 703 z M 178 689 C 211 689 246 702 267 728 C 269 727 270 725 271 724 C 308 682 387 678 429 714 C 429 722 429 738 429 746 L 429 811 C 429 857 429 904 429 950 C 429 954 428 964 426 966 C 401 959 391 949 361 946 C 341 943 308 950 291 960 C 277 967 272 983 257 970 C 227 943 177 941 140 953 C 132 956 115 967 108 965 C 106 963 106 961 106 958 C 107 877 104 795 106 714 C 126 696 151 691 178 689 z M 341 703 C 367 700 394 706 416 721 L 416 948 C 390 936 371 933 344 933 C 316 935 298 940 274 955 C 274 884 274 813 274 742 C 290 719 313 707 341 703 z'/%3E%3C/g%3E%3C/svg%3E"); } /* раскрытая книга */
.ulk-nav-icon--accounts { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-36.662,-48.131) scale(0.072)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 597 737 C 605 734 614 738 617 746 C 619 755 615 763 606 766 C 598 768 590 764 587 756 C 585 748 589 739 597 737 z M 600 723 C 616 721 629 733 631 749 C 632 765 620 778 605 780 C 589 781 575 769 573 754 C 572 738 584 724 600 723 z M 614 700 C 665 695 704 739 695 788 C 693 797 686 808 686 816 C 688 822 787 917 800 931 L 794 964 L 757 964 C 761 957 765 950 768 942 C 763 936 749 924 743 918 C 731 906 727 930 714 923 C 706 911 730 904 721 893 C 700 866 693 886 680 885 C 677 883 678 884 676 881 C 676 874 684 866 689 860 C 686 855 671 834 664 836 C 653 840 644 847 631 849 C 590 856 554 828 547 788 C 544 769 548 748 560 732 C 574 712 591 704 614 700 z M 613 687 C 629 686 640 687 656 693 C 677 701 694 718 702 739 C 713 765 710 789 700 813 C 725 836 749 862 774 885 C 787 898 801 912 814 925 C 813 939 809 954 807 967 C 806 979 790 977 781 977 C 754 979 734 976 752 945 L 747 939 L 736 929 C 733 931 730 933 728 935 C 719 940 704 937 699 928 C 695 919 703 907 706 899 C 705 896 702 894 700 892 C 685 900 667 903 663 880 C 661 872 668 865 673 860 C 670 857 667 855 664 851 C 654 856 647 859 636 862 C 613 866 590 861 570 848 C 551 834 538 814 534 791 C 530 767 535 743 549 724 C 565 702 586 692 613 687 z'/%3E%3C/g%3E%3C/svg%3E"); } /* ключ */
.ulk-nav-icon--schedule { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-67,-48.458) scale(0.073)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 966 798 L 1022 798 L 1022 856 C 1003 856 985 856 966 855 L 966 798 z M 966 904 L 1022 904 L 1022 962 L 966 962 L 966 904 z M 958 890 C 965 890 1031 889 1033 893 C 1039 906 1035 935 1036 951 C 1037 960 1037 970 1030 976 C 1020 976 963 978 955 973 C 952 968 951 947 952 943 C 954 929 947 898 958 890 z M 958 784 C 969 784 1025 783 1031 786 C 1040 796 1035 845 1035 860 C 1035 864 1033 867 1030 869 C 1008 871 982 869 960 869 C 954 869 952 860 952 855 C 952 834 951 812 953 790 C 953 788 957 785 958 784 z M 1058 784 C 1081 784 1103 784 1126 785 C 1132 785 1134 789 1134 794 C 1135 817 1136 841 1134 863 C 1133 866 1130 868 1128 869 C 1106 869 1079 870 1058 869 C 1045 868 1052 801 1051 791 C 1051 788 1056 785 1058 784 z M 1064 904 L 1121 904 C 1121 923 1121 943 1121 962 L 1064 962 C 1064 943 1064 923 1064 904 z M 1064 798 L 1121 798 C 1121 816 1121 838 1121 856 C 1102 856 1083 856 1064 855 L 1064 798 z M 1058 890 C 1069 890 1123 889 1130 892 C 1134 896 1135 903 1135 909 C 1135 929 1135 949 1134 968 C 1134 972 1131 974 1128 976 C 1106 977 1081 976 1059 975 C 1053 975 1051 968 1051 962 C 1051 940 1050 918 1051 896 C 1052 894 1056 891 1058 890 z M 957 688 C 1045 686 1133 689 1220 688 C 1228 688 1233 689 1233 698 C 1233 717 1233 736 1233 755 C 1233 760 1232 762 1229 765 C 1171 766 1111 764 1052 765 C 1040 765 965 766 957 764 C 949 755 955 716 953 702 C 952 697 954 692 957 688 z M 967 701 L 1219 702 L 1219 752 C 1136 753 1050 752 967 752 L 967 701 z M 1158 890 C 1180 890 1202 890 1225 891 C 1232 891 1233 898 1233 904 C 1233 926 1234 948 1233 970 C 1232 973 1228 975 1226 976 C 1206 976 1185 976 1165 976 C 1160 976 1154 975 1151 971 C 1149 965 1148 905 1151 895 C 1151 893 1155 891 1158 890 z M 1155 784 C 1170 784 1222 781 1232 788 C 1235 795 1233 823 1233 833 C 1233 844 1237 865 1226 870 C 1212 869 1197 869 1183 870 C 1149 870 1148 872 1149 835 C 1149 823 1145 791 1155 784 z M 1163 798 C 1182 798 1201 798 1220 798 L 1219 856 C 1204 857 1180 856 1163 856 L 1163 798 z M 1163 904 L 1219 904 C 1220 923 1220 943 1219 962 L 1163 962 L 1163 904 z'/%3E%3C/g%3E%3C/svg%3E"); } /* календарь */
.ulk-nav-icon--orders { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-12.881,-41.417) scale(0.0644989)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 320 673 C 328 673 337 673 346 673 C 407 674 468 672 528 674 C 534 674 542 680 546 684 C 554 691 558 701 558 712 C 558 721 554 731 547 737 C 534 751 514 748 495 747 L 496 878 C 496 886 496 894 496 901 C 495 915 497 931 494 945 C 492 962 474 983 456 983 C 441 983 426 983 411 983 L 323 983 C 313 983 257 984 249 982 C 241 981 233 977 227 971 C 218 963 214 952 213 940 C 213 928 217 919 225 911 C 239 896 256 897 274 897 C 285 897 297 898 308 898 L 387 897 C 403 897 419 897 435 897 C 441 897 450 897 453 902 C 451 913 426 915 427 939 C 427 947 431 955 437 960 C 451 973 475 967 479 951 C 485 929 482 896 482 873 C 482 836 482 799 482 762 C 482 756 482 750 482 744 C 482 718 479 706 497 686 C 460 686 423 687 386 686 C 364 687 342 686 320 687 C 308 688 296 696 293 707 C 289 722 290 740 290 755 L 290 828 C 290 838 292 865 288 871 C 284 872 284 872 281 871 C 275 865 277 823 277 812 L 277 750 C 277 714 274 681 320 673 z M 341 910 L 424 910 C 408 932 411 951 429 971 C 395 970 360 970 326 970 C 306 970 287 970 267 970 C 257 971 249 970 240 965 C 224 956 223 932 235 919 C 239 916 244 913 249 912 C 257 910 279 910 288 910 L 341 910 z M 519 689 C 552 683 552 736 523 734 L 495 735 C 495 709 495 701 519 689 z'/%3E%3C/g%3E%3C/svg%3E"); } /* свиток приказа */
.ulk-nav-icon--normative_base { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-96,-48.455) scale(0.073)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1429 713 C 1430 714 1430 714 1430 716 C 1433 768 1418 766 1375 766 C 1373 764 1380 759 1382 757 C 1398 742 1413 727 1429 713 z M 1436 688 C 1464 690 1493 689 1522 689 C 1534 689 1549 687 1561 690 C 1570 692 1577 699 1581 707 C 1584 712 1584 716 1585 722 C 1586 735 1586 852 1584 859 C 1583 861 1582 863 1579 864 C 1571 861 1572 850 1572 843 C 1572 803 1573 762 1572 721 C 1571 695 1534 702 1516 702 C 1492 702 1468 702 1443 702 C 1443 709 1444 716 1444 723 C 1444 785 1413 779 1362 779 L 1362 834 L 1362 907 C 1362 919 1361 932 1363 944 C 1365 965 1383 964 1400 964 C 1430 963 1461 964 1492 963 C 1500 963 1512 962 1517 968 C 1517 976 1511 977 1505 977 C 1467 977 1428 976 1390 977 C 1379 977 1368 976 1360 967 C 1347 955 1349 939 1349 922 C 1349 912 1349 901 1349 891 L 1349 771 C 1362 757 1381 740 1395 726 C 1405 716 1426 696 1436 688 z M 1560 874 C 1588 870 1615 890 1619 918 C 1623 947 1603 973 1575 977 C 1546 981 1520 961 1516 933 C 1512 905 1532 878 1560 874 z M 1561 887 C 1582 884 1602 898 1606 919 C 1609 940 1595 960 1574 964 C 1553 967 1533 953 1529 932 C 1526 911 1540 891 1561 887 z'/%3E%3C/g%3E%3C/svg%3E"); } /* документ с печатью */
.ulk-nav-icon--rating { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-13.425,-63.09) scale(0.0875)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 259.7 797.3 C 279.2 796.4 300.5 796.9 320 797.5 C 340.1 798.2 334.8 827.5 334.6 841.7 C 349.6 841.7 385.8 839.1 398.5 842.8 C 402 843.8 404.8 845.3 406.5 848.5 C 410.6 856.2 409.9 897.7 406.7 906.3 C 405.3 910.2 402.8 913.4 398.9 915.1 C 393.5 917.4 340.3 917 334.2 914.7 C 333.8 914.6 332.1 913.9 331.6 913.7 C 328.2 912.8 326.7 914.3 324 915.9 C 304.6 916.3 285.3 916.3 266 916.5 C 258.4 916.6 258.5 913.4 252.6 912.2 C 239 919.9 206.9 915.4 190.5 916.3 C 170.6 917.5 175.9 888.1 175.7 874.8 C 175.4 855.5 210.7 863 222.5 861.7 C 229 861.2 243.2 861.7 249 862.9 C 249.2 846 247.9 827.8 249.2 811 C 249.8 803.3 252.9 800.4 259.7 797.3 z M 259.9 807.7 C 279.6 807.1 304 807.3 323.8 807.8 C 323.9 820.2 325.5 899.5 322.1 905.7 C 313.4 905.7 265.7 907.4 261.1 903.7 C 258.5 896.1 258.1 815.1 259.9 807.7 z M 334.6 852 C 354.7 852.1 378.2 851.5 398 852.1 C 398.3 863.4 398.7 895.1 397.8 905.3 C 391.5 906.1 340.6 906.8 335.5 903.9 C 334.2 903.1 334.6 858.2 334.6 852 z M 187 872.1 C 204.8 872.1 229.7 871.5 246.6 872.4 C 247 879.7 247.7 899.8 245.3 905.6 C 232.6 906.3 199.4 906.1 186.1 905.6 C 185.9 899 185.3 877.4 187 872.1 z'/%3E%3C/g%3E%3C/svg%3E"); } /* пьедестал */
.ulk-nav-icon--analytics { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-120,-46.24) scale(0.07)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1751 685 C 1772 684 1779 704 1761 717 C 1761 784 1760 854 1761 920 C 1777 903 1855 816 1867 810 C 1873 812 1904 840 1912 846 C 1940 817 1968 786 1996 756 C 1988 756 1954 758 1948 754 C 1946 753 1945 751 1944 748 C 1950 739 2003 743 2015 745 C 2020 745 2018 780 2018 786 C 2019 793 2019 809 2011 811 C 2001 807 2005 777 2005 766 C 1996 776 1918 863 1913 862 C 1907 862 1896 851 1892 847 C 1883 840 1876 833 1868 826 C 1858 835 1837 859 1827 869 C 1807 891 1782 916 1764 938 C 1780 962 1794 959 1821 959 C 1832 959 1844 959 1856 959 L 2007 958 C 2008 958 2008 957 2009 956 C 2031 929 2056 977 2022 981 C 2017 981 2011 976 2007 972 L 1860 972 C 1836 972 1810 973 1786 971 C 1769 969 1751 949 1749 932 C 1747 911 1748 888 1748 867 L 1748 717 C 1735 707 1735 692 1751 685 z'/%3E%3C/g%3E%3C/svg%3E"); } /* линия тренда */
.ulk-nav-icon--mailing { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-140,-42.895) scale(0.066)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 2158 755 C 2188 780 2220 808 2249 834 C 2235 845 2218 860 2205 872 C 2199 877 2163 909 2159 908 C 2157 905 2154 898 2154 894 C 2154 864 2154 833 2154 803 C 2154 788 2152 769 2158 755 z M 2187 737 C 2254 737 2321 738 2387 737 C 2407 737 2415 735 2432 745 C 2411 764 2386 785 2365 804 C 2352 815 2318 849 2304 851 C 2298 852 2291 851 2285 848 C 2277 843 2260 826 2252 819 C 2225 796 2195 767 2167 745 C 2175 740 2178 738 2187 737 z M 2184 724 C 2196 724 2214 724 2227 724 L 2309 724 L 2374 724 C 2393 724 2418 722 2434 731 C 2443 735 2456 750 2457 761 C 2460 805 2458 852 2458 896 C 2457 920 2437 935 2415 939 C 2372 941 2318 940 2274 940 L 2217 940 C 2199 940 2178 942 2162 932 C 2136 914 2141 884 2141 857 C 2141 847 2141 838 2141 828 C 2143 786 2128 734 2184 724 z M 2341 843 L 2431 919 C 2414 930 2384 926 2363 926 L 2243 926 C 2230 926 2176 930 2171 919 C 2175 914 2193 899 2200 893 L 2258 844 C 2262 844 2279 867 2301 865 C 2320 863 2328 857 2341 843 z M 2440 756 L 2441 757 C 2443 760 2444 763 2445 767 C 2446 782 2446 892 2444 902 C 2443 905 2442 907 2439 909 C 2433 905 2402 877 2394 871 C 2380 859 2365 846 2351 834 C 2379 808 2411 781 2440 756 z'/%3E%3C/g%3E%3C/svg%3E"); } /* конверт */
.ulk-nav-icon--science { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-14.824,-52) scale(0.077)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 310 854 C 322 852 335 859 338 872 C 341 884 333 897 321 900 C 308 903 295 895 292 882 C 290 870 297 857 310 854 z M 312 867 C 318 865 324 868 326 874 C 327 880 324 886 318 887 C 313 889 307 886 305 880 C 303 874 306 868 312 867 z M 332 921 C 334 920 336 921 337 923 C 338 924 338 926 336 927 C 335 928 333 929 332 928 C 330 927 330 926 330 924 C 330 922 331 921 332 921 z M 329 909 C 334 907 340 909 345 912 C 349 916 351 922 350 928 C 348 934 344 938 338 940 C 330 942 321 938 319 929 C 316 921 321 912 329 909 z M 293 693 C 309 694 405 692 413 695 C 416 698 415 696 416 701 C 413 709 401 706 393 706 C 393 726 391 752 394 771 C 394 776 404 794 407 800 C 420 825 433 850 447 875 C 460 900 484 931 459 955 C 444 969 426 967 408 966 C 370 966 332 966 294 966 C 275 966 254 969 239 954 C 232 946 228 936 229 925 C 231 909 279 824 289 804 C 294 794 302 783 305 772 C 308 759 305 722 306 706 C 297 706 285 708 281 699 C 282 694 289 694 293 693 z M 293 830 C 350 826 347 858 413 838 L 439 888 C 445 899 457 918 457 930 C 457 954 430 954 412 954 C 391 954 272 956 259 952 C 253 950 247 945 244 939 C 241 932 242 925 244 918 C 247 911 288 833 290 832 C 291 831 292 831 293 830 z M 319 706 L 380 706 C 380 778 373 763 407 826 C 398 829 395 830 386 832 C 359 834 350 825 326 819 C 316 817 307 817 296 817 C 326 760 319 771 319 706 z M 368 888 C 370 888 372 888 373 889 C 374 890 375 892 375 894 C 374 896 373 897 372 897 C 369 898 366 897 366 894 C 365 892 366 889 368 888 z M 369 876 C 378 875 386 882 387 891 C 388 900 382 908 373 910 C 367 910 361 908 357 903 C 353 898 353 892 355 886 C 357 881 363 877 369 876 z'/%3E%3C/g%3E%3C/svg%3E"); } /* колба */
.ulk-nav-icon--glossary { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-120,-48.178) scale(0.072)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1826 744 C 1830 743 1835 744 1838 747 C 1841 749 1843 754 1842 758 C 1841 763 1838 766 1834 767 C 1827 769 1821 766 1819 760 C 1816 753 1820 747 1826 744 z M 1826 730 C 1840 728 1853 738 1856 752 C 1858 766 1848 779 1835 781 C 1820 784 1807 774 1805 760 C 1802 746 1812 732 1826 730 z M 1728 701 L 1933 701 L 1933 956 L 1887 918 C 1879 912 1835 874 1831 873 C 1822 876 1799 897 1790 904 L 1728 956 C 1728 873 1727 784 1728 701 z M 1719 688 C 1737 687 1940 687 1944 689 C 1949 696 1947 725 1947 735 L 1947 813 L 1947 919 C 1947 936 1947 954 1947 971 C 1947 976 1944 977 1941 978 C 1932 975 1902 948 1892 940 C 1871 923 1851 906 1830 889 C 1800 914 1755 954 1722 977 C 1720 979 1719 977 1717 977 C 1713 969 1715 918 1715 906 L 1715 803 L 1715 731 C 1715 719 1715 706 1715 694 C 1715 692 1717 690 1719 688 z'/%3E%3C/g%3E%3C/svg%3E"); } /* закладка-ярлык */
.ulk-nav-icon--documents { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.549,1.796) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M465 4366 c-225 -71 -268 -157 -320 -626 -34 -300 -72 -621 -115 -976 -42 -342 -25 -367 256 -372 l174 -3 0 -747 c0 -1022 -77 -914 653 -910 l484 3 36 28 c60 46 53 16 117 502 58 446 130 965 139 1000 4 17 9 -296 10 -693 2 -949 -78 -842 627 -842 l481 0 43 23 c65 34 76 65 105 292 30 232 118 878 138 1010 l14 90 6 -125 c4 -69 9 -361 13 -650 8 -718 -68 -642 644 -638 l485 3 37 23 c53 33 74 86 88 222 15 147 123 1041 151 1250 l22 160 114 0 c257 0 264 19 199 544 -25 210 -60 498 -76 641 -59 522 -57 508 -88 576 -35 78 -117 158 -199 197 l-58 27 -2070 2 c-1653 1 -2078 -1 -2110 -11z m4119 -338 c24 -22 26 -34 56 -313 17 -159 47 -423 66 -585 19 -162 37 -321 41 -353 l6 -58 -126 2 -125 1 -30 86 c-17 48 -56 164 -87 258 -60 187 -78 217 -139 245 -64 29 -3298 29 -3361 0 -63 -29 -82 -58 -135 -212 -28 -79 -69 -197 -92 -261 l-41 -118 -123 0 c-114 0 -124 1 -124 19 0 14 115 1080 134 1236 10 83 -201 75 2052 75 l2003 0 25 -22z m-510 -1070 c9 -24 48 -142 86 -263 89 -277 109 -305 220 -305 47 0 46 8 25 -145 -29 -215 -145 -1144 -145 -1159 0 -14 -35 -16 -299 -16 l-299 0 -6 458 c-3 251 -7 548 -9 660 l-3 202 93 0 c199 0 295 166 167 287 -55 52 -1073 67 -1140 17 -159 -118 -68 -303 149 -304 l99 0 -6 -37 c-3 -21 -22 -155 -41 -298 -61 -444 -95 -695 -115 -838 -11 -76 -20 -140 -20 -143 0 -2 -132 -4 -293 -4 l-294 0 -6 549 c-4 302 -4 599 0 659 l6 110 59 4 c161 12 216 205 85 302 -40 29 -1001 39 -1075 10 -211 -80 -111 -314 134 -314 68 0 124 -3 124 -6 0 -3 -20 -158 -45 -343 -24 -185 -60 -460 -80 -611 -19 -151 -39 -295 -43 -320 l-7 -45 -300 0 -300 1 -3 656 -2 656 44 26 c57 34 67 56 157 354 l73 242 1497 0 1497 0 16 -42z'/%3E%3C/g%3E%3C/svg%3E"); } /* лоток с веером бланков */
.ulk-nav-icon--digital_services { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.459,1.395) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1362 5040 c-104 -47 -101 -202 4 -246 26 -11 97 -14 313 -14 l280 0 5 -32 c7 -39 76 -682 76 -702 0 -13 -120 -15 -887 -18 l-888 -3 -56 -23 c-63 -25 -139 -94 -172 -156 l-22 -41 -3 -1739 -2 -1739 24 -53 c33 -71 97 -138 165 -171 l56 -28 2300 0 2300 0 57 28 c73 36 150 119 175 189 17 51 18 130 18 1768 l0 1715 -27 57 c-32 70 -96 133 -168 167 l-55 26 -889 2 c-489 2 -891 5 -893 7 -3 2 9 120 26 263 17 142 36 309 42 371 l12 112 285 0 c270 0 288 1 329 21 106 51 101 199 -7 243 -69 27 -2337 24 -2398 -4z m1512 -312 c-3 -29 -22 -197 -43 -373 l-36 -320 -235 0 -235 0 -12 115 c-6 63 -21 196 -32 295 -11 99 -23 215 -27 258 l-7 77 317 0 316 0 -6 -52z m1944 -990 c17 -17 17 -3369 0 -3386 -20 -20 -4501 -17 -4522 3 -27 27 -19 3361 8 3381 27 19 4495 21 4514 2z M1169 3307 c-60 -40 -59 -27 -59 -567 0 -669 -90 -590 670 -590 754 0 664 -77 668 570 3 512 2 527 -48 575 l-31 30 -583 3 -582 2 -35 -23z m1001 -562 l0 -315 -395 0 -395 0 0 315 0 315 395 0 395 0 0 -315z M2742 3314 c-74 -33 -73 -18 -70 -586 l3 -508 33 -32 32 -33 588 -3 c774 -4 680 -85 683 586 3 564 6 535 -72 574 -47 25 -1142 26 -1197 2z m988 -569 l0 -315 -385 0 -385 0 0 315 0 315 385 0 385 0 0 -315z M1204 1899 c-18 -5 -46 -25 -63 -44 l-31 -36 0 -498 0 -498 23 -34 c39 -58 39 -58 647 -58 751 -1 670 -72 670 589 0 536 0 533 -82 570 -47 22 -1094 30 -1164 9z m966 -584 l0 -305 -395 0 -395 0 0 305 0 305 395 0 395 0 0 -305z M2755 1896 c-16 -7 -41 -26 -55 -41 l-25 -27 -3 -496 c-4 -680 -90 -602 663 -602 601 0 594 -1 645 55 l25 27 0 508 0 508 -25 27 c-51 56 -44 55 -642 55 -439 -1 -559 -4 -583 -14z m975 -581 l0 -305 -385 0 -385 0 0 305 0 305 385 0 385 0 0 -305z'/%3E%3C/g%3E%3C/svg%3E"); } /* монитор с плитками сервисов */
.ulk-nav-icon--conferences { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-54.368,-39.062) scale(0.060636)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1035 677 C 1037 677 1038 677 1040 677 C 1058 677 1075 685 1088 698 C 1112 722 1107 751 1107 783 L 1108 783 C 1116 786 1121 790 1125 798 C 1127 804 1127 810 1124 815 C 1120 823 1115 826 1107 829 C 1107 878 1117 918 1069 946 C 1069 957 1070 995 1067 1003 C 1062 1007 1050 1006 1044 1006 C 1037 1006 1031 1006 1025 1006 C 1020 1006 1014 1007 1010 1003 C 1007 994 1008 958 1008 946 C 972 926 970 902 970 865 L 970 829 C 968 828 967 828 966 827 C 959 824 955 819 952 812 C 950 807 951 800 954 795 C 958 787 964 785 972 782 C 972 754 968 725 987 702 C 1000 687 1015 679 1035 677 z M 971 798 C 972 798 972 798 973 798 C 1006 797 1039 798 1073 798 C 1083 798 1093 797 1104 798 C 1106 798 1107 800 1109 801 C 1112 806 1110 810 1106 814 C 1089 814 974 815 970 812 C 968 810 967 808 967 806 C 967 803 969 800 971 798 z M 1035 692 C 1051 692 1064 696 1076 707 C 1096 727 1092 757 1092 783 L 1045 783 L 988 783 C 987 741 983 702 1035 692 z M 985 830 L 1091 830 C 1091 863 1099 896 1077 921 C 1050 946 1008 942 991 908 C 984 894 985 879 985 864 L 985 830 z M 1024 952 C 1037 953 1040 953 1053 952 L 1053 990 L 1023 990 C 1023 977 1024 965 1024 952 z M 1148 758 C 1169 760 1169 789 1154 803 C 1135 804 1148 789 1149 783 C 1152 771 1135 769 1148 758 z M 1165 725 C 1173 725 1180 732 1185 738 C 1196 752 1202 771 1200 789 C 1197 811 1185 825 1169 838 C 1164 838 1160 836 1159 831 C 1160 824 1169 818 1174 812 C 1188 793 1189 771 1176 752 C 1171 746 1161 738 1160 731 C 1161 728 1162 727 1165 725 z M 1184 694 C 1196 695 1215 719 1221 729 C 1235 752 1239 780 1232 806 C 1226 833 1209 855 1186 870 C 1181 869 1179 868 1177 862 C 1179 855 1189 848 1195 843 C 1228 810 1228 757 1198 723 C 1192 716 1178 708 1178 700 C 1180 696 1181 696 1184 694 z'/%3E%3C/g%3E%3C/svg%3E"); } /* микрофон со звуковыми волнами */
.ulk-nav-icon--version { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cpath fill-rule='evenodd' d='M2 2H11.4L22 12.6L12.6 22L2 11.4Z M4 4H10.6L19.2 12.6L12.6 19.2L4 10.6Z M6 7.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0Z'/%3E%3C/svg%3E"); } /* ярлык с номером версии */
.ulk-nav-icon--history { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-76,-55) scale(0.08)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1084 707 C 1125 704 1165 720 1191 751 C 1191 741 1187 719 1197 715 C 1207 719 1204 742 1204 750 C 1205 757 1205 769 1199 774 C 1197 774 1184 775 1183 774 C 1176 772 1132 780 1138 765 C 1145 759 1173 761 1183 761 C 1176 753 1168 745 1158 739 C 1132 722 1100 716 1070 723 C 1039 729 1012 747 995 774 C 978 799 973 829 980 858 C 987 889 1005 915 1032 932 C 1065 952 1093 954 1130 945 C 1141 941 1149 938 1159 932 C 1189 913 1209 882 1213 847 C 1214 837 1211 819 1219 815 C 1224 815 1226 818 1227 823 C 1231 895 1181 954 1109 962 C 1074 966 1039 955 1011 933 C 985 912 968 880 965 847 C 961 813 971 780 993 755 C 1015 727 1049 711 1084 707 z'/%3E%3C/g%3E%3C/svg%3E"); } /* круговая стрелка */
.ulk-nav-icon--service { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-2.553,-2.510) scale(0.0142)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1012 287 C 1194 281 1340 417 1349 598 L 1373 598 L 1479 598 C 1514 598 1547 597 1582 604 C 1627 614 1664 635 1697 668 C 1727 698 1749 737 1759 779 C 1769 819 1766 877 1766 921 L 1766 1087 L 1766 1392 L 1766 1481 C 1766 1513 1767 1543 1760 1574 C 1750 1618 1728 1658 1696 1690 C 1663 1723 1622 1745 1577 1755 C 1544 1762 1513 1760 1480 1760 L 1387 1760 L 1044 1760 L 671 1760 L 572 1760 C 540 1760 508 1762 476 1755 C 431 1745 390 1723 357 1690 C 308 1642 288 1582 287 1514 L 287 1025 L 287 896 C 287 864 285 822 291 792 C 301 744 324 702 358 668 C 397 629 449 604 504 599 C 527 597 560 598 584 598 L 703 598 C 706 523 735 452 785 396 C 844 329 923 293 1012 287 z M 348 1120 L 1180 1120 L 1522 1120 C 1582 1120 1644 1120 1704 1121 L 1704 1409 L 1704 1483 C 1704 1518 1707 1549 1694 1583 C 1683 1612 1670 1630 1649 1651 C 1590 1709 1520 1699 1445 1699 L 1247 1699 L 540 1699 C 482 1699 442 1689 399 1647 C 349 1597 348 1548 348 1482 L 349 1396 L 348 1120 z M 516 659 C 520 659 523 659 527 659 L 1245 659 L 1445 659 C 1523 659 1590 649 1651 710 C 1675 733 1691 762 1699 794 C 1707 826 1704 882 1704 916 L 1704 1059 L 1534 1060 L 349 1059 L 349 910 C 349 885 349 860 349 836 C 349 741 422 666 516 659 z M 1006 349 C 1007 349 1008 349 1008 349 C 1077 345 1145 367 1196 412 C 1253 462 1283 524 1287 598 C 1208 597 1127 598 1048 598 L 765 598 C 774 465 872 361 1006 349 z'/%3E%3C/g%3E%3C/svg%3E"); } /* ящик с инструментами */
.ulk-nav-icon--permissions { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-100,-51) scale(0.076)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1463 710 C 1466 710 1472 715 1475 717 C 1503 738 1531 740 1565 734 C 1565 778 1570 835 1552 873 C 1535 911 1503 939 1464 954 C 1442 946 1423 933 1406 917 C 1351 864 1362 805 1361 734 C 1407 741 1427 736 1463 710 z M 1463 693 C 1468 695 1472 699 1477 702 C 1488 711 1499 718 1514 722 C 1519 723 1524 724 1530 724 C 1541 725 1567 719 1575 722 C 1576 722 1576 722 1577 724 C 1580 732 1578 821 1577 834 C 1575 848 1571 861 1566 874 C 1546 921 1510 949 1464 968 C 1423 956 1382 919 1364 881 C 1355 861 1349 838 1349 816 C 1349 787 1348 755 1349 726 C 1350 715 1374 724 1381 724 C 1405 726 1428 719 1448 705 C 1453 701 1458 696 1463 693 z M 1459 778 C 1460 778 1462 778 1464 778 C 1472 778 1479 781 1485 786 C 1490 792 1493 800 1493 807 C 1492 817 1488 823 1482 829 C 1483 839 1490 871 1483 880 C 1482 882 1476 882 1473 882 C 1467 882 1461 882 1455 882 C 1450 882 1445 881 1442 877 C 1438 872 1444 837 1445 829 C 1427 810 1433 786 1459 778 z M 1461 790 C 1473 791 1481 796 1480 810 C 1479 816 1473 820 1469 823 C 1470 837 1472 851 1473 865 C 1474 869 1474 869 1469 869 C 1464 869 1459 869 1454 869 C 1455 856 1458 836 1458 823 C 1455 820 1451 818 1449 813 C 1447 809 1447 805 1449 801 C 1451 795 1455 793 1461 790 z'/%3E%3C/g%3E%3C/svg%3E"); } /* щит с замочной скважиной */
.ulk-nav-icon--system_settings { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-127,-51) scale(0.075)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 1823 709 C 1833 710 1843 710 1853 709 C 1853 718 1853 740 1856 746 C 1860 749 1884 758 1889 759 C 1896 760 1910 744 1917 738 C 1924 745 1931 752 1938 759 C 1933 765 1917 778 1915 785 C 1915 791 1925 820 1933 820 C 1943 820 1954 820 1964 820 L 1964 849 C 1956 849 1931 846 1927 853 C 1906 881 1920 886 1938 905 C 1932 912 1924 920 1917 926 C 1888 899 1891 901 1854 919 C 1853 930 1853 943 1852 954 C 1842 954 1832 954 1822 954 C 1822 946 1822 926 1820 920 C 1814 916 1792 907 1785 905 C 1781 904 1763 922 1758 926 C 1751 919 1744 912 1737 905 C 1743 898 1758 887 1760 879 C 1760 873 1755 867 1754 861 C 1753 845 1727 849 1712 849 L 1712 820 C 1757 820 1746 825 1762 786 C 1758 780 1743 765 1737 759 C 1743 752 1751 746 1758 738 C 1766 745 1777 755 1786 761 C 1828 739 1818 758 1823 709 z M 1814 697 C 1825 696 1841 697 1853 696 C 1869 695 1866 724 1867 737 C 1874 739 1882 742 1889 745 C 1896 740 1910 725 1917 723 C 1925 727 1951 751 1953 760 C 1951 766 1935 781 1929 787 C 1932 793 1934 801 1936 807 C 1945 807 1969 806 1975 810 C 1978 818 1978 852 1975 860 C 1970 863 1942 862 1935 862 L 1929 877 C 1936 884 1954 899 1953 907 C 1949 915 1925 938 1917 941 C 1912 940 1895 923 1889 918 C 1880 923 1875 925 1866 928 C 1866 938 1867 960 1861 967 C 1811 967 1810 979 1808 928 C 1801 925 1793 922 1786 919 C 1777 926 1767 936 1758 942 C 1750 938 1726 914 1722 906 C 1723 899 1741 883 1747 876 C 1745 873 1743 866 1741 862 C 1734 862 1708 863 1703 860 C 1698 857 1698 813 1701 810 C 1706 806 1732 807 1740 807 C 1742 800 1745 794 1747 788 C 1740 782 1726 768 1722 761 C 1718 754 1751 726 1758 723 C 1763 724 1782 742 1787 746 C 1795 742 1800 740 1809 736 C 1809 726 1808 704 1814 697 z M 1831 779 C 1861 776 1887 796 1891 825 C 1895 854 1875 881 1846 885 C 1816 889 1789 869 1785 839 C 1781 810 1802 783 1831 779 z M 1831 792 C 1846 790 1860 795 1870 806 C 1879 817 1882 833 1876 847 C 1871 860 1859 870 1845 872 C 1823 876 1802 861 1798 839 C 1794 817 1809 796 1831 792 z'/%3E%3C/g%3E%3C/svg%3E"); } /* шестерня */
/* «Аспирантура» — диплом с лентой. Нарисован обводкой (stroke), а не
   контуром-заливкой, как соседние маски: те сняты с общего листа
   иконок и потому несут его transform, а эта фигура рисуется прямо в
   системе координат 24×24. Для маски разницы нет — берётся альфа
   картинки, а не её яркость. */
.ulk-nav-icon--postgraduate { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.475,1.475) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3323 4369 c-84 -24 -95 -70 -91 -377 l3 -222 -1566 0 -1566 0 -34 -23 c-63 -42 -59 55 -59 -1505 l0 -1434 34 -34 34 -34 2482 0 2482 0 34 34 34 34 3 1319 c2 1556 3 1536 -21 1577 -41 72 -63 76 -469 76 l-363 0 0 246 c0 267 -4 289 -57 328 -37 27 -102 25 -144 -4 -19 -14 -96 -69 -172 -123 -82 -59 -142 -95 -150 -91 -6 4 -81 56 -165 116 -137 98 -190 130 -210 127 -4 0 -21 -5 -39 -10z m278 -434 c145 -109 139 -109 299 5 131 94 121 108 118 -157 l-3 -228 -31 -3 c-25 -2 -52 10 -124 57 -51 34 -96 61 -100 61 -22 0 -65 -24 -129 -70 -59 -43 -76 -51 -107 -48 l-36 3 -2 227 c0 126 3 228 7 228 5 0 53 -34 108 -75z m-1088 -413 l727 -2 0 -49 c0 -103 -2 -107 -101 -142 -122 -44 -120 -40 -93 -239 6 -43 4 -48 -49 -117 -95 -123 -95 -117 -2 -232 61 -76 64 -90 44 -210 -16 -99 -7 -113 107 -156 l93 -37 22 -66 c57 -171 56 -171 202 -148 l97 16 80 -65 c93 -75 102 -77 162 -31 24 19 65 47 89 63 l45 28 102 -9 c130 -12 140 -6 189 114 43 105 38 100 130 131 113 37 120 50 104 183 l-12 105 61 81 c79 107 79 121 0 225 l-61 78 8 76 c17 165 12 175 -108 217 -90 31 -92 35 -87 129 l3 60 271 3 c262 2 272 2 297 -19 l27 -20 0 -1244 c0 -984 -3 -1245 -12 -1252 -15 -9 -4564 -7 -4579 2 -17 11 -12 2477 6 2502 22 32 -157 30 2238 25z m1410 -305 c320 -153 319 -599 -1 -750 -152 -72 -342 -38 -464 84 -319 319 59 861 465 666z M722 2748 c-95 -25 -110 -177 -22 -223 53 -28 1848 -22 1884 6 72 57 71 169 -2 208 -23 12 -1815 20 -1860 9z M690 2193 c-74 -51 -73 -170 1 -208 45 -24 2029 -22 2065 1 73 49 70 170 -6 209 -47 24 -2025 23 -2060 -2z M1234 1651 c-88 -54 -83 -188 8 -220 65 -23 2617 -15 2655 9 83 50 74 178 -17 214 -68 27 -2601 24 -2646 -3z'/%3E%3C/g%3E%3C/svg%3E"); } /* диплом с печатью на ленте */
.ulk-nav-icon--sandbox { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(-11.254,-39.695) scale(0.062)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M 224 797 L 370 797 C 391 797 413 796 434 798 C 441 798 444 809 442 815 C 439 829 424 822 416 826 C 411 831 410 856 409 864 L 400 926 L 397 950 C 392 956 389 959 380 960 C 364 960 348 960 332 959 C 311 959 291 960 271 959 C 264 959 256 954 255 947 C 252 933 251 918 249 904 L 238 822 C 230 821 223 822 217 815 C 212 808 218 801 224 797 z M 319 702 C 366 698 410 725 425 770 C 427 775 428 781 429 786 L 345 786 L 231 786 C 240 739 273 710 319 702 z M 471 689 L 472 689 C 490 688 494 698 494 714 C 494 726 493 739 493 751 L 492 850 C 500 850 539 847 541 854 C 544 870 538 901 532 917 C 504 993 448 987 423 913 C 421 908 419 896 417 891 C 405 928 425 975 367 971 C 344 969 318 972 295 971 C 286 970 276 971 267 970 C 262 969 258 968 255 965 C 240 953 240 921 237 901 C 235 879 231 855 228 833 C 220 831 213 828 208 821 C 205 816 204 809 205 803 C 208 795 213 791 220 787 C 223 770 226 759 236 744 C 252 718 277 700 307 693 C 336 687 366 693 391 709 C 421 729 434 754 441 788 C 455 798 460 814 447 827 C 440 835 433 835 424 835 C 423 840 422 845 422 850 L 460 850 C 460 827 456 711 459 700 C 461 694 466 692 471 689 z M 475 699 C 477 699 478 700 480 701 C 482 704 482 704 482 709 L 481 807 C 481 820 481 833 481 846 C 481 849 481 849 479 851 C 475 850 475 850 472 849 C 470 845 470 718 470 706 C 469 703 473 700 475 699 z M 477 861 L 532 861 C 530 876 529 886 525 902 C 520 925 491 981 460 953 C 435 931 427 893 425 861 L 466 861 C 466 872 466 883 466 894 C 466 901 465 911 469 916 C 472 916 471 917 474 915 C 479 907 477 873 477 861 z'/%3E%3C/g%3E%3C/svg%3E"); } /* ведро с совком */
.ulk-nav-icon--dissertation_council { --ulk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000'%3E%3Cg transform='translate(1.549,1.506) scale(0.0041)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2280 5109 c-220 -43 -383 -299 -321 -504 72 -238 200 -549 233 -566 20 -11 16 -14 -52 -34 -41 -12 -104 -34 -139 -48 -36 -15 -66 -27 -68 -27 -1 0 -34 62 -72 138 -198 394 -411 393 -807 -2 -390 -391 -394 -581 -14 -797 157 -89 156 -88 137 -125 -20 -40 -77 -220 -77 -245 0 -18 -4 -16 -32 14 -48 49 -536 256 -624 264 -163 15 -340 -97 -417 -264 -30 -65 -39 -559 -12 -665 67 -261 309 -370 580 -260 55 22 159 63 230 91 188 75 225 93 245 118 24 31 27 29 35 -14 4 -21 24 -85 46 -142 21 -58 39 -108 39 -113 0 -4 -54 -35 -121 -68 -253 -127 -341 -319 -248 -541 24 -57 391 -443 470 -494 210 -136 441 -42 574 232 55 113 68 134 83 128 9 -4 71 -26 138 -49 l121 -41 -27 -25 c-15 -14 -35 -47 -45 -75 -10 -27 -54 -142 -99 -255 l-81 -205 0 -115 c1 -303 167 -419 597 -420 345 0 454 39 557 198 94 147 90 228 -26 532 -50 129 -97 252 -104 274 -8 21 -24 50 -37 63 -13 14 -22 26 -20 27 2 2 46 19 98 38 52 20 111 43 131 52 l36 15 78 -141 c143 -259 297 -336 510 -258 84 31 487 429 532 525 96 205 13 383 -241 520 -145 78 -143 76 -118 136 11 24 32 87 47 139 33 116 28 110 68 73 41 -40 526 -240 601 -249 162 -19 346 86 422 241 l29 60 0 310 0 310 -32 68 c-79 166 -267 270 -432 240 -49 -9 -205 -72 -505 -201 -22 -9 -57 -29 -79 -45 -21 -16 -40 -27 -42 -25 -1 2 -14 44 -29 94 -14 50 -35 113 -46 139 -25 57 -29 53 90 106 275 122 377 322 275 537 -42 87 -447 497 -534 539 -202 100 -406 2 -526 -253 -60 -126 -75 -148 -90 -124 -6 10 -215 80 -240 80 -21 0 -19 13 5 27 34 22 217 492 241 617 34 185 -106 389 -305 442 -58 16 -509 18 -586 3z m561 -245 c121 -61 123 -122 17 -409 l-75 -200 -225 -3 -226 -2 -6 25 c-4 14 -36 105 -72 202 -97 261 -94 321 20 386 45 26 516 27 567 1z m-1293 -758 c43 -22 62 -49 122 -173 l57 -117 -76 -60 c-96 -75 -223 -203 -282 -281 -24 -33 -49 -66 -55 -74 -15 -19 -245 108 -279 154 -65 87 -48 119 183 349 230 229 252 242 330 202z m2135 3 c32 -16 396 -379 414 -413 37 -70 6 -168 -65 -202 -20 -9 -78 -36 -128 -60 l-91 -42 -42 63 c-60 90 -189 224 -284 296 -101 76 -98 54 -28 202 74 158 136 201 224 156z m-883 -295 c1201 -248 1410 -1879 307 -2404 -1009 -481 -2105 485 -1757 1549 198 606 835 982 1450 855z m-2145 -953 l210 -88 3 -215 2 -216 -52 -21 c-29 -11 -125 -49 -213 -85 -324 -133 -375 -92 -375 309 0 304 10 337 115 386 63 29 87 24 310 -70z m4154 56 c75 -50 81 -78 81 -362 0 -454 -45 -472 -587 -230 l-53 24 0 204 c0 152 3 207 13 214 12 11 255 117 362 159 74 29 130 27 184 -9z m-3449 -1260 c65 -89 172 -199 273 -280 103 -83 100 -58 27 -212 -83 -172 -156 -210 -256 -136 -99 73 -372 365 -384 411 -25 95 8 142 160 220 141 72 126 72 180 -3z m2731 -104 c22 -35 27 -100 11 -129 -26 -46 -398 -405 -430 -413 -80 -23 -125 12 -206 159 -79 146 -79 130 -8 182 72 53 255 235 311 311 l43 57 130 -67 c95 -50 134 -76 149 -100z m-1289 -745 c14 -40 51 -138 82 -218 80 -208 66 -293 -57 -339 -33 -13 -479 -18 -517 -6 -77 23 -135 108 -128 184 4 35 141 405 165 444 2 4 100 7 216 7 l212 0 27 -72z'/%3E%3C/g%3E%3C/svg%3E"); } /* круглый стол заседаний со стульями */

/* --- Доска-конвейер (песочница, редакторский конвейер конференции) --- */

/* Доска должна читаться одним взглядом: у конференции стадий девять, и
   при фиксированной ширине колонки она уезжала и вбок, и вниз — человек
   листал вместо того, чтобы видеть картину.

   Поэтому колонки делят ширину поровну (flex: 1 1 0) вместо прежних
   фиксированных 236px: на рабочем мониторе (1920) все девять стадий
   встают в один экран. Ниже 150px колонка не сжимается — в неё
   перестаёт помещаться слово «Антиплагиат», и подписи переходов рвутся
   посередине; на узком ноутбуке доска вместо этого прокручивается вбок.
   Прокрутка внутри контейнера, а не у страницы — иначе вбок уезжала бы
   вся страница вместе с меню.

   По высоте доска ограничена экраном: скроллится тело колонки, а её
   шапка со счётчиком остаётся на месте. Иначе колонка на 26 тезисов
   растягивала страницу, и соседние стадии уходили за нижний край. */
.ulk-board {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    align-items: flex-start;
}

.ulk-board__col {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 150px;
    max-height: calc(100vh - 240px);
    background: var(--ulk-bg);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Тело колонки: только оно и прокручивается. */
.ulk-board__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow-y: auto;
    min-height: 0;
}

.ulk-board__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    color: var(--ulk-acc-d);
}

.ulk-board__count {
    font-variant-numeric: tabular-nums;
    color: var(--ulk-muted);
    font-weight: 500;
}

.ulk-board__empty {
    margin: 0;
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-faint);
}

.ulk-board__card {
    background: var(--ulk-surface);
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-sm);
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Название обрезается тремя строками: в узкой колонке длинный
   заголовок иначе занимает пол-экрана и вытесняет соседние карточки.
   Полное название — в атрибуте title и в самой карточке тезиса. */
.ulk-board__title {
    font-size: var(--ulk-fs-xs);
    line-height: 1.35;
    color: var(--ulk-ink);
    overflow-wrap: break-word;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ulk-board__title:hover { text-decoration: underline; }

/* Карточка, которая целиком ведёт в запись (доска конференции). У доски
   «Песочницы» карточка никуда не ведёт, поэтому подсветка — на
   модификаторе, а не на самой карточке. */
.ulk-board__card--link {
    transition: border-color var(--ulk-dur) var(--ulk-ease);
}

.ulk-board__card--link:hover {
    border-color: var(--ulk-acc);
}

/* Секция — одной строкой с многоточием: в узкой колонке её название
   разворачивалось на пять строк и отодвигало переходы за нижний край
   карточки. Полное название — в атрибуте title. */
.ulk-board__meta {
    font-size: var(--ulk-fs-xs);
    color: var(--ulk-faint);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Признаки готовности (оригинальность, отсутствие лицензии или файла)
   вынесены из строки секции отдельно: секцию можно обрезать, а вот
   «лицензии нет» редактор должен видеть целиком — по этому признаку
   тезис не пройдёт в сборник. */
.ulk-board__flags {
    font-size: var(--ulk-fs-xs);
    font-variant-numeric: tabular-nums;
    color: var(--ulk-no);
}

/* Каждый переход — своя форма, поэтому переходы складываются в столбец
   флексом контейнера, а не отступами у самих форм. Столбец, а не ряд:
   в узкой колонке два перехода в строку читались как одна фраза. */
.ulk-board__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

/* Переход — действие в тексте карточки, а не кнопка с подложкой: своя
   заливка и рамка у каждого перехода превращали карточку в россыпь
   белых плашек на белом. Стрелка перед словом говорит, что это перевод
   на стадию, а не ссылка на неё. */
.ulk-board__move {
    font-family: var(--ulk-sans);
    font-size: var(--ulk-fs-xs);
    font-weight: 600;
    padding: 1px 0;
    border: 0;
    border-radius: var(--ulk-radius-sm);
    background: none;
    color: var(--ulk-acc);
    text-align: left;
    cursor: pointer;
    transition: color var(--ulk-dur) var(--ulk-ease),
                transform var(--ulk-dur) var(--ulk-ease);
}

.ulk-board__move::before {
    content: "→";
    margin-right: 4px;
    color: var(--ulk-faint);
}

.ulk-board__move:hover {
    color: var(--ulk-acc-d);
    text-decoration: underline;
}

.ulk-board__move:hover::before { color: var(--ulk-acc-d); }

.ulk-board__move:active { transform: scale(0.97); }

.ulk-board__move:focus-visible {
    outline: 2px solid var(--ulk-acc);
    outline-offset: 2px;
}

/* --- Доступность движения --- */

/* Человеку, включившему в системе «уменьшить движение» (вестибулярные
   расстройства, укачивание от анимации), движение выключаем полностью,
   а изменения цвета оставляем — они информативны, а не декоративны.
   Блок стоит последним намеренно: он должен переопределять всё выше. */
@media (prefers-reduced-motion: reduce) {
    .university-lk *,
    .ulk-page * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .university-lk button:active,
    .university-lk input[type="submit"]:active,
    .university-lk__button-link:active {
        transform: none;
    }
}

/* Значки-заголовки столбцов учебного плана: РПД, учебник, презентации.
   Нарисованы в Magnific, лежат рядом в images/ и подключены маской, а не
   через <img>: заливка берётся из currentColor, поэтому значок читается
   и в светлой теме, и в тёмной — тем же приёмом, что иконки меню
   модулей (--ulk-icon в правилах .ulk-nav-icon--*).

   Файл значка — контур с дырками (fill-rule: evenodd), без белой
   подложки: подложка сделала бы маску сплошным квадратом. */
.ulk-colicon {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}

.ulk-colicon--rpd {
    -webkit-mask-image: url("images/col-rpd.svg");
            mask-image: url("images/col-rpd.svg");
}

.ulk-colicon--textbook {
    -webkit-mask-image: url("images/col-textbook.svg");
            mask-image: url("images/col-textbook.svg");
}

.ulk-colicon--slides {
    -webkit-mask-image: url("images/col-slides.svg");
            mask-image: url("images/col-slides.svg");
}

/* ── Таблицы модуля «Аспирантура» ────────────────────────────────────
   Один набор классов на все таблицы модуля — кампании, участники,
   чек-лист, рецензенты, состав комиссии и вкладка аспиранта. Раньше
   каждая таблица несла свои инлайновые стили, и они повторяли не
   спецификацию, а соседнюю таблицу: у одной шапка на --ulk-bg, у другой
   на --ulk-acc-l, отступы 6px против 12px.

   Таблица собрана по замерам дизайн-системы (.interface-design/system.md):
   14px, ячейка 12px, шапка 12px/700 на --ulk-acc-l цветом --ulk-acc-d,
   подсветка строки --ulk-surface-tint. Раньше эти значения стояли
   инлайном в PHP и повторяли не спецификацию, а соседнюю таблицу.

   Линейки только горизонтальные. Вертикальные превращают таблицу в
   сетку и спорят с содержимым ячеек: в четырёх графах из шести стоят
   формы, у которых своя рамка у поля и своя у кнопки. */
.ulk-pg-table {
    border-collapse: collapse;
    width: 100%;
    font-size: var(--ulk-fs-sm);
}

.ulk-pg-table th {
    font-size: var(--ulk-fs-xs);
    font-weight: 700;
    text-align: left;
    vertical-align: bottom;
    color: var(--ulk-acc-d);
    background: var(--ulk-acc-l);
    padding: 10px 12px;
    border-bottom: 1px solid var(--ulk-line);
}

.ulk-pg-table td {
    padding: 12px;
    vertical-align: top;
    border-bottom: 1px solid var(--ulk-line);
}

.ulk-pg-table tbody tr:hover {
    background: var(--ulk-surface-tint);
}

/* Номер строки — служебная колонка: приглушён и набран моноширинными
   цифрами, чтобы не спорить с ФИО и не «дрожать» при прокрутке. */
.ulk-pg-table__num {
    width: 1%;
    color: var(--ulk-faint);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ulk-pg-table__name {
    white-space: nowrap;
    font-weight: 600;
}

/* Файл: имя, размер и ряд действий. */
.ulk-pg-file {
    margin-bottom: 8px;
}

.ulk-pg-file:last-child {
    margin-bottom: 0;
}

.ulk-pg-file__name {
    overflow-wrap: anywhere;
}

.ulk-pg-file__meta,
.ulk-pg-table__hint {
    color: var(--ulk-muted);
    font-size: var(--ulk-fs-xs);
}

.ulk-pg-file__actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 2px;
}

/* Крестик удаления. Обычная кнопка ИСУ — заливка акцентом и падинг
   12×20: рядом с двумя ссылками-словами она весит как отдельная форма,
   какой, по сути, и является. Здесь она сведена к знаку: ни заливки,
   ни рамки, ни падинга — цвет проявляется только на наведении, а
   область нажатия остаётся 20×20, то есть попасть в неё можно. */
.university-lk .ulk-pg-file__delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: var(--ulk-fs-md);
    line-height: 1;
    background: transparent;
    border: 0;
    border-radius: var(--ulk-radius-sm);
    color: var(--ulk-faint);
}

.university-lk .ulk-pg-file__delete:hover,
.university-lk .ulk-pg-file__delete:focus-visible {
    background: var(--ulk-no-bg);
    border: 0;
    color: var(--ulk-no);
}

/* Форма вокруг крестика не должна занимать строку: она нужна только
   ради POST с одноразовым ключом. Панель с ней снимает общий класс
   .university-lk__inline-form, здесь остаётся лишь выравнивание —
   inline-flex ставит крестик по одной линии со ссылками рядом. */
.ulk-pg-file__delete-form {
    display: inline-flex;
}

/* Сверка заключения с шаблоном — под самим файлом, а не отдельной
   колонкой: расхождения относятся к конкретному файлу. Замечание
   набрано мелким кеглем и отбито полосой слева — так же, как остальные
   служебные пометки кабинета: это подсказка комиссии, а не отказ. */
.ulk-pg-file__check {
    margin-top: 6px;
    padding: 6px 10px;
    font-size: var(--ulk-fs-xs);
    line-height: 1.45;
    border-left: 3px solid var(--ulk-faint);
    border-radius: 0 var(--ulk-radius-sm) var(--ulk-radius-sm) 0;
}

.ulk-pg-file__check--warn {
    background: var(--ulk-warn-bg);
    border-left-color: var(--ulk-warn);
    color: var(--ulk-warn);
}

.ulk-pg-file__check--ok {
    background: var(--ulk-ok-bg);
    border-left-color: var(--ulk-ok);
    color: var(--ulk-ok);
}

.ulk-pg-file__check--unknown {
    background: var(--ulk-surface-tint);
    color: var(--ulk-muted);
}

.ulk-pg-file__check-title {
    font-weight: 600;
}

.ulk-pg-file__check ul {
    margin: 2px 0 6px;
    padding-left: 18px;
}

.ulk-pg-file__check ul:last-child {
    margin-bottom: 0;
}

/* Ссылка на бланк документа в строке чек-листа. Набрана мельче
   названия и в скобках-«тегом»: это подсказка «форма лежит здесь», а не
   ещё один документ в списке — иначе она спорила бы за внимание с самим
   названием пункта. */
.ulk-pg-template-link {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    font-size: var(--ulk-fs-xs);
    line-height: 1.5;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-sm);
    color: var(--ulk-ink-2);
    text-decoration: none;
    white-space: nowrap;
}

.ulk-pg-template-link:hover,
.ulk-pg-template-link:focus-visible {
    border-color: var(--ulk-acc);
    color: var(--ulk-ink);
}

.ulk-pg-table__empty {
    color: var(--ulk-no);
}

.ulk-pg-table__none {
    color: var(--ulk-muted);
}

/* Формы внутри ячеек: поле и кнопка идут столбиком и не растягивают
   графу. */
.ulk-pg-table__field {
    width: 100%;
    box-sizing: border-box;
    font: inherit;
}

/* Кнопка внутри ячейки. Основная кнопка ИСУ (15px, падинг 11×20,
   сплошная заливка акцентом) в этой таблице повторяется пятнадцать раз
   — по три на строку — и перетягивает внимание с содержимого, ради
   которого сюда пришли: имён, файлов и сроков. Поэтому здесь
   второстепенный вид: та же форма и тот же цвет, но заливка светлая, а
   сплошная появляется на наведении — то есть у той кнопки, к которой
   человек уже потянулся. */
.university-lk .ulk-pg-table__submit {
    margin-top: 6px;
    padding: 7px 14px;
    font-size: var(--ulk-fs-xs);
    background: var(--ulk-acc-l);
    border-color: var(--ulk-line);
    color: var(--ulk-acc-d);
}

.university-lk .ulk-pg-table__submit:hover,
.university-lk .ulk-pg-table__submit:focus-visible {
    background: var(--ulk-acc);
    border-color: var(--ulk-acc);
    color: var(--ulk-on-acc);
}

/* Мета в ячейке таблицы модуля «Аспирантура»: подпись поля, сумма долей,
   размер файла. Отдельный класс, а не <small> с цветом по месту: такие
   подписи стоят в четырёх экранах, и цвет им положен один. */
.ulk-pg-table__meta {
    color: var(--ulk-muted);
    font-size: var(--ulk-fs-xs);
}

/* Расхождение, о котором стоит сказать, но которое не запрещено: сумма
   долей отчёта, разошедшаяся со ста процентами. */
.ulk-pg-table__warn {
    color: var(--ulk-warn);
    font-size: var(--ulk-fs-xs);
}

/* ==========================================================================
   Модуль «Рейтинг»
   Таблица сравнения высших школ и руководителей программ. Балл раздела
   дублируется полоской-спарклайном 0–5: колонка из пяти чисел читается
   взглядом только тогда, когда у чисел есть длина. Разбор показателей
   строки спрятан в <details> — без него таблица разрасталась бы до
   одиннадцати колонок и на ноутбуке не помещалась бы вовсе.
   ========================================================================== */

.ulk-rating-note {
    color: var(--ulk-muted);
    font-size: var(--ulk-fs-sm);
}

/* Таблица шире экрана на ноутбуке и телефоне: горизонтальная прокрутка
   у самой таблицы, а не у страницы. */
.ulk-rating-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ulk-rating-table {
    width: 100%;
    border-collapse: collapse;
}

.ulk-rating-table__place {
    text-align: center;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ulk-rating-table__total {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Строка с разбором не должна выглядеть как ещё одна строка рейтинга:
   у неё нет своих данных, это раскрывашка. */
.ulk-rating-table__detailsrow td {
    padding-top: 0;
    padding-bottom: 6px;
    border-top: none;
}

.ulk-rating-table__detailsrow summary {
    cursor: pointer;
    color: var(--ulk-acc);
    font-size: var(--ulk-fs-sm);
}

.ulk-rating-table__detailsrow summary:focus-visible {
    outline: 2px solid var(--ulk-acc);
    outline-offset: 2px;
}

.ulk-rating-details {
    width: 100%;
    margin-top: 8px;
    font-size: var(--ulk-fs-sm);
}

/* Заголовок группы внутри разбора: отделяет свои показатели от
   показателей соседней группы. */
.ulk-rating-details__group td {
    background: var(--ulk-bg-soft, #f2f4f7);
}

/* Полоска балла 0–5. Ширина задаётся инлайном из расчёта, цвет — общий
   акцент; сама полоска aria-hidden, потому что рядом стоит то же число
   текстом. */
.ulk-rating-bar {
    display: inline-block;
    vertical-align: middle;
    width: 56px;
    height: 6px;
    margin-left: 6px;
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.09);
    overflow: hidden;
}

.ulk-rating-bar__fill {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: var(--ulk-acc);
}

.ulk-rating-formula {
    font-size: var(--ulk-fs-lg, 1.1rem);
    font-weight: 600;
}

/* Раздел методики и пометка «не измеряется»: критерий, для которого
   данных нет, виден в методике, но не должен читаться как обычная
   строка расчёта. */
.ulk-rating-details__section td {
    background: var(--ulk-bg-soft, #f2f4f7);
    border-top: 2px solid var(--ulk-acc);
}

.ulk-rating-details__section.is-unmeasured td {
    border-top-color: var(--ulk-muted);
}

.ulk-rating-table tr.is-unmeasured td,
.university-lk__table tr.is-unmeasured td {
    opacity: 0.72;
}

.ulk-rating-flag {
    font-size: var(--ulk-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 1px 6px;
    border: 1px solid var(--ulk-muted);
    border-radius: 3px;
    color: var(--ulk-muted);
    white-space: nowrap;
}

/* ---------- Модуль «Версия» (includes/modules/version/) ---------- */

.ulk-footer__version {
    margin-left: auto;
    color: var(--ulk-faint);
    font-size: var(--ulk-fs-xs);
    white-space: nowrap;
}

.ulk-ver__lead { margin: 0 0 12px; color: var(--ulk-ink-2); }
.ulk-ver__badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--ulk-radius-sm);
    background: var(--ulk-acc-l);
    color: var(--ulk-acc-d);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.ulk-ver__search { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0 0 16px; }
.ulk-ver__search input[type="search"] {
    flex: 1 1 320px;
    max-width: 560px;
    padding: 10px 12px;
    border: 1px solid var(--ulk-line);
    border-radius: var(--ulk-radius-sm);
    background: var(--ulk-surface);
    font: inherit;
}
.ulk-ver__filter, .ulk-ver__toc { color: var(--ulk-muted); font-size: var(--ulk-fs-sm); margin: 8px 0 12px; }
.ulk-ver__toc { line-height: 1.8; }
.ulk-ver__release h3, .ulk-ver__fresh h3 { margin: 18px 0 6px; font-size: var(--ulk-fs-md); }
.ulk-ver__date { color: var(--ulk-faint); font-weight: 400; font-size: var(--ulk-fs-sm); }
.ulk-ver__items { list-style: none; margin: 0; padding: 0; }
.ulk-ver__item { padding: 8px 0; border-bottom: 1px solid var(--ulk-line); }
.ulk-ver__item.is-fresh { background: var(--ulk-acc-l); padding: 8px 10px; }
.ulk-ver__fresh { border: 1px solid var(--ulk-acc); border-radius: var(--ulk-radius); padding: 4px 14px 10px; margin: 0 0 16px; }
.ulk-ver__text { color: var(--ulk-ink-2); font-size: var(--ulk-fs-sm); }
.ulk-ver__module { font-size: var(--ulk-fs-sm); }
.ulk-ver__type {
    display: inline-block;
    padding: 0 6px;
    border-radius: var(--ulk-radius-sm);
    font-size: var(--ulk-fs-xs);
    background: var(--ulk-line);
    color: var(--ulk-ink-2);
}
.ulk-ver__type--module { background: var(--ulk-acc); color: var(--ulk-on-acc); }
.ulk-ver__type--feature { background: var(--ulk-ok-bg); color: var(--ulk-ok); }
.ulk-ver__type--template { background: var(--ulk-warn-bg); color: #7a5a07; }
.ulk-ver__type--fix { background: var(--ulk-no-bg); color: var(--ulk-no); }
.ulk-ver__archive { margin: 18px 0 0; border: 1px solid var(--ulk-line); border-radius: var(--ulk-radius); background: var(--ulk-surface); }
.ulk-ver__archive > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; color: var(--ulk-ink-2); }
.ulk-ver__archive[open] { padding: 0 14px 10px; }
.ulk-ver__archive[open] > summary { padding-left: 0; }
.ulk-ver__numbering { margin-top: 28px; padding-top: 8px; border-top: 1px solid var(--ulk-line); color: var(--ulk-ink-2); }
.ulk-ver__article { border: 1px solid var(--ulk-line); border-radius: var(--ulk-radius); margin: 0 0 8px; background: var(--ulk-surface); }
.ulk-ver__article > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; }
.ulk-ver__article-body { padding: 0 14px 12px; }
.ulk-ver__who { color: var(--ulk-muted); font-size: var(--ulk-fs-sm); }
.ulk-ver__qa dt { font-weight: 600; margin-top: 10px; }
.ulk-ver__qa dd { margin: 2px 0 0; color: var(--ulk-ink-2); }
.ulk-ver__shot { margin: 12px 0; }
.ulk-ver__shot-frame { position: relative; display: inline-block; max-width: 100%; border: 1px solid var(--ulk-line); border-radius: var(--ulk-radius-sm); overflow: hidden; }
.ulk-ver__shot-frame img { display: block; max-width: 100%; height: auto; }
.ulk-ver__mark {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--ulk-attn);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    line-height: 26px;
    text-align: center;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.9);
}
.ulk-ver__legend { margin: 6px 0 0; padding-left: 22px; color: var(--ulk-ink-2); font-size: var(--ulk-fs-sm); }
.ulk-ver__legend li::marker { color: var(--ulk-attn); font-weight: 700; }
.ulk-ver__bell { font-weight: 600; margin-bottom: 4px; }

/* Источник показателя в «Публикациях»: ⚙ считает ИСУ, ✎ вводится
   вручную. Текст — основным цветом: жёлтый на светло-жёлтом не проходит
   по контрасту, цвет несёт только фон. */
.ulk-src {
    display: inline-block;
    padding: 0 6px;
    border-radius: var(--ulk-radius-sm);
    color: var(--ulk-ink);
    font-size: var(--ulk-fs-xs);
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}
.ulk-src--calc { background: var(--ulk-ok-bg); }
.ulk-src--manual { background: var(--ulk-warn-bg); }
.ulk-src-legend { margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--ulk-line); border-radius: var(--ulk-radius); background: var(--ulk-surface-tint); }
.ulk-src-legend p { margin: 4px 0; }

/* «Предложения»: форма в две строки (модуль + тип, текст + кнопка), на
   узком экране поля переносятся под себя. Активные предложения — в окне
   с прокруткой, чтобы длинный список не уводил банк идей за экран;
   выполненные — свёрнутым «Архивом» (includes/suggestions.php). */
.ulk-sugg-form { max-width: 760px; margin: 0 0 16px; }
.ulk-sugg-form__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; margin: 0 0 10px; }
.university-lk .ulk-sugg-form__row > label { margin-bottom: 0; }
.ulk-sugg-form__grow { flex: 1 1 200px; min-width: 0; }
.ulk-sugg-form__row--end .ulk-sugg-form__grow { flex-basis: 280px; }
.ulk-sugg-form__grow select,
.ulk-sugg-form__grow textarea { display: block; width: 100%; box-sizing: border-box; margin: 0; }
@media (max-width: 600px) {
    .ulk-sugg-form__row--end .button { width: 100%; }
}
.ulk-sugg-scroll { max-height: 70vh; overflow: auto; }
.ulk-sugg-scroll thead th { position: sticky; top: 0; z-index: 1; background: var(--ulk-surface); }
.ulk-sugg-scroll--cards { padding-right: 4px; }
.ulk-sugg-archive { margin-top: 12px; }
.ulk-sugg-archive > summary { cursor: pointer; color: var(--ulk-acc); font-weight: 600; margin-bottom: 6px; }

/* Печать экрана кабинета: каркас «в высоту экрана» на бумаге отрезал бы
   всё, что ниже первого экрана, — на печати страница снова течёт
   целиком. */
@media print {
    .ulk-page {
        display: block;
        height: auto;
        overflow: visible;
    }

    .ulk-layout {
        display: block;
    }

    .ulk-main,
    .ulk-sidebar {
        overflow: visible;
    }
}
