:root { --azul:#001a66; --azul2:#062b8f; --ciano:#54ffff; --amarelo:#fff36a; --branco:#f3f7ff; --sombra:#000826; }
* { box-sizing:border-box; }
a { color:var(--amarelo); text-decoration-thickness:2px; text-underline-offset:2px; }
a:visited { color:#ffd58a; }
a:hover,a:focus { color:white; background:#1747a8; outline:1px solid var(--ciano); }
body { margin:0; min-height:100vh; background:var(--azul); color:var(--branco); font:18px/1.35 Consolas,"Courier New",monospace; padding-bottom:48px; }
.topo { height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border-bottom:3px double var(--ciano); color:var(--ciano); background:#000e42; }
.topo strong { color:var(--amarelo); font-size:24px; letter-spacing:2px; }
.topo strong small { color:var(--ciano); font-size:12px; letter-spacing:0; }
.menu { display:flex; gap:4px; padding:8px 14px; background:var(--azul2); border-bottom:1px solid var(--ciano); }
.menu a,.menu span { color:var(--branco); text-decoration:none; padding:5px 10px; white-space:nowrap; }
.menu a:hover,.menu a:focus { color:#00134d; background:var(--ciano); outline:none; }
.menu .futuro { color:#8fa3d8; }
main { padding:22px; }
.janela { max-width:1400px; margin:auto; border:2px solid var(--ciano); box-shadow:10px 10px 0 var(--sombra); background:#00227c; padding:14px; }
h1 { margin:0 0 16px; color:var(--amarelo); text-align:center; font-size:22px; }
.subtitulo { text-align:center; color:var(--ciano); }
.atalhos { max-width:700px; margin:35px auto; display:grid; gap:14px; }
.atalhos a,.atalhos div { display:grid; grid-template-columns:65px 1fr auto; gap:12px; padding:14px; border:1px solid var(--ciano); color:var(--branco); text-decoration:none; }
.atalhos a:hover,.atalhos a:focus { background:var(--ciano); color:#00134d; outline:none; }
.atalhos a.destaque { background:var(--amarelo); color:#00134d; border:2px solid white; }
.atalhos span { color:var(--amarelo); font-weight:bold; }
.mensagem { color:#00134d; background:var(--amarelo); padding:10px; text-align:center; }
.pesquisa { display:flex; align-items:center; gap:12px; margin-bottom:15px; }
input { flex:1; min-width:220px; color:var(--amarelo); background:#000b39; border:1px solid var(--ciano); padding:9px; font:inherit; text-transform:uppercase; }
input:focus { outline:2px solid var(--amarelo); }
button { background:var(--ciano); color:#00134d; border:0; padding:10px 18px; font:bold 16px Consolas,monospace; cursor:pointer; }
select { color:var(--amarelo); background:#000b39; border:1px solid var(--ciano); padding:9px; font:inherit; }
.botao { display:inline-block; background:var(--ciano); color:#00134d; padding:9px 14px; text-decoration:none; font-weight:bold; }
.botao.secundario { background:#8fa3d8; }
.titulo-acao { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.titulo-acao h1 { margin:0; }
.flash { margin:10px 0; padding:9px; color:#00134d; background:var(--amarelo); }
.flash { transition:opacity .45s ease,transform .45s ease; }
.flash.sumindo { opacity:0; transform:translateY(-5px); }
.flash.sucesso { background:#7dffb2; }
.campo-linha { display:grid; grid-template-columns:160px 1fr; gap:12px; align-items:center; margin:15px 0; }
.itens-editaveis { margin:12px 0; }
.itens-editaveis input { width:100%; min-width:100px; }
.itens-editaveis td:first-child { width:55%; }
.remover { padding:7px 12px; color:white; background:#a5162f; }
.perigo { color:white; background:#a5162f; }
.acoes { display:flex; justify-content:flex-end; gap:12px; margin-top:22px; }
.documento-topo { display:flex; justify-content:space-between; border-bottom:3px double var(--ciano); margin-bottom:15px; }
.documento-topo h1 { text-align:left; margin-top:5px; }
.cabecalho-impresso { display:grid; grid-template-columns:190px 1fr; align-items:center; gap:26px; margin-bottom:15px; padding-bottom:12px; border-bottom:1px solid var(--ciano); }
.cabecalho-impresso img { width:180px; height:105px; object-fit:contain; background:white; }
.cabecalho-impresso strong { color:var(--amarelo); font-size:24px; }
.contato-impresso { display:flex; flex-direction:column; gap:3px; font-size:17px; }
.contato-impresso span b { color:var(--ciano); }
.rodape-documento { margin-top:28px; padding:12px; border-top:1px solid var(--ciano); text-align:center; color:var(--ciano); }
.cliente-doc { margin:12px 0 20px; padding:10px; border:1px solid var(--ciano); }
.total-documento { text-align:right; color:var(--amarelo); font-size:24px; font-weight:bold; margin-top:18px; }
.resumo-venda { display:grid; grid-template-columns:180px 1fr; gap:9px; margin:15px 0 25px; padding:15px; border:1px solid var(--ciano); }
.resumo-venda span { color:var(--ciano); }
.aviso-operacao { margin-top:18px; padding:12px; color:#00134d; background:var(--amarelo); }
.autocomplete { position:relative; }
.autocomplete > div { position:relative; }
.sugestoes { position:absolute; z-index:20; left:0; right:0; top:100%; max-height:260px; overflow:auto; background:#000b39; border:1px solid var(--ciano); box-shadow:6px 6px 0 var(--sombra); }
.sugestoes:empty { display:none; }
.sugestao { display:block; width:100%; padding:9px; color:var(--branco); background:#000b39; border:0; border-bottom:1px solid #3155aa; text-align:left; font-weight:normal; }
.sugestao:hover,.sugestao:focus { color:#00134d; background:var(--ciano); }
.sugestao.ativa { color:#00134d; background:var(--amarelo); }
.sugestao-vazia { padding:9px; color:#ffadad; }
.tabela-orcamento { overflow:visible; }
.orcamento-editor .itens-editaveis { table-layout:fixed; }
.orcamento-editor .itens-editaveis th:nth-child(1){width:45px}.orcamento-editor .itens-editaveis th:nth-child(2){width:38%}.orcamento-editor .itens-editaveis th:nth-child(3){width:60px}.orcamento-editor .itens-editaveis th:nth-child(4){width:95px}.orcamento-editor .itens-editaveis th:nth-child(5){width:120px}.orcamento-editor .itens-editaveis th:nth-child(6){width:135px}.orcamento-editor .itens-editaveis th:nth-child(7){width:115px}.orcamento-editor .itens-editaveis th:nth-child(8){width:52px}
.material-celula .sugestoes { right:auto; width:720px; max-width:calc(100vw - 110px); }
.material-celula .sugestao { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:10px 14px; }
.orcamento-editor .unidade,.orcamento-editor .estoque,.orcamento-editor .total-item { color:var(--branco); font-weight:bold; }
.orcamento-editor .preco[readonly] { color:var(--amarelo); background:#00134d; border-color:#8fa3d8; cursor:not-allowed; opacity:1; }
.orcamento-editor tbody tr:hover .unidade,.orcamento-editor tbody tr:hover .estoque,.orcamento-editor tbody tr:hover .total-item { color:#00134d; }
.barra-itens { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:12px 0; }
.total-geral { color:var(--ciano); font-size:20px; }
.total-geral b { color:var(--amarelo); font-size:24px; }
.form-cadastro { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:14px 20px; }
.form-cadastro label { color:var(--ciano); }
.form-cadastro input,.form-cadastro select { display:block; width:100%; margin-top:5px; }
.form-cadastro .largo { grid-column:1 / -1; }
.form-cadastro fieldset { display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:14px 20px; margin:0; border:1px solid var(--ciano); padding:16px; }
.form-cadastro fieldset.largo { grid-column:1/-1; }
.form-cadastro legend { color:var(--amarelo); padding:0 8px; font-weight:bold; }
.campo-botao { display:flex; }
.campo-botao input { flex:1; }
.campo-botao button { white-space:nowrap; margin-top:5px; }
.resultados-endereco { display:grid; gap:6px; }
.resultados-endereco:empty { display:none; }
.resultado-endereco { width:100%; color:var(--branco); background:#00134d; border:1px solid var(--ciano); text-align:left; font-weight:normal; }
.resultado-endereco:hover,.resultado-endereco:focus { color:#00134d; background:var(--ciano); }
.painel-manutencao { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:25px; }
.painel-manutencao > div { border:1px solid var(--ciano); padding:16px; }
.login-corpo { display:grid; place-items:center; min-height:100vh; padding:30px; }
.login-caixa { width:min(480px,94vw); padding:28px; border:2px solid var(--ciano); background:#00227c; box-shadow:10px 10px 0 var(--sombra); }
.login-caixa label { display:block; color:var(--ciano); margin:16px 0; }
.login-caixa input,.login-caixa button { display:block; width:100%; margin-top:6px; }
.receber-compra { display:flex; gap:8px; }
.receber-compra input { min-width:280px; }
.indicadores { display:grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:12px; margin:18px 0 26px; }
.indicadores > div { padding:14px; border:1px solid var(--ciano); background:#00134d; }
.indicadores span { display:block; color:var(--ciano); font-size:15px; }
.indicadores b { display:block; margin-top:7px; color:var(--amarelo); font-size:24px; }
.grade-relatorios { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; align-items:start; }
.grade-relatorios h2,.relatorios h2 { color:var(--amarelo); font-size:19px; margin-top:24px; }
@media print { body{background:white;color:black;padding:0;font:12px Arial,sans-serif}.topo,.menu,footer,.sem-impressao,.flash{display:none!important}main{padding:0}.janela{border:0;box-shadow:none;background:white;max-width:none}.documento h1,.total-documento,th,.cabecalho-impresso strong,.rodape-documento{color:black}.cliente-doc,.documento-topo,.cabecalho-impresso,.rodape-documento{border-color:black}.cabecalho-impresso img{width:150px;height:88px}th{background:#eee}th,td{border-bottom:1px solid #999} }
.tabela-wrap { overflow:auto; max-height:65vh; border:1px solid var(--ciano); }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th { position:sticky; top:0; background:#000e42; color:var(--amarelo); text-align:left; }
th,td { padding:7px 9px; border-bottom:1px solid #3155aa; }
tbody tr:nth-child(even) { background:#0a318d; }
tbody tr:hover,tbody tr:focus { background:var(--ciano); color:#00134d; outline:none; }
tr.baixo { color:#ffadad; }
.numero { text-align:right; font-variant-numeric:tabular-nums; }
.status { margin:12px 0 0; color:var(--ciano); }
footer { position:fixed; bottom:0; left:0; right:0; height:38px; display:flex; align-items:center; gap:28px; padding:0 18px; background:#000e42; border-top:2px solid var(--ciano); }
footer b { color:var(--amarelo); }
@media(max-width:800px){ body{font-size:14px}.menu{overflow:auto}.topo span:last-child{display:none}.pesquisa{align-items:stretch;flex-direction:column}main{padding:10px} }
