
/* Firebase Login Screen Styles */
#firebaseLoginScreen{position:fixed;inset:0;z-index:10000;background:linear-gradient(135deg,#050a12,#0a1120,#0f1729);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif}
.firebase-login-box{background:rgba(15,23,41,.95);border:1px solid rgba(100,200,255,.15);border-radius:20px;padding:48px;max-width:400px;width:90%;text-align:center;backdrop-filter:blur(24px);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.firebase-logo{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#0369a1,#06b6d4);border-radius:20px;display:grid;place-items:center;font-size:40px;box-shadow:0 0 30px rgba(14,165,233,.5)}
.firebase-title{font-size:32px;font-weight:900;margin-bottom:8px;background:linear-gradient(135deg,#fff,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}
.firebase-subtitle{font-size:14px;color:#94a3b8;margin-bottom:32px}
.firebase-btn-google{width:100%;padding:16px 24px;border-radius:12px;border:1px solid rgba(100,200,255,.15);background:rgba(255,255,255,.98);color:#000;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:12px;font-family:'Outfit',sans-serif}
.firebase-btn-google:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.firebase-btn-google:active{transform:scale(.98)}
#firebaseLoadingScreen{display:none;position:fixed;inset:0;z-index:20000;background:rgba(5,10,18,.97);backdrop-filter:blur(12px);align-items:center;justify-content:center;flex-direction:column;gap:20px;font-family:'Outfit',sans-serif}
#firebaseLoadingScreen.active{display:flex}
.firebase-spinner{width:56px;height:56px;border:5px solid rgba(100,200,255,.1);border-top-color:#0ea5e9;border-radius:50%;animation:firebase-spin .8s linear infinite}
@keyframes firebase-spin{to{transform:rotate(360deg)}}
.firebase-loading-text{color:#94a3b8;font-size:15px;font-weight:500}
.firebase-btn-logout{padding:7px 16px;border-radius:8px;border:1px solid rgba(100,200,255,.12);background:rgba(239,68,68,.12);color:#f87171;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.4px;margin-left:10px;font-family:'Outfit',sans-serif}
.firebase-btn-logout:hover{background:rgba(239,68,68,.2);transform:scale(1.06)}
:root{
--bg:#050a12;--bg2:#0a1120;--bg3:#0f1729;--surface:rgba(15,23,41,0.92);
--border:rgba(100,200,255,0.11);--borderH:rgba(100,200,255,0.28);
--blue:#0ea5e9;--blueL:#38bdf8;--blueD:#0369a1;
--cyan:#06b6d4;--cyanL:#22d3ee;
--violet:#8b5cf6;--violetL:#a78bfa;
--pink:#ec4899;--pinkL:#f472b6;
--orange:#f97316;--orangeL:#fb923c;
--amber:#f59e0b;--amberL:#fbbf24;
--lime:#84cc16;--limeL:#a3e635;
--green:#10b981;--greenL:#34d399;
--red:#ef4444;--redL:#f87171;
--text:#f0f9ff;--textM:#94a3b8;--textS:#64748b;
--shadow:0 10px 40px rgba(0,0,0,0.5);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;font-size:14px;}
body::before{content:'';position:fixed;inset:0;z-index:0;
background:radial-gradient(ellipse 1100px 700px at 10% -5%,rgba(14,165,233,0.09),transparent 65%),
radial-gradient(ellipse 900px 600px at 90% 100%,rgba(139,92,246,0.08),transparent 65%),
radial-gradient(ellipse 700px 500px at 50% 50%,rgba(236,72,153,0.05),transparent);
pointer-events:none;}
body::after{content:'';position:fixed;inset:0;z-index:0;
background-image:radial-gradient(circle,rgba(100,200,255,0.04) 1px,transparent 1px);
background-size:24px 24px;pointer-events:none;}
#app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;}

/* ════ HEADER ════ */
header{background:rgba(5,10,18,0.88);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);
padding:0 20px;height:62px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:300;
box-shadow:0 4px 24px rgba(0,0,0,0.3);}
.logo-ico{width:34px;height:34px;background:linear-gradient(135deg,var(--blueD),var(--cyan));
border-radius:8px;display:grid;place-items:center;font-size:16px;
box-shadow:0 0 16px rgba(14,165,233,0.3),inset 0 1px 0 rgba(255,255,255,0.2);flex-shrink:0;}
.logo-txt{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;letter-spacing:.3px;
background:linear-gradient(135deg,#fff,var(--blueL));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.logo-sub{font-size:9px;color:var(--textS);letter-spacing:1.4px;text-transform:uppercase;margin-top:-1px;}
.hsp{flex:1;}
.hdr-dt{font-size:10px;color:var(--textM);text-align:right;line-height:1.5;display:none;}
@media(min-width:560px){.hdr-dt{display:block;}}
.hdr-bdg{padding:5px 13px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.3px;
white-space:nowrap;transition:all .3s;box-shadow:0 0 12px rgba(14,165,233,0.25);}
.hdr-cfg{width:34px;height:34px;background:rgba(100,200,255,0.08);border:1px solid var(--border);
border-radius:8px;display:grid;place-items:center;cursor:pointer;font-size:16px;transition:all .2s;flex-shrink:0;}
.hdr-cfg:hover{background:rgba(100,200,255,0.14);border-color:var(--borderH);transform:scale(1.05);}

/* ════ NAV ════ */
nav{background:rgba(5,10,18,0.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);
display:flex;overflow-x:auto;scrollbar-width:none;padding:0 6px;gap:2px;}
nav::-webkit-scrollbar{display:none;}
.tab{flex-shrink:0;padding:12px 15px;background:none;border:none;color:var(--textS);
cursor:pointer;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;
border-bottom:2px solid transparent;transition:all .16s;display:flex;align-items:center;
gap:5px;white-space:nowrap;letter-spacing:.3px;text-transform:uppercase;}
.tab:hover{color:var(--blueL);background:rgba(14,165,233,0.06);}
.tab.on{color:var(--blue);border-bottom-color:var(--blue);background:rgba(14,165,233,0.08);}
.tab .ti{font-size:13px;}

/* ════ PAGES ════ */
.page{display:none;padding:20px 16px;max-width:1420px;margin:0 auto;width:100%;flex:1;}
.page.on{display:block;animation:fadeUp .26s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ════ CARDS ════ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;
padding:18px;backdrop-filter:blur(18px);margin-bottom:15px;
transition:border-color .18s,transform .18s;}
.card:hover{border-color:rgba(100,200,255,0.22);}
.card-title{font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700;
letter-spacing:2.2px;text-transform:uppercase;color:var(--blueL);margin-bottom:14px;
display:flex;align-items:center;gap:7px;}

/* ════ GRID STATS ════ */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px;margin-bottom:18px;}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;
padding:16px;backdrop-filter:blur(18px);position:relative;overflow:hidden;
transition:transform .16s,border-color .16s,box-shadow .16s;}
.stat:hover{transform:translateY(-2px);border-color:var(--borderH);
box-shadow:0 6px 20px rgba(0,0,0,0.25);}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;}
.stat.inc::before{background:linear-gradient(90deg,var(--green),var(--greenL));}
.stat.exp::before{background:linear-gradient(90deg,var(--red),var(--redL));}
.stat.bal::before{background:linear-gradient(90deg,var(--amber),var(--amberL));}
.stat.fix::before{background:linear-gradient(90deg,var(--violet),var(--violetL));}
.stat.sav::before{background:linear-gradient(90deg,var(--cyan),var(--cyanL));}
.stat-lbl{font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
color:var(--textS);margin-bottom:6px;}
.stat-val{font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;line-height:1.1;}
.stat.inc .stat-val{color:var(--greenL);}
.stat.exp .stat-val{color:var(--redL);}
.stat.bal .stat-val{color:var(--amberL);}
.stat.fix .stat-val{color:var(--violetL);}
.stat.sav .stat-val{color:var(--cyanL);}
.stat-sub{font-size:9px;color:var(--textS);margin-top:4px;}
.stat-ico{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:26px;opacity:.09;}

/* ════ CHARTS ════ */
.chgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:13px;margin-bottom:15px;}
.chgrid2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:15px;}
@media(max-width:780px){.chgrid,.chgrid2{grid-template-columns:1fr;}}
.chw{position:relative;}

/* ════ FORMS ════ */
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;margin-bottom:9px;}
.frow.full{grid-template-columns:1fr;}
.fg{display:flex;flex-direction:column;gap:4px;}
.fg label{font-size:8px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;color:var(--textS);}
input,select,textarea{background:rgba(15,23,41,0.88);border:1px solid var(--border);
border-radius:9px;padding:8px 11px;color:var(--text);font-family:'Outfit',sans-serif;
font-size:12px;font-weight:500;transition:all .16s;width:100%;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);
box-shadow:0 0 0 3px rgba(14,165,233,0.12);}
select option{background:#0a1120;color:#f0f9ff;}
textarea{resize:vertical;min-height:60px;}
.ipfx{display:flex;align-items:stretch;background:rgba(15,23,41,0.88);border:1px solid var(--border);
border-radius:9px;overflow:hidden;transition:all .16s;}
.ipfx:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,165,233,0.12);}
.ipfx-tag{padding:8px 10px;background:rgba(14,165,233,0.11);border-right:1px solid var(--border);
color:var(--blueL);font-size:10px;font-weight:900;display:flex;align-items:center;white-space:nowrap;}
.ipfx input{border:none;border-radius:0;flex:1;background:transparent;}

/* ════ BUTTONS ════ */
.btn{padding:8px 16px;border-radius:9px;border:none;font-family:'Outfit',sans-serif;
font-size:11px;font-weight:800;cursor:pointer;transition:all .16s;
display:inline-flex;align-items:center;gap:5px;letter-spacing:.3px;text-transform:uppercase;}
.btn-blue{background:linear-gradient(135deg,var(--blueD),var(--blue));color:#fff;
box-shadow:0 4px 14px rgba(14,165,233,0.28);}
.btn-blue:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,0.4);}
.btn-green{background:linear-gradient(135deg,#059669,var(--green));color:#fff;
box-shadow:0 4px 14px rgba(16,185,129,0.24);}
.btn-green:hover{transform:translateY(-2px);}
.btn-violet{background:linear-gradient(135deg,#7c3aed,var(--violet));color:#fff;
box-shadow:0 4px 14px rgba(139,92,246,0.24);}
.btn-violet:hover{transform:translateY(-2px);}
.btn-amber{background:linear-gradient(135deg,#d97706,var(--amber));color:#000;font-weight:900;
box-shadow:0 4px 14px rgba(245,158,11,0.24);}
.btn-amber:hover{transform:translateY(-2px);}
.btn-ghost{background:rgba(100,200,255,0.08);color:var(--blueL);border:1px solid var(--border);}
.btn-ghost:hover{background:rgba(100,200,255,0.14);border-color:var(--borderH);}
.btn-danger{background:rgba(239,68,68,0.11);color:var(--redL);border:1px solid rgba(239,68,68,0.2);}
.btn-danger:hover{background:rgba(239,68,68,0.2);}
.btn-sm{padding:5px 12px;font-size:10px;}
.btn-xs{padding:4px 9px;font-size:9px;}
.btn-ico{padding:6px;font-size:14px;}

/* ════ TABLE ════ */
.tw{overflow-x:auto;border-radius:10px;}
table{width:100%;border-collapse:collapse;font-size:11px;}
thead th{padding:8px 11px;text-align:left;font-size:8px;font-weight:900;
letter-spacing:2.2px;text-transform:uppercase;color:var(--textS);
border-bottom:1px solid var(--border);white-space:nowrap;background:rgba(5,10,18,0.4);}
tbody tr{border-bottom:1px solid rgba(100,200,255,0.05);transition:background .12s;}
tbody tr:hover{background:rgba(14,165,233,0.04);}
tbody td{padding:9px 11px;vertical-align:middle;}
.chip{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:99px;
font-size:9px;font-weight:800;letter-spacing:.4px;white-space:nowrap;}
.ch-inc{background:rgba(16,185,129,0.14);color:var(--greenL);}
.ch-exp{background:rgba(239,68,68,0.14);color:var(--redL);}
.ch-blue{background:rgba(14,165,233,0.14);color:var(--blueL);}
.ch-violet{background:rgba(139,92,246,0.14);color:var(--violetL);}
.ch-amber{background:rgba(245,158,11,0.14);color:var(--amberL);}
.ch-pink{background:rgba(236,72,153,0.14);color:var(--pinkL);}
.ch-orange{background:rgba(249,115,22,0.14);color:var(--orangeL);}

/* ════ PROGRESS ════ */
.pb{background:rgba(255,255,255,0.06);border-radius:99px;height:6px;overflow:hidden;margin-top:5px;}
.pf{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);}
.pf-blue{background:linear-gradient(90deg,var(--blueD),var(--cyan));}
.pf-amber{background:linear-gradient(90deg,#d97706,var(--amberL));}
.pf-green{background:linear-gradient(90deg,#059669,var(--greenL));}

/* ════ G/FIX CARDS ════ */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px;}
.gcard,.fxcard{background:var(--surface);border:1px solid var(--border);border-radius:12px;
padding:16px;backdrop-filter:blur(18px);transition:transform .16s,border-color .16s;}
.gcard:hover,.fxcard:hover{transform:translateY(-2px);border-color:var(--borderH);}
.ghead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:9px;}
.gico{font-size:26px;line-height:1;}
.gname{font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700;margin-bottom:2px;}
.gcat{font-size:8px;color:var(--textS);letter-spacing:1.5px;text-transform:uppercase;}
.gval{font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;color:var(--blueL);}
.gmeta{font-size:10px;color:var(--textS);}
.gacts{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap;}
.fxcard{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;}
.fxl{display:flex;align-items:center;gap:10px;}
.fxico{font-size:19px;}
.fxname{font-weight:700;font-size:12px;}
.fxdue{font-size:9px;color:var(--textS);}
.fxval{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;color:var(--redL);}
.fxr{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}

/* ════ TYPE TOGGLE ════ */
.ttog{display:flex;background:rgba(15,23,41,0.88);border:1px solid var(--border);
border-radius:9px;overflow:hidden;margin-bottom:13px;}
.tt{flex:1;padding:9px;background:none;border:none;cursor:pointer;color:var(--textS);
font-family:inherit;font-size:11px;font-weight:800;transition:all .16s;
display:flex;align-items:center;justify-content:center;gap:5px;letter-spacing:.3px;text-transform:uppercase;}
.tt.te{background:rgba(239,68,68,0.15);color:var(--redL);}
.tt.ti{background:rgba(16,185,129,0.15);color:var(--greenL);}

/* ════ SECTION ════ */
.stitle{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;
color:var(--text);margin-bottom:13px;display:flex;align-items:center;gap:8px;}
.stitle small{font-family:'Outfit',sans-serif;font-size:10px;color:var(--textS);
font-weight:500;letter-spacing:1px;}
.div{height:1px;background:var(--border);margin:18px 0;}

/* ════ EMPTY ════ */
.empty{text-align:center;padding:36px 18px;color:var(--textS);}
.empty-ic{font-size:34px;margin-bottom:7px;opacity:.4;}
.empty p{font-size:11px;}

/* ════ PERIOD BAR ════ */
.pbar{display:flex;align-items:center;gap:9px;margin-bottom:20px;flex-wrap:wrap;}
.pbar select,.pbar input[type=number]{background:var(--surface);border:1px solid var(--border);
border-radius:9px;padding:7px 11px;color:var(--text);font-family:inherit;
font-size:12px;font-weight:600;cursor:pointer;transition:border-color .16s;}
.pbar select:focus,.pbar input:focus{outline:none;border-color:var(--blue);}
.yctrl{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);
border-radius:9px;overflow:hidden;}
.yctrl button{background:none;border:none;color:var(--textM);padding:7px 10px;
cursor:pointer;font-size:14px;font-weight:800;transition:all .14s;}
.yctrl button:hover{color:var(--blue);background:rgba(14,165,233,0.09);}
.yctrl input{background:none;border:none;color:var(--text);
font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700;
width:52px;text-align:center;padding:0;}
.yctrl input:focus{outline:none;color:var(--blueL);}
.plbl{font-size:10px;color:var(--textS);letter-spacing:1.6px;text-transform:uppercase;font-weight:700;}

/* ════ FILTER ════ */
.filt{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px;align-items:flex-end;}
.filt .fg{min-width:105px;}

/* ════ TOAST ════ */
#toast{position:fixed;bottom:18px;right:18px;z-index:9999;color:#fff;padding:10px 17px;
border-radius:9px;font-size:11px;font-weight:800;opacity:0;transform:translateY(8px);
pointer-events:none;transition:all .24s;max-width:260px;letter-spacing:.2px;}
#toast.on{opacity:1;transform:translateY(0);}

/* ════ MODAL ════ */
.mover{display:none;position:fixed;inset:0;z-index:600;background:rgba(5,10,18,0.84);
backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:18px;}
.mover.on{display:flex;}
.mbox{background:#0a1120;border:1px solid var(--border);border-radius:14px;
padding:24px;width:100%;max-width:420px;box-shadow:var(--shadow);animation:fadeUp .24s ease;}
.mtit{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;
color:var(--blueL);margin-bottom:15px;}
.mact{display:flex;gap:7px;margin-top:15px;justify-content:flex-end;flex-wrap:wrap;}

/* ════ CONFIG PANEL ════ */
#cfgPanel{position:fixed;top:0;right:-100%;width:100%;max-width:380px;height:100vh;
background:var(--bg2);border-left:1px solid var(--border);z-index:700;
box-shadow:-8px 0 32px rgba(0,0,0,0.4);transition:right .28s ease;overflow-y:auto;}
#cfgPanel.on{right:0;}
.cfg-hdr{padding:18px 20px;border-bottom:1px solid var(--border);
display:flex;align-items:center;justify-content:space-between;}
.cfg-hdr h2{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;}
.cfg-body{padding:20px;}
.cfg-sec{margin-bottom:24px;}
.cfg-sec h3{font-size:11px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;
color:var(--textS);margin-bottom:11px;}
.cfg-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;
padding:14px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;}
.cfg-item-l{flex:1;}
.cfg-item-l strong{font-size:12px;font-weight:700;display:block;margin-bottom:3px;}
.cfg-item-l span{font-size:10px;color:var(--textS);}
.cfg-cat-list{display:flex;flex-direction:column;gap:7px;}
.cfg-cat{background:var(--surface);border:1px solid var(--border);border-radius:8px;
padding:11px 13px;display:flex;justify-content:space-between;align-items:center;}
.cfg-cat span{font-size:11px;font-weight:600;}

