:root{
  --marinho:#0b1f3a; --marinho2:#132c52; --marinho3:#1d3d6e; --ouro:#f5b833;
  --fundo:#f3f6fb; --cartao:#fff; --texto:#13233d; --suave:#5d6b82; --linha:#dde4ef;
  --verde:#1f9d55; --verde2:#e6f6ed; --vermelho:#d64545; --vermelho2:#fdeaea; --azul:#2563eb; --azul2:#e8effe;
  --raio:12px; --sombra:0 1px 2px rgba(11,31,58,.06),0 4px 16px rgba(11,31,58,.06);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--texto);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--azul)}
.carregando{min-height:100vh;display:grid;place-content:center;text-align:center;color:#c9d6ea;background:radial-gradient(900px 520px at 95% -10%,rgba(52,211,153,.25),transparent 62%),linear-gradient(135deg,#051127 0%,#0a2556 45%,#163f9e 85%,#2563eb 115%)}
.logo-grande{font-weight:900;letter-spacing:.18em;font-size:42px;color:#fff}
.logo-grande::after{content:"";display:block;width:56px;height:4px;background:linear-gradient(90deg,#22c55e,#38bdf8);margin:10px auto 0;border-radius:3px}

/* entrada (login, convite, nova senha, quero conhecer) */
@media (min-width:901px){html{scrollbar-gutter:stable}}
.entrada{overflow-x:hidden}
.entrada{--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--ent-texto:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;font-family:var(--ent-texto);color:#0f1d33}
.lado-marca{position:relative;overflow:hidden;color:#fff;padding:56px 64px;display:flex;flex-direction:column;
  background:radial-gradient(900px 520px at 95% -10%,rgba(52,211,153,.30),transparent 62%),
             radial-gradient(760px 420px at 0% 110%,rgba(56,189,248,.20),transparent 60%),
             linear-gradient(135deg,#051127 0%,#0a2556 42%,#163f9e 78%,#2563eb 110%)}
/* fundo de alcance (desenho parado) atrás do lado azul */
.lado-marca::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(/fundo-alcance.svg) no-repeat center/cover}
.lado-marca>*{position:relative;z-index:1}
.ent-marca{display:flex;align-items:center;gap:14px}
.ent-logo{width:54px;height:54px;flex:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}
.ent-nome{font-family:var(--display);font-weight:800;font-size:32px;letter-spacing:.14em}
.ent-slogan{display:flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.16em;color:rgba(255,255,255,.8)}
.ent-slogan i{font-style:normal;color:#34d399;font-size:20px;margin-top:-2px}
.ent-slogan b{color:#34d399}
.ent-chamada{margin-top:auto;max-width:520px;padding-top:40px}
.ent-chamada h1{font-family:var(--display);font-weight:800;font-size:44px;line-height:1.08;margin:0 0 16px;letter-spacing:-.01em;color:#fff}
.ent-chamada h1 em{font-style:normal;background:linear-gradient(90deg,#4ade80,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}
.ent-chamada p{font-size:17px;color:rgba(255,255,255,.82);margin:0 0 28px}
.ent-pontos{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:14px}
.ent-pontos li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.ent-pontos .ic{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:16px}
.ent-pontos b{display:block;font-weight:600;color:#fff}
.ent-pontos span{color:rgba(255,255,255,.72);font-size:14px}
.ent-rodape{margin-top:40px;font-size:13px;color:rgba(255,255,255,.55)}
.lado-form{display:grid;place-items:center;padding:48px 32px;background:#f6f8fc}
.cartao-ent{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:40px 36px;box-shadow:0 1px 2px rgba(11,31,58,.05),0 24px 60px rgba(11,31,58,.10)}
.cartao-ent>form:first-child{margin-top:4px}
.cartao-ent h2{font-family:var(--ent-texto);font-weight:600;font-size:28px;margin:0 0 4px;letter-spacing:-.015em;color:#0f1d33}
.cartao-ent .ent-sub{color:#5b6b84;margin:0 0 24px}
.cartao-ent label{font-size:14px;font-weight:600;color:#1f2d44;margin-bottom:6px}
.cartao-ent .campo{margin-bottom:16px}
.cartao-ent input[type=text],.cartao-ent input[type=email],.cartao-ent input[type=password]{border:1.5px solid #dfe6f1;border-radius:12px;padding:12px 14px;font-size:16px}
.caixa-in{display:flex;align-items:center;gap:10px;border:1.5px solid #dfe6f1;border-radius:12px;padding:0 14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.caixa-in:focus-within{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.caixa-in>svg{flex:none;width:18px;height:18px;color:#8a99b0}
.cartao-ent .caixa-in input,.cartao-ent .caixa-in select{flex:1;min-width:0;border:0!important;box-shadow:none!important;outline:0;padding:13px 0;font-size:16px;font-weight:500;color:#0f1d33;background:transparent;border-radius:0}
.caixa-in input::placeholder{color:#a3b0c4}
.olho{border:0;background:none;color:#8a99b0;cursor:pointer;padding:4px;display:grid;border-radius:6px}
.olho svg{width:18px;height:18px}.olho.on{color:#2563eb}
.ent-esqueci{display:flex;justify-content:flex-end;margin:-4px 0 20px}
.ent-esqueci .link{font-size:14px;font-weight:700}
.btn.ent-btn{width:100%;justify-content:center;border-radius:12px;padding:14px;font-size:16px;font-weight:700;text-decoration:none;
  background:linear-gradient(120deg,#0a2556 0%,#1d4ed8 100%);box-shadow:0 8px 20px rgba(29,78,216,.28)}
.btn.ent-btn.verde{background:linear-gradient(120deg,#16a34a,#22c55e);box-shadow:0 8px 20px rgba(22,163,74,.25)}
.cartao-ent .btn.cheio{border-radius:12px;padding:13px}
.ent-ou{display:flex;align-items:center;gap:12px;margin:26px 0 18px;color:#9aa8bd;font-size:13px}
.ent-ou::before,.ent-ou::after{content:"";flex:1;height:1px;background:#dfe6f1}
.ent-conhecer{display:flex;gap:14px;align-items:center;border:1.5px dashed #bfe9d3;background:#f1fbf6;border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit;transition:background .15s}
.ent-conhecer:hover{background:#e6f8ee}
.ent-conhecer .ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#dcf7e8;font-size:20px}
.ent-conhecer b{display:block;color:#0f5132;font-size:15px;font-weight:700}
.ent-conhecer span{color:#2f6a4e;font-size:13.5px}
.ent-conhecer .seta{margin-left:auto;color:#16a34a;font-size:22px}
.ent-convite{margin:18px 0 0;text-align:center;color:#5b6b84;font-size:13px}
.ent-voltar{display:inline-flex;color:#5b6b84;font-size:14px;text-decoration:none;margin-bottom:16px}
.ent-voltar:hover{color:#0f1d33}
.ent-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ent-duas>*{min-width:0}
.ent-miudo{font-size:12.5px;color:#5b6b84;margin:14px 0 0;text-align:center}
.ent-ok-ic{font-size:44px;line-height:1;margin-bottom:10px}
.int-novo td:first-child{border-left:3px solid var(--verde)}
@media (max-width:900px){
  .entrada{grid-template-columns:1fr}
  .lado-marca{padding:28px 24px 34px;border-radius:0 0 26px 26px}
  .lado-marca::before{opacity:.6;background-size:620px auto;background-position:right -56px top -50px}
  .ent-logo{width:42px;height:42px}.ent-nome{font-size:26px}
  .ent-slogan{font-size:12.5px;letter-spacing:.12em}
  .ent-chamada{margin-top:22px;padding-top:0}
  .ent-chamada h1{font-size:28px;margin-bottom:8px}
  .ent-chamada p{font-size:15px;margin:0}
  .ent-pontos,.ent-rodape{display:none}
  .lado-form{padding:0 16px 36px;align-items:start}
  .cartao-ent{margin-top:28px;padding:28px 22px;border-radius:22px}
  .cartao-ent h2{font-size:26px}
}
@media (max-width:380px){.ent-duas{grid-template-columns:1fr}}

/* topo */
.topo{background:var(--marinho);color:#fff;position:sticky;top:0;z-index:20}
.topo-linha{display:flex;align-items:center;gap:14px;padding:10px 18px;max-width:1280px;margin:0 auto}
.topo .marca{font-weight:900;letter-spacing:.16em;font-size:18px}
.topo .marca small{display:block;font-weight:500;letter-spacing:0;font-size:11px;color:#9fb3d1;margin-top:-2px}
.topo .espaco{flex:1}
.abas{display:flex;gap:4px;flex-wrap:wrap;max-width:1280px;margin:0 auto;padding:0 12px 8px}
.grupo-abas{display:flex;flex-wrap:wrap;max-width:100%;gap:4px;align-items:center;background:rgba(255,255,255,.06);border-radius:10px;padding:3px}
.grupo-abas .rotulo{font-size:11px;color:#9fb3d1;padding:0 8px;white-space:nowrap}
.aba{background:none;border:0;color:#d3def0;padding:7px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}
.aba:hover{background:rgba(255,255,255,.08)}
.aba.ativa{background:#fff;color:var(--marinho);font-weight:600}
.perfil{position:relative}
.perfil>button{background:rgba(255,255,255,.1);border:0;color:#fff;border-radius:20px;padding:6px 12px;cursor:pointer}
.menu{position:absolute;right:0;top:110%;background:#fff;color:var(--texto);border-radius:10px;box-shadow:var(--sombra);min-width:230px;padding:6px;display:none;z-index:30}
.menu.aberto{display:block}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:7px;cursor:pointer}
.menu button:hover{background:var(--fundo)}
.menu .info{padding:8px 10px;color:var(--suave);font-size:13px;border-bottom:1px solid var(--linha);margin-bottom:4px}
.faixa-como{background:var(--ouro);color:var(--marinho);text-align:center;padding:6px;font-size:13px;font-weight:600}
.faixa-como button{margin-left:10px}

/* conteúdo */
main{max-width:1280px;margin:0 auto;padding:20px 18px 60px}
h1{font-size:22px;margin:4px 0 16px}
h1 small{display:block;font-size:13px;font-weight:400;color:var(--suave);margin-top:2px}
h3{font-size:16px;margin:0 0 10px}
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:18px;box-shadow:var(--sombra);margin-bottom:16px}
.grade{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grade-trabalho{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
@media (max-width:900px){.grade-trabalho{grid-template-columns:1fr}}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.linha.fim{justify-content:flex-end}
.suave{color:var(--suave)}
.peq{font-size:13px}
.vazio{text-align:center;color:var(--suave);padding:36px 12px}

label{display:block;font-size:13px;color:var(--suave);margin:0 0 4px}
.campo{margin-bottom:12px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{
  width:100%;border:1px solid var(--linha);border-radius:9px;padding:9px 11px;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--azul);box-shadow:0 0 0 3px var(--azul2)}
textarea{min-height:70px;resize:vertical}
.btn{border:0;border-radius:9px;padding:9px 15px;cursor:pointer;background:var(--marinho);color:#fff;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{filter:brightness(1.12)}
.btn:disabled{opacity:.5;cursor:default}
.btn.claro{background:#fff;color:var(--marinho);border:1px solid var(--linha)}
.btn.verde{background:var(--verde)}
.btn.vermelho{background:var(--vermelho)}
.btn.ouro{background:var(--ouro);color:var(--marinho)}
.btn.peq{padding:6px 10px;font-size:13px;font-weight:500}
.btn.cheio{width:100%;justify-content:center;padding:11px}
.link{background:none;border:0;color:var(--azul);cursor:pointer;padding:0;font-size:13px}
.erro{background:var(--vermelho2);color:#8f2222;border-radius:9px;padding:9px 12px;font-size:14px;margin-bottom:12px}
.ok{background:var(--verde2);color:#14663a;border-radius:9px;padding:9px 12px;font-size:14px;margin-bottom:12px}
.dica{background:var(--azul2);color:#1e3f8a;border-radius:9px;padding:9px 12px;font-size:14px;margin-bottom:12px}
.faixa-dono{background:var(--marinho);color:#fff;border-radius:9px;padding:8px 12px;font-size:14px;margin:-2px 0 14px}

.selo{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;background:var(--fundo);color:var(--suave)}
.selo.verde{background:var(--verde2);color:#14663a}
.selo.azul{background:var(--azul2);color:#1e3f8a}
.selo.ouro{background:#fff4d6;color:#7a5600}
.selo.vermelho{background:var(--vermelho2);color:#8f2222}

table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--linha);vertical-align:top;font-size:14px}
th{font-size:12px;color:var(--suave);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#fafcff}
.tabela{overflow:auto}

/* funil */
.etapas{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}
.etapa{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px;cursor:pointer;text-align:left}
.etapa .n{font-size:26px;font-weight:800;color:var(--marinho)}
.etapa .t{font-size:13px;color:var(--suave)}
.etapa.ativa{border-color:var(--marinho);box-shadow:0 0 0 2px var(--marinho) inset}
@media (max-width:760px){.etapas{grid-template-columns:repeat(2,1fr)}}
.lead{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.lead:last-child{border-bottom:0}
.lead .nome{font-weight:700}
.lead .acoes{display:flex;gap:6px;flex-wrap:wrap}

/* pedidos */
.pedido{border:1px solid var(--linha);border-radius:10px;padding:12px;margin-bottom:10px}
.pedido .t{font-weight:700}

/* janelas */
.fundo-janela{position:fixed;inset:0;background:rgba(11,31,58,.55);display:grid;place-items:center;z-index:50;padding:16px}
.janela{background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:92vh;overflow:auto;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.janela.larga{max-width:860px}
.janela h2{margin:0 0 6px;font-size:19px}
.fechar{float:right;background:none;border:0;font-size:22px;cursor:pointer;color:var(--suave)}

/* modo ligação */
.ml{position:fixed;inset:0;background:var(--marinho);color:#fff;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}
.ml .barra{width:min(520px,90vw);height:6px;background:rgba(255,255,255,.15);border-radius:4px;overflow:hidden;margin:10px auto 18px}
.ml .barra i{display:block;height:100%;background:var(--ouro)}
.ml .grande{font-size:clamp(24px,4vw,38px);font-weight:800;margin:8px 0 2px}
.ml .frase{background:rgba(255,255,255,.08);border-radius:12px;padding:12px 16px;max-width:620px;margin:16px auto;color:#dbe5f5}
.ml .res{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;max-width:720px;width:100%;margin-top:14px}
.ml .res button{border:0;border-radius:12px;padding:14px 8px;font-weight:700;cursor:pointer;background:#fff;color:var(--marinho)}
@media (max-width:600px){.ml .res{grid-template-columns:repeat(2,1fr)}}
.ml .setas{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;padding:0 12px;pointer-events:none}
.ml .setas button{pointer-events:auto;background:rgba(255,255,255,.1);border:0;color:#fff;font-size:28px;width:48px;height:48px;border-radius:50%;cursor:pointer}
.ml .sair{position:absolute;top:14px;right:16px}

/* ranking */
.rank{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linha)}
.rank .med{width:30px;font-size:20px;text-align:center}
.rank .bar{flex:1;height:8px;background:var(--fundo);border-radius:5px;overflow:hidden}
.rank .bar i{display:block;height:100%;background:var(--ouro)}

@media (max-width:600px){.topo-linha{padding:8px 12px}.aba{padding:6px 9px;font-size:14px}.grupo-abas .rotulo{width:100%;padding:2px 8px 0}main{padding:14px 10px 50px}.cartao{padding:14px}}
#avisos{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(420px,calc(100% - 32px));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none}
.aviso{background:var(--marinho);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(11,31,58,.25);width:100%;font-size:14px;text-align:center;pointer-events:auto}
.aviso.erro{background:var(--vermelho);color:#fff;margin:0}
canvas.confete{position:fixed;inset:0;pointer-events:none;z-index:95}

/* limite de pessoas do plano (tela Acessos) */
.lim-cont{position:relative;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;background:#eef4ff;border:1px solid #cddcfb;border-radius:12px;padding:10px 14px 14px;margin:0 0 16px;overflow:hidden}
.lim-cont span{font-size:13.5px;color:#4a5875}.lim-cont b{color:#0f1b33}
.lim-cont i{position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:0 4px 4px 0}
.lim-cont.cheio{background:#fff7ea;border-color:#f3d39b}.lim-cont.cheio i{background:#f59e0b}
.lim-cheio{display:grid;gap:10px;margin-top:6px}.lim-cheio p{margin:0}
.lim-planos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lim-plano{border:1px solid #dfe5ef;border-radius:12px;padding:10px;display:grid;gap:2px;text-align:center}
.lim-plano span{font-size:11px;font-weight:700;color:#16a34a;min-height:14px}.lim-plano.atual span{color:#5a6680}
.lim-plano b{font-size:16px}.lim-plano em{font-style:normal;font-size:13px;color:#0f1b33}.lim-plano small{color:#5a6680}
.lim-plano.atual{background:#f4f6fa}.lim-plano.maior{border-color:#86d7a5;background:#f2fbf5}
.lim-cheio .btn{justify-self:start}
@media (max-width:560px){.lim-planos{grid-template-columns:1fr}}

.cap-conv{display:grid;gap:8px;background:#f6f8fc;border:1px solid #e3e8f2;border-radius:12px;padding:10px 12px}
.cap-conv label{display:grid;gap:4px;font-size:13px}.cap-conv .cap-ck{display:flex;gap:8px;align-items:center;font-weight:600}
.cap-conv .cap-ck input{width:auto}.cap-conv p{margin:0}
