/* Общая шапка пяти экранов кухни: табло отдачи, витрина, переброска, точность
   и ассистент iiko. Файл один на все страницы — вместе с header.js его тянет
   и ассистент, который живёт другим сервисом (/assistant/), поэтому здесь
   нет ни одного цвета мимо токенов: набор переменных у страниц одинаковый
   (tokens.css у табло, свой такой же блок в assistant.html).

   Все классы с приставкой lmh-: на страницах уже заняты .chip, .hours, .pt,
   .bar, .nav — совпадение имён ломало бы вёрстку самих страниц. Исключение —
   выбор дня в конце файла (.datenav, .dnbar, .daybar): это компонент страниц,
   а не шапки, и имя .datenav страницы носили и раньше.

   Шапка живёт ВНЕ .wrap: это полоса во всю ширину со своей заливкой, а её
   содержимое выровнено по той же сетке (max-width 1500 + поля 22). */
/* Шапка прибита к верху: разделы нужны на любой глубине
   страницы — на табло под ней ещё разбор дня, на переброске таблица позиций
   по всем точкам. Прокручивать экран назад ради переключения — лишняя работа.
   z-index ниже раскрытого во весь экран графика (60) и подсказок: они должны
   перекрывать шапку, а не наоборот. */
header.lmh{
  display:block;margin:0;background:var(--surface);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;flex:none}
/* Типографика оболочки не наследует локальные стили страницы. */
header.lmh,.lms,.lma,.lms-menu{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.4}
/* якорь внутри страницы не должен вставать ПОД шапку */
:target{scroll-margin-top:76px}
.lmh a{text-decoration:none;color:inherit}
/* ширина как у .wrap страницы: у витрины полоса уже (1280), у остальных 1500 */
.lmh-in{display:flex;align-items:center;gap:14px;max-width:var(--lmh-max,1500px);margin:0 auto;padding:0 22px}
/* Три колонки (28.09.2026, вариант 1): знак слева, разделы посередине, тема
   справа. Боковые колонки растут поровну от нуля — поэтому разделы
   стоят ровно по центру, пока правая часть не шире знака; ужать их ниже
   собственного содержимого нельзя (max-content), и тогда жмётся ряд разделов —
   это и ловит лестница сжатия ниже. */
.lmh-brand{display:flex;align-items:center;flex:1 1 0;min-width:max-content;min-height:58px}
.lmh-nav{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;overflow:hidden;min-height:58px}
.lmh-ctx{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 0;min-width:max-content;min-height:58px}
/* Знак кофейни — тот же файл, что в ЛК (Lk/static/pwa/logo-mask.png, 800×95),
   встроен сюда, чтобы шапке не нужен был свой маршрут на сервере. Цвет даёт
   маска: заливка --ink, в тёмной теме знак светлый сам. */
