:root{--azul:#0a4da2;--azul2:#1e74d6;--verde:#1f9d55;--verde-bg:#e6f7ee;--vermelho:#cf2d3a;--vermelho-bg:#fdeaec;--tinta:#1b2430;--cinza:#5b6b7c;--borda:#e2e8f0;--fundo:#f4f6fb}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Roboto,system-ui,sans-serif;background:var(--fundo);color:var(--tinta)}button{font:inherit;cursor:pointer;border:1px solid var(--borda);background:#fff;border-radius:8px;padding:8px 12px}button:hover{background:#f0f4fa}button:disabled{opacity:.45;cursor:not-allowed}button.prim{background:var(--azul);color:#fff;border-color:var(--azul)}button.prim:hover{background:#0c5bbf}button.prim.sm{padding:5px 10px;font-size:13px}kbd{font:11px monospace;background:#eef2f7;border:1px solid var(--borda);border-radius:4px;padding:0 4px;margin-left:6px;color:var(--cinza)}.app{max-width:1100px;margin:0 auto;padding:0 16px 40px}.top{display:flex;align-items:center;gap:16px;padding:14px 4px 0;position:relative}.top .logo{height:38px}.top .title{font-size:20px;font-weight:700}.top .title span{color:var(--cinza);font-weight:500}.top .band{position:absolute;left:4px;right:4px;bottom:-10px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--azul),var(--azul2),var(--verde))}.tabs{display:flex;gap:8px;margin:26px 0 16px}.tabs button{border-radius:10px}.tabs button.on{background:var(--azul);color:#fff;border-color:var(--azul)}.conf{display:flex;flex-direction:column;gap:14px}.barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.barra label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cinza)}.barra .rom{width:120px;font-size:18px;font-weight:700;padding:8px;border:1px solid var(--borda);border-radius:8px;text-align:center}.barra .spacer{flex:1}.badge.enc{background:var(--verde-bg);color:var(--verde);font-weight:700;padding:8px 14px;border-radius:8px;border:1px solid #bfe7cf}.info{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:14px}.info>div{display:flex;flex-direction:column;gap:2px;min-width:0}.info b{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cinza)}.info span{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info .kpi span{color:var(--azul);font-size:18px}.scan{background:#fff;border:2px solid var(--borda);border-radius:12px;padding:16px;transition:.15s;position:relative}.scan.ok{border-color:var(--verde);background:var(--verde-bg)}.scan.err{border-color:var(--vermelho);background:var(--vermelho-bg)}.scan input{width:100%;font-size:24px;padding:14px;border:1px solid var(--borda);border-radius:8px;text-align:center;letter-spacing:.05em}.scan .flashmsg{margin-top:10px;font-weight:700;text-align:center}.scan.ok .flashmsg{color:var(--verde)}.scan.err .flashmsg{color:var(--vermelho)}.scan .hint{position:absolute;top:10px;right:14px;font-size:12px;color:var(--azul);font-weight:600}.grid{background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden}.grid table{width:100%;border-collapse:collapse;font-size:14px}.grid th,.grid td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--borda)}.grid th{background:#f7f9fc;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--cinza)}.grid td.n,.grid th.n{text-align:right;font-variant-numeric:tabular-nums}.grid tr.done{color:#8a98a8}.grid td.saldo{color:var(--vermelho);font-weight:700}.grid td.zero{color:var(--verde);font-weight:600}.grid tr.click{cursor:pointer}.grid tr.click:hover{background:#f0f6ff}.vazio{text-align:center;color:var(--cinza);padding:22px}.lista .lh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lista h2{font-size:18px;margin:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f192873;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal .box{background:#fff;border-radius:14px;width:min(900px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal h3{margin:0;padding:16px 18px;border-bottom:1px solid var(--borda)}.modal .tbl{overflow:auto}.modal table{width:100%;border-collapse:collapse;font-size:13px}.modal th,.modal td{padding:8px 12px;border-bottom:1px solid var(--borda);text-align:left}.modal th{background:#f7f9fc;position:sticky;top:0}.modal .foot{padding:12px 18px;border-top:1px solid var(--borda);text-align:right}button.del{padding:4px 10px;font-size:12px;color:var(--vermelho);border-color:#f0c4c9}button.del:hover{background:var(--vermelho-bg)}
