:root{--bg:#f4f6f9;--surface:#ffffff;--border:#dbe2ea;--text:#1c2733;--text-dim:#5b6b7c;--primary:#14532d;--primary-soft:#e7f3ec;--danger:#b91c1c;--danger-soft:#fdecec;--warn:#92500a;--warn-soft:#fdf3e2;--ok:#14532d;--ok-soft:#e7f3ec;--info-soft:#e8eef7;--radius:8px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13.5px;line-height:1.4}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.2rem;margin:0 0 .7rem}h2{font-size:.98rem;margin:1rem 0 .4rem}.quem{font-size:.78rem;color:var(--text-dim);margin:.2rem 0 .6rem}.app{display:flex;flex-direction:column;min-height:100vh}.menubar{display:flex;align-items:stretch;gap:.25rem;background:#0f2419;color:#d7e5dc;border-bottom:2px solid #14532d;padding:0 .75rem;flex-wrap:wrap}.menubar-marca{display:flex;align-items:center;font-weight:700;color:#fff;padding:0 1rem 0 .25rem;font-size:1rem;letter-spacing:.02em}.menubar-nav{display:flex;align-items:stretch}.menu-inicio{display:flex;align-items:center;color:#c4d6ca;padding:.65rem .9rem;font-size:.9rem}.menu-inicio:hover{background:#1a3527;color:#fff;text-decoration:none}.menu-grupo{position:relative;display:flex}.menu-trigger{background:transparent;color:#c4d6ca;border:none;cursor:pointer;padding:.65rem .9rem;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.3rem;border-radius:0}.menu-trigger.ativo,.menu-trigger:hover{background:#1a3527;color:#fff}.menu-trigger .seta{font-size:.65rem;opacity:.8}.menu-dropdown{position:absolute;top:100%;left:0;z-index:50;min-width:220px;background:#fff;border:1px solid var(--border);border-top:none;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:.25rem 0}.menu-item{display:block;padding:.5rem 1rem;color:var(--text);font-size:.9rem}.menu-item:hover{background:var(--primary-soft);text-decoration:none}.menubar-dir{margin-left:auto;gap:.75rem;flex-wrap:wrap;padding:.35rem 0}.empresa-form,.menubar-dir{display:flex;align-items:center}.empresa-form{gap:.4rem}.empresa-form select{padding:.3rem .5rem;font-size:.85rem;max-width:220px}.menubar-empresa{color:#fff;font-weight:600;font-size:.88rem}.menubar-user{color:#9fb6a8;font-size:.82rem}.canvas{flex:1 1;background:#3a4652;background-image:radial-gradient(circle at 50% 40%,#45525f 0,#333d47 100%);padding:1.5rem;overflow:auto}.desktop{max-width:1200px;margin:0 auto}.desktop h1{color:#eef3f0}.janela-area{display:flex;justify-content:center;align-items:flex-start}.janela{width:100%;max-width:1150px;background:var(--surface);border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.4);overflow:hidden;border:1px solid #223}.janela-barra{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#1a3527,#14532d);color:#fff;padding:.55rem .9rem;font-size:.95rem;font-weight:600}.janela-fechar{color:#fff;font-size:1rem;line-height:1;padding:.15rem .5rem;border-radius:4px}.janela-fechar:hover{background:rgba(255,255,255,.2);text-decoration:none}.janela-corpo{padding:1rem 1.1rem;max-height:calc(100vh - 118px);overflow:auto}.janela-corpo h1{font-size:1.05rem}.cartao{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem .9rem;margin-bottom:.8rem}.grade-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:.8rem}.metrica{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}.metrica .rotulo{font-size:.74rem;color:var(--text-dim)}.metrica .valor{font-size:1.15rem;font-weight:700;margin-top:.1rem}.metrica .valor.neg{color:var(--danger)}table{width:100%;border-collapse:collapse;background:var(--surface)}td,th{text-align:left;padding:.35rem .55rem;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);background:#f8fafb}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:hover td{background:#fbfcfd}.badge{display:inline-block;padding:.1rem .5rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge.aberto{background:var(--info-soft);color:#1e4a8a}.badge.parcial{background:var(--warn-soft);color:var(--warn)}.badge.baixado{background:var(--ok-soft);color:var(--ok)}.badge.atrasado{background:var(--danger-soft);color:var(--danger)}.badge.entrada{background:var(--ok-soft);color:var(--ok)}.badge.saida{background:var(--danger-soft);color:var(--danger)}.badge.pendente{background:var(--warn-soft);color:var(--warn)}.badge.processado{background:var(--ok-soft);color:var(--ok)}form.linha{display:flex;gap:.55rem;flex-wrap:wrap;align-items:flex-end}label.campo{display:flex;flex-direction:column;gap:.2rem;font-size:.76rem;color:var(--text-dim)}input,select,textarea{padding:.35rem .5rem;border:1px solid var(--border);border-radius:5px;font-size:.86rem;background:#fff;color:var(--text);font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:0}button{padding:.4rem .85rem;border:none;border-radius:5px;cursor:pointer;background:var(--primary);color:#fff;font-size:.86rem;font-weight:600}button:hover{filter:brightness(1.15)}button.sec{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.perigo{background:var(--danger)}button.mini{padding:.2rem .55rem;font-size:.78rem}.msg{padding:.45rem .8rem;border-radius:5px;margin-bottom:.7rem;font-size:.85rem}.msg.erro{background:var(--danger-soft);color:var(--danger)}.msg.ok{background:var(--ok-soft);color:var(--ok)}details.expande{margin-top:.3rem;margin-bottom:.6rem}details.expande summary{cursor:pointer;font-size:.82rem;color:var(--primary)}details.expande .cartao{margin-top:.4rem;margin-bottom:0}.abas{margin-top:.5rem}.abas-barra{display:flex;gap:.15rem;border-bottom:1px solid var(--border)}.abas-botao{background:#eef1f4;color:var(--text-dim);border:1px solid var(--border);border-bottom:none;border-radius:5px 5px 0 0;padding:.3rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer;position:relative;top:1px}.abas-botao:hover{filter:none;background:#e4e8ec}.abas-botao.ativa{background:var(--surface);color:var(--text);border-bottom:1px solid var(--surface)}.abas-conteudo{border:1px solid var(--border);border-top:none;padding:.8rem;background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.abas-conteudo .cartao{border:none;padding:0;margin-bottom:0}.tipo-fixo{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-dim)}input.ro{background:#eef1f4;color:var(--text)}.pag-grid{display:grid;grid-template-columns:minmax(300px,5fr) 7fr;grid-gap:.8rem;gap:.8rem}@media (max-width:900px){.pag-grid{grid-template-columns:1fr}}tfoot td{font-weight:700;background:#f8fafb}.central{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.central .caixa{width:100%;max-width:400px}.central h1{text-align:center}.central form{display:flex;flex-direction:column;gap:.75rem}.central .marca-login{text-align:center;color:var(--primary);font-weight:700;font-size:1.3rem;margin-bottom:.5rem}.rodape-form{text-align:center;font-size:.88rem;margin-top:1rem}.vazio{color:var(--text-dim);font-style:italic;padding:.6rem 0}@keyframes skel-pulso{0%,to{opacity:.55}50%{opacity:1}}.skel{background:#e7ecf1;border-radius:5px;animation:skel-pulso 1.1s ease-in-out infinite}.skel-titulo{height:1.2rem;width:40%;margin-bottom:.7rem}.skel-linha{height:2rem;width:70%;margin-bottom:.7rem}.skel-bloco{height:11rem;width:100%}.acoes-tabela{display:flex;gap:.35rem;flex-wrap:wrap}.filtros{margin-bottom:.7rem}.filtro-apollo{flex-wrap:wrap;align-items:flex-end;gap:.5rem}.filtro-apollo .campo{min-width:120px}.filtro-apollo .campo input{width:100%}.sit-box{border:1px solid var(--border);border-radius:6px;padding:.25rem .55rem .4rem;display:flex;flex-wrap:wrap;gap:.15rem .7rem;align-items:center}.sit-box legend{font-size:.72rem;color:var(--text-dim);padding:0 .3rem}.sit-opt{display:inline-flex;align-items:center;gap:.28rem;font-size:.8rem;white-space:nowrap}.sit-opt input{margin:0}