:root{--marinho:#001522;--dourado:#D3AE36;--fundo:#F3F5F7;--borda:#D5DBE1;--texto:#14212B;--suave:#5B6B78;--erro:#9B1C1C;--ok:#1F6B3A}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);background:var(--fundo);font-size:15px;line-height:1.5}
.layout{display:flex;min-height:100vh}
.lateral{width:232px;background:var(--marinho);color:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:6px}
.lateral img{width:100%;max-width:170px;margin:0 auto 18px;display:block}
.lateral a,.lateral button{color:#D8E0E6;text-decoration:none;padding:9px 12px;border-radius:6px;background:none;border:0;text-align:left;font:inherit;cursor:pointer;display:block;width:100%}
.lateral a:hover,.lateral button:hover{background:rgba(255,255,255,.08)}
.lateral a.ativo{background:var(--dourado);color:var(--marinho);font-weight:600}
.lateral .grupo{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8FA1AE;margin:16px 12px 4px}
.lateral .rodape{margin-top:auto;font-size:13px;color:#8FA1AE;padding:0 12px}
main{flex:1;padding:28px 32px;max-width:1100px}
h1{font-size:22px;margin:0 0 18px;color:var(--marinho)}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:22px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:9px 12px;border-bottom:1px solid var(--borda);text-align:left;font-size:14px}
th{background:#EAEEF2;color:var(--marinho);font-weight:600}
label{display:block;font-weight:600;margin:14px 0 4px;font-size:14px}
input{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:6px;font:inherit}
input:focus{outline:2px solid var(--dourado);outline-offset:0}
.botao{background:var(--dourado);color:var(--marinho);border:0;border-radius:6px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer;margin-top:18px}
.mensagens{list-style:none;margin:0 0 16px;padding:0}
.mensagens li{padding:10px 14px;border-radius:6px;margin-bottom:8px;background:#fff;border-left:4px solid var(--suave)}
.mensagens .error{border-color:var(--erro);color:var(--erro)}
.mensagens .success{border-color:var(--ok);color:var(--ok)}
.erro{color:var(--erro);font-size:13px;margin-top:4px}
.entrada{min-height:100vh;display:grid;place-items:center;padding:20px}
.entrada .cartao{width:100%;max-width:400px}
.entrada img{display:block;width:210px;margin:0 auto 22px}
@media(max-width:760px){.layout{flex-direction:column}.lateral{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px}.lateral img{width:110px;margin:0 8px 0 0}.lateral .grupo,.lateral .rodape{display:none}main{padding:18px 16px}}
h2{font-size:17px;margin:22px 0 10px;color:var(--marinho)}
a{color:#0B4A72}
.barra{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.barra h1{margin:0}
.botao{display:inline-block;text-decoration:none;font-size:14px}
.botao.secundario{background:#fff;color:var(--marinho);border:1px solid var(--borda);margin-top:18px}
.botao.perigo{background:#fff;color:var(--erro);border:1px solid var(--erro)}
.em-linha{display:inline}
.busca{display:flex;gap:8px;margin:14px 0}.busca input,.busca select{max-width:340px}.busca .botao{margin-top:0}
.campo{margin-bottom:4px}.campo-marcar{margin:14px 0 4px}.campo-marcar input{width:auto;margin-right:6px}
select,textarea{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:6px;font:inherit;background:#fff}
.ajuda,.suave{color:var(--suave);font-size:13px}
.grade{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.grade{grid-template-columns:1fr}}
.dados{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;margin:0}.dados dt{color:var(--suave)}.dados dd{margin:0}
.etiqueta{font-size:12px;background:#EAEEF2;color:var(--marinho);padding:3px 9px;border-radius:99px;font-weight:600;vertical-align:middle}
.etiqueta.aviso{background:#FBEFC8}
.aviso-caixa{background:#FBEFC8;border-radius:6px;padding:10px 14px}
table.calculo td:last-child,table.calculo td:nth-last-child(1){text-align:right;white-space:nowrap}
table.calculo td:nth-child(2){text-align:right;color:var(--suave)}
table.calculo tr.destaque td{font-weight:700;background:#F7F9FB}
table.calculo tr.total td{background:var(--marinho);color:#fff;font-size:16px}
.formulario .botao{margin-right:6px}
.etapa-quadro{display:inline-block;width:18px;height:18px;border-radius:4px;vertical-align:middle}
.pedido-num{font-size:12px;white-space:nowrap}
.etapa{display:inline-block;color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;vertical-align:middle}
.progresso{list-style:none;display:flex;gap:4px;padding:0;margin:14px 0;overflow-x:auto}
.progresso li{flex:1;min-width:110px;background:#E3E8ED;color:var(--suave);font-size:12px;padding:8px 10px;border-radius:6px;text-align:center}
.progresso li.feito{background:#C9D6C9;color:#22412B}.progresso li.atual{background:var(--marinho);color:#fff;font-weight:700}
.progresso li small{display:block;font-weight:400;opacity:.8;margin-top:2px}
.legenda{display:inline-block;width:12px;height:12px;border-radius:3px;background:#E3E8ED;vertical-align:middle}.legenda.feito{background:#C9D6C9}.legenda.atual{background:var(--marinho)}
.indicadores{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.indicadores .cartao{padding:14px}.indicadores strong{font-size:19px;color:var(--marinho)}
@media(max-width:900px){.indicadores{grid-template-columns:1fr 1fr}}
details.secao{margin:16px 0}details.secao>summary{cursor:pointer;font-weight:700;color:var(--marinho);font-size:16px;margin-bottom:10px}
.formulario h3{font-size:15px;margin:18px 0 0}
input.curto{width:110px;display:inline-block;padding:6px 8px}.botao.pequeno{padding:6px 10px;margin-top:0;font-size:13px}
.link-perigo{background:none;border:0;color:var(--erro);cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.link{background:none;border:0;color:var(--acento,inherit);cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.linha-tempo{list-style:none;padding:0;margin:0}.linha-tempo li{padding:8px 0 8px 14px;border-left:3px solid var(--dourado);margin-bottom:6px}
.nota{background:#F7F9FB;border-radius:6px;padding:10px 12px;margin-bottom:8px}
label.marcar{display:flex;align-items:center;gap:6px;font-weight:400;margin:0}label.marcar input{width:auto}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.filtros select,.filtros input{width:auto;min-width:150px;max-width:230px}.filtros .botao{margin-top:0}
.indicadores.sete{grid-template-columns:repeat(4,1fr)}
.cartao.alerta{border-color:var(--erro)}.cartao.alerta strong{color:var(--erro)}
.quadro{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;margin:16px 0 10px}
.coluna{min-width:210px;width:210px;background:#EAEEF2;border-radius:8px;padding:8px;flex:0 0 auto}
.coluna.alvo{outline:2px dashed var(--dourado)}
.coluna-topo{border-top:4px solid var(--suave);padding:6px 2px 8px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.coluna-corpo{display:flex;flex-direction:column;gap:8px;min-height:60px}
.cartao-pedido{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--borda);border-radius:6px;padding:9px 10px;text-decoration:none;color:var(--texto);font-size:13px}
.cartao-pedido .avancar{margin-top:6px;border:1px solid var(--dourado);background:#fff;color:var(--texto,#14212B);border-radius:6px;padding:4px 6px;font-size:.78rem;cursor:pointer;text-align:left}.cartao-pedido .avancar:hover{background:var(--dourado);color:#001522}
.cartao-pedido.atrasado{border-left:4px solid var(--erro)}.cartao-pedido.arrastando{opacity:.4}
ul.lista{list-style:none;margin:0;padding:0}ul.lista li{padding:6px 0;border-bottom:1px solid var(--borda)}
.busca-global{display:flex;gap:6px;margin:0 0 14px}.busca-global input{padding:8px 10px;font-size:14px}
.acoes-lista{display:flex;gap:8px;align-items:center}
@media(max-width:900px){.indicadores.sete{grid-template-columns:1fr 1fr}}
.curto{width:90px}
.mes-nav{display:flex;align-items:center;gap:14px;margin:8px 0 12px}.mes-nav strong{font-size:16px}
.atalhos{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.atalhos .botao{margin-top:0}
.abas{display:flex;gap:6px;margin:8px 0}.abas .botao{margin-top:0}
form.pagar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}form.pagar input{width:auto;max-width:150px;padding:6px 8px}
details.anexar{display:inline-block}details.anexar summary{cursor:pointer;color:#0B4A72;text-decoration:underline;font-size:13px}

form.pagar input[type=file]{max-width:200px;font-size:12px}

table.calculo th{text-align:right;font-size:12px;color:var(--suave);font-weight:600;padding:6px 10px}
table.calculo th:first-child{text-align:left}
table.calculo tr.secao td{background:#EEF2F6;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--marinho)}
.resumo-erros{background:#FDECEA;border:1px solid #E5A29B;color:#8A1F14;padding:10px 14px;border-radius:6px;margin-bottom:14px}
.resumo-erros ul{margin:6px 0 0 18px;padding:0}
table.calculo td{white-space:nowrap}
table.calculo td:first-child{white-space:normal}
table.calculo tr.secao td,table.calculo tr.secao td:last-child{text-align:left}

/* Gráficos do painel financeiro (validados: blue, orange, aqua) */
:root{--serie-1:#2a78d6;--serie-2:#eb6834;--serie-3:#1baf7a;--grade:#E4E8EC}
svg.grafico{width:100%;height:auto;display:block}
svg.grafico .grade{stroke:var(--grade);stroke-width:1}
svg.grafico .base{stroke:#9AA7B2;stroke-width:1}
svg.grafico .eixo{fill:var(--suave);font-size:14px}
svg.grafico .valor{fill:var(--marinho);font-size:15px;font-weight:600}
svg.grafico .s1,.chave.s1{fill:var(--serie-1);background:var(--serie-1)}
svg.grafico .s2,.chave.s2{fill:var(--serie-2);background:var(--serie-2)}
svg.grafico .s3,.chave.s3{fill:var(--serie-3);background:var(--serie-3)}
ul.legenda{list-style:none;display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 0;padding:0;font-size:13px;color:var(--suave)}
.chave{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
details.tabela-grafico{margin-top:8px;font-size:13px}
details.tabela-grafico summary{cursor:pointer;color:var(--suave)}
details.tabela-grafico td.d,details.tabela-grafico th.d{text-align:right}
.indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:12px 0}
.indicadores .cartao strong{font-size:20px;display:block;margin-top:4px}
.aviso-limite{background:#FDECEA;border:1px solid #E5A29B;color:#8A1F14;padding:10px 14px;border-radius:6px;margin:12px 0}
.grade-graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}
table.fluxo td,table.fluxo th{text-align:right;white-space:nowrap}
table.fluxo td:first-child,table.fluxo th:first-child{text-align:left;position:sticky;left:0;background:#fff}
.rolagem{overflow-x:auto}
.resumo-pagamento{background:#F3F5F7;border:1px solid var(--borda);border-radius:6px;padding:10px 14px;margin:12px 0}.resumo-pagamento p{margin:4px 0}.resumo-pagamento ul{margin:4px 0 0 18px;padding:0}
.lateral .rodape a{color:#8FA1AE;text-decoration:underline}
.codigo-confirmacao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#FFF8E1;border:1px solid #E5C76B;border-radius:6px;padding:8px 12px;margin:8px 0}
.codigo-confirmacao .codigo{font-size:26px;letter-spacing:.25em;color:var(--marinho);font-variant-numeric:tabular-nums}

.lateral .menu-grupo{margin:6px 0 2px}.lateral .menu-grupo summary{list-style:none;cursor:pointer;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8FA1AE;padding:10px 12px 6px;display:flex;justify-content:space-between;align-items:center}
.lateral .menu-grupo summary::-webkit-details-marker{display:none}.lateral .menu-grupo summary::after{content:"+";font-size:14px}.lateral .menu-grupo[open] summary::after{content:"\2212"}
.lateral .menu-grupo[open] summary{color:#D8E0E6}.lateral .menu-grupo a{display:block;padding-left:20px}

.relatorio{background:#fff;padding:18px 22px;border:1px solid #D5DBE1;border-radius:8px;margin-top:12px}.relatorio h2{margin:22px 0 6px;font-size:1.05rem;border-bottom:1.5px solid #D3AE36;padding-bottom:3px}.relatorio h3{margin:14px 0 4px;font-size:.92rem}
.relatorio table{width:100%;margin:4px 0 10px}.relatorio td.d,.relatorio th.d{text-align:right}.relatorio tr.total td{background:#F3F5F7}.cab-relatorio{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.cab-relatorio h1{margin:0}
@media print{.lateral,.sem-impressao,.abas,.mes-nav,.mensagens,.aviso-caixa,.barra a,form,button{display:none!important}.layout{display:block}main{padding:0!important;margin:0!important}.relatorio{border:0;padding:0}.relatorio h2,.relatorio table{break-inside:avoid}body{background:#fff}}

/* Produtos no estilo do Bling, com as cores do sistema */
.bp-barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.bp-barra input[type=search],.bp-barra input[name=q]{flex:1;min-width:220px}
.bp-barra select{width:auto;min-width:170px}
.bp-barra .botao{margin-top:0}
.bp-tabela td{vertical-align:middle}
.bp-img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--borda);background:#fff;display:block}
.bp-sem-img{width:48px;height:48px;border-radius:6px;border:1px dashed var(--borda);background:#EAEEF2;display:block}
.bp-preco{color:var(--ok);font-weight:700;white-space:nowrap}
.bp-estoque.zero{color:var(--erro)}
.bp-ponto{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--ok)}
.bp-ponto.inativo{background:var(--suave)}
.bp-pag{display:flex;gap:10px;align-items:center;margin-top:14px}
.bp-pag .botao{margin-top:0}
.bp-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.bp-form .largo{grid-column:1/-1}
.bp-topo{display:flex;gap:16px;align-items:flex-start}
.bp-topo .bp-img-grande{width:160px;height:160px;object-fit:contain;border:1px solid var(--borda);border-radius:8px;background:#fff}
.bp-interruptor{display:flex;align-items:center;gap:8px;margin-top:30px}
.bp-interruptor input{width:auto}
.cab-cliente{font-size:.6em;font-weight:700;background:#FFF8E1;border:1px solid var(--dourado);border-radius:6px;padding:3px 10px;margin:0 6px;vertical-align:middle}
.acoes-pedido{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.acoes-pedido .direita{margin-left:auto}
.barra-pedido{flex-wrap:nowrap;align-items:flex-start}.barra-pedido h1{flex:1;min-width:0}.barra-pedido .botao{white-space:nowrap}
.linha-recebimento{display:flex!important;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.linha-recebimento input[name=valor]{width:260px;margin:0}.linha-recebimento input[type=file]{flex:1;min-width:220px;margin:0}
