/* Gestor STA v3.347.16 — ÚNICO CSS OFICIAL DA SIDEBAR PRINCIPAL.
   Base visual, compatibilidade Monitor, mobile e estados do Motor Global.
   Páginas autenticadas não devem importar sidebar.css/collapsed/expanded/mobile separadamente. */

/* === BASE VISUAL COMPARTILHADA === */
/* Gestor STA — Sidebar profissional v3.109.0
   Geometria estável: o trilho dos ícones não muda entre os estados.
   O painel apenas revela a área de texto, evitando relayout, piscadas e saltos. */

:root {
  --sta-sidebar-collapsed: 56px;
  --sta-sidebar-expanded: 232px;
  --sta-sidebar-gutter: 8px;
  --sta-sidebar-rail: 40px;
  --sta-sidebar-item-height: 38px;
  --sta-sidebar-item-width: calc(var(--sta-sidebar-expanded) - (var(--sta-sidebar-gutter) * 2));
  --sta-sidebar-icon: 20px;
  --sta-sidebar-gap: 6px;
  --sta-sidebar-bg: #061735;
  --sta-sidebar-bg-2: #031128;
  --sta-sidebar-blue: #0f63ff;
  --sta-sidebar-cyan: #00c7df;
  --sta-sidebar-open-duration: 120ms;
  --sta-sidebar-close-duration: 120ms;
  --sta-sidebar-ease: cubic-bezier(.2, .8, .2, 1);
}

.inicio-app {
  min-height: 100svh;
  background: linear-gradient(180deg, #fbfcff 0%, #f4f7fc 100%);
}

.inicio-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  width: var(--sta-sidebar-collapsed);
  height: 100svh;
  overflow: hidden;
  color: #eef5ff;
  background:
    radial-gradient(circle at 25% 74%, rgba(20, 121, 255, .24), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(0, 199, 223, .10), transparent 30%),
    linear-gradient(180deg, var(--sta-sidebar-bg) 0%, var(--sta-sidebar-bg-2) 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .06);
  transition:
    width var(--sta-sidebar-close-duration) var(--sta-sidebar-ease),
    box-shadow var(--sta-sidebar-close-duration) ease;
  contain: layout paint;
  will-change: width;
}

.inicio-sidebar::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 210px;
  left: -118px;
  bottom: 150px;
  pointer-events: none;
  opacity: .38;
  background: repeating-radial-gradient(ellipse at center, transparent 0 12px, rgba(20, 121, 255, .52) 13px 14px, transparent 15px 29px);
  transform: rotate(-13deg);
}

.inicio-sidebar-content {
  position: relative;
  z-index: 1;
  width: var(--sta-sidebar-expanded);
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 12px var(--sta-sidebar-gutter);
  overflow: hidden;
}

.inicio-sidebar-logo {
  position: relative;
  width: var(--sta-sidebar-item-width);
  height: 42px;
  min-height: 42px;
  margin: 0 0 10px;
  display: block;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}

.inicio-logo-icon,
.inicio-logo-full {
  position: absolute;
  top: 50%;
  display: block;
  object-fit: contain;
  transform: translateY(-50%);
}

.inicio-logo-icon {
  left: 6px;
  width: 28px;
  height: 28px;
  opacity: 1;
  transition: opacity 100ms ease;
}

.inicio-logo-full {
  left: 8px;
  width: 166px;
  max-width: 166px;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) translateX(-4px);
  transition:
    opacity 120ms ease,
    transform 150ms var(--sta-sidebar-ease),
    visibility 0s linear 150ms;
}

