#adminOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.78);
  z-index: 6000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.admin-caixa {
  background: #101010;
  border: 1px solid var(--borda);
  border-radius: 10px;
  color: white;
  box-shadow: 0 15px 50px rgba(0,0,0,0.8);
}

.admin-login {
  width: 100%;
  max-width: 360px;
  padding: 24px;
  position: relative;
}

.admin-login h2 {
  margin-bottom: 18px;
  font-size: 22px;
}

.admin-fechar {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  color: white;
  font-size: 22px;
  cursor: pointer;
}

.admin-caixa label {
  display: block;
  color: #cfcfcf;
  font-size: 13px;
  margin: 14px 0 7px;
}

.admin-caixa input,
.admin-caixa select,
.admin-caixa textarea {
  width: 100%;
  background: #1b1b1b;
  border: 1px solid #333;
  color: white;
  border-radius: 6px;
  padding: 12px;
  font-family: inherit;
  outline: none;
}

.admin-caixa input:focus,
.admin-caixa select:focus,
.admin-caixa textarea:focus {
  border-color: var(--vermelho-destaque);
}

.admin-painel {
  width: min(980px, calc(100vw - 32px));
  height: min(720px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 24px;
}

.admin-topo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #333;
  padding-bottom: 14px;
  margin-bottom: 22px;
}

.admin-topo button,
.admin-btn-secundario,
.admin-linha button {
  background: #222;
  border: 1px solid #333;
  color: white;
  border-radius: 6px;
  padding: 10px 16px;
  font-weight: bold;
  cursor: pointer;
}

.admin-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
}

.admin-card {
  background: #0b0b0b;
  border: 1px solid #222;
  border-radius: 8px;
  padding: 20px;
}

.admin-card h3 {
  color: var(--vermelho-hover);
  margin-bottom: 18px;
}

.admin-check {
  display: flex !important;
  align-items: center;
  gap: 10px;
  font-size: 15px !important;
}

.admin-check input {
  width: auto;
}

.admin-botoes {
  display: grid;
  grid-template-columns: 1fr 0.55fr;
  gap: 12px;
  margin-top: 18px;
}

.admin-btn-principal {
  background: var(--vermelho-destaque);
  border: none;
  color: white;
  border-radius: 6px;
  padding: 12px;
  font-weight: bold;
  cursor: pointer;
  width: 100%;
  margin-top: 18px;
}

.admin-btn-principal:hover {
  background: var(--vermelho-hover);
}

.admin-busca {
  margin-top: 12px;
}

#adminListaCupons {
  height: 170px;
  max-height: 170px;
  overflow-y: auto;
  padding-right: 5px;
}

#adminListaBairros {
  min-height: 360px;
  max-height: 430px;
  overflow-y: auto;
  padding-right: 6px;
  background: #050505;
  border: 1px solid #222;
  border-radius: 8px;
}

#adminAreaCupons {
  margin-top: 22px;
}

#adminListaCupons .admin-item-cupom {
  font-size: 14px;
}

#adminListaBairros .admin-item-bairro {
  font-size: 15px;
  background: #1b1b1b;
  border-left: 3px solid var(--vermelho-destaque);
  border-bottom: none;
  border-radius: 6px;
  padding: 14px 12px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

#adminListaBairros .admin-item-bairro > div:last-child {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

#adminListaCupons button {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

#adminListaBairros button {
  border: none;
  border-radius: 5px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

#adminListaBairros button:first-of-type {
  background: #ffcc00;
  color: #000000;
}

#adminListaBairros button:last-of-type {
  background: var(--vermelho-hover);
  color: #ffffff;
}

.admin-lista-produtos {
  max-height: 620px;
  overflow: auto;
  padding-right: 6px;
}

.admin-produto-item {
  background: #1b1b1b;
  border-left: 3px solid var(--vermelho-destaque);
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.admin-produto-item strong {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 5px;
}

.admin-produto-item small {
  color: #999;
}

.admin-produto-item div:last-child {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.admin-editar,
.admin-excluir {
  border: none;
  border-radius: 5px;
  padding: 8px 10px;
  font-weight: bold;
  cursor: pointer;
}

.admin-editar {
  background: #ffcc00;
  color: black;
}

.admin-excluir {
  background: var(--vermelho-hover);
  color: white;
}

.admin-filtros {
  border-top: 1px solid #222;
  margin-top: 26px;
  padding-top: 22px;
}

.admin-linha {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 10px;
  margin-bottom: 12px;
}

.admin-mini-lista {
  max-height: 150px;
  overflow: auto;
  background: #050505;
  border: 1px solid #222;
  border-radius: 6px;
  margin-bottom: 16px;
}

.admin-mini-lista div {
  display: flex;
  justify-content: space-between;
  padding: 8px 10px;
  border-bottom: 1px solid #151515;
  gap: 10px;
}

.admin-mini-lista small {
  color: #777;
}

.admin-mini-lista button {
  background: none;
  border: none;
  color: var(--vermelho-hover);
  cursor: pointer;
  font-weight: bold;
}

#atalho-painel {
  position: fixed;
  top: 16px;
  right: 18px;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--borda);
  background: var(--fundo-card);
  color: var(--texto-secundario);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  cursor: pointer;
  z-index: 150;
  opacity: 0.35;
  transition: 0.2s ease;
}