.lmh-logo{--lmh-logo:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAABfBAMAAADiwr7SAAAAMFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaPxwLAAAAEHRSTlMAESIzRFVmd4iZqrvM3e7/dpUBFQAAEd5JREFUeNrtnWuIY1cdwO9M3kk/DKXSxyYwSrsW6QwpFqvQZka3aFFspqVU8IN3qrUIlWYVpS6IWcW2abXMCIIV22YUKiVbzFifu8XGXVGkIGFSWrSuHZjdrtatmw+dnVcyuc5MHvecc/+vm8zMfun9mHtz77nnd87/fc61rD6Pa48ce6PutE6feORj1rvHLh7D95vHF0f4f1331KLTPTaP3+W94KB51/vwh6a7P3/8fvr4PP2QL8BtDehXTVLvdUW7B0aJS94DNu3uQ+8l/nMQfZODnq6/w/Ecp1iID9S1P7SeNd8gVPfc9afK6c9pZ97s/HqNwxybemcGF43z02BrH9Qv2iDGW6DavuYcfslQFWnc/15++EbkP97eaE3BZ16xrEXvrdcZHsGnPX/5R1q/JOW964ryUvpDNztdlOOAOCe1hyTM00tgD9ZF2HaOse41+DSKEs1r/hyeWkBv1OAzDcsC7ttgeJSB/7ylE5kgMQ8bE6zzGjMskBrcfQBz9wibVx3FXy3fvWYOvSRBNvC/d0L/AXpjuX0mY86cEf9AhotgU/4zcumBNEQ9SACpdK850ycQp3mvLyDmma2u8A3kQaQpr156IE4aaG9GDiRAzzUJEKc5tc9AcM179NIDgfp6Rg4kIugCDoizPrKvQAJVtCWNkUsOZEFiFeFAkvRckwFxXthXIHcQLTl1yYEsAyanIweSEVzEA9kcHUCpj0Jm7wbOQ7ebWxewlox777qKWqItsdlbwwY03vKY5yLc7J3BDGzyfoxxDvfGEnxmywMAdPQrOBDVo3vr64c+eNNnXgKnSIRuZh5EdcAnEMDf8spvT2c0ccewSs61zuxeZFu5geum3nEYtskvbimFbxQeU17s94XCo3jgIKBc+Zv2iw1/E3zX2wuFXygd9WThEbUfgoXCE50zzxUKXS9s6EuFQkVxNgu947FFCIh1c6HwNDf69Wm39Xr34g6WcuEaetX7C4XvK6+8077H/1YnW/GJQkFx3hqFwtd6Z9QX+OejaVMYr9A+oSK1f92TP8oc0/ypYF0FjyjbN1FHuKGOixtAINvjQdfZ87hrQXez6YRvUgG9obIZEBq6uYJOZM90noZfoPXDEa8zO08DqUCvFqggPF2R/EfUK55FxcYyoJqBN7U1IGdw14LUDF6dNEVdOW7aI1strDLci0hkqvcCP4Pm6izZ4gg8K13XpJWGjZYaqkE9QaMy2Lcdu6zG+X2rdOiJHm9Z9dJZETplIl3FTK8c0sYu3HOWfyAZZCpU4Dc+QIqsRVjDwkA6j2CBeO6X8gFkxmHEDglEtVSmfQDpDIPWZB9AKoiZnoJBRShzNIhMbgRIXgbEM+NsORA9Bn3RN5AYoksZIBXgeUIgYdAp1/6vTVbX/2uNIvb8shRIVghkFrsdDyQkdcYQIArQBTmQKDTEgz4lp3MWU1hd+9rsjWkkR3BSCiQlBGJ0hRETIIHEwPCBHIhiYb8jB2JDQ1wIJIdeNgZ3iE30hI1EKBAgMSGQi6RLNi+06Zk8FgIkRco7GEjXs6tZ/oG4U9IzeqKwEkkRubwiEsNDgISFQAxJc8AHEFt+LQwkhht7KJAkaGXLgITxHK8rGZqWrIUdI8uSAmk/gQdijJUJH0CMROgZ30DCZBIcBlIG+0cGJEEEesqgmRPEA8ghbCQhQNrGCA9EV2JmAHlebGTBo5wGEiAtAhBIFDbLZEAyhMNrg3dQchFpUIO+IwcyIwQyT3XyvEgA8EkIGIj7NDEQG/YkZUDyRLIA0er4X8awDsKAZIVAlqlkCAUkLskHk0DcsE9DCKSr0s9a/QCpOniRTBw2MPBJZQPyhQQyhsSiTCBrVCfPS+JTgmIIBEjF7wxJgnJWCCRAhWoisD7D1U7ZG/qigcSR5mW8KR68k+dFRj0fidwtIGXkchGQCGVDuLSasFxeg8yyhiUHsj27N0cFRSVTaCKMBlIW5IOlQIRWVgRDLwKSoOwPRXumQXPYmFVh1JDBgFi3OM6vJFU+c3AKkAMy7KeAkwOyJgNiQzFyMZAx0g+twB5uGdE7CbT0EwUydM99lgRIDU4BckC8aVYiR8UpdZmn3h2uK1ZfQCZIl6kI60IbufM42j9liWNGAVkxbevjVQmQjk9//lhdkKNCzN46Je28QJJop4uA5Eltl4dfOoVE/XJouGhgIA3j6StK6mieu08jvS0a2QJfGEiQTKZ4gRTB0LkYSJl8LRtuTAyRc2U0oDowEEUi2+1udUfuPDfeFtSyklrfoZN5CZAIXrMvAlIhL0IEWhCOJrSl54a1F0AUo77SETxVAZBqb87m+YoPGEgcid8gQLK4ZJQAUeyoo2S/LMPepDYdIvgLDw7kpIZ9u8sEQAJuIzN8jgoGMgaXFiBAujNxzeoPiJLqOUzaYCuIbpkWGVm7AGRZi9ytWSIgUVf/JPgcFZOg2rAEQG4l2iQBEqQrZJKIC5gBVWQGV5qDA1nX2nRWBiTpDqYIOfKIFG6VdCkNXN31eJCzKwISdhxqvVcC8afiYI4KN7JcIO/4ArL5htd/yHYZCIBk3UEQ4G0AEEiENuZy2oAenqHgSYBE6GxzHAlbh0FRVsEdrzJSSEED2bzr8m95ZnCxO8oFQGaU8/w6KhBIhlQhCpBzo0PXPUH2uARIlKpoVu3bJmILNMyo8wZjXf/1oc4xyQM5pYba5xQ/bWf08EA6zTys671VP0Bcc3mVC16+rZQCp/sFEqNDCujpIvDoCFH5BKwoXeOBTKn/XFIm54YlAhJU534GHlsMkFsZhxJebAGObhGQOA0kip22AWs5gRYvgUCoVFG793ZeK2uM0ERPRPNAYuokTjjc6uiktz+vrDML4WEgTWvPgRjMU0DFdYZ4FgRkmgOy06SkIRwzPaeEB5JSSUbY7kh6mnawCu6QwALZ7HuGJOh7oDo/CniMeSJ2BwGZEgGJGAM735uWPBBbVeIBNkflAvn3+7aPDz1eZwUssj4sPTiQpi8jLAC0tEpEt/ufIa65etR9SloGpKidrnAFvkl1Wd+FC2p5ZHPSH5DD+w3EfbsegQA1kvoH4j5pofdSDUsERDOylL5bl6wk0ZX0ty1/QGr7DiTnUZFRavT1L7LcJy339PSKDEhIFx8Z2gaigJy1fALZ2Hcg456bJyn5PMAMSWkvOeaOPxZIXPeUEtxQwIFM+QUC/sMnEF9KXTHPFrRQ/ay1e2ZvG0hMa0LOfQgLZFx36CJcjgoF0rR8A6nts5WlBE8u0ovZBnAM200KalOq4j6EBWLrkRI3sr3kE0hDAqT55E/qtMzaS8cQKLCsUmMJCJ1MCYFoHR9QJjMLpGycrTA5KhQIURiRUz3k6+ukzNpTIG7wpKMig+Sw7yu42HlmTokKRhUhxAHpzIhZb5MbfnXINA+kYWxRUhs0ltUa8RfqyhqtjZHR9bKgTg0DMq4ET1KKEOKAhB1shiA5qqRwrwk8QaUs4l8fONpLh9+beOvneCOrvwRVB0hc2XUlp+hkDkjCiNKGGb9NeaXGlkgtvOQ4/Lw2MoZ5Smb5y4eARk8CV1JRI0dlk6XMgwBxI/B/ub2uCBAOSHdmHf9x+6hwpXVJvcOGv+zwtUMGkAPUplI+M4ZTPjKGWvBkXZEH6T0AYi4H6UpPDkgelUCI4Ewa0mKoyJuEBpAAJbN85tSnyTGzypSZRmmDfRAg5oKpdUsGpIIDWZXlQ6IOG7I3ixzyxF92terkImHwrY9agTKdjBsISAaOYzBAAg6xheKILEFVZiPEOShdM0D1uyIOZn3UZRmrNM535fOZPQGSgCu0GCARAgg84L1Axtm1iSaQABGx91m5OEdu3LLELxajAuEDAQnDoe2qVEUDx6wMSIzdccBTuUjILBGQIrnZkk1M2ZA0DTAwEH3jhl7XMEAmKCALMiBB9tVyxAZ6J+VAAg/d6dEENdJQmWUXHJNFgQMBUUaNaoAzQMjNNy8KixyqnBLxACFkFg5ky55rps1xtEyGoA5Tk4sPwg0GJAv2JQ2kW3F4/kX3qNP5CgBIkdtxwLscIe9glVw4kLg7Ieh9AKklukC550ofQD784ldZIEmw6poG0nn7dfV7E9fTkTsASI7T6l4guJ2FA8m61nyCCr6giwkRrbnkH0jE/cgDDiQKrmumgcSgmv68zOty33aC29jJC0SRWeKtNYruQ8PUoAmRzfHalXP+gdiwNNCBaFo9LQOShDzVBNlUAEiSC8EDiz5RmYUDqbrR3QAVzIqSwijgI0qNAqnCc1MHojrdDUsGJAuN0TCpEgAgcc5XB4AodtYvZUDa5bFmRAjQ25fRwqgsNrLwderI4DOA2JCeooEUoce5U21FBiTK2b0AEFRmoUBCav4jT3h1GWkpPrt/HgYkLAOSglITJJCOUX4STZTJgAS5DU2hnRwwmYUCiapAMsQspnWgZ9v8Ff9A4jIgMahfSCAheJ1ejso2AEAU7dVhe/kICySBhC5QIHEVSIIIMVfpSqaYOK+GAknJgAQhUU4CicHdPk5JIKj6vWpI7asuvCbeDcgcoyiQpNrHhJkVZNIBIbGRRW/PxANx+6U5IgMyBkd145TnDQEpGo7zjJE4AvfLysNqFQUyoQIZwrV6nHNTF8WliOQGZgIg0GqbKr/Cfg1PyJ2VAbF1Bb0twuZZIAfgQYoCyWlSCI9mZbmxPyNYpSLY4k8AZBz4PwmkDIeDXJ2wJgMyoTvOQXNugUAQmYUCmdG6L4kKpgq9vM4MqK5bvoG0+0cAJA4MDQpIZ5sHYgNhIEcFAUnpZR4hERBFZqnLcVEgFQ0IuhA3wnZ1wpFu401uEysAEgLMPQpIGDNVc4SAhYDEdXUgBJIAZRYGpD0sW4AbXEO8kCXRDpML/oHEpEC6sX71UgpIHPOuxwm/AgIS0YdryEwc0Rsp68MUAxI0JH4GTjUrXwGa5jPyzM6OCJCkFEhXXa1bMiDj2I3jhJEOATFSVCFHotTVIIYiszAgYQNIBP423C1+0hzceg8EyIQYSMabtKGA5LCGRwgJCwFR0nBznb6bEwCZgeJZ2L5CcdMmqkAfblY+5lMT7eNNfU7Ifa1lIBQA/DNnGvEJj/fgbs+0gJUKbPoq/YP3CChqIjlqDu8yfDtlF0L3I0+fds2nES9UBYgSAlkbBb6NO2nRy1x5I+tqVyqmvd+z8gIJLJqfCwp7XKVriK9wXtk58wPPyMjj0cLhCiQpbG1KXWb870r3dl9Rfr5KlRyv7VgDpZKyq53zcsk9nvd4DUqJsPP39tfDr3hGtDt3TLDd5/DjpZLiQZ5XmvISOLc+6544UXpuVLNERnv3PKbc8/VS6Tva/7sDdLNUmtbu/LxanFUqPds79ZFS6Q/KbD/RO5XSNKytimblQe3bdZgMf0/3mE8fn6TKKAE3Tv2OYfNHd992z5FF2dbDQcGGuGNsU3QgYThAVlTlQpL4EGcE3YU0jJfJBOrYqaiqYbc3+2mBeUy1JvsGILdd9wUkRF1IrnSq8tzyPoEk4apPW1XEOaICyfy6/Cj1RfoFvMhswWNJtkoV1VIYx1YWet9403J8AdGmiCPfm5suZbWk38LVgYzB4yGp9t8M0cwxtEhxDP1WKvQt3CWkuGaVKPw6jJTjOH6BBBbR685Zso3G0G+f7hKQqGq/7yeQcaySAwUyMzgQ6wNoZ02SQBK86t8lIDuiI30JgISxKtQ9BQJ9zRg2HLHgyfIeA9l2LRrWJQBilA641sPeAhkug1f9meahqLyTew3EVmLZ+wrkABJC3VsgVhAi8hq7ZrbM6v7dAjKm9NG+AhmqwPXkE9hqXQhIle0FT5wn+Iznmt/ya5izbAmQ7fj7UnkCKYuOKuI7S+xlkUBpJ/DPwUepL8VfDds4SWxzChvo7FvYXviTV/w8oHsvm9+1+CNc57ZnibJNOUV9uvuoO1DdqFCU+ApFQP//qxZ2ZvsV095Pd5unto5PuT2r/BpcRCxSb+tesIZu4w5o8B98yn3G27+70ZIcN+98C/4RvEbOuslnU65Qzx1S+nOSuGca+f9to9idt4+PujfHT20dn+z0y+tTFnW77rOuNX4/ZPV7DF175Ngbdad1+vjDN1rvHkrfH3n+X6dPPDza7w3+D+kDSETGcBMsAAAAAElFTkSuQmCC");display:block;height:15px;aspect-ratio:800/95;background:var(--ink);
  -webkit-mask:var(--lmh-logo) center/contain no-repeat;mask:var(--lmh-logo) center/contain no-repeat}

