/* Написано Codex для Димы. Обратимый визуальный слой: удалить два подключения
 * gronn-motion в pwa_head.php — вернётся исходная навигация Димы.
 * Переменные цветов принадлежат gronn-glass.css: обе темы остаются едиными.
 * Размер боковой панели влияет только на оболочку, таблицы внутри прокручиваются.
 */
body.gronn-shell{--gn-width:246px;--gn-ease:cubic-bezier(.2,.75,.25,1)}
body.gronn-shell.gronn-nav-compact{--gn-width:80px}
html[data-gronn-theme] body.gronn-shell .buttons-container{display:none!important}
html[data-gronn-theme] body.gronn-shell .home-imageservicedesk1{left:30px;top:23px;height:32px;max-width:190px;object-fit:contain;transform:none;filter:brightness(0) saturate(100%) invert(20%) sepia(98%) saturate(2800%) hue-rotate(225deg)}
html[data-gronn-theme=dark] body.gronn-shell .home-imageservicedesk1{filter:brightness(0) invert(1)}
html[data-gronn-theme] body.gronn-shell .mobile-sidebar{left:14px;top:82px;bottom:18px;height:auto;width:var(--gn-width);padding:18px 10px 12px;background:var(--gg-glass)!important;border:1px solid var(--gg-border);border-radius:24px;box-shadow:var(--gg-shadow);backdrop-filter:blur(28px) saturate(140%);overflow-y:auto;overflow-x:hidden;transition:width .32s var(--gn-ease),transform .32s var(--gn-ease)}
html[data-gronn-theme] body.gronn-shell .mobile-sidebar .workspace-nav-link{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;margin:4px 0;border:1px solid transparent;border-radius:13px;color:var(--gg-muted)!important;line-height:1.35;font-size:13px;font-weight:550;white-space:normal;transition:background .18s,color .18s,box-shadow .18s}
html[data-gronn-theme] body.gronn-shell .mobile-sidebar .workspace-nav-link:hover{background:var(--gg-field)!important;color:var(--gg-text)!important}
html[data-gronn-theme] body.gronn-shell .mobile-sidebar .workspace-nav-link.gronn-nav-active{background:linear-gradient(120deg,#1644d5,#245be9)!important;color:white!important;border-color:#6b97ff;box-shadow:0 6px 16px #1644d52a}
.gronn-nav-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px}.gronn-nav-icon svg{width:22px;height:22px}
.gronn-nav-label{min-width:0}.gronn-nav-caption{font-size:9px;font-weight:650;letter-spacing:.13em;color:var(--gg-muted);padding:18px 12px 14px;white-space:nowrap}
html[data-gronn-theme] body.gronn-shell .gronn-nav-collapse{display:grid;place-items:center;width:34px;height:30px;margin-left:auto;border-radius:10px;border:1px solid var(--gg-line);background:var(--gg-field);color:var(--gg-blue);cursor:pointer}
.gronn-nav-collapse svg{width:18px;height:18px;transition:transform .32s var(--gn-ease)}
body.gronn-nav-compact .gronn-nav-collapse svg{transform:rotate(180deg)}
body.gronn-nav-compact .gronn-nav-label,body.gronn-nav-compact .gronn-nav-caption{display:none}
html[data-gronn-theme] body.gronn-nav-compact .mobile-sidebar .workspace-nav-link{justify-content:center;padding:12px 0}
html[data-gronn-theme] body.gronn-shell .notifications-item{font-size:11px;line-height:1.5;border:0;background:transparent!important;padding:12px}
body.gronn-nav-compact .mobile-sidebar .notifications-item{display:none}
html[data-gronn-theme] body.gronn-shell .home-frame2{left:calc(var(--gn-width) + 28px);right:18px;width:auto;top:82px;bottom:18px;height:auto;border-radius:26px;transition:left .32s var(--gn-ease)}
html[data-gronn-theme] body.gronn-shell .content-area{left:calc(var(--gn-width) + 28px);right:18px;top:82px;bottom:18px;padding:26px 28px 78px;transition:left .32s var(--gn-ease);border-radius:26px;scroll-behavior:smooth}
html[data-gronn-theme] body.gronn-shell .mobile-menu-btn{display:none}
/* Написано Codex для Димы: opt-in класс для рабочих экранов с таблицами,
 * дашбордами и многошаговыми формами. Bootstrap по умолчанию ограничивает
 * .container на широком мониторе до 1320px и оставляет бесполезные поля внутри
 * уже выделенной рабочей области портала. Класс снимает только это ограничение
 * у страниц, которые сами явно объявили, что могут занимать всю доступную
 * ширину. Узкие формы входа, профиль и читаемые текстовые карточки не меняются.
 */
html[data-gronn-theme] body.gronn-shell .content-area .gronn-fluid-workspace.container{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding-inline:0!important;
}
/* Написано Codex для Димы: дочерние рабочие контейнеры наследуют доступную
 * ширину, но не получают отрицательные отступы. Для широких реестров прокрутка
 * остаётся локальной в .table-responsive, а не расширяет весь экран. */
html[data-gronn-theme] body.gronn-shell .content-area .gronn-fluid-workspace > .content-container{
  width:100%;
  max-width:none;
  min-width:0;
}
.gronn-context{position:absolute;left:280px;right:160px;top:22px;display:flex;flex-direction:column;gap:4px;pointer-events:none;min-width:0}
.gronn-context span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gg-muted)}
.gronn-context strong{font-size:17px;line-height:1.3;font-weight:600;color:var(--gg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-gronn-theme] body.gronn-shell .home-image1{display:block;right:91px;top:27px;width:24px;height:24px}
html[data-gronn-theme] body.gronn-shell .home-image2{right:22px;top:13px;width:56px;height:56px}
html[data-gronn-theme] body.gronn-shell .servicedesk-menu{max-width:none;margin:0}
html[data-gronn-theme] body.gronn-shell .servicedesk-header{margin-bottom:24px;padding-bottom:22px;gap:14px}
html[data-gronn-theme] body.gronn-shell .servicedesk-brand{flex-basis:52px;height:52px;border-radius:17px}
html[data-gronn-theme] body.gronn-shell .servicedesk-menu h2{font-size:26px}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action{min-height:205px;border-radius:20px!important;padding:24px;backdrop-filter:blur(20px);transition:transform .22s var(--gn-ease),box-shadow .22s}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action-primary{background:linear-gradient(130deg,#0b3577,#1644d5 65%,#287bfa)!important;border-color:#6b97ff!important;color:#fff!important}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action-primary .workspace-menu-action-description{color:#e4edff!important}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action-primary .servicedesk-icon{background:#ffffff20!important;color:#fff!important}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action-title{font-size:18px}
html[data-gronn-theme] body.gronn-shell .workspace-menu-action-description{color:var(--gg-muted);font-size:13px}
html[data-gronn-theme] body.gronn-shell .user-dropdown{border-radius:18px;padding:7px;right:25px;top:70px;background:var(--gg-solid)!important;transform-origin:top right;animation:gronn-menu-in .2s var(--gn-ease)}
html[data-gronn-theme] body.gronn-shell .user-dropdown .dropdown-item{border-radius:11px;color:var(--gg-text)!important}
html[data-gronn-theme] body.gronn-shell .user-dropdown .dropdown-item:hover{background:var(--gg-head)!important}
html[data-gronn-theme] body.gronn-shell .user-dropdown .dropdown-item i{color:var(--gg-blue)!important}
@keyframes gronn-menu-in{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
/* Написано Codex: альтернативная верхняя компоновка использует ту же панель.
 * При нехватке ширины доступны горизонтальная прокрутка и клавиатурный фокус;
 * ссылки не исчезают в устаревшем «Ещё». На телефоне всегда используется drawer.
 */
@media(min-width:901px){
 html[data-gronn-theme] body.gronn-shell.gronn-nav-top .mobile-sidebar{left:18px;right:18px;top:82px;bottom:auto;width:auto;height:66px;display:flex;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;border-radius:20px;scrollbar-width:thin}
 html[data-gronn-theme] body.gronn-shell.gronn-nav-top .mobile-sidebar .workspace-nav-link{flex:0 0 auto;min-height:42px;margin:0;padding:9px 13px;gap:9px;white-space:nowrap;justify-content:flex-start;font-size:12px}
 body.gronn-shell.gronn-nav-top .gronn-nav-label{display:block}
 body.gronn-shell.gronn-nav-top .gronn-nav-caption,html[data-gronn-theme] body.gronn-shell.gronn-nav-top .gronn-nav-collapse,body.gronn-shell.gronn-nav-top .sidebar-divider,html[data-gronn-theme] body.gronn-shell.gronn-nav-top .notifications-item{display:none}
 html[data-gronn-theme] body.gronn-shell.gronn-nav-top .home-frame2,html[data-gronn-theme] body.gronn-shell.gronn-nav-top .content-area{left:18px;right:18px;top:160px}
}
html[data-gronn-theme] body.gronn-shell .gronn-appearance{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:flex-end}
html[data-gronn-theme] body.gronn-shell .gronn-appearance button{font-size:11px;padding:9px 10px}
/* Мобильный режим сохраняет кнопку, overlay и обработчики Димы. Не сжимаем
 * подписи: по нажатию открывается полноценное меню поверх содержимого. */
@media(max-width:900px){
 html[data-gronn-theme] body.gronn-shell .mobile-sidebar{width:260px;left:12px;top:76px;bottom:12px;transform:translateX(-290px);z-index:1101;background:var(--gg-solid)!important}
 html[data-gronn-theme] body.gronn-shell .mobile-sidebar.open{transform:translateX(0)}
 html[data-gronn-theme] body.gronn-shell .mobile-menu-btn{display:grid;place-items:center;left:14px;top:22px;width:38px;height:36px;padding:6px;border-radius:11px;background:var(--gg-field);color:var(--gg-blue)}
 html[data-gronn-theme] body.gronn-shell .home-imageservicedesk1{left:66px;top:26px;height:26px;max-width:160px}
 html[data-gronn-theme] body.gronn-shell .gronn-context{display:none}
 html[data-gronn-theme] body.gronn-shell .home-frame2,html[data-gronn-theme] body.gronn-shell .content-area{left:10px;right:10px;top:76px;bottom:10px;border-radius:20px}
 html[data-gronn-theme] body.gronn-shell .content-area{padding:18px 14px 78px}
 html[data-gronn-theme] body.gronn-shell .gronn-nav-collapse{display:none}
 body.gronn-nav-compact .gronn-nav-label,body.gronn-nav-compact .gronn-nav-caption{display:block}
 html[data-gronn-theme] body.gronn-nav-compact .mobile-sidebar .workspace-nav-link{justify-content:flex-start;padding:10px 12px}
 body.gronn-nav-compact .mobile-sidebar .notifications-item{display:block}
 html[data-gronn-theme] body.gronn-shell .home-image2{right:16px}
 html[data-gronn-theme] body.gronn-shell .home-image1{right:72px}
}
@media(max-width:400px){html[data-gronn-theme] body.gronn-shell .home-imageservicedesk1{max-width:135px;height:23px}}
/* Написано Codex для Димы: список движения продукции раньше расширялся до
   92vw и центрировался относительно viewport. В боковой компоновке это
   давало отрицательный отступ внутри content-area: первые фильтры и левая
   часть таблицы оказывались под панелью. Контейнер теперь занимает только
   доступную рабочую область, а широкий реестр прокручивается в своём scroll
   wrapper, не сдвигая весь экран. */
html[data-gronn-theme] body.gronn-shell .content-area #movement-list-container.movement-list-container.is-open{width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;box-sizing:border-box}
html[data-gronn-theme] body.gronn-shell .content-area #movement-list-container .info-form-block{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
html[data-gronn-theme] body.gronn-shell .content-area #movement-list-container .table-responsive{width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
html[data-gronn-theme] body.gronn-shell .content-area #movement-list-container .movement-production-table{margin:0!important}
/* Доступность: настройка ОС и переключатель портала отключают движение.
 * Здесь нет анимации чисел из референса — значения отчётов сразу достоверны. */
html[data-gronn-effects=off] body.gronn-shell :is(.mobile-sidebar,.content-area,.home-frame2,.workspace-nav-link,.gronn-nav-collapse svg,.workspace-menu-action,.user-dropdown){transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){body.gronn-shell *,body.gronn-shell *::before,body.gronn-shell *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{body.gronn-shell .mobile-sidebar,body.gronn-shell .gronn-context{display:none!important}html[data-gronn-theme] body.gronn-shell .content-area{position:static;padding:0;overflow:visible}}

/* Разделы и оболочка должны переключаться без сдвига. Эти элементы получают
 * новые координаты при первом монтировании кабинета и после AJAX-навигации;
 * transition и smooth scroll визуально протягивали старое состояние к новому. */
html[data-gronn-theme] body.gronn-shell :is(.mobile-sidebar,.home-frame2,.content-area){
  transition:none!important;
}
html[data-gronn-theme] body.gronn-shell .content-area{
  scroll-behavior:auto!important;
}
html[data-gronn-theme] body::after{
  animation:none!important;
}
