/* Feito! — app e módulo Salão (Pinguim). Mesma gramática da Brasa (../../DESIGN.md):
   borda de 2px é a elevação, botão de ação tem aresta 3D e afunda, cor por função.
   Funções no Salão: laranja = a casa (avançar pedido), verde = concluir (entregue, liberar),
   vermelho = atraso/alerta, roxo = a voz da IA (pedido pelo chat), dourado = o colaborador
   (chamado de garçom, conta, pedido lançado pelo garçom), azul = gente (nomes, texto digitado). */

body{background:var(--mesa)}

/* ============ chrome do app ============ */
.topo{flex-wrap:wrap}
.topo-controles{display:flex;align-items:center;gap:.6rem;margin-bottom:.45rem}
.topo-data{margin-left:auto}
.topo-data .dia{text-transform:none;letter-spacing:.02em}
.usuario{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;color:var(--tinta-2)}
.btn-icone{
  width:2.4rem;height:2.4rem;display:inline-grid;place-items:center;flex:none;
  background:var(--papel);color:var(--tinta-2);border:2px solid var(--borda-forte);border-radius:12px;
  box-shadow:0 3px 0 var(--borda-forte);transition:transform .12s, box-shadow .12s, color .12s;
}
.btn-icone svg{width:1.15rem;height:1.15rem}
.btn-icone:hover{color:var(--tinta)}
.btn-icone:active{transform:translateY(3px);box-shadow:none}
.btn-icone.grande{width:2.9rem;height:2.9rem;border-radius:14px}
.btn-icone.grande svg{width:1.35rem;height:1.35rem}
.btn-icone.mini{width:1.9rem;height:1.9rem;border-radius:10px;box-shadow:0 2px 0 var(--borda-forte)}
.btn-icone.mini svg{width:.95rem;height:.95rem}
.btn-icone[aria-pressed="true"]{color:var(--marca-texto);border-color:var(--marca-clara);background:var(--marca-suave)}

.aba[aria-current="page"]{
  background:var(--marca-suave);color:var(--marca-texto);
  box-shadow:inset 0 0 0 2px var(--marca-clara);position:relative;z-index:3;
}
.aba .cont[hidden]{display:none}
.grupo-tit{
  display:flex;align-items:center;gap:.4rem;margin:.9rem 0 .15rem .8rem;
  font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--tinta-2);
}
.grupo-tit:first-child{margin-top:0}
.grupo-tit svg{width:1rem;height:1rem;color:var(--ia-roxo)}
.selo-grupo{margin-left:auto;margin-right:.3rem;font-size:.66rem;letter-spacing:.06em;padding:.12em .5em;border-radius:8px;background:var(--cinza-suave);color:var(--cinza-texto)}
.selo-grupo.vivo{background:var(--marca-suave);color:var(--marca-texto-forte)}
.fichario{padding-top:1.4rem}