/* Разделы — те же пилюли, что чипы страниц (.chip: 999px, 13 px), на ступень
   выше ростом: это переход, а не фильтр. Выбранный — заливка --sel с рамкой
   --accent, как .chip.on; заливать акцентом целиком нельзя, в шапке это
   единственное цветное пятно и оно перебивает данные. */
.lmh-nl{height:30px;flex:none;display:inline-flex;align-items:center;gap:7px;padding:0 12px;
  border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);
  font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap;
  transition:background .12s,border-color .12s,color .12s}
.lmh-nl svg{width:15px;height:15px;flex:none;color:var(--ink-3)}
.lmh-nl:hover{background:var(--hover);color:var(--ink)}
/* Выбранный раздел рисуется тремя токенами, а не --sel/--accent напрямую:
   в «Кабинете» это сплошная коричневая пилюля с кремовым текстом, как
   активный пункт меню в ЛК, в мяте и тёмной — прежняя заливка с акцентной
   рамкой. Запасные значения в var() оставлены для страниц, которые тянут
   шапку, но своих новых токенов ещё не объявили. */
.lmh-nl.on{background:var(--nav-on-bg,var(--sel));border-color:var(--nav-on-ac,var(--accent));
  color:var(--nav-on-fg,var(--ink));font-weight:600}
.lmh-nl.on svg{color:var(--nav-on-ac,var(--accent))}
.lmh-nl.off{opacity:.42;cursor:default}
.lmh-nl.off:hover{background:var(--surface-2);color:var(--ink-2)}
.lmh-nl:focus-visible,.lmh-sel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lmh-sep{width:1px;height:18px;background:var(--line);flex:none;margin:0 3px;display:block}

/* Точка — с 01.10.2026 не в шапке, а в странице рядом с выбором дня (.dn-end
   ниже): кнопка со списком, ростом и рамкой вровень с .datenav. Классы
   остались с приставкой lmh-: их рисует header.js. */
.lmh-sel{height:var(--ctl,36px);display:inline-flex;align-items:center;gap:8px;padding:0 12px;
  border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;
  font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.lmh-sel:hover{background:var(--hover)}
.lmh-sel svg{width:12px;height:12px;color:var(--ink-3);flex:none}
.lmh-ptname{font-size:22px;font-weight:600;white-space:nowrap;color:var(--ink)}

.lmh-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:230px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;
  box-shadow:0 18px 40px rgba(16,40,35,.18)}
:root[data-theme="dark"] .lmh-pop{box-shadow:0 18px 40px rgba(0,0,0,.55)}
.lmh-pop h6{margin:0;padding:9px 11px 5px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-3);font-weight:700}
.lmh-pop button{display:flex;width:100%;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;
  border:0;background:none;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.lmh-pop button:hover{background:var(--hover)}
.lmh-pop button.on{background:var(--sel);font-weight:600}
.lmh-pop button[disabled]{color:var(--ink-3);cursor:default}
.lmh-pop button[disabled]:hover{background:none}
.lmh-pop i{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink-3)}

/* ---- лестница сжатия. Ступени включает header.js замером, а не шириной
   окна: у точек разной длины имена, и по медиазапросу это не угадать.
   c1 — прячем отметку свежести, cb — прячем знак
   LOVEMARK, c3 — неактивные разделы иконками (выбранный всегда с названием),
   c4 — две строки: знак и контекст сверху, разделы под ними. Ничего не
   обрезается: последняя ступень переносит контекст под разделы. ---- */
/* c1 и c3 действуют только до последней ступени: на двух строках место
   снова есть, и прятать отметку свежести и названия разделов незачем. */
.lmh.c1:not(.c4) .lmh-fade{display:none}
.lmh.cb:not(.c4) .lmh-brand{display:none}
/* На последней ступени разделам достаётся отдельная строка целиком — там
   названия снова помещаются, поэтому c3 действует только до неё. */
.lmh.c3:not(.c4) .lmh-nav .lmh-nl:not(.on) span{display:none}
.lmh.c3:not(.c4) .lmh-nav .lmh-nl:not(.on){padding:0 9px}
.lmh.c4 .lmh-in{flex-wrap:wrap}
.lmh.c4 .lmh-nav{order:2;flex:1 0 100%;min-height:50px;overflow-x:auto;overflow-y:hidden;
  border-top:1px solid var(--line-2);scrollbar-width:none}
.lmh.c4 .lmh-nav::-webkit-scrollbar{display:none}
.lmh.c4 .lmh-brand{min-height:50px}
.lmh.c4 .lmh-ctx{min-width:0;min-height:50px;overflow-x:auto;scrollbar-width:none}
.lmh.c4 .lmh-ctx::-webkit-scrollbar{display:none}
.lmh.c4 .lmh-ctx>*{flex:none}

/* ---- планшет в зале: тот же ряд, крупнее, без темы и ассистента ---- */
.lmh.tv .lmh-in{gap:20px;padding:0 30px}
.lmh.tv .lmh-nav,.lmh.tv .lmh-ctx{min-height:82px}
.lmh.tv .lmh-nl{height:44px;font-size:19px;padding:0 20px;gap:10px}
.lmh.tv .lmh-nl svg{width:20px;height:20px}
.lmh.tv .lmh-tvhide{display:none!important}

@media (max-width:760px){
  .lmh-in{padding:0 14px}
  .lmh-brand,.lmh-nav,.lmh-ctx{min-height:52px}
  .lmh.c4 .lmh-brand,.lmh.c4 .lmh-nav,.lmh.c4 .lmh-ctx{min-height:48px}
  /* две строки на телефоне: gap 14px у .lmh-in — промежуток между колонками, а при переносе он же вставал
     полосой между знаком и чертой над разделами (знак висел выше середины строки); строки — вплотную (03.10.2026) */
  .lmh.c4 .lmh-in{row-gap:0}
  .lmh-logo{height:13px}
}

/* слот точки в странице; список раскрывается под кнопкой, у правого края */
.lmh-pt{position:relative;display:flex;align-items:center;gap:8px;flex:none}
.lmh-pt:empty{display:none}
/* ── Выбор дня и точки ───────────────────────────────────────────────────
   С 28.09.2026 дня в шапке нет, с 01.10.2026 и точки (просьбы владельца):
   шапка — разделы и тема, а день и точка — свойства того, что показано на
   странице. Точка стоит слева от дня, оба в обёртке .dn-end. Поэтому выбор дня
   стоит в самой странице, всегда одинаково — первой строкой, у правого края:
     • в строке вкладок страницы — обёртка .dnbar вокруг вкладок и выбора дня;
     • на табло — в полосе фильтров (.fbar), она и есть первая строка;
     • где нет ни того, ни другого, — отдельной строкой .daybar.
   Разметка одна (id prevday / pickday с daylabel и скрытым полем date /
   nextday), ярлык везде «28 сентября, пн», у сегодняшнего — «сегодня, …».
   Селекторы с запасом специфичности: у страниц свои правила на голый
   button (заказы, питание), они не должны перекрашивать стрелки. */
.datenav{height:var(--ctl,36px);box-sizing:border-box;display:inline-flex;align-items:center;flex:none;
  border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;
  overflow:hidden;padding:0;font:inherit;font-size:14px;margin:0}
.datenav .nav{height:100%;width:32px;flex:none;display:inline-flex;align-items:center;
  justify-content:center;background:none;border:0;color:var(--ink-2);cursor:pointer;
  font:inherit;font-size:15px;line-height:1;border-radius:0;padding:0;transition:color .12s,background .12s}
.datenav .nav:hover:not(:disabled){color:var(--ink);background:var(--hover)}
.datenav .nav:disabled{color:var(--dim);cursor:default;background:none;opacity:1}
.datenav .pick{position:relative;height:100%;flex:1 1 auto;display:inline-flex;align-items:center;
  justify-content:center;gap:7px;padding:0 13px;background:none;border:0;
  border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;
  color:var(--ink);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .12s}
.datenav .pick:hover:not(:disabled){background:var(--hover)}
.datenav span.pick{cursor:default}
.datenav span.pick:hover{background:none}
.datenav .pick input{position:absolute;inset:0;opacity:0;pointer-events:none;width:100%;
  border:0;padding:0}
.datenav .nav:focus-visible,.datenav .pick:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* подпись перед выбором, если день — не день отчёта (поставка у заказов) */
.dn-grp{display:inline-flex;align-items:center;gap:9px;flex:none}
.dn-cap{font-size:13px;color:var(--ink-3);white-space:nowrap}

/* Строка вкладок с выбором дня. Черта под вкладками переезжает на обёртку,
   чтобы тянуться и под выбором дня; сами вкладки её больше не рисуют. */
.dnbar{display:flex;align-items:flex-end;gap:8px 16px;border-bottom:1px solid var(--line);margin:-4px 0 -4px}
.dnbar>.ptabs,.dnbar>.tabs{border-bottom:0;margin:0;min-width:0}
.dnbar>.datenav,.dnbar>.dn-grp,.dnbar>.dn-end{margin:0 0 6px auto}
/* точка + день: одна группа у правого края первой строки */
.dn-end{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
.daybar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-4px 0 -6px}

