:root{--bg:#f3f6f4;--bg-tint:#eaf0ec;--surface:#fff;--surface-2:#f9fbfa;--text:#454f49;--text-h:#0e1f17;--muted:#74807a;--border:#e4e9e5;--border-strong:#d3dad5;--accent:#1f7a5a;--accent-2:#2a9770;--accent-weak:#e6f2ec;--accent-strong:#12583f;--danger:#bf4831;--danger-weak:#fbeae5;--warn:#b0801f;--warn-weak:#faf1da;--code-bg:#eef1ee;--grad:linear-gradient(135deg, #2a9770 0%, #1f7a5a 100%);--ring:0 0 0 3px #1f7a5a2e;--shadow-sm:0 1px 2px #10211a0d;--shadow:0 1px 2px #10211a0a, 0 10px 26px -14px #10211a29;--shadow-lg:0 2px 6px #10211a0f, 0 22px 48px -20px #10211a3d;--radius-sm:9px;--radius:14px;--radius-lg:20px;--t:.16s cubic-bezier(.4, 0, .2, 1);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font:15px/1.55 system-ui,Segoe UI,Roboto,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0e1411;--bg-tint:#131b16;--surface:#161e19;--surface-2:#1a231d;--text:#a7b3ac;--text-h:#eef4f0;--muted:#7b877f;--border:#26302a;--border-strong:#313d35;--accent:#3fae83;--accent-2:#57c99b;--accent-weak:#16261f;--accent-strong:#6fd6ab;--danger:#e07a63;--danger-weak:#2a1b17;--warn:#d8ab53;--warn-weak:#2a2213;--code-bg:#1b241f;--grad:linear-gradient(135deg, #3fae83 0%, #2a9770 100%);--ring:0 0 0 3px #3fae8340;--shadow-sm:0 1px 2px #0006;--shadow:0 10px 26px -14px #0009;--shadow-lg:0 22px 48px -20px #000000b3}}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 100% -10%, var(--bg-tint), transparent 60%), radial-gradient(900px 500px at -10% 110%, var(--bg-tint), transparent 55%), var(--bg);background-attachment:fixed;margin:0}h1,h2,h3{color:var(--text-h);letter-spacing:-.01em;margin:0;font-weight:650}h2{font-size:17px}h3{font-size:15px}a{color:inherit;text-decoration:none}code{background:var(--code-bg);border-radius:6px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.85em}.muted{color:var(--muted)}.center{text-align:center}.num{text-align:right;font-variant-numeric:tabular-nums}.app-shell{grid-template-columns:260px 1fr;min-height:100svh;display:grid}.sidebar{color:#cfe3d9;background:linear-gradient(185deg,#17553d 0%,#0d3728 100%);border-right:none;flex-direction:column;gap:26px;height:100svh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:4px 8px;display:flex}.brand.center{justify-content:center}.brand-mark{background:var(--grad);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:700;display:grid;box-shadow:0 6px 16px -6px #1f7a5a80}.sidebar .brand-mark{color:var(--accent-strong);background:#fff;box-shadow:0 4px 14px -4px #00000073}.brand strong{color:var(--text-h);letter-spacing:-.01em;font-size:18px;display:block}.brand small{color:var(--muted);font-size:12px}.sidebar .brand strong{color:#fff}.sidebar .brand small{color:#9cc4b2}.sidebar nav{flex-direction:column;gap:3px;display:flex}.nav-item{color:#cfe3d9;transition:background var(--t), color var(--t);border-radius:10px;align-items:center;gap:11px;padding:11px 12px;font-weight:500;display:flex}.nav-item:hover{color:#fff;background:#ffffff17}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent-2);background:#ffffff29;font-weight:600}.sidebar-footer{color:#9cc4b2;justify-items:start;gap:8px;margin-top:auto;padding:8px;display:grid}.sidebar-footer .btn.ghost{color:#eaf4ef;border:1px solid #fff3}.sidebar-footer .btn.ghost:hover{background:#ffffff1f;border-color:#ffffff4d}.content{max-width:1120px;padding:34px 40px}.page-header{margin-bottom:26px}.page-header h1{letter-spacing:-.02em;align-items:center;gap:13px;font-size:30px;display:flex}.page-header h1:before{content:"";background:var(--grad);border-radius:3px;width:5px;height:26px}.page-header p{color:var(--muted);max-width:72ch;margin-top:8px;margin-left:18px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:22px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow var(--t), border-color var(--t), transform var(--t);margin-bottom:18px;padding:22px}.card.kpi{border-top:3px solid var(--accent);flex-direction:column;gap:4px;margin-bottom:0;display:flex}.card.kpi:hover{box-shadow:var(--shadow-lg);border-top-color:var(--accent-2);transform:translateY(-3px)}.card.kpi small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.card.kpi strong{color:var(--text-h);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px}.card.kpi .hint{color:var(--muted);font-size:12px}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}table{border-collapse:collapse;width:100%}table.data th,table.data td,table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 12px}table.data th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}table.data tbody tr{transition:background var(--t)}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr:last-child td{border-bottom:none}.report-grid{grid-template-columns:1fr 1fr;gap:24px;margin:16px 0;display:grid}.report-grid h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:13px}.badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge.entrada{background:var(--accent-weak);color:var(--accent-strong);border-color:#1f7a5a2e}.badge.saida{background:var(--danger-weak);color:var(--danger);border-color:#bf48312e}.badge.rascunho{background:var(--warn-weak);color:var(--warn);border-color:#b0801f38}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);cursor:pointer;transition:background var(--t), border-color var(--t), box-shadow var(--t), transform var(--t);border-radius:10px;padding:9px 16px;font-weight:600}.btn:hover{border-color:var(--accent);background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn.primary{background:var(--grad);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #1f7a5a8c}.btn.primary:hover{filter:brightness(1.05);box-shadow:0 8px 20px -8px #1f7a5a99}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-tint);border-color:#0000}.btn.block{width:100%}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.form-grid{gap:16px;max-width:460px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label,.field>span{color:var(--text-h);font-size:14px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);transition:border-color var(--t), box-shadow var(--t);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus,select.em-tabela:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}select.em-tabela,table.data select{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);font:inherit;max-width:260px;transition:border-color var(--t), box-shadow var(--t);border-radius:8px;padding:6px 8px}table.data .btn{padding:6px 12px}.empty{text-align:center;color:var(--muted);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:30px}.card.erro{background:var(--danger-weak);color:var(--danger);border-color:#bf483159}.card.ok{background:var(--accent-weak);color:var(--accent-strong);border-color:#1f7a5a4d}p.erro{color:var(--danger);margin-top:8px;font-weight:500}.row{align-items:center;gap:8px;display:flex}td.acoes{flex-wrap:wrap;align-items:center;gap:6px;display:flex}tr.inativo{opacity:.5}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);transition:border-color var(--t), background var(--t);flex-direction:column;align-items:center;gap:8px;padding:36px;display:flex}.dropzone:hover{border-color:var(--accent)}.login-shell{background:radial-gradient(700px 400px at 50% -10%, var(--accent-weak), transparent 60%), var(--bg);place-items:center;min-height:100svh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:20px;width:390px;max-width:100%;padding:34px;display:flex}.login-card form{flex-direction:column;gap:14px;display:flex}.login-card label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.login-card input{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);transition:border-color var(--t), box-shadow var(--t);border-radius:10px;padding:11px 12px;font-size:15px}.login-card input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.fineprint{color:var(--muted);text-align:center;font-size:12px;font-style:italic}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:12px;height:auto;position:static}.sidebar nav{flex-flow:wrap}.sidebar-footer{margin:0}.content{padding:22px}.report-grid{grid-template-columns:1fr}}