#atalho-painel:hover {
  opacity: 1;
  color: var(--texto-principal);
  border-color: var(--vermelho-destaque);
  background: var(--fundo-card);
}

@media (max-width: 900px) {
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-painel {
    padding: 16px;
  }

  .admin-linha {
    grid-template-columns: 1fr;
  }
}

.admin-subtitulo-bloco {
  margin: 0 0 12px 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

body.pagina-painel-admin {
  margin: 0;
  min-height: 100vh;
  background: #050505;
  color: #ffffff;
  overflow: hidden;
}

body.pagina-painel-admin::before {
  content: "";
  position: fixed;
  inset: 0;
  background: #050505;
  z-index: 0;
}

.admin-menu-modulos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}

.admin-menu-btn {
  background: #171717;
  border: 1px solid #303030;
  color: #ffffff;
  border-radius: 8px;
  padding: 12px 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.admin-menu-btn:hover {
  border-color: var(--vermelho-destaque);
  background: #222222;
}

.admin-menu-btn.ativo {
  background: var(--vermelho-destaque);
  border-color: var(--vermelho-destaque);
  color: #ffffff;
}

@media (max-width: 900px) {
  .admin-menu-modulos {
    grid-template-columns: 1fr;
  }
}

.admin-modulos-container {
  margin-top: 20px;
}

.admin-modulo {
  display: none;
}

.admin-modulo.ativo {
  display: block;
}

.admin-modulo-titulo {
  color: var(--vermelho-hover);
  margin-bottom: 18px;
  font-size: 20px;
}

#adminModulo-produtos.ativo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

#adminModulo-produtos .admin-modulo-titulo {
  grid-column: 1 / -1;
}

#adminModulo-caixa.ativo,
#adminModulo-estoques.ativo,
#adminModulo-cardapio.ativo,
#adminModulo-promocoes.ativo,
#adminModulo-filtros.ativo,
#adminModulo-fretes.ativo,
#adminModulo-cupons.ativo,
#adminModulo-aviso.ativo {
  width: 100%;
}

#adminModulo-caixa > *,
#adminModulo-estoques > *,
#adminModulo-cardapio > *,
#adminModulo-promocoes > *,
#adminModulo-filtros > *,
#adminModulo-fretes > *,
#adminModulo-cupons > *,
#adminModulo-aviso > * {
  width: 100%;
}

#adminModulo-promocoes .admin-filtros,
#adminModulo-filtros .admin-filtros,
#adminModulo-fretes .admin-filtros,
#adminModulo-cupons .admin-filtros,
#adminModulo-aviso .admin-filtros {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* =====================================
   MÓDULO — TAXAS DE ENTREGA
   ===================================== */

#adminModulo-fretes .admin-linha {
  grid-template-columns: 1fr 180px;
  gap: 12px;
}

#adminModulo-fretes .admin-btn-principal {
  margin-top: 14px;
  margin-bottom: 16px;
}

@media (max-width: 900px) {
  #adminModulo-produtos.ativo {
    grid-template-columns: 1fr;
  }
}

.admin-info-promocao {
  margin: 12px 0 18px;
  padding: 12px;
  background: #050505;
  border: 1px solid #222;
  border-radius: 6px;
  color: #cfcfcf;
  font-size: 14px;
}

.admin-resultados-cardapio-dia {
  margin-top: 14px;
  max-height: 260px;
  overflow-y: auto;
  padding-right: 6px;
}

.admin-resultado-cardapio {
  width: 100%;
  background: #1b1b1b;
  border: 1px solid #222;
  border-left: 3px solid #333;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 10px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
}

.admin-resultado-cardapio:hover {
  border-color: var(--vermelho-destaque);
}

.admin-resultado-cardapio.ativo {
  border-left-color: #25d366;
}

.admin-resultado-cardapio.inativo {
  opacity: 0.65;
  border-left-color: #777;
}

.admin-resultado-cardapio strong {
  display: block;
  margin-bottom: 4px;
}

.admin-resultado-cardapio small {
  color: #999;
}

.admin-resultado-cardapio em {
  font-style: normal;
  font-weight: 800;
  font-size: 13px;
  color: #cfcfcf;
}

.admin-cardapio-selecionado {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #222;
  border-radius: 8px;
  background: #050505;
}

.admin-status-cardapio {
  display: flex;
  gap: 14px;
  margin: 18px 0 4px;
}

.admin-status-cardapio label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  background: #1b1b1b;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 12px 14px;
  cursor: pointer;
}

.admin-status-cardapio input {
  width: auto;
}

/* =====================================
   CAMPO DE COR — AVISO DO TOPO
   ===================================== */

.admin-cor-linha {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 6px;
}

#adminCorAvisoTopo {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  padding: 0;
  border: none;
}

.admin-cor-botao {
  width: 52px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #333;
  background: #1b1b1b;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  user-select: none;
}