/* пока грузится выбранный день, выбором не щёлкают — как панелью часов */
body.busy .datenav{pointer-events:none;opacity:.6}

/* Телефон: выбор дня — отдельной строкой во всю ширину над вкладками,
   под палец, стрелки по краям. */
@media (max-width:760px){
  .dnbar{flex-wrap:wrap}
  .dnbar>.datenav,.dnbar>.dn-grp,.dnbar>.dn-end,.daybar>.datenav,.daybar>.dn-end{order:-1;flex:1 0 100%;margin:0 0 8px}
  .daybar{margin:0}
  .dn-grp .datenav{flex:1 1 auto}
  /* точка и день делят строку, пока помещаются; не помещаются — каждый
     строкой во всю ширину (длинное имя точки, «Поставка» у заказов) */
  .dn-end{flex-wrap:wrap;gap:8px}
  .dn-end>.lmh-pt,.dn-end>.datenav,.dn-end>.dn-grp{flex:1 0 auto}
  .dn-end .lmh-sel{width:100%;justify-content:space-between}
  .datenav .nav{width:44px}
}

/* ── Лента недели и точка текстом (14.10.2026, вариант 5) ───────────────
   День — семь клеток последних дней и значок календаря: клетки собирает
   header.js (weekNav) из .datenav страницы, стрелки прячет, .pick делает
   значком (поле date под ним остаётся — оно открывает календарь). Точка —
   текстом со стрелкой, без коробки, от ленты отделена чертой. Выходные —
   подпись дня --bad, выбранный — заливка --sel, сегодня — точка --accent
   под числом. На планшете в зале (?tv) лент нет — там прежний .datenav. */
.datenav.wk{height:auto;border:0;background:none;border-radius:0;overflow:visible;gap:2px}
.datenav.wk>.nav{display:none}
.wk-days{display:flex;align-items:center;gap:2px}
.wk-days button{width:38px;height:38px;flex:none;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1px;padding:0;border:0;border-radius:8px;background:none;cursor:pointer;
  font:inherit;line-height:1.05;color:var(--ink-2);transition:background .12s}
.wk-days small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.wk-days b{font-size:14px;font-weight:500;position:relative}
.wk-days button:hover:not(:disabled){background:var(--hover);color:var(--ink)}
.wk-days button.we small{color:var(--bad)}
.wk-days button.on{background:var(--sel);color:var(--ink)}
.wk-days button.on b{font-weight:700}
.wk-days button.on small{color:var(--accent)}
.wk-days button.td b::after{content:"";position:absolute;left:50%;bottom:-5px;width:4px;height:4px;
  margin-left:-2px;border-radius:50%;background:var(--accent)}
.wk-days button:disabled{cursor:default;color:var(--dim)}
.wk-days button:disabled small{color:var(--dim)}
.wk-days button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.wk-mon{font-size:12px;color:var(--ink-3);margin-right:4px;white-space:nowrap}
.datenav.wk .pick{width:32px;height:32px;flex:none;padding:0;border:0;border-radius:8px;color:var(--ink-2)}
.datenav.wk .pick>span{display:none}
.datenav.wk .pick:hover:not(:disabled){color:var(--ink)}
.dn-end .lmh-sel,.dn-end .lmh-sel:hover{border-color:transparent}
.dn-end .lmh-sel{height:32px;padding:0 8px;background:none;font-weight:600}
.dn-end .lmh-sel:hover{background:var(--hover)}
.dn-end>.lmh-pt:not(:empty)::after{content:"";width:1px;height:22px;background:var(--line);margin-left:2px}
@media (max-width:760px){
  /* телефон: точка строкой, под ней лента во всю ширину — клетки под палец */
  .dn-end>.lmh-pt{flex:1 0 100%}
  .dn-end>.lmh-pt::after{display:none}
  .dn-end .lmh-sel{width:auto;justify-content:flex-start;margin-left:-8px}
  .dn-end>.datenav.wk,.daybar>.datenav.wk,.dnbar>.datenav.wk{flex:1 0 100%}
  .datenav.wk .wk-days{flex:1 1 auto;min-width:0}
  .wk-days button{flex:1 1 0;width:auto;min-width:0;height:44px}
  .datenav.wk .pick{width:44px;height:44px}
}

/* ── Боковое меню (06.10.2026, макет 3 «рельс, раскрытие поверх») ───────
   Разделы переехали из шапки в левую колонку; рисует header.js (.lms),
   на планшете в зале (tv) его нет — там прежняя полоса сверху.
   Свёрнутое — полоса 68 px со значками и овалом LOVEMARK (тот же знак, что
   иконка вкладки); при наведении панель раскрывается до 240 px ПОВЕРХ
   страницы, не сдвигая графики. Булавка закрепляет её открытой — тогда
   страница отодвигается (отступ у html: у страниц свои правила на body).
   В шапке остаются название раздела и контролы страницы. */
/* lms-pre ставит скрипт в <head> (server.py, _html): отступ и закреплённое
   состояние есть с первой отрисовки, страница не прыгает вбок, пока грузится
   header.js. :has — чтобы не задеть страницы без шапки. */
html.lms-on,html.lms-pre:has(header.lmh){--lms-w:68px;padding-left:var(--lms-w)}
html.lms-on.lms-pinned,html.lms-pre.lms-pinned:has(header.lmh){--lms-w:262px}
html.lms-on .lmh-brand{display:none}
.lmh-ttl{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;min-height:58px;
  font-size:16px;font-weight:600;color:var(--ink);white-space:nowrap}
.lmh-ttl span{overflow:hidden;text-overflow:ellipsis}
.lms-burger{display:none;width:36px;height:36px;flex:none;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);cursor:pointer;padding:0}
.lms a{text-decoration:none;color:inherit}
.lms{position:fixed;left:0;top:0;bottom:0;width:var(--lms-w,68px);z-index:40}
.lms-p{position:absolute;left:0;top:0;bottom:0;width:68px;display:flex;flex-direction:column;
  background:var(--surface);border-right:1px solid var(--line);overflow:hidden;
  transition:width .18s ease,box-shadow .18s ease}
.lms.peek .lms-p,.lms-pinned .lms-p{width:262px}
.lms.peek .lms-p{box-shadow:0 18px 50px -12px rgba(16,40,35,.32)}
:root[data-theme="dark"] .lms.peek .lms-p{box-shadow:0 18px 50px -12px rgba(0,0,0,.8)}
/* box-sizing явно: шапка страницы — 58px + черта 1px, и черта под знаком должна встать вровень
   с ней и там, где страница ставит *{box-sizing:border-box} (иначе уголок «ехал» на пиксель) */
.lms-brand{box-sizing:content-box;flex:none;height:58px;display:flex;align-items:center;gap:6px;padding:0 10px 0 9px;border-bottom:1px solid var(--line)}
.lms-home{flex:1 1 auto;min-width:0;height:40px;display:flex;align-items:center;padding:0 9px;
  border:0;background:none;color:var(--ink);cursor:pointer;border-radius:10px}