.btn-auto{width:auto;padding:.7rem 1.1rem;font-size:.82rem}
.btn-perigo{
  background:var(--vermelho-vivo);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;
  padding:.75rem 1.1rem;border-radius:14px;box-shadow:0 4px 0 #c42f2f;display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
}
.btn-perigo:active{transform:translateY(4px);box-shadow:none}
.btn-mini{
  font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  padding:.38rem .65rem;border-radius:10px;background:var(--papel);color:var(--tinta);
  border:2px solid var(--borda-forte);box-shadow:0 2px 0 var(--borda-forte);white-space:nowrap;
  transition:transform .1s, box-shadow .1s;
}
.btn-mini:active{transform:translateY(2px);box-shadow:none}
.btn-mini.verde{background:var(--verde);border-color:var(--verde);color:#fff;box-shadow:0 2px 0 var(--verde-sombra)}
.btn-mini.vermelho{color:var(--vermelho-texto);border-color:var(--vermelho-borda);box-shadow:0 2px 0 var(--vermelho-borda)}
.btn-link{font-size:.75rem;font-weight:800;color:var(--caneta);text-decoration:underline;text-underline-offset:3px}
a{color:var(--caneta)}
a.btn-kraft,label.btn-kraft{text-decoration:none;cursor:pointer}
.linha-botoes{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.carimbo.dourado{background:var(--dourado-suave);color:var(--dourado-texto)}
.chip-mini{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--vermelho-suave);color:var(--vermelho-texto);padding:.1em .45em;border-radius:6px}

/* formulários: todos os campos com caixa de verdade */
.form-linha input:not([type=checkbox]):not([type=file]), .form-linha select, .form-linha textarea{
  width:100%;border:2px solid var(--borda);border-radius:12px;background:var(--campo);
  font-family:"Nunito",sans-serif;font-weight:700;font-size:.95rem;color:var(--caneta);padding:.5rem .65rem;
}
.form-linha input:focus, .form-linha select:focus, .form-linha textarea:focus{border-color:var(--caneta-viva);outline:none}
.form-linha .dica{display:block;margin-top:.3rem;font-size:.72rem;color:var(--tinta-2)}
.folha-modal.larga{width:46rem}
.folha-modal h2 .sub-modal{font-size:.76rem;font-weight:400;color:var(--tinta-2);margin-left:.4rem}
.folha-modal h2 .carimbo{font-size:.68rem;vertical-align:middle;margin-left:.3rem}
.modal-texto{font-size:.88rem;color:var(--tinta-2);margin:-.3rem 0 .9rem;line-height:1.5}
.modal-texto b{color:var(--tinta)}
.modal-acoes{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1.1rem}
.modal-acoes .btn-principal{width:auto;padding:.75rem 1.2rem}
.sub-secao{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--tinta-2);margin:1.1rem 0 .5rem}
.sugestoes{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.3rem 0 .8rem}
.lista-acoes{display:flex;flex-direction:column;gap:.5rem}
.acao-linha{
  display:flex;align-items:center;gap:.6rem;text-align:left;width:100%;padding:.8rem .9rem;
  border:2px solid var(--borda);border-radius:14px;background:var(--papel);font-weight:800;font-size:.92rem;
  box-shadow:0 3px 0 var(--borda);
}
.acao-linha small{margin-left:auto;font-weight:600;font-size:.72rem;color:var(--tinta-2)}
.acao-linha svg{width:1.15rem;height:1.15rem;color:var(--marca-texto)}
.acao-linha:active{transform:translateY(3px);box-shadow:none}
.itens-cancelar{list-style:none}
.itens-cancelar li{display:flex;align-items:center;gap:.6rem;justify-content:space-between;padding:.5rem 0;border-bottom:2px solid var(--borda);font-weight:700}

.toast.erro{background:var(--vermelho-suave);color:var(--vermelho-texto);box-shadow:0 4px 0 var(--vermelho-borda), var(--sombra-leve)}
.aviso-conexao{
  position:fixed;top:.8rem;left:50%;transform:translateX(-50%);z-index:120;
  background:var(--vermelho-vivo);color:#fff;font-weight:800;font-size:.9rem;padding:.6rem 1rem;border-radius:12px;
  box-shadow:0 4px 0 #c42f2f;display:flex;align-items:center;gap:.5rem;
}
.aviso-conexao .ponto{width:.6rem;height:.6rem;border-radius:50%;background:#fff;animation:pulso 1s infinite}

/* ============ entrar ============ */
.tela-entrar{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.cartao-entrar{
  width:24rem;max-width:100%;background:var(--papel);border:2px solid var(--borda);border-radius:24px;padding:1.8rem 1.7rem 1.5rem;
}
.cartao-entrar .marca{margin-bottom:1.2rem}
.cartao-entrar h1{font-size:1.3rem;font-weight:900;margin-bottom:1rem}
.erro-entrar{color:var(--vermelho);font-weight:700;font-size:.85rem;min-height:1.2rem;margin:-.2rem 0 .6rem}
.nota-entrar{margin-top:1rem;font-size:.72rem;color:var(--tinta-2);text-align:center}

/* ============ AO VIVO ============ */
.cab-aovivo{flex-wrap:wrap}
.ponto-vivo{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--marca);margin-right:.45rem;animation:pulso 1.6s infinite;vertical-align:middle}
.sem-conexao .ponto-vivo{background:var(--vermelho-vivo);animation:none}
.controles-aovivo{display:flex;gap:.5rem;align-items:center}
.pilula-lotacao{
  display:inline-flex;align-items:baseline;gap:.4rem;padding:.55rem .9rem;border-radius:99px;
  border:2px solid var(--borda-forte);background:var(--papel);box-shadow:0 3px 0 var(--borda-forte);
  font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-2);
}
.pilula-lotacao b{font-size:.95rem;color:var(--tinta);text-transform:none;letter-spacing:0}
.pilula-lotacao b.nivel-medio{color:var(--marca-texto)}
.pilula-lotacao b.nivel-cheio{color:var(--vermelho)}
.pilula-lotacao small{font-size:.66rem;font-weight:700;text-transform:none;letter-spacing:0}
.pilula-lotacao:active{transform:translateY(3px);box-shadow:none}
.opcoes-lotacao, .opcoes-estilo{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem;margin-bottom:.8rem}
.opcao{
  text-align:left;padding:.8rem .9rem;border:2px solid var(--borda);border-radius:14px;background:var(--papel);
  font-weight:900;font-size:.95rem;box-shadow:0 3px 0 var(--borda);display:flex;flex-direction:column;gap:.2rem;
}
.opcao small{font-weight:600;font-size:.72rem;color:var(--tinta-2)}
.opcao.ativa{background:var(--marca-suave);border-color:var(--marca-clara);color:var(--marca-texto-forte);box-shadow:inset 0 0 0 2px var(--marca-clara)}
.opcao:active{transform:translateY(3px);box-shadow:none}