.admin-cor-botao:hover {
  border-color: var(--vermelho-destaque);
  background: #222;
}

#adminCorAvisoTopoHex {
  background: #1b1b1b;
  border: 1px solid #333;
  color: #ffffff;
  border-radius: 8px;
  padding: 10px 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* =====================================
   MÓDULO — CAIXA / TICKETS
   ===================================== */

.admin-status-caixa {
  margin: 12px 0 18px;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid #222;
  background: #050505;
}

.admin-status-caixa strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
}

.admin-status-caixa span {
  color: #cfcfcf;
  font-size: 14px;
}

.admin-status-caixa.aberto {
  border-left: 4px solid #25d366;
}

.admin-status-caixa.fechado {
  border-left: 4px solid var(--vermelho-hover);
}

.admin-botoes-caixa {
  margin-top: 12px;
}

.admin-botoes-caixa button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.admin-resumo-tickets {
  margin: 18px 0 14px;
  padding: 14px;
  border: 1px solid #222;
  border-radius: 8px;
  background: #050505;
  color: #ffffff;
  line-height: 1.5;
}

.admin-lista-tickets {
  max-height: 420px;
  overflow-y: auto;
  padding-right: 6px;
}

.admin-ticket-item {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 12px;
  align-items: center;
  background: #1b1b1b;
  border-left: 3px solid var(--vermelho-destaque);
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 10px;
}

.admin-ticket-item strong {
  display: block;
  margin-bottom: 5px;
}

.admin-ticket-item small {
  display: block;
  color: #999;
  margin-bottom: 6px;
  line-height: 1.4;
}

.admin-ticket-item p {
  margin: 0;
  color: #d6d6d6;
  font-size: 13px;
  line-height: 1.4;
}

.admin-ticket-conteudo {
  min-width: 0;
}

.admin-ticket-acoes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.admin-btn-ticket {
  border: none;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.admin-btn-ticket.aceitar {
  background: #168f3b;
}

.admin-btn-ticket.finalizar {
  background: #2364c9;
}

.admin-btn-ticket:hover {
  filter: brightness(1.08);
}

@media (max-width: 760px) {
  .admin-ticket-item {
    grid-template-columns: 1fr;
  }

  .admin-ticket-acoes {
    grid-template-columns: 1fr 1fr;
  }
}

/* STATUS DOS TICKETS — CAIXA */
.admin-ticket-item.em-producao {
  border-left-color: #e0a400;
}

.admin-ticket-item.concluido {
  border-left-color: #20c85a;
}

.admin-status-ticket {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.admin-status-ticket.novo {
  background: #333;
  color: #fff;
}

.admin-status-ticket.em_producao {
  background: #5c4300;
  color: #ffd35a;
}

.admin-status-ticket.concluido {
  background: #063d1f;
  color: #36e279;
}

.admin-btn-ticket:disabled,
.admin-btn-ticket.desativado {
  background: #555 !important;
  color: #bdbdbd;
  cursor: not-allowed;
  opacity: 0.65;
  filter: none;
}

.admin-btn-ticket:disabled:hover,
.admin-btn-ticket.desativado:hover {
  filter: none;
}

/* =====================================
   LOGIN PERSISTENTE / SAIR / SOM DE PEDIDOS
   ===================================== */

.admin-btn-sair {
  background: #222;
  border: 1px solid #444;
  color: #ffffff;
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.admin-btn-sair:hover {
  border-color: var(--vermelho-destaque);
  background: #2a2a2a;
}

.admin-controle-som-pedidos {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px;
  align-items: center;
  margin: 14px 0 4px;
}

.admin-btn-som-pedidos {
  width: 100%;
}

#adminStatusSomPedidos {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  border: 1px solid #2a2a2a;
  background: #080808;
}

#adminStatusSomPedidos.ligado {
  color: #54ee87;
  border-color: #146b34;
  background: #061b0f;
}

#adminStatusSomPedidos.desligado {
  color: #cfcfcf;
  border-color: #333;
  background: #111;
}

@media (max-width: 760px) {
  .admin-controle-som-pedidos {
    grid-template-columns: 1fr;
  }

  .admin-topo {
    align-items: flex-start;
    gap: 12px;
  }
}

/* =====================================
   DETALHES DO PEDIDO — CAIXA / TICKETS
   ===================================== */

.admin-btn-ticket.detalhar {
  background: #333333;
  color: #ffffff;
}

.admin-btn-ticket.detalhar:hover {
  background: #444444;
}

.admin-detalhe-overlay {
  position: fixed;
  inset: 0;
  z-index: 7000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.78);
}

.admin-detalhe-caixa {
  width: min(780px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  background: #101010;
  border: 1px solid #333333;
  border-radius: 12px;
  color: #ffffff;
  padding: 22px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.8);
}

.admin-detalhe-topo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 14px;
  margin-bottom: 16px;
}

.admin-detalhe-topo h3 {
  margin: 0 0 8px;
  color: var(--vermelho-hover);
  font-size: 22px;
}

