/* ERP Neumann — visual próprio, layout familiar (doc 00 ADR-10) */
:root {
  --azul: #1e5aa8; --azul-esc: #14406e; --cinza: #f2f4f7; --borda: #d7dce3;
  --texto: #1c2733; --ok: #1a7f37; --erro: #b42318;
}
* { box-sizing: border-box; }
body { margin: 0; font: 14px/1.45 system-ui, Segoe UI, sans-serif; color: var(--texto); background: var(--cinza); }
button { font: inherit; background: var(--azul); color: #fff; border: 0; border-radius: 6px; padding: 8px 16px; cursor: pointer; }
button:hover { background: var(--azul-esc); }
input, select { font: inherit; padding: 7px 9px; border: 1px solid var(--borda); border-radius: 6px; width: 100%; }
label { display: block; margin-bottom: 10px; font-weight: 600; }
label input { margin-top: 4px; font-weight: 400; }
.erro { color: var(--erro); }

/* login */
.tela-login { display: grid; place-items: center; min-height: 100vh; }
.card-login { background: #fff; border: 1px solid var(--borda); border-radius: 10px; padding: 28px 26px; width: min(360px, 92vw); }
.card-login h1 { margin: 0; font-size: 22px; color: var(--azul-esc); }
.card-login .sub { margin: 4px 0 18px; color: #5a6b7f; }
.card-login button { width: 100%; margin-top: 6px; }

/* shell */
.topo { background: var(--azul-esc); color: #fff; display: flex; align-items: center; gap: 16px; padding: 0 16px; height: 48px; }
.topo .marca { font-weight: 700; }
.topo nav { display: flex; gap: 2px; overflow-x: auto; flex: 1; }
.topo nav a { color: #cfe0f5; text-decoration: none; padding: 14px 10px; white-space: nowrap; border-bottom: 3px solid transparent; }
.topo nav a.ativo, .topo nav a:hover { color: #fff; border-bottom-color: #fff; }
.topo .usuario { font-size: 13px; opacity: .9; }
.topo .sair { background: transparent; border: 1px solid #ffffff55; padding: 4px 10px; }
main.conteudo { padding: 20px; max-width: 1100px; margin: 0 auto; }
.card { background: #fff; border: 1px solid var(--borda); border-radius: 10px; padding: 18px; margin-bottom: 16px; }
.card h2 { margin: 0 0 12px; font-size: 17px; }
table.lista { width: 100%; border-collapse: collapse; }
table.lista th, table.lista td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--borda); }
table.lista th { background: #fafbfc; font-size: 12px; text-transform: uppercase; color: #5a6b7f; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; background: var(--cinza); }
.badge.ok { background: #e6f4ea; color: var(--ok); }
.badge.off { background: #fdecea; color: var(--erro); }
.aviso-construcao { color: #5a6b7f; padding: 40px 0; text-align: center; }
.form-linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.card h3 { margin: 18px 0 8px; font-size: 15px; color: var(--azul-esc); }
table.lista td.num { text-align: right; font-variant-numeric: tabular-nums; }
tr.clicavel { cursor: pointer; }
tr.clicavel:hover td { background: #f0f6ff; }
.dim { color: #8090a2; font-size: 12px; }
.vermelho { color: var(--erro); }
.verde { color: var(--ok); }
.voltar { background: transparent; color: var(--azul); border: 1px solid var(--borda); margin-bottom: 10px; }
.voltar:hover { background: var(--cinza); }
.totais { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--borda); }
.parcela { font-size: 13px; color: #5a6b7f; margin-left: 12px; }
.cards-mini { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.cards-mini .mini { background: #fafbfc; border: 1px solid var(--borda); border-radius: 8px; padding: 10px 14px; min-width: 120px; }
.cards-mini .mini span { display: block; font-size: 12px; color: #5a6b7f; }
.cards-mini .mini strong { font-size: 18px; }
.lista-wrap { margin-top: 10px; }
.cabecalho-acao { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cabecalho-acao h2 { margin: 0; }
.pdv hr { border: 0; border-top: 1px solid var(--borda); margin: 16px 0; }
.autocomplete { position: relative; }
.drop { position: absolute; z-index: 10; left: 0; right: 0; background: #fff; border: 1px solid var(--borda); border-top: 0; border-radius: 0 0 8px 8px; max-height: 280px; overflow-y: auto; box-shadow: 0 8px 20px rgba(0,0,0,.1); }
.drop:empty { display: none; }
.drop-item { padding: 8px 10px; cursor: pointer; border-bottom: 1px solid #eef1f5; }
.drop-item:hover { background: #f0f6ff; }
.mini-input { width: 74px; padding: 4px 6px; }
.mini-btn { padding: 3px 8px; font-size: 12px; background: var(--cinza); color: var(--azul-esc); }
button.rem { background: transparent; color: var(--erro); padding: 2px 8px; }
.totais-pdv { margin: 12px 0; padding: 10px; background: #fafbfc; border: 1px solid var(--borda); border-radius: 8px; }
.fatura-linha { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #eef1f5; flex-wrap: wrap; }
.fatura-linha .parcela { flex-basis: 100%; }
button.grande { width: 100%; padding: 12px; font-size: 16px; margin-top: 14px; }
.card.sucesso { text-align: center; border-color: var(--ok); }
.card.sucesso h2 { color: var(--ok); }
.card.sucesso button { margin: 8px 6px 0; }