.barra-aovivo{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:-.2rem 0 1rem}
.barra-aovivo .setores{margin-right:auto;flex-wrap:wrap}
.chip-filtro.grande{font-size:.82rem;padding:.5rem 1rem}
.aviso-som{
  width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.9rem;
  padding:.7rem;border-radius:14px;background:var(--dourado-suave);border:2px solid var(--dourado-borda);color:var(--dourado-texto);font-weight:800;
}
.aviso-som svg{width:1.1rem;height:1.1rem}
.aviso-som[hidden]{display:none}

.alertas{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.6rem;margin-bottom:1rem}
.alertas:empty{display:none}
.alertas.compacto{grid-template-columns:1fr;margin-bottom:.4rem}
.alerta-cartao{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;padding:.7rem .8rem;border-radius:14px;border:2px solid var(--borda);background:var(--papel-2);
  animation:chegar .28s ease-out;
}
.alerta-cartao > svg{width:1.3rem;height:1.3rem;flex:none}
.alerta-cartao p{flex:1 1 11rem;font-size:.95rem;line-height:1.35}
.alerta-cartao .quando{display:block;font-size:.7rem;color:var(--tinta-2);margin-top:.1rem}
.alerta-cartao.dourado{background:var(--dourado-suave);border-color:var(--dourado-borda);color:var(--dourado-forte)}
.alerta-cartao.dourado > svg{color:var(--carbono-escuro)}
.alerta-cartao.vermelho{background:var(--vermelho-suave);border-color:var(--vermelho-borda);color:var(--vermelho-texto)}
.alerta-cartao.neutro{color:var(--tinta)}
.alerta-cartao .quando{color:inherit;opacity:.8}
.alerta-acoes{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.destaque-desc{font-weight:900}

.quadro{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:start}
.raia-em_preparo .coluna-tit{background:var(--marca-suave);border-color:var(--marca-clara);color:var(--marca-texto-forte)}
.raia-saiu .coluna-tit{background:var(--verde-suave);border-color:var(--verde-borda);color:var(--verde-texto)}
.raia .coluna-tit{font-size:.82rem}
.raia-recebido .ticket:not(.atrasado){border-top:4px solid var(--borda-forte)}
.raia-em_preparo .ticket:not(.atrasado){border-top:4px solid var(--marca)}
.raia-saiu .ticket:not(.atrasado){border-top:4px solid var(--verde-faixa)}

.ticket{
  background:var(--papel);border:2px solid var(--borda);border-radius:16px;padding:.85rem .95rem .9rem;
  display:flex;flex-direction:column;gap:.45rem;animation:chegar .25s ease-out;
}
.ticket.atrasado{border-color:var(--vermelho-vivo);box-shadow:0 0 0 1px var(--vermelho-vivo) inset}
.ticket.saindo{opacity:.45;transform:translateX(8px);transition:opacity .2s, transform .2s}
.ticket header{display:flex;align-items:baseline;gap:.5rem}
.t-mesa{font-size:1.45rem;font-weight:900;letter-spacing:-.01em;line-height:1}
.t-num{margin-left:auto;font-size:.76rem;font-weight:700;color:var(--marca-texto)}
.t-quem{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.t-nome{font-size:1.02rem;font-weight:800;color:var(--caneta)}
.t-garcom{font-size:.95rem;font-weight:800;color:var(--dourado-texto)}
.chip-origem{
  display:inline-flex;align-items:center;gap:.25rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  padding:.18em .5em;border-radius:8px;border:2px solid transparent;
}
.chip-origem svg{width:.85rem;height:.85rem}
.chip-origem.chat{background:var(--ia-fundo);border-color:var(--ia-borda);color:var(--ia-texto)}
.chip-origem.garcom{background:var(--dourado-suave);border-color:var(--dourado-borda);color:var(--dourado-texto)}
.t-destaque{font-size:.8rem;font-weight:800;color:var(--vermelho)}
.t-itens{list-style:none;display:flex;flex-direction:column;gap:.3rem;border-top:2px solid var(--borda);padding-top:.5rem}
.t-itens li{font-size:1.06rem;font-weight:700;line-height:1.3}
.t-itens li b{font-size:.98rem;color:var(--marca-texto);margin-right:.15rem}
.t-itens li.cancelado span{text-decoration:line-through;color:var(--tinta-2)}
.t-obs{display:block;font-style:normal;font-weight:800;font-size:.9rem;color:var(--caneta);padding-left:1.6rem}
.t-obs::before{content:"» "}
.t-motivo{display:block;font-style:normal;font-size:.76rem;color:var(--vermelho);padding-left:1.6rem}
.t-rodape{display:flex;align-items:center}
.t-tempo{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;color:var(--tinta-2)}
.t-tempo svg{width:1rem;height:1rem}
.t-tempo.atrasado{color:var(--vermelho);font-weight:700}
.t-acoes{display:flex;gap:.5rem;margin-top:.2rem}
.btn-avancar{
  flex:1;min-height:3.1rem;border-radius:14px;font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:.07em;
  display:flex;align-items:center;justify-content:center;gap:.5rem;color:#fff;
  background:var(--marca);box-shadow:0 4px 0 var(--marca-sombra);transition:transform .12s, box-shadow .12s, filter .12s;
}
.btn-avancar svg{width:1.1rem;height:1.1rem}
.btn-avancar.saiu{background:var(--verde);box-shadow:0 4px 0 var(--verde-sombra)}
.btn-avancar:hover{filter:brightness(1.05)}
.btn-avancar:active{transform:translateY(4px);box-shadow:none}
.btn-avancar:disabled{opacity:.6}
.t-menu{width:3.1rem;height:3.1rem;border-radius:14px}
.sair-tela-cheia{display:none}

/* tela cheia: só o quadro, letras maiores, sem apagar */
.tela-cheia .topo, .tela-cheia .fichario, .tela-cheia .rodape{display:none}
.tela-cheia .mesa{padding:.8rem}
.tela-cheia .prancheta{border:0;border-radius:0;padding:.6rem .8rem;min-height:100vh;background:var(--mesa)}
.tela-cheia #v-aovivo .cab{border-bottom:0;margin-bottom:.4rem;padding-bottom:0}
.tela-cheia #btnTelaCheia{display:none}
.tela-cheia .sair-tela-cheia{
  display:inline-flex;position:fixed;right:1rem;bottom:1rem;z-index:40;align-items:center;gap:.4rem;
  background:var(--papel);border:2px solid var(--borda-forte);border-radius:12px;padding:.5rem .8rem;font-weight:800;font-size:.78rem;
  box-shadow:0 3px 0 var(--borda-forte);color:var(--tinta-2);
}
.tela-cheia .t-mesa{font-size:1.75rem}
.tela-cheia .t-itens li{font-size:1.22rem}
.tela-cheia .btn-avancar{min-height:3.6rem;font-size:1.1rem}
.tela-cheia .rodape-papel{display:none}

/* ============ MESAS ============ */
.fita .v small{font-size:.8rem;color:var(--tinta-2);font-weight:700}
.legenda-mesas{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.76rem;font-weight:700;color:var(--tinta-2);margin:-.4rem 0 1rem}
.legenda-mesas span{display:inline-flex;align-items:center;gap:.35rem}
.sw{width:.9rem;height:.9rem;border-radius:5px;border:2px solid var(--borda-forte);display:inline-block}
.sw.livre{border-style:dashed}
.sw.ocupada{background:var(--marca-suave);border-color:var(--marca-clara)}
.sw.conta{background:var(--dourado-suave);border-color:var(--carbono)}
.sw.alerta{border-color:var(--vermelho-vivo)}
.grade-mesas{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.8rem,1fr));gap:.8rem}
.mesa-tile{
  min-height:7.4rem;border-radius:16px;border:2px dashed var(--borda-forte);background:transparent;
  display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem .8rem;text-align:left;color:var(--tinta-2);
  transition:transform .14s, box-shadow .12s;
}
.mesa-tile:hover{transform:translateY(-2px)}
.mesa-tile:active{transform:translateY(3px)}
.mt-num{font-size:2rem;font-weight:900;line-height:1;color:var(--tinta)}
.mt-estado{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.mt-info{font-size:.78rem;font-weight:700}
.mesa-tile .mt-info.mono{margin-top:auto;font-size:.9rem;color:var(--tinta)}
.mesa-tile.ocupada{border-style:solid;border-color:var(--marca-clara);background:var(--marca-suave);color:var(--marca-texto-forte);box-shadow:0 3px 0 var(--marca-clara)}
.mesa-tile.conta{border-style:solid;border-color:var(--carbono);background:var(--dourado-suave);color:var(--dourado-texto);box-shadow:0 3px 0 var(--dourado-sombra)}
.mesa-tile.alerta{border-style:solid;border-color:var(--vermelho-vivo);background:var(--papel);color:var(--vermelho);box-shadow:0 3px 0 var(--vermelho-borda)}

.pessoas{list-style:none}
.pessoas li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:2px solid var(--borda)}
.pessoas li.aguardando{background:var(--dourado-suave);border-radius:10px;padding:.5rem .6rem}
.pessoas li.recusado, .pessoas li.saiu{opacity:.6}
.p-nome{font-weight:800;color:var(--caneta)}
.p-tel{font-size:.76rem;color:var(--tinta-2)}
.p-acoes{margin-left:auto;display:flex;gap:.4rem}
.pessoas .carimbo{font-size:.66rem}
.comanda-pedidos{display:flex;flex-direction:column;gap:.6rem}
.cp-bloco{border:2px solid var(--borda);border-radius:14px;padding:.6rem .7rem}
.cp-cab{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.76rem;margin-bottom:.35rem}
.cp-cab .carimbo{margin-left:auto;font-size:.66rem}
.cp-bloco ul{list-style:none}
.cp-bloco li{display:flex;align-items:center;gap:.6rem;padding:.25rem 0;font-weight:700;font-size:.9rem}
.cp-bloco li > span:first-child{flex:1}
.cp-bloco li.cancelado > span:first-child{text-decoration:line-through;color:var(--tinta-2)}
.cp-bloco .t-obs, .cp-bloco .t-motivo{display:inline;padding-left:.3rem;font-size:.8rem}
.cp-bloco .t-obs::before{content:""}
.tabela-conta{width:100%;border-collapse:collapse;font-size:.88rem}
.tabela-conta th{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2);text-align:left;padding:.4rem .4rem;border-bottom:2px solid var(--borda)}
.tabela-conta td{padding:.55rem .4rem;border-bottom:2px solid var(--borda);vertical-align:middle}
.tabela-conta td small{display:block;font-size:.72rem;color:var(--tinta-2);font-weight:600}
.tabela-conta td b{color:var(--caneta)}
.tabela-conta td.mono b{color:var(--tinta)}
.tabela-conta .desc{color:var(--verde-texto);font-weight:700}
.tabela-conta tr.pendente{opacity:.75}
.tabela-conta tfoot td{font-weight:800;border-bottom:0}
.tabela-conta td:last-child{text-align:right;white-space:nowrap}
.tabela-conta .btn-mini{margin-left:.3rem}