.admin-detalhe-fechar {
  width: 38px;
  height: 38px;
  border: 1px solid #333333;
  border-radius: 8px;
  background: #1b1b1b;
  color: #ffffff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.admin-detalhe-fechar:hover {
  border-color: var(--vermelho-destaque);
  background: #222222;
}

.admin-detalhe-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.admin-detalhe-grid > div,
.admin-detalhe-bloco,
.admin-detalhe-resumo {
  background: #050505;
  border: 1px solid #222222;
  border-radius: 8px;
  padding: 12px;
}

.admin-detalhe-grid strong,
.admin-detalhe-bloco h4 {
  display: block;
  color: #ffffff;
  margin-bottom: 6px;
}

.admin-detalhe-grid span,
.admin-detalhe-bloco p {
  color: #d6d6d6;
  font-size: 14px;
  line-height: 1.45;
}

.admin-detalhe-bloco {
  margin-bottom: 16px;
}

.admin-detalhe-bloco p {
  margin: 0 0 6px;
}

.admin-detalhe-tabela-wrap {
  overflow-x: auto;
}

.admin-detalhe-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.admin-detalhe-tabela th,
.admin-detalhe-tabela td {
  border-bottom: 1px solid #222222;
  padding: 9px 6px;
  text-align: left;
  vertical-align: top;
}

.admin-detalhe-tabela th {
  color: #ffffff;
  background: #151515;
}

.admin-detalhe-resumo {
  display: grid;
  gap: 8px;
}

.admin-detalhe-resumo > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #d6d6d6;
}

.admin-detalhe-resumo strong {
  color: #ffffff;
  text-align: right;
}

.admin-detalhe-total {
  border-top: 1px solid #333333;
  padding-top: 10px;
  margin-top: 4px;
  font-size: 18px;
}

.admin-detalhe-total strong {
  color: #36e279;
}

@media (max-width: 760px) {
  .admin-detalhe-grid {
    grid-template-columns: 1fr;
  }

  .admin-detalhe-caixa {
    padding: 16px;
  }
}



/* AJUSTE — BOTÃO PEQUENO DE DETALHAR PEDIDO */
.admin-ticket-item {
  grid-template-columns: 1fr 44px 260px;
}

.admin-ticket-detalhar-mini-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.admin-btn-detalhar-mini {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 8px;
  border: 1px solid #3a3a3a;
  background: #242424;
  color: #dcdcdc;
  font-size: 15px;
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  cursor: pointer;
}

.admin-btn-detalhar-mini:hover {
  border-color: var(--vermelho-destaque);
  background: #303030;
  color: #ffffff;
}

@media (max-width: 760px) {
  .admin-ticket-item {
    grid-template-columns: 1fr 42px !important;
  }

  .admin-ticket-detalhar-mini-wrap {
    grid-column: 2 / 3;
    grid-row: 1;
    align-self: start;
  }

  .admin-ticket-acoes {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}

/* =====================================
   TEMA MOBBI — PAINEL ADMIN
   Cole este bloco no FINAL do admin.css
   ===================================== */

body.pagina-painel-admin {
  background: #f8f3ff;
  color: #2b174d;
}

body.pagina-painel-admin::before {
  background:
    radial-gradient(circle at top left, rgba(183, 126, 255, 0.22), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f3ff 100%);
}

/* Overlay e caixas principais */
#adminOverlay {
  background: rgba(75, 38, 128, 0.18);
}

.admin-caixa {
  background: #ffffff;
  border: 1px solid #eadcff;
  color: #2b174d;
  box-shadow: 0 18px 45px rgba(108, 64, 180, 0.18);
}

.admin-painel {
  background: #ffffff;
}

/* Topo */
.admin-topo {
  border-bottom: 1px solid #eadcff;
}

.admin-topo h2 {
  color: #6f38e8;
}

/* Login */
.admin-login h2 {
  color: #6f38e8;
}

.admin-fechar {
  color: #6f38e8;
}

/* Textos e labels */
.admin-caixa label {
  color: #6f5c90;
}

.admin-card h3,
.admin-modulo-titulo {
  color: #7c45f2;
}

.admin-subtitulo-bloco {
  color: #6f5c90;
}

/* Inputs */
.admin-caixa input,
.admin-caixa select,
.admin-caixa textarea {
  background: #fbf8ff;
  border: 1px solid #ddccff;
  color: #2b174d;
}

.admin-caixa input:focus,
.admin-caixa select:focus,
.admin-caixa textarea:focus {
  border-color: #8c55ff;
  box-shadow: 0 0 0 3px rgba(140, 85, 255, 0.12);
}

/* Cards */
.admin-card {
  background: #ffffff;
  border: 1px solid #eadcff;
  box-shadow: 0 10px 28px rgba(108, 64, 180, 0.08);
}

/* Menu dos módulos */
.admin-menu-btn {
  background: #fbf8ff;
  border: 1px solid #e0d0ff;
  color: #5a3b88;
}

.admin-menu-btn:hover {
  background: #f1e7ff;
  border-color: #a875ff;
  color: #6f38e8;
}

