/* Meu Financeiro: mobile first, all assets local. */
:root{color-scheme:light;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;color:#233b35;background:#f5f6f2;--ink:#193d32;--muted:#7a8780;--line:#e7ebe4;--accent:#17664c;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0;min-width:300px;background:radial-gradient(ellipse at 80% 0%,#e7eee3,transparent 45%);-webkit-tap-highlight-color:transparent}
main{max-width:840px;margin:auto;padding:30px 24px calc(118px + env(safe-area-inset-bottom))}
h1,h2,p{margin-top:0}h1{font-size:20px;letter-spacing:-.8px;font-weight:750;margin:0;color:var(--ink)}h2{font-size:16px;letter-spacing:-.35px;line-height:1.35;margin-bottom:18px;font-weight:700;color:var(--ink)}
.flex{display:flex;justify-content:space-between;gap:14px;align-items:center}.flex>div{min-width:0}.app-header{margin-bottom:16px}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;background:var(--ink);color:#dff2aa;box-shadow:0 4px 12px #193d3210}.brand-mark svg{width:23px;height:23px}.brand .muted{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:3px;font-weight:650}
.app-header{gap:8px}.brand{gap:9px}.brand h1{white-space:nowrap;font-size:19px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:9px;line-height:1.4;border-radius:30px;padding:7px 9px;background:#eaf0e6;color:#52715e;max-width:100px;flex-shrink:0}.pill:before{content:"";height:6px;width:6px;background:#6d9c67;flex-shrink:0;border-radius:50%}
.muted{font-size:12px;line-height:1.55;color:var(--muted)}.note{font-size:12px;line-height:1.75;color:var(--muted);margin:14px 0 0}#notice{font-size:10px;line-height:1.55;color:#6c8172;margin:0 0 24px;padding-left:2px}#notice:empty{display:none}
.section-heading{margin:24px 0 23px}.eyebrow{color:#667b62;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:0 0 9px}.section-heading h2{font-size:32px;font-weight:650;line-height:1.16;letter-spacing:-1.3px;margin:0 0 9px}.section-heading p:last-child{font-size:12px;color:#6d7e70;line-height:1.5;margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:23px;padding:23px;margin-top:16px;box-shadow:0 3px 7px #193d3202}.big{font-size:39px;font-weight:650;letter-spacing:-1.8px;line-height:1.2;font-variant-numeric:tabular-nums;margin:7px 0 10px}.green{color:#217653}.red{color:#b74e47}
.balance-card{position:relative;overflow:hidden;border:0;background:var(--ink);padding:26px 25px 23px;box-shadow:0 12px 26px #193d3214;color:white;min-height:190px}.balance-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #dff2aa14;border-radius:50%;right:-57px;top:-55px;box-shadow:0 0 0 31px #dff2aa07,0 0 0 64px #dff2aa04;pointer-events:none}.balance-card>.muted:first-child{color:#e2edd8;font-size:12px;display:flex;align-items:center;gap:9px}.balance-card>.muted:first-child:before{content:"";width:7px;height:7px;background:#d9edab;border-radius:50%;display:inline-block}.balance-card .big{color:#f5f9ed;font-size:46px;font-weight:550;letter-spacing:-2px;margin:15px 0 20px;position:relative;z-index:1}.balance-card .big.red{color:#ffb6a1}.balance-card>.muted:last-child{border-top:1px solid #ffffff17;padding-top:13px;font-size:10px;color:#a7bfb0;position:relative}
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.grid .card{margin-top:0}.flow-grid{margin-top:14px!important}.flow-grid .card{padding:19px 19px 17px;border-radius:20px}.flow-grid .card>.muted{font-size:11px;max-width:130px}.flow-grid .card>.muted:before{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:17px;margin-bottom:12px}.flow-grid .card:first-child>.muted:before{content:"↙";background:#eaf3e8;color:#48885f}.flow-grid .card:last-child>.muted:before{content:"↗";background:#fbefea;color:#bb7867}.flow-grid h2{font-size:23px;font-weight:650;letter-spacing:-.8px;margin:7px 0 0;font-variant-numeric:tabular-nums}
.projection-card{background:#edf0e5;border-color:#e4e8db;padding:21px 23px}.projection-card>.muted{color:#617358;font-size:11px}.projection-card .big{font-size:30px;letter-spacing:-1px;color:#3d5637;margin:8px 0 0}.projection-card .note{font-size:10px;line-height:1.65;color:#66755b;margin-top:11px}.upcoming-card h2{font-size:14px;margin-bottom:10px}.upcoming-card h2:before{content:"";display:inline-block;width:6px;height:6px;background:#adc58e;border-radius:50%;margin:0 8px 2px 0}
#proximos>.muted,#transactions>.muted,#recorrentes>.muted{padding:15px 0 4px;margin:0;font-size:12px;color:#71806a;line-height:1.65}#proximos .flex,#transactions>.flex,#recorrentes>div{border-bottom:1px solid var(--line)!important;padding:15px 0!important;font-size:12px}#proximos .flex:last-child,#transactions>.flex:last-child,#recorrentes>div:last-child{border-bottom:0!important;padding-bottom:0!important}b{overflow-wrap:anywhere}#proximos b,#transactions b,#recorrentes b{font-weight:600}#proximos .muted,#transactions .muted,#recorrentes .muted{font-size:10px;margin-top:4px}
label{font-size:11px;font-weight:650;color:#6e7e70;display:block;margin-bottom:8px;line-height:1.4}.field{margin-bottom:17px}input,select,button{font:inherit;min-width:0;width:100%;border-radius:12px}input,select{border:1px solid #e1e7dd;padding:13px 12px;min-height:47px;background:#f8faf5;color:var(--ink);font-size:14px;transition:border-color .15s,box-shadow .15s}input[type=date]{appearance:none;min-height:47px}input:focus,select:focus{outline:none;border-color:#81a985;background:#fff;box-shadow:0 0 0 3px #17664c0b}input::placeholder{color:#89957f}
button{border:1px solid transparent;padding:13px 12px;background:var(--accent);color:white;font-size:12px;font-weight:650;cursor:pointer;min-height:46px;transition:background .15s,transform .15s}button:hover{background:#10533e}button:active{transform:translateY(1px)}button.secondary{background:#edf2e8;color:#546f49;border-color:#e5ecdd}button.secondary:hover{background:#e2eada}button.danger{background:#fbefed;color:#ae5b54;border-color:#f3dfdb}button.danger:hover{background:#f7e3df}button:focus-visible{outline:3px solid #8ab57c;outline-offset:3px}button:disabled{cursor:default;opacity:.55}#transactions button,#recorrentes button{font-size:10px;line-height:1.4;min-height:38px;padding:9px 7px}
.tabs{position:fixed;z-index:10;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:calc(100% - 32px);max-width:500px;border:1px solid #e1e7dbe6;border-radius:22px;background:#fffffff2;padding:7px;box-shadow:0 7px 35px #193d3217;backdrop-filter:blur(18px)}.tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;color:#6f7d67;border:0;padding:10px 4px 8px;font-size:10px;font-weight:600;min-height:56px;border-radius:15px}.tabs button svg{width:20px;height:20px;stroke-width:1.7}.tabs button[aria-selected=true]{background:#edf2e6;color:#2f6345}.tabs button:hover{background:#f3f5ee;color:#527348}
.hidden{display:none!important}#toast{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:13px 18px;border-radius:14px;background:#224c3c;color:#f3f8ec;font-size:12px;line-height:1.5;box-shadow:0 4px 24px #193d3220;display:none;z-index:20;text-align:center}
table{width:100%;border-collapse:collapse;font-size:12px}td,th{padding:12px 4px;border-bottom:1px solid var(--line);text-align:left}td:last-child,th:last-child{text-align:right}
@media(min-width:700px){main{padding-top:42px}.section-heading{margin-top:34px}.section-heading h2{font-size:40px}#inicio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}#inicio>.section-heading{grid-column:1/-1;margin-bottom:8px}#inicio>.card{margin-top:0}.balance-card{min-height:223px;display:flex;flex-direction:column;justify-content:center}.flow-grid{margin-top:0!important;gap:12px}.flow-grid .card{display:flex;flex-direction:column;justify-content:center}.projection-card,.upcoming-card{align-self:start}.card{padding:26px}.pill{max-width:none}.tabs{bottom:22px}}
@media(max-width:359px){main{padding:23px 16px 118px}.brand-mark{width:35px;height:35px;border-radius:11px}.brand{gap:8px}h1{font-size:18px}.brand .muted{font-size:8px}.pill{font-size:8px;padding:6px 8px;max-width:104px}.section-heading h2{font-size:29px}.balance-card .big{font-size:41px}.card{padding:20px}.flow-grid .card{padding:16px}.flow-grid h2{font-size:20px}.grid{gap:10px}.tabs{width:calc(100% - 24px)}input,select{padding-left:9px;padding-right:9px;font-size:12px}}
.app-header{margin-bottom:25px}.balance-card{margin-top:0;min-height:145px}.balance-card .big{margin:14px 0 0}.tabs{width:calc(100% - 48px);max-width:360px}.tabs button{min-height:48px;padding:12px 4px;gap:0}.tabs button svg{width:21px;height:21px}#notice:empty{margin:0;padding:0}#inicio>.projection-card{padding-top:21px;padding-bottom:21px}
@media(min-width:700px){.balance-card{min-height:180px}.flow-grid .card{padding:20px}.app-header{margin-bottom:28px}}
@media(prefers-reduced-motion:no-preference){main section:not(.hidden){animation:appear .24s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