/* ════ SCROLLBAR ════ */
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(100,200,255,0.18);border-radius:99px;}

/* ════ RESPONSIVE ════ */
@media(max-width:540px){
.page{padding:11px 9px;}
.stats{grid-template-columns:1fr 1fr;}
.frow{grid-template-columns:1fr;}
.ggrid{grid-template-columns:1fr;}
}

/* ── ORÇAMENTOS ── */
.orc-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;background:var(--bg2);border-radius:10px;padding:10px 12px;border:1px solid var(--border);}
.orc-cat{flex:1;font-size:11px;font-weight:700;color:var(--text);}
.orc-input{width:90px;background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:5px 8px;color:var(--text);font-size:12px;font-weight:700;text-align:right;font-family:inherit;}
.orc-input:focus{outline:none;border-color:var(--blue);}
.orc-bar-wrap{margin-top:14px;}
.orc-bar-item{margin-bottom:10px;}
.orc-bar-label{display:flex;justify-content:space-between;font-size:10px;color:var(--textM);margin-bottom:4px;}
.orc-bar-label span:last-child{font-weight:700;}
.orc-alerta{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);border-radius:10px;padding:10px 13px;margin-bottom:8px;font-size:11px;color:var(--redL);display:flex;align-items:center;gap:8px;}
.orc-alerta-ok{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.3);color:var(--amberL);}
/* ── RECORRENTES ── */
.rec-badge{background:rgba(139,92,246,0.15);color:var(--violetL);border:1px solid rgba(139,92,246,0.25);border-radius:5px;font-size:9px;font-weight:700;padding:2px 6px;margin-left:5px;letter-spacing:.5px;}

