:root{
  --verde:#4f8f72;
  --verde-escuro:#356b52;
  --verde-claro:#eaf5ef;
  --verde-suave:#f4faf7;
  --branco:#ffffff;
  --texto:#2f3a34;
  --muted:#66776e;
  --borda:#dcebe3;
  --erro:#a52828;
  --ok:#2f6f4e;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--verde-suave);color:var(--texto)}
a{color:var(--verde-escuro)}
.wrap{max-width:1100px;margin:auto}
.topo{background:#fff;border-bottom:1px solid var(--borda);padding:7px 12px}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:block;width:auto;max-width:330px;height:auto;max-height:220px;object-fit:contain}
.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nav a{text-decoration:none;font-weight:700;padding:10px 13px;border-radius:10px}
.nav a.d{background:var(--verde-escuro);color:#fff}
.conteudo{padding:28px 16px}
.card{background:#fff;border:1px solid var(--borda);border-radius:18px;padding:26px;box-shadow:0 8px 25px rgba(53,107,82,.07)}
h1,h2{color:var(--verde-escuro)}
h1{margin-top:0}
.muted{color:var(--muted);line-height:1.55}
.campo{margin-bottom:16px}
label{display:block;font-weight:700;color:var(--verde-escuro);margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfe0d7;border-radius:10px;background:#fff;font:inherit}
.btn{display:inline-block;border:0;border-radius:10px;background:var(--verde-escuro);color:#fff;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer}
.btn.sec{background:#fff;color:var(--verde-escuro);border:1px solid #bcd4c7}
.alerta{padding:13px 15px;border-radius:10px;margin-bottom:18px}
.alerta.erro{background:#fff0f0;border:1px solid #efc6c6;color:var(--erro)}
.alerta.ok{background:#edf8f1;border:1px solid #c9e5d2;color:var(--ok)}
.rodape{text-align:center;color:#789087;padding:25px 15px}
@media(max-width:700px){
  .topo .wrap{flex-direction:column}
  .logo{width:auto;max-width:min(390px,92vw);max-height:220px}
  .nav{justify-content:center}
  .conteudo{padding:18px 12px}
  .card{padding:20px}
}


/* ===== Janela para instalar a plataforma no celular ===== */
.instalar-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(18,43,32,.62);
  backdrop-filter:blur(3px);
}
.instalar-modal.aberto{display:flex}
.modal-instalar-aberto{overflow:hidden}
.instalar-modal-caixa{
  position:relative;
  width:min(430px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:28px 22px 22px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  text-align:center;
}
.instalar-modal-caixa h2{
  margin:10px 0 8px;
  color:#356b52;
  font-size:1.45rem;
}
.instalar-modal-caixa p{
  line-height:1.5;
}
.instalar-icone{
  display:block;
  margin:0 auto;
  border-radius:18px;
  box-shadow:0 6px 20px rgba(53,107,82,.18);
}
.instalar-fechar{
  position:absolute;
  top:10px;
  right:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#edf5f0;
  color:#315e49;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.instalar-btn-principal{
  display:block;
  width:100%;
  margin:18px 0 10px;
  font-size:1.04rem;
}
.instalar-depois{
  display:block;
  width:100%;
  margin-top:10px;
}
.instalar-ios,
.instalar-indisponivel{
  margin:16px 0 10px;
  padding:14px;
  border-radius:14px;
  background:#f1f7f3;
  color:#264d3a;
  text-align:left;
}
.instalar-ok{
  margin-top:14px;
  color:#24633f;
  font-weight:700;
}

/* ===== Janela de instalação - versão popup visível ===== */
.instalar-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(9,31,21,.72);
  backdrop-filter:blur(4px);
}
.instalar-modal.aberto{
  display:flex;
}
.modal-instalar-aberto{
  overflow:hidden;
}
.instalar-modal-caixa{
  position:relative;
  width:min(500px, 96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border:1px solid #dbe8e0;
  border-radius:24px;
  padding:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  animation:instalarEntrada .22s ease-out;
}
@keyframes instalarEntrada{
  from{opacity:0; transform:translateY(18px) scale(.98)}
  to{opacity:1; transform:translateY(0) scale(1)}
}
.instalar-topo{
  display:flex;
  align-items:center;
  gap:16px;
  padding-right:32px;
}
.instalar-etiqueta{
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#6d8f7d;
}
.instalar-modal-caixa h2{
  margin:3px 0 0;
  color:#356b52;
  font-size:1.55rem;
  line-height:1.2;
}
.instalar-texto{
  margin:18px 0 10px;
  color:#34463e;
  line-height:1.55;
}
.instalar-icone{
  flex:0 0 auto;
  border-radius:20px;
  box-shadow:0 7px 22px rgba(53,107,82,.2);
}
.instalar-fechar{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#edf5f0;
  color:#356b52;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.instalar-fechar:hover{
  background:#dfece4;
}
.instalar-btn-principal{
  width:100%;
  margin:14px 0 0;
  font-size:1.05rem;
}
.instalar-ios,
.instalar-indisponivel{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#f2f7f4;
  color:#2d4d3e;
}
.instalar-acoes{
  margin-top:14px;
}
.instalar-btn-secundario{
  width:100%;
  background:#eef4f0 !important;
  color:#315f49 !important;
}
.instalar-ok{
  margin-top:14px;
  font-weight:700;
  color:#2d6a47;
}
@media (max-width:600px){
  .instalar-modal{
    align-items:flex-end;
    padding:12px;
  }
  .instalar-modal-caixa{
    width:100%;
    border-radius:22px 22px 16px 16px;
    padding:22px 18px 18px;
  }
  .instalar-topo{
    gap:12px;
  }
  .instalar-icone{
    width:68px;
    height:68px;
  }
  .instalar-modal-caixa h2{
    font-size:1.3rem;
  }
}
