:root{--bg: #0a0e16;--bg-radial: radial-gradient(120% 90% at 14% -12%, #122744 0%, #0a0e16 52%, #080b12 100%);--sidebar: rgba(7, 11, 20, .72);--card: rgba(10, 16, 28, .6);--card-2: rgba(10, 16, 28, .55);--glass: rgba(255, 255, 255, .045);--border: rgba(120, 160, 220, .14);--border-soft: rgba(120, 160, 220, .1);--border-glass: rgba(255, 255, 255, .08);--text: #e9edf4;--text-2: #bcd4f7;--muted: #8390a4;--muted-2: #7c88a0;--label: #6b7688;--label-2: #5b6577;--label-3: #4d5768;--accent: #2fc46b;--accent-light: #3fe083;--accent-dark: #1f9a52;--gold: #f5b324;--gold-light: #f5c552;--gold-dark: #d99512;--blue: #3d82e6;--blue-dark: #14416a;--red: #ef5a5a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}@keyframes nxpulse{0%,to{opacity:.5}50%{opacity:1}}.app{display:flex;min-height:100vh;background:var(--bg-radial)}.sidebar{width:236px;background:var(--sidebar);color:#cdd7e4;display:flex;flex-direction:column;padding:26px 16px 22px;flex-shrink:0;border-right:1px solid rgba(120,160,220,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{padding:0 6px}.brand img{width:176px;max-width:100%;display:block}.brand-status{display:flex;align-items:center;gap:7px;margin:16px 6px;font:500 10px var(--font-mono);letter-spacing:.12em;color:var(--label-2)}.brand-status .live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:nxpulse 2.4s infinite}.nav{display:flex;flex-direction:column;gap:2px;flex:1;font-size:13.5px}.nav button{background:transparent;border:none;color:#9aa4b4;text-align:left;padding:8px 12px;border-radius:8px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:11px;transition:.15s;width:100%}.nav button:hover{background:#ffffff08;color:#dfe6f1}.nav button.active{color:#eaf1fb;font-weight:600;background:#3d82e61f;box-shadow:inset 2px 0 0 var(--blue),0 0 20px -8px #3d82e6b3}.nav-group{display:flex;flex-direction:column;gap:2px}.nav .nav-group-title{color:var(--label-3);font:500 9px var(--font-mono);text-transform:uppercase;letter-spacing:.16em;padding:15px 12px 6px;gap:7px}.nav .nav-group-title:hover{background:transparent;color:var(--label)}.chev{display:inline-block;font-size:8px;transition:transform .15s;opacity:.7}.chev.open{transform:rotate(90deg)}.sidebar .foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft);display:flex;align-items:center;gap:10px}.foot-avatar{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--blue),var(--blue-dark));display:flex;align-items:center;justify-content:center;font:700 11px var(--font-display);color:#fff}.foot-info{min-width:0}.foot-info .email{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#cdd7e4}.foot-info button{background:none;border:none;color:var(--label);padding:0;font-size:10.5px}.foot-info button:hover{color:#fff}.content{flex:1;min-width:0;padding:30px 36px;max-width:1180px}.content.content-dash{padding:24px 30px 32px;max-width:none}.page-title{font:600 22px var(--font-display);letter-spacing:-.01em;margin:0 0 2px;color:var(--text)}.page-sub{color:var(--muted);font-size:14px;margin:0 0 24px}.row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}.stat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stat .label{font-size:12.5px;color:var(--muted-2);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.stat .value{font:700 25px var(--font-display);margin-top:8px;color:var(--text)}.stat .value.pos{color:var(--accent-light)}.stat .value.neg{color:var(--red)}.stat .hint{font-size:12px;color:var(--muted-2);margin-top:4px}.card{background:var(--card-2);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.card-head{padding:16px 20px;border-bottom:1px solid var(--border);font:600 15px var(--font-display)}.chart{display:flex;align-items:flex-end;gap:18px;height:190px;padding:24px 20px 8px}.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.chart .bars{display:flex;gap:5px;align-items:flex-end;height:100%}.chart .bar{width:16px;border-radius:4px 4px 0 0;min-height:2px}.chart .bar.in{background:var(--accent)}.chart .bar.out{background:var(--gold)}.chart .m{font-size:11px;color:var(--muted-2)}.legend{display:flex;gap:16px;padding:4px 20px 16px;font-size:12.5px;color:var(--muted-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:3px;display:inline-block}table{width:100%;border-collapse:collapse}th{text-align:left;font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.4px;color:var(--label-2);padding:12px 20px;border-bottom:1px solid var(--border-soft)}td{padding:13px 20px;border-bottom:1px solid var(--border-soft);font-size:14px;color:var(--text)}tr:last-child td{border-bottom:none}.amt{font-variant-numeric:tabular-nums;font-weight:600}.amt.in{color:var(--accent-light)}.amt.out{color:var(--red)}.empty{padding:40px 20px;text-align:center;color:var(--muted-2);font-size:14px}.tag{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid transparent}.tag.fixo{background:#3d82e61f;color:#8fb6f5;border-color:#3d82e647}.tag.variavel{background:#f5b3241f;color:var(--gold-light);border-color:#f5b32447}.tag.previsivel{background:#14b8a61f;color:#5eded0;border-color:#14b8a647}.tag.receita{background:#2fc46b1f;color:var(--accent-light);border-color:#2fc46b47}.tag.prolabore{background:#c084fc1f;color:#d8b4fe;border-color:#c084fc47}.tag.outro{background:#78a0dc1a;color:#a7b0be;border-color:#78a0dc38}.tag.ativo,.tag.ok{background:#2fc46b1f;color:var(--accent-light);border-color:#2fc46b47}.tag.inativo{background:#78a0dc1a;color:#8b95a5;border-color:#78a0dc38}.tag.alerta{background:#f5b3241f;color:var(--gold-light);border-color:#f5b32447}.tag.contrato{background:#3d82e61f;color:#8fb6f5;border-color:#3d82e647}.tag.nf{background:#14b8a61f;color:#5eded0;border-color:#14b8a647}.tag.vigente{background:#2fc46b1f;color:var(--accent-light);border-color:#2fc46b47}.tag.a_vencer{background:#f5b3241f;color:var(--gold-light);border-color:#f5b32447}.tag.encerrado{background:#78a0dc1a;color:#8b95a5;border-color:#78a0dc38}.tag.suspenso{background:#ef5a5a1f;color:#f6a5a5;border-color:#ef5a5a4d}.tag.reserva,.tag.aporte{background:#3d82e61f;color:#8fb6f5;border-color:#3d82e647}.tag.investimento{background:#2fc46b1f;color:var(--accent-light);border-color:#2fc46b47}.tag.resgate{background:#f5b3241f;color:var(--gold-light);border-color:#f5b32447}.calc-period{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.calc-period .btn{padding:8px 14px}.calc-month{padding:9px 12px;border:1px solid var(--border);border-radius:9px;font-size:14px;background:var(--glass);color:var(--text);color-scheme:dark}.calc-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}@media (max-width: 860px){.calc-grid{grid-template-columns:1fr}}.calc-cell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;width:100%}.calc-cell .prefix{color:var(--muted-2);font-size:13px;font-weight:600}.calc-num{width:130px;text-align:right;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-variant-numeric:tabular-nums;background:var(--glass);color:var(--text)}.calc-num:focus{outline:2px solid var(--accent);border-color:transparent}.result{padding:8px 20px 18px}.result-line{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:14px;border-bottom:1px solid var(--border-soft)}.result-line:last-child{border-bottom:none}.result-line.total{font-size:16px;font-weight:700;padding-top:12px}.result-line.total span{font-weight:700}.btn{background:linear-gradient(135deg,var(--accent-light),var(--accent));color:#04120a;border:none;padding:10px 16px;border-radius:10px;font:600 14px var(--font-body);transition:.15s;box-shadow:0 10px 30px -12px #2fc46b99}.btn:hover{box-shadow:0 12px 34px -8px #2fc46bb3}.btn.ghost{background:var(--glass);border:1px solid var(--border-glass);color:var(--text);box-shadow:none}.btn.ghost:hover{background:#ffffff12;box-shadow:none}.btn.link{background:none;border:none;color:var(--red);padding:4px 8px;font-size:13px;font-weight:500;box-shadow:none}.btn.link:hover{text-decoration:underline}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070c99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:#0d1524;border:1px solid var(--border);border-radius:16px;width:100%;max-width:440px;padding:26px;box-shadow:0 34px 80px -24px #000000b3}.modal.modal-lg{max-width:720px;max-height:90vh;overflow-y:auto}.modal h3{margin:0 0 18px;font:600 18px var(--font-display)}.form-section{margin-bottom:20px}.form-section>.fs-title{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.attach-slot{border:1px dashed var(--border);border-radius:10px;padding:12px 14px}.attach-slot .as-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.attach-file{display:flex;align-items:center;gap:10px;font-size:13px;padding:4px 0}.attach-file .fname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;color:var(--muted-2);margin-bottom:6px}.field input,.field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-size:14px;background:var(--glass);color:var(--text);color-scheme:dark}.field input:focus,.field select:focus{outline:2px solid var(--accent);border-color:transparent}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}select option{background:#0d1524;color:var(--text)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-radial)}.login{background:#0d1524;border:1px solid var(--border);border-radius:18px;padding:34px;width:100%;max-width:380px;box-shadow:0 34px 80px -24px #000000b3}.login h1{margin:0 0 4px;font:600 22px var(--font-display)}.login p{margin:0 0 22px;color:var(--muted);font-size:14px}.login .btn{width:100%;margin-top:6px;padding:12px}.login .swap{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}.login .swap button{background:none;border:none;color:var(--accent-light);font-weight:600}.err{background:#ef5a5a1a;color:#f6a5a5;border:1px solid rgba(239,90,90,.3);padding:10px 12px;border-radius:9px;font-size:13px;margin-bottom:14px}.dash-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.dash-crumb{font:500 11.5px var(--font-mono);letter-spacing:.1em;color:var(--label);text-transform:uppercase}.dash-crumb b{color:#aeb7c5;font-weight:500}.dash-topbar-right{display:flex;align-items:center;gap:14px}.dash-pill{display:flex;align-items:center;gap:9px;padding:8px 14px;border-radius:10px;background:var(--glass);border:1px solid var(--border-glass);font-size:12.5px;color:#8b95a5}.dash-pill .live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:nxpulse 2.4s infinite}.dash-avatar{width:38px;height:38px;border-radius:10px;background:var(--glass);border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;font:700 12px var(--font-display);color:#dbe2ec}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.dash-head h1{margin:0;font:600 29px/1 var(--font-display);letter-spacing:-.01em;color:var(--text)}.dash-head p{margin:8px 0 0;font-size:13px;color:var(--muted)}.dash-cta{display:flex;align-items:center;gap:8px;padding:11px 18px;border:none;border-radius:11px;font:600 13px var(--font-body);color:#04120a;background:linear-gradient(135deg,var(--accent-light),var(--accent));box-shadow:0 10px 30px -8px #2fc46b99}.dash-cta .plus{font-size:16px;line-height:1}.dash-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}@media (max-width: 1100px){.dash-kpis{grid-template-columns:repeat(2,1fr)}}.kpi{padding:15px 15px 13px;border-radius:12px;background:var(--card);border:1px solid var(--border)}.kpi.accent{border-color:#2fc46b47;box-shadow:0 0 24px -12px #2fc46b99}.kpi.gold{border-color:#f5b3243d}.kpi.blue{border-color:#3d82e647}.kpi.purple{border-color:#c084fc3d}.kpi .k-label{font:500 9px var(--font-mono);letter-spacing:.1em;color:var(--muted-2);text-transform:uppercase}.kpi .k-value{font:700 22px/1.1 var(--font-display);margin:9px 0 8px;white-space:nowrap}.kpi .k-value.green{color:var(--accent-light)}.kpi .k-value.gold{color:var(--gold-light)}.kpi .k-value.blue{color:#8fb6f5}.kpi .k-value.purple{color:#d8b4fe}.kpi .k-value.muted{color:var(--label)}.kpi .k-value.neg{color:var(--red)}.kpi .k-foot{display:flex;align-items:center;justify-content:space-between}.kpi .k-chip{font:600 10px var(--font-mono)}.kpi .k-chip.green{color:var(--accent-light)}.kpi .k-chip.gold{color:var(--gold)}.kpi .k-chip.blue{color:#8fb6f5}.kpi .k-chip.purple{color:#d8b4fe}.kpi .k-chip.muted{color:var(--label)}.kpi .k-chip.neg{color:var(--red)}.dash-mid{display:grid;grid-template-columns:1fr 300px;gap:14px;margin-bottom:16px}@media (max-width: 1000px){.dash-mid{grid-template-columns:1fr}}.dash-panel{padding:20px 22px 10px;border-radius:14px;background:var(--card-2);border:1px solid var(--border)}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dash-panel-title{display:flex;align-items:baseline;gap:11px}.dash-panel-title .t{font:600 15px var(--font-display)}.dash-panel-title .sub{font:500 11px var(--font-mono);color:var(--muted-2)}.dash-legend{display:flex;gap:15px;font-size:11px;color:#a7b0be}.dash-legend span{display:flex;align-items:center;gap:6px}.dash-legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.dash-rail{padding:20px;border-radius:14px;background:var(--card-2);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center}.dash-rail .r-title{font:500 10px var(--font-mono);letter-spacing:.1em;color:var(--muted-2);align-self:flex-start;text-transform:uppercase}.dash-rail .r-list{width:100%;display:flex;flex-direction:column;gap:9px;margin-top:6px;font-size:12px}.dash-rail .r-list>div{display:flex;justify-content:space-between}.dash-rail .r-list .r-k{color:var(--muted)}.dash-rail .r-list .r-v{font-weight:600}.dash-recent{padding:18px 22px 6px;border-radius:14px;background:var(--card-2);border:1px solid var(--border)}.dash-recent .r-head{font:600 14px var(--font-display);margin-bottom:4px}.dash-row{display:grid;grid-template-columns:120px 1fr 120px 150px;align-items:center;padding:14px 6px;font-size:13px;border-bottom:1px solid rgba(120,160,220,.05)}.dash-row.head{padding:10px 6px;font:500 9px var(--font-mono);letter-spacing:.1em;color:var(--label-2);border-bottom:1px solid var(--border-soft);text-transform:uppercase}.dash-row .r-date{color:#b3bccb;font-family:var(--font-mono);font-size:12px}.dash-row .r-val{text-align:right;font:700 14px var(--font-display)}.dash-row .r-val.in{color:var(--accent-light)}.dash-row .r-val.out{color:var(--red)}.dash-row .r-right{text-align:right}.dash-chip{font:600 10.5px var(--font-mono);border-radius:6px;padding:4px 10px;border:1px solid transparent}.dash-chip.in{color:var(--accent-light);background:#2fc46b1f;border-color:#2fc46b47}.dash-chip.out{color:var(--gold-light);background:#f5b3241f;border-color:#f5b32447}