.lms-home .lmh-logo{display:none}
.lms-mk{display:block;width:30px;height:23px;flex:none;background:var(--ink);
  -webkit-mask:url("data:image/png;base64,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") center/contain no-repeat;
  mask:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABJCAYAAADCOyPGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAARGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAABgoAMABAAAAAEAAABJAAAAAGXiEjsAAAHLaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xOTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTQ3PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CrY4fSQAABM5SURBVHgB7ZoJlJbVecdDUECURVbZUUAQEWLcrZqxpmoQtVFSNYsQbY3VpNraNsmJJzWmPc1qUy02mhjI0phEG4PEWK0RlUUlgixiZJ3BCqKyKgpuSX+/8XvI5c77zXzzMQwa+Z/z4y7v3d77PPe57zfa5j27V3sxffsS+5H2hP3BfEfwWbuEaGtdB7Bdl1LamVSivC95278Ey+FhWABLoRY2wzZ4DX4Hu0VtdsOszunmuUHD4Cg4Ag6B3tAJ9gGN894SJC2i3zPKelgFc2A2LITVoDFehTeg1dSaBmjLW+nVbnINnAVHg+XdpTeZ+GmYCzPhMVgBr4AGeR002i5TaxjAcBHePpb82TAa9O63m15gQU/CLHiklN9AuhU8HS1ujF1lAMc1jBhOjgE3/TToB+8UeQo8Dd4d00GDrAPrW+zOaGkDGGb0dsPKyXAuHA9elpXKsOALhreZVpovauc7etr2Bu8V0+bKi9q74r/hF/B/8DLstFrKAG683j4cxoEePwoqGd8N93gbc/1iMQz4hRIXopeiG2A8TrE+LZuPtvHMtD10hwEwFA4Ev5Q8oRqjuaFwMX1uhtvAtTpH1apkgxob3P5690iYAG58X6hEbrDHeRV4zD3iT8DzsAViQ/VqX7Iljr2GGALHlfAu6gV+lWkoT0glci2/gq/CPPA9Wl16zyD4Engk3aim0Ns9umvAo3wxDITdIT8OhsF58G/wIKyG+H0QYbCxd/IL6i/B09+q2p/ZXLjf0Y0tMJ5tpZ1G8iU12AngXfF2kqfjaLgUboIZsBIMi/EeRanvdgMY3trALldPZrgSnoGiBUWdHqQ3LYOfw2XgHdEqi2SenZH3wwj4BNwCT0FjhjBE/hgMaZWGMZo2Xz3o8gV4EWKj89Qw4+U0H74NHwaN9k6V4eV0mAKrwPfL3znKd/PM0+2d0uLyy+Gz0JgnbOL5Y/BlOB46wh+LuvIil8Dj4AdEbHqePsqzM6BFQ6xfCBfBRsgntGy40TsmwTHQFv5Y9QFe7B7wS61oL6xbAheAX4g7Lb+TT4FaKJrQ+OePFL8GWmRCxnm761AW+BPwxBftiXU65PngfbJTOpjeD0LRRG7+HDBGvtvUnxe+EbzvivbGOr+iPgRVRwQv3clQNIFhx3hYA+9W+TnufdfYF+FveH5YNRvkJfKPUO7CqePZOHi3yy+eK6AWihzVuh+BxqpY/so9B56DokE3UO+ke/TWDhhiPgl1ULRf/p3LO7KiUNSGhv4iXABFg/mnBH/5eUL26A874MfKp2AtFO3bIuqHQpPqR4tfQdEgXrp3Qh/Yo4Y7sBdV3gmvQNH+fYn6Rk+B8exaKPdrz0v3SNij8jvQm0e/hiID+GeZwVBWJ/Kk3BHyL4UfKdtzz4N0B86gsBFyI+jYl6YN07wx/WeQd7Ls336uhkaPD8/36K0d8MeXf4As2kv/XmSkaaDTqHGj805aTcN0gz2qfAf8I6RfP/l+rqfOv5ruoHaU/FbNG1uuhT1xn01opvwRuxCK9nT7J7y3thoCH6zP7fiP3v9DmLtjdZMl/ybkAnK5mOdha/4gKfs516WER9mw538Tto9xdQuk8s/F/qXSz+f8Za0TxzRV/oJfB7EGT3Z8Ukd/25hXMYZ9XEelsv39UPQr2D9P3ATbwgDjKfSGXH67/ifEYvLn5cpe1hMgXtp2juGLXQe/hCJpuLFgODwINEQYwB9/T8JUeAgcS/0V2N52zqHT+EzceOsl1uLzm+F2aA9fhEMh1me/GMM6+zmO654OzdFPaTwRfI9U/qn+SJhppRfCfeBkOddSFwsnW7Gup2U+VpT/vswovuSF4LHV06J9mvojcDr4AqFyv1nSfnn+K6XOnhw/DfPnReW/jQmbkXo6Z5QZX8PXW/YA0pEWMvmy94KLaa78jzZ6Ui49y3GLNJjKvwOPrH8KUc7t36JCHcnUwKfB8KRzeNEV6QUqHwfnzBVrcI3p+NHOep0gVUSLtK6pvPvwv2UanUR9B71uBHQvaFRLnUe+Gjmplk+1mcKt8GhameRPIT8qKb9OfhrcCI8k9WZPh2Ggge6AOZBrHhVfhvXJA43xPzC9VOc9YJhI2/hoCRgmHT8Ud0aUK02NLhoil2Gvr5WGGSfK+Rl1Gqga+VV1OaRjGlqGQ3g32R00mVLa/inKR4B303nwCsRzPXQCKI/5eMj/44gbfRSshui3kvxxYOwP9SHzMEQbUw06CTSYZdOLoBoZ/+dDOr55T9g4N9ijUKRaKn3RauTgz2YdO1DW0/TsXIaSAVnlIspz4Tm4H9ZBKG2vd90Nj8XDUno46eehW1I/nbwn8NWkznVuTMpmh8M4cJ6lcDvoENXoRTotKeioIx5jXBtV8NAqY+jOKDeentYDDEWGD+d2c0VHML6nWpcUtpDPj/E+yXNjuqGoBtqC6gVnQsRuncKwkq+Lqgb/e2Fn6kRNhR9AHVQjvb2uTMcTXZxHpEjVxrwYy4lz+ddUw8oV4Ny/ha+B4cVnqdINNqRJqvwkee/ozf2TRrH5Vq2A/C5Jmu6Q9fTLkbAv9AUdQkeoRuWceZSelx7HdPD8hdNnTeUdt2dBI4/d2TAezoGJoKfplfkiDQOOYRgYUcqTbFfe3g2btf1pw4xhzNOWqz0VbnIq779rYBm4XvN+JFSrcs7c1Y3SM4q0f1FlhXWjaecGp9KgH4NTQc90br3cVC1+K9n+70hyl8Kfl9IICTbQafKY7ImYBqa5tlFxF+Thx3BlmDIkpvL0ujaN0w+Og/dBtdLxilTv/JN44oQ5k4t6VFj3edo5eD6mHuhmRP0a8n1A1cAGiGemhhS/ILzI0vp5lI3xuQw/yyBta94xekCu/ajwZPiVk/bRKT1N6Vqvo1ytrqFjOn7kF+h9syH3DKreczDoBdVoIJ3aFXR00/SqkB5oiFFu6u3gfRA6gMwY6BQVpGvhu5CHIJto0OlmMt1LeX1WZ9G1+J5xCq1TB8HxkK411unz5sr9KNJsQ8ET4BdGl6zFUMp2XJLVV1KspdHTZRrGi/jSq8GvE6WX/zt4GZ8IngwdwPY6iGusA0OJMVovymW72+Bk6A62ceN/WcqT7CDndq06i33F02DqvDqIRnAc11qNHHtIQUfnmKkBVkEd6GmpfIFjoRoD+MKbwJdwoyWXdX5ZuLEh7wG/ih4APbMnuEYvMT1fZ/kNFHkz1fV6hH+/Cn3Bl3wWPF1Fctwb4EBwk70/NIAoN88wZfleqEbepQMKOr5MnV+B9Zt0M6kLyPkRdeUuEB6VlX2GgafIL4wOBejd5cbW87qCF6CLNxS5EZVKr7W/p9p8Y3KTDXGO71pdV6zXsmP4vMiJqG5SR9BiC+R7u4K6XnqXD+6BCeBiUv0JBTehLq1sIq/XnwZ+BRlOZsMscEI9shK9SSNPkFSjV+kklcgwJEXqQ+UhoEN48qpZz8H06wi5VlKxMSr9elgOuZU8khdEowpTPeU2cBPt77hT4FSo1ovo2qoybHwIvgkPwUw4D6rRv9Ap31fLhr7t0sI/gKKG36Pe55XKTf4ppGPpYXeAR/vtLCOA985V4F2Sho5bKDdXhthpkO5F5P/awQxBSm+9D/T2qCNbL8OQn4/PvlVs8l8NoOenciGDwGchj+UbUO74R7vWSI3xw2EMHAQXQn8I+YVWf2FGRYVpX9qNLmjr74sn8/reVCyDsFCkbtLH8saNlE/imV830T/SqdR5P6ga0KO+BWdDF9gdas+k4+G/YClsADfH+8P3jrV/n3w1a7ySfjp3jBPpQuq6wg4yzEyBaJSmLrCSMOQL2TbtG/nrqFfnghfaS7ARfPGbYBS0tv6CCXU6PwljnZ5eHUOPj7qJ5Jsr75FZEGOk6STq66NBGm601D3wiXhIGqohMxSWREWZtIZ6L68iraXy4/AFGAZhUD3B02dIuhjykLQ3dd3BF9Bo6S9lioXSEfyE7AzdwDE0dh2k4x9F2fdK5T6sht8llc7bXI2jw+EFnTxdd0H9+KkBbPswPAMDLSRygy6Aa5K6PNuTistByxfpTCodxxeOUBTt3KgRkN4R8czw92HQM12bP9TWQCrH80ejp0hjOY/r6QGuZy8wjs+GG0BnUA/AWBgEGkxprEugn4WSLiLdDLNga6muscT7w73Yp6DR49S5jkK50O9Aelwib6gYWdArPHcyz+KrQW+LfPR34Vo9ypHabjr8DeQGcBPmg3FZz3fcj0IuX3QarAI3dwM4rt6mRzuvBnwB/gnCAbx8T4LPwcsQa8pTny2Cb8CfgRvcIIZTp9qBTuKa83Fcy2UQ85NtqA9S9RLknb2UbobcqqdQ54vrYdHnFvIzknLUF6WOeRh0h1wu9jVI+92YN6LcARZn7eyzFOaCLx5j6IGeuJChsAfcA9GmKNWIGlZD3AW+42DINYGK56FojDnU98075OX9qPg5FA3gAjyOqc6jkLf1iK0sqM/babgxUOQRbsqjBWMYBozxqTw5enE+52epOxZWQMz9HPmiTRhPvacs2pl6apeBpyfqNYQnS4f7CKQaS2EJRNs0dewLIT/lVDXUn1LlcU0HiLxedVbSZQD562ENRBsXni466tPUF/kiGHOLpKGLjrHeNbigQy/qPgOe1JjnMvJdID0ddZSLTpvtboXoa6qDOKZhLa03vwlOhdAHyMwD3ytva3kyOEdFMsx8HYoGcoIn4ExQWrQfnA1OosfoZUV907oFtBkERfLi1NNtbzicDOtKZTf4DCjSSCptH/P4UWHfl5O6O8l71xXpOCrTtTuWoTTtr1PcDRdDbOhh5G2XGj/WYPooHALN0oG0dtB0oMgbUzXCBIhwYDoYToRLQa/ZAtEnTV8rtSl3HC/guafIPnqh95KGjTGuJl8kDbccop2blRrE+v+AfaEj5PIdHoTob+paTevgIfgHGAGdQA2EqRDt0r7ma+F0aAvNkpvjje8G5INa9iQ4+FdgMIScyC+Ec+ESeBry/sZDva1I3kH3Q/Sx7b2QGvM2ym0gl57tJkVf09wrjdHfhW/DcEilRy+EtL/5x8ETfyh0g1BPMlPANeZ9LHtqJ8A+UJU60OuTsB6KJohJpvE8t7KTdgaNsAjS/p6giZBLz7wI0iPvy8VpiDEcz7ZF+jGV0U6v/Cakp0KDvAibwTsilZu7AqL/M+Q11EngXqQ6gILPHCfap6nvcBXESSFbndzEK2ADpBOk+W08Wwyfg16QytNgWPoWxGnSm8dCKj0/3yzn+B74op64mNMNPAqKpHdHOw3g2ucndfHM9F8hlSfITXsAnPMMGADWpzqMwg9hE6TjRV4jfw26Q4vI2PppWA0xSVG6lue3wgmQyrDUF3yhf4bPgMc91SgKHtl0o53jevgOpPPZxrg7BFI5ryEm2tpuKbyU1MUzU9eRqwcVh4Ib3z57qJOcD9Oh3JiOOxl83xaVnuzl6KeWk5TDo2ebyyHf5HbUeUIcK5de9QLkBtCji+Z0no9DKk/g65CvzZPg6Xuz9OwNUses9MukM229Dz0VK6BojphTxxgKFSk/Wo118rjdCV6qxs5zII+LVNV/XYwhdTPeBy56Lig34vn6XMN/aqm6EvqDR1dDacC7SuU+pN4rzqlndgRfOtUGChrQjfbeMD5bNxt+AaPB/nqva1oO5eTcB8KRcAIcDf1AY5STn6dXg0aqSG0qarVjI402EM6FT0EeBqjaLl90MfwENJ6b3Jj25aGb60lxo/aGteBGHAS+vG3cHNsYh9MxB1EeB47h5j8HGtwxxBDyXtBAru0NSNWbwgg4AnQe89Z1A/uWk0a/A66FJ8ByRarGADGwi9IrDDWnQ7nT5Mu6EYvg1zADjMt6ZqVy0zSGc7Qt5a1zDMcPWdcJTA0TnrgIF2QbSCPq1Ya/98MYGAb7g0b2xDlWY3qRh9+HSbAMKt582hZ+S1tfqdwMDXE+XAV6YDm5sFfABbvQ38IKeBbcSNkExnax7avQ0urKgHr2MSVGkxreOoAnx3eqVDNpeB3cB56oZmtnTkA6mWFBLzLunwVNjevRD+80r3HcbD9PRSMZQtbB+lKa5lNDaazGDOXJMYy4vhPgWNDLO4Gb7iloystpsoOWUJoCt8JaaGx+HpdXUxtVvmfDJ4aHHjARroADoLn6PR00RoohJsWQorcVGUpjWa+8pHvBYBgCA8GQopdrlOZqKx0WwFSYBqtA47vmqtWSBohFeFm9Hy6DceDpaGk1ZiiNp/Rqw4mbHXcH2WbJk/YUzIaHYD5oZMNjzEO2eu0KA7gaX9hL7CT4KNSAp+OdoDUsciHMgDlguDEkboOqQw19C7WrDBCTedw9Ecbfk6EGhoOhYVfPzRQVyZBWB272LJgHK8ENF5/vMrXWJngijMkawy+lg2Eo9Iee4GefGK5sZ2q83lXSo/0SM7S46Xq8n8rh5emnLdW7Tq1lgPQNNIZxOY3N5jWOG98Z/ELpBt1LmDeEaSTrbKOBwlDtyDcmN9SvlSfBTX8E/AzeDG66X2QtEtMZp1naHQYot0DX4sUZqReoZdM078ZrLI2kITSOIa0vjIDDYQAYOpbDA2B4eQpqwa8ZY7mbvtv1/5GR30Fqu4uaAAAAAElFTkSuQmCC") center/contain no-repeat}
.lms.peek .lms-home .lmh-logo,.lms-pinned .lms-home .lmh-logo,.lms.open .lms-home .lmh-logo{display:block}
.lms.peek .lms-mk,.lms-pinned .lms-mk,.lms.open .lms-mk{display:none}
.lms-pin{display:none;width:30px;height:30px;flex:none;align-items:center;justify-content:center;
  border:0;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer;padding:0}
.lms-pin:hover{background:var(--hover);color:var(--ink)}
.lms-pin.on{color:var(--accent)}
.lms.peek .lms-pin,.lms-pinned .lms-pin{display:flex}
.lms-home:focus-visible,.lms-pin:focus-visible,.lms-burger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.lms-nav{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:2px;scrollbar-width:none}
.lms-nav::-webkit-scrollbar{display:none}
.lms-nav .lmh-nl{width:100%;height:40px;flex:none;gap:12px;padding:0 15px;border:0;border-radius:10px;
  background:none;color:var(--ink-2);font-size:14px;font-weight:500}
.lms-nav .lmh-nl svg{width:18px;height:18px}
.lms-nav .lmh-nl:hover{background:var(--hover);color:var(--ink)}
.lms-nav .lmh-nl.on{background:var(--nav-on-bg,var(--sel));color:var(--nav-on-fg,var(--ink));font-weight:600}
.lms-nav .lmh-nl span{overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .12s}
.lms.peek .lmh-nl span,.lms-pinned .lmh-nl span,.lms.open .lmh-nl span{opacity:1}
.lms-nav .lmh-sep{width:auto;height:1px;margin:8px 6px}
.lms-scrim{display:none}
/* Развёрнутая камера занимает рабочую область, общая навигация доступна. */
html.lm-media-open header.lmh{z-index:120}
html.lm-media-open .lms,html.lm-media-open.lm-app.lma-on .lma{z-index:122}
html.lm-media-open .lms-scrim{z-index:121}
html.lm-media-open .lms-menu{z-index:123}
html.lm-media-open .lv-zoom{top:var(--lm-shell-height,58px);left:var(--lms-w,0px);bottom:var(--lm-bnav,0px)}
/* История ассистента — локальная панель, меню разделов — общая оболочка. */
html.lm-chat-shell .side,html.lm-chat-shell .veil{left:var(--lms-w,0px)}
html.lm-chat-shell .side:not(.open){transform:translateX(calc(-100% - var(--lms-w,0px)))}
html.lm-chat-shell .lms,html.lm-chat-shell.lm-app.lma-on .lma{z-index:70}
html.lm-chat-shell .lms-menu{z-index:71}
@media (max-width:760px){
  html.lm-media-open .lv-zoom,html.lm-chat-shell .side,html.lm-chat-shell .veil{left:0}
  html.lms-on,html.lms-on.lms-pinned,html.lms-pre.lms-pinned:has(header.lmh),html.lms-pre:has(header.lmh){padding-left:0}
  .lms-burger{display:inline-flex}
  .lmh-ttl{min-height:52px}
  .lms{width:0}
  .lms-p{width:260px!important;transform:translateX(-102%);transition:transform .2s ease;box-shadow:none}
  .lms.open .lms-p{transform:none;box-shadow:0 18px 50px -12px rgba(0,0,0,.4)}
  .lms.open + .lms-scrim{display:block;position:fixed;inset:0;z-index:39;background:var(--overlay,rgba(0,0,0,.4))}
  .lms-pin{display:none!important}
  .lms .lms-home .lmh-logo{display:block}.lms .lms-mk{display:none}
  .lms-nav .lmh-nl span{opacity:1}
}

/* Вкладки страницы — подпунктами под текущим разделом меню (06.10.2026).
   Полосу вкладок в странице прячем (.lms-moved — ставит header.js);
   если рядом с ней в .dnbar ничего не видно, полоса не рисуется вовсе. */
.lms-moved{display:none!important}
.dnbar:has(> .lms-moved){border-bottom:0;justify-content:flex-end;margin:0}
/* не display:none — header.js меряет соседей вкладок, и в скрытой полосе они
   всегда «невидимы»: полоса не вернулась бы, когда страница покажет выбор дня */
.dnbar.lms-bare{height:0;min-height:0;margin:0!important;padding:0;border:0;overflow:hidden}
/* Раскрытие и сворачивание списка (08.10.2026, вариант 3 «Линия ведёт»):
   высота едет через grid 0fr → 1fr у обёртки .lms-sw, черта слева
   прорисовывается сверху вниз (::before), подпункты загораются вслед за ней.
   Отступ снизу — ::after внутри: поля и паддинги .lms-sub остались бы видны
   у свёрнутого. Движение — только при клике по списку (.lms-anim на #lm-nav
   ставит header.js на 700 мс — дольше самой поздней задержки). */
.lms-sw{display:grid;grid-template-rows:0fr}
.lms-sub{display:flex;flex-direction:column;gap:1px;min-height:0;overflow:hidden;visibility:hidden;position:relative;
  margin-left:24px;padding-left:14px}
.lms-sub::before{content:"";position:absolute;left:0;top:0;bottom:5px;width:1px;background:var(--line);
  transform:scaleY(0);transform-origin:top}
.lms-sub::after{content:"";flex:none;height:6px}
.lms-sub>*{opacity:0;transform:translateX(-4px)}
.lms.peek .lms-grp.open>.lms-sw,.lms-pinned .lms-grp.open>.lms-sw,.lms.open .lms-grp.open>.lms-sw{grid-template-rows:1fr}
.lms.peek .lms-grp.open>.lms-sw>.lms-sub,.lms-pinned .lms-grp.open>.lms-sw>.lms-sub,.lms.open .lms-grp.open>.lms-sw>.lms-sub{visibility:visible;transition-delay:0s}
.lms.peek .lms-grp.open .lms-sub::before,.lms-pinned .lms-grp.open .lms-sub::before,.lms.open .lms-grp.open .lms-sub::before,
.lms.peek .lms-grp.open .lms-sub>*,.lms-pinned .lms-grp.open .lms-sub>*,.lms.open .lms-grp.open .lms-sub>*{opacity:1;transform:none}
.lms-anim .lms-sw{transition:grid-template-rows .32s cubic-bezier(.32,.72,0,1)}
.lms-anim .lms-sub{transition:visibility 0s linear .32s}
.lms-anim .lms-sub::before{transition:transform .2s ease}
.lms-anim .lms-grp.open .lms-sub::before{transition:transform .42s cubic-bezier(.32,.72,0,1)}
.lms-anim .lms-sub>*{transition:opacity .12s ease,transform .12s ease}
.lms-anim .lms-grp.open .lms-sub>*{transition:opacity .24s ease calc(70ms + var(--si,0) * 60ms),transform .3s cubic-bezier(.32,.72,0,1) calc(70ms + var(--si,0) * 60ms)}
.lms-sub>:nth-child(2){--si:1}.lms-sub>:nth-child(3){--si:2}.lms-sub>:nth-child(4){--si:3}
.lms-sub>:nth-child(5){--si:4}.lms-sub>:nth-child(n+6){--si:5}
@media (prefers-reduced-motion:reduce){.lms-anim .lms-sw,.lms-anim .lms-sub::before,.lms-anim .lms-sub>*{transition:none!important}}
/* раздел-список (06.10.2026): строка открывает и закрывает подстраницы,
   стрелка — только знак, повёрнута у открытого */
.lms-grp{display:flex;flex-direction:column}
.lms-nav button.lmh-nl{text-align:left}
.lms-nav .lmh-nl span{flex:1 1 auto;min-width:0}
.lms-nav .lmh-nl .lms-cv{width:14px;height:14px;flex:none;margin-right:-4px;color:var(--ink-3);opacity:0;
  transform:rotate(-90deg);transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .12s}
.lms-grp.open>.lmh-nl .lms-cv{transform:none}
.lms.peek .lms-nav .lmh-nl .lms-cv,.lms-pinned .lms-nav .lmh-nl .lms-cv,.lms.open .lms-nav .lmh-nl .lms-cv{opacity:1}
.lms-si{text-decoration:none;height:32px;flex:none;display:flex;align-items:center;padding:0 10px;border:0;border-radius:8px;background:none;
  color:var(--ink-3);font:inherit;font-size:13.5px;text-align:left;white-space:nowrap;cursor:pointer}
.lms-si:hover{background:var(--hover);color:var(--ink)}
.lms-si.on{color:var(--ink);font-weight:600;background:var(--surface-2)}
.lms-si[disabled]{opacity:.45;cursor:default}
.lms-si:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* Подстраницы раздела в шапке (17.10.2026, вариант 2 «Вкладки»): после названия черта и все
   подстраницы текстом, текущая — с чертой --accent у низа шапки. Те же пункты, что в меню. */
.lmh-tbar{width:1px;height:20px;flex:none;margin:0 6px 0 8px;background:var(--line)}
.lmh-tabs{display:flex;align-self:stretch;gap:22px;min-width:0;margin-left:4px;overflow-x:auto;scrollbar-width:none}
.lmh-tabs::-webkit-scrollbar{display:none}
/* Both camera tabs stay visible on narrow phones; the menu names the section. */
@media(max-width:390px){
  html.lm-cameras-only .lmh-ttl:not(.lma-ttl)>span,
  html.lm-cameras-only .lmh-tbar{display:none}
  html.lm-cameras-only .lmh-tabs{gap:16px;margin-left:0}
}
.lmh-tabs[hidden],.lmh-ttl:has(.lmh-tabs[hidden]) .lmh-tbar{display:none}
.lmh-tb{position:relative;display:flex;align-items:center;flex:none;padding:0 1px;border:0;background:none;
  color:var(--ink-3);font:inherit;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer}
.lmh-tb::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:transparent}
.lmh-tb:hover{color:var(--ink)}
.lmh-tb.on{color:var(--ink);font-weight:600;cursor:default}
.lmh-tb.on::after{background:var(--accent)}
.lmh-tb[hidden]{display:none}
.lmh-tb[disabled]{opacity:.45;cursor:default}
.lmh-tb:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}
@media (max-width:760px){.lms .lms-grp.open>.lms-sw{grid-template-rows:1fr}.lms .lms-grp.open>.lms-sw>.lms-sub{visibility:visible;transition-delay:0s}
  .lms .lms-grp.open .lms-sub::before,.lms .lms-grp.open .lms-sub>*{opacity:1;transform:none}.lms .lms-nav .lmh-nl .lms-cv{opacity:1}}