.admin-menu-btn.ativo {
  background: linear-gradient(135deg, #8c55ff, #b57cff);
  border-color: #8c55ff;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(140, 85, 255, 0.24);
}

/* Botões principais */
.admin-btn-principal {
  background: linear-gradient(135deg, #8c55ff, #b57cff);
  color: #ffffff;
}

.admin-btn-principal:hover {
  background: linear-gradient(135deg, #7b43ed, #a965ff);
}

/* Botões secundários */
.admin-topo button,
.admin-btn-secundario,
.admin-linha button {
  background: #f1e7ff;
  border: 1px solid #d8c4ff;
  color: #6f38e8;
}

.admin-topo button:hover,
.admin-btn-secundario:hover,
.admin-linha button:hover {
  background: #e8d8ff;
}

/* Listas internas */
.admin-lista-produtos,
.admin-mini-lista,
#adminListaBairros,
.admin-resumo-tickets,
.admin-status-caixa,
.admin-info-promocao,
.admin-cardapio-selecionado {
  background: #fbf8ff;
  border-color: #eadcff;
  color: #2b174d;
}

.admin-produto-item,
#adminListaBairros .admin-item-bairro,
.admin-ticket-item,
.admin-resultado-cardapio {
  background: #ffffff;
  border-color: #eadcff;
  color: #2b174d;
  box-shadow: 0 8px 18px rgba(108, 64, 180, 0.08);
}

.admin-produto-item,
#adminListaBairros .admin-item-bairro,
.admin-ticket-item {
  border-left-color: #8c55ff;
}

.admin-produto-item small,
.admin-ticket-item small,
.admin-resultado-cardapio small {
  color: #7b6a9e;
}

.admin-ticket-item p {
  color: #4e3a75;
}

/* Botões editar/excluir */
.admin-editar,
#adminListaBairros button:first-of-type {
  background: #f1dfff;
  color: #6f38e8;
}

.admin-excluir,
#adminListaBairros button:last-of-type {
  background: #ff4f8b;
  color: #ffffff;
}

/* Caixa aberto/fechado */
.admin-status-caixa.aberto {
  border-left-color: #25d366;
}

.admin-status-caixa.fechado {
  border-left-color: #ff4f8b;
}

.admin-status-caixa span {
  color: #6f5c90;
}

/* Tickets */
.admin-btn-ticket.aceitar {
  background: #20bf6b;
}

.admin-btn-ticket.finalizar {
  background: #6f38e8;
}

.admin-btn-ticket.detalhar,
.admin-btn-detalhar-pedido {
  background: #f1e7ff;
  border: 1px solid #d8c4ff;
  color: #6f38e8;
}

/* Status dos tickets */
.admin-status-ticket.novo {
  background: #eee3ff;
  color: #6f38e8;
}

.admin-status-ticket.em_producao {
  background: #fff1c2;
  color: #8a6200;
}

.admin-status-ticket.concluido {
  background: #dff8ea;
  color: #108942;
}

.admin-ticket-item.em-producao {
  border-left-color: #f5b700;
}

.admin-ticket-item.concluido {
  border-left-color: #20c85a;
}

/* Botões desativados */
.admin-btn-ticket:disabled,
.admin-btn-ticket.desativado,
.admin-btn-principal:disabled,
.admin-btn-secundario:disabled {
  background: #e1dbe9 !important;
  color: #9b8caf !important;
  cursor: not-allowed;
  opacity: 1;
}

/* Som de pedidos */
.admin-controle-som-pedidos {
  background: #fbf8ff;
  border: 1px solid #eadcff;
}

.admin-btn-som-pedidos {
  background: #f1e7ff;
  color: #6f38e8;
}

/* Botão sair */
.admin-btn-sair {
  background: #f1e7ff !important;
  border: 1px solid #d8c4ff !important;
  color: #6f38e8 !important;
}

.admin-btn-sair:hover {
  background: #e8d8ff !important;
}

/* LOGO DO PAINEL — MOBBI */

.admin-marca-painel {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-logo-painel {
  max-width: 132px;
  max-height: 54px;
  object-fit: contain;
  display: block;
}

.admin-marca-texto {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.admin-marca-texto strong {
  color: #6f38e8;
  font-size: 18px;
}

.admin-marca-texto span {
  color: #8b73ad;
  font-size: 12px;
  font-weight: 700;
  margin-top: 4px;
}

@media (max-width: 700px) {
  .admin-topo {
    align-items: flex-start;
    gap: 12px;
  }

  .admin-marca-painel {
    align-items: flex-start;
  }

  .admin-logo-painel {
    max-width: 110px;
    max-height: 46px;
  }

  .admin-marca-texto strong {
    font-size: 16px;
  }
}

/* =====================================
   AJUSTE — VIA DA COZINHA + DETALHES MOBBI
   ===================================== */

.admin-ticket-item {
  grid-template-columns: 1fr 86px 260px;
}

.admin-ticket-mini-acoes {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.admin-btn-ticket-mini {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 10px;
  border: 1px solid #d8c4ff;
  background: #f1e7ff;
  color: #6f38e8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(108, 64, 180, 0.12);
}

.admin-btn-ticket-mini.detalhe {
  font-style: italic;
}

.admin-btn-ticket-mini.imprimir {
  font-size: 15px;
}

.admin-btn-ticket-mini:hover {
  background: #e8d8ff;
  border-color: #a875ff;
  color: #5f2ed9;
  transform: translateY(-1px);
}

/* Mantém compatibilidade caso exista botão antigo */
.admin-btn-detalhar-mini {
  background: #f1e7ff;
  border-color: #d8c4ff;
  color: #6f38e8;
}

/* Modal de detalhes no tema claro/Mobbi */
.admin-detalhe-overlay {
  background: rgba(43, 23, 77, 0.32);
  backdrop-filter: blur(3px);
}

.admin-detalhe-caixa {
  background: #ffffff;
  border: 1px solid #eadcff;
  color: #2b174d;
  box-shadow: 0 22px 70px rgba(108, 64, 180, 0.24);
}

.admin-detalhe-topo {
  border-bottom: 1px solid #eadcff;
}

.admin-detalhe-topo h3 {
  color: #6f38e8;
}

.admin-detalhe-fechar {
  background: #f1e7ff;
  border: 1px solid #d8c4ff;
  color: #6f38e8;
}

.admin-detalhe-fechar:hover {
  background: #e8d8ff;
  border-color: #a875ff;
}

.admin-detalhe-grid > div,
.admin-detalhe-bloco,
.admin-detalhe-resumo {
  background: #fbf8ff;
  border: 1px solid #eadcff;
  color: #2b174d;
}

.admin-detalhe-grid strong,
.admin-detalhe-bloco h4 {
  color: #5a2bc5;
}

.admin-detalhe-grid span,
.admin-detalhe-bloco p,
.admin-detalhe-resumo > div {
  color: #4e3a75;
}

.admin-detalhe-tabela th,
.admin-detalhe-tabela td {
  border-bottom: 1px solid #eadcff;
  color: #2b174d;
}

.admin-detalhe-tabela th {
  background: #f1e7ff;
  color: #5a2bc5;
}

.admin-detalhe-resumo strong {
  color: #2b174d;
}

.admin-detalhe-total {
  border-top: 1px solid #d8c4ff;
}

.admin-detalhe-total strong {
  color: #20bf6b;
}

@media (max-width: 760px) {
  .admin-ticket-item {
    grid-template-columns: 1fr 86px !important;
  }

  .admin-ticket-mini-acoes {
    grid-column: 2 / 3;
    grid-row: 1;
    align-self: start;
    justify-content: flex-end;
  }

  .admin-ticket-acoes {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}



/* =====================================
   MÓDULO — ESTOQUES
   ===================================== */

.admin-estoque-config {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #eadcff;
  border-radius: 10px;
  background: #fbf8ff;
}

.admin-estoque-config h3 {
  margin-bottom: 10px;
  color: #7c45f2;
}

.admin-radio-estoque {
  margin: 8px 0 !important;
  color: #4e3a75 !important;
}

.admin-campos-estoque {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eadcff;
}

.admin-campos-estoque small {
  display: block;
  margin-top: 8px;
  color: #7b6a9e;
  font-size: 12px;
  line-height: 1.4;
}

.admin-produto-estoque-resumo {
  margin-top: 4px;
  color: #7b6a9e !important;
}

.admin-produto-item.estoque-bloqueado {
  border-left-color: #ff4f8b !important;
}

.admin-lista-estoques {
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.admin-estoque-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 14px;
  align-items: center;
  background: #ffffff;
  border: 1px solid #eadcff;
  border-left: 4px solid #20c85a;
  border-radius: 10px;
  padding: 14px;
  box-shadow: 0 8px 18px rgba(108, 64, 180, 0.08);
}

.admin-estoque-item.bloqueado {
  border-left-color: #ff4f8b;
}

.admin-estoque-info strong {
  display: block;
  color: #2b174d;
  margin-bottom: 5px;
}

.admin-estoque-info small {
  display: block;
  color: #7b6a9e;
  line-height: 1.35;
}

.admin-estoque-controles {
  display: grid;
  grid-template-columns: 38px 1fr 1fr 38px 86px;
  gap: 8px;
  align-items: end;
}

.admin-estoque-controles label {
  margin: 0 !important;
  color: #6f5c90 !important;
  font-size: 11px !important;
  font-weight: 800;
}

.admin-estoque-controles input {
  margin-top: 5px;
  text-align: center;
  padding: 9px !important;
}

.admin-estoque-controles button {
  min-height: 39px;
  border: 1px solid #d8c4ff;
  border-radius: 8px;
  background: #f1e7ff;
  color: #6f38e8;
  font-weight: 900;
  cursor: pointer;
}

.admin-estoque-controles button:hover {
  background: #e8d8ff;
}

.admin-estoque-controles .admin-btn-salvar-estoque {
  background: linear-gradient(135deg, #8c55ff, #b57cff);
  color: #ffffff;
  border-color: #8c55ff;
}

@media (max-width: 850px) {
  .admin-estoque-item {
    grid-template-columns: 1fr;
  }

  .admin-estoque-controles {
    grid-template-columns: 38px 1fr 1fr 38px;
  }

  .admin-estoque-controles .admin-btn-salvar-estoque {
    grid-column: 1 / -1;
  }
}


/* =====================================
   ORDEM ARRASTÁVEL DOS FILTROS
   ===================================== */

.admin-mini-lista .admin-filtro-ordenavel {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-bottom: 1px solid #eadcff;
  background: #ffffff;
  cursor: grab;
}

.admin-mini-lista .admin-filtro-ordenavel:last-child {
  border-bottom: none;
}

.admin-filtro-ordenavel.arrastando {
  opacity: 0.55;
  cursor: grabbing;
}

.admin-filtro-drag {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #f1e7ff;
  color: #6f38e8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  user-select: none;
}

.admin-filtro-nome {
  min-width: 0;
  color: #2b174d;
  font-weight: 800;
}

.admin-filtro-nome small {
  display: block;
  margin-top: 2px;
  color: #7b6a9e;
  font-weight: 600;
}

.admin-mini-lista .admin-filtro-ordenavel button {
  border: none;
  border-radius: 8px;
  padding: 8px 10px;
  background: #ffe4ef;
  color: #d72662;
  font-weight: 800;
  cursor: pointer;
}

.admin-botoes-caixa-resumo {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 760px) {
  .admin-botoes-caixa-resumo {
    grid-template-columns: 1fr;
  }

  .admin-mini-lista .admin-filtro-ordenavel {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .admin-mini-lista .admin-filtro-ordenavel button {
    grid-column: 1 / -1;
  }
}

/* AUMENTAR ALTURA DA CAIXA DE CATEGORIAS / FILTROS */

#adminListaSecoes {
  min-height: 320px;
  max-height: 420px;
  overflow-y: auto;
}

/* opcional: deixa a lista de marcas maior também */
#adminListaMarcas {
  min-height: 220px;
  max-height: 320px;
  overflow-y: auto;
}

/* BOTÃO FECHAR CAIXA EM VERMELHO */

#adminFecharCaixa {
  background: #ff4f6d !important;
  border-color: #ff4f6d !important;
  color: #ffffff !important;
}

#adminFecharCaixa:hover {
  background: #e63355 !important;
  border-color: #e63355 !important;
  color: #ffffff !important;
}

#adminFecharCaixa:disabled {
  background: #e5dfe9 !important;
  border-color: #e5dfe9 !important;
  color: #9b8caf !important;
  cursor: not-allowed;
}

/* =====================================
   CONFIGURAÇÕES DO SITE — PAINEL ADMIN
   ===================================== */

.admin-config-perfil {
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 1px solid #e6d8ff;
  border-radius: 14px;
  background: linear-gradient(135deg, #ffffff, #f7f0ff);
  box-shadow: 0 10px 24px rgba(108, 64, 180, 0.08);
}

.admin-config-perfil strong {
  display: block;
  margin-bottom: 6px;
  color: #241447;
  font-size: 22px;
  line-height: 1.2;
}

.admin-config-perfil span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6f5c90;
  font-size: 14px;
  font-weight: 700;
}

.admin-config-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
  color: #168c45;
}

.admin-config-status::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #20c85a;
  box-shadow: 0 0 0 4px rgba(32, 200, 90, 0.14);
}

