:root{
  --noite:#0F0E17;--noite2:#1A1926;--linha:#2E2C3D;--fundo:#F5F2EC;--card:#fff;--tinta:#1A1A1A;--suave:#6B6760;--borda:#E6E1D8;
  --violeta:#7C5CFF;--violeta-n:#8B7CFF;--violeta-p:#5B3DE0;--violeta-c:#ECE7FF;--coral:#FF5A36;--coral-c:#FFE9E3;
  --verde:#12B76A;--verde-c:#E3F7EE;--verm:#E5484D;--verm-c:#FDECEC;--ambar:#D98A00;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Montserrat",system-ui,sans-serif;color:var(--tinta);background:var(--fundo);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--violeta);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.num{font-variant-numeric:tabular-nums}

/* Marca */
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.01em;text-decoration:none;color:#fff;flex:none}
.brand svg{width:26px;height:26px;flex:none}
.brand em{font-style:normal;color:var(--violeta-n)}.brand small{font-weight:500;font-size:13px;margin-left:2px}
.tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--coral);color:#fff;border-radius:999px;padding:3px 9px;margin-left:4px}

/* Botões e campos */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;border-radius:12px;padding:11px 16px;font-weight:700;font-size:14.5px;transition:background .15s,transform .15s}
.bt:active{transform:translateY(1px)}
.bt-p{background:var(--violeta-p);color:#fff}
.bt-s{background:var(--violeta-c);color:var(--violeta-p)}.bt-s:hover{background:#DDD4FF}.bt-p:hover{background:#4C2FD0}
.in{width:100%;background:#fff;border:0;box-shadow:inset 0 0 0 1px var(--borda);border-radius:11px;padding:11px 13px;font-size:15px;margin-bottom:14px}
.in:focus{outline:none;box-shadow:inset 0 0 0 2px var(--violeta)}
.lb{display:block;font-size:12.5px;font-weight:700;color:var(--suave);margin:0 0 6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Login */
body.login{background:var(--fundo);color:var(--tinta);min-height:100svh}
.lg{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.lg-side{position:relative;overflow:hidden;background:var(--noite);color:#fff;padding:44px 56px;display:flex;flex-direction:column;gap:40px}
.lg-side::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 90% 0%,rgba(124,92,255,.38),transparent 70%),radial-gradient(50% 45% at 0% 100%,rgba(255,90,54,.2),transparent 70%)}
.lg-side::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent)}
.lg-side>*{position:relative;z-index:1}
.lg-brand{font-size:20px}.lg-brand svg{width:30px;height:30px}
.lg-pitch{margin-top:auto;max-width:560px}
.lg-pill{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--coral);border-radius:999px;padding:5px 12px}
.lg-big{font-size:clamp(30px,3.4vw,46px);line-height:1.08;font-weight:800;letter-spacing:-.03em;margin:20px 0 28px;text-wrap:balance}
.lg-big span{color:var(--violeta-n)}.lg-big .nw{white-space:nowrap;color:inherit}
.lg-feats{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lg-feats li{display:flex;align-items:center;gap:12px;color:#D6D3E4;font-size:15px;font-weight:500}
.lg-feats i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(139,124,255,.14);box-shadow:inset 0 0 0 1px rgba(139,124,255,.28)}
.lg-feats svg{width:18px;height:18px;fill:none;stroke:var(--violeta-n);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-chart{margin-bottom:auto;background:rgba(26,25,38,.7);border-radius:20px;padding:18px 18px 10px;box-shadow:inset 0 0 0 1px var(--linha);max-width:560px}
.lg-chart svg{display:block;width:100%;height:150px}
.lg-foot{margin:0;font-size:12.5px;color:#8E8AA3}

.lg-main{display:grid;place-items:center;padding:40px 24px}
.lgbox{width:min(400px,100%);display:flex;flex-direction:column}
.lg-brand-m{display:none;color:var(--tinta)}
.lgbox h1{font-size:40px;line-height:1.05;letter-spacing:-.035em;margin:0;font-weight:800}
.lg-sub{font-size:17px;color:var(--suave);margin:8px 0 30px;font-weight:500}
.lgbox label{font-size:13px;font-weight:700;color:var(--tinta);margin:16px 0 7px}
.fld{position:relative;display:flex;align-items:center}
.fld>svg{position:absolute;left:14px;width:19px;height:19px;fill:none;stroke:#9A958C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .15s}
.fld input{width:100%;background:#fff;border:0;border-radius:14px;padding:15px 48px 15px 44px;font-size:16px;color:var(--tinta);
  box-shadow:inset 0 0 0 1.5px var(--borda),0 1px 2px rgba(15,14,23,.04);transition:box-shadow .15s}
.fld input::placeholder{color:#AAA59B}
.fld input:hover{box-shadow:inset 0 0 0 1.5px #D3CCBF}
.fld input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--violeta),0 0 0 4px rgba(124,92,255,.14)}
.fld:focus-within>svg{stroke:var(--violeta)}
.eye{position:absolute;right:6px;width:38px;height:38px;border:0;background:none;border-radius:10px;cursor:pointer;display:grid;place-items:center}
.eye svg{width:20px;height:20px;fill:none;stroke:#9A958C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eye:hover{background:var(--fundo)}.eye.on svg{stroke:var(--violeta)}
.caps{margin:8px 0 0;font-size:12.5px;font-weight:700;color:var(--ambar)}
.lg-go{margin-top:26px;width:100%;padding:16px;font-size:16px;border-radius:14px;background:var(--violeta-p);color:#fff;
  box-shadow:0 12px 24px -12px rgba(91,61,224,.7)}
.lg-go:hover{background:#4C2FD0}
.lg-go svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.lg-go:hover svg{transform:translateX(3px)}
.lg-go.busy{opacity:.8;cursor:progress}.lg-go.busy svg{animation:lgspin .8s linear infinite}
@keyframes lgspin{to{transform:rotate(360deg)}}
.lgerr{display:flex;gap:10px;align-items:flex-start;margin:0 0 6px;background:var(--verm-c);color:#B4262B;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600}
.lgwarn{background:#FFF3D6;color:#8A5A00}
.lgerr svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lg-safe{display:flex;align-items:center;justify-content:center;gap:7px;margin:22px 0 0;font-size:12.5px;color:var(--suave)}
.lg-safe svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media (max-width:900px){
  .lg{grid-template-columns:1fr}
  .lg-side{padding:22px 20px 26px;gap:18px}
  .lg-pitch{margin-top:6px}
  .lg-big{font-size:26px;margin:14px 0 0}
  .lg-feats,.lg-foot{display:none}
  .lg-chart{padding:12px 12px 6px;border-radius:16px;margin:0}
  .lg-chart svg{height:84px}
  .lg-main{place-items:start center;padding:30px 20px 40px}
  .lgbox h1{font-size:34px}
  .lg-sub{margin-bottom:22px}
}
/* Login cabe na tela, sem rolagem */
.lg-side{padding:clamp(24px,5vh,44px) 56px;gap:clamp(18px,4vh,40px)}
.lg-big{font-size:clamp(28px,min(3.4vw,5.4vh),46px);margin:clamp(12px,2.4vh,20px) 0 clamp(16px,3vh,28px)}
.lg-feats{gap:clamp(8px,1.6vh,14px)}
.lg-chart svg{height:clamp(60px,16vh,150px)}
@media (max-height:640px) and (min-width:901px){.lg-chart{display:none}}
@media (max-width:900px) and (max-height:600px){.lg-pill{display:none}.lg-big{margin-top:12px}}
@media (max-width:900px){
  .lg{grid-template-rows:auto 1fr}
  .lg-side{padding:18px 20px 22px;gap:14px}
  .lg-brand{font-size:18px}.lg-brand svg{width:26px;height:26px}
  .lg-pitch{margin-top:2px}
  .lg-big{font-size:clamp(21px,6.2vw,26px);margin:10px 0 0}
  .lg-chart{display:none}
  .lg-main{padding:clamp(18px,4vh,30px) 20px 24px}
  .lgbox h1{font-size:clamp(28px,8vw,34px)}
  .lg-sub{font-size:16px;margin:4px 0 clamp(12px,2.5vh,22px)}
  .lgbox label{margin:12px 0 6px}
  .fld input{padding:13px 48px 13px 44px}
  .lg-go{margin-top:20px;padding:14px}
  .lg-safe{margin-top:14px}
}
@media (prefers-reduced-motion:reduce){.lg-go svg,.lg-go.busy svg{transition:none;animation:none}}

/* Topo */
.top{background:var(--noite);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--linha)}
.top-in{max-width:1240px;margin:0 auto;padding:14px 20px 10px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
.ctl{background:var(--noite2);border:0;box-shadow:inset 0 0 0 1px #3A3752;color:#fff;border-radius:10px;padding:9px 12px;font-size:14px;font-weight:600;color-scheme:dark}
.ctl:focus{outline:none;box-shadow:inset 0 0 0 2px var(--violeta-n)}
.custom{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:#A9A6B8}
.out{color:#A9A6B8;font-size:13.5px;font-weight:700;text-decoration:none}.out:hover{color:#fff}
.tabs{max-width:1240px;margin:0 auto;padding:0 12px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tab{background:none;border:0;color:#A9A6B8;font-weight:700;font-size:14px;padding:10px 12px 12px;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent}
.tab:hover{color:#fff}.tab.on{color:#fff;border-color:var(--coral)}

/* Conteúdo */
.wrap{max-width:1240px;margin:0 auto;padding:20px 20px 60px}
.statusbar{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap;margin:0 0 14px}
.status{font-size:13px;color:var(--suave);margin:0;min-height:20px}
.sync{font-size:13px;color:var(--suave);white-space:nowrap}
.lnk{background:none;border:0;padding:0;color:var(--violeta-p);font-weight:700;font-size:13px;cursor:pointer}.lnk:hover{text-decoration:underline}.lnk:disabled{color:var(--suave);cursor:wait}
.status.err{color:var(--verm);font-weight:600}
.card{background:var(--card);border-radius:18px;box-shadow:0 1px 0 var(--borda),0 12px 30px -24px rgba(15,14,23,.25);margin-bottom:18px;overflow:hidden}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 6px;flex-wrap:wrap}
.card h2{font-size:16px;margin:0;letter-spacing:-.01em}
.hint{font-size:12.5px;color:var(--suave)}
.pad{padding:8px 18px 18px}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.grid2>.card{margin-bottom:0}.grid2{margin-bottom:18px}
.form .bt{margin-top:4px}

/* Destaque do lucro */
.hero{background:var(--noite);color:#fff;border-radius:22px;padding:22px 24px;display:grid;grid-template-columns:minmax(220px,1fr) 1.5fr;gap:24px;margin-bottom:18px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 70% at 0% 0%,rgba(255,90,54,.22),transparent 70%),radial-gradient(40% 80% at 100% 100%,rgba(124,92,255,.25),transparent 70%);pointer-events:none}
.hero>*{position:relative}
.hero-main{display:flex;flex-direction:column;justify-content:center}
.k-l{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#A9A6B8}
.hero-v{font-size:clamp(32px,5vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.hero-v.neg{color:#FF8A8D}
.k-s{font-size:13.5px;color:#C9C6D6}
.conta{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px;align-content:center}
.conta li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed #3A3752;color:#C9C6D6}
.conta li b{color:#fff;font-variant-numeric:tabular-nums;font-weight:700}
.conta li.tot{border:0;color:#fff;font-weight:800;padding-top:8px}
.conta li .m{color:#FF9A9D}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border-radius:16px;padding:14px 16px;box-shadow:0 1px 0 var(--borda)}
.kpi .k-l{color:var(--suave);font-size:11.5px}
.kpi strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.kpi span{font-size:12.5px;color:var(--suave)}
.good{color:var(--verde)!important}.bad{color:var(--verm)!important}

/* Gráfico */
.chart{position:relative;height:280px;padding:6px 14px 14px}
.legend{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:12.5px;color:var(--suave);font-weight:600}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:-6px}
.lg-inv{background:#D7D1C5}.lg-liq{background:var(--violeta)}.lg-luc{background:var(--coral)}.lg-ref{background:var(--verm)}

/* Tabelas */
.tbl-w{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.tbl th{text-align:right;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--borda);white-space:nowrap;cursor:default}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td{text-align:right;padding:10px 12px;border-bottom:1px solid #F0ECE4;white-space:nowrap}
.tbl td:first-child{white-space:normal;min-width:180px;max-width:360px;font-weight:600}
.tbl td small{display:block;font-weight:500;color:var(--suave);font-size:11.5px}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:#FBF9F5}
.tbl .muted td{color:var(--suave)}
.tbl th[data-s=oferta_nome]{text-align:left}
.tbl td.of{text-align:left;font-weight:600;color:var(--violeta-p)}
.tbl-big th[data-s]{cursor:pointer}.tbl-big th[data-s]:hover{color:var(--tinta)}
.empty{padding:26px 18px;text-align:center;color:var(--suave);font-size:14px}
.del{background:none;border:0;color:var(--verm);cursor:pointer;font-weight:700;font-size:13px}

/* Segmentado */
.seg{display:inline-flex;background:var(--fundo);border-radius:11px;padding:3px}
.seg button{border:0;background:none;padding:7px 12px;border-radius:9px;font-weight:700;font-size:13px;color:var(--suave);cursor:pointer}
.seg button.on{background:#fff;color:var(--tinta);box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* Meta × real */
.mr{padding:6px 18px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mr-row{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;background:var(--fundo);border-radius:14px;padding:14px 16px}
.mr-row span{color:var(--suave);font-size:13px}
.mr-row b{font-size:24px;font-variant-numeric:tabular-nums}
.mr-note{grid-column:1/-1;font-size:12.5px;color:var(--suave);margin:0}

/* Funil */
.funil{padding:10px 18px 22px;display:grid;gap:10px}
.f-row{display:grid;grid-template-columns:minmax(150px,240px) 1fr 70px;gap:14px;align-items:center}
.f-row .f-l{font-size:14px;font-weight:600}
.f-bar{height:30px;background:var(--fundo);border-radius:9px;overflow:hidden}
.f-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--violeta),var(--violeta-n));transition:width .6s var(--ease)}
.f-row:last-child .f-bar i{background:linear-gradient(90deg,var(--coral),#FF8A6B)}
.f-n{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.f-n small{display:block;font-weight:600;color:var(--suave);font-size:11.5px}

/* Comparação com o período anterior */
.dl{display:block;font-style:normal;font-size:11.5px;font-weight:700;color:var(--suave);margin-top:6px}
.dl.up{color:var(--verde)}.dl.down{color:var(--verm)}
.k-comp{display:block;margin-top:6px}.k-comp .dl{display:inline;margin:0 0 0 4px}
.k-comp .dl.up{color:#4ADE9A}.k-comp .dl.down{color:#FF8A8D}

/* Pix e boleto */
.pg{padding:6px 18px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pg-c{background:var(--fundo);border-radius:14px;padding:14px 16px}
.pg-h{display:flex;justify-content:space-between;align-items:baseline}
.pg-h b{font-size:16px}
.pg-tx{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.pg-tx.good{color:var(--verde)}.pg-tx.bad{color:var(--verm)}
.pg-c>.hint{display:block;font-size:12px}
.pg-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--borda);margin:12px 0}
.pg-bar i{display:block;height:100%}
.p1{background:var(--verde)}.p2{background:var(--ambar)}.p3{background:var(--verm)}
.pg-l{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13.5px}
.pg-l li{display:flex;justify-content:space-between}
.pg-l li span{display:flex;align-items:center;gap:7px;color:var(--suave)}
.pg-l li span i{width:9px;height:9px;border-radius:3px}
.pg-l b{font-variant-numeric:tabular-nums}.pg-l b.m{color:var(--verm)}
.pg .mr-note{grid-column:1/-1}

/* Horários */
.hr-top{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.hm-w{overflow-x:auto;padding:4px 18px 18px;-webkit-overflow-scrolling:touch}
.hm{border-collapse:separate;border-spacing:3px;width:100%;min-width:760px;font-variant-numeric:tabular-nums}
.hm th{font-size:11px;font-weight:700;color:var(--suave);padding:2px}
.hm tbody th{text-align:left;padding-right:6px;position:sticky;left:0;background:var(--card);z-index:1}
.hm td{height:30px;border-radius:6px;text-align:center;font-size:11px;font-weight:700;color:var(--tinta);
  background:color-mix(in srgb,var(--coral) calc(var(--a,0)*100%),var(--fundo))}
.hm td.hi{color:#fff}
.hr-two{display:grid;grid-template-columns:3fr 2fr;gap:18px;align-items:start}
.hr-two>.card{margin-bottom:18px}
.bars{padding:4px 18px 18px;display:grid;gap:5px}
.bar{display:grid;grid-template-columns:76px 1fr 34px;gap:10px;align-items:center;font-size:13px}
.bars-h .bar{grid-template-columns:38px 1fr 34px;font-size:12px}
.bar span{color:var(--suave);font-weight:600}
.bar i{display:block;height:14px;border-radius:5px;background:linear-gradient(90deg,var(--violeta),var(--violeta-n));min-width:2px}
.bar b{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:980px){.hr-top{grid-template-columns:repeat(2,1fr)}.hr-two{grid-template-columns:1fr}}
@media (max-width:640px){.pg{grid-template-columns:1fr}.hr-top{gap:10px}}

.rel-bts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.err-t{color:var(--verm)}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rel-grid .hint{margin:0 0 14px}
.push-ios{margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.7}
.rel-grid .push-n{margin:14px 0 0}
.rel-grid .push-n:empty{display:none}
.rel-prev{display:block;width:100%;height:600px;border:0;background:var(--fundo);overflow:hidden}
@media (max-width:820px){.rel-grid{grid-template-columns:1fr;gap:0}}
#c-rel{align-self:start}

/* Carregando */
.loading .hero-v,.loading .kpi strong{opacity:.35}

@media (max-width:980px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:1fr}
  .grid2>.card{margin-bottom:18px}.grid2{margin-bottom:0}
  .hero{grid-template-columns:1fr}
}
@media (max-width:640px){
  .top-in{padding:12px 16px 8px}
  .filters{margin-left:0;width:100%}
  .filters .ctl{flex:1;min-width:0}
  .custom{width:100%}.custom .ctl{flex:1}
  .out{position:absolute;right:16px;top:16px}
  .wrap{padding:16px 16px 50px}
  .hero{padding:18px}
  .kpi strong{font-size:19px}
  .f-row{grid-template-columns:1fr 64px;gap:6px 10px}
  .f-row .f-l{grid-column:1/-1}
  .chart{height:230px}
  .row2{grid-template-columns:1fr}
  .mr{grid-template-columns:1fr}
}