.inicio-menu {
  flex: 1 1 auto;
  min-height: 0;
  width: var(--sta-sidebar-item-width);
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: max-content;
  align-content: start;
  gap: var(--sta-sidebar-gap);
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.inicio-menu::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.inicio-menu-group {
  width: var(--sta-sidebar-item-width);
  min-width: 0;
  display: grid;
  gap: 0;
  align-self: start;
}

.inicio-pressable,
.inicio-submenu a {
  position: relative;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.inicio-menu > .inicio-pressable,
.inicio-menu-group > .inicio-sidebar-direct-link,
.inicio-menu-group > .inicio-cardapio-link,
.inicio-menu-group > .inicio-waiter-mode-link,
.inicio-submenu-toggle,
.inicio-sidebar-action {
  width: var(--sta-sidebar-item-width);
  min-width: var(--sta-sidebar-item-width);
  height: var(--sta-sidebar-item-height);
  min-height: var(--sta-sidebar-item-height);
  margin: 0;
  padding: 0 8px 0 0;
  display: grid;
  grid-template-columns: var(--sta-sidebar-rail) minmax(0, 1fr) 18px;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 10px;
  color: rgba(245, 249, 255, .86);
  background: transparent;
  text-decoration: none;
  font-family: inherit;
  font-size: 12px;
  font-weight: 740;
  line-height: 1;
  cursor: pointer;
  transition:
    background 120ms ease,
    color 120ms ease,
    box-shadow 140ms ease,
    transform 100ms ease;
}

.inicio-menu > .inicio-pressable:hover,
.inicio-menu-group > .inicio-sidebar-direct-link:hover,
.inicio-menu-group > .inicio-cardapio-link:hover,
.inicio-menu-group > .inicio-waiter-mode-link:hover,
.inicio-submenu-toggle:hover,
.inicio-sidebar-action:hover {
  color: #fff;
  background: rgba(255,255,255,.075);
}

.inicio-menu > .inicio-pressable.is-active,
.inicio-menu-group > .inicio-sidebar-direct-link.is-active,
.inicio-menu-group > .inicio-cardapio-link.is-active,
.inicio-menu-group > .inicio-waiter-mode-link.is-active,
.inicio-submenu-toggle.is-active,
.inicio-submenu-toggle[aria-expanded="true"] {
  color: #fff;
  background: linear-gradient(135deg, var(--sta-sidebar-blue), #087aff);
  box-shadow: 0 9px 18px rgba(15, 99, 255, .28);
}

.inicio-menu svg,
.inicio-sidebar-action svg,
.inicio-submenu-toggle > svg:first-child {
  width: var(--sta-sidebar-icon);
  height: var(--sta-sidebar-icon);
  justify-self: center;
  align-self: center;
  stroke: currentColor;
  stroke-width: 1.85;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.inicio-menu span,
.inicio-sidebar-action span,
.inicio-submenu-chevron,
.inicio-user-card strong,
.inicio-user-card span,
.master-company-card-indicator,
.inicio-cardapio-badge,
.inicio-menu-badge {
  min-width: 0;
  max-width: 152px;
  opacity: 0;
  visibility: hidden;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: translateX(-4px);
  pointer-events: none;
  transition:
    opacity 110ms ease,
    transform 140ms var(--sta-sidebar-ease),
    visibility 0s linear 140ms;
}


.inicio-menu > .inicio-pressable > span,
.inicio-menu-group > .inicio-sidebar-direct-link > span,
.inicio-menu-group > .inicio-cardapio-link > span,
.inicio-menu-group > .inicio-waiter-mode-link > span,
.inicio-submenu-toggle > span,
.inicio-sidebar-action > span,
.inicio-user-card strong,
.inicio-user-card span,
.master-company-card-indicator {
  justify-self: start;
  text-align: left;
}

.inicio-submenu-chevron {
  width: 15px !important;
  height: 15px !important;
  max-width: 15px;
  justify-self: end;
  transition:
    opacity 110ms ease,
    transform 140ms var(--sta-sidebar-ease),
    visibility 0s linear 140ms;
}

.inicio-menu-group.is-open .inicio-submenu-chevron {
  transform: rotate(180deg);
}

.inicio-submenu {
  width: calc(var(--sta-sidebar-item-width) - 44px);
  max-height: 0;
  display: grid;
  gap: 3px;
  margin: 0 0 0 44px;
  padding: 0;
  border: 0 solid rgba(219, 228, 242, .96);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(-4px);
  transition:
    max-height 180ms var(--sta-sidebar-ease),
    margin 180ms var(--sta-sidebar-ease),
    padding 180ms var(--sta-sidebar-ease),
    opacity 110ms ease,
    transform 160ms var(--sta-sidebar-ease),
    visibility 0s linear 180ms,
    border-width 0s linear 180ms;
}

.inicio-submenu a {
  min-height: 29px;
  display: flex;
  align-items: center;
  padding: 6px 8px;
  border-radius: 8px;
  color: #273653;
  background: #fff;
  font-size: 10.8px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: break-word;
  transition: background 100ms ease, color 100ms ease, transform 90ms ease, box-shadow 100ms ease;
}

.inicio-submenu a:hover,
.inicio-submenu a:focus-visible {
  color: #0b51d9;
  background: #eef5ff;
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(15, 99, 255, .12);
}

.inicio-submenu a:active,
.inicio-submenu a.is-pressing,
.inicio-submenu a.is-navigating {
  transform: scale(.98);
  background: #dfeeff;
  color: #0846bd;
}

.inicio-submenu a.is-strong {
  margin-top: 2px;
  color: #071a3d;
  font-weight: 900;
}

.inicio-submenu a.is-strong::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 7px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--sta-sidebar-cyan);
  box-shadow: 0 0 10px rgba(0, 199, 223, .55);
}

.inicio-submenu a.is-active {
  color: #0648c7;
  background: #e4efff;
  box-shadow: inset 3px 0 0 var(--sta-sidebar-blue);
  font-weight: 850;
}

.inicio-sidebar-footer {
  flex: 0 0 auto;
  width: var(--sta-sidebar-item-width);
  margin-top: 10px;
  padding-top: 10px;
  display: grid;
  gap: var(--sta-sidebar-gap);
  border-top: 1px solid rgba(255,255,255,.09);
}

.inicio-gestao-sta-card {
  position: relative;
  width: var(--sta-sidebar-item-width);
  min-height: 48px;
  padding: 7px 10px;
  display: grid;
  grid-template-columns: var(--sta-sidebar-rail) minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  border-radius: 12px;
  text-decoration: none;
  text-align: left;
  color: #fff6dc;
  background:
    radial-gradient(circle at top right, rgba(255, 236, 170, .28), transparent 34%),
    linear-gradient(135deg, #8f5e05 0%, #d0a134 46%, #8a5804 100%);
  border: 1px solid rgba(255, 224, 154, .18);
  box-shadow: 0 10px 20px rgba(40, 24, 1, .18);
  overflow: hidden;
}

.inicio-gestao-sta-card::after {
  content: "";
  position: absolute;
  inset: auto -26px -26px auto;
  width: 90px;
  height: 90px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.26), transparent 68%);
  pointer-events: none;
}

.inicio-gestao-sta-logo,
.inicio-gestao-sta-copy,
.inicio-gestao-sta-card strong,
.inicio-gestao-sta-card em {
  position: relative;
  z-index: 1;
}

.inicio-gestao-sta-logo {
  width: 32px;
  height: 32px;
  display: block;
  justify-self: center;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(38, 22, 0, .22));
}