.admin-config-status.padrao {
  color: #8a6200;
}

.admin-config-status.padrao::before {
  background: #f5b700;
  box-shadow: 0 0 0 4px rgba(245, 183, 0, 0.18);
}

.admin-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.admin-config-card {
  margin: 0;
}

.admin-config-card-cheio {
  grid-column: 1 / -1;
}

.admin-ajuda-campo {
  margin: 8px 0 0;
  color: #7b6a9e;
  font-size: 12px;
  line-height: 1.4;
}

.admin-check-config {
  margin: 8px 0 16px !important;
  padding: 12px 14px;
  border: 1px solid #e6d8ff;
  border-radius: 10px;
  background: #fbf8ff;
  color: #4b2e83 !important;
}

.admin-config-horarios {
  display: grid;
  gap: 10px;
}

.admin-config-horario-linha {
  display: grid;
  grid-template-columns: 1.2fr 140px 140px;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #eadcff;
  border-radius: 10px;
  background: #fbf8ff;
}

.admin-config-dia-check {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  color: #251a3d !important;
  font-size: 14px !important;
  font-weight: 900;
}

.admin-config-dia-check input {
  width: auto;
}

.admin-config-botoes {
  margin-top: 0;
}

.admin-cor-botao-config {
  border-color: #d8c4ff !important;
}

