: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:15px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.35rem;margin:0 0 1rem}h2{font-size:1.05rem;margin:1.5rem 0 .5rem}.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:1.5rem;max-height:calc(100vh - 130px);overflow:auto}.janela-corpo h1{font-size:1.15rem}.cartao{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.grade-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.25rem}.metrica{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.metrica .rotulo{font-size:.8rem;color:var(--text-dim)}.metrica .valor{font-size:1.35rem;font-weight:700;margin-top:.15rem}.metrica .valor.neg{color:var(--danger)}table{width:100%;border-collapse:collapse;background:var(--surface)}td,th{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border);font-size:.92rem;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;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:.75rem;flex-wrap:wrap;align-items:flex-end}label.campo{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-dim)}input,select,textarea{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:.92rem;background:#fff;color:var(--text);font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:0}button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;background:var(--primary);color:#fff;font-size:.92rem;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:.25rem .6rem;font-size:.8rem}.msg{padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.92rem}.msg.erro{background:var(--danger-soft);color:var(--danger)}.msg.ok{background:var(--ok-soft);color:var(--ok)}details.expande{margin-top:.35rem}details.expande summary{cursor:pointer;font-size:.85rem;color:var(--primary)}details.expande .cartao{margin-top:.5rem;margin-bottom:0}.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:1rem 0}.acoes-tabela{display:flex;gap:.4rem;flex-wrap:wrap}.filtros{margin-bottom:1rem}