.erp-menu{width:100%;margin:10px 0}.erp-nav summary{font-size:12px;font-weight:700;color:#526580}.erp-nav a{padding:9px 10px;font-size:12px}.erp-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.erp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.erp-dialog{width:min(950px,calc(100% - 28px))}.erp-dialog header{margin-bottom:18px}.erp-dialog fieldset{border:1px solid #d6deea;border-radius:9px;margin-bottom:18px}.erp-dialog input[type=checkbox]{width:auto;min-height:20px}.erp-dialog table input{min-width:95px}.erp-details{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:12px}.erp-details dt{color:#64748b;font-weight:600;overflow-wrap:anywhere}.erp-details dd{margin:0;overflow-wrap:anywhere}.erp-details .table-wrap{max-width:100%}.erp-item{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:center}.content:has(.erp-actions)>.panel{margin-bottom:18px}.content:has(.erp-actions) td{max-width:450px;white-space:normal;overflow-wrap:anywhere}.content:has(.erp-actions) th{white-space:nowrap}.content:has(.erp-actions) .table-wrap{max-height:65vh}.erp-actions button{max-width:100%}aside:has(.erp-menu){max-height:calc(100dvh - 72px);overflow:auto;position:sticky;top:0}@media(max-width:760px){aside:has(.erp-menu){max-height:none;position:static;flex-wrap:wrap}.erp-menu{display:flex;flex-wrap:wrap;gap:12px}.erp-nav{flex:1 1 140px}.erp-form{grid-template-columns:1fr}.erp-details{grid-template-columns:1fr}.erp-details dd{margin-bottom:10px}.erp-item{grid-template-columns:1fr 1fr}.erp-actions button{flex:1 1 140px}}

.cash-identification{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;border-left:4px solid #2563eb}.cash-operations{margin:1rem 0}.cash-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cash-actions button{min-height:44px}.cash-operations [data-result]{margin-top:1rem}@media(max-width:640px){.cash-identification{display:grid;gap:.5rem}.cash-actions button{flex:1 1 40%}.cash-operations table{min-width:480px}}
.whatsapp-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:5px solid #16a36a;background:linear-gradient(110deg,#eefcf4,#fff);margin-bottom:1rem}.whatsapp-card h2{color:#126b47}.atendimento-dialog{width:min(1500px,96vw);max-width:96vw;height:94vh;max-height:94vh}.atendimento-dialog main{min-width:0}.atendimento-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:1rem;align-items:start}.atendimento-grid>.panel{min-width:0}.atendimento-customer{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;border-left:4px solid #16a36a;margin-bottom:1rem}.atendimento-list{display:grid;gap:.5rem}.conversation{max-height:40vh;overflow:auto;display:grid;gap:.6rem}.chat-message{background:#edf7f1;border-radius:12px;padding:.8rem;overflow-wrap:anywhere}.chat-message p{white-space:pre-wrap}.atendimento-grid button{min-height:44px;margin:.3rem 0}.atendimento-grid fieldset{min-width:0}.atendimento-grid [data-actions]{display:grid;gap:.4rem}@media(max-width:1050px){.atendimento-grid{grid-template-columns:1fr 1fr}.atendimento-grid>section:last-child{grid-column:1/-1}}@media(max-width:680px){.atendimento-grid{display:flex;flex-direction:column}.atendimento-grid>.panel{width:100%;box-sizing:border-box}.whatsapp-card{display:block}.atendimento-dialog{padding:.6rem}.atendimento-customer{display:block}}
.product-compact{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:18px;box-sizing:border-box}
.product-compact>form{display:flex;flex-direction:column;gap:10px;max-height:calc(94dvh - 36px)}
/* EDITAR CLIENTE: duas colunas. Janela alta com um campo por linha vira
   rolagem só para trocar um número de casa. */
.conferencia-gaveta{margin-top:14px;border-top:1px solid var(--borda);padding-top:12px}
.conferencia-gaveta h3{margin:0 0 4px;font-size:15px}
.conf-resumo{margin:6px 0 10px;font-size:13px}
.conf-ok{color:#166534;font-weight:700;font-size:11.5px}
.conf-erro{color:#991b1b;font-weight:700;font-size:11.5px}
.conf-pendente{color:#7a5a12;font-weight:600;font-size:11.5px}
.conf-leitura{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.conf-leitura label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;flex:1;min-width:220px}
.conf-leitura input,.conf-contagem input{padding:8px 10px;border:1px solid var(--borda);border-radius:8px;font-size:15px}
.conf-achado{margin-top:10px;background:#f7faff;border:1px solid #cfdcef;border-radius:9px;padding:10px 12px;font-size:13px}
.conf-achado p{margin:2px 0}
.conf-registrado{margin-top:6px!important;font-size:15px}
.conf-contagem{display:flex;gap:8px;align-items:flex-end;margin-top:8px;flex-wrap:wrap}
.conf-contagem label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600}
.caixa-acoes-tabela td.caixa-acoes{white-space:nowrap}
.caixa-acao{padding:4px 10px;font-size:11.5px;font-weight:600;min-height:0;margin:1px 3px 1px 0;border-radius:7px;border:1px solid #cfdcef;background:#f4f8ff;color:#2c4a7a}
.caixa-acao:hover{background:#e6eefc;border-color:#9dbbe6}
.caixa-acoes-tabela th:last-child,.caixa-acoes-tabela td:last-child{text-align:right}
@media(max-width:760px){.caixa-acoes-tabela td.caixa-acoes{white-space:normal}}
.cliente-compact .erp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cliente-compact .erp-form-secao{grid-column:1/-1;margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.4px;color:#526580}
.cliente-compact .erp-form>label:has([name=logradouro]),.cliente-compact .erp-form>label:has([name=referencia]){grid-column:1/-1}
@media(max-width:560px){.cliente-compact .erp-form{grid-template-columns:1fr}}
.product-compact .erp-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:auto;min-height:0}
.product-compact .erp-form[hidden]{display:none}
.product-compact label{margin:0;font-size:13px}
.product-compact input,.product-compact select{padding:7px;min-height:34px;width:100%;box-sizing:border-box}
.product-compact header,.product-compact nav,.product-compact form>button{flex-shrink:0}
.product-compact h2,.product-compact p{margin:0}
@media(max-width:750px){.product-compact .erp-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.product-compact .erp-form{grid-template-columns:1fr}}

.product-single{width:min(1260px,97vw);padding:12px;overflow:visible}.product-single>form{gap:6px}.product-single .erp-form{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:visible}.product-single label{font-size:11px;line-height:1.2}.product-single input,.product-single select{padding:4px;min-height:28px;font-size:12px}.product-single p{font-size:11px}.product-single h2{font-size:19px}.product-single label:has([name=descricao]),.product-single label:has([name=unidade]){grid-column:span 2}.nfe-status{display:inline-block;padding:4px 8px;border-radius:4px;background:#e5e7eb;color:#17202a}.nfe-status.AGUARDANDO_CONFERENCIA,.nfe-status.EM_CONFERENCIA{background:#dbeafe;color:#1e40af}.nfe-status.CONFERIDO,.nfe-status.CONFERIDA{background:#dcfce7;color:#166534}.nfe-status.DIVERGENCIA{background:#ffedd5;color:#9a3412}.nfe-status.CRITICA{background:#fee2e2;color:#991b1b}
@media(max-width:750px){.product-single{overflow:auto}.product-single .erp-form{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Sistema > Impressoras ===== */
.impressoras h2{margin:24px 0 4px}
.impressoras .muted{margin:0 0 12px}
.impressoras .aviso{background:#fef3c7;border-left:4px solid #b45309;color:#78350f;padding:10px 12px;border-radius:4px;margin:0 0 10px;font-weight:600}
.impressoras .destinos{display:flex;gap:12px;flex-wrap:wrap}
.impressoras .destino{flex:1 1 280px;min-width:0}
.impressoras .destino h3{margin:2px 0 8px}
.impressoras .destino p{margin:2px 0}
.impressoras .agente{margin:0 0 12px}
.impressoras .agente-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.impressoras .agente-cabecalho h3{margin:0 0 2px}
.impressoras .tabela{width:100%;border-collapse:collapse;margin:10px 0}
.impressoras .tabela th,.impressoras .tabela td{text-align:left;padding:7px 9px;border-bottom:1px solid #e5e7eb;vertical-align:top}
.impressoras .tabela th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.impressoras .tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.impressoras .tag.ok{background:#dcfce7;color:#166534}
.impressoras .tag.erro{background:#fee2e2;color:#991b1b}
.impressoras .tag.aguardando{background:#fef3c7;color:#92400e}
.impressoras .calibragem{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:end}
.impressoras .calibragem .acoes{grid-column:1/-1}
.impressoras .vazio h4{margin:18px 0 6px}
.comando{background:#111827;color:#f9fafb;padding:12px 14px;border-radius:6px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 14px}
.codigo-pareamento{font-size:30px;font-weight:800;letter-spacing:.22em;text-align:center;background:#f3f4f6;border:2px dashed #9ca3af;border-radius:8px;padding:14px;margin:8px 0}
@media (max-width:640px){.impressoras .destinos{flex-direction:column}.impressoras .tabela{display:block;overflow-x:auto}}
/* .card strong e o numero grande dos indicadores; no cartao de destino o
   strong e so rotulo em negrito. */
.impressoras .destino strong{display:inline;font-size:inherit;font-weight:700;letter-spacing:normal}
.impressoras .destino p{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.impressoras .aviso-instalacao,.erp-dialog .aviso-instalacao{background:#eff6ff;border-left:4px solid #2563eb;color:#1e3a8a;padding:10px 12px;border-radius:4px;margin:0 0 12px}

/* ===== DEVELOPER > Sistema ===== */
.sistema-versoes .versoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 16px}
.sistema-versoes .versoes strong{display:block;font-size:22px;font-weight:800;line-height:1.2}
.sistema-versoes .versoes p{margin:0}
.impedimentos{background:#fef3c7;border-left:4px solid #b45309;color:#78350f;padding:10px 14px;border-radius:4px;margin:0 0 12px}
.impedimentos ul{margin:6px 0 0;padding-left:20px}
.acoes-sistema{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.acoes-sistema button[disabled]{opacity:.55;cursor:not-allowed}
button.destaque{background:#b45309;color:#fff;font-weight:700}
.atencao{background:#fee2e2;border-left:4px solid #b91c1c;color:#7f1d1d;padding:10px 12px;border-radius:4px}
.mudancas{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px 14px;margin:0 0 12px}
.lista-arquivos{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow:auto;font-size:13px}
.lista-arquivos li{padding:3px 0;border-bottom:1px solid #f3f4f6;overflow-wrap:anywhere}
.lista-arquivos .estado{display:inline-block;min-width:78px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.lista-arquivos .estado.novo{color:#166534}
.lista-arquivos .estado.alterado{color:#92400e}
.lista-arquivos .estado.apagado{color:#991b1b}
.arquivos-envio{margin:0 0 12px}
.arquivos-envio summary{cursor:pointer;font-weight:600}
.tipo-versao{border:1px solid #e5e7eb;border-radius:6px;padding:10px 14px;margin:12px 0}
.tipo-versao legend{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;padding:0 6px}
.tipo-versao .radio{display:flex;gap:8px;align-items:flex-start;padding:5px 0;cursor:pointer}
.tipo-versao .radio input{width:auto;min-height:0;margin-top:3px}

/* ===== Pergunta de cupom no PDV: só o título e dois botões ===== */
.pergunta-cupom{border:none;border-radius:12px;padding:0;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.pergunta-cupom::backdrop{background:rgba(15,23,42,.55)}
.pergunta-cupom form{padding:30px 38px 26px;text-align:center;min-width:330px}
.pergunta-cupom h2{margin:0 0 22px;font-size:21px}
.pergunta-cupom .botoes{display:flex;gap:12px;justify-content:center}
.pergunta-cupom .botoes button{min-width:118px;font-size:17px;font-weight:700;padding:13px 22px}
/* DESEJA IMPRIMIR? — Não já vem marcado, e a marcação precisa ser visível a
   um metro de distância: é ela que o operador confere antes do Enter. */
.opcoes-impressao{display:flex;gap:14px;justify-content:center;margin:0 0 22px}
.opcoes-impressao label{display:flex;align-items:center;gap:8px;padding:12px 20px;border:2px solid var(--borda);border-radius:10px;font-size:18px;font-weight:700;cursor:pointer}
.opcoes-impressao label:has(input:checked){border-color:var(--azul);background:var(--azul-claro,#eff6ff)}
.opcoes-impressao input{width:20px;height:20px;accent-color:var(--azul)}

/* ===== Reimpressão de etiqueta ===== */
.reimpressao .heading-linha{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.reimpressao .contador{align-self:center;font-weight:600;color:#6b7280}
.reimpressao .produto-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.reimpressao .produto-cabecalho h3{margin:0 0 2px}
.reimpressao .unidades{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:4px;margin-top:10px}
.reimpressao .unidade{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;cursor:pointer}
.reimpressao .unidade:hover{background:#f3f4f6}
.reimpressao .unidade input{width:auto;min-height:0}
.reimpressao .unidade .ordinal{font-weight:700;min-width:38px;color:#6b7280}
.reimpressao .unidade code{font-size:11.5px;overflow-wrap:anywhere}
.reimpressao .linha-leitura{display:flex;gap:8px;flex-wrap:wrap}
.reimpressao .linha-leitura input{flex:1 1 320px}
.reimpressao .lista-avulsos{list-style:none;margin:10px 0 0;padding:0}
.reimpressao .lista-avulsos li{display:flex;gap:8px;align-items:center;padding:3px 0}
.reimpressao .rodape-reimpressao{margin-top:18px}

/* ===== Pré-visualização: o papel na tela ===== */
.previa .papel{background:#fff;border:1px solid #d1d5db;border-radius:3px;padding:14px 16px;margin:12px 0;max-width:430px;font-family:"Consolas","Courier New",monospace;font-size:12.5px;line-height:1.45;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.previa .papel .regua{color:#d1d5db;letter-spacing:.5px;border-bottom:1px dashed #e5e7eb;margin-bottom:6px;overflow:hidden;white-space:nowrap}
.previa .papel .linha{white-space:pre;overflow:hidden}
.previa .papel .linha.centro{text-align:center}
.previa .papel .linha.direita{text-align:right}
.previa .papel .linha.negrito{font-weight:700}
.previa .papel .linha.dobrado{font-size:18px;font-weight:800;letter-spacing:.5px;line-height:1.2}
.previa .papel .corte{margin-top:8px;border-top:1px dashed #9ca3af;padding-top:5px;color:#6b7280;font-size:11px}
.previa-colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:12px 0}
.previa-coluna{border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px}
.previa-coluna h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.previa-coluna p{margin:3px 0;font-size:12px;overflow-wrap:anywhere}
.previa-coluna .pos{display:inline-block;min-width:92px;color:#9ca3af;font-family:monospace;font-size:11px}
.previa-coluna .tipo-el{display:inline-block;font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px;margin-right:5px}
.previa-coluna .tipo-el.qr{background:#dbeafe;color:#1e40af}
.previa-coluna .tipo-el.texto{background:#f3f4f6;color:#4b5563}
.previa-acoes{margin-bottom:6px}

/* ===== PDV > Entregas ===== */
.painel-entregas{max-width:1120px;width:94vw}
.painel-entregas .filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}
.painel-entregas .periodo-personalizado{display:flex;gap:6px;align-items:center;font-size:13px}
.painel-entregas .periodo-personalizado input{width:auto;min-height:0;padding:5px 8px}
.painel-entregas .resumo-entregas{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.painel-entregas .cartao{border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:13px;color:#4b5563}
.painel-entregas .cartao strong{display:block;font-size:22px;font-weight:800;color:#111827;line-height:1.1}
.painel-entregas .cartao.rota{border-color:#93c5fd;background:#eff6ff}
.painel-entregas .cartao.ok{border-color:#86efac;background:#f0fdf4}
.painel-entregas .cartao.falha{border-color:#fca5a5;background:#fef2f2}
.painel-entregas .cartao.alerta{border-color:#b45309;background:#fef3c7}
.painel-entregas .cartao.alerta strong{color:#92400e}
.painel-entregas .tabela-rolagem{max-height:56vh;overflow:auto}
.painel-entregas .tabela{width:100%;border-collapse:collapse;font-size:13px}
.painel-entregas .tabela th,.painel-entregas .tabela td{text-align:left;padding:7px 9px;border-bottom:1px solid #e5e7eb;vertical-align:top}
.painel-entregas .tabela th{position:sticky;top:0;background:#f9fafb;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;z-index:1}
.painel-entregas .tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.painel-entregas .tag.rota{background:#dbeafe;color:#1e40af}
.painel-entregas .tag.ok{background:#dcfce7;color:#166534}
.painel-entregas .tag.falha,.painel-entregas .tag.erro{background:#fee2e2;color:#991b1b}
.painel-entregas .tag.alerta{background:#fef3c7;color:#92400e}
.painel-entregas .vazio{color:#d1d5db}
.painel-entregas .pendencias-modulo{margin:14px 0 0;padding:10px 14px 10px 30px;background:#f9fafb;border-left:3px solid #d1d5db;border-radius:4px;color:#6b7280;font-size:12.5px}

/* ===== Intelligence > Importar CSV ===== */
.arquivo{display:block;margin:0 0 10px}
.arquivo input{padding:9px;background:#f9fafb}
.conferencia{border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-top:14px}
.conferencia h3{margin:0 0 10px}
.conferencia .numeros{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 12px}
.conferencia .numeros span{font-size:13px;color:#6b7280}
.conferencia .numeros strong{display:block;font-size:22px;font-weight:800;color:#111827;line-height:1.1}
.conferencia .numeros .ruim strong{color:#991b1b}
.conferencia details{margin:8px 0}
.conferencia summary{cursor:pointer;font-weight:600;font-size:13px}
.conferencia details ul{max-height:220px;overflow:auto;font-size:12.5px;margin:6px 0 0}
.conferencia .aviso{background:#fef3c7;border-left:4px solid #b45309;color:#78350f;padding:9px 12px;border-radius:4px;margin:0 0 10px}
/* Lista de conferência de NF-e: somente apresentação dos dados já carregados. */
.nfe-conferencia-page .heading{margin-bottom:22px}
.nfe-conferencia-page .heading .eyebrow{font-size:12px;letter-spacing:0;color:#526782}
.nfe-conferencia-page .heading h1{margin:12px 0 4px}
.nfe-conferencia-page .heading .muted{margin:0;color:#526782}
.nfe-conferencia-page [data-main]:has(.nfe-lista-topo){padding:18px;border:0;background:transparent;box-shadow:none}
.nfe-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.nfe-resumo-card{display:flex;flex-direction:column;gap:7px;padding:17px 19px;border:1px solid #dce5f2;border-radius:11px;background:#f6faff}
.nfe-resumo-card span{font-size:13px;font-weight:650;color:#304661}
.nfe-resumo-card strong{font-size:27px;line-height:1;color:#1e56b5}
.nfe-resumo-card.verde{background:#f0fcf7;border-color:#c9eadb}.nfe-resumo-card.verde strong{color:#0b8b62}
.nfe-resumo-card.amarelo{background:#fffaf0;border-color:#f4dfad}.nfe-resumo-card.amarelo strong{color:#bc7800}
.nfe-resumo-card.cinza{background:#f8fafd}.nfe-resumo-card.cinza strong{color:#566983}
.nfe-lista-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:white;border:1px solid #dce5f2;border-bottom:0;border-radius:11px 11px 0 0}
.nfe-lista-topo h2{margin:0;font-size:17px}.nfe-lista-topo small{display:inline-block;margin-left:9px;padding:2px 9px;border:1px solid #dce5f2;border-radius:20px;color:#526782;font-size:12px;font-weight:600}
.nfe-lista-topo button{min-height:37px;padding:7px 12px;color:#1455b4}
.nfe-tabela-wrap{overflow-x:auto;background:white;border:1px solid #dce5f2;border-radius:0 0 11px 11px}
.nfe-tabela{width:100%;min-width:760px;table-layout:auto;white-space:normal}
.nfe-tabela th{padding:12px 14px;background:#f5f8fd;color:#526782;font-weight:650;white-space:nowrap}
.nfe-tabela td{padding:14px;vertical-align:middle;color:#233653}
.nfe-tabela td:nth-child(2){min-width:220px;overflow-wrap:anywhere}
.nfe-tabela td:last-child{white-space:nowrap}
.nfe-tabela button{min-height:38px;padding:7px 12px;border-color:#a9c9ff;color:#1455b4}
.nfe-tabela .nfe-status{border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.nfe-lista-vazia{margin:0;padding:28px 18px;background:white;border:1px solid #dce5f2;border-radius:0 0 11px 11px;color:#64748b}
@media(max-width:1050px){.nfe-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.nfe-conferencia-page .heading{align-items:flex-start}.nfe-resumo{gap:8px}.nfe-resumo-card{padding:12px}.nfe-resumo-card strong{font-size:22px}.nfe-lista-topo{padding:12px}.nfe-lista-topo h2{font-size:15px}}
/* Clientes: tabela operacional com dados essenciais, sem campos técnicos na listagem. */
.clientes-page .heading{margin-bottom:13px}.clientes-page .heading .eyebrow{font-size:12px;letter-spacing:0;color:#2563eb}.clientes-page .heading h1{margin:10px 0 3px}.clientes-page .heading .muted{margin:0;color:#526782}
.clientes-page .erp-actions{margin:0 0 14px;justify-content:flex-end}.clientes-page .erp-actions .primary{order:1}
.clientes-search{padding:17px 19px;margin-bottom:16px;border:1px solid #dce5f2;border-radius:12px;background:white;box-shadow:0 3px 15px #17365a08}
.clientes-search label{margin:0 0 7px;font-size:13px;color:#304661}.clientes-search>div{display:flex;gap:10px}.clientes-search input{margin:0;background:white}.clientes-search button{flex-shrink:0;min-width:120px}
.clientes-page [data-main]{padding:0;overflow:hidden;border-color:#dce5f2;box-shadow:0 3px 15px #17365a08}
.clientes-list-head{padding:17px 19px;border-bottom:1px solid #e5ebf4}.clientes-list-head h2{margin:0;font-size:17px}.clientes-list-head small{display:inline-block;margin-left:8px;font-size:12px;font-weight:500}
.clientes-table-wrap{overflow-x:auto}.clientes-table{width:100%;min-width:930px;white-space:normal;font-size:12px}.clientes-table th{padding:12px 10px;background:#f5f8fd;color:#526782;font-weight:650;white-space:nowrap}.clientes-table td{padding:10px;vertical-align:middle;color:#253954}.clientes-table tr:last-child td{border-bottom:0}.clientes-table .cliente-nome{min-width:150px;font-weight:650;color:#142d53}.clientes-table td:nth-child(5){max-width:160px;overflow-wrap:anywhere}.clientes-table td:nth-child(8){min-width:102px}.clientes-table td:last-child{white-space:nowrap}
.clientes-table td button{min-height:34px;padding:6px 10px;color:#1455b4;border-color:#c8dcff;font-size:12px}
.cliente-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:18px;white-space:nowrap;font-size:11px;font-weight:650}.cliente-status:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.cliente-status.ativo{background:#e8faf3;color:#087b59}.cliente-status.inativo{background:#fff0f2;color:#bd3050}
.clientes-empty{padding:26px 19px;margin:0;color:#64748b}
@media(max-width:1100px){.clientes-table{min-width:770px}.clientes-table th:nth-child(5),.clientes-table td:nth-child(5),.clientes-table th:nth-child(6),.clientes-table td:nth-child(6),.clientes-table th:nth-child(8),.clientes-table td:nth-child(8){display:none}}
@media(max-width:760px){.clientes-page .heading{align-items:flex-start}.clientes-page .erp-actions{justify-content:stretch}.clientes-page .erp-actions button{flex:1}.clientes-search{padding:12px}.clientes-search>div{flex-direction:column}.clientes-search button{width:100%}.clientes-table{min-width:610px}.clientes-table th:nth-child(1),.clientes-table td:nth-child(1),.clientes-table th:nth-child(3),.clientes-table td:nth-child(3){display:none}.clientes-table .cliente-nome{min-width:140px}}
@media(max-width:760px){
 .clientes-table-wrap{overflow:visible}.clientes-table{min-width:0}.clientes-table thead{display:none}.clientes-table tbody{display:grid;gap:10px;padding:10px}.clientes-table tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px;border:1px solid #e3eaf4;border-radius:10px}.clientes-table td{display:block!important;border:0;padding:0;min-width:0!important;max-width:none!important}.clientes-table td:nth-child(1),.clientes-table td:nth-child(5),.clientes-table td:nth-child(6),.clientes-table td:nth-child(8){display:none!important}.clientes-table td:nth-child(2){grid-column:1/-1;font-size:15px}.clientes-table td:nth-child(3),.clientes-table td:nth-child(4){grid-column:1}.clientes-table td:nth-child(7){grid-column:1}.clientes-table td:nth-child(9){grid-column:2;grid-row:2/5;align-self:center}.clientes-table td button{white-space:nowrap}
}
/* Fidelidade: apresentação do saldo e do extrato existentes no detalhe do cliente. */
.clientes-page [data-result]:has(.fidelidade-view){padding:0;overflow:hidden;border-color:#dce5f2;box-shadow:0 3px 15px #17365a08}
.fidelidade-head{display:flex;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid #e3ebf6}.fidelidade-head h2{margin:0;font-size:23px}.fidelidade-head p{margin:3px 0 0;color:#526782}.fidelidade-gift{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:11px;background:#ebf4ff;font-size:26px}
.fidelidade-summary,.fidelidade-history{padding:18px 22px}.fidelidade-summary h3,.fidelidade-history h3{margin:0 0 15px;font-size:17px;color:#172d4e}
.fidelidade-cards{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px}.fidelidade-card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #c9dcff;border-radius:10px;background:#f2f7ff}.fidelidade-card span{font-size:13px;color:#4b6387}.fidelidade-card strong{font-size:30px;line-height:1;color:#175be0;font-variant-numeric:tabular-nums}.fidelidade-card.credito{background:#f2fcf8;border-color:#c6ebda}.fidelidade-card.credito strong{color:#087b59}.fidelidade-card.debito{background:#fff7f9;border-color:#f3d4dd}.fidelidade-card.debito strong{color:#b62e51}
.fidelidade-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.fidelidade-meta div{padding:11px 13px;border:1px solid #e1e9f4;border-radius:9px;background:#fbfcff}.fidelidade-meta dt{font-size:11px;color:#667a96}.fidelidade-meta dd{margin:4px 0 0;font-weight:700;color:#1b355b;overflow-wrap:anywhere}
.fidelidade-history{border-top:1px solid #e3ebf6}.fidelidade-history-head h3{margin:0}.fidelidade-history-head p{margin:3px 0 15px;color:#526782}.fidelidade-table-wrap{overflow-x:auto;border:1px solid #e1e9f4;border-radius:9px}.fidelidade-table{min-width:850px;white-space:normal;font-size:12px}.fidelidade-table th{padding:12px;background:#f5f8fd;color:#526782;font-weight:650;white-space:nowrap}.fidelidade-table td{padding:11px 12px;vertical-align:middle}.fidelidade-table td:nth-child(6){max-width:170px;overflow-wrap:anywhere}.fidelidade-table td:nth-child(7){min-width:110px}.fidelidade-table details{position:relative}.fidelidade-table details>summary{min-height:0;padding:0;color:#175be0;font-weight:650;white-space:nowrap}.fidelidade-table details[open]{min-width:210px}.fidelidade-table details .erp-details{margin-top:10px;font-size:11px}.fidelidade-table details .erp-details dt,.fidelidade-table details .erp-details dd{overflow-wrap:anywhere}
.fidelidade-tipo{display:inline-flex;padding:5px 8px;border-radius:16px;background:#eef3fb;color:#385780;white-space:nowrap;font-weight:650}.fidelidade-tipo.credito{background:#e8f7ee;color:#087b59}.fidelidade-tipo.debito{background:#fff0f3;color:#ba3151}.fidelidade-pontos{font-weight:750;white-space:nowrap}.fidelidade-pontos.credito{color:#087b59}.fidelidade-pontos.debito{color:#ba3151}.fidelidade-count{margin:12px 0 0;color:#607591;font-size:12px}.fidelidade-empty{margin:0;padding:25px;border:1px solid #e1e9f4;border-radius:9px;color:#64748b}
@media(max-width:900px){.fidelidade-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fidelidade-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.fidelidade-card strong{font-size:24px}}
@media(max-width:600px){.fidelidade-head,.fidelidade-summary,.fidelidade-history{padding:14px}.fidelidade-head h2{font-size:20px}.fidelidade-cards{grid-template-columns:1fr 1fr}.fidelidade-card.saldo{grid-column:1/-1}.fidelidade-card{padding:13px}.fidelidade-meta{gap:7px}}
/* Detalhe do cliente: grupos visuais sobre o mesmo objeto carregado. */
.clientes-page [data-result]:has(.cliente-detail){padding:0;border:0;background:transparent;box-shadow:none}
.cliente-detail{display:grid;gap:16px}.cliente-detail-header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:2px 3px}.cliente-detail-breadcrumb{margin:0 0 8px;color:#2563eb;font-size:12px}.cliente-detail-header h2{font-size:23px;margin:0 0 3px}.cliente-detail-header p:last-child{margin:0;color:#526782}
.cliente-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cliente-detail-actions button{min-height:42px;padding:9px 13px;color:#1455b4;border-color:#bbd1f6;background:white}.cliente-detail-actions button:nth-child(2){border-color:#f1b4bf;color:#bc3046}.cliente-detail-actions button:last-child{background:#185be0;border-color:#185be0;color:white}
.cliente-detail-hero,.cliente-detail-section{background:white;border:1px solid #dce5f2;border-radius:12px;box-shadow:0 3px 15px #17365a08}.cliente-detail-hero{display:flex;align-items:center;gap:18px;padding:18px 22px}.cliente-detail-avatar{width:66px;height:66px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e5f0ff;color:#2666d2;font-size:29px}.cliente-detail-identity{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0;flex:1}.cliente-detail-identity strong{font-size:20px;min-width:0;overflow-wrap:anywhere}.cliente-detail-identity>span:nth-child(2){width:100%;color:#526782}.cliente-detail-status{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:18px;font-size:12px;font-weight:650;white-space:nowrap}.cliente-detail-status:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.cliente-detail-status.ativo{color:#087b59;background:#e5f9f0}.cliente-detail-status.inativo{color:#b82f4d;background:#fff0f3}
.cliente-detail-dates{display:flex;gap:12px}.cliente-detail-dates>div{min-width:150px;padding:10px 14px;border-left:1px solid #dce5f2}.cliente-detail-dates small{font-size:11px;color:#607793}.cliente-detail-dates strong{display:block;margin-top:5px;font-size:13px;font-weight:700;color:#233b61}
.cliente-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.cliente-detail-side{display:grid;gap:16px;align-content:start}.cliente-detail-section{padding:16px 19px}.cliente-detail-section h3{margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid #e5ebf4;font-size:16px;color:#182f53}.cliente-detail-section dl{margin:0}.cliente-detail-row{display:grid;grid-template-columns:minmax(130px,35%) minmax(0,1fr);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid #edf1f7}.cliente-detail-row:last-child{border-bottom:0}.cliente-detail-row dt{font-size:12px;color:#526782}.cliente-detail-row dd{margin:0;color:#1d3559;font-weight:600;overflow-wrap:anywhere}.cliente-detail-empty{color:#8492a7;font-weight:400}.cliente-detail-loyalty .cliente-detail-row{grid-template-columns:210px minmax(0,1fr)}
@media(max-width:1050px){.cliente-detail-hero{flex-wrap:wrap}.cliente-detail-dates{width:100%;border-top:1px solid #e8eef7;padding-top:8px}.cliente-detail-dates>div:first-child{border-left:0}.cliente-detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.cliente-detail-header{display:block}.cliente-detail-actions{justify-content:stretch;margin-top:12px}.cliente-detail-actions button{flex:1 1 130px}.cliente-detail-hero{padding:14px}.cliente-detail-avatar{width:48px;height:48px;font-size:22px}.cliente-detail-identity strong{font-size:17px}.cliente-detail-dates{gap:0}.cliente-detail-dates>div{min-width:0;flex:1;padding:8px}.cliente-detail-section{padding:13px}.cliente-detail-row{grid-template-columns:minmax(105px,40%) minmax(0,1fr)}.cliente-detail-loyalty .cliente-detail-row{grid-template-columns:minmax(120px,45%) minmax(0,1fr)}}

/* RH / Central de Funcionários / Área do Funcionário (20/09/2026) */
.central-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.area-pessoal-porta{display:block;max-width:420px;margin:8px auto;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:22px 24px}
.area-pessoal-porta h2{margin:0 0 6px}
.area-pessoal-porta .muted{font-size:13px;margin:0 0 14px}
.area-pessoal-form{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.area-pessoal-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.area-pessoal-form input{padding:10px 12px;font-size:15px;border:1px solid var(--borda);border-radius:9px}
.area-pessoal-form .form-error{margin:0;min-height:18px}
.area-pessoal-form button{min-height:44px}
.cf-topo{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.cf-topo h2{margin:0 0 2px}
.cf-filial{margin:0 0 3px;font-size:13.5px;color:#33425a}
.cf-topo .muted{margin:0;font-size:12px;max-width:60ch}
.cf-resumo{display:flex;gap:8px;flex-wrap:wrap}
.cf-resumo div{background:var(--azul-claro);border:1px solid #dbe6fb;border-radius:9px;padding:7px 12px;min-width:74px;text-align:center}
.cf-resumo strong{display:block;font-size:19px;line-height:1.1;color:var(--azul-escuro)}
.cf-resumo small{font-size:10.5px;color:#4b6285;text-transform:uppercase;letter-spacing:.2px}
.cf-limpeza{margin:0 0 12px;border:1px solid var(--borda);border-radius:9px;padding:9px 12px;background:#fff}
.cf-limpeza summary{cursor:pointer;font-weight:650;font-size:13px}
.cf-limpeza ul{margin:8px 0 0;padding-left:18px;font-size:12.5px}
.cf-limpeza li{padding:2px 0}
.cf-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px;align-items:start}
.cf-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:11px 13px;font-size:12.5px}
.cf-card header{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin-bottom:6px}
.cf-card header strong{display:block;font-size:14px;line-height:1.2}
.cf-card header small{color:#6b7a90;font-size:11px}
.cf-tag{flex:0 0 auto;border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:650;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}
.cf-tag.ativo{background:#dcfce7;color:#166534}
.cf-tag.neutro{background:#eef2f7;color:#5b6b80}
.cf-atual{margin:0 0 5px;font-weight:600;color:#14532d}
.cf-ultimo{margin:0 0 8px;color:#41506a}
.cf-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.cf-chip{background:#eef2f7;border-radius:7px;padding:2px 8px;font-weight:700;font-size:12px;color:#33425a}
.cf-chip small{font-weight:500;font-size:10.5px;color:#5b6b80}
.cf-chip.andamento{background:#e9f8ef;color:#166534}
.cf-chip.pendente{background:#fff3e8;color:#9a4a09}
.cf-chip.feito{background:#eef2f7;color:#33425a}
.cf-chip.confere{background:#f6edff;color:#6b21a8}
.cf-chip.venda{background:var(--azul-claro);color:var(--azul-escuro)}
.cf-lista,.cf-secao{margin:0 0 4px;line-height:1.45}
.cf-lista b,.cf-secao b{color:#33425a}
.cf-secao{border-top:1px solid #eef2f7;padding-top:6px;margin-top:6px}
.cf-card .erp-actions{margin-top:8px}
.cf-card .erp-actions button{font-size:12px;padding:5px 10px}
.cf-timeline{margin:10px 0 0;padding-left:20px;font-size:13px}
.cf-timeline li{padding:3px 0}
.cf-falha .dashboard-warning{margin-bottom:8px}
.checklist{list-style:none;padding:0;margin:8px 0}
.checklist li{padding:4px 0}
.checklist label{display:flex;gap:8px;align-items:flex-start;min-height:32px}
.personal-task .erp-actions{margin-top:6px}
@media (max-width:640px){.central-grid,.cf-grade{grid-template-columns:1fr}.erp-table{display:block;overflow-x:auto}}


/* Financeiro (20/09/2026): as duas colunas do painel nunca se misturam */
.financeiro-colunas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.financeiro-economico{border-top:3px solid var(--cor-primaria,#2563eb)}
.financeiro-caixa{border-top:3px solid #0f9d58}
.financeiro-leitura{padding:12px;border-radius:8px;background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.4)}
.financeiro-vencida td{background:rgba(220,38,38,.08)}
.financeiro-divergente td{background:rgba(234,179,8,.15);font-weight:600}
.financeiro-total td{font-weight:700;border-top:1px solid currentColor}
.dda-comparacao td:nth-child(2),.dda-comparacao td:nth-child(3){font-variant-numeric:tabular-nums}
.boleto-form .erp-form label{display:block;margin-bottom:10px}
.boleto-form input,.boleto-form textarea,.boleto-form select{width:100%;min-height:44px;font-size:16px}
@media (max-width:820px){.financeiro-colunas{grid-template-columns:1fr}}

/* ======================================================================
   ERP: estrutura operacional compacta
   Regras de layout dos modulos; o acabamento base vive em visual.css.
   O escopo exclui explicitamente todos os estados do PDV.
   ====================================================================== */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed){
 --erp-ink:#172238;
 --erp-muted:#60708a;
 --erp-line:#dfe7f2;
 --erp-soft:#f6f9fd;
 --erp-blue:#2563eb;
 --erp-blue-soft:#eef5ff;
}

#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]{min-width:0}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]>:first-child{margin-top:0}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]>h2,
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]>h3{
 color:var(--erp-ink);
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]>h3{
 margin:16px 0 8px;
 padding-top:12px;
 border-top:1px solid var(--erp-line);
 font-size:14px;
}

/* Barras de acao. A variante em TD e uma celula, nao uma toolbar flex. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-actions:not(td){
 display:flex;
 align-items:center;
 gap:8px;
 flex-wrap:wrap;
 margin:10px 0 12px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-actions:not(td):empty{display:none}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) td.erp-actions{
 display:table-cell;
 width:1%;
 min-width:0;
 padding:6px 8px;
 text-align:right;
 white-space:nowrap;
 vertical-align:middle;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) td.erp-actions button{
 display:inline-flex;
 width:auto;
 min-height:34px;
 margin:2px 0 2px 5px;
 padding:6px 9px;
 border-radius:8px;
 font-size:11.5px;
 white-space:nowrap;
}

/* Tabelas usadas por RH, financeiro, treinamentos, estoque e fiscal. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table{
 display:block;
 width:100%;
 max-width:100%;
 margin:8px 0 14px;
 overflow:auto;
 border:1px solid var(--erp-line);
 border-radius:9px;
 background:#fff;
 font-size:12.5px;
 font-variant-numeric:tabular-nums;
 scrollbar-width:thin;
 scrollbar-color:#b8c7dc #f3f6fa;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table thead th{
 position:sticky;
 top:0;
 z-index:1;
 padding:8px 10px;
 border-bottom:1px solid #d7e1ee;
 background:#f3f7fc;
 color:#52647e;
 font-size:11px;
 font-weight:700;
 letter-spacing:.02em;
 text-transform:uppercase;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tbody td{
 padding:8px 10px;
 color:#263750;
 vertical-align:middle;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tbody tr:last-child td{border-bottom:0}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tbody tr:hover{background:#f8fbff}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table td>small{line-height:1.35}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table .badge{display:inline-flex}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tr.tarefa-pendente td:first-child{box-shadow:inset 3px 0 #d97706}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tr.tarefa-em_andamento td:first-child{box-shadow:inset 3px 0 var(--erp-blue)}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table tr.tarefa-concluida td:first-child{box-shadow:inset 3px 0 #16a34a}

/* Formularios compartilhados e detalhes retornados pela API. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-form{
 align-items:start;
 gap:10px 14px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form>label,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-form>label{
 display:flex;
 min-width:0;
 flex-direction:column;
 gap:4px;
 margin:0;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form :is(input,select,textarea),
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-form :is(input,select,textarea){margin-top:0}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form>fieldset,
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form>[role=alert],
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-form>fieldset,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-form>[role=alert]{grid-column:1/-1}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form>button{
 align-self:end;
 margin:0;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details{
 margin:8px 0;
 gap:0;
 border:1px solid var(--erp-line,#dfe7f2);
 border-radius:9px;
 overflow:hidden;
 background:#fff;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details>dt,
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details>dd,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details>dt,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details>dd{
 min-width:0;
 padding:8px 10px;
 border-bottom:1px solid #e8edf4;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details>dt,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details>dt{background:var(--erp-soft,#f6f9fd);font-size:11.5px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details>dd,
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details>dd{margin:0;background:#fff}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [hidden],
body:not(:has(.pdv-page,.pdv-open)) .erp-dialog [hidden]{display:none!important}

/* Cards de RH, Minha Area, treinamentos, metas e financeiro. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-card{
 min-width:0;
 margin:10px 0;
 padding:12px 14px;
 border:1px solid var(--erp-line);
 border-radius:10px;
 background:#fff;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-card>h3,
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-card>h4{margin:0 0 8px;color:var(--erp-ink)}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-card>ul{margin:8px 0;padding-left:20px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-stats{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
 gap:8px;
 margin:10px 0 14px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-stats>div{
 min-width:0;
 padding:9px 11px;
 border:1px solid #e1e8f2;
 border-radius:9px;
 background:var(--erp-soft);
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-stats small{
 color:var(--erp-muted);
 font-size:10.5px;
 line-height:1.3;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-stats strong{
 display:block;
 margin-top:4px;
 color:var(--erp-ink);
 font-size:17px;
 line-height:1.25;
 overflow-wrap:anywhere;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-task{
 margin:6px 0;
 padding:9px 11px 9px 15px;
 border-radius:9px;
 font-size:12.5px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-task p{line-height:1.45}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .checklist{display:grid;gap:4px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .checklist label{min-height:0;margin:0;padding:5px 7px;border-radius:7px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .checklist label:hover{background:var(--erp-soft)}

/* Permissoes granulares: grupos legiveis sem transformar cada regra em card alto. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups]{display:grid;gap:8px;margin-top:10px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups]>details{
 border:1px solid var(--erp-line);
 border-radius:9px;
 overflow:hidden;
 background:#fff;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups]>details>summary{
 min-height:38px;
 padding:9px 12px;
 background:#f4f7fc;
 color:#273b59;
 font-size:12.5px;
 font-weight:750;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(180px,220px);
 gap:4px 14px;
 padding:10px 12px;
 border-top:1px solid #e8edf4;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]>h3{
 margin:0;
 font-size:13px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]>p{
 grid-column:1;
 margin:0;
 color:var(--erp-muted);
 font-size:11.5px;
 line-height:1.4;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]>label{
 grid-column:2;
 grid-row:1/4;
 align-self:center;
 margin:0;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] select{margin-top:4px}

/* Financeiro e DDA: colunas e comparacoes nunca estouram o painel. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .financeiro-colunas>*{min-width:0;margin:0}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .financeiro-leitura{margin:8px 0;font-size:12.5px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .financeiro-vencida td{color:#7f1d1d}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .financeiro-total td{background:#f5f8fc;color:var(--erp-ink)}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .dda-titulo{overflow:hidden}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .boleto-form .erp-form :is(input,select,textarea){min-height:36px;font-size:14px}

/* Conferencia de NF-e: leitura e progresso permanecem operacionais. */
.nfe-conferencia-page [data-main]>[data-scan]{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:8px;
 align-items:end;
 margin:12px 0;
 padding:12px;
 border:1px solid #cbdcf7;
 border-radius:9px;
 background:#f5f9ff;
}
.nfe-conferencia-page [data-main]>[data-scan]>label{margin:0}
.nfe-conferencia-page [data-main]>[data-readings]{
 max-height:310px;
 margin:10px 0;
 overflow:auto;
 border:1px solid #e1e8f2;
 border-radius:9px;
 background:#fff;
}
.nfe-conferencia-page [data-main]>[data-readings]>p{margin:0;padding:8px 10px;border-bottom:1px solid #edf1f6;font-size:12px}

/* Administracao de motos e configuracoes, usando apenas estruturas existentes. */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .motos-grade{
 display:grid;
 grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
 gap:10px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto{padding:12px 14px;border-radius:10px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto.inativa{opacity:.68;background:#f7f8fa}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-cabecalho{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:10px;
 margin-bottom:10px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-placa{display:block;font-size:18px;letter-spacing:.06em}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-dados{
 display:grid;
 grid-template-columns:auto 1fr;
 gap:4px 10px;
 margin:0;
 font-size:12.5px;
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-dados dt{color:var(--erp-muted)}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-dados dd{margin:0;text-align:right}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-oleo{margin:10px 0;padding:7px 9px;border-radius:8px;background:#f4f7fb;font-size:12px}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .moto-historico{margin-top:8px;border-top:1px solid var(--erp-line)}

/* Dialogos densos de produto mantem campos clicaveis em desktop. */
.product-single input,.product-single select{min-height:34px}

@media(max-width:900px){
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-table{font-size:12px}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .financeiro-colunas{grid-template-columns:1fr}
}

@media(max-width:760px){
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed)>[data-main]>h3{margin-top:14px}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-actions:not(td){gap:7px}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-actions:not(td)>button{flex:1 1 150px;min-height:44px}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) td.erp-actions button{min-height:44px;padding:8px 11px}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-form{grid-template-columns:1fr}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-details,
 body:not(:has(.pdv-page,.pdv-open)) .erp-dialog .erp-details{grid-template-columns:minmax(95px,36%) minmax(0,1fr)}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]{grid-template-columns:1fr}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) [data-permission-groups] section[data-search]>label{
  grid-column:1;
  grid-row:auto;
  margin-top:5px;
 }
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .boleto-form .erp-form :is(input,select,textarea){min-height:44px;font-size:16px}
 .nfe-conferencia-page [data-main]>[data-scan]{grid-template-columns:1fr}
 .nfe-conferencia-page [data-main]>[data-scan]>button{min-height:44px}
}

@media(max-width:560px){
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .personal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .motos-grade{grid-template-columns:1fr}
 #page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) td.erp-actions{white-space:normal}
}

/* ======================================================================
   Pílula de situação — a MESMA linguagem já aprovada em `.pr-pilula`
   (Produtos), com nome neutro para servir a qualquer tela do ERP. Sem
   segunda identidade: mesmos raios, mesmas cores, mesmo ponto.
   ====================================================================== */
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill{
 display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border-radius:14px;
 font-size:12px;font-weight:600;white-space:nowrap
}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill i{width:8px;height:8px;border-radius:50%;background:currentColor}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill.ok{background:#e9f8ef;color:#15803d}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill.aviso{background:#fff7e0;color:#b45309}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill.perigo{background:#fdecec;color:#c81e1e}
#page:not(.pdv-page):not(.pdv-open):not(.pdv-closed) .erp-pill.neutro{background:#eef2f7;color:#53637a}

/* ======================================================================
   Vendas / Relatórios — consulta gerencial.
   O problema não era espaçamento: a tela usava o renderizador genérico e
   virava dezenas de colunas de ~40px, onde "VENDA" quebrava em "VEN/DA" e
   "FINALIZADA" em "FINAL/IZAD/A". Aqui as colunas curtas não quebram, e só
   cliente e vendedor — que são texto de tamanho livre — podem quebrar.
   ====================================================================== */
#page.vendas-page .erp-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px}
#page.vendas-page .erp-filtros>label{margin:0;flex:0 0 auto;min-width:150px}
#page.vendas-page .erp-filtros>button{flex:0 0 auto}
#page.vendas-page .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
#page.vendas-page .cards .card strong{font-size:21px}
#page.vendas-page .vendas-tabela{table-layout:auto;width:100%}
#page.vendas-page .vendas-tabela :is(th,td){white-space:nowrap}
#page.vendas-page .vendas-tabela :is(th,td):nth-child(3),
#page.vendas-page .vendas-tabela :is(th,td):nth-child(4){white-space:normal;min-width:130px}
#page.vendas-page .vendas-tabela td.num{font-variant-numeric:tabular-nums;font-weight:650}
#page.vendas-page .vendas-numero strong{display:block;font-variant-numeric:tabular-nums}
#page.vendas-page .vendas-numero small{display:block;color:#6a7b93;font-size:11px}
#page.vendas-page .vendas-quando strong{display:block;font-weight:600}
#page.vendas-page .vendas-quando small{display:block;color:#6a7b93;font-size:11px;font-variant-numeric:tabular-nums}
#page.vendas-page td.erp-actions{width:1%;text-align:right}
#page.vendas-page .vendas-nota{margin:10px 0 0;font-size:12px;line-height:1.55}
@media(max-width:1100px){
 #page.vendas-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 #page.vendas-page .erp-filtros>label{flex:1 1 100%;min-width:0}
 #page.vendas-page .erp-filtros>button{flex:1 1 100%}
 #page.vendas-page .cards{grid-template-columns:1fr}
}
