.kpi.kpi-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi .kpi-trend{margin-top:6px;font-size:12px;opacity:.9}.chart-wrap{width:100%;height:320px;background:#0b1220;border:1px solid #1e293b;border-radius:14px;padding:8px}.grid-2{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 880px){.grid-2{grid-template-columns:1fr 1fr}}.bars-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:160px 1fr auto;gap:10px;align-items:center}.bar-label{font-size:14px;opacity:.92}.bar-track{height:12px;border-radius:999px;background:#0b1220;border:1px solid #223049;overflow:hidden}.bar-fill{height:100%;border-radius:999px}.insights{display:grid;gap:8px;margin:0;padding:0 14px}.insights li{list-style:"• ";padding-left:6px}@media (max-width: 880px){.kpi.kpi-4{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr;gap:6px}.card{padding:14px;font-size:.9em}}:root{--bg: #0b1220;--surface: #0f172a;--elev: #111827;--line: #1e293b;--text: #e6e9ef;--muted: #96a0b5;--primary: #38d39f;--primary-ink:#062a1f;--danger:#ef4444;--ok:#86efac;--bad:#fca5a5;--radius: 16px;--shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.02);--ctl-height: 44px}div#root{background:#142135}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#142135;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.container{max-width:880px;margin:0 auto;padding:24px;overflow-x:hidden}.board{display:grid;gap:18px}.header{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:14px;margin-left:-60px}.brand{display:flex;gap:10px;align-items:center;min-width:0}.logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#38d39f 60%,#22c55e);box-shadow:0 8px 20px #38d39f59;display:flex;align-items:center;justify-content:center;color:#04281b;font-weight:800;flex:0 0 auto}.title{font-size:20px;margin:0;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{background:#0d1728;border:1px solid var(--line);color:var(--muted);padding:6px 10px;border-radius:999px;font-size:12px;white-space:nowrap}.header-actions{display:flex;gap:8px;justify-self:end;align-items:center}.btn-logout{background:transparent;border:1px solid #24324a;color:#b5c1d8;padding:8px 12px;border-radius:12px;cursor:pointer;white-space:nowrap}.btn-logout:hover{transform:translateY(-1px)}.card{background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);overflow:hidden}.h1{font-size:22px;margin:0 0 12px}.h2{font-size:16px;margin:0 0 10px;color:#d8deea;font-weight:700}.small{font-size:12px;color:var(--muted)}input,select,button{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#0b1220;color:var(--text);outline:none;transition:border-color .15s ease,transform .04s ease;max-width:100%;margin-bottom:6px}input:focus,select:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf14}input,select{height:var(--ctl-height)}button{cursor:pointer;font-weight:600;height:var(--ctl-height)}.btn{background:#0f172a;border-color:#223049;color:#cfe4f8}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(180deg,#3be0aa,#31c68f 70%,#2bb07f);color:var(--primary-ink);border:1px solid #24a06c;box-shadow:0 8px 18px #38d39f40;font-size:.8em}.btn-primary:hover{filter:brightness(1.03)}.btn-danger{background:#0f172a;border-color:#4a1f26;color:#ffb4b4}.btn-ghost{background:transparent;border-color:#24324a;color:#b5c1d8}.row{display:flex;gap:12px;align-items:center;min-width:0;margin-top:6px}.grid{display:grid;gap:12px}.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kpi .tile{background:#0b1220;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}.add-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 880px){.add-grid{grid-template-columns:420px 1fr;align-items:start}}.control-panel{background:#0b1220;border:1px solid var(--line);border-radius:14px;padding:12px;position:sticky;top:10px;max-width:100%}.add-stack{display:grid;gap:12px;min-width:0}.amount-in{color:var(--ok);font-weight:600}.amount-out{color:var(--bad);font-weight:600}.tag{padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);color:#b5c1d8;white-space:nowrap}.list{list-style:none;margin:8px 0 0;padding:0}.list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed #1a2540}.item-meta{font-size:12px;color:var(--muted);word-break:break-word;padding:8px}.segment{background:#0b1220;border:1px solid var(--line);border-radius:12px;padding:4px;display:flex;gap:6px;width:-webkit-fill-available;margin-top:8px}.segment button{flex:1;border-radius:10px;background:transparent;border:none;color:#cfe4f8;padding:10px 12px}.segment button.active{background:#142135;color:#9bf0cd;border:1px solid #223049;margin-top:5px}.section-head{display:flow;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.suggest-pop{position:relative;min-width:0}.suggest-list{position:static;z-index:20;left:0;right:0;top:calc(100% + 4px);background:#0b1220;border:1px solid #223049;border-radius:12px;padding:6px;box-shadow:var(--shadow);max-height:220px;overflow:auto}.suggest-item{padding:8px 10px;border-radius:10px;cursor:pointer;color:#cfe4f8}.suggest-item:hover{background:#13213a}.helper{font-size:12px;color:#a6b3cc;margin-top:2px;padding:8px}.below-hint{min-height:44px;padding-top:4px}.chipsbar{min-height:42px;display:flex;align-items:center}.chips{display:flex;gap:8px;overflow-x:auto;padding:6px 2px 2px;-webkit-overflow-scrolling:touch}.chip{border:1px solid #24324a;color:#b5c1d8;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap;flex:0 0 auto}.chip:hover{border-color:#2dd4bf;color:#dffaf2}.chips::-webkit-scrollbar{display:none}.notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#0b1220;box-shadow:var(--shadow)}.notice.success{border-color:#145a32}.notice.error{border-color:#6b1f26}.notice.info{border-color:#223049}.notice .close{margin-left:auto;cursor:pointer;opacity:.8}.notice .close:hover{opacity:1}.summary-tags,.summary-inline{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.summary-tags,.summary-inline{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}}.backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:999}.modal{width:100%;max-width:560px;background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 20px 60px #00000080}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}@media (max-width: 880px){.container{padding:16px}.card{padding:14px}}@media (max-width: 720px){.kpi{grid-template-columns:1fr}.row{flex-direction:row;align-items:center;margin-top:6px}.header{grid-template-columns:1fr auto}.brand{min-width:0}input,select,button{max-width:100%}.list li{display:block;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed #1a2540}}.fade-in{animation:fadein .35s ease-out;margin-bottom:8px}@keyframes fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:sticky;bottom:0;left:0;right:0;display:flex;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px;z-index:50;margin-top:10px}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border-radius:12px;background:#0b1220;border:1px solid var(--line);color:var(--text)}.bottom-nav .icon{font-size:16px;line-height:1}.bottom-nav .label{font-size:12px;opacity:.9}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ccc transparent}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.table-wrap::-webkit-scrollbar-track{background:transparent}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{border-bottom:1px dashed var(--line);padding:10px 8px;text-align:left;font-size:14px}.tbl th{color:var(--muted);font-weight:600}.tbl tr:hover td{background:#2dd4bf0a}.badge-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid var(--line)}.badge-status.pago{color:#9bf0cd;border-color:#2a5f4c;background:#38d39f14}.badge-status.aberto{color:#cfe4f8;border-color:#24324a;background:#ffffff08;width:max-content}.badge-status.vencido{color:#ffb4b4;border-color:#5a2a2a;background:#ef444414}@media (max-width: 720px){.tbl-essentials th:nth-child(4),.tbl-essentials td:nth-child(4),.tbl-essentials th:nth-child(5),.tbl-essentials td:nth-child(5){display:none}}@media (max-width: 720px){.tbl-goals th:nth-child(4),.tbl-goals td:nth-child(4),.tbl-goals th:nth-child(5),.tbl-goals td:nth-child(5){display:table-cell!important}}.progress{width:100%;height:10px;border-radius:999px;background:#0b1220;border:1px solid var(--line);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#38d39f,#2dd4bf)}tbody{font-size:.9em}.pager{display:flex;align-items:center;gap:8px}.pager .pager-info{font-size:12px;color:var(--muted)}.pager .btn[disabled]{opacity:.55;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}.summary-tile{background:#0b1220;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}.summary-tile .big{font-size:12px;font-weight:700;margin-top:4px}.consumption{margin-top:10px}.prog{width:100%;height:12px;border-radius:999px;border:1px solid #1e2a40;background:#0b1220;overflow:hidden}.prog .prog-fill{height:100%;background:linear-gradient(90deg,#3be0aa,#31c68f)}.prog-ok .prog-fill{background:linear-gradient(90deg,#3be0aa,#31c68f)}.prog-warn .prog-fill{background:linear-gradient(90deg,#fbbf24,#fb923c)}.prog-bad .prog-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.summary-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:12px}@media (min-width: 880px){.summary-grid{grid-template-columns:1fr 1fr}}.mini-bars{display:grid;gap:10px}.mini-row{display:grid;grid-template-columns:140px 1fr auto;gap:10px;align-items:center}.mini-label{font-size:14px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-track{height:12px;border-radius:999px;background:#0b1220;border:1px solid #223049;overflow:hidden}.mini-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#a78bfa)}.mini-val{font-size:12px;color:var(--muted)}.pmethod-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 720px){.pmethod-grid{grid-template-columns:1fr}}.pmethod-item{background:#0b1220;border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:12px}.pmethod-name{font-weight:600}.pmethod-amt{text-align:right;color:#cfe4f8}.pmethod-pct{font-size:12px;color:var(--muted)}.dashboard-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.add-transaction-btn{background:linear-gradient(180deg,#3be0aa,#31c68f 70%,#2bb07f);color:#062a1f;border:1px solid #24a06c;box-shadow:0 8px 18px #38d39f40;padding:10px 14px;border-radius:12px;font-weight:700;height:auto}.dashboard-actions{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.period-selector{display:flex;gap:8px;background:#0b1220;border:1px solid #1e293b;border-radius:12px;padding:4px}.period-btn{background:transparent;border:none;color:#cfe4f8;padding:8px 10px;border-radius:8px;cursor:pointer;height:auto}.period-btn.active{background:#142135;border:1px solid #223049;color:#9bf0cd}.add-transaction-btn{background:linear-gradient(180deg,#3be0aa,#31c68f 70%,#2bb07f);color:#062a1f;border:1px solid #24a06c;box-shadow:0 8px 18px #38d39f40;padding:10px 14px;border-radius:12px;font-weight:700;height:auto;font-size:10px}.dashboard-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}@media (min-width:880px){.dashboard-cards{grid-template-columns:repeat(4,1fr)}}.stat-card{background:#0b1220;border:1px solid #1e293b;border-radius:14px;padding:12px}.stat-card p{margin:0 0 4px;color:#c6d0e3;font-size:12px}.stat-card h3{margin:0 0 6px}.percentage{display:flex;gap:6px;align-items:center;color:#b6c3da;font-size:12px}.percentage.up{color:#9bf0cd}.percentage.down{color:#ffb4b4}.badge-info{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid #24324a;background:#0f172a;color:#cfe4f8;margin-left:6px}a.forgot-link{color:#f0f8ff}:root{--bottom-nav-height: 64px;--bottom-nav-bg: rgba(255,255,255,.95);--bottom-nav-border: rgba(0,0,0,.08);--bottom-nav-shadow: 0 -6px 16px rgba(0,0,0,.08)}@media (max-width: 768px){html,body{height:100%}body{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:var(--bottom-nav-height);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;background:#0f172a;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-top:1px solid var(--bottom-nav-border);box-shadow:var(--bottom-nav-shadow);padding-bottom:env(safe-area-inset-bottom);z-index:9999}.bottom-nav button{appearance:none;background:none;border:0;margin:0;padding:8px 4px;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;text-decoration:none}.bottom-nav .icon{font-size:18px;line-height:1}.bottom-nav button.active{color:#2dd4bf;font-weight:600;border-color:#2dd4bf}}.bottom-nav button.active{border-color:#2dd4bf}:root{--bottom-nav-height: 72px;--bottom-nav-gap: 16px;--bottom-nav-effective: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--bottom-nav-gap))}@media (max-width: 768px){body{padding-bottom:var(--bottom-nav-effective)}main,.page,.content,.container,.app,#app,#root>.app,.scroll,.cards,.cards-grid{padding-bottom:var(--bottom-nav-effective)}.card:last-child{margin-bottom:var(--bottom-nav-gap)}}@media (max-width: 768px){.bottom-nav{min-height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom)}}img{max-width:300px;display:block}.brand{display:flex;gap:10px;align-items:center;min-width:0;margin-top:-12px}.insights li{list-style:"� ";padding-left:6px;font-size:14px}.p{font-size:12px}html[data-theme=light] body,html[data-theme=light] #root,html[data-theme=light] div#root{background:#fff!important;color:#111}html[data-theme=light] .card{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;padding:18px!important;box-shadow:0 2px 10px #142135!important;overflow:hidden!important}html[data-theme=light] .h1{font-size:22px;margin:0 0 12px;color:#000}html[data-theme=light] .h2{font-size:16px;margin:0 0 10px;color:#000;font-weight:700}html[data-theme=light] .helper{font-size:12px;color:#000;margin-top:2px;padding:8px}html[data-theme=light] .small{font-size:12px;color:#fff}html[data-theme=light] .pager .pager-info{font-size:12px;color:#000}html[data-theme=light] .item-meta{font-size:12px;color:#000;word-break:break-word;padding:8px}html[data-theme=light] .mini-label{font-size:14px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000}html[data-theme=light] .mini-val{font-size:12px;color:#000}html[data-theme=light] b,html[data-theme=light] span.small{color:#000}html[data-theme=light] .chip{border:1px solid #24324a;color:#000;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap;flex:0 0 auto}html[data-theme=light] .badge-info{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid #24324a;background:#0f172a;color:#fff;margin-left:6px}html[data-theme=light] .amount-in{color:#1aaf7f;font-weight:600}html[data-theme=light] .amount-out{color:#ef4444;font-weight:600}html[data-theme=light] .btn-ghost{background:transparent;border-color:#24324a;color:#000;box-shadow:0 2px 10px #142135}html[data-theme=light] .btn{background:#fff;border-color:#24324a;color:#000}html[data-theme=light] .btn-danger{background:#fff;border-color:#000;color:red}html[data-theme=light] .btn-logout{background:transparent;border:1px solid #24324a;color:#000;padding:8px 12px;border-radius:12px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 10px #142135}html[data-theme=light] button{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);color:#000;outline:none;transition:border-color .15s ease,transform .04s ease;max-width:100%;margin-bottom:6px}html[data-theme=light] .segment button{flex:1;border-radius:10px;background:transparent;border:none;color:#fff;padding:10px 12px}html[data-theme=light] .segment button{flex:1;border-radius:10px;background:#142135;border:none;color:#fff;padding:10px 12px;margin-bottom:0}html[data-theme=light] .percentage.up{color:#37d6a0}html[data-theme=light] .percentage.down{color:#ef4444}html[data-theme=light] .period-btn{background:transparent;border:none;color:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;height:auto}html[data-theme=light] .period-btn.active{background:#38d7a1;border:1px solid #223049;color:#000}html[data-theme=light] .control-panel{border-radius:14px;padding:12px;position:sticky;top:10px;max-width:100%;background:#fff;border-color:#fff}html[data-theme=light] h3.value-changing,html[data-theme=light] input[type=date],html[data-theme=light] select{color:#fff}html[data-theme=light] .segment button.active{background:#36d29c;color:#000;border:1px solid #223049;margin-top:0}html[data-theme=light] .summary-tile{font-size:12px;font-weight:700;margin-top:4px;color:#e1dd15}html[data-theme=light] .pmethod-item,html[data-theme=light] .kpi-trend{color:#fff}html[data-theme=light] .bottom-nav{min-height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom);background:#fff}html[data-theme=light] .badge-status.aberto{color:#000;border-color:#24324a;background:#ff6b35;width:max-content}html[data-theme=light] .notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid #ef4444;background:#0b1220;box-shadow:var(--shadow);color:#fff}html[data-theme=light] .bottom-nav button.active{border-color:#2dd4bf}html[data-theme=light] a.forgot-link{color:#000}html[data-theme=light] .stat-card{background:#0b1220;border:1px solid #1e293b;border-radius:14px;padding:12px}html[data-theme=light] .stat-card p{margin:0 0 4px;color:#fff;font-size:12px}html[data-theme=light] .pmethod-amt{text-align:right;color:#fff}html[data-theme=light] .pmethod-pct{font-size:12px;color:#fff}html[data-theme=light] .mini-fill{height:100%;background:linear-gradient(90deg,#ef4444,#dc2626)}html[data-theme=light] .kpi .tile{background:#0b1220;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;color:#1aaf7f}html[data-theme=light] .tbl th{color:#000;font-weight:600}html[data-theme=light] .tbl th,html[data-theme=light] .tbl td{border-bottom:1px dashed var(--line);padding:10px 8px;text-align:left;color:#000}html[data-theme=light] .badge-status.pago{color:#000;border-color:#2a5f4c;background:#35d19a}html[data-theme=light] .badge-status.vencido{color:#000;border-color:#5a2a2a;background:#ef4444}html[data-theme=light] .bar-label{font-size:14px;opacity:.92;color:#000}html[data-theme=light] .bar-value{color:#000}html[data-theme=light] .insights{display:grid;gap:8px;margin:0;padding:0 14px;color:#000}html[data-theme=light] .modal{width:100%;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 20px 60px #00000080}html[data-theme=light] .bottom-nav .label{font-size:12px;opacity:.9;color:#000}html[data-theme=light] .bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border-radius:12px;background:#fff;border:1px solid #fff;color:var(--text)}html[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4) contrast(1.1);opacity:.95}html[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4) contrast(1.1);opacity:.95}
