:root{--v:#2e7d32;--vc:#43a047;--bg:#f4f7f4;--txt:#1f2b22;--muted:#647268;--bd:#dce7dd;--white:#fff;--danger:#b3261e;--shadow:0 3px 14px rgba(20,60,25,.08);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--txt);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.oculto{display:none!important}
.topo{position:sticky;top:0;z-index:25;background:linear-gradient(135deg,#1b5e20,var(--v));color:#fff;padding:12px max(16px,calc((100vw - 1180px)/2));box-shadow:0 2px 12px #0002;display:flex;justify-content:space-between;align-items:center}.marca{display:flex;align-items:center;gap:10px}.marca-icone{width:42px;height:42px;border-radius:12px;background:#ffffff24;display:grid;place-items:center;font-size:24px;overflow:hidden}.marca-icone img{width:100%;height:100%;object-fit:cover}.marca h1{font-size:20px;margin:0;line-height:1.15}.marca span{font-size:12px;opacity:.88}.icone-btn{width:42px;height:42px;border-radius:12px;background:#ffffff20;color:#fff;font-size:20px}
.conteudo{max-width:1180px;margin:auto;padding:14px 14px 100px}.nav-desktop{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:14px}.nav-desktop button{padding:11px 8px;border-radius:10px;background:#fff;color:var(--v);border:1px solid var(--bd);font-weight:700}.nav-desktop button:hover{background:#edf6ee}.area-app{min-height:60vh}.painel,.card,.produto-card,.pedido-card,.producao-card,.menu-card{background:#fff;border:1px solid var(--bd);border-radius:16px;box-shadow:var(--shadow)}.painel{padding:16px}.titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.titulo-linha h2{margin:0;font-size:21px}.subtitulo{font-size:13px;color:var(--muted);margin:4px 0 0}.cards-dashboard{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.card{padding:15px}.card strong{display:block;color:var(--v);font-size:22px;line-height:1.15}.card span{font-size:12px;color:var(--muted)}.atalhos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.atalho{padding:18px 12px;text-align:left;background:#fff;border:1px solid var(--bd);border-radius:16px;box-shadow:var(--shadow);font-weight:800;color:var(--txt)}.atalho b{display:block;font-size:24px;margin-bottom:8px}.atalho small{display:block;color:var(--muted);font-weight:500;margin-top:3px}
.primario,.secundario,.perigo,.neutro{border-radius:11px;padding:11px 14px;font-weight:750}.primario{background:var(--v);color:#fff}.secundario{background:#e9f4ea;color:var(--v)}.perigo{background:#fdecea;color:var(--danger)}.neutro{background:#f0f2f0;color:var(--txt)}.pequeno{padding:7px 9px;font-size:12px}.acoes{display:flex;gap:8px;flex-wrap:wrap}.linha{display:flex;justify-content:space-between;align-items:center;gap:10px}
input,select,textarea{width:100%;border:1px solid #bac9bc;border-radius:11px;background:#fff;padding:12px 13px;margin:5px 0 11px;outline:none;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--v);box-shadow:0 0 0 3px color-mix(in srgb,var(--v) 15%,transparent)}label{font-size:13px;font-weight:700;color:#3c4c40}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.span2{grid-column:1/-1}.busca{position:relative}.busca input{padding-left:40px}.busca:before{content:'⌕';position:absolute;left:14px;top:14px;font-size:20px;color:var(--muted)}
.filtros{display:flex;gap:7px;overflow:auto;padding:2px 0 10px;scrollbar-width:none}.filtros::-webkit-scrollbar{display:none}.chip{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--bd);color:var(--txt);font-weight:700}.chip.ativo{background:var(--v);color:#fff;border-color:var(--v)}.grade-produtos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.produto-card{padding:13px;display:flex;flex-direction:column;min-height:150px}.produto-card .cat{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em}.produto-card strong{font-size:14px;line-height:1.25;margin:5px 0;flex:1}.produto-card .preco{color:var(--v);font-weight:850;font-size:16px}.qtd-controle{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:6px;margin-top:10px}.qtd-controle button{height:40px;border-radius:10px;background:#eaf4eb;color:var(--v);font-size:22px;font-weight:800}.qtd-controle span{text-align:center;font-weight:850;font-size:17px}
.cliente-busca{position:relative;margin-bottom:10px}.cliente-sugestoes{position:absolute;left:0;right:0;top:72px;z-index:35;background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 12px 30px #0003;max-height:310px;overflow:auto;padding:5px}.cliente-opcao{display:flex;width:100%;background:#fff;color:var(--txt);text-align:left;justify-content:space-between;align-items:center;gap:10px;border-radius:9px;padding:11px}.cliente-opcao:active{background:#edf6ee}.cliente-opcao span{font-size:11px;color:var(--muted);font-weight:500}.cliente-selecionado{display:block;color:var(--v);font-size:12px;margin-top:-5px}.cliente-vazio{padding:12px;color:var(--muted)}
.carrinho{margin-top:14px}.cart-item{border:1px solid var(--bd);border-radius:12px;padding:11px;margin:8px 0;background:#fff}.troca-resumo{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f1f7f1;border-left:4px solid var(--v);padding:8px;margin-top:7px;border-radius:7px;font-size:12px}.resumo-pedido{position:sticky;bottom:76px;z-index:20;background:#173d1df2;color:#fff;border-radius:15px;padding:12px 13px;margin:14px 0;box-shadow:0 8px 26px #0004;backdrop-filter:blur(10px)}.resumo-pedido .linha strong{font-size:19px}.resumo-pedido button{width:100%;margin-top:9px;background:#fff;color:var(--v)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.item{border:1px solid var(--bd);border-radius:13px;padding:13px;background:#fff}.item p{margin:6px 0;color:var(--muted);font-size:13px}.pedido-lista,.producao-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pedido-card,.producao-card{padding:13px}.pedido-card h3,.producao-card h3{margin:0 0 5px;font-size:16px}.pedido-meta{font-size:12px;color:var(--muted)}.pedido-total{font-size:18px;color:var(--v);font-weight:850}.status{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf5ee;color:#315b36;font-size:11px;font-weight:800}.producao-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.producao-card .numero{min-width:54px;height:54px;border-radius:14px;background:#eaf4eb;color:var(--v);display:grid;place-items:center;font-size:24px;font-weight:900}.producao-card p{margin:4px 0 0;color:var(--muted);font-size:12px}
.tabela-wrap{overflow:auto}.tabela{width:100%;border-collapse:collapse;background:#fff}.tabela th,.tabela td{padding:10px;border-bottom:1px solid #e5ece6;text-align:left;font-size:13px}.tabela th{color:#526157;font-size:11px;text-transform:uppercase}.menu-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.menu-card{padding:18px;text-align:left;color:var(--txt);font-weight:800}.menu-card span{display:block;font-size:25px;margin-bottom:8px}.menu-card small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.msg{padding:11px;border-radius:10px;margin:10px 0;background:#eef3ef}.ok{background:#e8f5e9;color:#1d6726}.erro{background:#fdeaea;color:#8d2222}.carregando{padding:40px;text-align:center;color:var(--muted)}
.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:14px;z-index:80}.modal-box{background:#fff;max-width:650px;width:100%;max-height:91vh;overflow:auto;border-radius:18px;padding:20px;position:relative}.x{position:absolute;right:10px;top:8px;background:transparent;font-size:26px;color:#405044}.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:100;background:#203b25;color:#fff;padding:11px 16px;border-radius:999px;box-shadow:0 8px 25px #0004;font-size:13px}.mobile-only{display:none}
.nav-mobile{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--bd);padding:7px 5px calc(7px + var(--safe-bottom));grid-template-columns:repeat(5,1fr);box-shadow:0 -4px 20px #0001}.nav-mobile button{background:transparent;color:#607066;padding:3px 2px;font-size:10px;font-weight:700}.nav-mobile button span{display:block;font-size:21px;line-height:24px}.nav-mobile button.ativo{color:var(--v)}
@media(max-width:850px){.desktop-only{display:none!important}.mobile-only{display:grid}.conteudo{padding:10px 10px 92px}.topo{padding:10px 13px}.marca h1{font-size:18px}.marca span{font-size:11px}.cards-dashboard{grid-template-columns:repeat(2,1fr);gap:8px}.cards-dashboard .card:last-child{grid-column:1/-1}.atalhos{grid-template-columns:repeat(2,1fr)}.grade-produtos{grid-template-columns:repeat(2,1fr)}.pedido-lista,.producao-grade{grid-template-columns:1fr}.painel{padding:12px}.titulo-linha h2{font-size:19px}.resumo-pedido{bottom:72px}}
@media(max-width:480px){.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.produto-card{min-height:140px;padding:11px}.produto-card strong{font-size:13px}.produto-card .preco{font-size:15px}.grade{grid-template-columns:1fr}.modal{padding:8px;align-items:end}.modal-box{border-radius:20px 20px 0 0;max-height:92vh;padding:18px 14px calc(18px + var(--safe-bottom))}.menu-grade{grid-template-columns:repeat(2,1fr)}}

/* V3 mobile-first */
.whatsapp{background:#1f9d55;color:#fff;border-radius:12px;padding:12px 14px;font-weight:800}.acoes-finalizar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.status-confirmacao{background:#fff3cd;color:#755800}.status-producao{background:#e7f1ff;color:#174f91}.status-entregue{background:#e7f6ea;color:#246b32}
@media(max-width:850px){.atalhos{grid-template-columns:1fr!important;gap:10px}.atalho{min-height:82px;padding:14px 16px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}.atalho b{grid-row:1/3;margin:0;width:48px;height:48px;border-radius:14px;background:#eaf4eb;display:grid;place-items:center;font-size:25px}.atalho span{font-size:16px;align-self:end}.atalho small{margin:2px 0 0;align-self:start}.pedido-card,.producao-card{padding:15px}.acoes-finalizar{grid-template-columns:1fr}.acoes-finalizar button{min-height:48px}}

/* V3.2 - mobile real, detectado pelo aparelho (Android/iPhone) */
html.app-mobile body{padding-bottom:78px}
html.app-mobile .desktop-only{display:none!important}
html.app-mobile .mobile-only{display:grid!important}
html.app-mobile .topo{position:sticky;top:0;z-index:30;padding:11px 13px}
html.app-mobile .marca h1{font-size:19px}
html.app-mobile .marca span{font-size:11px}
html.app-mobile .config-btn{display:grid!important;width:42px;height:42px;place-items:center}
html.app-mobile .conteudo{padding:12px 12px 96px;max-width:none}
html.app-mobile .home-mobile{display:flex!important;flex-direction:column;gap:14px}
html.app-mobile .atalhos-mobile{display:flex!important;flex-direction:column!important;gap:11px;width:100%}
html.app-mobile .atalho-mobile{
  display:grid!important;width:100%!important;min-height:92px!important;
  grid-template-columns:56px minmax(0,1fr) 22px!important;align-items:center!important;gap:13px!important;
  padding:15px 16px!important;margin:0!important;border:1px solid var(--bd)!important;border-radius:17px!important;
  background:#fff!important;color:var(--txt)!important;text-align:left!important;box-shadow:0 5px 16px rgba(20,60,25,.10)!important;
}
html.app-mobile .atalho-icone{width:52px;height:52px;border-radius:16px;background:#edf7ef;display:grid;place-items:center;font-size:26px}
html.app-mobile .atalho-textos{display:flex!important;flex-direction:column!important;gap:4px;min-width:0}
html.app-mobile .atalho-textos strong{font-size:18px;line-height:1.15;color:#176b32}
html.app-mobile .atalho-textos small{display:block!important;font-size:13px;line-height:1.25;color:var(--muted);font-weight:500}
html.app-mobile .atalho-seta{font-size:32px;line-height:1;color:#748078;text-align:right}
html.app-mobile .visao-mobile{background:#fff;border:1px solid var(--bd);border-radius:17px;padding:14px;box-shadow:var(--shadow)}
html.app-mobile .visao-mobile .titulo-linha{margin-bottom:10px}
html.app-mobile .visao-mobile h2{font-size:20px;margin:0}
html.app-mobile .cards-dashboard-mobile{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:0!important}
html.app-mobile .cards-dashboard-mobile .card{min-height:92px;padding:14px;border-radius:14px}
html.app-mobile .cards-dashboard-mobile .card strong{font-size:21px}
html.app-mobile .cards-dashboard-mobile .card span{font-size:12px}
html.app-mobile .cards-dashboard-mobile .card:last-child{grid-column:1/-1}
html.app-mobile .nav-mobile{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:60!important;
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;
  background:linear-gradient(135deg,#1b5e20,var(--v))!important;border-top:0!important;
  padding:6px 3px calc(6px + var(--safe-bottom))!important;box-shadow:0 -5px 18px rgba(0,0,0,.20)!important;
}
html.app-mobile .nav-mobile button{background:transparent!important;color:#fff!important;padding:5px 1px!important;font-size:9px!important;font-weight:700!important;border-radius:10px!important;min-width:0!important}
html.app-mobile .nav-mobile button span{display:block!important;font-size:19px!important;line-height:22px!important}
html.app-mobile .nav-mobile button.ativo{background:rgba(255,255,255,.15)!important;color:#fff!important}
html.app-mobile .grade-produtos{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.app-mobile .pedido-lista,html.app-mobile .producao-grade{grid-template-columns:1fr!important}
html.app-mobile .acoes-finalizar{grid-template-columns:1fr!important}
html.app-mobile .resumo-pedido{bottom:76px}
@media(max-width:380px){html.app-mobile .nav-mobile button{font-size:8px!important}html.app-mobile .nav-mobile button span{font-size:18px!important}}


/* V4.1 - cadastro rápido, edição e comprovante */
.cliente-cadastrar{margin-top:5px;background:#edf7ef!important;border:1px dashed var(--v)!important;color:var(--v)!important}
.acoes-pedido{display:flex;flex-wrap:wrap;gap:8px}.acoes-pedido button{flex:1 1 145px;min-height:42px}
.comprovante{background:#176d36;color:#fff;border-radius:10px;padding:10px 12px;font-weight:800}
.comprovante-preview{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--bd);margin:12px 0;background:#f7f3e8}
html.app-mobile .acoes-pedido{display:grid;grid-template-columns:1fr 1fr}
html.app-mobile .acoes-pedido button{width:100%;min-height:46px}
@media(max-width:420px){html.app-mobile .acoes-pedido{grid-template-columns:1fr}}
.carrinho-acoes{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.carrinho-acoes button{min-height:38px}@media(max-width:850px){.carrinho-acoes .perigo{margin-left:auto}.titulo-linha>.acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}}

/* V4.1 - correção mobile: evita zoom automático do navegador ao focar campos */
@media(max-width:850px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input,select,textarea{font-size:16px!important}
}

/* V4.2 PWA teste */
.topo-acoes{display:flex;align-items:center;gap:6px}
.pwa-install{font-size:20px}
.pwa-standalone body{padding-top:env(safe-area-inset-top)}
@media(max-width:850px){
  .pwa-install{display:grid;place-items:center}
}

/* V4.2 - ajuste de legibilidade da navegação inferior mobile */
@media(max-width:850px){
  .nav-mobile button{
    min-height:56px;
    font-size:11px !important;
    line-height:1.15;
    padding:5px 2px;
    gap:3px;
    touch-action:manipulation;
  }
  .nav-mobile button span{
    font-size:23px !important;
    line-height:1;
  }
  .nav-mobile button.ativo,
  .nav-mobile button.active{
    font-weight:700;
  }
  /* Campos permanecem em 16px para evitar zoom automático ao receber foco. */
  input,select,textarea{font-size:16px !important}
}

/* V4.2 - correção definitiva da barra inferior mobile */
@media(max-width:850px){
  html.app-mobile .nav-mobile button{
    min-height:56px !important;
    font-size:11px !important;
    line-height:1.15 !important;
    padding:5px 2px !important;
    gap:3px !important;
    touch-action:manipulation;
  }
  html.app-mobile .nav-mobile button span{
    font-size:23px !important;
    line-height:1 !important;
  }
  html.app-mobile .nav-mobile button.ativo,
  html.app-mobile .nav-mobile button.active{
    font-weight:700 !important;
  }
  input,select,textarea{font-size:16px !important}
}
@media(max-width:380px){
  html.app-mobile .nav-mobile button{font-size:10px !important}
  html.app-mobile .nav-mobile button span{font-size:22px !important}
}

/* V4.2 - barra mobile final: baseada no aparelho, não na largura do viewport */
html.app-mobile .nav-mobile{
  min-height:64px !important;
}
html.app-mobile .nav-mobile button{
  min-height:54px !important;
  font-size:11px !important;
  line-height:1.15 !important;
  padding:5px 2px !important;
  touch-action:manipulation !important;
}
html.app-mobile .nav-mobile button span{
  display:block !important;
  font-size:24px !important;
  line-height:26px !important;
  margin-bottom:2px !important;
}
html.app-mobile .nav-mobile button.ativo,
html.app-mobile .nav-mobile button.active{
  font-weight:800 !important;
}
html.app-mobile input,
html.app-mobile select,
html.app-mobile textarea{
  font-size:16px !important;
}

/* V4.2 - teste visual forte da barra inferior */
.nav-mobile button{
  font-size:12px !important;
}
.nav-mobile button span{
  display:block !important;
  font-size:30px !important;
  line-height:32px !important;
  margin-bottom:2px !important;
}
html.app-mobile .nav-mobile button{
  font-size:12px !important;
}
html.app-mobile .nav-mobile button span{
  font-size:30px !important;
  line-height:32px !important;
}

/* V4.3 teste: navegação inferior e avanço rápido */
.nav-mobile button{font-size:12px !important;line-height:1.1 !important;padding:4px 1px !important}
.nav-mobile button span{display:block !important;font-size:30px !important;line-height:32px !important;margin:0 0 2px !important}
.pedido-acoes-rapidas>.acoes{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.avancar-status{white-space:nowrap}

/* V4.3 - modo aplicativo: sem zoom manual e sem zoom ao abrir teclado */
html,body{
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
input,
select,
textarea{
  font-size:16px !important;
  line-height:1.35 !important;
  -webkit-text-size-adjust:100%;
}
html.app-mobile input,
html.app-mobile select,
html.app-mobile textarea,
.modal input,
.modal select,
.modal textarea,
.cliente-busca input,
.busca input,
.form-grid input,
.form-grid select,
.form-grid textarea{
  font-size:16px !important;
}
button,a,.nav-mobile button{
  touch-action:manipulation;
}

/* Financeiro e feedback mobile */
.finance-categorias{display:grid;gap:2px}.finance-linha{padding:10px 0;border-bottom:1px solid var(--bd)}
.custo-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.custo-item p{margin:4px 0 0;color:var(--muted);font-size:13px}.custo-valor{display:flex;align-items:center;gap:8px;white-space:nowrap}
.ano-select{width:auto;min-width:110px;margin:0}.historico-dashboard{margin-bottom:14px}.historico-semana{padding:14px 0;border-bottom:1px solid var(--bd)}.historico-semana:last-child{border-bottom:0}.historico-metricas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:10px;font-size:13px}.historico-metricas span{display:flex;justify-content:space-between;gap:8px}
@media(max-width:850px){.historico-metricas{grid-template-columns:1fr}.custo-item{align-items:flex-start}.ano-select{font-size:16px!important}.nav-mobile button span{font-size:30px!important;line-height:32px!important}.nav-mobile button{font-size:12px!important}}

/* Compartilhamento em lote */
@media(max-width:700px){.titulo-linha>.acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.titulo-linha>.acoes .comprovante{white-space:nowrap}}

/* V4.5 - fila de comprovantes */
.fila-atual{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0;font-size:15px}.fila-atual span{color:var(--muted);font-size:13px}.fila-compartilhar{width:100%;margin-top:4px}.fila-nav{margin-top:8px}.fila-clientes{display:grid;gap:6px;max-height:220px;overflow:auto;margin-top:14px;padding-right:2px}.fila-cliente{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid var(--bd);border-radius:10px;padding:9px 10px;color:var(--txt)}.fila-cliente small{color:var(--muted)}.fila-cliente.ok{background:#eef7ef}.fila-cliente.atual{border-width:2px;border-color:var(--v)}
@media(max-width:700px){.fila-nav{display:grid;grid-template-columns:1fr 1fr}.fila-nav button:last-child{grid-column:1/-1}.fila-atual{align-items:flex-start;flex-direction:column;gap:2px}}
.btn.perigo{
  background:#fff;
  color:#b42318;
  border:1px solid #f1b4ae;
}
.btn.perigo:active{transform:scale(.98);}
