/*
 * Кастомные стили брендинга Staleks.
 *
 * ВАЖНО: браузеру этот файл напрямую не отдаётся. При старте контейнера
 * scripts/apply-branding.mjs подставляет вместо __LOGO__ сам логотип
 * (branding/logo.svg как data:-ссылку), кладёт результат в
 * /app/client/dist/assets/custom-branding.css и вписывает ссылку на него
 * в index.html с версией по хешу содержимого.
 *
 * Так сделано из-за кеша: статику LibreChat отдаёт с max-age 48 часов,
 * поэтому правка логотипа или стилей доходила бы до уже заходивших
 * пользователей только через двое суток. index.html отдаётся с no-store,
 * версия в ссылке меняется вместе с содержимым — правки видны сразу
 * после перезапуска api, чистить кеш браузера не нужно.
 */

/* --- Логотип на странице входа ---------------------------------------
 * В разметке логотип — <img> внутри блока h-10 w-full: высота 40px,
 * ширина во всю страницу. Отсюда две проблемы: логотип мелкий, а его
 * блок растянут на всю ширину (в инспекторе выглядит как полоса с
 * пустотой по бокам).
 *
 * Задаём блоку высоту и пропорцию самого рисунка (4.88:1) — блок точно
 * облегает логотип, — и рисуем логотип фоном. Сам <img> оставляем в
 * разметке прозрачным: он не виден, но остаётся подписью для
 * скринридеров и запасным вариантом, если стили не загрузятся. */