@media (max-width: 760px) {
  .admin-config-grid {
    grid-template-columns: 1fr;
  }

  .admin-config-horario-linha {
    grid-template-columns: 1fr;
  }
}

#adminModulo-configuracoes.ativo {
  width: 100%;
}

#adminModulo-configuracoes > * {
  width: 100%;
}


/* AJUSTES CONFIGURAÇÕES / CONTROLE MASTER */
#adminConfigAvisoCor {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
}

.admin-config-motivo-bloqueio {
  display: block;
  margin-top: 6px;
  color: #e63355;
  font-weight: 900;
}

.admin-config-status.bloqueado {
  background: transparent !important;
  color: #d9234e !important;
  padding: 0 !important;
}

.admin-config-status.bloqueado::before {
  background: #d9234e !important;
  box-shadow: none !important;
}


.admin-config-status.em-aberto {
  background: transparent !important;
  color: #8a6200 !important;
  padding: 0 !important;
}

.admin-config-status.em-aberto::before {
  background: #f5b700 !important;
  box-shadow: 0 0 0 4px rgba(245, 183, 0, 0.18) !important;
}

.admin-config-motivo-bloqueio.em-aberto {
  color: #8a6200;
}

body.admin-conta-em-aberto .admin-config-perfil {
  border-color: #f3d36b;
  background: #fffaf0;
}

