/* ===== Alpha Financeiro — sistema de design (tema claro, estilo Salescope) ===== */
:root{
  --blue:#2E6BFF; --blue-d:#1D54E0; --green:#16A34A; --green-d:#0F8A45; --purple:#7C3AED;
  --amber:#F59E0B; --red:#F04438; --pink:#F63D68; --cyan:#0EA5E9;
  --t1:#1D2939; --t2:#5A677B; --t3:#98A6B8;
  --card:#FFFFFF; --bdr:#EBEFF6; --line:#F2F5F9; --bg:#F1F5FB;
  --shadow:0 1px 2px rgba(16,24,40,.03), 0 10px 30px rgba(16,24,40,.05);
  --r:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',system-ui,Arial,sans-serif;color:var(--t1);background:
  radial-gradient(1200px 420px at 50% -140px, #DCE8FF 0%, rgba(220,232,255,0) 72%), var(--bg);
  min-height:100vh;font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;font-weight:600;cursor:pointer}
button{font-family:inherit}

/* ---------- LOGIN ---------- */
#login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.lcard{background:#fff;border:1px solid var(--bdr);border-radius:22px;padding:38px 34px;width:100%;max-width:390px;box-shadow:0 24px 60px rgba(16,24,40,.12)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.blog{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#2E6BFF,#16A34A);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:18px;letter-spacing:.5px}
.btitle{font-size:18px;font-weight:800}.bsub{font-size:11.5px;color:var(--t3)}
label{display:block;font-size:12px;color:var(--t2);font-weight:600;margin:16px 0 7px}
.inp{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--bdr);background:#F8FAFD;color:var(--t1);font-size:14px;font-family:inherit}
.inp:focus{outline:none;border-color:var(--blue);background:#fff}
.btn{border:none;border-radius:12px;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;box-shadow:0 6px 16px rgba(46,107,255,.28)}
.btn-block{width:100%;margin-top:20px}
.btn:disabled{opacity:.6;cursor:default}
.err{color:#D92D20;font-size:12.5px;margin-top:12px;min-height:16px}

/* ---------- APP SHELL ---------- */
#app{display:none}
.tabs{display:flex;align-items:center;gap:2px;padding:8px 12px 0}
.tab{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--bdr);border-bottom:none;border-radius:11px 11px 0 0;padding:9px 14px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow);cursor:pointer;opacity:.7;max-width:220px}
.tab.on{opacity:1}
.tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab .x{color:var(--t3);font-weight:700;padding:0 3px;border-radius:6px;flex:none}
.tab .x:hover{background:#EEF2F7;color:var(--t1)}
.tab.add{background:transparent;border:none;color:var(--t3);font-size:15px;box-shadow:none;opacity:1;padding:9px 12px}
.tab.add:hover{color:var(--t1);background:rgba(255,255,255,.6);border-radius:9px}
/* menus suspensos da navegação */
.navmenu{position:fixed;z-index:80;background:#fff;border:1px solid var(--bdr);border-radius:16px;box-shadow:0 16px 44px rgba(16,24,40,.16);padding:10px;min-width:300px;max-width:370px}
.nm-lbl{font-size:10.5px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px 6px}
.nm-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:11px;cursor:pointer}
.nm-item:hover{background:#F5F8FD}
.nm-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.nm-t{font-size:13px;font-weight:700;color:var(--t1)}
.nm-d{font-size:11px;color:var(--t3);margin-top:1px}
.nm-soon{font-size:9px;font-weight:700;color:#B45309;background:#FFF3DA;border-radius:6px;padding:1px 6px}
.nav{background:#fff;border:1px solid var(--bdr);border-radius:16px;margin:0 12px;display:flex;align-items:center;gap:6px;padding:10px 14px;box-shadow:var(--shadow);position:sticky;top:8px;z-index:30}
.navico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--t3);flex:none;cursor:pointer}
.navico:hover{background:#F4F7FC;color:var(--t1)}
.nitem{display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:11px;cursor:pointer;font-weight:600;color:var(--t2);white-space:nowrap;border:none;background:none;font-size:14px}
.nitem:hover{background:#F5F8FD;color:var(--t1)} .nitem.on{color:var(--t1)}
.nitem .ic{width:27px;height:27px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}
.nitem .cv{font-size:11px;color:var(--t3);cursor:pointer;padding:2px 3px;border-radius:5px} .nitem .cv:hover{background:#E7F0FF;color:var(--blue)} .spacer{flex:1}
.userchip{display:flex;align-items:center;gap:9px;padding:5px 6px 5px 12px;border-radius:12px;border:1px solid var(--bdr);cursor:pointer}
.userchip:hover{background:#F5F8FD}
.userchip .un{font-size:12px;font-weight:600}.userchip .ur{font-size:10px;color:var(--t3)}
.userchip .av{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2E6BFF,#16A34A);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.tint-blue{background:#E7F0FF;color:#2E6BFF}.tint-green{background:#E6F7EE;color:#16A34A}
.tint-purple{background:#F1EBFE;color:#7C3AED}.tint-cyan{background:#E4F5FE;color:#0EA5E9}
.tint-amber{background:#FEF3E2;color:#E38A0B}.tint-pink{background:#FEEAF0;color:#F63D68}.tint-red{background:#FEECEB;color:#F04438}
svg.ic-svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.wrap{max-width:1240px;margin:0 auto;padding:22px 30px 70px}
.headrow{display:flex;align-items:center;gap:16px;margin:6px 0;flex-wrap:wrap}
.htitle{display:flex;align-items:center;gap:11px;background:#EAF1FF;border-radius:13px;padding:9px 16px}
.htitle .di{width:36px;height:36px;border-radius:11px;background:#fff;color:#2E6BFF;display:flex;align-items:center;justify-content:center;font-size:17px}
.htitle b{font-size:15px}.htitle span{font-size:11.5px;color:var(--t3)}
.help{width:20px;height:20px;border-radius:50%;border:1px solid var(--bdr);color:var(--t3);display:flex;align-items:center;justify-content:center;font-size:11px;margin-left:2px}
.demo-tag{background:#FFF3DA;color:#B45309;border:1px solid #FCE3B0;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700}
.arrow{color:var(--t3);font-size:17px}
.pill{display:flex;flex-direction:column;gap:3px}
.pill .lab{font-size:10.5px;color:var(--t3);text-align:center}
.pill .sel{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--bdr);border-radius:11px;padding:9px 14px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow);cursor:pointer}
.chev{color:var(--t3)}
.note{background:#FFFBF0;border:1px solid #F6E7C2;border-radius:14px;padding:15px 20px;display:flex;gap:14px;align-items:center;margin-top:20px}
.note .ck{width:30px;height:30px;border-radius:50%;background:#E8FAF0;color:#16A34A;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.note b{font-size:13.5px}.note p{font-size:12px;color:var(--t2);margin-top:1px}
.sectitle{font-size:17px;font-weight:800;color:var(--t2);margin:44px 2px 18px;display:flex;align-items:center;gap:8px}
.sectitle .dot{width:6px;height:6px;border-radius:50%;background:#CBD5E6}
.subttl{font-size:14px;font-weight:700;margin:44px 2px 18px;display:flex;align-items:center;gap:14px}

.card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);box-shadow:var(--shadow)}
.grid-top{display:grid;grid-template-columns:290px 1fr 250px;gap:20px}
.bigcard{padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.moneychip{width:60px;height:60px;border-radius:18px;background:#E8FAF0;color:#16A34A;display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:12px}
.bignum{font-size:31px;font-weight:800;letter-spacing:-.5px}.bignum small{font-size:18px;font-weight:700;color:var(--t2)}
.biglabel{font-size:12.5px;color:var(--t3);margin-top:6px}
.trend{font-weight:700;font-size:13px;margin-top:12px}.up{color:#12B76A}.down{color:#F04438}.flat{color:#98A2B3}
.chartcard{padding:24px 26px}
.chart-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.chart-h b{font-size:14.5px}
.chartbody{display:flex;gap:12px}
.yax{display:flex;flex-direction:column;justify-content:space-between;font-size:9.5px;color:var(--t3);height:190px;text-align:right;white-space:nowrap}
.plot{flex:1;position:relative;height:190px}
.plot .grid{position:absolute;inset:0;background-image:linear-gradient(#EFF3F8 1px,transparent 1px);background-size:100% 25%}
.bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:5px}
.bar{flex:1;background:linear-gradient(180deg,#A6C6FF,#88AEFF);border-radius:5px 5px 0 0;min-height:3px}
.bar.hi{background:linear-gradient(180deg,#4D8CFF,#2E6BFF)}
.axis{display:flex;justify-content:space-between;font-size:9.5px;color:var(--t3);margin-top:10px;padding-left:64px}
.sidecard{padding:20px;background:linear-gradient(180deg,#F4FBF7,#EAF7F0);border:1px solid #DDEFE4;display:flex;flex-direction:column;position:relative}
.sidecard .xx{position:absolute;right:14px;top:12px;color:#9BB6A6;cursor:pointer}
.sidecard .ic{width:36px;height:36px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.sidecard b{font-size:14.5px;margin-top:14px}.sidecard p{font-size:12px;color:var(--t2);margin-top:5px;line-height:1.55;flex:1}
.gbtn{align-self:flex-start;margin-top:14px;background:linear-gradient(135deg,#1FB472,#16A34A);color:#fff;border:none;border-radius:11px;padding:10px 18px;font-weight:700;font-size:12.5px;cursor:pointer}
/* Card lateral do Resumo (Lucro & margem, real) */
.sidecard2{padding:22px 22px;display:flex;flex-direction:column;gap:14px}
.sidecard2 .sc-h{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13.5px}
.sidecard2 .sc-h .mi{width:26px;height:26px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px}
.sidecard2 .sc-big{font-size:23px;font-weight:800;letter-spacing:-.4px}.sidecard2 .sc-big small{font-size:15px;color:var(--t2)}
.sidecard2 .sc-rows{display:flex;flex-direction:column;gap:0;margin-top:2px}
.sidecard2 .sc-rows>div{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--t2);border-top:1px solid var(--bdr);padding:10px 0}
.sidecard2 .sc-rows b{color:var(--t1);font-size:12.5px;font-weight:700}
.empty2{color:var(--t3);font-size:12.5px;padding:40px 6px;text-align:center}
.navbtn{cursor:pointer;color:var(--t2);font-weight:800;font-size:15px;padding:0 6px;user-select:none;line-height:1}
.navbtn:hover{color:var(--blue)}
.navbtn.off{color:#CBD5E6;cursor:default;pointer-events:none}
.pill .sel b{font-weight:700}
.metas{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.meta{padding:20px 22px}.meta.on{border:2px solid #34C77B}
.meta-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}
.meta-h .mi{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px}
.meta-h .who{margin-left:auto;color:var(--t3);font-size:12px}
.meta-v{font-size:12px;color:var(--t2);margin:16px 0 8px}.meta-v b{color:var(--t1)}
.prog{height:9px;border-radius:6px;background:#EEF2F7;overflow:hidden;margin-bottom:3px}.prog>span{display:block;height:100%;border-radius:6px}
.pg-green{background:linear-gradient(90deg,#22C55E,#16A34A)}.pg-amber{background:linear-gradient(90deg,#FBBF24,#F59E0B)}
.pg-blue{background:linear-gradient(90deg,#60A5FA,#2E6BFF)}.pg-gray{background:#CBD5E1}.pg-red{background:linear-gradient(90deg,#FB7185,#F04438)}
.metaempty{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;padding:24px 26px;border-style:dashed}
.metaempty .pl{font-size:26px}.metaempty b{font-size:14px}.metaempty p{font-size:12px;color:var(--t2);margin-top:2px;max-width:560px}
.meta .who{cursor:pointer}
.meta-pct{float:right;font-size:12px;font-weight:700}
.meta-prazo{font-size:11px;color:var(--t3);margin:16px 0 7px;display:flex;justify-content:space-between}
.dots{display:flex;gap:6px;margin:18px 0 10px}.dots i{width:13px;height:13px;border-radius:50%;background:#E1E7F0}.dots i.g{background:#22C55E}
.row-ni{display:grid;grid-template-columns:340px 1fr;gap:20px;margin-top:20px}
.indcard{padding:24px 26px}
.ind-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.ind-h b{font-size:14.5px}
.inds{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 20px}
.ind{display:flex;align-items:center;gap:12px}
.ind .ii{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.ind .num{font-size:16px;font-weight:800}.ind .num small{font-size:11px;color:var(--t2);font-weight:700}
.ind .lab{font-size:11px;color:var(--t3);margin-top:1px}.ind .tr{font-size:10.5px;font-weight:700;margin-left:6px}
.mov{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.movchip{border-radius:13px;padding:13px 17px;min-width:118px}
.movchip .l{font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px}.movchip .v{font-size:18px;font-weight:800;margin-top:4px}
.m-green{background:#EAF8F0;color:#067647}.m-red{background:#FEEFEE;color:#B42318}
.m-purple{background:#F4EEFE;color:#5925DC}.m-gray{background:#F3F6FA;color:#475467}
.movop{font-size:18px;color:var(--t3);font-weight:700}
.nv{display:flex;align-items:center;gap:12px}
.nv .nvi{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.nv b{font-size:13px}.nv .lab{font-size:11px;color:var(--t3);margin-top:1px}
.bk3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.bkcard{padding:22px 24px}
.bk-h{margin-bottom:10px}
.bk-h b{font-size:13.5px;display:flex;align-items:center;gap:8px}
.bk-count{margin-left:auto;background:#EEF3FB;color:var(--t2);border-radius:8px;padding:2px 10px;font-size:11.5px;font-weight:700}
.bk-row{display:grid;grid-template-columns:1fr 44px 96px auto;align-items:center;gap:12px;padding:13px 0;font-size:12.5px;border-top:1px solid var(--line)}
.bk-row:first-of-type{border-top:none}
.bk-name{color:var(--t1);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-pct{color:var(--t3);font-size:11px;text-align:right}
.bk-bar{height:8px;border-radius:6px;background:#EEF2F7;overflow:hidden}.bk-bar>span{display:block;height:100%;background:#CFE0FF;border-radius:6px}
.bk-val{font-weight:700;text-align:right;white-space:nowrap}
.addblk{border:2px dashed #D3DCE8;background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--t3);gap:10px;min-height:170px;cursor:pointer}
.addblk .pl{width:44px;height:44px;border-radius:50%;background:#EEF3FB;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--t2)}
.row-cli{display:grid;grid-template-columns:1fr 1.05fr;gap:20px;align-items:stretch}
.mini{font-size:10.5px;color:var(--t3);font-weight:700;letter-spacing:.5px;margin:22px 0 12px}
.buybar{height:12px;border-radius:7px;background:#E4ECF9;overflow:hidden;margin-top:8px}
.mapwrap{padding:0;overflow:hidden;position:relative;min-height:440px;background:#EAF1F8}
.maplabel{position:absolute;top:16px;left:18px;z-index:600;background:#fff;border:1px solid var(--bdr);border-radius:10px;padding:8px 14px;font-weight:700;font-size:12.5px;box-shadow:var(--shadow)}
#map{position:absolute;inset:0}
.mkr{width:15px;height:15px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.4)}
.leaflet-container{font-family:'Poppins',sans-serif;background:#DCE9F5}
.row-ip{display:grid;grid-template-columns:1fr 330px;gap:20px}
.indall{padding:24px 26px}
.filt{display:flex;align-items:center;gap:8px;background:#F5F8FD;border:1px solid var(--bdr);border-radius:11px;padding:9px 14px;font-size:12px;color:var(--t3);min-width:220px}
.indgroup{display:grid;grid-template-columns:82px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.indgroup:first-of-type{border-top:none;padding-top:4px}
.gname{font-size:11px;color:var(--t3);font-weight:600}
.gitems{display:flex;flex-wrap:wrap;gap:24px 34px}
.mp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mp-h b{font-size:14.5px}
.mp-item{display:flex;gap:12px;align-items:center;padding:15px 4px;border-top:1px solid var(--line)}
.mp-rank{font-size:17px;font-weight:800;color:#2E6BFF;min-width:34px}
.mp-b .v{font-weight:800;font-size:14px}.mp-b .co{font-size:12px;color:var(--t1);margin-top:3px}
.mp-b .ci{font-size:11px;color:var(--t3);margin-top:1px}
.mp-item.top{background:#F3F8FF;border:1px solid #E1ECFF;border-radius:13px;padding:15px;margin-bottom:6px}

/* Central de Custos */
.ctable{display:flex;flex-direction:column}
.cth,.ctr{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr .9fr 66px;gap:10px;align-items:center;padding:12px;font-size:12.5px}
.cth{color:var(--t3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line)}
.ctr{border-bottom:1px solid var(--line)}.ctr:last-child{border-bottom:none}
.ctr:hover{background:#FAFBFE}
.cth.ptbl,.ctr.ptbl{grid-template-columns:2.2fr .7fr .8fr 1.1fr 1fr 1fr 1fr .9fr}
.empchip{display:inline-block;padding:3px 9px;border-radius:8px;font-size:11px;font-weight:700}
.statusbtn{border:none;border-radius:8px;padding:5px 11px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.statusbtn.pg{background:#E7F7EE;color:#067647}.statusbtn.pd{background:#FEF3E2;color:#B45309}
.iconbtn{border:none;background:none;cursor:pointer;font-size:13px;padding:4px 5px;border-radius:7px;color:var(--t3)}
.iconbtn:hover{background:#EEF2F7;color:var(--t1)}
@media(max-width:1050px){.cth{display:none}.ctr{grid-template-columns:1fr auto;gap:4px 10px}.ctr>span:nth-child(4){display:none}}

/* módulo ainda não construído */
.soon{max-width:560px;margin:80px auto;text-align:center}
.soon .ic{width:64px;height:64px;border-radius:20px;background:#EAF1FF;color:#2E6BFF;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 18px}
.soon h2{font-size:20px;margin-bottom:8px}.soon p{color:var(--t2);font-size:13.5px;line-height:1.6}

/* dropdown do usuário */
.menu{position:absolute;top:64px;right:16px;background:#fff;border:1px solid var(--bdr);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:200px;z-index:50}
.menu .mrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:13px;cursor:pointer;color:var(--t1)}
.menu .mrow:hover{background:#F5F8FD}
.menu .msep{height:1px;background:var(--line);margin:6px 0}
.segbtns{display:flex;background:#EAEFF7;border-radius:12px;padding:3px}
.seg{border:none;background:none;padding:8px 15px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--t2);cursor:pointer;font-family:inherit}
.seg.on{background:#fff;color:var(--t1);box-shadow:var(--shadow)}
.chipbtn{border:1px solid var(--bdr);background:#F6F9FD;color:var(--t2);border-radius:9px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.chipbtn:hover{border-color:var(--blue);color:var(--blue)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#101828;color:#fff;padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.25);z-index:999;opacity:0;transition:opacity .2s}
.toast.show{opacity:1}
@media(max-width:1050px){.grid-top,.row-ni,.row-cli,.row-ip{grid-template-columns:1fr}.metas,.bk3,.inds{grid-template-columns:1fr 1fr}}
