
:root{
 --bg:#0d0f13;--panel:#16191f;--panel2:#1e222a;--text:#f4f6fa;--muted:#8e96a3;--line:#2b313a;
 --green:#13b76a;--yellow:#f3ad18;--blue:#3289ff;--red:#f0444d;--gold:#f2c14e;--purple:#8b5cf6;
 --safe:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.app-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 16px 6px;max-width:980px;margin:auto}
.brand-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#0f2a22;color:#63d4a0;font-size:.64rem;font-weight:900;letter-spacing:.05em}
.app-head h1{font-size:1.95rem;line-height:1;margin:7px 0 4px}.page-subtitle{font-size:.88rem;color:var(--muted)}
.head-right{display:flex;align-items:center;gap:10px}.head-balance{text-align:right}.head-balance small{display:block;font-size:.58rem;color:var(--muted);font-weight:900;letter-spacing:.12em}.head-balance strong{display:block;color:#48d88b;font-size:1.15rem;margin-top:2px}
.head-menu{width:46px;height:46px;border-radius:16px;background:#1b1f26;border:1px solid var(--line);color:white;font-size:1.2rem}
main{padding:4px 10px calc(88px + var(--safe));max-width:980px;margin:auto}.screen{display:none}.screen.active{display:block}
.month-strip,.month-panel{display:flex;align-items:center;justify-content:center;gap:22px;padding:14px 4px}.month-strip strong,.month-panel strong{font-size:1.1rem}.chev{border:0;background:transparent;color:var(--muted);font-size:2rem}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:15px;min-height:120px}.kpi-title{font-size:.68rem;font-weight:900;color:var(--muted);letter-spacing:.04em}.kpi-value{font-size:1.45rem;font-weight:950;margin:11px 0 6px}.kpi-note{font-size:.76rem;color:#a5acb7}
.k-green{border-color:#185f3a}.k-green .kpi-value{color:#43dc8e}.k-yellow{border-color:#6a5315}.k-yellow .kpi-value{color:#ffbd31}.k-blue{border-color:#245b9e}.k-blue .kpi-value{color:#5ba4ff}.k-red{border-color:#812e35}.k-red .kpi-value{color:#ff6870}
.battle-card{margin:11px 0 15px;border-radius:22px;padding:17px;background:linear-gradient(135deg,#9f1f2d,#d52d3b);display:flex;justify-content:space-between;align-items:center;gap:12px}.battle-card.win{background:linear-gradient(135deg,#12542d,#16823f)}.battle-label{font-size:.68rem;font-weight:900;letter-spacing:.05em}.battle-value{font-size:1.75rem;font-weight:950;margin:8px 0 3px}.battle-note{font-size:.76rem;opacity:.9}.battle-chip{font-size:.78rem;font-weight:900;text-align:right;max-width:42%}
.block{margin:14px 0}.block-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.block h2,.block-head h2{font-size:1rem;margin:0}.link-btn{border:0;background:transparent;color:#3d9cff;font-weight:900}
.timeline,.rows{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:0 14px}.row{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.date-badge{width:46px;border-radius:13px;background:#2b2e35;padding:7px 4px;text-align:center;font-size:.66rem;font-weight:900;line-height:1.05}.date-badge.yellow{background:#463713;color:#ffd66a}.row-title{font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:.75rem;color:var(--muted);margin-top:3px}.row-value{font-weight:900}.row-value.green{color:#59df99}.row-value.red{color:#ff6f78}.row-value.yellow{color:#ffd05c}.dot{width:11px;height:11px;border-radius:50%}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.yellow{background:var(--yellow)}.dot.blue{background:var(--blue)}
.saldo-mini{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:13px 15px;margin:14px 0}.saldo-mini strong{font-size:1.2rem}.eye-btn{border:1px solid var(--line);background:#1d2128;color:white;border-radius:13px;width:40px;height:40px}
.center-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.center-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:13px}.center-name{color:var(--muted);font-size:.8rem;font-weight:800}.center-in{font-size:1.15rem;font-weight:950;color:#4ddd92;margin:8px 0 5px}.center-meta{font-size:.72rem;color:#969eaa;line-height:1.4}.center-result{font-weight:850;color:white}
.permuta-card{background:linear-gradient(135deg,#2e2109,#20190d);border:1px solid #6f5313;border-radius:18px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.permuta-card strong{display:block}.permuta-card small{display:block;color:var(--muted);margin-top:4px}.permuta-value{color:#ffd05a;font-size:1.28rem;font-weight:950}
.filter-row{display:flex;gap:7px;overflow:auto;padding:8px 0}.pill{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:9px 12px;white-space:nowrap}.pill.active{background:#263140;color:white;border-color:#40536d}.search{width:100%;border:1px solid var(--line);background:var(--panel);color:white;padding:12px 14px;border-radius:15px;margin-bottom:8px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:15px;min-height:110px}.report-card span{font-size:.68rem;color:var(--muted);font-weight:900;letter-spacing:.06em}.report-card strong{display:block;font-size:1.4rem;margin-top:18px}.edge-green{border-color:#1f713f}.edge-yellow{border-color:#6d5514}.edge-blue{border-color:#2b69ae}
.bars{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:15px}.bar-row{display:grid;grid-template-columns:115px 1fr auto;gap:9px;align-items:center;margin:11px 0;font-size:.8rem}.bar-track{height:8px;border-radius:99px;background:#262b33;overflow:hidden}.bar-fill{height:100%;background:#4f9cff;border-radius:99px}
.cards-block{margin-top:10px}.wallet-grid{display:grid;grid-template-columns:1fr;gap:11px}.wallet-card{border:0;color:white;text-align:left;border-radius:22px;padding:17px;min-height:145px;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}.wallet-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-55px;bottom:-70px;background:rgba(255,255,255,.08)}.wallet-card.c6{background:linear-gradient(135deg,#202124,#0b0b0b);border:1px solid #5e5135}.wallet-card.santander{background:linear-gradient(135deg,#b31924,#e7373f)}.wallet-card.mercado{background:linear-gradient(135deg,#1773c9,#32a7f1)}.wallet-card.nubank{background:linear-gradient(135deg,#5f1699,#8a2be2)}.wallet-owner{font-size:.73rem;opacity:.78}.wallet-name{font-size:1.2rem;font-weight:950;margin-top:4px}.wallet-value{font-size:1.65rem;font-weight:950;margin:18px 0 4px}.wallet-foot{font-size:.76rem;opacity:.85}.wallet-zero{opacity:.7}
.menu-row{width:100%;display:flex;justify-content:space-between;padding:15px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:white;text-align:left}
.fab{position:fixed;right:16px;bottom:calc(76px + var(--safe));z-index:32;width:58px;height:58px;border-radius:50%;border:0;background:#5a78ff;color:white;font-size:2rem;box-shadow:0 15px 35px rgba(63,93,255,.35)}
.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(16,18,23,.97);border-top:1px solid var(--line);padding:8px 5px calc(8px + var(--safe))}.nav-item{border:0;background:transparent;color:#7f8793;display:flex;flex-direction:column;gap:2px;align-items:center}.nav-item.active{color:white}.nav-item span{font-size:1.2rem}.nav-item small{font-size:.68rem}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:92vh;overflow:auto;background:#15181d;border-radius:26px 26px 0 0;border:1px solid #2c323a;padding:10px 14px calc(22px + var(--safe))}.sheet-handle{width:52px;height:5px;border-radius:99px;background:#4e5561;margin:2px auto 14px}.sheet-title-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.sheet-title-row h2{margin:0;font-size:1.35rem}.sheet-close,.back-btn{border:0;background:#252a31;color:white;border-radius:12px;padding:9px 11px}.sheet-title-row h2{text-align:center}
.add-choice{width:100%;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;text-align:left;margin:10px 0;padding:14px;border-radius:19px;border:1px solid var(--line);background:#1d2127;color:white}.add-choice strong{display:block;font-size:1.05rem}.add-choice small{display:block;color:#9ca4af;margin-top:4px}.add-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900}.add-choice.gasto .add-ico{background:#442026;color:#ff6d76}.add-choice.entrada .add-ico{background:#163a27;color:#5ee49c}.add-choice.transfer .add-ico{background:#172d4d;color:#65a8ff}.add-choice.acerto .add-ico{background:#3b2d0f;color:#ffd565}.add-choice.acerto{border-color:#5b4517}
.type-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0}.type-switch button{border:1px solid var(--line);background:#20242b;color:#8d95a1;border-radius:12px;padding:9px 5px;font-size:.75rem;font-weight:850}.type-switch button.active[data-switch="saida"]{background:#4a1c22;color:#ff8a92}.type-switch button.active[data-switch="entrada"]{background:#163a26;color:#7ae4a7}.type-switch button.active[data-switch="transferencia"]{background:#172e4b;color:#7db5ff}.type-switch button.active[data-switch="acerto"]{background:#3c2e10;color:#ffd66a}
.form{display:flex;flex-direction:column;gap:11px}.form label,.field-title{font-size:.7rem;color:#a3abb7;font-weight:900;letter-spacing:.05em}.form input,.form select{width:100%;margin-top:5px;border:1px solid #353b44;background:#0f1216;color:white;border-radius:14px;padding:12px}.money-label input{font-size:1.5rem;font-weight:900}
.segmented,.pay-grid,.date-shortcuts{display:flex;gap:7px}.segmented button,.pay-grid button,.date-shortcuts button{flex:1;border:1px solid var(--line);background:#20242b;color:#a1a8b3;border-radius:12px;padding:10px 7px}.segmented .active,.pay-grid .active{background:#2d394b;color:white;border-color:#4f6383}.helper{background:#1d2633;border:1px solid #30445e;border-radius:13px;padding:10px;color:#9fc5f7;font-size:.78rem}.helper.gold{background:#2b220e;border-color:#5e4817;color:#ffd66d}.save-btn{border:0;border-radius:15px;padding:13px;background:#4c8fff;color:white;font-weight:950;margin-top:4px}.form-message{font-size:.82rem;min-height:18px}.form-message.error{color:#ff7a83}.form-message.ok{color:#74e3a2}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:50;display:flex;align-items:flex-end}.modal-card{width:100%;max-height:90vh;overflow:auto;background:#16191f;border:1px solid var(--line);border-radius:25px 25px 0 0;padding:20px;position:relative}.modal-close{position:absolute;right:13px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#262b32;color:white;font-size:1.25rem}
.empty{padding:18px 8px;color:var(--muted);text-align:center}.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe));transform:translateX(-50%);z-index:70;background:#242a32;border:1px solid #3c444f;padding:10px 13px;border-radius:13px;white-space:nowrap}
@media(min-width:760px){
 main{padding-left:16px;padding-right:16px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.wallet-grid{grid-template-columns:1fr 1fr}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(980px,100%);border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:16px 16px 0 0}.modal{align-items:center;justify-content:center}.modal-card{max-width:720px;border-radius:25px}.sheet{left:50%;right:auto;transform:translateX(-50%);width:min(720px,100%)}.fab{right:max(16px,calc((100vw - 940px)/2))}
}
/* V4.1 · UX progressiva baseada na Beta 6.2.2 */
.wallet-card{min-height:118px;padding:15px}
.wallet-value{font-size:1.45rem;margin:12px 0 3px}
.wallet-name{font-size:1.08rem}
.wallet-foot{font-size:.7rem}
.bar-row{grid-template-columns:minmax(0,110px) minmax(80px,1fr) minmax(0,auto)}
.bar-row span,.bar-row strong{min-width:0;overflow-wrap:anywhere}
#economicReport .row{grid-template-columns:auto minmax(0,1fr) minmax(0,auto)}
#economicReport .row-value{max-width:135px;white-space:normal;text-align:right}
.rows,.bars{min-width:0}
.row>div{min-width:0}
.sheet{padding-bottom:calc(22px + var(--safe))}
.quickgrid{display:grid;gap:10px}
.quick{width:100%;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;text-align:left;padding:14px;border-radius:20px;border:1px solid var(--line);background:#1d2127;color:#fff}
.quick strong{display:block;font-size:1.05rem}
.quick small{display:block;color:#9ba4b0;margin-top:4px}
.quickicon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.45rem;font-weight:950}
.quickicon.exp{background:#442026;color:#ff747c}.quickicon.inc{background:#163a27;color:#63e59d}.quickicon.trf{background:#172d4d;color:#6cafff}.quickicon.bar{background:#3b2d0f;color:#ffd565}
.amountsheet{display:flex;flex-direction:column;gap:12px}
.quicktypebtn{align-self:flex-start;border:0;border-radius:999px;padding:10px 13px;font-weight:900}
.amountsheet.expense .quicktypebtn{background:#442026;color:#ff747c}
.amountsheet.income .quicktypebtn{background:#163a27;color:#63e59d}
.amountsheet.transfer .quicktypebtn{background:#172d4d;color:#6cafff}
.amountsheet.barter .quicktypebtn{background:#3b2d0f;color:#ffd565}
.amountprompt{color:#9aa3ae;font-weight:800;font-size:.8rem}
.amountdisplay{text-align:center;font-size:3.4rem;font-weight:950;letter-spacing:-.05em;padding:12px 0 18px;border-bottom:1px solid var(--line)}
.amountsheet.expense .amountdisplay{color:#ff555e}.amountsheet.income .amountdisplay{color:#4dde92}.amountsheet.transfer .amountdisplay{color:#61a5ff}.amountsheet.barter .amountdisplay{color:#ffd05b}
.numgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.numgrid button{border:1px solid var(--line);background:#20242b;color:white;border-radius:18px;height:74px;font-size:1.7rem;font-weight:900}
.numgrid .erase{font-size:1.2rem}
.amountcontinue{border:0;border-radius:17px;padding:14px;background:#4d8fff;color:white;font-weight:950;font-size:1rem}
.amountcontinue:disabled{opacity:.35}
.quickstep h4{margin:0 0 6px;font-size:1rem}
.paygrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.paychoice{border:1px solid var(--line);background:#20242b;color:white;border-radius:16px;padding:16px;text-align:left;font-weight:900}
.sourcechips{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sourcechip{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid var(--line);background:#20242b;color:white;border-radius:17px;padding:12px;text-align:left}
.sourcechip b{display:block}.sourcechip small{display:block;color:#929aa6;margin-top:2px}
.logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:950;color:white}
.logo.c6{background:#111;color:#ffd52c}.logo.san{background:#e31b23}.logo.mp{background:#25a3df}.logo.nu{background:#7c3aed}.logo.cash{background:#15945b}
.quickdesc{width:100%;border:1px solid var(--line);background:#0f1216;color:white;border-radius:14px;padding:13px}
.reviewhint,.helpermini{background:#20242b;border:1px solid var(--line);border-radius:14px;padding:11px;color:#aab2be;font-size:.8rem;line-height:1.4}
.reviewhint.gold{background:#2d230d;border-color:#65501a;color:#ffd66e}
.quickactions{display:grid;gap:8px}
.quickactions .secondary{background:#252a31;color:white}
.ownergrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ownerchoice{border:1px solid var(--line);background:#20242b;color:white;border-radius:16px;padding:16px;text-align:left;font-weight:900}
.quickfield{border:1px solid var(--line);background:#101318;border-radius:15px;padding:11px 12px}
.quickfield label{display:block;color:#9aa3ae;font-size:.68rem;font-weight:900;margin-bottom:6px}
.quickfield input,.quickfield select{width:100%;border:0;background:transparent;color:white;outline:0}
.quicksummary{display:grid;gap:8px;background:#1d2127;border:1px solid var(--line);border-radius:16px;padding:13px}
.quicksummary div{display:flex;justify-content:space-between;gap:10px}
.quicksummary span{color:#929ba7}

/* V4.2: estabilidade e compactação */
.wallet-card{min-height:102px;padding:13px 15px}
.wallet-value{font-size:1.32rem;margin:9px 0 2px}
.wallet-name{font-size:1rem}
.wallet-owner{font-size:.67rem}
.wallet-foot{font-size:.67rem}
#economicReport .row{grid-template-columns:auto minmax(0,1fr) minmax(0,125px)}
#economicReport .row-value{white-space:normal;text-align:right;overflow-wrap:anywhere}
.bar-row{grid-template-columns:minmax(0,110px) minmax(72px,1fr) minmax(0,auto)}
.bar-row span,.bar-row strong{min-width:0;overflow-wrap:anywhere}
