/* ---------- 0. A FONTE DA CASA ----------
   Ate 02/08/2026 o site usava a fonte do APARELHO: no iPhone uma, no Android
   outra, e nenhuma delas conversava com a marca. O Pedro notou ("a logo esta
   escrita de uma forma e todas as outras letras de outra").

   A logo ja diz qual caminho seguir: "FALAGUASTA" e lettering desenhado a mao
   (arte, nao fonte -- em texto corrido seria ilegivel), mas o "PIZZA" embaixo
   dele e uma sans geometrica leve e espacada. O site fala essa segunda voz.

   INTER, escolhida pelo Pedro entre seis direcoes (02/08). Eu tinha proposto a
   Archivo por ela ecoar a proporcao condensada do wordmark; ele preferiu a
   Inter e, pro que este site E, ele acertou: a Inter foi desenhada pra
   INTERFACE em tela pequena -- altura de x grande, aberturas largas e o melhor
   conjunto de numeros do lote. Este site e 438 linhas de contagem, valor em
   reais e formulario num celular de loja; legibilidade vale mais que a rima
   com a logo, que o proprio wordmark ja faz sozinho no cabecalho.

   Arquivo VARIAVEL cobrindo 100-900 (47KB). A faixa completa importa: o site
   usa font-weight:900 em varios titulos, e um arquivo que parasse em 800
   deixaria esses titulos mais leves sem ninguem entender por que.

   Hospedado NA NOSSA VPS, nao puxado do Google em tempo de uso: dependencia de
   fora numa loja com 3G ruim e latencia garantida, e o Google veria o IP de
   cada gerente a cada abertura.

   font-display:swap -- o texto aparece na hora com a fonte do sistema e troca
   quando a nossa chega. Ninguem fica olhando tela em branco por tipografia. */