body.admin-site-bloqueado .admin-modulo:not(#adminModulo-configuracoes) {
  opacity: 0.55;
  pointer-events: none;
}

.admin-menu-btn.admin-modulo-bloqueado {
  opacity: 0.45;
  cursor: not-allowed;
}

body.admin-site-bloqueado #adminModulo-configuracoes input:disabled,
body.admin-site-bloqueado #adminModulo-configuracoes textarea:disabled,
body.admin-site-bloqueado #adminModulo-configuracoes button:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}


/* CONFIGURAÇÕES — HORÁRIOS E PIX */
.admin-config-horarios {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.admin-config-horario-linha {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 140px 140px;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #eadcff;
  border-radius: 12px;
  background: #fbf8ff;
}

.admin-config-dia-check {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  font-weight: 900;
  color: #251a3d !important;
}

.admin-pix-card {
  max-width: 780px;
}

.admin-pix-alerta {
  background: #fff8e6 !important;
  border-color: #f6d98d !important;
  color: #6b4b00 !important;
}

.admin-pix-status {
  margin-top: 14px;
  max-height: none;
  padding: 10px 12px;
}

@media (max-width: 760px) {
  .admin-config-horario-linha {
    grid-template-columns: 1fr;
  }
}


/* =====================================
   PATCH FINAL — CARDÁPIO / BLOQUEIO CONFIG / STATUS
   ===================================== */

.admin-status-cardapio label {
  background: #fbf8ff !important;
  border: 1px solid #d8c4ff !important;
  color: #4b2e83 !important;
  box-shadow: 0 6px 16px rgba(108, 64, 180, 0.08);
}

.admin-status-cardapio label:has(input:checked) {
  background: linear-gradient(135deg, #8c55ff, #b57cff) !important;
  border-color: #8c55ff !important;
  color: #ffffff !important;
}

.admin-status-cardapio input {
  accent-color: #8c55ff;
}

body.admin-site-bloqueado #adminModulo-configuracoes select:disabled,
body.admin-site-bloqueado #adminModulo-configuracoes input:disabled,
body.admin-site-bloqueado #adminModulo-configuracoes textarea:disabled,
body.admin-site-bloqueado #adminModulo-configuracoes button:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}

/* LOGO NO LOGIN DO PAINEL */

.admin-login-logo {
  display: block;
  max-width: 230px;
  max-height: 110px;
  object-fit: contain;
  margin: 0 auto 22px auto;
}

.admin-login h2 {
  text-align: center;
}

/* MOBBI — TICKETS SEM AÇÕES DE ACEITAR/FINALIZAR */
.admin-ticket-item.sem-acoes {
  grid-template-columns: 1fr auto;
}

.admin-ticket-item.sem-acoes .admin-ticket-mini-acoes {
  justify-self: end;
}

/* RECIBOS — CAIXA / TICKETS */
.admin-recibos-caixa {
  max-width: 860px;
}

.admin-recibos-subtitulo {
  display: block;
  margin-top: 6px;
  color: #6f5f86;
  font-size: 13px;
  font-weight: 700;
}

.admin-recibos-lista {
  display: grid;
  gap: 10px;
}

.admin-recibo-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid #eadcff;
  border-radius: 12px;
  background: #fbf8ff;
}

.admin-recibo-item strong {
  display: block;
  color: #251a3d;
  margin-bottom: 4px;
}

.admin-recibo-item small {
  display: block;
  color: #6f5f86;
  font-size: 12px;
  line-height: 1.35;
}

.admin-status-ticket.encomenda {
  background: #fff1c2;
  color: #8a6200;
}

.admin-ticket-item.encomenda {
  border-left-color: #f5b700;
}

@media (max-width: 720px) {
  .admin-recibo-item {
    align-items: stretch;
    flex-direction: column;
  }
}

/* CONFIGURAÇÕES — MENSAGENS DE HORÁRIO */
.admin-config-mensagens-horario {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #eadcff;
  border-radius: 14px;
  background: #fbf8ff;
}

.admin-config-mensagens-horario h4 {
  margin: 0 0 6px;
  color: #24123d;
  font-size: 16px;
}

.admin-config-mensagens-horario label {
  margin-top: 14px;
}