/* ── IMPORTADOR PDF ── */
.imp-btn{display:flex;align-items:center;gap:8px;background:rgba(139,92,246,0.12);border:1.5px dashed rgba(139,92,246,0.4);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .2s;width:100%;margin-bottom:13px;}
.imp-btn:hover{background:rgba(139,92,246,0.2);border-color:var(--violetL);}
.imp-btn-ic{font-size:22px;}
.imp-btn-txt{text-align:left;}
.imp-btn-txt b{display:block;font-size:12px;font-weight:800;color:var(--violetL);}
.imp-btn-txt span{font-size:10px;color:var(--textS);}
.imp-row{display:flex;flex-direction:column;gap:5px;padding:9px 11px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);margin-bottom:7px;}
.imp-row-top{display:flex;align-items:center;gap:7px;}
.imp-row-bot{display:flex;align-items:center;padding-left:23px;}
.imp-row.imp-skip{opacity:0.35;}
.imp-chk{width:16px;height:16px;accent-color:var(--violet);flex-shrink:0;cursor:pointer;}
.imp-date{font-size:10px;color:var(--textS);white-space:nowrap;flex-shrink:0;width:58px;}
.imp-desc-inp{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:600;color:var(--text);font-family:inherit;min-width:0;outline:none;padding:4px 8px;}
.imp-desc-inp:focus{border-color:var(--violet);}
.imp-val{font-size:12px;font-weight:800;font-family:Space Grotesk,sans-serif;flex-shrink:0;white-space:nowrap;}
.imp-val.neg{color:var(--redL);}
.imp-val.pos{color:var(--greenL);}
.imp-cat-sel{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:6px;color:var(--textM);font-size:10px;padding:4px 6px;font-family:inherit;}
.imp-summary{background:rgba(139,92,246,0.08);border:1px solid rgba(139,92,246,0.2);border-radius:10px;padding:12px;margin-bottom:12px;font-size:11px;color:var(--textM);}
.imp-summary b{color:var(--violetL);}



/* ═══════════════════════════════════════════════════════
   CHACAL FINANCE — LIGHT BLUE UI REFRESH
   Camada visual apenas: preserva estrutura, IDs e lógica.
   ═══════════════════════════════════════════════════════ */