/* ============ LANÇAMENTO DO GARÇOM ============ */
.grade-mesas-mini{display:flex;flex-wrap:wrap;gap:.4rem}
.mesa-mini{
  width:2.8rem;height:2.8rem;border-radius:12px;border:2px solid var(--borda-forte);background:var(--papel);font-weight:900;font-size:1rem;
  box-shadow:0 2px 0 var(--borda-forte);
}
.mesa-mini[aria-pressed="true"]{background:var(--marca);border-color:var(--marca);color:#fff;box-shadow:0 2px 0 var(--marca-sombra)}
.lanc-busca{max-width:none;margin:.2rem 0 .6rem}
.lanc-cats{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.lanc-itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem;max-height:17rem;overflow:auto;padding:.1rem .1rem .4rem}
.item-lanc{
  position:relative;display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.6rem .7rem;border-radius:12px;
  border:2px solid var(--borda);background:var(--papel);font-weight:800;font-size:.86rem;box-shadow:0 3px 0 var(--borda);
}
.item-lanc .mono{font-weight:400;font-size:.76rem;color:var(--tinta-2)}
.item-lanc:active{transform:translateY(3px);box-shadow:none}
.qtd-badge{position:absolute;top:-.45rem;right:-.45rem;min-width:1.5rem;height:1.5rem;border-radius:99px;background:var(--marca);color:#fff;display:grid;place-items:center;font-size:.78rem}
.lanc-carrinho{margin:.8rem 0 1rem}
.lanc-carrinho ul{list-style:none}
.lanc-carrinho li{display:grid;grid-template-columns:auto 1fr minmax(7rem,12rem) auto;gap:.6rem;align-items:center;padding:.4rem 0;border-bottom:2px solid var(--borda)}
.lc-nome{font-weight:800}
.lc-obs{border:2px solid var(--borda);border-radius:10px;padding:.35rem .5rem;font:inherit;font-weight:700;color:var(--caneta);background:var(--campo);width:100%}
.lc-total{text-align:right;margin-top:.5rem;font-weight:800}
.stepper{display:inline-flex;align-items:center;border:2px solid var(--borda-forte);border-radius:12px;overflow:hidden}
.stepper button{width:2.2rem;height:2.2rem;font-size:1.1rem;font-weight:900;color:var(--marca-texto)}
.stepper b{min-width:1.8rem;text-align:center}

/* ============ EM FALTA ============ */
.lista-falta{max-height:60vh;overflow:auto}
.lista-falta.larga{max-height:none}
.linha-falta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:2px solid var(--borda);font-weight:700}
.chave.falta[aria-checked="true"]{background:var(--vermelho-vivo)}

/* ============ CARDÁPIO ============ */
.abas-internas{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.1rem}
.bloco-dia{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.8rem 1rem;border:2px solid var(--borda);border-radius:16px;margin-bottom:1.3rem;background:var(--papel-2)}
.bloco-dia label{display:flex;align-items:center;gap:.4rem;font-weight:800;font-size:.85rem}
.bloco-dia label svg{width:1.1rem;height:1.1rem;color:var(--marca)}
.bloco-dia select{border:2px solid var(--borda);border-radius:12px;padding:.45rem .6rem;font:inherit;font-weight:700;background:var(--campo);color:var(--caneta);min-width:15rem}
.cat-bloco{margin-bottom:1.4rem}
.cat-cab{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.cat-cab h2{font-size:1rem;font-weight:900}
.chip-setor{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.15em .5em;border-radius:8px;background:var(--cinza-suave);color:var(--cinza-texto)}
.tabela-itens{border:2px solid var(--borda);border-radius:16px;overflow:hidden}
.ti-linha{display:grid;grid-template-columns:minmax(12rem,1fr) 6.5rem 6.5rem 4.2rem 5rem 2.6rem;gap:.6rem;align-items:center;padding:.55rem .8rem;border-bottom:2px solid var(--borda)}
.ti-linha:last-of-type{border-bottom:0}
.ti-cab{background:var(--papel-2);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2)}
.ti-nome b{font-weight:800}
.ti-nome small{display:block;font-size:.74rem;color:var(--tinta-2);font-weight:600}
.ti-nome small.alerg{color:var(--marca-texto)}
.ti-nome .estrela{width:1rem;height:1rem;color:var(--marca);vertical-align:-2px;margin-right:.25rem}
.ti-linha.inativo{opacity:.5}
.ti-linha.em-falta .ti-nome b{color:var(--vermelho)}
.novo-slip.compacto{border-radius:0;border-width:2px 0 0;padding:.6rem;font-size:.74rem}
.resultado-import{margin-top:.6rem;font-size:.85rem;padding:.6rem .8rem;border-radius:12px;background:var(--papel-2);border:2px solid var(--borda)}

/* ============ TEMPOS ============ */
.tempos-regra{margin:-.4rem 0 1rem}
.tabela-tempos{border:2px solid var(--borda);border-radius:16px;overflow:hidden}
.tt-linha{display:grid;grid-template-columns:minmax(12rem,1.5fr) repeat(3,5.4rem) minmax(11rem,1.4fr) minmax(8rem,.9fr);gap:.6rem;align-items:center;padding:.5rem .8rem;border-bottom:2px solid var(--borda)}
.tt-cab{background:var(--papel-2);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2)}
.tt-linha.item{background:var(--papel-2);padding-left:1.8rem}
.tt-nome small{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2);font-weight:800}
.tt-nome b{font-weight:800}
.tt-nome .btn-link{display:block;margin-top:.1rem}
.tt-linha input{width:100%;border:2px solid var(--borda);border-radius:10px;padding:.4rem .45rem;background:var(--campo);color:var(--caneta);font-weight:700;font-size:.9rem}
.tt-linha input::placeholder{color:var(--tinta-2);opacity:.7}
.tt-linha.herdado.item input{background:transparent}
.tt-real{font-size:.84rem}
.tt-real small{display:block;font-size:.7rem;color:var(--tinta-2);font-family:"Nunito",sans-serif;font-weight:600}
.tt-real b{font-size:.78rem}
.tt-real b.pior{color:var(--vermelho)}
.tt-real b.melhor{color:var(--verde-texto)}
.tt-expandir{width:100%;text-align:left;padding:.45rem .8rem .45rem 1.8rem;border-bottom:2px solid var(--borda);font-size:.74rem;font-weight:800;color:var(--caneta)}

