:root{
  --pinho:#0B5D4B; --pinho-esc:#08463A; --pinho-claro:#DDF2E8;
  --marinho:#10202F; --ambar:#E3A21A; --ambar-claro:#FBEFD2; --ambar-texto:#6E4700;
  --menta:#8FD9C2; --nevoa:#F4F6F4; --ardosia:#4F5D66; --borda:#DDE3E0; --linha:#EEF1EF;
  --alta:#0B7A55; --baixa:#B83A26; --baixa-claro:#F7E0DB; --baixa-texto:#8E2A1A;
  --cinza-claro:#E6ECEA; --branco:#FFFFFF;
  --raio:18px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--nevoa);color:var(--marinho);font:16px/1.5 Manrope,system-ui,sans-serif;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:Sora,Manrope,sans-serif;letter-spacing:-.02em;margin:0}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.app{max-width:520px;margin:0 auto;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;background:var(--nevoa)}
@media (min-width:560px){body{background:#E7ECEA}.app{box-shadow:0 0 0 1px var(--borda)}}

/* Marca */
.marca{display:flex;align-items:center;gap:10px;font-family:Sora,sans-serif;letter-spacing:-.02em}
.marca b{font-weight:700}.marca span{font-weight:400}
.chip-teste{font-size:12px;font-weight:700;color:var(--ambar-texto);background:var(--ambar-claro);padding:5px 10px;border-radius:999px;white-space:nowrap}

/* Botões */
.btn{min-height:52px;padding:0 22px;border-radius:14px;border:none;background:var(--pinho);color:#fff;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{background:var(--pinho-esc)}
.btn:disabled{opacity:.55;cursor:default}
.btn.sec{background:#fff;color:var(--pinho);border:1.5px solid var(--pinho)}
.btn.sec:hover{background:var(--pinho-claro)}
.btn.link{background:none;color:var(--pinho);min-height:44px;padding:0 8px}
.btn.menta{background:var(--menta);color:var(--marinho)}
.btn.perigo{background:#fff;color:var(--baixa);border:1.5px solid var(--baixa)}
.btn.perigo.confirmar{background:var(--baixa);color:#fff}
.btn.cheio{width:100%}
.voltar{align-self:flex-start;min-height:44px;padding:0 14px 0 8px;border-radius:12px;border:1px solid var(--borda);background:#fff;display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600}
:focus-visible{outline:3px solid var(--menta);outline-offset:2px}

/* Telas de entrada */
.tela-centro{flex:1;display:flex;flex-direction:column;padding:56px 24px 32px;gap:28px}
.tela-centro.meio{justify-content:center}
.carregando{color:var(--ardosia);text-align:center;margin:auto}
.cabeca-entrada{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.cabeca-entrada .marca{font-size:34px}
.cabeca-entrada p{margin:0;font-size:18px;color:var(--ardosia)}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:14px;font-weight:700}
.campo input,.campo select{min-height:52px;border-radius:14px;border:1.5px solid var(--borda);background:#fff;padding:0 14px;font-size:16px}
.campo input:focus,.campo select:focus{border-color:var(--pinho);outline:none}
.campo .ajuda{font-size:13px;color:var(--ardosia)}
.form{display:flex;flex-direction:column;gap:16px}
.erro-form{background:var(--baixa-claro);color:var(--baixa-texto);border-radius:12px;padding:12px 14px;font-size:14px}
.ok-form{background:var(--pinho-claro);color:#075C40;border-radius:12px;padding:12px 14px;font-size:14px}
.pequeno{font-size:13px;color:var(--ardosia);line-height:1.5;margin:0}
.aviso-teste{background:var(--cinza-claro);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.5;color:#33424B}
.marcar{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer;min-height:44px}
.marcar input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--pinho);flex-shrink:0}

.vantagens{display:flex;flex-direction:column;gap:18px}
.vantagem{display:flex;gap:14px;align-items:flex-start}
.vantagem .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vantagem strong{display:block;font-size:16px}
.vantagem span{font-size:14px;color:var(--ardosia)}

/* Questionário */
.quiz-topo{display:flex;align-items:center;gap:12px}
.quiz-topo .voltar{width:44px;padding:0;justify-content:center}
.barras{flex:1;display:flex;gap:6px}
.barras i{flex:1;height:6px;border-radius:3px;background:var(--borda)}
.barras i.on{background:var(--pinho)}
.opcoes{display:flex;flex-direction:column;gap:12px}
.opcao{min-height:64px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--borda);background:#fff;font-size:16px;font-weight:600;text-align:left;line-height:1.4}
.opcao:hover{border-color:var(--pinho)}
.opcao.sel{background:var(--pinho-claro);border-color:var(--pinho)}
.passo{font-size:14px;font-weight:600;color:var(--ardosia)}
.titulo-grande{font-size:26px;line-height:1.25;font-weight:600}
.selo-ok{width:56px;height:56px;border-radius:18px;background:var(--pinho-claro);display:flex;align-items:center;justify-content:center}

/* Estrutura principal */
.topo{position:sticky;top:0;z-index:5;height:60px;flex-shrink:0;padding:0 20px;padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;background:var(--nevoa)}
.topo .marca{font-size:18px}
.conteudo{flex:1;padding:4px 20px 110px;display:flex;flex-direction:column;gap:22px}
.nav{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;z-index:6;background:#fff;border-top:1px solid var(--borda);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}
.nav button{height:68px;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#5F6C74;font-size:12px;font-weight:700}
.nav button.on{color:var(--pinho)}
.nav .bolinha{position:relative}
.nav .bolinha::after{content:"";position:absolute;top:-2px;right:-4px;width:9px;height:9px;border-radius:50%;background:var(--ambar);border:2px solid #fff}

/* Faixa do banco */
.faixa{margin:0 20px;border-radius:16px;padding:14px 16px;background:var(--ambar-claro);color:#4A3000;font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:8px}
.faixa.erro{background:var(--baixa-claro);color:var(--baixa-texto)}
.faixa strong{font-size:15px}
.faixa p{margin:0}
.faixa .btn{min-height:44px;align-self:flex-start;font-size:15px}

/* Cartões e listas */
.card-escuro{background:var(--marinho);border-radius:22px;padding:22px;color:#fff;display:flex;flex-direction:column;gap:12px}
.card-escuro .rotulo{font-size:14px;color:#B9C4CC}
.card-escuro .valor{font-size:34px;font-weight:700;letter-spacing:-.01em}
.secao{display:flex;flex-direction:column;gap:12px}
.secao-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.secao-cab h2{font-size:18px;font-weight:600}
.titulo-pag{font-size:24px;font-weight:600;margin-top:4px}
.lista{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.linha{width:100%;min-height:64px;padding:12px 16px;border:none;border-bottom:1px solid var(--linha);background:#fff;display:flex;align-items:center;gap:12px;text-align:left}
.linha:last-child{border-bottom:none}
button.linha:hover{background:#FAFBFA}
.linha .txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.linha .txt strong{font-size:15px}
.linha .txt span{font-size:13px;color:var(--ardosia)}
.linha .dir{text-align:right;font-size:14px;font-weight:600}
.cab-tabela{display:flex;padding:10px 16px;font-size:12px;font-weight:700;color:var(--ardosia);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--linha)}
.col-teto{width:88px;text-align:right}
.col-sit{width:96px;display:flex;justify-content:flex-end}
.chip{padding:5px 10px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}
.chip.comprar{background:var(--pinho-claro);color:#075C40}
.chip.aguardar{background:var(--ambar-claro);color:var(--ambar-texto)}
.chip.vender{background:var(--baixa-claro);color:var(--baixa-texto)}
.chip.neutro{background:var(--cinza-claro);color:#33424B}
.pilulas{display:flex;gap:8px;flex-wrap:wrap}
.pilula{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--borda);background:#fff;font-size:14px;font-weight:700}
.pilula.on{background:var(--pinho);border-color:var(--pinho);color:#fff}
.pilula.on.escuro{background:var(--marinho);border-color:var(--marinho)}
.alerta{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px;display:flex;gap:14px;align-items:flex-start}
.alerta .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.alerta .ic.carteira{background:var(--ambar)}
.alerta .ic.fato{background:var(--cinza-claro)}
.alerta .ic.compra{background:var(--pinho)}
.alerta .ic.cenario{background:var(--marinho)}
.alerta .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.alerta .tag{font-size:12px;font-weight:700;color:var(--ardosia);text-transform:uppercase;letter-spacing:.05em}
.alerta strong{font-size:15px;line-height:1.35}
.alerta span.corpo{font-size:14px;color:var(--ardosia);line-height:1.45;white-space:pre-line}
.vazio{background:#fff;border:1px dashed var(--borda);border-radius:var(--raio);padding:20px;font-size:14px;color:var(--ardosia);line-height:1.5}
.vazio strong{display:block;color:var(--marinho);font-size:15px;margin-bottom:2px}
.bloqueada{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:24px;display:flex;flex-direction:column;gap:10px}
.bloqueada strong{font-family:Sora,sans-serif;font-size:18px;font-weight:600}
.bloqueada span{color:var(--ardosia);font-size:15px}
.caixas3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.caixa{background:#fff;border:1px solid var(--borda);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px}
.caixa span{font-size:12px;color:var(--ardosia);font-weight:600}
.caixa strong{font-size:15px}
.tenho{background:var(--marinho);border-radius:16px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#fff}
.tenho span{color:#B9C4CC;font-size:15px}
.nota-venda{background:var(--baixa-claro);border-radius:16px;padding:16px;font-size:14px;line-height:1.5;color:#5E1C11}
.texto-bloco{display:flex;flex-direction:column;gap:6px}
.texto-bloco h2{font-size:17px;font-weight:600}
.texto-bloco p{margin:0;font-size:15px;line-height:1.55;color:#33424B}
.ativo-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ativo-cab h1{font-size:30px;font-weight:700}
.ativo-cab span{font-size:15px;color:var(--ardosia)}
.folga{font-size:14px;font-weight:700;color:#075C40;text-align:right;width:96px;flex-shrink:0}
.dados-perfil .linha{justify-content:space-between}
.dados-perfil .linha span{color:var(--ardosia);font-size:15px}
.dados-perfil .linha strong{font-size:15px;text-align:right}

/* Aviso rápido */
.toast{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;max-width:min(480px,calc(100% - 24px));background:#fff;border:2px solid var(--pinho);border-radius:14px;padding:12px 16px;font-size:15px;font-weight:600;box-shadow:0 8px 24px rgba(16,32,47,.12)}
.toast.erro{border-color:var(--baixa)}

@media (max-width:360px){.caixas3{grid-template-columns:1fr 1fr}.col-teto{width:76px}}
.visualmente-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Painel da equipe */
.campo textarea{min-height:96px;border-radius:14px;border:1.5px solid var(--borda);background:#fff;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;resize:vertical}
.campo textarea:focus{border-color:var(--pinho);outline:none}
fieldset.campo{border:none;margin:0;padding:0;min-width:0}
fieldset.campo legend{font-size:14px;font-weight:700;padding:0;margin-bottom:6px}
.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:380px){.duas{grid-template-columns:1fr}}
.opcao.peq{min-height:0;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.opcao.peq strong{font-size:15px}
.opcao.peq span{font-size:13px;font-weight:500;color:var(--ardosia)}
.btn.peq{min-height:44px;font-size:15px;padding:0 16px;align-self:flex-start;margin-top:6px}
.alerta .autor{font-size:13px;color:var(--ardosia)}
.alerta .tks{display:flex;flex-wrap:wrap;gap:6px}
.alerta.rascunho{border-style:dashed;background:#FBFCFB}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px}
.pilula.sit-comprar.on{background:var(--pinho);border-color:var(--pinho)}
.pilula.sit-aguardar.on{background:var(--ambar);border-color:var(--ambar);color:var(--marinho)}
.pilula.sit-vender.on{background:var(--baixa);border-color:var(--baixa)}
.nav button{font-size:11.5px}