@font-face{
  font-family:'Inter';
  src:url('/static/fontes/Inter.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

/* ============================================================
   TEMA FALAGUASTA — design system da marca
   Fonte da identidade: static/inicio.html + logo-falaguasta-escura.png
   (fundo creme, tinta quase-preta, tricolor SO como detalhe)

   COMO CADA PAGINA USA (curto):
   1) <link rel="stylesheet" href="/static/tema.css">
   2) body com classe de area:
      index.html      -> <body class="fg fg-area-pedidos">
      chamados.html   -> <body class="fg fg-area-manutencao">
      manutencao.html -> <body class="fg fg-area-manutencao">
      admin.html      -> <body class="fg fg-area-admin">
   3) meta viewport: width=device-width, initial-scale=1, viewport-fit=cover
      (SEM maximum-scale). meta theme-color: #faf7f0
   4) cabecalho padrao (lei 5):
      <header class="fg-header">
        <div class="fg-tricolor"><i></i><i></i><i></i></div>
        <div class="fg-header-conteudo">
          <img class="fg-logo" src="/static/logo-falaguasta-escura.png" alt="FALAGUASTA">
          <span class="fg-header-titulo">NOME DA TELA</span>
          <span class="fg-header-acoes"> ...chips/sair... </span>
        </div>
      </header>
   5) barra fixa inferior: coloque <div class="fg-rodape-espaco"></div>
      no fim do conteudo e a barra em <div class="fg-rodape-fixo">
   6) tabela responsiva: <table class="fg-tabela-cards"> com
      data-rotulo="NOME DA COLUNA" em cada <td> (vira card no celular)
   7) conteudo largo que precisa rolar de lado: envolva em .fg-rolagem-x
      (o body NUNCA rola de lado)

   02/08/2026: inicio.html passou a LINKAR este arquivo. Ele podia manter os
   proprios tokens (--verde, --texto...) enquanto era uma tela burra de dois
   botoes; virou a PORTA com login de todo mundo, e duas fontes da verdade pra
   cor da marca so sobrevivem ate a primeira mudanca sair pela metade.
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* base da marca */
  --fg-creme:#faf7f0;          /* fundo de TODAS as telas */
  --fg-texto:#231f1c;          /* quase-preto quente */
  /* cinza quente (texto secundario). ESCURECIDO de #8a8178 pra #6f675e em
     26/08/2026 (achado 5.2 do DEPLOY.md): o tom antigo dava 3,82:1 sobre
     branco, 3,57:1 sobre o creme do body e 3,39:1 sobre o --fg-painel —
     abaixo do minimo de 4,5:1, e ele carrega TODO o texto secundario do site
     (.fgp-quando, .fgp-fatos, .fgp-pai, .fgp-ev, .fg-hint...), sempre em
     corpo de 11 a 13px, numa tela lida no celular, na cozinha, as 23h.
     O novo mantem a MESMA matiz quente (30°, so mais escuro) e mede
     5,56:1 no branco / 5,20:1 no creme / 4,93:1 no painel. */
  --fg-sub:#6f675e;
  --fg-borda:#e2ddd2;          /* borda clara quente (cards) */
  --fg-borda-forte:#cfc8bd;    /* borda de inputs / divisores */
  --fg-apagado:#c2bab0;        /* assinatura / texto minimo */

  /* tricolor da Italia — SO detalhe (faixa, bandeira, pontinhos) */
  --fg-it-verde:#009246;
  --fg-it-branco:#f4f5f0;
  --fg-it-vermelho:#ce2b37;

  /* acentos de acao (por area, via .fg-area-*) */
  --fg-verde:#1a7a3a;
  --fg-verde-esc:#0f5226;
  --fg-vermelho:#c0392b;
  --fg-vermelho-esc:#8e2418;
  --fg-grafite:#20242c;
  --fg-grafite-esc:#101318;

  /* semanticos (status/mensagens — iguais em todas as areas) */
  --fg-ok:#1a7a3a;
  --fg-erro:#c0392b;
  --fg-alerta:#b9770e;         /* ambar quente (nunca #f39c12 frio) */
  --fg-info:#2471a3;
  /* versoes LAVADAS dos semanticos (fundo de aviso, faixa de destaque).
     Estavam escritas a mao, dobradas, em chamados.html e manutencao.html —
     duas copias do mesmo tom divergem na primeira vez que alguem mexe numa */
  --fg-ok-suave:#e8f5ec;
  --fg-erro-suave:#fbeae7;
  --fg-alerta-suave:#faf3e3;
  --fg-info-suave:#e9f2f9;
  --fg-painel:#f4f1ea;         /* fundo de painel / thead de tabela */

  /* acento padrao (verde); as classes .fg-area-* sobrescrevem */
  --acento:var(--fg-verde);
  --acento-esc:var(--fg-verde-esc);
  --acento-suave:#e8f5ec;      /* fundo lavado do acento */

  /* raios */
  --fg-radius-g:17px;          /* card grande / CTA */
  --fg-radius-m:14px;          /* card comum / icone */
  --fg-radius-p:10px;          /* input / botao pequeno */
  --fg-radius-pill:99px;       /* bandeira / badge / chip */

  /* sombras — SEMPRE rgba do texto quente (35,31,28), nunca preto puro */
  --fg-sombra-suave:0 2px 8px -2px rgba(35,31,28,.10);
  --fg-sombra-card:0 10px 26px -8px rgba(35,31,28,.35);
  --fg-sombra-hover:0 14px 30px -8px rgba(35,31,28,.42);
  --fg-sombra-bandeira:0 1.5px 4px rgba(35,31,28,.25);
  --fg-anel:0 0 0 1px #e2ddd2;

  /* tipografia */
  --fg-fonte:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* ---------- 2. AREAS (lei 2: acento por tela) ---------- */
.fg-area-pedidos{
  --acento:var(--fg-verde);
  --acento-esc:var(--fg-verde-esc);
  --acento-suave:#e8f5ec;
}
.fg-area-manutencao{
  --acento:var(--fg-vermelho);
  --acento-esc:var(--fg-vermelho-esc);
  --acento-suave:#fbeae7;
}
.fg-area-admin{
  --acento:var(--fg-grafite);
  --acento-esc:var(--fg-grafite-esc);
  --acento-suave:#e9e7e2;
}

/* ---------- 3. BASE (body.fg) ---------- */
.fg{
  margin:0;
  font-family:var(--fg-fonte);
  color:var(--fg-texto);
  /* fundo texturizado da marca (igual inicio.html) */
  background:
    radial-gradient(1100px 500px at 50% -18%, #fff 0%, rgba(255,255,255,0) 60%),
    repeating-linear-gradient(-45deg, rgba(26,122,58,.028) 0 26px, rgba(0,0,0,0) 26px 52px),
    var(--fg-creme);
  /* 100vh no iPhone e a tela INTEIRA, sem as barras do navegador. Como o
     Chrome/Safari do celular tem barra em cima e embaixo, isso deixa a
     pagina uns 150px mais alta do que cabe -- e ela fica SEMPRE rolavel,
     mesmo com o conteudo curto. Junto com o cabecalho sticky, o efeito e
     brutal: a pessoa rola sem querer, o cabecalho fica grudado no topo e o
     comeco do conteudo some ATRAS dele. Foi o que o Pedro viu tres vezes
     no iPhone dele em 02/08, e o que nenhum teste no computador reproduz
     (no desktop 100vh == a tela).
     dvh e a altura VISIVEL de verdade, com as barras descontadas. O 100vh
     fica antes so como reserva pra navegador velho que nao conhece dvh. */
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;               /* lei 4: body nunca rola de lado */
  -webkit-tap-highlight-color:transparent;
}
.fg *,.fg *::before,.fg *::after{box-sizing:border-box}
.fg img{max-width:100%; height:auto}
.fg table{max-width:100%}
.fg :focus-visible{outline:2px solid var(--acento); outline-offset:2px}

/* container central de conteudo */
.fg-wrap{max-width:900px; margin:0 auto; padding:14px}
.fg-wrap--estreito{max-width:640px}

/* ---------- 4. IDENTIDADE (lei 5) ---------- */
/* faixa tricolor fininha — filha do .fg-header (padrao) */
.fg-tricolor{display:flex; height:5px}
.fg-tricolor i{flex:1}
.fg-tricolor i:nth-child(1){background:var(--fg-it-verde)}
.fg-tricolor i:nth-child(2){background:var(--fg-it-branco)}
.fg-tricolor i:nth-child(3){background:var(--fg-it-vermelho)}
/* variante fixa de ponta a ponta (estilo inicio.html), se a pagina nao tiver header */
.fg-tricolor--fixa{position:fixed; top:0; left:0; right:0; z-index:60}

/* cabecalho padrao: creme + logo + titulo (NUNCA barra solida verde) */
.fg-header{
  position:sticky; top:0; z-index:50;
  background:var(--fg-creme);
  border-bottom:1.5px solid var(--fg-borda);
  padding-top:env(safe-area-inset-top, 0px);   /* notch do iPhone */
}
.fg-header-conteudo{
  display:flex; align-items:center; gap:10px;
  padding:9px 14px;
  max-width:900px; margin:0 auto;
}
/* A palavra que vem depois da marca (Gerente, Admin, Inicio...).
   Ate 02/08/2026 era 14px/900 CAIXA ALTA: o mesmo peso do wordmark, colada
   nele, disputando a atencao com a propria marca -- o Pedro descreveu como
   "um formato de texto nada a ver". Agora e um RÓTULO: divisor fino, peso
   medio, cor apagada de proposito. A marca manda; a palavra so situa. */
.fg-header-titulo{
  font-size:13px; font-weight:600; letter-spacing:.02em;
  color:var(--fg-sub); white-space:nowrap;
  padding-left:11px; margin-left:2px;
  border-left:1.5px solid var(--fg-borda);
  align-self:stretch; display:flex; align-items:center;
}
.fg-header-acoes{margin-left:auto; display:flex; gap:8px; align-items:center}
/* chip do header (filial / SAIR / links PEDIDOS e ABRIR CHAMADO) */
.fg-header-chip{
  font-size:12.5px; font-weight:700; color:var(--fg-texto);
  background:#fff; border:1.5px solid var(--fg-borda);
  padding:6px 12px; border-radius:var(--fg-radius-pill);
  cursor:pointer; letter-spacing:.03em;
  /* lei 4: toque >= 40px. As margens negativas devolvem os 8px pro layout:
     o header NAO cresce (a busca sticky do catalogo e calibrada pela altura
     dele) e o chip continua cabendo dentro do padding de 9px do conteudo */
  min-height:40px; margin-top:-4px; margin-bottom:-4px;
  display:inline-flex; align-items:center;
  text-decoration:none;   /* chip que e <a> nao ganha sublinhado do navegador */
}

/* logo real da marca — PNG transparente em alta (Rafael 23/07), sem blend.
   O seletor e `.fg .fg-logo` de proposito: `.fg img{height:auto}` la em cima
   tem especificidade (0,1,1) e vencia `.fg-logo{height:26px}` (0,1,0). Por
   causa disso SEIS arquivos carregavam a mesma linha de remendo
   (`img.fg-logo{height:26px}`) com o mesmo comentario copiado, e quem criasse
   uma tela nova sem lembrar dela ganhava uma logo de 235x79 que engolia a
   busca sticky do catalogo. Consertado na raiz em 02/08/2026. */
.fg .fg-logo{
  height:26px; width:auto; display:block;
}
.fg .fg-logo--grande{height:auto}
.fg-logo--grande{height:auto; width:min(360px,86vw); margin:0 auto}

/* bandeira pill (detalhe sob a logo, uso opcional) */
.fg-bandeira{
  display:flex; height:7px; border-radius:var(--fg-radius-pill);
  overflow:hidden; box-shadow:var(--fg-sombra-bandeira);
}
.fg-bandeira i{flex:1}
.fg-bandeira i:nth-child(1){background:var(--fg-it-verde)}
.fg-bandeira i:nth-child(2){background:var(--fg-it-branco)}
.fg-bandeira i:nth-child(3){background:var(--fg-it-vermelho)}

/* tres pontinhos — divisor de secao da marca */
.fg-pontinhos{display:flex; gap:9px; justify-content:center; margin:24px 0}
.fg-pontinhos i{width:9px; height:9px; border-radius:50%}
.fg-pontinhos i:nth-child(1){background:var(--fg-it-verde)}
.fg-pontinhos i:nth-child(2){background:#fff; box-shadow:var(--fg-anel)}
.fg-pontinhos i:nth-child(3){background:var(--fg-it-vermelho)}

/* ---------- 5. CARD ---------- */
.fg-card{
  background:#fff;
  border:1.5px solid var(--fg-borda);
  border-radius:var(--fg-radius-m);
  padding:12px 14px;
  margin-bottom:10px;
  box-shadow:var(--fg-sombra-suave);
}
.fg-card--clique{cursor:pointer; transition:border-color .12s ease, box-shadow .12s ease}
.fg-card--clique:hover{border-color:var(--acento); box-shadow:var(--fg-sombra-hover)}
.fg-card--clique:active{transform:scale(.985)}
/* card selecionado / com item no carrinho */
.fg-card--ativo{border-color:var(--acento); background:var(--acento-suave)}
/* CTA grande gradiente (estilo inicio.html) — usar pouco */
.fg-card--cta{
  border:0; color:#fff; border-radius:var(--fg-radius-g);
  background:linear-gradient(140deg,#22964a 0%,var(--fg-verde) 45%,var(--fg-verde-esc) 100%);
  box-shadow:var(--fg-sombra-card);
  transition:transform .12s ease, box-shadow .12s ease;
}
.fg-card--cta:active{transform:scale(.965)}
.fg-area-manutencao .fg-card--cta{
  background:linear-gradient(140deg,#d9503f 0%,var(--fg-vermelho) 45%,var(--fg-vermelho-esc) 100%);
}

/* ---------- 5b. TOAST: aviso que flutua, nao empurra ----------
   Pedido do Pedro (04/08 10:42, grupo TRABALHO): o aviso da contagem entrava
   no FLUXO do layout e "teleportava" a tela inteira pra baixo ao aparecer —
   e era vermelho ate quando a noticia era boa ("Ordem salva"). Regra do
   design a partir daqui: aviso passageiro FLUTUA (fixed, fora do layout) e a
   cor conta a verdade — verde = deu certo, vermelho = deu errado.
   Uso: elemento com .fg-toast; JS controla display e poe .fg-toast--ok no
   sucesso. bottom com folga pros rodapes fixos (fechar contagem, EMITIR). */
.fg-toast{position:fixed; left:50%; transform:translateX(-50%);
  bottom:calc(88px + env(safe-area-inset-bottom,0px)); z-index:70;
  max-width:min(92vw,520px); width:max-content;
  padding:11px 18px; border-radius:var(--fg-radius-pill);
  background:var(--fg-erro); color:#fff; font-size:13.5px; font-weight:700;
  line-height:1.4; text-align:center; box-shadow:0 6px 24px rgba(0,0,0,.22);
  animation:fg-toast-entra .22s ease}
.fg-toast--ok{background:var(--fg-ok)}
@keyframes fg-toast-entra{
  from{opacity:0; transform:translate(-50%,8px)}
  to{opacity:1; transform:translate(-50%,0)}}

/* ---------- 5c. INPUT DE BUSCA sem enfeite nativo ----------
   O iPhone poe fundo, cantos e um X proprios em type=search — era o
   "quadrado la tras" que o Pedro apontou 2x (04/08 10:50 e 11:05) na lupa da
   separacao E na busca do catalogo do lider. Mata a decoracao na raiz, pro
   site inteiro: o desenho do campo e SEMPRE nosso. */
input[type=search]{-webkit-appearance:none; appearance:none}
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration{display:none; -webkit-appearance:none}

/* ---------- 6. BOTOES (touch >= 44px) ---------- */
.fg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:11px 18px;
  font-family:var(--fg-fonte); font-size:15px; font-weight:800; letter-spacing:.04em;
  border:0; border-radius:12px; cursor:pointer;
  background:var(--acento); color:#fff;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.fg-btn:active{transform:scale(.965)}
.fg-btn:disabled{background:#b3aca0; color:#fff; cursor:default; transform:none}
/* botao que e <a> (VOLTAR PRO INICIO, ABRIR DANFE) nao pode vir com o
   sublinhado do navegador -- ate 02/08 cada tela desligava isso na mao */
a.fg-btn{text-decoration:none}
/* variantes */
.fg-btn--bloco{display:flex; width:100%; padding:15px; font-size:16px}
.fg-btn--sec{background:#fff; color:var(--acento); border:2px solid var(--acento)}
.fg-btn--sec:disabled{border-color:#b3aca0; color:#b3aca0; background:#fff}
.fg-btn--perigo{background:var(--fg-erro)}
.fg-btn--ok{background:var(--fg-ok)}
.fg-btn--info{background:var(--fg-info)}
.fg-btn--fantasma{background:none; color:var(--acento); min-height:40px; padding:8px 10px}
.fg-btn--mini{min-height:36px; padding:7px 12px; font-size:13px; border-radius:var(--fg-radius-p)}

/* ---------- 7. BADGE (status) ---------- */
.fg-badge{
  display:inline-block; padding:3px 10px;
  border-radius:var(--fg-radius-pill);
  font-size:12px; font-weight:800; letter-spacing:.03em;
  color:#fff; background:var(--fg-sub); white-space:nowrap;
}
.fg-badge--verde{background:var(--fg-ok)}
.fg-badge--vermelho{background:var(--fg-erro)}
.fg-badge--vermelho-esc{background:#7d1010}      /* urgencia URGENTE */
.fg-badge--amarelo{background:var(--fg-alerta)}
.fg-badge--azul{background:var(--fg-info)}
.fg-badge--grafite{background:var(--fg-grafite)}
.fg-badge--claro{background:#fff; color:var(--fg-texto); border:1.5px solid var(--fg-borda)}

/* ---------- 8. FORMULARIO ---------- */
/* font-size 16px evita zoom automatico do iPhone ao focar */
.fg-input{
  display:block; width:100%; min-height:44px;
  font-family:var(--fg-fonte); font-size:16px; color:var(--fg-texto);
  padding:11px 12px; background:#fff;
  border:1.5px solid var(--fg-borda-forte); border-radius:var(--fg-radius-p);
}
.fg-input:focus{border-color:var(--acento); outline:none;
  box-shadow:0 0 0 3px rgba(35,31,28,.12);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--acento) 18%, transparent)}
select.fg-input{appearance:auto}

/* CAMPO DE PIN. Reclamacao do Pedro (02/08, print do iPhone): "essas bolas
   pretas ficaram desproporcionais". Num campo de largura inteira, 4 bolinhas
   grandes ficam amontoadas num canto e o resto e vazio -- parece defeito.
   Aqui ele vira o que e: um teclado de PIN. Estreito, centralizado, com as
   marcas espacadas. E tabular-nums pra digito nao dancar de largura. */
/* O CAMPO DO PIN.
   Ate 02/08 ele era `max-width:230px; margin:0 auto` -- uma ilha estreita e
   centralizada entre um rotulo alinhado a esquerda e um botao ENTRAR de
   ponta a ponta. Pedro: "seu pin ta estranho ali com a caixa de texto estando
   no meio". Estava mesmo: tres elementos empilhados, tres larguras
   diferentes. Agora acompanha o botao.

   E NAO tem mais placeholder. Eram quatro asteriscos, e asterisco senta no
   ALTO da linha -- no iPhone virou uma fileira de bolinhas pretas descolada do
   centro do campo ("essas bolas pretas ficaram desproporcionais no pin"). Nao
   se conserta com tamanho: o glifo e alto por desenho. E o placeholder nao
   fazia falta nenhuma, porque o rotulo LOGO ACIMA ja diz SEU PIN e os
   digitos ja saem mascarados sozinhos no type=password. */
.fg-input--pin{
  width:100%;
  text-align:center; letter-spacing:.42em; text-indent:.42em;
  font-size:23px; font-weight:700; font-variant-numeric:tabular-nums;
  min-height:56px; padding:10px 12px;
}
textarea.fg-input{min-height:64px; resize:vertical}
/* rotulo + campo (cada informacao UMA vez: rotulo curto, sem repetir no hint) */
.fg-campo{margin-bottom:14px}
/* JA PEGUEI NO CD (24/08/2026) -- alvo de dedo grande: quem lanca isso esta em
   pe na loja, com o celular numa mao e a caixa na outra. */
.ret-linha{display:flex;align-items:center;gap:12px;cursor:pointer;
  padding:14px 12px;border:2px solid var(--linha,#d8d2c9);border-radius:12px;
  font-weight:700;line-height:1.25}
.ret-linha input{width:26px;height:26px;flex:0 0 auto}
.ret-ajuda{font-size:13px;opacity:.72;margin-top:8px;line-height:1.35}
.fg-campo label{
  display:block; font-size:12.5px; font-weight:800; letter-spacing:.05em;
  text-transform:uppercase; color:var(--fg-sub); margin-bottom:6px;
}
.fg-hint{font-size:12px; color:var(--fg-sub); margin-top:4px}

/* ---------- 9. MENSAGENS ---------- */
.fg-msg{border-radius:var(--fg-radius-p); padding:10px 12px; font-size:13.5px; margin:10px 0;
  border:1.5px solid var(--fg-borda); background:#fff}
.fg-msg--erro{border-color:var(--fg-erro); color:var(--fg-erro); background:#fbeae7; font-weight:700}
.fg-msg--ok{border-color:var(--fg-ok); background:#e8f5ec}
.fg-msg--alerta{border-color:var(--fg-alerta); background:#faf3e3}

/* ---------- 10. TABELA -> CARDS (mobile first) ---------- */
/* No celular vira cards empilhados; cada <td> PRECISA de
   data-rotulo="NOME DA COLUNA". Em tela >=700px vira tabela normal. */
.fg-tabela-cards{width:100%; border-collapse:collapse; font-size:13px}
.fg-tabela-cards thead{display:none}
.fg-tabela-cards,
.fg-tabela-cards tbody,
.fg-tabela-cards tr,
.fg-tabela-cards td{display:block; width:100%}
.fg-tabela-cards tr{
  background:#fff; border:1.5px solid var(--fg-borda);
  border-radius:var(--fg-radius-m); padding:10px 12px; margin-bottom:8px;
}
.fg-tabela-cards td{
  border:0; padding:3px 0;
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  overflow-wrap:anywhere;
}
.fg-tabela-cards td::before{
  content:attr(data-rotulo);
  font-size:11px; font-weight:800; letter-spacing:.05em;
  color:var(--fg-sub); flex:none;
}
.fg-tabela-cards td:not([data-rotulo])::before{content:none}
@media (min-width:700px){
  .fg-tabela-cards{display:table; background:#fff;
    border:1.5px solid var(--fg-borda); border-radius:var(--fg-radius-p); overflow:hidden}
  .fg-tabela-cards thead{display:table-header-group}
  .fg-tabela-cards tbody{display:table-row-group}
  .fg-tabela-cards tr{display:table-row; border:0; border-radius:0; padding:0; margin:0}
  .fg-tabela-cards td{display:table-cell; width:auto;
    border-bottom:1px solid var(--fg-borda); padding:7px 9px}
  .fg-tabela-cards td::before{content:none}
  .fg-tabela-cards th{border-bottom:1px solid var(--fg-borda); padding:7px 9px;
    text-align:left; background:#f4f1ea; font-size:11px; letter-spacing:.05em}
}

/* ---------- 11. RODAPE FIXO (lei 4) ---------- */
/* Uso: conteudo termina com <div class="fg-rodape-espaco"></div>
   e a barra fica em <div class="fg-rodape-fixo"> ...botoes... </div> */
.fg-rodape-fixo{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  background:#fff; border-top:1.5px solid var(--fg-borda);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
}
.fg-rodape-fixo .fg-rodape-linha{max-width:900px; margin:0 auto; display:flex; gap:10px}
.fg-rodape-fixo .fg-btn{flex:1; margin:0}
/* espacador: garante que a barra nunca cubra o fim do conteudo */
.fg-rodape-espaco{height:calc(80px + env(safe-area-inset-bottom, 0px))}

/* ---------- 12. UTILITARIOS ANTI-OVERFLOW ---------- */
/* wrapper de rolagem lateral para conteudo largo (tabela desktop, pre, etc) */
.fg-rolagem-x{overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch}
/* quebra palavras longas (NOME_TAKEAT gigante, urls) */
.fg-quebra{overflow-wrap:anywhere; word-break:break-word}
/* esconder acessivel (rotulos so pra leitor de tela) */
.fg-so-leitor{position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap}

/* ---------- 13. LINHA DE ESCOLHA (.fg-opcao) ----------
   O menu do site inteiro e sempre o MESMO gesto: icone quadrado + titulo +
   subtitulo + seta. Tres arquivos descobriram isso sozinhos e implementaram
   tres vezes com nomes diferentes (.opcao no inicio.html, .menu-op no
   index.html, .area no gerente.html), com tamanhos que nao batiam. Batizado
   aqui em 02/08/2026, quando a porta de entrada passou a montar o menu de
   TODO MUNDO — sem um nome so, a colcha de retalho voltava pela porta nova.

   Duas variantes: a clara (padrao, card branco) e a --cta (gradiente do
   acento, pra UMA acao principal por tela). O estado --breve e a forma
   honesta de mostrar o que ainda nao foi construido (veio do gerente.html). */
/* cor EXPLICITA, nao `inherit`: com inherit, um .fg-opcao que tambem e
   .fg-card--cta (o cartao verde) puxava a tinta escura do body por cima do
   branco do CTA -- as duas classes vivem no mesmo elemento e esta vem depois
   na folha. O titulo saia preto sobre o gradiente verde. */
.fg-opcao{display:flex; align-items:center; gap:14px; text-align:left;
  text-decoration:none; color:var(--fg-texto); width:100%}
.fg-card--cta.fg-opcao{color:#fff}
.fg-opcao .fg-opcao-ic{
  width:52px; height:52px; flex:none; border-radius:var(--fg-radius-m);
  background:var(--acento-suave); display:flex; align-items:center;
  justify-content:center; font-size:24px; line-height:1;
}
/* icone DESENHADO (icones.js), nao emoji. 02/08/2026, pedido do Pedro:
   "faz artes com o caracter da empresa, deixa profissional".
   currentColor e o que faz o mesmo desenho sair branco no cartao verde e
   grafite no cartao claro -- um arquivo so, sem variante por fundo. */
.fg-opcao .fg-opcao-ic svg{width:26px; height:26px; display:block}
.fg-card--cta.fg-opcao .fg-opcao-ic svg{stroke-width:1.6}
.fg-opcao .fg-opcao-txt{min-width:0}   /* deixa o texto encolher no celular */
.fg-opcao .fg-opcao-tit{display:block; font-size:16.5px; font-weight:900;
  letter-spacing:.04em}
.fg-opcao .fg-opcao-sub{display:block; font-size:12.5px; color:var(--fg-sub);
  margin-top:4px; line-height:1.45}
.fg-opcao .fg-opcao-seta{margin-left:auto; padding-left:8px; font-size:20px;
  color:var(--fg-sub); flex:none}
/* A SETA ESTAVA INVISIVEL (medido em 26/08/2026, no navegador: 0x0 px).
   O `font-size:20px` acima e da epoca em que a seta era o glifo "→" digitado
   no HTML. Quando ela virou DESENHO (icones.js, 02/08) ninguem escreveu a
   regra irma da linha 511 (`.fg-opcao-ic svg{width:26px;height:26px}`): um
   <svg> com viewBox e SEM width/height dentro de um item flex resolve pra
   zero, e font-size nao dimensiona SVG. Resultado: em TODO cartao de opcao
   montado pelo FGOpcao (a porta do inicio.html e o menu do gerente.html) o
   unico sinal de "isto leva pra algum lugar" simplesmente nao era pintado.
   E o mesmo defeito do .fgp-seta la embaixo, so que pior — aquela era fraca
   demais (1,92:1), esta nao existia. */
.fg-opcao .fg-opcao-seta svg{width:20px; height:20px; display:block}
/* variante CTA: o icone vira vidro sobre o gradiente e o texto e branco */
.fg-card--cta.fg-opcao .fg-opcao-ic{
  background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.28);
}
.fg-card--cta.fg-opcao .fg-opcao-sub{color:#fff; opacity:.94}
.fg-card--cta.fg-opcao .fg-opcao-seta{color:#fff; opacity:.85}
/* NAO existe classe pro "+" do NOVO PEDIDO: ele e texto no ROTULO do cartao
   ("+ NOVO PEDIDO"), que e o que o Pedro le. Havia aqui uma regra
   .fg-opcao-ic--mais que nenhum arquivo aplicava -- a proxima sessao que
   ouvisse "aumenta o mais" ia mexer nela e nada ia acontecer. */

/* ---------- 13b. A TINTA DE CADA FAMILIA ----------
   Pedido do Pedro (02/08, olhando o menu pronto): "as opcoes de escolha estao
   sem cores, sem identidade visual, sem beleza... todos os botoes de opcoes
   estao muito comuns e monotonos".

   Ele tinha razao e o diagnostico e simples: eram retangulos brancos IDENTICOS
   com o mesmo quadradinho verde. A unica pista do que cada um fazia era ler o
   texto -- num celular, na loja, com a caixa na outra mao.

   A saida NAO e pintar bonito: e deixar a cor INFORMAR. Cada familia herda a
   tinta que este site ja usa pra aquele assunto (manutencao e vermelha desde o
   primeiro dia), e ela aparece em tres lugares que o olho pega junto: o trilho
   da esquerda, o fundo do icone e a seta. Familia nova entra declarando UMA
   variavel, sem tocar em regra de layout. */
.fg-opcao{--tom:var(--fg-verde); --tom-suave:var(--acento-suave)}
.fg-opcao--tom-manutencao{--tom:var(--fg-vermelho); --tom-suave:var(--fg-erro-suave)}
.fg-opcao--tom-entrada    {--tom:var(--fg-alerta);  --tom-suave:var(--fg-alerta-suave)}
.fg-opcao--tom-historico  {--tom:var(--fg-grafite); --tom-suave:#ecedf1}
.fg-opcao--tom-cadastro   {--tom:var(--fg-info);    --tom-suave:var(--fg-info-suave)}
/* so o cartao claro: o CTA ja e um bloco inteiro da cor, um trilho dentro
   dele seria enfeite sobre enfeite */
.fg-card--clique.fg-opcao{position:relative; overflow:hidden; padding-left:20px}
.fg-card--clique.fg-opcao::before{content:''; position:absolute; left:0; top:0; bottom:0;
  width:5px; background:var(--tom)}
.fg-card--clique.fg-opcao .fg-opcao-ic{background:var(--tom-suave); color:var(--tom);
  border:1px solid color-mix(in srgb, var(--tom) 22%, transparent)}
.fg-card--clique.fg-opcao .fg-opcao-seta{color:var(--tom); opacity:.6}
.fg-card--clique.fg-opcao:hover{border-color:var(--tom)}
.fg-opcao--breve{opacity:.62}
.fg-opcao--breve .fg-opcao-ic{background:#efece6}

/* ---------- 13c. CARTAO COMPACTO (.fg-opcao--compacto) ----------
   31/08/2026, o Pedro olhando o /gerente no celular da DEANE (BONFIM):
   "a tela ta muito zoada, comecando pelos botoes que cada um ta numa tela".

   O diagnostico: a variante grande do .fg-opcao nasceu pra PORTA (inicio.html),
   onde o cartao e um convite e cada um disputa a atencao. Num MENU DE DENTRO --
   4 opcoes fixas que a mesma pessoa le todo dia -- o mesmo tamanho vira rolagem
   pra ver o que ja se sabe que esta la. Menu curto tem que caber numa dobra.

   O QUE ENCOLHE: o quadrado do icone (52 -> 40), o corpo do cartao e o respiro
   entre um e outro.
   O QUE NAO ENCOLHE: o alvo de toque. O cartao inteiro fica com 60px de altura
   (40 do icone + 2x10 de padding), bem acima dos 44px da lei do tema -- e por
   isso o `min-height:44px` esta escrito, pra encolher mais um dia acusar aqui.

   Nao mexe em NADA da variante grande: quem nao pedir a classe continua igual. */
.fg-opcao--compacto{gap:11px}
.fg-card.fg-opcao--compacto{padding:10px 12px; margin-bottom:8px; min-height:44px}
/* o trilho de cor da familia continua com 5px; so o respiro depois dele encolhe */
.fg-card--clique.fg-opcao--compacto{padding:10px 12px 10px 17px}
.fg-opcao--compacto .fg-opcao-ic{width:40px; height:40px;
  border-radius:var(--fg-radius-p)}
.fg-opcao--compacto .fg-opcao-ic svg{width:21px; height:21px}
.fg-opcao--compacto .fg-opcao-tit{font-size:14.5px}
.fg-opcao--compacto .fg-opcao-sub{font-size:11.5px; margin-top:2px; line-height:1.35}

/* ---------- 14. CARD DE PEDIDO (historico do lider e do gerente) ----------
   Mora aqui desde 02/08/2026. Antes era um <style> injetado em runtime pelo
   pedidos_lista.js — o unico do site — com uma segunda paleta escrita a mao
   cujos fallbacks nem batiam com os tokens (--fg-borda #e6e0d4 contra o
   #e2ddd2 real, e um --fg-card que nunca existiu). Ninguem conseguia ver o
   CSS do card lendo o CSS do site.

   O DESENHO (reclamacao do Pedro em 01/08: "bem porco, bem feio"): o card
   antigo dizia o mesmo estado QUATRO vezes ao mesmo tempo (badge colorido +
   frase em italico + fracao "x de y" + barra) e o elemento mais pesado da
   tela era o BADGE — a coisa que o lider ja ia descobrir de qualquer jeito
   ganhava do CODIGO, que e o que ele esta procurando. Aqui o status vira um
   PONTO de 10px + uma frase, e o codigo volta a mandar. */
.fgp{
  background:#fff; border:1.5px solid var(--fg-borda);
  border-radius:var(--fg-radius-m); padding:12px 14px; margin-bottom:10px;
  box-shadow:var(--fg-sombra-suave); cursor:pointer;
  transition:border-color .12s ease, box-shadow .12s ease;
  /* a observacao aceita 500 chars livres e o lider cola link do zap ali. Sem
     isso o texto vaza do card e o .fg (overflow-x:hidden) CORTA o que passou
     -- ele nao tem como ler o proprio recado */
  overflow-wrap:anywhere;
}
.fgp:hover{border-color:var(--acento); box-shadow:var(--fg-sombra-hover)}
.fgp:active{transform:scale(.985)}
/* card ABERTO fica marcado: com 22 a 59 itens dentro, sem isso voce rola e
   perde de vista em qual pedido esta */
.fgp.aberto{border-color:var(--acento); box-shadow:var(--fg-sombra-suave)}

/* linha 1: [ponto] CODIGO ............ quando  › */
.fgp-topo{display:flex; align-items:baseline; gap:9px}
.fgp-ponto{width:10px; height:10px; border-radius:50%; flex:none;
  align-self:center; background:var(--fg-sub)}
.fgp-cod{font-size:17.5px; font-weight:900; letter-spacing:.03em; min-width:0}
.fgp-quando{margin-left:auto; font-size:12px; color:var(--fg-sub); flex:none;
  white-space:nowrap; font-variant-numeric:tabular-nums}
/* A seta e o UNICO sinal de que o card abre — nao ha rotulo, nao ha hover no
   celular. Ela vinha com --fg-apagado (#c2bab0 = 1,92:1 sobre o branco do
   card), e pra elemento nao-textual o minimo e 3:1: quem esta cansado
   simplesmente nao ve que tem mais coisa embaixo. Trocada por --fg-sub em
   26/08/2026 (achado 5.2 do DEPLOY.md) = 5,56:1. O --fg-apagado continua
   servindo pro que ele nomeia: assinatura de rodape, texto minimo. */
.fgp-seta{flex:none; align-self:center; font-size:17px; color:var(--fg-sub);
  transition:transform .15s ease}
.fgp.aberto .fgp-seta{transform:rotate(90deg)}

/* linha 2: a frase de estado. Em texto normal, cor de TINTA (nao cinza) e sem
   italico -- o italico cinza de 12,5px era o elemento menos legivel do card
   carregando justamente a informacao mais util, num celular, na cozinha */
.fgp-estado{font-size:13.5px; font-weight:600; margin-top:5px}
/* linha 3: os fatos secos (tamanho, autor) */
.fgp-fatos{font-size:12px; color:var(--fg-sub); margin-top:3px;
  font-variant-numeric:tabular-nums}
/* ...e quando a frase de estado cala (pedido fechado que ja mostra a NF —
   5.3 do DEPLOY.md, 26/08/2026), e esta linha que herda a tinta cheia. Mesmo
   tamanho e peso que a frase tinha: o card continua com UMA linha forte, so
   que agora a forte e a que distingue um card do outro ("30 itens" x "1
   item") em vez da que se repetia identica em 8 de 10. */
.fgp-fatos--forte{font-size:13.5px; font-weight:600; color:inherit}
/* filiacao do ADICIONAL: filete + linha fina, nao uma segunda pill ambar do
   lado do status (duas pills iguais dizendo coisas de natureza diferente, e
   ainda por cima na mesma cor no caso mais comum) */
.fgp-pai{font-size:12px; color:var(--fg-sub); margin-top:5px;
  border-left:2px solid var(--fg-borda-forte); padding-left:8px}

/* "O CD ALTEROU ESTE PEDIDO" — a resposta da pergunta da manha */
/* "O CD alterou este pedido". Nasceu ambar em TODO pedido editado e isso
   refazia o defeito que o Pedro chamou de porco: 18 dos 23 pedidos reais foram
   editados, entao 8 de 10 cards ganhavam a mesma faixa cheia, mais pesada que
   o proprio codigo do pedido, repetida identica lista abaixo. Duas versoes:

   QUENTE (ambar, so em pedido ABERTO) — ainda da pra reclamar com o Marcio
   antes da nota sair. E informacao que pede acao.
   FRIA (linha fina cinza, pedido FECHADO) — a nota ja saiu e o caminhao ja
   foi; serve de registro, nao de alarme. */
.fgp-mexeu{font-size:12.5px; font-weight:700; color:var(--fg-alerta);
  background:var(--fg-alerta-suave); border-left:3px solid var(--fg-alerta);
  border-radius:0 var(--fg-radius-p) var(--fg-radius-p) 0;
  padding:6px 9px; margin-top:8px}
.fgp-mexeu--fria{font-size:12px; font-weight:600; color:var(--fg-sub);
  background:none; border-left:0; padding:0; margin-top:7px}
/* O convite ao toque some em dois casos:
   - card ABERTO: vira mentira, o de-para ja esta 12px abaixo;
   - versao FRIA: numa lista de 8 pedidos fechados a frase se repetia identica
     oito vezes. "O CD alterou este pedido" sozinho ja e o registro, e o card
     continua abrindo no toque como todos os outros. */
.fgp.aberto .fgp-mexeu-toque,
.fgp-mexeu--fria .fgp-mexeu-toque{display:none}

/* separacao: barra + rotulo na MESMA linha. So aparece entre 1% e 99% -- em
   0% ela renderizava como uma regua cinza de ponta a ponta, indistinguivel
   de um divisor de secao */
.fgp-sep{display:flex; align-items:center; gap:9px; margin-top:9px}
.fgp-barra{flex:1; height:6px; border-radius:var(--fg-radius-pill);
  background:var(--fg-borda); overflow:hidden}
.fgp-barra i{display:block; height:100%;
  background:linear-gradient(90deg,var(--fg-ok),#22964a)}
.fgp-sep span{font-size:11.5px; color:var(--fg-sub); flex:none;
  font-variant-numeric:tabular-nums}

/* nota emitida */
.fgp-nf{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:9px}
.fgp-nf b{font-size:13px; font-variant-numeric:tabular-nums}
/* ABRIR DANFE e o .fg-btn--mini (36px) do tema, mas AQUI ele e tocado no
   celular, na cozinha. Foi de 36 pra 40, e em 26/08/2026 pros 44 que a secao 6
   deste mesmo arquivo escreve como lei (5.7 do DEPLOY.md): 40 era o unico
   controle do site abaixo da propria regra da casa, e ele mora DENTRO de um
   card clicavel — errar o toque nao abre nada, fecha o card. Os tres botoes de
   faixa do card (DANFE, CONFERIR CHEGADA, boleto) sobem juntos: sao o mesmo
   gesto, no mesmo card, com a mesma mao suja. */
.fgp-nf .fg-btn--mini{min-height:44px}

/* XMLs DO MES (04/09/2026) — a faixa no TOPO do historico que junta o mes
   inteiro pra contabilidade DA UNIDADE. Nao e um card: e uma ferramenta que
   olha a lista toda, entao mora acima dela e nao dentro de nenhum pedido.
   Tom sutil de proposito -- ela e usada uma vez por mes e nao pode competir
   com os cards, que sao lidos toda semana. Os 44px valem aqui igual: o
   franqueado tambem abre isto no celular. */
.fgp-xmls{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:0 0 12px; padding:9px 11px; border-radius:10px;
  border:1.5px solid var(--fg-borda); background:var(--fg-fundo-sut,transparent);
  font-size:13px}
.fgp-xmls-tit{flex:1 1 auto; min-width:0; color:var(--fg-sub);
  text-transform:uppercase; letter-spacing:.02em; font-size:12px; font-weight:700}
.fgp-xmls-mes{flex:0 1 auto; width:auto; min-height:44px; padding:0 10px;
  font-size:13px; font-weight:700}
.fgp-xmls .fg-btn--mini{min-height:44px; flex:none}
/* o aviso ocupa a linha inteira: ele so aparece DEPOIS do clique e o que ele
   diz ("faltou 1 XML") tem que ser lido inteiro, nao espremido ao lado do
   botao. */
.fgp-xmls-aviso{flex:1 0 100%; font-size:12.5px; color:var(--fg-sub); line-height:1.35}
.fgp-xmls-aviso--ruim{color:var(--fg-alerta,#8a6410)}

/* CONFERIR CHEGADA (22/08/2026) — a loja diz o que recebeu.
   Mesmo desenho de faixa do .fgp-bol porque e a mesma natureza de coisa: uma
   linha de acao presa ao card, lida a um metro no celular. A cor separa os
   tres estados sem ninguem ter que ler: cinza = falta conferir, verde = chegou
   tudo, ambar = a loja apontou falta (e ai o buraco tem outro dono). */
.fgp-cheg{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin-top:9px; padding:9px 11px; border-radius:10px; font-size:12.5px}
.fgp-cheg span{flex:1 1 auto; min-width:0}
.fgp-cheg .fg-btn--mini{min-height:44px; flex:none}
.fgp-cheg--pede{background:var(--fg-fundo-2,#f6f3ec); color:var(--fg-sub)}
.fgp-cheg--ok{background:#eef6f0; color:var(--fg-ok,#1f7a41)}
.fgp-cheg--falta{background:#fbf3e2; color:var(--fg-alerta,#8a6410)}
/* SOBRA (26/08/2026): terceiro estado, azul. Nao e o ambar da falta -- veio
   coisa a mais e' outro problema, com outro dono (o CD), e pintar igual fazia
   o card dizer que faltou o que sobrou. */
.fgp-cheg--sobra{background:#eaf2f8; color:var(--fg-info,#1f5f80)}
/* CARGA ENTREGUE (31/08/2026): a hora que o Gerson deu o check. Tom PROPRIO e
   nao um dos de cima porque ele responde outra pergunta -- os tres acima falam
   do CONTEUDO (chegou tudo? faltou? sobrou?) e este fala do TEMPO (o caminhao
   ja passou?). Reaproveitar o verde do "chegou tudo" faria o card afirmar que a
   carga foi conferida quando ninguem abriu caixa nenhuma. Roxo acinzentado: le
   como fato registrado, sem competir com o verde/ambar logo abaixo. */
.fgp-cheg--carga{background:#f1eff8; color:#4b4576}
.fgp-cheg-itens{margin:4px 0 0 11px; font-size:11.5px; color:var(--fg-sub);
  font-variant-numeric:tabular-nums}

/* a folha de conferencia, por cima da lista */
.fgp-modal{position:fixed; inset:0; z-index:60; background:rgba(20,18,16,.55);
  display:flex; align-items:flex-end; justify-content:center}
.fgp-modal-cx{background:var(--fg-fundo,#fff); width:100%; max-width:560px;
  max-height:88vh; overflow:auto; border-radius:16px 16px 0 0; padding:16px}
@media (min-width:600px){ .fgp-modal{align-items:center}
  .fgp-modal-cx{border-radius:16px} }
.fgp-modal-topo{display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:8px}
.fgp-modal-ajuda{font-size:12.5px; color:var(--fg-sub); margin:0 0 12px}
.fgp-conf-linha{display:flex; align-items:center; gap:10px; padding:8px 0;
  border-top:1px solid var(--fg-borda,#e2ddd2)}
.fgp-conf-linha span{flex:1 1 auto; min-width:0; font-size:13px}
.fgp-conf-linha i{display:block; font-style:normal; font-size:11.5px;
  color:var(--fg-sub)}
.fgp-conf-linha input{width:92px; flex:none; min-height:44px; text-align:right;
  font-size:16px; border:1px solid var(--fg-borda,#e2ddd2); border-radius:10px;
  padding:0 10px; font-variant-numeric:tabular-nums}
/* SOBRA na conferencia (26/08/2026): o inverso da falta -- item que desceu e
   NAO estava na nota. Vive na mesma caixa da conferencia, embaixo dos tres
   botoes, e so aparece quando ela pede. */
.fgp-sobra{margin-top:12px; padding-top:12px; border-top:2px dashed var(--fg-borda,#e2ddd2)}
.fgp-sobra-linha{display:flex; align-items:center; gap:8px; margin-bottom:8px}
.fgp-sobra-linha select{flex:1 1 auto; min-width:0; min-height:44px;
  border:1px solid var(--fg-borda,#e2ddd2); border-radius:10px; padding:0 8px;
  font-size:14px; background:#fff}
.fgp-sobra-linha input{width:88px; flex:none; min-height:44px; text-align:right;
  font-size:16px; border:1px solid var(--fg-borda,#e2ddd2); border-radius:10px;
  padding:0 10px; font-variant-numeric:tabular-nums}
.fgp-sob-x{flex:none; width:40px; min-height:44px; border:0; background:none;
  color:var(--fg-erro,#a8322a); font-size:22px; line-height:1; cursor:pointer}
.fgp-conf-erro{margin-top:10px; padding:9px 11px; border-radius:10px;
  background:#fbecec; color:var(--fg-erro,#a32a22); font-size:12.5px}

/* BOLETOS do pedido (11/08/2026) — a tela de quem PAGA.
   Segue o .fgp-nf de proposito: pra franquia, a nota e o boleto sao a mesma
   noticia ("saiu, e e isso que voce deve"), e duas caixas de desenho
   diferente empilhadas leriam como dois assuntos.
   A cor NAO e enfeite: e a unica coisa que separa "ja resolvi" de "isso
   vence" a um metro de distancia, que e como o card e lido no celular. */
.fgp-bol{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin-top:9px; padding:9px 11px; border-radius:10px;
  border:1.5px solid var(--fg-borda); background:var(--fg-fundo-sut,transparent);
  font-size:13px; font-variant-numeric:tabular-nums}
.fgp-bol b{font-size:13px}
.fgp-bol .fg-btn--mini{min-height:44px; margin-left:auto}
.fgp-bol--pago{border-color:var(--fg-ok); color:var(--fg-ok)}
.fgp-bol--vencido{border-color:var(--fg-erro); color:var(--fg-erro); font-weight:700}
/* a linha digitavel quebra em qualquer largura e ocupa a linha inteira: ela e
   pra ser COPIADA no celular, nao lida */
.fgp-bol-linha{flex-basis:100%; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px; word-break:break-all; color:var(--fg-sub); margin-top:2px}

/* detalhe (abre no toque) */
.fgp-det{display:none; margin-top:12px; padding-top:12px;
  border-top:1.5px solid var(--fg-borda)}
.fgp.aberto .fgp-det{display:block}
.fgp-h{font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--fg-sub); font-weight:800; margin:14px 0 5px}
.fgp-h:first-child{margin-top:0}

/* DOBRA DE "ITENS DO PEDIDO" (5.5 do DEPLOY.md, 26/08/2026) — mesmo desenho da
   previa recolhivel do admin: classe no container, display:none no corpo,
   seta que gira. Sem re-render: a lista ja esta no HTML, so nao esta a vista.

   O cabecalho vira <button> de verdade (e nao um <div> com onclick) porque ele
   PASSOU a ser um controle: assim ganha foco de teclado e leitura de tela de
   graca, e o alvo de toque nasce nos 44px da secao 6 em vez de nos 16px da
   linha de texto. */
.fgp-h--dobra{display:flex; align-items:center; gap:8px; width:100%;
  min-height:44px; margin:14px 0 5px; padding:0; border:0; background:none;
  cursor:pointer; text-align:left; font:inherit; color:var(--fg-sub);
  font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  font-weight:800; user-select:none}
/* a contagem fica a DIREITA, em corpo de texto: recolhida, ela e a unica coisa
   que diz o tamanho do pedido -- "22 itens" tem que ser legivel, nao caixa
   alta espremida */
.fgp-h-n{margin-left:auto; text-transform:none; letter-spacing:0;
  font-size:12px; font-weight:600; font-variant-numeric:tabular-nums}
.fgp-h-seta{flex:none; font-size:17px; line-height:1; color:var(--fg-sub);
  transform:rotate(90deg); transition:transform .18s ease}
.fgp-itens.fechada .fgp-h-seta{transform:rotate(0deg)}
.fgp-itens.fechada .fgp-itens-corpo{display:none}
/* min-width:0 no nome: sem isso o flex se recusa a encolher abaixo do
   conteudo e um nome longo empurra a quantidade pra fora do card */
.fgp-it{display:flex; justify-content:space-between; gap:12px;
  font-size:13.5px; padding:4px 0}
.fgp-it > span{min-width:0}
.fgp-it .fgp-qtd{flex:none; max-width:52%; text-align:right}
/* tabular-nums: sem isso o digito danca de linha pra linha numa coluna de
   quantidade. E a UNIDADE sai do peso do numero -- e o numero que tem que
   saltar, nao o "CX" */
.fgp-it b{font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums}
.fgp-it i{font-style:normal; font-weight:400; color:var(--fg-sub)}
.fgp-ev{font-size:12.5px; color:var(--fg-sub); padding:3px 0}
/* de-para da edicao: o que o CD tirou/acrescentou/mudou */
.fgp-dep{font-size:13px; padding:4px 0; overflow-wrap:anywhere}

/* estado vazio COM saida (o botao entra por fora, pelo chamador) */
.fgp-vazio{text-align:center; padding:30px 10px 10px; color:var(--fg-sub); font-size:14px}
.fgp-vazio .fg-pontinhos{margin-bottom:16px}

/* cabecalho de grupo do historico (HOJE / ESTA SEMANA / ANTES) */
.fgp-grupo{font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--fg-sub); font-weight:800; margin:20px 2px 8px}
.fgp-grupo:first-child{margin-top:6px}

/* ---------- 15. PREVIA DA NOTA ----------
   Pedido do Pedro duas vezes: 23/07 pra tela do lider e de novo no grupo
   TRABALHO (qui 09:26) -- "essa parte e a mais importante, que ja mostra os
   calculos". Nasceu no index.html e veio pra ca em 26/07, quando a tela do
   Marcio passou a usar tambem: e a MESMA informacao (o que sai na NF-e), entao
   tem que parecer a mesma coisa nas duas telas. */
.previa-card{border:2px solid var(--acento); border-radius:var(--fg-radius-g);
  padding:12px; margin-top:18px; background:var(--acento-suave)}
.previa-titulo{font-weight:900; font-size:15px; letter-spacing:.4px; color:var(--acento-esc)}
.previa-sub{font-size:12px; color:var(--fg-sub); margin:2px 0 8px}