.inicio-gestao-sta-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
  justify-items: start;
  text-align: left;
}

.inicio-gestao-sta-card strong {
  display: block;
  color: #fffaf0;
  font-size: 11.6px;
  line-height: 1.12;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inicio-gestao-sta-card em {
  display: block;
  color: rgba(255, 245, 220, .84);
  font-style: normal;
  font-size: 9.4px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inicio-user-card {
  width: var(--sta-sidebar-item-width);
  min-height: 40px;
  margin: 0;
  display: grid;
  grid-template-columns: var(--sta-sidebar-rail) minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  color: #fff;
  overflow: hidden;
  border-radius: 10px;
}

.inicio-user-card > div:last-child { min-width: 0; }

.inicio-avatar {
  width: 34px;
  height: 34px;
  justify-self: center;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #0f63ff, #00bde1);
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(15, 99, 255, .24);
}

.inicio-user-card strong {
  display: block;
  font-size: 11px;
  line-height: 1.15;
}

.inicio-user-card span {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.68);
  font-size: 9.8px;
  line-height: 1.15;
}

.inicio-ripple {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  pointer-events: none;
  background: rgba(255,255,255,.30);
  transform: translate(-50%, -50%) scale(0);
  animation: inicioRipple 420ms ease-out forwards;
}

@keyframes inicioRipple {
  to { transform: translate(-50%, -50%) scale(18); opacity: 0; }
}

.inicio-overlay { display: none; }

.inicio-avatar.has-image {
  overflow: hidden;
  padding: 0;
  background: rgba(255, 255, 255, .12);
}

.inicio-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}