:root{
  --bg:#f4f7fb;
  --bg2:#ffffff;
  --bg3:#f8fafc;
  --surface:#ffffff;
  --border:#e2e8f0;
  --borderH:#bfdbfe;
  --blue:#2563eb;
  --blueL:#3b82f6;
  --blueD:#1d4ed8;
  --cyan:#0ea5e9;
  --cyanL:#38bdf8;
  --violet:#6366f1;
  --violetL:#818cf8;
  --pink:#db2777;
  --pinkL:#ec4899;
  --orange:#ea580c;
  --orangeL:#f97316;
  --amber:#d97706;
  --amberL:#f59e0b;
  --lime:#65a30d;
  --limeL:#84cc16;
  --green:#059669;
  --greenL:#10b981;
  --red:#dc2626;
  --redL:#ef4444;
  --text:#0f172a;
  --textM:#475569;
  --textS:#94a3b8;
  --shadow:0 12px 36px rgba(15,23,42,.08);
}
html{background:var(--bg);}
body{
  background:linear-gradient(180deg,#f8fbff 0,#f4f7fb 320px,#f4f7fb 100%);
  color:var(--text);
  font-size:14px;
}
body::before{
  background:radial-gradient(ellipse 900px 500px at 8% -10%,rgba(37,99,235,.09),transparent 62%),
             radial-gradient(ellipse 700px 420px at 92% 0%,rgba(14,165,233,.07),transparent 62%);
}
body::after{display:none;}

/* Login */
#firebaseLoginScreen{
  background:linear-gradient(145deg,#eff6ff 0%,#f8fbff 46%,#eaf3ff 100%);
}
.firebase-login-box{
  background:rgba(255,255,255,.94);
  border:1px solid #dbeafe;
  border-radius:26px;
  padding:44px;
  box-shadow:0 24px 70px rgba(37,99,235,.14);
  backdrop-filter:blur(20px);
}
.firebase-logo{
  width:72px;height:72px;border-radius:20px;
  background:linear-gradient(145deg,#1d4ed8,#3b82f6);
  box-shadow:0 14px 32px rgba(37,99,235,.25);
}
.firebase-title{
  color:#0f172a;background:none;-webkit-text-fill-color:#0f172a;
  letter-spacing:-1px;font-size:30px;
}
.firebase-subtitle{color:#64748b;}
.firebase-btn-google{
  border:1px solid #dbe3ef;background:#fff;color:#0f172a;
  box-shadow:0 5px 16px rgba(15,23,42,.05);
}
.firebase-btn-google:hover{box-shadow:0 10px 24px rgba(37,99,235,.12);border-color:#bfdbfe;}
#firebaseLoadingScreen{background:rgba(248,251,255,.96);}
.firebase-loading-text{color:#64748b;}
.firebase-spinner{border-color:#dbeafe;border-top-color:#2563eb;}

/* Header */
header{
  height:70px;padding:0 24px;gap:13px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid #e6edf6;
  box-shadow:0 1px 0 rgba(15,23,42,.02),0 8px 30px rgba(15,23,42,.035);
  backdrop-filter:blur(18px);
}
.logo-ico{
  width:38px;height:38px;border-radius:11px;
  background:linear-gradient(145deg,#1d4ed8,#3b82f6);
  box-shadow:0 8px 18px rgba(37,99,235,.2);font-size:17px;
}
.logo-txt{
  color:#0f172a;background:none;-webkit-text-fill-color:#0f172a;
  font-size:16px;letter-spacing:-.2px;
}
.logo-sub{color:#94a3b8;letter-spacing:1.2px;}
.hdr-dt{color:#64748b;font-size:11px;}
.hdr-bdg{box-shadow:none;border:1px solid rgba(255,255,255,.35);}
.firebase-btn-logout{
  background:#fff1f2;color:#e11d48;border:1px solid #ffe4e6;
  border-radius:10px;padding:8px 13px;text-transform:none;letter-spacing:0;
}
.firebase-btn-logout:hover{background:#ffe4e6;transform:none;}
.hdr-cfg{
  width:38px;height:38px;background:#f8fafc;border-color:#e2e8f0;border-radius:10px;color:#475569;
}
.hdr-cfg:hover{background:#eff6ff;border-color:#bfdbfe;transform:none;}

/* Navigation */
nav{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid #e6edf6;
  padding:7px 16px;gap:5px;
  position:sticky;top:70px;z-index:250;
  backdrop-filter:blur(18px);
}
.tab{
  border-bottom:0;border-radius:10px;padding:10px 14px;
  color:#64748b;font-size:10px;text-transform:none;letter-spacing:.1px;
}
.tab:hover{color:#1d4ed8;background:#f1f6ff;}
.tab.on{color:#1d4ed8;background:#eaf2ff;border-bottom-color:transparent;}
.tab .ti{font-size:14px;}

/* Pages / hierarchy */
.page{padding:26px 22px 36px;max-width:1440px;}
.stitle{font-size:19px;color:#0f172a;letter-spacing:-.25px;margin-bottom:16px;}
.stitle small{color:#94a3b8;}
.pbar{margin-bottom:22px;padding:0 2px;}
.plbl{color:#64748b;font-size:9px;}
.pbar select,.pbar input[type=number],.yctrl{
  background:#fff;border-color:#dfe7f1;box-shadow:0 1px 2px rgba(15,23,42,.02);
}
.yctrl button{color:#64748b;}
.yctrl button:hover{color:#1d4ed8;background:#eff6ff;}
.yctrl input{color:#0f172a;}

/* Cards */
.card,.stat,.gcard,.fxcard{
  background:#fff;border:1px solid #e4eaf2;
  backdrop-filter:none;
  box-shadow:0 3px 12px rgba(15,23,42,.035);
}
.card{border-radius:16px;padding:20px;margin-bottom:16px;}
.card:hover{border-color:#d7e2ef;}
.card-title{
  color:#1d4ed8;font-family:'Outfit',sans-serif;font-size:10px;
  letter-spacing:1.35px;margin-bottom:16px;
}
.stats{gap:13px;margin-bottom:20px;}
.stat{border-radius:15px;padding:18px;min-height:96px;}
.stat:hover{transform:translateY(-1px);border-color:#d6e4f7;box-shadow:0 8px 24px rgba(15,23,42,.055);}
.stat::before{height:3px;left:16px;right:auto;width:32px;top:0;border-radius:0 0 4px 4px;}
.stat-lbl{color:#64748b;letter-spacing:1.35px;font-size:8px;}
.stat-val{font-size:21px;color:#0f172a !important;letter-spacing:-.5px;}
.stat-sub{color:#94a3b8;font-size:9px;}
.stat-ico{opacity:.11;font-size:30px;}

/* Forms */
.frow{gap:11px;margin-bottom:11px;}
.fg{gap:6px;}
.fg label{color:#64748b;letter-spacing:1.25px;font-size:8px;}
input,select,textarea,.ipfx{
  background:#fff;border-color:#dce5ef;color:#0f172a;border-radius:10px;
}
input,select,textarea{padding:10px 12px;font-size:12px;}
input::placeholder,textarea::placeholder{color:#b0bccb;}
input:focus,select:focus,textarea:focus,.ipfx:focus-within{
  border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.10);
}
select option{background:#fff;color:#0f172a;}
.ipfx{background:#fff;}
.ipfx-tag{background:#eff6ff;border-right-color:#dbeafe;color:#2563eb;}

/* Buttons */
.btn{border-radius:10px;padding:9px 15px;text-transform:none;letter-spacing:0;font-size:10px;}
.btn-blue{background:#2563eb;box-shadow:0 5px 14px rgba(37,99,235,.18);}
.btn-blue:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 7px 18px rgba(37,99,235,.22);}
.btn-green{background:#059669;box-shadow:none;}
.btn-violet{background:#6366f1;box-shadow:none;}
.btn-amber{background:#f59e0b;color:#fff;box-shadow:none;}
.btn-ghost{background:#f8fafc;color:#475569;border-color:#e2e8f0;}
.btn-ghost:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.btn-danger{background:#fff1f2;color:#e11d48;border-color:#ffe4e6;}
.btn-danger:hover{background:#ffe4e6;}

/* Toggles */
.ttog{background:#f8fafc;border-color:#e2e8f0;padding:4px;border-radius:11px;gap:4px;}
.tt{border-radius:8px;color:#64748b;padding:9px;}
.tt.te{background:#fff1f2;color:#dc2626;box-shadow:0 1px 4px rgba(15,23,42,.05);}
.tt.ti{background:#ecfdf5;color:#059669;box-shadow:0 1px 4px rgba(15,23,42,.05);}

/* Tables */
.tw{border-radius:12px;}
table{font-size:11px;}
thead th{
  background:#f8fafc;color:#64748b;border-bottom-color:#e2e8f0;
  padding:10px 12px;letter-spacing:1.25px;
}
tbody tr{border-bottom-color:#eef2f7;}
tbody tr:hover{background:#f8fbff;}
tbody td{padding:11px 12px;}
.ch-inc{background:#ecfdf5;color:#047857;}
.ch-exp{background:#fff1f2;color:#dc2626;}
.ch-blue{background:#eff6ff;color:#2563eb;}
.ch-violet{background:#eef2ff;color:#4f46e5;}
.ch-amber{background:#fffbeb;color:#b45309;}
.ch-pink{background:#fdf2f8;color:#be185d;}
.ch-orange{background:#fff7ed;color:#c2410c;}

/* Goal/fixed cards */
.ggrid{gap:13px;}
.gcard,.fxcard{border-radius:14px;padding:17px;}
.gcard:hover,.fxcard:hover{transform:translateY(-1px);border-color:#cfe0f7;}
.gname,.fxname{color:#0f172a;}
.gcat,.gmeta,.fxdue{color:#94a3b8;}
.gval{color:#2563eb;}
.fxval{color:#dc2626;}
.pb{background:#edf2f7;height:7px;}

/* Budgets / import */
.orc-row,.imp-row{background:#f8fafc;border-color:#e2e8f0;}
.orc-input,.imp-desc-inp,.imp-cat-sel{background:#fff;border-color:#dce5ef;color:#0f172a;}
.imp-btn{background:#f5f3ff;border-color:#c4b5fd;}
.imp-btn:hover{background:#ede9fe;border-color:#8b5cf6;}
.imp-btn-txt b{color:#5b5bd6;}
.imp-summary{background:#f5f3ff;border-color:#ddd6fe;color:#64748b;}
.imp-summary b{color:#5b5bd6;}

/* Modals / config */
.mover{background:rgba(15,23,42,.28);backdrop-filter:blur(6px);}
.mbox,.modal{
  background:#fff !important;border:1px solid #e2e8f0 !important;border-radius:18px !important;
  box-shadow:0 24px 70px rgba(15,23,42,.16) !important;
}
.mtit{color:#0f172a;font-size:17px;}
#cfgPanel{background:#fff;border-left-color:#e2e8f0;box-shadow:-14px 0 45px rgba(15,23,42,.10);}
.cfg-hdr{border-bottom-color:#e2e8f0;background:#fbfdff;}
.cfg-hdr h2{color:#0f172a;}
.cfg-sec h3{color:#64748b;}
.cfg-item,.cfg-cat{background:#f8fafc;border-color:#e2e8f0;}
.cfg-item-l strong,.cfg-cat span{color:#0f172a;}

/* Misc */
.div{background:#e2e8f0;}
.empty{color:#94a3b8;}
::-webkit-scrollbar-thumb{background:#cbd5e1;}
#toast{box-shadow:0 12px 30px rgba(15,23,42,.14);}

/* Dashboard chart legend generated inline */
#cPieLegenda > div{background:#f8fafc !important;border-color:#eef2f7 !important;}

/* Mobile refinement */
@media(max-width:700px){
  header{height:62px;padding:0 12px;gap:8px;}
  .logo-ico{width:34px;height:34px;border-radius:10px;}
  .logo-txt{font-size:14px;}
  .logo-sub{font-size:8px;}
  .firebase-btn-logout{padding:7px 9px;font-size:9px;}
  .hdr-cfg{width:34px;height:34px;}
  nav{top:62px;padding:6px 8px;gap:4px;}
  .tab{padding:9px 11px;font-size:9px;}
  .page{padding:16px 10px 30px;}
  .card{padding:15px;border-radius:14px;}
  .stats{gap:9px;}
  .stat{padding:14px;min-height:88px;}
  .stat-val{font-size:18px;}
  .stitle{font-size:17px;}
}
@media(max-width:420px){
  .logo-sub,.hdr-dt{display:none !important;}
  .hdr-bdg{font-size:9px;padding:5px 8px;}
  .firebase-btn-logout{font-size:0;padding:7px;width:31px;height:31px;justify-content:center;}
  .firebase-btn-logout::after{content:'↗';font-size:13px;}
  .stats{grid-template-columns:1fr 1fr;}
  .stat{min-width:0;}
  .stat-lbl{letter-spacing:.8px;}
  .tab .ti{font-size:13px;}
  .firebase-login-box{padding:32px 22px;border-radius:22px;}
}


/* ═══════════════════════════════════════════════════════
   CHACAL FINANCE 2.0 — FINANCIAL INTELLIGENCE UI
   ═══════════════════════════════════════════════════════ */
:root{--navy:#0b1f3a;--blueSoft:#eef5ff;--blueBorder:#d9e8ff;--shadow2:0 10px 30px rgba(15,23,42,.065);}
header{border-bottom-color:#edf2f7;}
.logo-ico{background:linear-gradient(145deg,#2563eb,#0ea5e9);}
nav{box-shadow:0 4px 18px rgba(15,23,42,.025);}
.tab.on{box-shadow:inset 0 0 0 1px #dbeafe;}
.page{animation:pageIn .25s ease both;}
@keyframes pageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.dash-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding:4px 2px;}
.dash-welcome h1{font-family:Space Grotesk,sans-serif;font-size:25px;line-height:1.15;letter-spacing:-.8px;color:#0f172a;margin:0 0 5px;}
.dash-welcome p{font-size:11px;color:#64748b;line-height:1.55;max-width:640px;}
.health-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #dbeafe;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:800;color:#1d4ed8;white-space:nowrap;box-shadow:0 3px 12px rgba(37,99,235,.06)}
.health-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}

.smart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;}
.smart-card{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(15,23,42,.03);position:relative;overflow:hidden;}
.smart-card::after{content:'';position:absolute;width:75px;height:75px;border-radius:50%;right:-28px;top:-30px;background:rgba(37,99,235,.045)}
.smart-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.smart-ico{width:32px;height:32px;border-radius:10px;background:#eff6ff;display:grid;place-items:center;font-size:15px}.smart-tag{font-size:8px;font-weight:800;color:#64748b;letter-spacing:.9px;text-transform:uppercase}
.smart-val{font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.4px}.smart-sub{font-size:9px;color:#94a3b8;margin-top:4px;line-height:1.4}.smart-good{color:#059669}.smart-warn{color:#d97706}.smart-bad{color:#dc2626}

.intel-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:13px;margin-bottom:16px}.intel-card{margin-bottom:0}.insight-list{display:flex;flex-direction:column;gap:8px}.insight{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border-radius:11px;background:#f8fbff;border:1px solid #edf3fb}.insight-ic{width:29px;height:29px;display:grid;place-items:center;background:#fff;border:1px solid #e6eef8;border-radius:9px;flex:0 0 auto}.insight b{font-size:10px;color:#0f172a;display:block;margin-bottom:2px}.insight span{font-size:9px;color:#64748b;line-height:1.45;display:block}
.score-wrap{display:flex;align-items:center;gap:17px}.score-ring{--score:0;position:relative;width:96px;height:96px;border-radius:50%;background:conic-gradient(#2563eb calc(var(--score)*1%),#eaf0f7 0);display:grid;place-items:center;flex:0 0 auto}.score-ring::before{content:'';width:74px;height:74px;border-radius:50%;background:#fff;position:absolute}.score-num{position:relative;font-family:Space Grotesk,sans-serif;font-size:24px;color:#0f172a}.score-num small{font:600 9px Outfit,sans-serif;color:#94a3b8}.score-info h3{font-size:13px;margin-bottom:4px;color:#0f172a}.score-info p{font-size:9px;color:#64748b;line-height:1.5}.score-scale{height:6px;border-radius:99px;background:#edf2f7;overflow:hidden;margin-top:8px}.score-scale span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#60a5fa,#2563eb);transition:width .4s ease}

.plan-hero{background:linear-gradient(135deg,#0f4ec9,#2878ef);border:none;color:#fff;border-radius:20px;padding:22px;box-shadow:0 14px 32px rgba(37,99,235,.18);margin-bottom:16px;position:relative;overflow:hidden}.plan-hero::after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-115px;background:rgba(255,255,255,.08)}.plan-hero h2{font-family:Space Grotesk,sans-serif;font-size:20px;letter-spacing:-.4px;margin-bottom:5px}.plan-hero p{font-size:10px;opacity:.82;max-width:650px;line-height:1.55}.plan-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.plan-hero-stat{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);border-radius:13px;padding:12px;backdrop-filter:blur(6px)}.plan-hero-stat label{font-size:8px;text-transform:uppercase;letter-spacing:1px;opacity:.72;display:block;margin-bottom:5px}.plan-hero-stat strong{font-family:Space Grotesk,sans-serif;font-size:17px;display:block}.plan-hero-stat small{font-size:8px;opacity:.7}
.plan-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}.plan-config{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-note{font-size:9px;color:#64748b;line-height:1.5;background:#f8fafc;border:1px solid #edf2f7;border-radius:10px;padding:9px 10px;margin-top:10px}.scenario-tabs{display:flex;gap:6px;padding:4px;background:#f1f5f9;border-radius:10px;width:max-content;max-width:100%;margin-bottom:11px}.scenario-btn{border:0;background:transparent;color:#64748b;font:700 9px Outfit,sans-serif;padding:7px 10px;border-radius:7px;cursor:pointer}.scenario-btn.on{background:#fff;color:#1d4ed8;box-shadow:0 1px 5px rgba(15,23,42,.08)}
.goal-analysis{display:flex;flex-direction:column;gap:8px}.goal-analysis-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px;border:1px solid #edf2f7;border-radius:11px;background:#fbfdff}.goal-analysis-row b{font-size:10px;color:#0f172a}.goal-analysis-row p{font-size:8px;color:#94a3b8;margin-top:3px}.goal-analysis-row strong{font-family:Space Grotesk,sans-serif;font-size:12px;color:#2563eb;white-space:nowrap;text-align:right}.goal-analysis-row strong small{font:500 8px Outfit,sans-serif;color:#94a3b8;display:block;margin-top:2px}
.whatif-result{margin-top:10px;padding:12px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe}.whatif-result label{font-size:8px;color:#64748b;text-transform:uppercase;letter-spacing:.8px;display:block}.whatif-result strong{font-family:Space Grotesk,sans-serif;font-size:18px;color:#1d4ed8;display:block;margin-top:3px}.whatif-result small{font-size:8px;color:#64748b}

@media(max-width:980px){.smart-grid{grid-template-columns:1fr 1fr}.intel-layout,.plan-grid{grid-template-columns:1fr}.plan-hero-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.dash-welcome{display:block}.dash-welcome h1{font-size:21px}.health-pill{margin-top:9px}.smart-grid{grid-template-columns:1fr 1fr;gap:8px}.smart-card{padding:12px}.smart-val{font-size:17px}.intel-layout{gap:9px}.score-wrap{align-items:flex-start}.score-ring{width:82px;height:82px}.score-ring::before{width:63px;height:63px}.score-num{font-size:20px}.plan-hero{padding:17px;border-radius:16px}.plan-hero-stats{grid-template-columns:1fr;gap:7px}.plan-hero-stat{padding:10px}.plan-config{grid-template-columns:1fr}.scenario-tabs{width:100%}.scenario-btn{flex:1;padding:7px 5px}}


/* ════ CONTROLE DE ENTRADAS ════ */
.income-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:16px}.income-summary{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(37,99,235,.06)}.income-summary h2{font-family:Space Grotesk,sans-serif;font-size:19px;color:#0f172a;margin-bottom:5px}.income-summary p{font-size:11px;color:#64748b;line-height:1.55}.income-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:17px}.income-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:13px}.income-kpi span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;color:#94a3b8;margin-bottom:4px}.income-kpi strong{font-family:Space Grotesk,sans-serif;font-size:17px;color:#0f172a}.income-kpi strong.good{color:#059669}.income-kpi strong.wait{color:#d97706}.receive-form{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(37,99,235,.05)}.receive-form h3{font-family:Space Grotesk,sans-serif;font-size:14px;margin-bottom:4px}.receive-form>p{font-size:10px;color:#64748b;margin-bottom:14px}.money-tabs{display:flex;gap:6px;padding:4px;background:#f1f5f9;border-radius:11px;margin-bottom:14px}.money-tab{flex:1;border:0;background:transparent;padding:8px;border-radius:8px;font-family:inherit;font-size:10px;font-weight:800;color:#64748b;cursor:pointer}.money-tab.on{background:#fff;color:#2563eb;box-shadow:0 2px 8px rgba(15,23,42,.08)}.receive-list{display:flex;flex-direction:column;gap:8px}.receive-row{display:grid;grid-template-columns:minmax(0,1.5fr) .75fr .65fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:12px 13px}.receive-main{min-width:0}.receive-main b{display:block;font-size:12px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receive-main small{display:block;color:#94a3b8;font-size:9px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receive-source{font-size:10px;color:#475569}.receive-date{font-size:10px;color:#64748b;white-space:nowrap}.receive-value{font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;color:#059669;text-align:right;white-space:nowrap}.receive-value.pending{color:#d97706}.receive-actions{display:flex;gap:5px;justify-content:flex-end}.section-head-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.section-head-row h3{font-family:Space Grotesk,sans-serif;font-size:14px}.section-head-row p{font-size:9px;color:#94a3b8}.income-filter{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.income-filter select{width:auto;min-width:115px}.income-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:11px;padding:10px 12px;font-size:10px;line-height:1.5;margin-bottom:12px}
@media(max-width:780px){.income-hero{grid-template-columns:1fr}.receive-row{grid-template-columns:1fr auto}.receive-source,.receive-date{grid-column:1}.receive-value{grid-column:2;grid-row:1}.receive-actions{grid-column:2;grid-row:2/4;flex-direction:column}.income-kpis{grid-template-columns:1fr 1fr}}



/* Chacal Finance Complete v3 additions */
.cf3-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.cf3-card{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(15,23,42,.035)}.cf3-card h3{font-size:12px;margin-bottom:4px}.cf3-card p{font-size:9px;color:#64748b;line-height:1.45}.cf3-kpi{font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;color:#0f172a;margin-top:9px}.cf3-row{display:grid;grid-template-columns:1.2fr .8fr;gap:13px;margin-bottom:16px}.cf3-list{display:flex;flex-direction:column;gap:8px}.cf3-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #edf2f7;border-radius:12px;background:#fbfdff}.cf3-item b{display:block;font-size:11px}.cf3-item small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}.cf3-item strong{font-family:Space Grotesk,sans-serif;font-size:13px}.cf3-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.cf3-progress{height:7px;background:#edf2f7;border-radius:999px;overflow:hidden;margin-top:7px}.cf3-progress>span{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb)}.cf3-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:8px;font-weight:800}.cf3-table{width:100%;border-collapse:collapse}.cf3-table th,.cf3-table td{padding:10px 11px;border-bottom:1px solid #eef2f7;text-align:left;font-size:10px}.cf3-table th{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#64748b}.cf3-empty{padding:22px;text-align:center;color:#94a3b8;font-size:10px}.cf3-hero{background:linear-gradient(135deg,#0f4ec9,#2878ef);border-radius:20px;padding:22px;color:#fff;margin-bottom:16px;position:relative;overflow:hidden}.cf3-hero h2{font-family:Space Grotesk,sans-serif;font-size:21px;margin-bottom:4px}.cf3-hero p{font-size:10px;opacity:.82}.cf3-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.cf3-hero-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:12px}.cf3-hero-stat label{display:block;font-size:8px;opacity:.7;text-transform:uppercase;letter-spacing:1px}.cf3-hero-stat strong{display:block;font-family:Space Grotesk,sans-serif;font-size:17px;margin-top:4px}.cf3-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cf3-note{font-size:9px;color:#64748b;background:#f8fafc;border:1px solid #edf2f7;border-radius:10px;padding:10px}.cf3-chip-good{background:#ecfdf5;color:#047857}.cf3-chip-warn{background:#fffbeb;color:#b45309}.cf3-chip-bad{background:#fff1f2;color:#dc2626}@media(max-width:900px){.cf3-grid{grid-template-columns:1fr 1fr}.cf3-row{grid-template-columns:1fr}.cf3-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cf3-grid{grid-template-columns:1fr 1fr}.cf3-hero-grid{grid-template-columns:1fr}.cf3-form-grid{grid-template-columns:1fr}}


/* =========================================================
   CHACAL FINANCE — BLUE APP UI
   Nova camada visual, preservando IDs, dados e lógica.
   ========================================================= */
:root{
  --cf-bg:#f3f7fc;
  --cf-surface:#ffffff;
  --cf-text:#10213d;
  --cf-muted:#71819a;
  --cf-line:#e6edf6;
  --cf-blue:#1473e6;
  --cf-blue2:#075cc9;
  --cf-blueSoft:#eaf3ff;
  --cf-bluePale:#f5f9ff;
  --cf-green:#0aa174;
  --cf-red:#e64c64;
  --cf-amber:#e99b22;
  --cf-shadow:0 8px 28px rgba(31,74,125,.08);
  --cf-shadow-lg:0 18px 50px rgba(31,74,125,.12);
  --cf-sidebar:232px;
}
html,body{background:var(--cf-bg)!important}
body{
  color:var(--cf-text)!important;
  background:
    radial-gradient(800px 360px at 90% -80px,rgba(20,115,230,.09),transparent 62%),
    linear-gradient(180deg,#f8fbff 0,#f3f7fc 310px,#f3f7fc 100%)!important;
}
body::before,body::after{display:none!important}

/* Login: visual de app, não de banco */
#firebaseLoginScreen{
  background:
    radial-gradient(circle at 20% 12%,rgba(255,255,255,.8),transparent 28%),
    linear-gradient(145deg,#eaf4ff,#f8fbff 48%,#eef6ff)!important;
}
.firebase-login-box{
  max-width:420px!important;
  border:1px solid #dceaff!important;
  background:rgba(255,255,255,.96)!important;
  border-radius:28px!important;
  box-shadow:0 30px 80px rgba(20,73,140,.16)!important;
  padding:42px!important;
}
.firebase-logo{
  width:68px!important;height:68px!important;border-radius:20px!important;
  background:linear-gradient(145deg,#1677e8,#0c5fc8)!important;
  box-shadow:0 15px 32px rgba(20,115,230,.23)!important;
}
.firebase-title{color:#10213d!important;background:none!important;-webkit-text-fill-color:#10213d!important;font-size:29px!important}
.firebase-subtitle{color:#71819a!important}
.firebase-btn-google{border-color:#dfe8f3!important;box-shadow:0 5px 18px rgba(30,67,112,.06)!important}

/* Topbar */
header{
  position:sticky!important;top:0!important;z-index:500!important;height:68px!important;
  background:rgba(255,255,255,.93)!important;
  border-bottom:1px solid var(--cf-line)!important;
  box-shadow:0 4px 20px rgba(31,74,125,.035)!important;
  backdrop-filter:blur(18px)!important;
  padding:0 18px!important;
}
.logo-ico{
  width:40px!important;height:40px!important;border-radius:13px!important;
  background:linear-gradient(145deg,#1473e6,#0c9ff2)!important;
  box-shadow:0 9px 22px rgba(20,115,230,.22)!important;
}
.logo-txt{font-size:15px!important;color:#10213d!important;background:none!important;-webkit-text-fill-color:#10213d!important;letter-spacing:-.25px!important}
.logo-sub{color:#8b9bb1!important;letter-spacing:.7px!important;text-transform:none!important}
.hdr-dt{color:#71819a!important}
.hdr-bdg{
  background:#e8f7f1!important;color:#087f5b!important;border:1px solid #c9eddf!important;
  border-radius:999px!important;box-shadow:none!important;padding:7px 12px!important;
}
.hdr-cfg{
  width:38px!important;height:38px!important;border-radius:11px!important;
  background:#f7faff!important;color:#51647d!important;border:1px solid #e3ebf5!important;
}
.hdr-cfg:hover{background:#edf5ff!important;border-color:#cfe3ff!important;transform:none!important}
.firebase-btn-logout{
  border-radius:10px!important;background:#fff5f6!important;border:1px solid #ffe0e5!important;color:#d9435c!important;
  text-transform:none!important;letter-spacing:0!important;
}

/* Sidebar desktop */
nav{
  position:fixed!important;
  left:0!important;top:68px!important;bottom:0!important;
  width:var(--cf-sidebar)!important;
  height:auto!important;
  z-index:410!important;
  display:flex!important;flex-direction:column!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  gap:4px!important;
  padding:18px 12px 24px!important;
  background:rgba(255,255,255,.94)!important;
  border-right:1px solid var(--cf-line)!important;
  border-bottom:0!important;
  box-shadow:8px 0 28px rgba(31,74,125,.035)!important;
  backdrop-filter:blur(18px)!important;
}
nav::before{
  content:'MENU';
  display:block;
  padding:1px 10px 8px;
  font-size:8px;font-weight:900;letter-spacing:1.6px;color:#a0aec0;
}
.tab{
  width:100%!important;min-height:42px!important;
  justify-content:flex-start!important;
  border:0!important;border-radius:12px!important;
  padding:10px 12px!important;
  color:#687b95!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:10.5px!important;font-weight:750!important;
  gap:10px!important;
}
.tab .ti{
  width:26px;height:26px;border-radius:8px;
  display:grid!important;place-items:center!important;
  font-size:14px!important;background:#f5f8fc;
}
.tab:hover{background:#f5f9ff!important;color:#176acb!important}
.tab.on{
  background:linear-gradient(135deg,#e8f3ff,#f2f8ff)!important;
  color:#0d61c7!important;
  box-shadow:inset 0 0 0 1px #d4e8ff!important;
  border:0!important;
}
.tab.on .ti{background:#fff;color:#0d61c7;box-shadow:0 4px 12px rgba(20,115,230,.08)}
/* separações visuais */
nav .tab:nth-of-type(4),nav .tab:nth-of-type(8){margin-bottom:8px!important}

/* Conteúdo */
.page{
  max-width:1540px!important;
  width:calc(100% - var(--cf-sidebar))!important;
  margin:0 0 0 var(--cf-sidebar)!important;
  padding:26px 26px 42px!important;
}
.page.on{animation:cfPageIn .22s ease both!important}
@keyframes cfPageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.stitle{font-size:20px!important;letter-spacing:-.45px!important;color:#10213d!important}
.stitle small{color:#8a9ab0!important}

/* Dashboard hero */
.dash-welcome{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0d5dca 0%,#1473e6 58%,#2996ef 100%);
  padding:22px 23px!important;border-radius:20px!important;margin-bottom:16px!important;
  box-shadow:0 16px 34px rgba(20,115,230,.18);
}
.dash-welcome::after{
  content:'';position:absolute;width:250px;height:250px;border-radius:50%;
  right:-85px;top:-125px;background:rgba(255,255,255,.09);pointer-events:none
}
.dash-welcome h1{color:#fff!important;font-size:25px!important}
.dash-welcome p{color:rgba(255,255,255,.78)!important}
.health-pill{
  position:relative;z-index:1;background:rgba(255,255,255,.14)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;box-shadow:none!important;backdrop-filter:blur(6px)
}
.health-dot{background:#7ef0c3!important;box-shadow:0 0 0 4px rgba(126,240,195,.15)!important}

/* Controles e filtros */
.pbar{
  background:#fff;border:1px solid var(--cf-line);border-radius:14px;
  padding:9px 11px!important;width:max-content;max-width:100%;
  box-shadow:0 3px 12px rgba(31,74,125,.025);
}
.pbar select,.pbar input[type=number],.yctrl{
  background:#f8fbff!important;border-color:#e4edf7!important;box-shadow:none!important;
}
.plbl{color:#8191a6!important}

/* Cards */
.card,.stat,.gcard,.fxcard,.income-summary,.receive-form,.cf3-card{
  background:#fff!important;
  border:1px solid var(--cf-line)!important;
  box-shadow:var(--cf-shadow)!important;
}
.card{border-radius:18px!important;padding:19px!important}
.card:hover,.stat:hover,.gcard:hover,.fxcard:hover{border-color:#d3e4f7!important;box-shadow:0 10px 30px rgba(31,74,125,.075)!important}
.card-title{
  color:#52708f!important;font-size:9.5px!important;letter-spacing:1px!important;
  font-family:'Outfit',sans-serif!important;
}
.stats{gap:11px!important}
.stat{
  border-radius:16px!important;min-height:104px!important;padding:17px!important;
  overflow:hidden!important;
}
.stat::before{
  width:34px!important;height:3px!important;left:17px!important;right:auto!important;
  border-radius:0 0 4px 4px!important;
}
.stat-lbl{color:#8191a6!important;letter-spacing:1px!important}
.stat-val{font-size:21px!important;color:#10213d!important}
.stat-sub{color:#9aabc0!important}
.stat-ico{
  right:12px!important;bottom:8px!important;top:auto!important;transform:none!important;
  font-size:31px!important;opacity:.105!important;
}

/* KPIs inteligentes */
.smart-grid{gap:11px!important}
.smart-card{
  border:1px solid var(--cf-line)!important;border-radius:16px!important;
  box-shadow:0 5px 18px rgba(31,74,125,.04)!important;padding:15px!important;
}
.smart-ico{background:#eaf3ff!important;color:#1268cd!important}
.smart-tag{color:#8191a6!important}
.smart-val{color:#10213d!important}

/* Diagnóstico */
.intel-layout{gap:12px!important}
.intel-card{border-radius:18px!important}
.score-ring{background:conic-gradient(#1473e6 calc(var(--score)*1%),#e9f0f8 0)!important}
.score-scale span{background:linear-gradient(90deg,#4ba7f5,#1473e6)!important}

/* Forms */
input,select,textarea,.ipfx{
  background:#fbfdff!important;border:1px solid #dce7f3!important;color:#18304f!important;
  border-radius:11px!important;
}
input:focus,select:focus,textarea:focus,.ipfx:focus-within{
  border-color:#74b4f3!important;box-shadow:0 0 0 3px rgba(20,115,230,.1)!important;
}
.fg label{color:#788ba3!important;letter-spacing:.9px!important}
.ipfx-tag{background:#edf6ff!important;color:#1166cb!important;border-right-color:#d9eaff!important}

/* Botões */
.btn{border-radius:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:800!important}
.btn-blue{
  background:linear-gradient(135deg,#1473e6,#0d63ce)!important;
  box-shadow:0 6px 16px rgba(20,115,230,.18)!important
}
.btn-blue:hover{box-shadow:0 9px 22px rgba(20,115,230,.22)!important}
.btn-ghost{background:#f8fbff!important;color:#526984!important;border-color:#e2eaf4!important}
.btn-ghost:hover{background:#eef6ff!important;color:#1268cd!important;border-color:#cfe4ff!important}
.btn-green{background:#0aa174!important}
.btn-violet{background:#6757d9!important}
.btn-danger{background:#fff4f5!important;color:#d94760!important;border-color:#ffe1e6!important}

/* Tabelas e listas */
.tw{border:1px solid #edf2f7;border-radius:13px!important}
thead th{background:#f7fafe!important;color:#7c8ea4!important;border-bottom-color:#e8eef6!important}
tbody tr{border-bottom-color:#edf2f7!important}
tbody tr:hover{background:#f7fbff!important}
.ch-blue{background:#eaf3ff!important;color:#1268cd!important}
.ch-violet{background:#f0efff!important;color:#6056c8!important}
.ch-inc{background:#eaf9f3!important;color:#08875f!important}
.ch-exp{background:#fff1f3!important;color:#d94159!important}
.ch-amber{background:#fff7e8!important;color:#b97410!important}

/* Entradas */
.income-summary{
  background:linear-gradient(145deg,#edf6ff,#fff 72%)!important;
  border-color:#d8eaff!important;border-radius:20px!important;
}
.income-summary h2{color:#10213d!important}
.income-kpi{border-color:#e4ebf4!important;border-radius:14px!important}
.receive-form{border-radius:20px!important;border-color:#dfe9f5!important}
.income-note{background:#edf6ff!important;border-color:#d2e6ff!important;color:#24598e!important}

/* Metas, orçamento e progressos */
.gcard,.fxcard{border-radius:16px!important}
.gval{color:#1473e6!important}
.pb{background:#eaf0f7!important}
.pf-blue,.cf3-progress span{background:linear-gradient(90deg,#1473e6,#2b9af0)!important}

/* Extensões: assinaturas, cartões, patrimônio, parcelas, análises */
.cf3-kpis{gap:11px!important}
.cf3-kpi,.cf3-item{
  background:#fff!important;border:1px solid var(--cf-line)!important;
  border-radius:14px!important;box-shadow:0 4px 16px rgba(31,74,125,.035)!important;
}
.cf3-kpi strong,.cf3-item strong{color:#10213d!important}
.cf3-badge{background:#eaf3ff!important;color:#1268cd!important}
.cf3-chip-bad{background:#f2f4f7!important;color:#7c8a9c!important}
.cf3-empty{color:#98a9bd!important}

/* Config lateral */
#cfgPanel{
  background:#fff!important;border-left:1px solid var(--cf-line)!important;
  box-shadow:-18px 0 50px rgba(31,74,125,.12)!important;
}
.cfg-hdr{background:#f9fbfe!important;border-bottom-color:#e8eef6!important}
.cfg-item,.cfg-cat{background:#f8fbff!important;border-color:#e4ebf4!important}

/* Modal */
.mover{background:rgba(21,45,76,.28)!important;backdrop-filter:blur(7px)!important}
.mbox,.modal{
  border-radius:20px!important;border-color:#e1eaf4!important;
  box-shadow:0 28px 80px rgba(30,67,112,.18)!important
}

/* FAB: lançamento rápido */
#cfQuickAdd{
  position:fixed;right:22px;bottom:22px;z-index:455;
  width:52px;height:52px;border:0;border-radius:17px;
  background:linear-gradient(145deg,#1473e6,#075cc9);color:#fff;
  box-shadow:0 13px 28px rgba(20,115,230,.28);
  font-size:24px;display:grid;place-items:center;cursor:pointer;
}
#cfQuickAdd:hover{transform:translateY(-2px)}

/* Desktop */
@media(min-width:901px){
  header{padding-left:18px!important}
}

/* Tablet / mobile: barra inferior estilo app */
@media(max-width:900px){
  :root{--cf-sidebar:0px}
  header{height:62px!important;padding:0 10px!important}
  nav{
    top:auto!important;left:8px!important;right:8px!important;bottom:8px!important;
    width:auto!important;height:67px!important;
    flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;
    border:1px solid #dfe8f3!important;border-radius:18px!important;
    padding:6px!important;gap:3px!important;
    box-shadow:0 14px 38px rgba(31,74,125,.17)!important;
    background:rgba(255,255,255,.96)!important;
  }
  nav::before{display:none!important}
  .tab{
    width:auto!important;min-width:68px!important;height:53px!important;min-height:53px!important;
    flex:0 0 auto!important;flex-direction:column!important;justify-content:center!important;
    gap:2px!important;padding:5px 8px!important;font-size:8px!important;border-radius:12px!important;
  }
  .tab .ti{width:25px!important;height:25px!important;background:transparent!important;font-size:15px!important}
  .tab.on{background:#eaf3ff!important}
  .page{
    width:100%!important;margin:0!important;padding:18px 10px 96px!important;
  }
  #cfQuickAdd{right:16px;bottom:86px;width:48px;height:48px;border-radius:15px}
  .dash-welcome{padding:18px!important;border-radius:18px!important}
  .dash-welcome h1{font-size:21px!important}
}
@media(max-width:600px){
  .firebase-login-box{padding:30px 22px!important;border-radius:24px!important}
  .logo-sub,.hdr-dt{display:none!important}
  .firebase-btn-logout{font-size:0!important;width:34px!important;height:34px!important;padding:0!important;display:grid!important;place-items:center!important}
  .firebase-btn-logout::after{content:'↗';font-size:13px}
  .hdr-cfg{width:34px!important;height:34px!important}
  .stats,.smart-grid{grid-template-columns:1fr 1fr!important}
  .stat{min-width:0!important;padding:14px!important;min-height:94px!important}
  .stat-val{font-size:18px!important}
  .intel-layout,.income-hero,.chgrid,.chgrid2,.plan-grid{grid-template-columns:1fr!important}
  .dash-welcome{display:block!important}
  .health-pill{margin-top:11px!important}
  .pbar{width:100%!important}
  .card{padding:15px!important}
}


.auth-fields{display:flex;flex-direction:column;gap:10px;margin-top:18px;text-align:left}
.auth-fields label{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.7px;text-transform:uppercase}
.auth-fields input{width:100%;padding:13px 14px;border:1px solid #dce5ef;border-radius:11px;background:#fff;color:#0f172a;font:600 14px Outfit,sans-serif;outline:none}
.auth-fields input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.10)}
.auth-primary{width:100%;margin-top:12px;padding:13px 16px;border:0;border-radius:11px;background:#2563eb;color:white;font:800 13px Outfit,sans-serif;cursor:pointer}
.auth-primary:disabled{opacity:.55;cursor:not-allowed}
.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:11px;flex-wrap:wrap}
.auth-link{border:0;background:none;color:#2563eb;font:700 11px Outfit,sans-serif;padding:4px 0;cursor:pointer}
.auth-sep{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:10px;margin:18px 0 12px}
.auth-sep:before,.auth-sep:after{content:'';height:1px;background:#e2e8f0;flex:1}
.auth-error{min-height:18px;color:#dc2626;font-size:10px;line-height:1.4;margin-top:9px;text-align:left}
.auth-note{font-size:9px;color:#94a3b8;line-height:1.45;margin-top:10px}
@media(max-width:600px){.firebase-login-box{max-height:94vh;overflow:auto}.auth-fields input{font-size:16px}}


/* Correções gerais de responsividade */
html,body{max-width:100%;overflow-x:hidden}
#app,.page,.card,.modal,.mbox,.fg,.frow,.tw{min-width:0}
input,select,textarea{max-width:100%;min-width:0}
input[type="date"],input[type="month"],input[type="number"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.mover{padding:14px!important;overflow-y:auto!important;overscroll-behavior:contain}
.modal,.mbox{width:min(100%,560px)!important;max-width:560px!important;max-height:88dvh!important;overflow-y:auto!important;overflow-x:hidden!important;margin:auto!important}
#mEditLanc .modal{max-width:480px!important}
#mEditLanc .fg{width:100%!important;min-width:0!important}
#mEditLanc .mact,#mEditLanc .mbtns{position:sticky;bottom:-1px;background:#fff;padding-top:10px;z-index:2}
.tw{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
canvas{max-width:100%!important}
.an-period-card{padding:15px!important}
.an-period-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.an-period-controls>select{width:auto;min-width:145px}
.an-period-controls .yctrl{min-width:150px}
.an-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.an-kpi{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(31,74,125,.04);min-width:0}
.an-kpi span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.2px;font-weight:900;color:#8191a6;margin-bottom:7px}
.an-kpi strong{display:block;font-family:Space Grotesk,sans-serif;font-size:18px;color:#10213d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-kpi strong.good{color:#059669}.an-kpi strong.bad{color:#dc2626}
.an-kpi small{display:block;font-size:9px;color:#94a3b8;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:16px}
.an-chart-card{margin-bottom:0!important;min-width:0}
.an-chart-box{position:relative;height:290px;min-width:0}
.an-cat-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:12px}
.an-cat-legend>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;background:#f8fbff;border:1px solid #edf2f7;border-radius:10px;padding:8px 9px;min-width:0}
.an-cat-legend span{font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-cat-legend b{font-size:9px;white-space:nowrap}
.an-cat-legend small{font-size:8px;color:#94a3b8}
@media(max-width:900px){
  .an-kpi-grid{grid-template-columns:1fr 1fr}
  .an-chart-grid{grid-template-columns:1fr}
  .an-chart-box{height:260px}
  .cf3-row.an-insights-row{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  body{font-size:13px}
  .page{padding-left:9px!important;padding-right:9px!important}
  .stitle{font-size:18px!important;line-height:1.2;flex-wrap:wrap}
  .stitle small{display:block;width:100%;margin-left:0}
  .frow,.cf3-form-grid,.plan-config{grid-template-columns:1fr!important}
  .receive-row{grid-template-columns:1fr!important}
  .receive-value{text-align:left!important}
  .an-period-controls{width:100%}
  .an-period-controls>select,.an-period-controls .yctrl{width:100%!important}
  .an-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}
  .an-kpi{padding:12px}
  .an-kpi strong{font-size:15px}
  .an-chart-box{height:245px}
  .an-cat-legend{grid-template-columns:1fr}
  .cf3-hero.an-hero{padding:17px!important}
  .cf3-hero.an-hero .cf3-hero-grid{grid-template-columns:1fr 1fr!important}
  .cf3-hero.an-hero .cf3-hero-stat:last-child{grid-column:1/-1}
  .modal,.mbox{max-height:84dvh!important;border-radius:18px!important;padding:18px!important}
  #mEditLanc .modal{width:100%!important}
  #mEditLanc input,#mEditLanc select,#mEditLanc textarea{font-size:16px!important}
  #mEditLanc .mbtns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  #mEditLanc .mbtns .btn{width:100%!important;justify-content:center!important}
}
@media(max-width:380px){
  .stats,.smart-grid,.an-kpi-grid,.cf3-grid{grid-template-columns:1fr!important}
  nav .tab{min-width:62px!important}
}


#firebaseLoginButton:disabled{opacity:.55;pointer-events:none;transform:none!important}