div:has(> img[src$="assets/logo.svg"]) {
  height: 4.5rem !important;
  width: auto !important;
  aspect-ratio: 14681 / 3008;
  align-self: center;
  margin: 0 auto 2rem !important;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPCEtLSBDcmVhdG9yOiBDb3JlbERSQVcgLS0+CjwhLS0gdmlld0JveCDQvtCx0YDQtdC30LDQvSDRgNC+0LLQvdC+INC/0L4g0LPRgNCw0L3QuNGG0LDQvCDRgNC40YHRg9C90LrQsCAoZ2V0QkJveCDQsdGA0LDRg9C30LXRgNCwKToKICAgICDQuNGB0YXQvtC00L3Ri9C5INGF0L7Qu9GB0YIgQ29yZWxEUkFXIDE4Mjg4eDE4Mjg4INCx0YvQuyDQutCy0LDQtNGA0LDRgtC90YvQvCwg0YDQuNGB0YPQvdC+0Log0LfQsNC90LjQvNCw0LsKICAgICDQsiDQvdGR0Lwg0L/QvtC70L7RgdGDIDE0NjgxeDMwMDggKDE2JSDQstGL0YHQvtGC0YspIOKAlCDQuNC3LdC30LAg0L/Rg9GB0YLRi9GFINC/0L7Qu9C10Lkg0LvQvtCz0L7RgtC40L8KICAgICDQstGL0LLQvtC00LjQu9GB0Y8g0LrRgNC+0YjQtdGH0L3Ri9C8LiB3aWR0aC9oZWlnaHQg0LfQsNC00LDQvdGLINCyINC/0YDQvtC/0L7RgNGG0LjQuCDRgNC40YHRg9C90LrQsC4gLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iMTQ2OCIgaGVpZ2h0PSIzMDEiIHZlcnNpb249IjEuMSIgc3R5bGU9InNoYXBlLXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IHRleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgaW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eTsgZmlsbC1ydWxlOmV2ZW5vZGQ7IGNsaXAtcnVsZTpldmVub2RkIgp2aWV3Qm94PSIxODAzLjQxIDc1ODAuMDEgMTQ2ODEuMTkgMzAwOC4xMCIKIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogeG1sbnM6eG9kbT0iaHR0cDovL3d3dy5jb3JlbC5jb20vY29yZWxkcmF3L29kbS8yMDAzIj4KIDxkZWZzPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgIDwhW0NEQVRBWwogICAgLmZpbDEge2ZpbGw6YmxhY2t9CiAgICAuZmlsMCB7ZmlsbDpibGFjaztmaWxsLXJ1bGU6bm9uemVyb30KICAgXV0+CiAgPC9zdHlsZT4KIDwvZGVmcz4KIDxnIGlkPSLQodC70L7QuV94MDAyMF8xIj4KICA8bWV0YWRhdGEgaWQ9IkNvcmVsQ29ycElEXzBDb3JlbC1MYXllciIvPgogIDxnIGlkPSJfMjIxNDc5ODI3Mjc1MiI+CiAgIDxnIGlkPSJfNzk2ODgyNDc4OTkyIj4KICAgIDxnPgogICAgIDxwYXRoIGNsYXNzPSJmaWwwIiBkPSJNNTM1MC41OCAxMDM2MS44NmMxMDYuNDksNzMuMiAyMjYuMjgsMTA2LjQ4IDMzMi43NSwxMDYuNDggMTM5Ljc1LDAgMjEyLjk2LC01OS44OSAyMTIuOTYsLTEzOS43NSAwLC04Ni41MSAtNjYuNTQsLTExOS43OSAtMjI2LjI4LC0xMjYuNDQgLTIxOS42MiwtNi42NiAtMzQ2LjA2LC0zMy4yOCAtMzQ2LjA2LC0xODYuMzQgMCwtMTE5Ljc5IDExMy4xMywtMjEyLjk2IDI5OS40NywtMjEyLjk2IDEyNi40NCwwIDI0Ni4yNCwzOS45MyAzNTIuNzIsMTA2LjQ5bC01My4yMyA5My4xOGMtOTkuODMsLTU5LjkgLTIwNi4zMSwtOTMuMTggLTI5OS40NywtOTMuMTggLTExMy4xNCwwIC0xNzkuNywzOS45MyAtMTc5LjcsMTA2LjQ5IDAsNjYuNTQgNzMuMjEsODYuNTEgMjI2LjI4LDg2LjUxIDIzMi45MywwIDM0Ni4wNyw3OS44NyAzNDYuMDcsMjMyLjkzIDAsMTMzLjEgLTExOS44LDIzOS41OSAtMzE5LjQ1LDIzOS41OSAtMTM5Ljc1LDAgLTI3OS41MSwtMzkuOTMgLTM5OS4zMSwtMTEzLjEzbDUzLjI0IC05OS44MyAwLjAxIC0wLjA0eiIvPgogICAgIDxwb2x5Z29uIGNsYXNzPSJmaWwwIiBwb2ludHM9IjY4NDEuMzMsOTgyMi43OCA2ODQxLjMzLDEwMTA4Ljk2IDYzMzUuNTMsMTAxMDguOTYgNjMzNS41Myw5ODIyLjc4IDYyMjIuNCw5ODIyLjc4IDYyMjIuNCwxMDU0OC4yIDYzMzUuNTMsMTA1NDguMiA2MzM1LjUzLDEwMjE1LjQ0IDY4NDEuMzMsMTAyMTUuNDQgNjg0MS4zMywxMDU0OC4yIDY5NTQuNDYsMTA1NDguMiA2OTU0LjQ2LDk4MjIuNzggIi8+CiAgICAgPHBhdGggY2xhc3M9ImZpbDAiIGQ9Ik03OTEyLjc5IDEwMTg4LjgxYzAsLTE1My4wNyAtMTI2LjQ0LC0yNzkuNTIgLTMyNi4xLC0yNzkuNTIgLTE5OS42NSwwIC0zMjYuMTEsMTE5LjggLTMyNi4xMSwyNzkuNTIgMCwxNTkuNzIgMTI2LjQ0LDI3OS41MiAzMjYuMTEsMjc5LjUyIDE5OS42NCwwIDMyNi4xLC0xMjYuNDQgMzI2LjEsLTI3OS41MnptLTc3MS45OSAwbDAgMGMwLC0yMTIuOTYgMTc5LjY5LC0zODYgNDQ1Ljg5LC0zODYgMjY2LjIsMCA0NDUuODgsMTczLjAzIDQ0NS44OCwzODYgMCwyMTIuOTYgLTE3OS42OSwzODYgLTQ0NS44OCwzODYgLTI2Ni4yMSwwIC00NDUuODksLTE3My4wMyAtNDQ1Ljg5LC0zODZ6Ii8+CiAgICAgPHBhdGggY2xhc3M9ImZpbDAiIGQ9Ik04NzQ0LjY4IDEwMTI4LjkxYzc5Ljg3LDAgMTE5LjgsLTM5LjkyIDExOS44LC05OS44MiAwLC01OS45IC0zOS45MywtOTkuODIgLTExMy4xNCwtOTkuODJsLTQxOS4yNiAwIDAgMTk5LjY0IDQxMi42MiAwIC0wLjAyIDB6bS00MTIuNiA0MTkuMjlsMCAwIC0xMTMuMTQgMCAwIC03MjUuNDEgNTI1Ljc2IDBjMTUzLjA3LDAgMjMyLjkyLDc5Ljg3IDIzMi45MiwyMDYuMzEgMCwxMTMuMTQgLTc5Ljg2LDIwNi4zMiAtMjE5LjYxLDIwNi4zMmwtNDI1LjkzIDAgMCAzMTIuNzkgMCAtMC4wMXoiLz4KICAgICA8cGF0aCBjbGFzcz0iZmlsMCIgZD0iTTk4NjkuNCAxMDQ4MS42NGMtOTkuODMsMCAtMTY2LjM5LC01OS45IC0xNjYuMzksLTE0Ni40MiAwLC03OS44NiA1OS45LC0xNDYuNDEgMTY2LjM5LC0xOTNsMjEyLjk1IDI0Ni4yNGMtNjYuNTQsNjYuNTQgLTEzOS43NSw5My4xOCAtMjEyLjk1LDkzLjE4em0zNjYuMDMgLTc5Ljg2bDAgMGMyNi42MiwtMjYuNjEgNDYuNTksLTQ2LjU4IDY2LjU0LC03My4ybDYuNjYgLTYuNjYgLTczLjIgLTkzLjE4IC02LjY2IDEzLjMxYy0yNi42MiwyNi42MSAtNDYuNTksNDYuNTkgLTY2LjU1LDY2LjU0bC0zMzIuNzUgLTM5Mi42NSAzMzkuNDEgMCAtNjYuNTQgLTk5LjgyIC01MDUuNzggMCAyMDYuMzEgMjQ2LjIzYy0xNDYuNDIsNzMuMjEgLTIxMi45NiwxNTkuNzMgLTIxMi45NiwyNzkuNTIgMCwxNDYuNDEgMTA2LjQ5LDI0Ni4yNCAyNzkuNTIsMjQ2LjI0IDEwNi40OCwwIDE4Ni4zNCwtMzMuMjggMjg2LjE2LC0xMTMuMTNsNzMuMjEgODYuNTEgMTQ2LjQxIDAgLTEzOS43NSAtMTU5LjcyIC0wLjAzIDAuMDF6Ii8+CiAgICAgPHBhdGggY2xhc3M9ImZpbDAiIGQ9Ik0xMDk0MC44NyAxMDM2MS44NmMxMDYuNDksNzMuMiAyMjYuMjksMTA2LjQ4IDMzMi43NiwxMDYuNDggMTM5Ljc1LDAgMjEyLjk1LC01OS44OSAyMTIuOTUsLTEzOS43NSAwLC04Ni41MSAtNzMuMiwtMTE5Ljc5IC0yMjYuMjgsLTEyNi40NCAtMjE5LjYyLC02LjY2IC0zNDYuMDYsLTMzLjI4IC0zNDYuMDYsLTE4Ni4zNCAwLC0xMTkuNzkgMTEzLjEzLC0yMTIuOTYgMjk5LjQ3LC0yMTIuOTYgMTI2LjQ1LDAgMjQ2LjI0LDM5LjkzIDM1Mi43MywxMDYuNDlsLTU5LjkgOTMuMThjLTkzLjE4LC01OS45IC0xOTkuNjUsLTkzLjE4IC0yOTIuODMsLTkzLjE4IC0xMTkuNzksMCAtMTg2LjM0LDM5LjkzIC0xODYuMzQsMTA2LjQ5IDAsNjYuNTQgNzMuMjEsODYuNTEgMjI2LjI5LDg2LjUxIDIzOS41OSwwIDM1Mi43Miw3OS44NyAzNTIuNzIsMjMyLjkzIDAsMTMzLjEgLTExOS44LDIzOS41OSAtMzE5LjQ0LDIzOS41OSAtMTM5Ljc1LDAgLTI4Ni4xNywtMzkuOTMgLTM5OS4zMiwtMTEzLjEzbDUzLjI0IC05OS44MyAwLjAxIC0wLjA0eiIvPgogICAgIDxwb2x5Z29uIGNsYXNzPSJmaWwwIiBwb2ludHM9IjExODA2LjA0LDk4MjIuNzggMTE4MDYuMDQsMTA1NDguMiAxMjUxOC4xNCwxMDU0OC4yIDEyNTE4LjE0LDEwNDQ4LjM3IDExOTE5LjE4LDEwNDQ4LjM3IDExOTE5LjE4LDEwMjE1LjQ0IDEyMjkxLjg3LDEwMjE1LjQ0IDEyMjkxLjg3LDEwMTA4Ljk2IDExOTE5LjE4LDEwMTA4Ljk2IDExOTE5LjE4LDk5MjkuMjcgMTI0OTEuNTIsOTkyOS4yNyAxMjQ5MS41Miw5ODIyLjc4ICIvPgogICAgIDxwYXRoIGNsYXNzPSJmaWwwIiBkPSJNMTMxODMuNjQgMTAxMjguOTFjNzkuODcsMCAxMTkuOCwtMzMuMjggMTE5LjgsLTk5LjgyIDAsLTY2LjU0IC0zOS45MywtOTkuODIgLTExOS44LC05OS44MmwtMzg2IDAgMCAxOTkuNjQgMzg2IDB6bS0zODUuOTkgNDE5LjI5bDAgMCAtMTEzLjEzIDAgMCAtNzE4Ljc2IDQ5OS4xNCAwYzE0Ni40MSwwIDIzOS41OSw3My4yMSAyMzkuNTksMTk5LjY1IDAsOTkuODIgLTczLjIxLDE4Ni4zNCAtMTc5LjY5LDIwNi4zMWwxOTkuNjQgMzEyLjggLTEyNi40NCAwIC0xOTkuNjUgLTMxMi44IC0zMTkuNDQgMCAwIDMxMi44IC0wLjAyIDB6Ii8+CiAgICAgPHBvbHlnb24gY2xhc3M9ImZpbDAiIHBvaW50cz0iMTQxODEuOTEsOTgyMi43OCAxMzkxNS43MSwxMDM2OC41IDEzNjQyLjg1LDk4MjIuNzggMTM1MjMuMDYsOTgyMi43OCAxMzg4Mi40NCwxMDU0OC4yIDEzOTQyLjM0LDEwNTQ4LjIgMTQzMDguMzYsOTgyMi43OCAiLz4KICAgICA8cG9seWdvbiBjbGFzcz0iZmlsMCIgcG9pbnRzPSIxNDQ0OC4xMiwxMDU1NC44NCAxNDU2MS4yNiwxMDU1NC44NCAxNDU2MS4yNiw5ODIyLjc4IDE0NDQ4LjEyLDk4MjIuNzggIi8+CiAgICAgPHBhdGggY2xhc3M9ImZpbDAiIGQ9Ik0xNTU3OS40OCAxMDM3NS4xN2MtNzkuODYsMTI2LjQ0IC0yMTIuOTUsMTk5LjY0IC0zODYsMTk5LjY0IC0yNTkuNTQsMCAtNDM5LjI0LC0xNjYuMzggLTQzOS4yNCwtMzg2IDAsLTIxMi45NiAxNzkuNywtMzg2IDQzOS4yNCwtMzg2IDE1OS43MiwwIDI5Mi44Myw2Ni41NCAzNzIuNjgsMTczLjAzbC05My4xOCA2Ni41NGMtNTkuODksLTg2LjUxIC0xNTkuNzIsLTEzMy4xIC0yNzkuNTEsLTEzMy4xIC0xOTMuMDEsMCAtMzI2LjExLDExOS43OSAtMzI2LjExLDI3OS41MiAwLDE1OS43MiAxMzkuNzUsMjc5LjUxIDMyNi4xMSwyNzkuNTEgMTI2LjQ0LDAgMjI2LjI4LC01My4yMyAyOTkuNDcsLTE1OS43Mmw4Ni41MSA2Ni41NSAwLjAzIDAuMDN6Ii8+CiAgICAgPHBvbHlnb24gY2xhc3M9ImZpbDAiIHBvaW50cz0iMTU3NzIuNDksOTgyMi43OCAxNTc3Mi40OSwxMDU0OC4yIDE2NDg0LjYsMTA1NDguMiAxNjQ4NC42LDEwNDQ4LjM3IDE1ODg1LjYzLDEwNDQ4LjM3IDE1ODg1LjYzLDEwMjE1LjQ0IDE2MjU4LjMxLDEwMjE1LjQ0IDE2MjU4LjMxLDEwMTA4Ljk2IDE1ODg1LjYzLDEwMTA4Ljk2IDE1ODg1LjYzLDk5MjkuMjcgMTY0NTcuOTYsOTkyOS4yNyAxNjQ1Ny45Niw5ODIyLjc4ICIvPgogICAgPC9nPgogICAgPHBhdGggY2xhc3M9ImZpbDAiIGQ9Ik02NTIxLjg3IDgyODUuNDZjLTg2LjUyLC0zOS45MyAtMTg2LjM0LC01OS45IC0yNzkuNTIsLTczLjIxIC0xMzkuNzUsLTEzLjMxIC0yNzkuNTEsLTI2LjYyIC00MTIuNjIsLTQ2LjU5IC00Ni41OSwtNi42NiAtOTMuMTgsLTYuNjYgLTEzOS43NSwtMjYuNjEgLTMzLjI4LC0xMy4zMSAtNjYuNTQsLTMzLjI4IC04Ni41MSwtNjYuNTUgLTEzLjMxLC0zMy4yOCAtMTkuOTgsLTczLjIxIC02LjY3LC0xMDYuNDggMTMuMzEsLTQ2LjU5IDQ2LjU5LC03OS44NyA5My4xOCwtOTkuODMgNjYuNTQsLTMzLjI4IDE0Ni40MSwtMzkuOTMgMjE5LjYyLC00Ni41OSAxNTMuMDcsLTYuNjYgMjk5LjQ3LDAgNDM5LjI0LDQ2LjU5IDc5Ljg3LDI2LjYyIDE1My4wNyw2Ni41NSAyMjYuMjgsMTEzLjEzIDM5LjkzLC02Ni41NCA4Ni41MiwtMTMzLjEgMTI2LjQ0LC0xOTkuNjQgLTExMy4xMywtNzkuODcgLTIzOS41OSwtMTM5Ljc2IC0zNzkuMzQsLTE2Ni4zOSAtOTMuMTgsLTI2LjYyIC0xOTMsLTI2LjYyIC0yOTIuODIsLTMzLjI4bC01OS45IDBjLTExMy4xNCw2LjY2IC0yMzIuOTMsMTkuOTcgLTMzOS40Miw1My4yNCAtOTMuMTcsMzMuMjggLTE4Ni4zNCw5My4xNyAtMjQ2LjIzLDE3OS42OSAtNTkuOSw4Ni41MiAtNjYuNTUsMTk5LjY1IC00Ni41OSwyOTkuNDcgMTMuMzEsNjYuNTUgNDYuNTksMTI2LjQ0IDkzLjE3LDE2Ni4zOSA1My4yNCw1My4yMyAxMTkuOCw3OS44NyAxODYuMzQsOTkuODIgNjYuNTUsMTkuOTcgMTM5Ljc1LDMzLjI4IDIxMi45NiwzOS45MyAxMzkuNzUsMTMuMzEgMjcyLjg2LDMzLjI4IDQwNS45Niw0Ni41OSA1My4yNCw2LjY2IDEwNi40OSwxMy4zIDE1OS43MiwzMy4yOCAzMy4yOCwxMy4zIDY2LjU1LDM5LjkyIDg2LjUyLDczLjIgMTkuOTcsNTkuOSAxOS45NywxMjYuNDQgLTE5Ljk3LDE3My4wMyAtMzkuOTMsNTMuMjQgLTk5LjgzLDc5Ljg3IC0xNTkuNzMsOTMuMTggLTEyNi40NCwzOS45MyAtMjY2LjIsMzMuMjggLTM5OS4zMSwxOS45NyAtMTc5LjY5LC0xMy4zMSAtMzUyLjcyLC03OS44NyAtNDk5LjEzLC0xODYuMzQgLTM5LjkzLDczLjIxIC03OS44NywxMzkuNzUgLTEyNi40NSwyMTIuOTYgMTE5LjgsNzkuODcgMjQ2LjI0LDE0Ni40MSAzNzkuMzUsMTc5LjY5IDExMy4xMywyNi42MiAyMjYuMjgsMzMuMjggMzM5LjQxLDM5LjkzbDQ2LjU5IDBjMTY2LjM4LC02LjY2IDMzMi43NSwtMjYuNjIgNDc5LjE2LC05OS44MyA5OS44MywtNTMuMjMgMTg2LjM0LC0xMzkuNzUgMjEyLjk2LC0yNDYuMjMgMjYuNjIsLTEwNi40OSAxOS45NywtMjE5LjYyIC0zMy4yOCwtMzE5LjQ1IC0zOS45MywtNjYuNTQgLTEwNi40OSwtMTE5Ljc5IC0xNzkuNjksLTE1My4wN2wwLjAzIDB6bTMyODAuOTggNzc4LjY0Yy0yNi42MiwtNzMuMjEgLTQwNS45NiwtOTU4LjMzIC01MDUuNzgsLTEyMTEuMjMgLTU5LjksMCAtMTEzLjEzLDAgLTE2Ni4zOSwwIC03OS44NiwxNzkuNjkgLTIxOS42Miw1MTkuMDkgLTI5Mi44Miw3MDUuNDRsNzQ1LjM3IDAgLTg1OC41IDI1OS41NSAtMTA2LjQ5IDI0Ni4yNGMwLDAgLTE5MywwIC0yODYuMTYsMCAyMTIuOTUsLTQ3OS4xNyA0MTkuMjYsLTk2NSA2MzIuMjQsLTE0NTAuODJsNTA1Ljc4IDBjMjA2LjMxLDQ4NS44MiA0MTIuNjIsOTcxLjY0IDYxOC45MywxNDUwLjgybC0yODYuMTYgMCAtMC4wMiAwem0yMjk2LjAyIC0yMzkuNThsMCAtMzEyLjggOTMxLjcxIC0yODYuMTYgLTkzMS43MSAwYzAsLTExMy4xMyAwLC0yNTIuOSAwLC0zNzIuNjggMzQ2LjA2LDYuNjYgNjkyLjE0LDAgMTAzMS41NCwwbDAgLTIzOS41OSAtMTI5Ny43NSAwYzAsNDg1LjgzIDAsOTcxLjY0IDAsMTQ1MC44MmwxMzM3LjY3IDBjMCwtNzkuODcgMCwtMTU5LjcyIDAsLTIzOS41OSAtMzUyLjcyLDAgLTcxMi4wOSwwIC0xMDcxLjQ4LDBsMC4wMiAwem0tMzY5My41OSAtOTcxLjY1bDAgLTIzOS41OWMtNDk5LjEzLDAgLTEwMDQuOTIsMCAtMTUwNC4wNSwwIDAsNzkuODYgMCwxNTkuNzIgMCwyMzkuNTkgMjA2LjMxLDAgNDEyLjYyLDAgNjE4LjkzLDYuNjZsMCAxMjA0LjU4IDI2Ni4yMSAwIDAgLTEyMTEuMjNjMjA2LjMxLDYuNjYgNDEyLjYyLDAgNjE4LjkzLDBsLTAuMDIgLTAuMDF6bTYwMjkuNTMgMzkyLjY1bDQzMi41OCAtNjMyLjI0IC0yOTkuNDcgMCAtMzkyLjY1IDU2NS42OCAtNTA1Ljc4IDAgMCAtNTY1LjY4IC0yNjYuMjEgMCAwIDE0NTAuODIgMjY2LjIxIDAgMCAtNjQ1LjU1IDUxOS4wOSAwIDM5OS4zMSA2NDUuNTUgMzE5LjQ0IDAgLTQ5OS4xMyAtNzcxLjk5YzAsMCAwLC02LjY3IDAsLTYuNjcgMCwwIDAsMCAwLDBsMjYuNjEgLTM5Ljkyem0tMzg3My4yOCAtNjI1LjU4bDAgLTYuNjYgLTI2Ni4yIDAgMCAxNDUwLjgyYzQzOS4yMywwIDg3MS44MSwwIDEzMTEuMDUsMCAwLC03OS44NyAwLC0xNTkuNzMgMCwtMjM5LjU5IC0zNDYuMDYsMCAtNjk4Ljc4LDAgLTEwNDQuODUsMCAwLC0zOTkuMzIgMCwtODA1LjI3IDAsLTEyMDQuNTlsMCAwLjAyem01ODQ5Ljg2IDgzMS44OWMtMzkuOTMsLTY2LjU1IC05OS44MywtMTE5LjggLTE2Ni4zOSwtMTU5LjcyIC05My4xNywtNDYuNTkgLTE5OS42NCwtNjYuNTUgLTI5OS40NywtNzkuODcgLTEzOS43NSwtMTMuMzEgLTI3Mi44NSwtMjYuNjIgLTQxMi42MiwtNDYuNTkgLTU5LjksLTYuNjYgLTExOS43OSwtMTMuMzEgLTE2Ni4zOCwtMzkuOTMgLTMzLjI4LC0xMy4zMSAtNTkuOSwtMzkuOTMgLTY2LjU1LC03My4yIC0xMy4zMSwtMzkuOTMgLTYuNjYsLTc5Ljg3IDYuNjcsLTExMy4xNCAxOS45NywtMzkuOTIgNTkuODksLTY2LjU0IDk5LjgyLC03OS44NyA3My4yMSwtMjYuNjEgMTQ2LjQxLC0zOS45MiAyMjYuMjgsLTM5LjkyIDExOS44LC02LjY3IDIzOS41OSwwIDM1OS4zNywzMy4yOCA5OS44MywxOS45NyAxOTkuNjUsNjYuNTQgMjg2LjE2LDEyNi40NCAzOS45MywtNjYuNTUgODYuNTIsLTEzMy4xMSAxMjYuNDUsLTE5OS42NSAtODYuNTIsLTU5LjkgLTE4Ni4zNCwtMTEzLjEzIC0yOTIuODMsLTE0Ni40MSAtMTE5Ljc5LC0zOS45MyAtMjUyLjksLTQ2LjU5IC0zNzkuMzQsLTUzLjI0bC01OS45IDBjLTEyNi40NCw2LjY2IC0yNTkuNTQsMTkuOTcgLTM3Mi42OCw3My4yMSAtODYuNTEsMzMuMjggLTE2Ni4zOCw4Ni41MSAtMjEyLjk1LDE2Ni4zOCAtNTkuOSw5My4xOCAtNjYuNTUsMjEyLjk2IC0zOS45MywzMTkuNDUgMTkuOTcsNzkuODYgNzkuODcsMTQ2LjQxIDE0Ni40MSwxODYuMzQgOTMuMTgsNTMuMjMgMTk5LjY1LDc5Ljg2IDMwNi4xNCw5My4xNyAxNTMuMDcsMTMuMzEgMzA2LjEzLDMzLjI4IDQ1OS4yMSw0Ni41OSA1OS44OSw2LjY2IDExMy4xMywxMy4zMSAxNTkuNzIsMzkuOTMgMzMuMjgsMTkuOTcgNTkuOSw0Ni41OSA2Ni41NCw3OS44NyAxOS45Nyw0Ni41OSAxMy4zMSwxMDYuNDggLTEzLjMxLDE1My4wNyAtMzMuMjgsNDYuNTkgLTc5Ljg2LDczLjIxIC0xMjYuNDQsODYuNTIgLTg2LjUxLDMzLjI4IC0xNzkuNjksMzkuOTIgLTI2Ni4yMSw0Ni41OSAtMTMzLjEsMCAtMjU5LjU0LC0xMy4zMSAtMzg2LC01My4yNCAtOTkuODIsLTMzLjI4IC0xOTMsLTg2LjUyIC0yODYuMTYsLTE0Ni40MSAtMzkuOTMsNzMuMiAtNzkuODcsMTM5Ljc1IC0xMjYuNDUsMjEyLjk1IDkzLjE4LDU5LjkgMTkzLjAxLDExOS44IDI5OS40OCwxNTMuMDggMTMzLjEsNDYuNTkgMjcyLjg1LDU5LjkgNDE5LjI3LDY2LjU0bDUzLjIzIDBjMTQ2LjQxLC02LjY2IDI5OS40NywtMTkuOTcgNDM5LjI0LC04Ni41MSA5My4xOCwtMzkuOTMgMTczLjAzLC05OS44MyAyMTkuNjIsLTE4Ni4zNCAyNi42MiwtNTMuMjQgMzkuOTMsLTExMy4xMyA0Ni41OSwtMTY2LjM4bDAgLTQ2LjU5Yy02LjY2LC01OS45IC0xOS45NywtMTE5LjggLTQ2LjU5LC0xNjYuMzlsMCAtMC4wMXoiLz4KICAgIDxwYXRoIGNsYXNzPSJmaWwxIiBkPSJNNDE1Mi42NiA5ODIyLjc4YzAsODYuNTEgLTUzLjI0LDE2Ni4zOCAtMTI2LjQ0LDIwNi4zMWwtMTA0NC44NSA1MjUuNzUgMCAtNTU5LjAzIDYxMi4yNyAtODU4LjUxYzI2LjYyLC0zOS45MiAxMy4zMSwtOTkuODIgLTMzLjI4LC0xMTkuNzlsLTQ5Mi40NyAtMjUyLjljLTUzLjI0LC0yNi42MiAtODYuNTIsLTc5Ljg3IC04Ni41MiwtMTM5Ljc1bDAgLTQ2NS44NmMxNDYuNDEsNzMuMjEgNzI1LjQsMzM5LjQyIDk4NC45Nyw0OTIuNDggNTMuMjMsMzMuMjggODYuNTEsNDYuNTggMTEzLjEzLDczLjIgNDYuNTksNDYuNTkgNzMuMjEsMTA2LjQ5IDczLjIxLDE2Ni4zOWwwIDkzMS43MSAtMC4wMiAwem0tMjIyMi44MSAtMTcwMy43MWMtNzkuODcsMzkuOTMgLTEyNi40NCwxMTkuOCAtMTI2LjQ0LDIxMi45NmwwIDQ1Mi41NSAwIDE5Ljk3IDAgNDUyLjU1YzAsODYuNTEgNTMuMjMsMTY2LjM4IDEyNi40NCwyMDYuMzFsMTA1MS41MSA1MzIuNDIgMCAtNDcyLjUyYzAsLTU5LjkgLTM5LjkzLC0xMTMuMTQgLTkzLjE4LC0xMzkuNzVsLTQ5Mi40OCAtMjUyLjljLTQ2LjU4LC0xOS45NyAtNTkuODksLTc5Ljg3IC0zMy4yNywtMTE5LjhsNjE4LjkzIC04NTEuODYgMCAtNTQ1LjcyYy0zMy4yOCwwIC0zOS45MywwIC01OS45LDYuNjYgLTYuNjYsNi42NiAtMjYuNjIsMTMuMzEgLTQ2LjU5LDI2LjYyIC0xOS45Nyw2LjY2IC0zMy4yOCwxMy4zIC01My4yNCwyNi42MSAtMTM5Ljc1LDczLjIxIC0yODYuMTYsMTM5Ljc1IC00MjUuOTMsMjEyLjk2IC0xNTMuMDcsNzkuODcgLTMxMi43OSwxNTkuNzIgLTQ2NS44NSwyMzIuOTNsMCAwLjAxeiIvPgogICA8L2c+CiAgPC9nPgogPC9nPgo8L3N2Zz4K");
  background-position: center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}
div:has(> img[src$="assets/logo.svg"]) > img {
  opacity: 0;
}

/* --- Композиция страницы входа ---------------------------------------
 * Логотип и форма — одна группа по центру экрана. По умолчанию логотип
 * прижат кверху, а форма центрируется в оставшемся месте (main с
 * flex-grow), из-за чего между ними провал. Привязка через :has(логотип),
 * чтобы правило не задело остальной интерфейс. */
div.flex.min-h-screen.flex-col:has(img[src$="assets/logo.svg"]) {
  justify-content: center !important;
}
div.flex.min-h-screen.flex-col:has(img[src$="assets/logo.svg"]) > main {
  flex-grow: 0 !important;
}