/* ============ DADOS ============ */
.periodos{margin:-.3rem 0 1.1rem}
.dados-conteudo.carregando{opacity:.55;transition:opacity .2s}
.bloco-dados{border:2px solid var(--borda);border-radius:16px;padding:1rem 1.1rem 1.1rem;margin-bottom:1.1rem;background:var(--papel)}
.bloco-dados h2{font-size:.95rem;font-weight:900;margin-bottom:.6rem}
.bloco-dados h2 small{font-weight:600;font-size:.76rem;color:var(--tinta-2);margin-left:.3rem}
.dados-duas{display:grid;grid-template-columns:1.3fr 1fr;gap:1.1rem}
.dados-duas > *{min-width:0}
.tiles-setor{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem}
.tile-setor{border:2px solid var(--borda);border-radius:14px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.2rem}
.tile-setor .r{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--tinta-2)}
.tile-setor .v{font-size:1.5rem;font-weight:900}
.tile-setor .v small{font-size:.8rem;font-weight:700;color:var(--tinta-2)}
.tile-setor .ruim{font-size:.74rem;font-weight:700;color:var(--vermelho)}
.tile-setor .bom{font-size:.74rem;font-weight:700;color:var(--verde-texto)}
.cartoes-piloto{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.7rem;margin-top:.6rem}
.cartao-piloto{border:2px solid var(--borda);border-radius:14px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.25rem}
.cp-pergunta{font-size:.82rem;font-weight:800;line-height:1.3}
.cp-pergunta small{display:block;font-weight:600;font-size:.7rem;color:var(--tinta-2)}
.cp-valor{font-size:1.7rem;font-weight:900;line-height:1.1}
.cp-valor small{font-size:.9rem;color:var(--tinta-2)}
.cp-valor.bom{color:var(--verde-texto)}
.cp-desc{font-size:.74rem;color:var(--tinta-2)}
.medidor{height:.55rem;border-radius:99px;background:var(--marca-suave);overflow:hidden;margin-top:.35rem;display:flex}
.medidor i{display:block;height:100%;background:var(--marca);border-radius:99px}
.medidor.menor-melhor{background:var(--vermelho-suave)}
.medidor.menor-melhor i{background:var(--vermelho-vivo)}
.medidor.duplo{background:var(--dado-garcom);gap:2px}
.medidor.duplo i.serie-chat{background:var(--dado-chat);border-radius:99px 0 0 99px}
.medidor.duplo i.serie-garcom{flex:1;background:var(--dado-garcom);border-radius:0 99px 99px 0}