/* Аккаунт внизу меню (06.10.2026): в свёрнутом — кружок с инициалами,
   в раскрытом — имя и роль. Меню (ЛК, выход) — fixed, чтобы его не
   обрезала узкая полоса (у .lms-p overflow:hidden). */
.lms-foot{flex:none;padding:8px 10px;border-top:1px solid var(--line)}
.lms-foot:empty{display:none}
.lms-me{width:100%;height:48px;display:flex;align-items:center;gap:10px;padding:0 9px;border:0;border-radius:10px;
  background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;white-space:nowrap}
.lms-me:hover,.lms-me[aria-expanded="true"]{background:var(--hover)}
.lms-me:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.lms-av{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--sel);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.02em}
.lms-av{position:relative;overflow:hidden}
.lms-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lms-who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.25;opacity:0;transition:opacity .12s}
.lms-who b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.lms-who small{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.lms-me>svg{flex:none;color:var(--ink-3);opacity:0}
.lms.peek .lms-who,.lms-pinned .lms-who,.lms.open .lms-who,
.lms.peek .lms-me>svg,.lms-pinned .lms-me>svg,.lms.open .lms-me>svg{opacity:1}
.lms-menu{position:fixed;z-index:70;width:230px;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:6px;box-shadow:0 18px 40px rgba(16,40,35,.18)}
:root[data-theme="dark"] .lms-menu{box-shadow:0 18px 40px rgba(0,0,0,.6)}
.lms-menu[hidden]{display:none}
.lms-mh{padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;line-height:1.3}
.lms-mh b{font-size:14px;font-weight:600;color:var(--ink)}
.lms-mh small{font-size:12px;color:var(--ink-3)}
.lms-menu a{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:9px;color:var(--ink);
  text-decoration:none;font-size:14px}
.lms-menu a svg{color:var(--ink-3)}
.lms-menu a:hover{background:var(--hover)}
@media (max-width:760px){.lms .lms-who,.lms .lms-me>svg{opacity:1}}

/* ── Приложение на телефоне (08.10.2026, «analytics под PWA-приложение») ────
   Как ЛК с экрана «Домой» (DESIGN.md §3.6): класс html.lm-app ставит скрипт
   в <head> (SIDE_HEAD в server.py, у ассистента и питания — header.js) на
   компактном экране, если сайт открыт приложением или с сенсорного телефона.
   Бокового меню и бургера нет; сверху — крупное название раздела и контролы
   страницы, шапка уезжает вместе со страницей (содержимое от верха экрана);
   вкладки страницы — в самой странице. Внизу у пальца капсула разделов
   (значки, header.js → .lma) и слева от неё кружок учётки, меню учётки
   раскрывается вверх. Боком — та же капсула рельсом у левого края.
   --lm-bnav — сколько места снизу занято капсулой: на неё поднимают свои
   плашки fixed-элементы у низа экрана (тост P&L и видео ниже). */
.lma{display:none}
html.lm-app .lms,html.lm-app .lms-scrim,html.lm-app .lms-burger{display:none!important}
html.lm-app header.lmh{position:static;background:none;border-bottom:0;padding-top:env(safe-area-inset-top,0px)}
html.lm-app .lmh-ttl{font-size:23px;font-weight:700;letter-spacing:-.015em;min-height:60px}
html.lm-app .lmh-ttl span{overflow:hidden;text-overflow:ellipsis}
html.lm-app.lma-on{--lma-sa:max(10px,env(safe-area-inset-bottom,0px));--lm-bnav:calc(56px + var(--lma-sa))}
html.lm-app.lma-on .lma{display:flex;position:fixed;z-index:45;left:0;right:0;bottom:0;
  align-items:center;justify-content:center;gap:8px;padding:22px 12px var(--lma-sa);pointer-events:none;
  /* затухание под капсулой: содержимое у низа экрана уходит в полотно, белые
     карточки не сливаются с капсулой (как «Затухание» у капсулы расписания ЛК) */
  background:linear-gradient(to bottom,transparent,var(--bg) 62%)}
html.lm-app.lma-on{padding-left:0;padding-bottom:calc(var(--lm-bnav) + 14px)}
.lma-bar,.lma .lms-me{pointer-events:auto;border:1px solid var(--line);background:var(--surface);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 12px 34px rgba(16,40,35,.20),0 1px 3px rgba(16,40,35,.10)}
@supports (background:color-mix(in srgb,red 50%,transparent)){
  .lma-bar,.lma .lms-me{background:color-mix(in srgb,var(--surface) 90%,transparent)}}
:root[data-theme="dark"] .lma-bar,:root[data-theme="dark"] .lma .lms-me{box-shadow:0 12px 34px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.4)}
.lma-bar{display:flex;align-items:center;flex:0 1 auto;min-width:0;height:56px;box-sizing:border-box;border-radius:20px;padding:5px;overflow:hidden}
.lma-open{height:44px;min-width:56px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  border:0;border-right:1px solid var(--line);border-radius:14px 0 0 14px;background:none;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}
.lma-open svg{width:18px;height:18px}
.lma-in{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:0;height:100%;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lma-in::-webkit-scrollbar{display:none}
.lma-in.lma-ml{-webkit-mask:linear-gradient(to right,transparent,#000 22px);mask:linear-gradient(to right,transparent,#000 22px)}
.lma-in.lma-mr{-webkit-mask:linear-gradient(to left,transparent,#000 22px);mask:linear-gradient(to left,transparent,#000 22px)}
.lma-in.lma-ml.lma-mr{-webkit-mask:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent);
  mask:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
/* Быстрые переходы сохраняют цель 44×44; полные названия доступны по «Меню». */
.lma .lmh-nl{height:44px;flex:0 0 44px;min-width:44px;gap:0;padding:0;justify-content:center;border:0;border-radius:15px;
  background:none;color:var(--ink-2);-webkit-tap-highlight-color:transparent}
.lma .lmh-nl span{display:none}
.lma .lmh-nl svg{width:21px;height:21px;color:inherit}
.lma .lmh-nl:active{background:var(--hover)}
.lma .lmh-nl.on{background:var(--accent);color:var(--surface);border:0;font-weight:600;cursor:pointer}
.lma .lmh-nl.on svg{color:var(--surface)}
.lma .lmh-sep{display:none}
.lma-foot{order:-1;flex:none;display:flex}
.lma-foot:empty{display:none}
.lma .lms-me{width:56px;height:56px;box-sizing:border-box;padding:3px;border-radius:50%;justify-content:center;gap:0;
  -webkit-tap-highlight-color:transparent}
.lma .lms-me:hover{background:var(--surface)}
.lma .lms-av{width:48px;height:48px;font-size:16px}
.lma .lms-who,.lma .lms-me>svg{display:none}
/* меню учётки — над кружком, раскрывается вверх (как в ЛК) */
.lma-menu{border-radius:16px;padding:6px;transform-origin:bottom left}
.lma-menu:not([hidden]){animation:lmaRise .36s cubic-bezier(.22,1,.36,1) both}
.lma-menu a{height:44px;font-size:15px}
/* Та же навигация с названиями и подпунктами на телефоне. Native dialog
   удерживает фокус и остаётся доступен поверх истории и развёрнутой камеры. */
.lma-drawer{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 24px));max-width:none;height:100dvh;max-height:none;margin:0;
  padding:0;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--ink);
  font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;flex-direction:column}
.lma-drawer[open]{display:flex}
.lma-drawer::backdrop{background:var(--overlay,rgba(0,0,0,.4))}
.lma-drawer-head{display:flex;align-items:center;justify-content:space-between;flex:none;padding:8px 12px 8px 20px;border-bottom:1px solid var(--line)}
.lma-drawer-head b{font-size:16px}
.lma-drawer-head button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer}
.lma-drawer .lms-nav{flex:1;min-height:0;overflow-y:auto;padding:10px 12px calc(16px + env(safe-area-inset-bottom))}
.lma-drawer .lmh-nl span{opacity:1}
.lma-drawer .lms-nav .lmh-nl .lms-cv{opacity:1}
.lma-drawer a{text-decoration:none;color:inherit}
.lma-drawer .lms-si{height:44px;min-height:44px}
.lma-drawer .lms-grp.open>.lms-sw{grid-template-rows:1fr}
.lma-drawer .lms-grp.open>.lms-sw>.lms-sub{visibility:visible}
.lma-drawer .lms-grp.open .lms-sub::before,.lma-drawer .lms-grp.open .lms-sub>*{opacity:1;transform:none}
html.lm-app .strip>.tabs{width:100%;max-width:100%;overflow-x:auto;flex:none}
html.lm-app .strip>.tabs>.tab{flex:0 0 auto}
@keyframes lmaRise{from{opacity:.4;clip-path:inset(100% 0 0 0 round 16px);transform:translateY(6px) scale(.97)}
  to{opacity:1;clip-path:inset(0 0 0 0 round 16px);transform:none}}
@media (prefers-reduced-motion:reduce){.lma-menu:not([hidden]){animation:none}}
html.lm-app.lma-on .toast,html.lm-app.lma-on #toast{bottom:calc(var(--lm-bnav) + 14px)}
/* боком: капсула — рельс у левого края, страница отодвинута на его ширину */
@media (orientation:landscape) and (max-height:500px){
  html.lm-app .lmh-ttl{font-size:19px;min-height:50px}
  html.lm-app.lma-on{padding-bottom:0;padding-left:calc(76px + env(safe-area-inset-left,0px));--lm-bnav:0px}
  html.lm-app.lma-on .lma{top:0;right:auto;width:auto;flex-direction:column-reverse;justify-content:center;
    padding:10px 10px 10px calc(10px + env(safe-area-inset-left,0px));background:none}
  .lma-bar{height:calc(100dvh - 86px);width:56px;max-height:calc(100vh - 86px);flex-direction:column}
  .lma-open{width:44px;min-width:44px;border-right:0;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
  .lma-in{flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}
  .lma .lmh-nl{flex:0 0 44px;min-height:44px;height:44px;width:44px;min-width:0}
  .lma-in.lma-ml{-webkit-mask:linear-gradient(to bottom,transparent,#000 22px);mask:linear-gradient(to bottom,transparent,#000 22px)}
  .lma-in.lma-mr{-webkit-mask:linear-gradient(to top,transparent,#000 22px);mask:linear-gradient(to top,transparent,#000 22px)}
  .lma-in.lma-ml.lma-mr{-webkit-mask:linear-gradient(to bottom,transparent,#000 22px,#000 calc(100% - 22px),transparent);
    mask:linear-gradient(to bottom,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
}