.inicio-user-company {
  display: block;
  max-width: 145px;
  margin-top: 2px;
  color: rgba(223, 234, 255, .70);
  font-size: 9.5px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inicio-avatar.is-company-logo {
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: scale(1.1);
}

.inicio-avatar.is-company-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
  background: transparent;
}

.inicio-user-card.is-master-company-trigger { cursor: pointer; }
.inicio-user-card.is-master-company-trigger:hover,
.inicio-user-card.is-master-company-trigger.is-open { background: rgba(255,255,255,.07); }

.master-company-card-indicator {
  display: block;
  margin-top: 2px;
  color: rgba(173, 216, 255, .86);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.15;
}

.inicio-cardapio-link,
.inicio-waiter-mode-link {
  position: relative;
  grid-template-columns: var(--sta-sidebar-rail) minmax(0, 1fr) auto !important;
}

/* v3.347.16 — Links especiais usam a mesma geometria e tipografia dos menus oficiais. */
.inicio-menu-group > .inicio-sidebar-direct-link {
  color: rgba(245, 249, 255, .86);
  background: transparent;
  text-decoration: none;
  font: inherit;
}

.inicio-menu-group > .inicio-sidebar-direct-link:visited {
  color: rgba(245, 249, 255, .86);
}

.inicio-menu-group > .inicio-sidebar-direct-link:hover,
.inicio-menu-group > .inicio-sidebar-direct-link:hover:visited,
.inicio-menu-group > .inicio-sidebar-direct-link:focus-visible,
.inicio-menu-group > .inicio-sidebar-direct-link:focus-visible:visited {
  color: #fff;
  text-decoration: none;
}

.inicio-menu-group > .inicio-sidebar-direct-link.is-active,
.inicio-menu-group > .inicio-sidebar-direct-link.is-active:visited {
  color: #fff;
}