/* gráficos (skill de dataviz): hairlines, barras finas, tooltip com valor em destaque */
.figura-grafico{overflow-x:auto}
.grafico{width:100%;height:auto;min-width:560px;max-width:100%;display:block}
.grafico .grade{stroke:var(--borda);stroke-width:1}
.grafico .eixo{stroke:var(--borda-forte);stroke-width:1}
.grafico .rotulo-eixo{fill:var(--tinta-2);font-family:"Chivo Mono",monospace;font-size:11px}
.grafico .rotulo-categoria{fill:var(--tinta);font-family:"Nunito",sans-serif;font-weight:700;font-size:12.5px}
.grafico .rotulo-valor{fill:var(--tinta-2);font-family:"Chivo Mono",monospace;font-size:11px}
.grafico .serie-chat{fill:var(--dado-chat)}
.grafico .serie-garcom{fill:var(--dado-garcom)}
.grafico .serie-casa{fill:var(--dado-casa)}
.grafico .coluna .alvo{fill:transparent}
.grafico .coluna:hover path, .grafico .coluna:hover rect:not(.alvo), .grafico .coluna:focus path, .grafico .coluna:focus rect:not(.alvo){filter:brightness(1.15)}
.grafico .coluna:focus{outline:none}
.grafico .coluna:focus-visible .alvo{stroke:var(--caneta-viva);stroke-width:2;fill:var(--hover);fill-opacity:.4}
.legenda-grafico{display:flex;gap:1rem;font-size:.78rem;font-weight:700;color:var(--tinta-2);margin-bottom:.4rem}
.legenda-grafico span{display:inline-flex;align-items:center;gap:.35rem}
.lg-chave{width:.75rem;height:.75rem;border-radius:3px;display:inline-block}
.lg-chave.serie-chat, .dg-chave.serie-chat{background:var(--dado-chat)}
.lg-chave.serie-garcom, .dg-chave.serie-garcom{background:var(--dado-garcom)}
.grafico-barra{display:flex;justify-content:flex-end;margin:-2rem 0 .4rem}
.dica-grafico{
  position:fixed;z-index:130;display:none;pointer-events:none;min-width:9rem;
  background:var(--papel);color:var(--tinta);border:2px solid var(--borda-forte);border-radius:12px;padding:.5rem .65rem;box-shadow:var(--sombra-leve);
}
.dg-titulo{font-size:.72rem;font-weight:800;color:var(--tinta-2);margin-bottom:.25rem}
.dg-linha{display:flex;align-items:center;gap:.45rem;font-size:.8rem}
.dg-linha b{font-family:"Chivo Mono",monospace;font-size:.9rem;color:var(--tinta);min-width:2rem}
.dg-linha span{color:var(--tinta-2)}
.dg-chave{width:.8rem;height:3px;border-radius:2px;display:inline-block}
.tabela-dados{width:100%;border-collapse:collapse;font-size:.84rem}
.tabela-dados th{text-align:left;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2);padding:.35rem .4rem;border-bottom:2px solid var(--borda)}
.tabela-dados td{padding:.35rem .4rem;border-bottom:1px solid var(--borda);font-variant-numeric:tabular-nums}

