
/* ============================================================
   ÁREA DE MEMBROS / acesso e painel
   ============================================================ */

/* ---------- tela de acesso ---------- */
.acesso-wrap{
  position:relative; z-index:2;
  min-height:76vh; display:flex; align-items:center;
  padding-block:clamp(118px,16vh,160px) clamp(60px,8vw,96px);
}
.acesso-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:clamp(30px,5vw,64px); align-items:center; width:100%}
.acesso-pitch h1{
  font-size:clamp(1.9rem,4.4vw,3rem); font-weight:200; letter-spacing:-.035em; line-height:1.08; margin:18px 0 0;
}
.acesso-pitch h1 b{
  font-weight:600;
  background:linear-gradient(100deg,#FFF 0%, var(--lilac) 52%, var(--orchid) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.acesso-pitch .lead{margin-top:20px}
.acesso-bullets{margin-top:30px; display:flex; flex-direction:column; gap:12px}
.acesso-bullets li{display:flex; gap:11px; align-items:flex-start; font-size:.92rem; color:var(--mist); line-height:1.55}
.acesso-bullets svg{width:17px; height:17px; margin-top:4px; flex:none; stroke:var(--lilac); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.acesso-bullets{list-style:none; padding:0}

.acesso-card{padding:clamp(26px,3.4vw,38px)}
.acesso-tabs{display:flex; gap:6px; padding:5px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); margin-bottom:26px}
.acesso-tabs button{
  flex:1; padding:11px 14px; border:0; border-radius:999px; cursor:pointer;
  font-size:.9rem; font-weight:600; color:var(--mist); background:none;
  transition:color .25s ease, background .25s ease;
}
.acesso-tabs button:hover{color:var(--bone)}
.acesso-tabs button[aria-selected="true"]{
  color:#1B0F2B;
  background:linear-gradient(140deg,#EADCFF,#BFA3F0);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 8px 20px -10px rgba(191,163,240,.8);
}
.acesso-form{display:flex; flex-direction:column}
.acesso-form .field{margin-bottom:15px}
.acesso-form .btn{width:100%; margin-top:6px}
.acesso-linha{margin-top:16px; font-size:.8rem; color:var(--faint); line-height:1.55; text-align:center}
.acesso-linha a{color:var(--lilac); text-decoration:underline; text-underline-offset:3px}
.hp-campo{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

.aviso{
  display:flex; gap:10px; align-items:flex-start;
  padding:13px 15px; border-radius:var(--r-sm); margin-bottom:20px;
  font-size:.86rem; line-height:1.5;
}
.aviso svg{width:17px; height:17px; flex:none; margin-top:3px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.aviso-erro{color:#FFB4C4; background:rgba(255,90,130,.12); border:1px solid rgba(255,90,130,.30)}
.aviso-ok{color:#9CE8C0; background:rgba(60,220,140,.10); border:1px solid rgba(60,220,140,.28)}

/* ---------- painel ---------- */
body.prumo-painel{background:var(--void)}
.painel{position:relative; z-index:2; display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh}

.painel-side{
  position:sticky; top:0; align-self:start; height:100vh;
  display:flex; flex-direction:column; gap:6px;
  padding:22px 16px;
  background:linear-gradient(180deg, rgba(58,35,89,.55), rgba(24,13,39,.75));
  border-right:1px solid rgba(255,255,255,.08);
  /* Em telas mais baixas o menu não cabe na altura: rola por dentro em vez de cortar. */
  overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:rgba(191,163,240,.28) transparent;
}
.painel-side::-webkit-scrollbar{width:6px}
.painel-side::-webkit-scrollbar-thumb{background:rgba(191,163,240,.28); border-radius:99px}
.painel-nav,.painel-rodape,.painel-marca{flex-shrink:0}
body.admin-bar .painel-side{height:calc(100vh - 32px); top:32px}
/* Garantia: sem a barra do WordPress, nenhum recuo no topo. */
html:has(body.prumo-painel:not(.admin-bar)){margin-top:0 !important}
.painel-marca{display:flex; align-items:center; gap:10px; padding:6px 10px 20px}
.painel-marca img{height:30px; width:auto}
.painel-nav{display:flex; flex-direction:column; gap:3px; flex:1}
.painel-nav .grupo{
  padding:16px 12px 7px; font-size:.64rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint);
}
.painel-nav a{
  display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:12px;
  font-size:.88rem; font-weight:500; color:var(--mist);
  transition:color .2s ease, background .2s ease;
}
.painel-nav a svg{width:18px; height:18px; flex:none; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.painel-nav a:hover{color:var(--bone); background:rgba(255,255,255,.07)}
.painel-nav a.ativo{
  color:#1B0F2B; font-weight:600;
  background:linear-gradient(140deg,#EADCFF,#BFA3F0);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.painel-nav a.ativo svg{stroke:#1B0F2B}
.painel-rodape{border-top:1px solid rgba(255,255,255,.09); padding-top:14px; display:flex; flex-direction:column; gap:10px}
.painel-user{display:flex; align-items:center; gap:10px; padding:0 4px; min-width:0}
.painel-avatar{
  width:36px; height:36px; border-radius:50%; flex:none; display:grid; place-items:center;
  font-size:.95rem; font-weight:800; line-height:1; color:#1B0F2B;
  background:linear-gradient(140deg,#EADCFF,#BFA3F0);
}
.painel-dados{min-width:0}
.painel-dados b{display:block; font-size:.85rem; font-weight:600; color:var(--bone); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.painel-dados span{display:block; font-size:.72rem; color:var(--faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.painel-sair{
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:10px; border-radius:12px; font-size:.84rem; font-weight:600; color:var(--mist);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10);
  transition:color .2s ease, background .2s ease;
}
.painel-sair:hover{color:var(--bone); background:rgba(255,255,255,.12)}
.painel-sair svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}

.painel-main{padding:clamp(24px,3.5vw,44px); min-width:0}
.painel-topo{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-bottom:clamp(24px,3vw,36px)}
.painel-topo h1{font-size:clamp(1.5rem,3vw,2.1rem); font-weight:300; letter-spacing:-.025em}
.painel-topo h1 b{font-weight:700}
.painel-topo p{margin-top:8px; color:var(--mist); font-size:.94rem; max-width:60ch}

.tela{display:flex; flex-direction:column; gap:22px}
.calc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,320px)); gap:16px; justify-content:start}
.calc-card{
  padding:24px 22px; display:flex; flex-direction:column; gap:12px; cursor:pointer;
  text-align:left; border:0; font:inherit; color:inherit;
  transition:transform .35s cubic-bezier(.2,.9,.3,1);
}
.calc-card:hover{transform:translateY(-4px)}
.calc-ico{
  width:42px; height:42px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(150deg, rgba(191,163,240,.30), rgba(139,92,246,.12));
  border:1px solid rgba(191,163,240,.28);
}
.calc-ico svg{width:20px; height:20px; stroke:var(--lilac); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.calc-card h3{font-size:1rem; font-weight:600}
.calc-card p{font-size:.85rem; color:var(--mist); line-height:1.55}
.calc-tag{
  align-self:flex-start; margin-top:2px; padding:4px 10px; border-radius:999px;
  font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--orchid); background:rgba(199,125,255,.12); border:1px solid rgba(199,125,255,.28);
}

.em-breve{
  padding:clamp(34px,5vw,58px) clamp(24px,4vw,44px);
  display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;
}
.em-breve-ico{
  width:64px; height:64px; border-radius:20px; display:grid; place-items:center;
  background:linear-gradient(150deg, rgba(191,163,240,.26), rgba(139,92,246,.10));
  border:1px solid rgba(191,163,240,.26);
}
.em-breve-ico svg{width:28px; height:28px; stroke:var(--lilac); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.em-breve h2{font-size:clamp(1.4rem,3vw,2rem); font-weight:600; letter-spacing:-.02em}
.em-breve p{color:var(--mist); font-size:.95rem; max-width:52ch; line-height:1.6}
.voltar-inicio{margin-top:6px}

.painel-menu{display:none}

@media (max-width:900px){
  .painel{grid-template-columns:1fr}
  .painel-side{
    position:static; height:auto; overflow:visible; flex-direction:row; align-items:center; gap:10px;
    padding:12px 16px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08);
  }
  body.admin-bar .painel-side{height:auto; top:auto}
  .painel-marca{padding:0; margin-right:auto}
  .painel-nav{
    display:none; position:absolute; left:12px; right:12px; top:64px; z-index:20;
    padding:10px; border-radius:var(--r-md);
    background:linear-gradient(170deg, rgba(48,28,74,.985), rgba(24,13,39,.99));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 28px 60px -28px rgba(0,0,0,.9);
  }
  .painel-nav.aberto{display:flex}
  .painel-rodape{border-top:0; padding-top:0; flex-direction:row; align-items:center; gap:8px}
  .painel-user{display:none}
  .painel-sair{padding:10px 14px}
  .painel-menu{
    flex:none;
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; padding:0; border-radius:12px; cursor:pointer;
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10);
  }
  .painel-menu svg{width:19px; height:19px; stroke:var(--bone); fill:none; stroke-width:1.7; stroke-linecap:round}
}
@media (max-width:980px){
  .acesso-grid{grid-template-columns:1fr}
  .acesso-pitch{order:2}
  .acesso-wrap{min-height:0; padding-top:clamp(110px,17vh,150px)}
}

/* ---------- requisitos de senha ---------- */
.senha-regras{list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px}
.senha-regras li{display:flex; align-items:flex-start; gap:8px; font-size:.8rem; line-height:1.45; color:var(--faint); transition:color .25s ease}
.senha-regras svg{width:15px; height:15px; margin-top:2px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.senha-regras .tique{opacity:0; transition:opacity .25s ease}
.senha-regras li.ok{color:#9CE8C0}
.senha-regras li.ok .tique{opacity:1}
.senha-aviso{margin-top:8px; font-size:.8rem; color:#FFB4C4}

/* ---------- Calculadora embutida no painel ---------- */
.calc-palco{position:relative; min-height:360px; border-radius:var(--r-lg,22px); overflow:hidden; isolation:isolate}
.calc-frame{
  width:100%; height:720px; border:0; display:block; border-radius:var(--r-lg,22px); overflow:hidden;
  background:transparent; color-scheme:dark; opacity:0; transition:opacity .35s ease;
}
.calc-palco.carregado .calc-frame{opacity:1}
.calc-carregando{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--mist); font-size:.9rem; pointer-events:none; transition:opacity .3s ease;
}
.calc-palco.carregado .calc-carregando{opacity:0}
.calc-tag.pronta{
  background:rgba(139,92,246,.24); border-color:rgba(199,125,255,.4); color:var(--lilac);
}

/* ---------- Estatísticas da tela inicial ---------- */
.est-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px}
.est-card{padding:22px; border-radius:var(--r-md); display:flex; flex-direction:column; gap:6px}
.est-rot{font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); font-weight:600}
.est-num{font-size:2.4rem; font-weight:600; letter-spacing:-.03em; line-height:1.1; color:var(--bone)}
.est-de{font-size:1.1rem; color:var(--faint); font-weight:500}
.est-pe{font-size:.82rem; color:var(--mist)}
.est-pe.sobe{color:#6EE7A8}
.est-pe.desce{color:#FF9DA9}

.est-dupla{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:16px; align-items:start}
.est-bloco{padding:22px; border-radius:var(--r-md)}
.est-bloco h2{font-size:1rem; font-weight:600; margin-bottom:16px; letter-spacing:-.01em}
.est-vazio{color:var(--faint); font-size:.88rem; line-height:1.6}

.est-barras{display:flex; flex-direction:column; gap:12px; list-style:none}
.est-barras li{display:grid; grid-template-columns:minmax(0,1fr) 90px 28px; align-items:center; gap:10px}
.eb-nome{font-size:.86rem; color:var(--mist); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.eb-trilho{height:7px; border-radius:99px; background:rgba(255,255,255,.08); overflow:hidden}
.eb-barra{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--violet),var(--orchid))}
.eb-qtd{font-size:.82rem; color:var(--bone); font-weight:600; text-align:right}

.est-lista{list-style:none; display:flex; flex-direction:column}
.est-lista li{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--linha); font-size:.86rem}
.est-lista li:last-child{border-bottom:0}
.el-nome{color:var(--mist); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.el-quando{color:var(--faint); flex:0 0 auto}

.est-atalhos h2{font-size:1rem; font-weight:600; margin-bottom:14px; letter-spacing:-.01em}

/* ---------- Categorias ---------- */
.cat-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,320px)); gap:16px; justify-content:start}
.cat-card{
  display:flex; flex-direction:column; gap:8px; padding:22px; border-radius:var(--r-md);
  text-align:left; cursor:pointer; transition:transform .2s ease; font:inherit; color:inherit;
}
.cat-card:hover{transform:translateY(-4px)}
.cat-ico{
  width:38px; height:38px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(139,92,246,.2); border:1px solid rgba(199,125,255,.28); margin-bottom:4px;
}
.cat-ico svg{width:19px; height:19px; fill:none; stroke:var(--lilac); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.cat-card h3{font-size:1rem; font-weight:600}
.cat-card p{font-size:.85rem; color:var(--mist); line-height:1.55}
.cat-tag{
  align-self:flex-start; margin-top:6px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--faint); background:rgba(255,255,255,.06); border:1px solid var(--linha);
  border-radius:99px; padding:4px 10px; font-weight:600;
}
.painel-conta{
  margin-left:auto; font-size:.72rem; color:var(--faint); background:rgba(255,255,255,.07);
  border-radius:99px; padding:2px 8px; font-weight:600;
}
.migalhas{display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:.8rem; color:var(--faint); margin-bottom:10px}
.migalhas a{color:var(--mist)}
.migalhas a:hover{color:var(--lilac)}
.migalhas b{color:var(--bone); font-weight:600}

@media (max-width:640px){
  .calc-grid, .cat-grid{grid-template-columns:1fr}
  .est-num{font-size:2rem}
  .est-barras li{grid-template-columns:minmax(0,1fr) 60px 24px}
}

/* ---------- Aceite dos termos no cadastro ---------- */
.aceites{display:flex; flex-direction:column; gap:10px; margin:4px 0 14px}
.aceite{display:flex; align-items:flex-start; gap:10px; font-size:.84rem; line-height:1.5; color:var(--mist); cursor:pointer}
.aceite b{color:var(--bone); font-weight:600}
.aceite input{
  appearance:none; -webkit-appearance:none; flex:0 0 18px; width:18px; height:18px; margin:2px 0 0;
  border:1.5px solid rgba(255,255,255,.28); border-radius:5px; background:rgba(255,255,255,.06);
  cursor:pointer; position:relative; transition:.15s;
}
.aceite input:checked{background:linear-gradient(140deg,var(--orchid),var(--violet)); border-color:transparent}
.aceite input:checked::after{
  content:''; position:absolute; left:5px; top:1px; width:4px; height:9px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
.aceite input:focus-visible{outline:2px solid var(--lilac); outline-offset:2px}

/* ---------- Atalho "Todas as calculadoras" (vidro em destaque) ---------- */
.painel-nav a.nav-todas{
  position:relative; margin:4px 0 6px; padding:13px 14px; border-radius:16px;
  color:var(--bone); font-weight:600;
  background:linear-gradient(150deg, rgba(255,255,255,.16), rgba(255,255,255,.05) 55%, rgba(199,125,255,.10));
  -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 10px 26px rgba(8,3,16,.45), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  overflow:hidden;
}
.painel-nav a.nav-todas::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(120% 70% at 0% 0%, rgba(255,255,255,.22), transparent 55%);
}
.painel-nav a.nav-todas svg{stroke:var(--lilac)}
.painel-nav a.nav-todas:hover{border-color:rgba(199,125,255,.45)}
.painel-nav a.nav-todas.ativo{
  background:linear-gradient(140deg, rgba(199,125,255,.55), rgba(139,92,246,.45));
  border-color:rgba(255,255,255,.3); color:#fff;
}
.painel-nav a.nav-todas.ativo svg{stroke:#fff}

/* ---------- Faixas de terceirização ---------- */
.upsell{
  display:flex; align-items:center; gap:16px; padding:16px 20px; border-radius:var(--r-md);
  text-decoration:none; color:var(--bone);
  background:linear-gradient(120deg, rgba(199,125,255,.22), rgba(139,92,246,.12) 60%, rgba(255,255,255,.04));
  border:1px solid rgba(199,125,255,.34);
  transition:transform .2s ease, border-color .2s ease;
}
.upsell:hover{transform:translateY(-2px); border-color:rgba(199,125,255,.6)}
.upsell-ico{
  flex:0 0 40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(140deg,var(--orchid),var(--violet));
}
.upsell-ico svg{width:20px; height:20px; fill:#fff; stroke:none}
.upsell-txt{flex:1; font-size:.95rem; line-height:1.45; font-weight:500}
.upsell-cta{
  flex:0 0 auto; font-size:.82rem; font-weight:600; padding:9px 16px; border-radius:99px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); white-space:nowrap;
}

.upsell-mini{
  display:flex; flex-direction:column; gap:6px; padding:12px 13px; margin-bottom:14px; border-radius:14px;
  text-decoration:none; font-size:.8rem; line-height:1.45; color:var(--mist);
  background:linear-gradient(140deg, rgba(199,125,255,.18), rgba(139,92,246,.08));
  border:1px solid rgba(199,125,255,.3);
}
.upsell-mini b{color:var(--bone); font-weight:600}
.upsell-mini:hover{border-color:rgba(199,125,255,.55)}
.upsell-mini-tag{
  align-self:flex-start; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#fff; background:linear-gradient(140deg,var(--orchid),var(--violet)); padding:2px 8px; border-radius:99px;
}

.calc-rodape{display:flex; flex-direction:column; gap:14px; margin-top:6px}
.calc-rodape[hidden]{display:none}
.calc-salvar-linha{display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px}
.calc-salvar,.calc-atualizar{display:inline-flex; align-items:center; gap:8px}
.calc-atualizar[hidden],.calc-registro[hidden]{display:none}
.calc-salvar svg,.calc-atualizar svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round}
.calc-registro{font-size:.82rem; color:var(--faint); max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.calc-registro b{color:var(--mist,#cbbfe0); font-weight:600}
.hist-ferramentas{display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px}
.hist-ferramentas .busca-calc{flex:1 1 320px}
.hist-ordem{display:inline-flex; align-items:center; gap:10px; font-size:.85rem; color:var(--faint)}
.hist-ordem select{
  height:48px; padding:0 38px 0 14px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid var(--linha);
  color:var(--bone); font:inherit; font-size:.92rem; cursor:pointer; appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat;
}
.hist-ordem select option{color:#1b1028}
.hist-meta .hist-cli-inline{color:var(--mist,#cbbfe0)}

/* ---------- Busca e listas ---------- */
.busca-calc{
  display:flex; align-items:center; gap:10px; padding:0 16px; height:48px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid var(--linha); max-width:560px;
}
.busca-calc svg{width:18px; height:18px; fill:none; stroke:var(--faint); stroke-width:1.7; stroke-linecap:round}
.busca-calc input{flex:1; background:none; border:0; outline:none; color:var(--bone); font:inherit; font-size:.95rem}
.busca-calc input::placeholder{color:var(--faint)}
.todas-grupo{display:flex; flex-direction:column; gap:12px}
.todas-titulo{font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); font-weight:600}
.busca-vazia{color:var(--faint); font-size:.9rem}

.hist-lista{display:flex; flex-direction:column; gap:10px}
.hist-item{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 18px; align-items:center;
  padding:16px 18px; border-radius:var(--r-md); background:rgba(255,255,255,.04); border:1px solid var(--linha);
}
.hist-cliente{font-weight:600; color:var(--bone); font-size:.98rem}
.hist-meta{font-size:.8rem; color:var(--faint); display:flex; gap:12px; flex-wrap:wrap}
.hist-meta b{color:var(--mist); font-weight:500}
.hist-total{font-weight:700; color:var(--lilac); font-size:1rem; text-align:right}
.hist-acoes{grid-column:1 / -1; display:flex; gap:8px; flex-wrap:wrap; margin-top:6px}
.hist-acoes button{
  font:inherit; font-size:.8rem; font-weight:600; padding:8px 14px; border-radius:99px; cursor:pointer;
  background:rgba(255,255,255,.07); border:1px solid var(--linha); color:var(--mist); transition:.15s;
}
.hist-acoes button:hover{background:rgba(255,255,255,.13); color:var(--bone)}
.hist-acoes button.principal{background:linear-gradient(140deg,var(--orchid),var(--violet)); border-color:transparent; color:#fff}
.hist-acoes button.perigo:hover{background:rgba(255,122,138,.16); color:#FF9DA9; border-color:rgba(255,122,138,.4)}

/* ---------- Modal de salvar ---------- */
.mdl-salvar{max-width:480px}
.mdl-salvar .field{display:flex; flex-direction:column; gap:7px; margin-bottom:14px}
.mdl-salvar label{font-size:.84rem; color:var(--mist); font-weight:500}
.mdl-salvar .req{color:#FF9DA9}
.mdl-salvar input{
  height:46px; padding:0 14px; border-radius:12px; font:inherit; font-size:.95rem; color:var(--bone);
  background:rgba(255,255,255,.06); border:1px solid var(--linha); outline:none;
}
.mdl-salvar input:focus{border-color:rgba(199,125,255,.6)}
.mdl-salvar .btn{width:100%; margin-top:4px}
.salvar-msg{font-size:.85rem; min-height:1.2em; color:var(--mist)}
.salvar-msg.erro{color:#FF9DA9}
.salvar-msg.ok{color:#6EE7A8}

.painel-aviso{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:9500;
  padding:12px 20px; border-radius:99px; font-size:.88rem; color:#fff;
  background:linear-gradient(140deg,var(--orchid),var(--violet)); box-shadow:0 14px 30px rgba(0,0,0,.45);
  max-width:calc(100vw - 32px); text-align:center;
  opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
}
.painel-aviso.visivel{opacity:1; transform:translateX(-50%) translateY(-4px)}
.painel-aviso.erro{background:linear-gradient(140deg,#B4344A,#7E1F39)}
.painel-aviso.ok{background:linear-gradient(140deg,#1F8F5F,#136B4A)}
.hist-grupo{font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:600; margin:14px 2px 2px}
.hist-grupo:first-child{margin-top:0}
.hist-info{display:flex; flex-direction:column; gap:4px; min-width:0}

@media (max-width:640px){
  .upsell{flex-wrap:wrap}
  .upsell-cta{width:100%; text-align:center}
  .hist-item{grid-template-columns:1fr}
  .hist-total{text-align:left}
}
body.mdl-aberto{overflow:hidden}

.painel-termos{display:block; margin:6px 0 2px; font-size:.72rem; color:var(--faint); text-decoration:none; text-align:center}
.painel-termos:hover{color:var(--lilac); text-decoration:underline; text-underline-offset:3px}

/* ---------- Favoritas ---------- */
.calc-card{position:relative}
.fav-estrela{position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; cursor:pointer;
  color:var(--faint); background:rgba(255,255,255,.04); border:1px solid transparent; transition:color .2s ease, background .2s ease, transform .2s ease}
.fav-estrela svg, .fav-botao svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round}
.fav-estrela:hover, .fav-estrela:focus-visible{color:var(--lilac); background:rgba(191,163,240,.12); border-color:rgba(191,163,240,.3); outline:none}
.fav-estrela.on, .fav-botao.on{color:#F5C451}
.fav-estrela.on svg, .fav-botao.on svg{fill:currentColor}
.fav-estrela.on:hover{transform:scale(1.08)}
.fav-botao{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; cursor:pointer; font:inherit; font-size:.86rem; font-weight:600;
  color:var(--mist); background:rgba(255,255,255,.05); border:1px solid rgba(191,163,240,.28)}
.fav-botao:hover{color:var(--bone); border-color:rgba(191,163,240,.55)}
.favoritas{display:flex; flex-direction:column; gap:14px}
.favoritas h2{font-size:1.05rem; font-weight:600}
.favoritas .calc-card{padding:18px 18px 16px}

/* ================= Fase beta (1.16.0) ================= */
.acesso-beta{display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:.86rem; color:var(--mist); line-height:1.55; max-width:52ch}
.acesso-beta .selo-beta{margin-top:2px}

.beta-faixa{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 18px; border-radius:var(--r-md); margin:0 0 18px}
.beta-faixa p{flex:1 1 320px; margin:0; font-size:.88rem; color:var(--mist); line-height:1.5}
.beta-faixa .btn{padding:9px 16px; font-size:.84rem}

.calc-tag.em-teste{background:rgba(245,196,81,.12); border-color:rgba(245,196,81,.38); color:#F5C451}
.calc-tag.conferida{background:rgba(110,231,168,.12); border-color:rgba(110,231,168,.38); color:#6EE7A8}

.topo-acoes{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.relatar-botao svg{fill:none; stroke-linecap:round}
.relatar-botao:hover{color:#F5C451; border-color:rgba(245,196,81,.5)}
.aviso-teste{margin:-14px 0 18px; padding:10px 14px; border-radius:12px; font-size:.84rem; line-height:1.5; color:var(--mist);
  background:rgba(245,196,81,.07); border:1px solid rgba(245,196,81,.25)}
.aviso-teste b{color:#F5C451; font-weight:700}

/* Avaliação abaixo da calculadora */
.avaliar{flex:none; display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:12px 16px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.045); border:1px solid var(--hair)}
.avaliar[hidden]{display:none}
.avaliar-rot{font-size:.9rem; font-weight:600}
.avaliar-estrelas{display:inline-flex; gap:2px}
.avaliar-estrelas button{background:none; border:0; padding:3px; cursor:pointer; color:var(--faint); line-height:0; border-radius:6px}
.avaliar-estrelas svg{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; transition:transform .12s ease}
.avaliar-estrelas button.on, .avaliar-estrelas button.quase{color:#F5C451}
.avaliar-estrelas button.on svg{fill:currentColor}
.avaliar-estrelas button:hover svg{transform:scale(1.12)}
.avaliar-estrelas button:focus-visible{outline:2px solid var(--lilac); outline-offset:1px}
.avaliar-status{font-size:.82rem; color:var(--mist)}
.avaliar-fechar{margin-left:auto; background:none; border:0; color:var(--faint); font:inherit; font-size:.8rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px}
.avaliar-comentario{flex:1 1 100%; display:flex; gap:10px; flex-wrap:wrap; align-items:flex-start}
.avaliar-comentario[hidden]{display:none}
.avaliar-comentario textarea{flex:1 1 300px; min-height:60px; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); color:var(--bone); font:inherit; font-size:.88rem; resize:vertical}
.avaliar-comentario .btn{padding:10px 16px; font-size:.84rem}

/* Sugestões e reclamações */
.sug-grade{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:18px; align-items:start}
@media (max-width:900px){ .sug-grade{grid-template-columns:1fr} }
.sug-form, .sug-lista{padding:22px; border-radius:var(--r-md)}
.sug-form h2, .sug-lista h2{font-size:1rem; font-weight:600; margin-bottom:16px}
.sug-form select{width:100%; padding:12px 14px; border-radius:var(--r-sm); background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); color:var(--bone); font:inherit; font-size:.94rem}
.sug-form select option{background:#170C26; color:var(--bone)}
.sug-opc{text-transform:none; letter-spacing:0; font-weight:500}
.sug-dica{font-size:.78rem; color:var(--faint)}
.sug-anexo{display:flex; gap:10px; align-items:flex-start; font-size:.84rem; color:var(--mist); line-height:1.5; margin:0 0 14px; cursor:pointer}
.sug-anexo[hidden]{display:none}
.sug-anexo input{margin-top:3px; accent-color:var(--violet)}
.sug-anexo b{color:#F5C451; font-weight:600}
.sug-item{padding:14px 0; border-top:1px solid var(--hair)}
.sug-item:first-child{border-top:0; padding-top:0}
.sug-item-topo{display:flex; justify-content:space-between; gap:10px; align-items:center}
.sug-item-topo b{font-size:.9rem; letter-spacing:.02em}
.sug-sit{font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:999px; border:1px solid var(--hair); color:var(--mist)}
.sug-sit.sit-novo{color:var(--lilac); border-color:rgba(191,163,240,.4)}
.sug-sit.sit-analise{color:#F5C451; border-color:rgba(245,196,81,.4)}
.sug-sit.sit-resolvido{color:#6EE7A8; border-color:rgba(110,231,168,.4)}
.sug-item-meta{font-size:.78rem; color:var(--faint); margin:4px 0 6px}
.sug-item-msg{font-size:.88rem; color:var(--mist); white-space:pre-wrap; line-height:1.55}
.sug-resp{margin-top:10px; padding:10px 12px; border-left:3px solid var(--violet); background:rgba(139,92,246,.08); border-radius:0 10px 10px 0}
.sug-resp-rot{display:block; font-size:.74rem; color:var(--lilac); font-weight:700; margin-bottom:4px}
.sug-resp p{font-size:.88rem; white-space:pre-wrap; line-height:1.55}

/* Minha conta */
.conta-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:18px; align-items:start}
.conta-bloco{padding:22px; border-radius:var(--r-md)}
.conta-bloco h2{font-size:1rem; font-weight:600; margin-bottom:12px}
.conta-bloco > p{font-size:.88rem; color:var(--mist); line-height:1.55; margin-bottom:14px}
.conta-dados{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0 0 14px; font-size:.9rem}
.conta-dados dt{color:var(--faint)}
.conta-dados dd{margin:0; word-break:break-word}
.conta-nota{font-size:.82rem !important; color:var(--faint) !important}
.conta-nota a{color:var(--lilac)}
.conta-perigo{border:1px solid rgba(255,120,140,.28)}
.conta-perigo h2{color:#FF9DA9}
.btn-perigo{display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:999px; border:1px solid rgba(255,120,140,.5);
  background:rgba(255,90,110,.14); color:#FFB3BE; font:inherit; font-weight:700; font-size:.88rem; cursor:pointer}
.btn-perigo:hover{background:rgba(255,90,110,.24)}
.btn-perigo:disabled{opacity:.6; cursor:wait}
.painel-marca .selo-beta{margin-left:2px}
.sug-form h2, .sug-lista h2, .conta-bloco h2{color:var(--bone)}
.conta-perigo h2{color:#FF9DA9}
.btn-perigo{max-width:100%; white-space:normal; text-align:center}
@media (max-width:900px){
  /* No celular a barra do topo fica só com a marca, o menu e o botão de sair. */
  .painel-rodape .upsell-mini, .painel-rodape > a:not(.painel-sair){display:none}
  .painel-marca{flex-shrink:0}
  .painel-marca .selo-beta{font-size:.56rem; padding:2px 7px}
}

/* ================= Verificação em duas etapas (1.17.0) ================= */
body.f2-travado{overflow:hidden}
.mdl-2fa{max-width:560px}
.mdl-2fa h2{font-size:1.25rem; font-weight:600; margin:6px 0 12px; color:var(--bone)}
.mdl-2fa p{font-size:.92rem; color:var(--mist); line-height:1.6; margin-bottom:10px}
.f2-acoes{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.f2-acoes .btn{padding:11px 18px; font-size:.88rem}
.f2-ciencia-texto{padding:12px 14px; border-radius:12px; background:rgba(245,196,81,.07); border:1px solid rgba(245,196,81,.28); color:var(--bone) !important; font-size:.88rem; line-height:1.6}
.f2-check{display:flex; gap:10px; align-items:flex-start; font-size:.88rem; color:var(--bone); cursor:pointer; margin:8px 0}
.f2-check input{margin-top:3px; accent-color:var(--violet)}
.f2-nota{font-size:.78rem !important; color:var(--faint) !important; margin-top:12px}
.conta-2fa{grid-column:1 / -1}
.f2-ok{color:#6EE7A8 !important; font-weight:700}
.f2-alerta{color:#F5C451 !important; font-weight:600}
.f2-passos{margin:0 0 12px 18px; padding:0; font-size:.88rem; color:var(--mist); line-height:1.6}
.f2-qr{display:inline-block; background:#fff; padding:8px; border-radius:12px; margin:4px 0 10px; line-height:0}
.f2-qr:empty{display:none}
.f2-qr svg{width:200px; height:200px}
.f2-chave{font-size:.84rem; color:var(--mist)}
.f2-chave code{display:inline-block; margin-top:4px; padding:4px 8px; border-radius:8px; background:rgba(255,255,255,.08); color:var(--bone); font-size:.9rem; letter-spacing:.06em; word-break:break-all}
.f2-rotulo{display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin:10px 0 6px}
.f2-rotulo-forte{font-weight:600; color:var(--bone) !important}
.f2-codigo, .f2-senha{width:100%; max-width:260px; padding:12px 14px; border-radius:var(--r-sm); background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); color:var(--bone); font:inherit; font-size:1.05rem}
.f2-codigo{letter-spacing:.3em; font-variant-numeric:tabular-nums}
.f2-codigos{display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:6px 18px; margin:10px 0 4px 20px; padding:0; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.95rem; color:var(--bone)}

/* Telas baixas (notebooks): menu mais compacto para caber quase todo sem rolar. */
@media (min-width:901px) and (max-height:1000px){
  .painel-side{padding:16px 14px; gap:4px}
  .painel-marca{padding:4px 10px 12px}
  .painel-nav{gap:1px}
  .painel-nav a{padding:8px 12px}
  .painel-nav .grupo{padding:12px 12px 5px}
  .painel-rodape{gap:7px; padding-top:10px}
  .painel-rodape .upsell-mini{padding-top:10px; padding-bottom:10px}
}

/* ---------- Tour de apresentação (1.19.0) ---------- */
.tour{position:fixed; inset:0; z-index:99995}
.tour[hidden]{display:none}
.tour-veu{position:absolute; inset:0; background:transparent}
.tour.tour-centro .tour-veu{background:rgba(8,4,16,.74); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px)}
.tour-foco{
  position:fixed; border-radius:14px; pointer-events:none;
  box-shadow:0 0 0 2px rgba(199,125,255,.95), 0 0 0 200vmax rgba(8,4,16,.74), 0 0 30px 6px rgba(199,125,255,.35);
  transition:top .28s ease, left .28s ease, width .28s ease, height .28s ease;
}
.tour.tour-centro .tour-foco{display:none}
.tour-cartao{
  position:fixed; width:min(380px, calc(100vw - 24px)); padding:18px 20px 16px; border-radius:var(--r-md);
  background:linear-gradient(170deg, rgba(52,30,80,.985), rgba(26,14,42,.99));
  border:1px solid rgba(199,125,255,.38);
  box-shadow:0 30px 70px -24px rgba(0,0,0,.9);
  color:var(--bone); outline:none;
  transition:top .28s ease, left .28s ease;
}
.tour.tour-centro .tour-cartao{left:50%; top:50%; transform:translate(-50%,-50%); width:min(440px, calc(100vw - 24px)); padding:24px 24px 18px}
.tour-topo-linha{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.tour-conta{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--lilac)}
.tour-pular{background:none; border:0; padding:6px 2px; color:var(--mist); font:inherit; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.tour-pular:hover{color:var(--bone)}
.tour-selo{display:inline-block; margin:2px 0 10px}
.tour-cartao h2{margin:0 0 6px; font-size:1.12rem; font-weight:700; letter-spacing:-.01em; line-height:1.3}
.tour.tour-centro .tour-cartao h2{font-size:1.32rem}
.tour-cartao p{margin:0; color:var(--mist); font-size:.9rem; line-height:1.55}
.tour-lista{margin:6px 0 0; padding-left:20px; color:var(--mist); font-size:.9rem; line-height:1.55}
.tour-lista li{margin:0 0 4px}
.tour-lista li::marker{color:var(--orchid); font-weight:700}
.tour-pe{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; flex-wrap:wrap}
.tour-pontos{display:flex; gap:5px}
.tour-pontos i{width:6px; height:6px; border-radius:99px; background:rgba(255,255,255,.22); transition:all .2s ease}
.tour-pontos i.on{width:18px; background:var(--orchid)}
.tour-botoes{display:flex; gap:8px; margin-left:auto}
.tour-botoes .btn{padding:10px 16px; font-size:.86rem; min-height:40px}
/* Celular: o cartão vira uma faixa presa embaixo (ou em cima, se o destaque estiver embaixo). */
@media (max-width:900px){
  .tour:not(.tour-centro) .tour-cartao{left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); top:auto; width:auto}
  .tour:not(.tour-centro) .tour-cartao.tour-topo{top:12px; bottom:auto}
  .tour.tour-menu .tour-cartao{top:auto !important; bottom:calc(12px + env(safe-area-inset-bottom)) !important}
}
@media (prefers-reduced-motion:reduce){ .tour-foco, .tour-cartao, .tour-pontos i{transition:none} }
.conta-tour p{margin-bottom:12px}

/* Celulares estreitos (até 380 px): o botão Sair saía da tela. */
@media (max-width:380px){
  .painel-side{padding:10px 12px; gap:8px}
  .painel-marca img{height:24px}
  .painel-sair{font-size:0; gap:0; padding:10px 11px}
  .painel-sair svg{width:18px; height:18px}
}
.conta-bloco .btn, .f2-acoes .btn{white-space:normal; max-width:100%; text-align:center}