.inicio-cardapio-badge,
.inicio-menu-badge {
  min-width: 30px;
  max-width: 36px;
  justify-self: end;
  padding: 3px 4px;
  border-radius: 999px;
  color: #031128;
  background: linear-gradient(135deg, #7eeeff, #00c7df);
  font-size: 7.2px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.inicio-menu-group > .inicio-cardapio-link,
.inicio-menu-group > .inicio-waiter-mode-link {
  grid-template-columns: var(--sta-sidebar-rail) minmax(0, 1fr) 34px !important;
  gap: 4px;
  padding-right: 6px;
}

.inicio-cardapio-menu-group .inicio-submenu {
  overflow: hidden;
  scrollbar-width: none;
}

.inicio-cardapio-menu-group .inicio-submenu::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-cardapio-menu-group.is-open .inicio-submenu,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-cardapio-menu-group.is-open .inicio-submenu {
    max-height: none;
    overflow: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inicio-sidebar,
  .inicio-sidebar *,
  .inicio-submenu,
  .inicio-submenu a,
  .inicio-ripple {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Gestor STA v3.280.0 — Modo Garçom global */
body.is-waiter-mode .inicio-menu > a[href="/inicio/"],
body.is-waiter-mode .inicio-menu [data-sidebar-group]:not(.is-waiter-allowed),
body.is-waiter-mode .inicio-sidebar-action.is-active[href="/configuracoes/"],
body.is-waiter-mode [data-settings-menu],
body.is-waiter-mode [data-cardapio-menu],
body.is-waiter-mode [data-waiter-admin-menu] { display: none !important; }
body.is-waiter-mode .inicio-menu .inicio-submenu a:not([href="/vendas/frente-de-caixa/"]) { display: none !important; }
body.is-waiter-mode .inicio-menu [data-sidebar-group].is-waiter-allowed { display: block !important; }
body.is-waiter-mode .inicio-sidebar-logo { pointer-events: auto; }
body.is-waiter-mode .inicio-user-card span::after { content: " · Modo Garçom"; color: #38bdf8; font-weight: 800; }

/* v3.308.0 — Aplicação visual das permissões profundas */
.is-permission-hidden {
  display: none !important;
}

.is-permission-disabled,
.is-permission-locked {
  opacity: .48 !important;
  cursor: not-allowed !important;
  filter: grayscale(.25);
}

.is-permission-disabled * {
  pointer-events: none !important;
}

.permissions-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147482600;
  max-width: min(420px, calc(100vw - 24px));
  padding: 14px 16px;
  border-radius: 16px;
  background: #07172f;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 22px 42px rgba(2, 10, 28, .28);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.permissions-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.permissions-denied-page {
  min-height: calc(100vh - 120px);
  display: grid;
  place-items: center;
  padding: 32px;
}

.permissions-denied-card {
  width: min(620px, 100%);
  padding: 34px;
  border-radius: 28px;
  border: 1px solid rgba(15, 99, 255, .16);
  background: linear-gradient(180deg, #fff, #f8fbff);
  box-shadow: 0 26px 60px rgba(9, 31, 71, .12);
  text-align: center;
}

.permissions-denied-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: #eaf2ff;
  color: #0f63ff;
  font-size: 28px;
}

.permissions-denied-card small {
  display: block;
  color: #0f63ff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.permissions-denied-card h1 {
  margin: 8px 0 10px;
  color: #07172f;
  font-size: 28px;
}

.permissions-denied-card p {
  margin: 0;
  color: #5e6f90;
  font-size: 14px;
  line-height: 1.65;
}

.permissions-denied-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 22px;
  padding: 0 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f63ff, #00bde1);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}


/* === COMPATIBILIDADE EXCLUSIVA DAS SIDEBARS MONITOR SEM MOTOR GLOBAL === */
/* Gestor STA — estado retraído v3.109.0
   Os itens mantêm a largura expandida internamente; o painel apenas recorta a área textual. */

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) {
    width: var(--sta-sidebar-collapsed);
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-logo-icon {
    opacity: 1;
    visibility: visible;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-logo-full {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(-4px);
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-submenu {
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* v3.304.0 — Gestão STA na sidebar retraída: mostra somente o selo. */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-gestao-sta-card {
    width: var(--sta-sidebar-collapsed);
    min-width: var(--sta-sidebar-collapsed);
    min-height: var(--sta-sidebar-item-height);
    margin-left: calc(-1 * var(--sta-sidebar-gutter));
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-template-columns: none;
    gap: 0;
    border-radius: 12px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-gestao-sta-card::after,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-gestao-sta-copy {
    display: none;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):not(:hover):not(:focus-within) .inicio-gestao-sta-logo {
    width: 30px;
    height: 30px;
    margin: 0;
    justify-self: center;
    object-position: center center;
    transform: translateX(0);
  }
}


/* Gestor STA — estado expandido v3.109.0
   Expansão curta e sem alteração das coordenadas dos ícones. */

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within {
    width: var(--sta-sidebar-expanded);
    box-shadow: 22px 0 52px rgba(3, 17, 40, .23), inset -1px 0 0 rgba(255, 255, 255, .07);
    transition-duration: var(--sta-sidebar-open-duration), var(--sta-sidebar-open-duration);
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-logo-icon,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-logo-icon {
    opacity: 0;
    visibility: hidden;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-logo-full,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-logo-full {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
    transition-delay: 25ms, 25ms, 0s;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-menu span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-menu span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-sidebar-action span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-sidebar-action span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-submenu-chevron,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-submenu-chevron,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-user-card strong,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-user-card strong,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-user-card span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-user-card span,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .master-company-card-indicator,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .master-company-card-indicator,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-cardapio-badge,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-cardapio-badge,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-menu-badge,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-menu-badge {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
    transition-delay: 45ms, 45ms, 0s;
  }

  .inicio-sidebar:not([data-gestor-sidebar-engine]):hover .inicio-menu-group.is-open .inicio-submenu,
  .inicio-sidebar:not([data-gestor-sidebar-engine]):focus-within .inicio-menu-group.is-open .inicio-submenu {
    max-height: min(56vh, 460px);
    margin-top: 5px;
    margin-bottom: 7px;
    padding: 7px;
    border-width: 1px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    box-shadow: 0 16px 32px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255,255,255,.92);
    transition-delay: 0s, 0s, 0s, 35ms, 0s, 0s, 0s, 0s;
  }
}


/* === RESPONSIVIDADE COMPARTILHADA === */
/* Gestor STA — Sidebar mobile oficial v3.162.0
   Gaveta lateral otimizada para toque. Mantém a identidade visual da sidebar desktop,
   mas centraliza o comportamento mobile para evitar conflitos com responsive.css. */

@media (max-width: 1023px) {
  :root {
    --sta-sidebar-collapsed: 0px;
    --sta-sidebar-expanded: min(86vw, 320px);
    --sta-sidebar-item-width: calc(var(--sta-sidebar-expanded) - 32px);
    --sta-sidebar-item-height: 46px;
    --sta-sidebar-gutter: 16px;
    --sta-sidebar-rail: 32px;
  }

  body.sta-sidebar-scroll-lock {
    overflow: hidden;
    touch-action: none;
  }

  .inicio-main {
    margin-left: 0;
  }

  .inicio-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sta-sidebar-expanded);
    max-width: calc(100vw - 24px);
    min-width: min(286px, calc(100vw - 24px));
    height: 100dvh;
    transform: translateX(-104%);
    pointer-events: none;
    box-shadow: 22px 0 56px rgba(3, 17, 40, .24);
    transition: transform 220ms var(--sta-sidebar-ease), box-shadow 220ms ease;
    contain: layout paint;
    will-change: transform;
    z-index: 40;
  }

  .inicio-app.is-menu-open .inicio-sidebar {
    transform: translateX(0);
    pointer-events: auto;
  }

  .inicio-sidebar-content {
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 16px calc(14px + env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .inicio-sidebar-content::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .inicio-sidebar-logo {
    width: 100%;
    height: 46px;
    min-height: 46px;
    margin: 0 0 12px;
    justify-content: flex-start;
  }

  .inicio-logo-icon {
    display: none;
  }

  .inicio-logo-full {
    left: 4px;
    width: 180px;
    max-width: 180px;
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%);
  }

  .inicio-menu {
    flex: 0 0 auto;
    width: 100%;
    gap: 7px;
    margin: 0;
  }

  .inicio-menu,
  .inicio-menu-group,
  .inicio-sidebar-footer,
  .inicio-user-card,
  .inicio-menu > .inicio-pressable,
  .inicio-menu-group > .inicio-sidebar-direct-link,
  .inicio-menu-group > .inicio-cardapio-link,
  .inicio-menu-group > .inicio-waiter-mode-link,
  .inicio-submenu-toggle,
  .inicio-sidebar-action {
    width: 100%;
    min-width: 0;
  }

  .inicio-menu > .inicio-pressable,
  .inicio-menu-group > .inicio-sidebar-direct-link,
  .inicio-menu-group > .inicio-cardapio-link,
  .inicio-menu-group > .inicio-waiter-mode-link,
  .inicio-submenu-toggle,
  .inicio-sidebar-action {
    min-height: 46px;
    height: auto;
    grid-template-columns: 32px minmax(0, 1fr) 18px;
    gap: 10px;
    padding: 0 10px;
    justify-content: stretch;
  }

  .inicio-menu-group > .inicio-cardapio-link,
  .inicio-menu-group > .inicio-waiter-mode-link {
    grid-template-columns: 32px minmax(0, 1fr) 38px;
    gap: 8px;
  }

  .inicio-cardapio-badge,
  .inicio-menu-badge {
    justify-self: end;
    min-width: 30px;
    max-width: 36px;
  }

  .inicio-menu span,
  .inicio-sidebar-action span,
  .inicio-submenu-chevron,
  .inicio-user-card strong,
  .inicio-user-card span,
  .master-company-card-indicator,
  .inicio-cardapio-badge,
  .inicio-menu-badge {
    opacity: 1;
    visibility: visible;
    width: auto;
    max-width: 190px;
    transform: none;
    pointer-events: auto;
    transition: none;
  }

  .inicio-menu-group.is-open .inicio-submenu {
    display: grid;
    width: calc(100% - 42px);
    max-height: min(48dvh, 420px);
    margin: 6px 0 8px 42px;
    padding: 7px;
    border-width: 1px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    filter: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    box-shadow: 0 15px 30px rgba(0, 0, 0, .18);
  }

  .inicio-menu-group.is-open .inicio-submenu::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .inicio-menu-group.is-open .inicio-submenu a {
    opacity: 1;
    transform: none;
  }

  .inicio-user-card {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .inicio-sidebar-footer {
    margin-top: auto;
    padding-top: 14px;
    gap: 8px;
  }

  .inicio-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 35;
    background: rgba(3, 17, 40, .50);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 160ms ease, visibility 0s linear 160ms;
  }

  @supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))) {
    .inicio-overlay {
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }
  }

  .inicio-app.is-menu-open .inicio-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .inicio-mobile-menu {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: grid;
    place-items: center;
    border: 1px solid #e1e8f3;
    border-radius: 12px;
    background: #fff;
    color: #07173b;
  }

  .inicio-mobile-menu svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
  }

  .inicio-menu > .inicio-pressable:active,
  .inicio-submenu-toggle:active,
  .inicio-sidebar-action:active,
  .inicio-submenu a:active,
  .inicio-mobile-menu:active {
    transform: scale(.975);
  }
}

@media (max-width: 390px) {
  .inicio-sidebar-content {
    padding-left: 12px;
    padding-right: 12px;
  }

  .inicio-menu > .inicio-pressable,
  .inicio-menu-group > .inicio-sidebar-direct-link,
  .inicio-menu-group > .inicio-cardapio-link,
  .inicio-submenu-toggle,
  .inicio-sidebar-action {
    min-height: 44px;
    padding: 0 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inicio-sidebar,
  .inicio-sidebar *,
  .inicio-overlay,
  .inicio-submenu,
  .inicio-ripple {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* === MOTOR GLOBAL AUTENTICADO === */
/* Motor Global: estados, permissões, acessibilidade e responsividade oficiais. */
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .inicio-menu,
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .inicio-sidebar-footer {
  scrollbar-width: thin;
  scrollbar-color: rgba(71, 181, 255, .42) transparent;
}

.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .inicio-pressable,
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-subitem {
  transition: background-color 110ms ease, color 110ms ease, border-color 110ms ease, transform 110ms ease, box-shadow 110ms ease;
}

.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-group > .gestor-sidebar-submenu {
  display: grid;
  grid-template-rows: 0fr;
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(-4px);
  transition:
    grid-template-rows 140ms ease,
    max-height 140ms ease,
    margin 140ms ease,
    padding 140ms ease,
    opacity 110ms ease,
    transform 140ms ease,
    visibility 0s linear 140ms,
    border-width 0s linear 140ms;
}

/* Regra inviolável: retraída nunca exibe submenu, mesmo que algum legado deixe is-open. */
.inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .gestor-sidebar-group > .gestor-sidebar-submenu,
.inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .gestor-sidebar-group.is-open > .gestor-sidebar-submenu,
.inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .gestor-sidebar-group--open > .gestor-sidebar-submenu {
  display: grid !important;
  grid-template-rows: 0fr !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  transform: translateY(-4px) !important;
  box-shadow: none !important;
}

/* Expandida abre somente o grupo autorizado pelo motor. */
.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-group--open > .gestor-sidebar-submenu {
  display: grid !important;
  grid-template-rows: 1fr !important;
  max-height: min(56vh, 620px) !important;
  margin-top: 5px !important;
  margin-bottom: 7px !important;
  padding: 7px !important;
  border-width: 1px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  overflow-y: auto !important;
  transform: translateY(0) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
  transition-delay: 0s, 0s, 0s, 0s, 35ms, 0s, 0s, 0s, 0s;
}

.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-subitem {
  min-height: 34px;
}

.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-group--open > [data-submenu-toggle] {
  background: rgba(31, 116, 255, .16);
  color: #fff;
}

/* O pai da rota é sempre o destaque principal; quando retraída, é o único visível. */
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] [data-sidebar-item].is-active,
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-group--active > [data-submenu-toggle] {
  background: linear-gradient(135deg, #1262f2 0%, #00a9df 100%) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(0, 116, 255, .23) !important;
}

.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-submenu a.is-active,
.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-subitem--active {
  position: relative;
  background: #eef6ff !important;
  color: #0758cb !important;
  font-weight: 800;
  border-color: rgba(33, 132, 255, .28);
  box-shadow: inset 3px 0 0 #1778ff !important;
}

.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .inicio-submenu-chevron {
  transition: opacity 90ms ease, transform 140ms ease, visibility 0s linear 110ms;
}

.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-group--open > [data-submenu-toggle] .inicio-submenu-chevron {
  transform: rotate(180deg);
}

.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-subitem:hover,
.inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-pressable:hover {
  transform: translateX(2px);
}

@media (min-width: 1024px) {
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] {
    width: var(--sta-sidebar-collapsed) !important;
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] {
    width: var(--sta-sidebar-expanded) !important;
    box-shadow: 22px 0 52px rgba(3, 17, 40, .23), inset -1px 0 0 rgba(255, 255, 255, .07);
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .inicio-logo-icon {
    opacity: 1;
    visibility: visible;
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .inicio-logo-full {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(-4px);
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-logo-icon {
    opacity: 0;
    visibility: hidden;
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-logo-full {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-menu span,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-sidebar-action span,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-submenu-chevron,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-user-card strong,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-user-card span,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .master-company-card-indicator,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-cardapio-badge,
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .inicio-menu-badge {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
  }
}

@media (max-width: 1023px) {
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--expanded[data-gestor-sidebar-engine] .gestor-sidebar-group--open > .gestor-sidebar-submenu {
    width: calc(100% - 42px) !important;
    max-height: min(48dvh, 420px) !important;
    margin: 6px 0 8px 42px !important;
    padding: 7px !important;
    overflow-y: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] *,
  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] *::before,
  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* v3.347.12 — permissões, tooltips, acessibilidade e drawer responsivo oficiais. */
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .is-permission-hidden,
.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] [hidden] {
  display: none !important;
}

.inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] :is(a, button, [tabindex]):focus-visible {
  outline: 3px solid rgba(86, 196, 255, .96);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px rgba(22, 116, 242, .24);
}

.gestor-sidebar-brand-row {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
}

.gestor-sidebar-mobile-close {
  display: none;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font: 700 24px/1 system-ui, sans-serif;
  cursor: pointer;
}

.gestor-sidebar-tooltip {
  position: fixed;
  z-index: 10020;
  max-width: min(260px, calc(100vw - 20px));
  padding: 8px 11px;
  border: 1px solid rgba(129, 196, 255, .28);
  border-radius: 10px;
  background: #071936;
  color: #fff;
  box-shadow: 0 12px 30px rgba(2, 13, 32, .32);
  font: 700 12px/1.35 Inter, system-ui, sans-serif;
  letter-spacing: .01em;
  pointer-events: none;
  animation: gestor-sidebar-tooltip-in 120ms ease-out;
}

@keyframes gestor-sidebar-tooltip-in {
  from { opacity: 0; transform: translateX(-4px); }
  to { opacity: 1; transform: translateX(0); }
}

@media (min-width: 1024px) {
  .inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] [data-sidebar-tooltip] {
    position: relative;
  }

  .inicio-sidebar.gestor-sidebar.gestor-sidebar--collapsed[data-gestor-sidebar-engine] .inicio-user-card {
    cursor: default;
  }
}

@media (max-width: 1023px) {
  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-brand-row {
    width: 100%;
    justify-content: space-between;
    margin-bottom: 12px;
  }

  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-brand-row .inicio-sidebar-logo {
    width: min(190px, calc(100% - 52px));
    margin: 0;
  }

  .inicio-sidebar.gestor-sidebar[data-gestor-sidebar-engine] .gestor-sidebar-mobile-close {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
  }

  .inicio-sidebar.gestor-sidebar[aria-hidden="true"] {
    pointer-events: none !important;
  }

  .gestor-sidebar-tooltip {
    display: none !important;
  }
}