/* ============ CLIENTES DA CASA ============ */
.ficha.bloqueada{opacity:.65}
.ficha .acao-ficha{color:var(--tinta-2)}

/* ============ GARÇOM PINGUIM ============ */
.grade-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.8rem 1.1rem}
.campo-num{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:.35rem .5rem}
.campo-num > span{width:100%;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--tinta-2)}
.campo-num input{width:6rem;border:2px solid var(--borda);border-radius:12px;padding:.45rem .55rem;background:var(--campo);color:var(--caneta);font-weight:700;font-size:.95rem}
.campo-num input:focus{border-color:var(--caneta-viva);outline:none}
.campo-num em{font-style:normal;font-size:.8rem;color:var(--tinta-2);font-weight:700}
.campo-num small{width:100%;font-size:.72rem;color:var(--tinta-2)}
.campo-num.largo{grid-column:span 2;margin-top:.4rem}
.campo-num.largo input{width:16rem;max-width:100%}
.ajuste-bloco code{font-size:.76rem;background:var(--papel-2);border:2px solid var(--borda);border-radius:8px;padding:.1rem .4rem;word-break:break-all}
.niveis{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.6rem}
.nivel{border:2px solid var(--borda);border-radius:14px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--tinta-2)}
.nivel b{color:var(--tinta);font-size:.9rem}
.nivel.ativo{border-color:var(--marca-clara);background:var(--marca-suave)}
.nivel.em-breve{border-style:dashed}
.lista-mesas, .lista-usuarios{margin-top:.8rem;border:2px solid var(--borda);border-radius:16px;overflow:hidden}
.linha-mesa, .linha-usuario{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.5rem .8rem;border-bottom:2px solid var(--borda)}
.linha-mesa:last-child, .linha-usuario:last-child{border-bottom:0}
.linha-mesa.inativa, .linha-usuario.inativo{opacity:.55}
.lm-num{min-width:4.5rem}
.lm-acoes{margin-left:auto;display:flex;align-items:center;gap:.4rem}
.lm-acoes .chave{margin-left:.3rem}
.linha-usuario .carimbo{font-size:.66rem}
.qr-grande{display:grid;place-items:center;padding:.5rem 0}
.qr-grande img{width:15rem;height:15rem;background:#fff;border-radius:12px;padding:.4rem}
.demo{background:var(--papel-2);border-radius:16px;padding:1rem 1.1rem;border-bottom:0}

/* ============ RESPONSIVO ============ */
@media (max-width:1120px){
  .quadro{grid-template-columns:repeat(2,1fr)}
  .dados-duas{grid-template-columns:1fr}
  .tt-linha{grid-template-columns:minmax(10rem,1.4fr) repeat(3,4.6rem) minmax(9rem,1.2fr)}
  .tt-linha > span:last-child{grid-column:1 / -1}
  .tt-cab > span:last-child{display:none}
}
@media (max-width:760px){
  .mesa{align-items:stretch}
  .usuario > span{display:none}
  .prancheta{width:100%;max-width:100%}
  .topo-controles{width:100%;justify-content:flex-end;order:5}
  .topo-controles .ver-func{width:auto}
  .quadro{grid-template-columns:1fr}
  .ti-linha{grid-template-columns:1fr auto auto;grid-auto-flow:row}
  .ti-linha > span:nth-child(2), .ti-cab > span:nth-child(2){display:none}
  .ti-cab{display:none}
  .ti-linha .ti-nome{grid-column:1 / -1}
  .tt-linha{grid-template-columns:1fr repeat(3,3.8rem);padding-left:.6rem}
  .tt-linha.item{padding-left:.9rem}
  .tt-linha > span:nth-child(5){grid-column:1 / -1}
  .tt-cab > span:nth-child(5){display:none}
  .lanc-carrinho li{grid-template-columns:auto 1fr auto}
  .lc-obs{grid-column:1 / -1}
  .campo-num.largo{grid-column:auto}
  .tabela-conta{font-size:.8rem}
  .tabela-conta th:nth-child(3), .tabela-conta td:nth-child(3){display:none}
  .grafico-barra{margin-top:0}
  .folha-modal{padding:1.2rem 1rem}
  .alertas{grid-template-columns:1fr}
  .barra-aovivo .setores{width:100%}
}
