Adicionado novas páginas política de privacidade, termos de uso e sobre

This commit is contained in:
Diego Freitas 2026-05-28 16:12:22 -03:00
parent 71c124cc68
commit 2d8dfcea10
15 changed files with 1557 additions and 14 deletions

View File

@ -33,6 +33,9 @@ import { ProdutosService } from './services/produtosService';
import { AgrobaseLoginComponent } from './agrobase/login/login.component';
import { AgrobaseVersionamentoComponent } from './agrobase/versionamento/versionamento.component';
import { AgrobaseService } from './services/agrobase.service';
import { TermosUsoComponent } from './termos-uso/termos-uso.component';
import { PoliticaPrivacidadeComponent } from './politica-privacidade/politica-privacidade.component';
import { SobreComponent } from './sobre/sobre.component';
const routes: Routes = [
@ -61,7 +64,20 @@ const routes: Routes = [
}, {
path: 'criarconta',
component: CriarcontaComponent,
}, {
},
{
path: 'termos_uso',
component: TermosUsoComponent,
},
{
path: 'politica_privacidade',
component: PoliticaPrivacidadeComponent,
},
{
path: 'sobre',
component: SobreComponent,
},
{
path: 'dashboard',
component: DashboardComponent,
children: [

View File

@ -46,6 +46,9 @@ import { ProdutosComponent } from './produtos/produtos.component';
import { AgrobaseLoginComponent } from './agrobase/login/login.component';
import { AgrobaseVersionamentoComponent } from './agrobase/versionamento/versionamento.component';
import { TipoArquivoNomePipe } from './pipes/tipo-arquivo-nome.pipe';
import { SobreComponent } from './sobre/sobre.component';
import { PoliticaPrivacidadeComponent } from './politica-privacidade/politica-privacidade.component';
import { TermosUsoComponent } from './termos-uso/termos-uso.component';
// Registrar a localidade pt-BR
@ -76,7 +79,7 @@ registerLocaleData(localePt);
ProdutosComponent,
AgrobaseLoginComponent,
AgrobaseVersionamentoComponent,
TipoArquivoNomePipe
TipoArquivoNomePipe, SobreComponent, PoliticaPrivacidadeComponent, TermosUsoComponent
],
imports: [
BrowserModule,

View File

@ -10,8 +10,9 @@
<nav class="header-nav">
<a [routerLink]="'/home'">Início</a>
<a href="/home#sistemas">Sistemas</a>
<a href="/home#noticias">Notícias</a>
<a [routerLink]="'/home'" fragment="sistemas">Sistemas</a>
<a [routerLink]="'/home'" fragment="noticias">Notícias</a>
<a [routerLink]="'/sobre'">Sobre</a>
</nav>
<div class="header-actions">
@ -47,11 +48,23 @@
<h4>Navegação</h4>
<a [routerLink]="'/home'">Início</a>
<a href="/home#sistemas">Sistemas</a>
<a href="/home#noticias">Notícias</a>
<a [routerLink]="'/home'" fragment="sistemas">Sistemas</a>
<a [routerLink]="'/home'" fragment="noticias">Notícias</a>
<a [routerLink]="'/login'">Área do cliente</a>
</div>
<div class="footer-section">
<h4>Institucional</h4>
<a [routerLink]="'/sobre'">Sobre</a>
<a [routerLink]="'/politica_privacidade'">Política de Privacidade</a>
<a [routerLink]="'/termos_uso'">Termos de Uso</a>
<p class="footer-section-text">
Tecnologia, sistemas e automação para empresas que querem operar com mais clareza.
</p>
</div>
<div class="footer-section">
<h4>Contato</h4>
@ -60,14 +73,6 @@
<p>Zendion, INC.</p>
</div>
<div class="footer-section">
<h4>Institucional</h4>
<p>
Tecnologia, sistemas e automação para empresas que querem operar com mais clareza.
</p>
</div>
</div>
<div class="footer-bottom">

View File

@ -0,0 +1,227 @@
<section class="privacy-page">
<div class="privacy-hero">
<div class="privacy-hero__content">
<span class="privacy-hero__tag">Zendion, INC.</span>
<h1>Política de Privacidade</h1>
<p>
Esta Política de Privacidade explica como a Zendion, INC. coleta, utiliza,
protege e trata as informações fornecidas pelos usuários ao acessar o site,
criar uma conta ou utilizar os sistemas disponibilizados.
</p>
<small>Última atualização: {{ anoAtual }}</small>
</div>
</div>
<div class="privacy-container">
<article class="privacy-card">
<h2>1. Visão geral</h2>
<p>
A Zendion, INC. respeita a privacidade dos usuários e busca tratar os dados
pessoais de forma segura, transparente e compatível com a finalidade dos
serviços oferecidos.
</p>
<p>
Nosso site hospeda sistemas, informações institucionais, notícias e recursos
relacionados aos produtos e serviços desenvolvidos pela Zendion, INC. Alguns
recursos podem exigir cadastro para acesso, download ou utilização.
</p>
</article>
<article class="privacy-card">
<h2>2. Dados que podemos coletar</h2>
<p>
Ao utilizar este site ou criar uma conta, podemos coletar informações fornecidas
diretamente pelo usuário, como:
</p>
<ul>
<li>nome ou identificação informada no cadastro;</li>
<li>endereço de e-mail;</li>
<li>senha criptografada para acesso à conta;</li>
<li>dados necessários para ativação da conta e recuperação de senha;</li>
<li>informações enviadas pelo usuário em formulários de contato ou suporte.</li>
</ul>
<p>
Também podemos registrar informações técnicas básicas para segurança e operação
do sistema, como data e horário de acesso, endereço IP, navegador utilizado,
registros de autenticação e eventos relacionados ao funcionamento da conta.
</p>
</article>
<article class="privacy-card">
<h2>3. Finalidade do uso dos dados</h2>
<p>
Os dados coletados são utilizados para finalidades relacionadas ao funcionamento
do site, dos sistemas e da conta do usuário.
</p>
<ul>
<li>criar e gerenciar contas de usuário;</li>
<li>enviar e-mail de ativação de conta;</li>
<li>enviar e-mail de redefinição de senha quando solicitado;</li>
<li>permitir acesso à área do cliente e aos sistemas disponibilizados;</li>
<li>melhorar a segurança, prevenir abusos e proteger os sistemas;</li>
<li>prestar suporte e responder solicitações enviadas pelo usuário;</li>
<li>cumprir obrigações legais ou regulatórias, quando aplicável.</li>
</ul>
</article>
<article class="privacy-card">
<h2>4. Comunicações por e-mail</h2>
<p>
A Zendion, INC. utiliza e-mails apenas para comunicações transacionais ligadas
ao uso da conta e dos sistemas.
</p>
<p>
Atualmente, os principais e-mails enviados são:
</p>
<ul>
<li>ativação de conta após cadastro realizado pelo próprio usuário;</li>
<li>redefinição de senha quando solicitada pelo usuário.</li>
</ul>
<p>
Não enviamos campanhas de marketing, newsletters promocionais, mensagens em
massa não solicitadas, listas compradas, listas alugadas ou comunicações
comerciais não autorizadas por meio deste fluxo transacional.
</p>
<p>
Os e-mails são enviados somente a partir de ações realizadas pelo usuário,
como criar uma conta ou solicitar recuperação de senha.
</p>
</article>
<article class="privacy-card">
<h2>5. Compartilhamento de dados</h2>
<p>
A Zendion, INC. não vende, aluga ou comercializa dados pessoais dos usuários.
</p>
<p>
Poderemos compartilhar informações somente quando necessário para operação do
serviço, segurança da plataforma, cumprimento de obrigações legais ou uso de
provedores técnicos essenciais, como serviços de hospedagem, autenticação,
envio de e-mails transacionais e infraestrutura.
</p>
<p>
Quando utilizamos provedores externos, buscamos limitar o compartilhamento ao
necessário para execução do serviço contratado.
</p>
</article>
<article class="privacy-card">
<h2>6. Segurança das informações</h2>
<p>
Adotamos medidas técnicas e administrativas para proteger as informações dos
usuários contra acesso não autorizado, perda, alteração, uso indevido ou
divulgação indevida.
</p>
<p>
Senhas são armazenadas de forma protegida, e recursos de ativação de conta e
redefinição de senha utilizam tokens temporários, quando aplicável.
</p>
<p>
Também podemos utilizar registros de acesso, limites de uso e mecanismos de
proteção contra abuso para preservar a segurança dos sistemas.
</p>
</article>
<article class="privacy-card">
<h2>7. Retenção dos dados</h2>
<p>
Os dados pessoais podem ser mantidos enquanto a conta do usuário estiver ativa,
enquanto forem necessários para prestação dos serviços, cumprimento de obrigações
legais, prevenção de fraude, auditoria, segurança ou defesa de direitos.
</p>
<p>
Quando os dados não forem mais necessários, poderão ser removidos, anonimizados
ou mantidos somente quando houver base legítima para retenção.
</p>
</article>
<article class="privacy-card">
<h2>8. Direitos do usuário</h2>
<p>
O usuário pode solicitar informações sobre seus dados pessoais, correção de
informações incorretas, atualização cadastral, exclusão de dados ou esclarecimentos
sobre o tratamento realizado pela Zendion, INC.
</p>
<p>
Algumas solicitações podem depender de validação de identidade e podem estar
sujeitas a restrições legais, técnicas ou operacionais.
</p>
</article>
<article class="privacy-card">
<h2>9. Cookies e tecnologias similares</h2>
<p>
O site pode utilizar cookies ou tecnologias similares para manter sessões de
login, melhorar a experiência de navegação, lembrar preferências e apoiar a
segurança dos sistemas.
</p>
<p>
O usuário pode configurar seu navegador para bloquear cookies, mas isso pode
afetar o funcionamento de áreas autenticadas ou recursos do site.
</p>
</article>
<article class="privacy-card">
<h2>10. Proteção contra abuso</h2>
<p>
Como alguns recursos permitem cadastro de usuários, a Zendion, INC. pode adotar
medidas para evitar uso indevido, automações abusivas, tentativas de fraude,
criação excessiva de contas, disparos indevidos de e-mails ou exploração dos
fluxos de ativação e recuperação de senha.
</p>
<p>
Essas medidas podem incluir limites de requisições, validações adicionais,
bloqueios temporários, logs de segurança e suspensão de contas ou acessos
suspeitos.
</p>
</article>
<article class="privacy-card">
<h2>11. Links externos</h2>
<p>
Este site pode conter links para páginas, sistemas ou serviços de terceiros.
A Zendion, INC. não se responsabiliza pelas práticas de privacidade, conteúdo
ou segurança de sites externos.
</p>
<p>
Recomendamos que o usuário leia as políticas de privacidade dos serviços externos
antes de fornecer qualquer informação.
</p>
</article>
<article class="privacy-card">
<h2>12. Alterações nesta política</h2>
<p>
Esta Política de Privacidade poderá ser atualizada periodicamente para refletir
melhorias nos serviços, mudanças operacionais, ajustes de segurança ou exigências
legais.
</p>
<p>
A versão mais recente estará sempre disponível nesta página.
</p>
</article>
<article class="privacy-card">
<h2>13. Contato</h2>
<p>
Em caso de dúvidas sobre esta Política de Privacidade ou sobre o tratamento de
dados pessoais, entre em contato pelos canais oficiais:
</p>
<div class="contact-box">
<p><strong>E-mail:</strong> {{ emailContato }}</p>
<p><strong>Telefone:</strong> {{ foneContato }}</p>
<p><strong>Empresa:</strong> Zendion, INC.</p>
</div>
</article>
</div>
<div class="page-actions">
<a routerLink="/" class="btn-back-home">Voltar para a página inicial</a>
</div>
</section>

View File

@ -0,0 +1,231 @@
.privacy-page {
min-height: 100vh;
background:
radial-gradient(circle at top left, rgba(7, 27, 99, 0.18), transparent 30%),
linear-gradient(135deg, #f4f6fb 0%, #eef3ff 45%, #ffffff 100%);
color: #0f172a;
}
/* =========================
HERO POLÍTICA
========================= */
.privacy-hero {
position: relative;
overflow: hidden;
padding: 64px 22px 52px 22px;
}
.privacy-hero::after {
content: "";
position: absolute;
width: 420px;
height: 420px;
right: -140px;
top: -140px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.16);
filter: blur(8px);
}
.privacy-hero__content {
position: relative;
z-index: 1;
width: 100%;
max-width: 1180px;
margin: 0 auto;
}
.privacy-hero__tag {
display: inline-block;
margin-bottom: 12px;
color: #071b63;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.privacy-hero h1 {
margin: 0 0 18px 0;
max-width: 760px;
color: #0f172a;
font-size: 48px;
line-height: 58px;
font-weight: 900;
letter-spacing: -0.045em;
}
.privacy-hero p {
margin: 0;
max-width: 800px;
color: #475569;
font-size: 17px;
line-height: 29px;
}
.privacy-hero small {
display: inline-block;
margin-top: 20px;
color: #64748b;
font-size: 14px;
line-height: 22px;
}
/* =========================
CONTEÚDO
========================= */
.privacy-container {
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 20px 22px 72px 22px;
}
.privacy-card {
position: relative;
overflow: hidden;
padding: 30px 34px;
margin-bottom: 22px;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
border: 1px solid rgba(148, 163, 184, 0.22);
}
.privacy-card::before {
content: "";
position: absolute;
width: 180px;
height: 180px;
right: -90px;
top: -90px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.06);
}
.privacy-card h2 {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #0f172a;
font-size: 22px;
line-height: 30px;
font-weight: 850;
letter-spacing: -0.025em;
}
.privacy-card p {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #475569;
font-size: 15px;
line-height: 26px;
}
.privacy-card p:last-child {
margin-bottom: 0;
}
.privacy-card ul {
position: relative;
z-index: 1;
margin: 8px 0 18px 0;
padding-left: 22px;
color: #475569;
}
.privacy-card li {
margin-bottom: 8px;
font-size: 15px;
line-height: 25px;
}
.contact-box {
position: relative;
z-index: 1;
margin-top: 16px;
padding: 18px 20px;
border-radius: 16px;
background: #f1f5ff;
border: 1px solid #dbe6ff;
}
.contact-box p {
margin-bottom: 6px;
}
.contact-box strong {
color: #071b63;
}
/* =========================
RESPONSIVO
========================= */
@media (max-width: 680px) {
.privacy-hero {
padding: 42px 14px 34px 14px;
}
.privacy-hero h1 {
font-size: 34px;
line-height: 42px;
}
.privacy-hero p {
font-size: 15px;
line-height: 25px;
}
.privacy-container {
padding: 20px 14px 48px 14px;
}
.privacy-card {
padding: 24px 22px;
border-radius: 18px;
}
.privacy-card h2 {
font-size: 20px;
line-height: 28px;
}
.privacy-card p,
.privacy-card li {
font-size: 15px;
line-height: 25px;
}
}
.page-actions {
display: flex;
justify-content: center;
margin-top: 12px;
}
.btn-back-home {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0 22px;
border-radius: 12px;
background: linear-gradient(135deg, #071b63, #12358f);
color: #ffffff;
font-size: 14px;
font-weight: 800;
text-decoration: none;
box-shadow: 0 12px 24px rgba(7, 27, 99, 0.20);
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn-back-home:hover {
transform: translateY(-1px);
box-shadow: 0 16px 30px rgba(7, 27, 99, 0.26);
text-decoration: none;
color: #ffffff;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { PoliticaPrivacidadeComponent } from './politica-privacidade.component';
describe('PoliticaPrivacidadeComponent', () => {
let component: PoliticaPrivacidadeComponent;
let fixture: ComponentFixture<PoliticaPrivacidadeComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ PoliticaPrivacidadeComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(PoliticaPrivacidadeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,20 @@
import { Component, OnInit } from '@angular/core';
import { environment } from 'src/environments/environment';
@Component({
selector: 'app-politica-privacidade',
templateUrl: './politica-privacidade.component.html',
styleUrls: ['./politica-privacidade.component.scss']
})
export class PoliticaPrivacidadeComponent implements OnInit {
emailContato: string = environment.emailContato;
foneContato: string = environment.telefoneContato;
anoAtual: number = new Date().getFullYear();
constructor() { }
ngOnInit() {
}
}

View File

@ -0,0 +1,147 @@
<section class="about-page">
<div class="about-hero">
<div class="about-hero__content">
<span class="about-hero__tag">Zendion, INC.</span>
<h1>Sobre a Zendion, INC.</h1>
<p>
Desenvolvemos sistemas, soluções digitais e ferramentas tecnológicas para
simplificar processos, organizar informações e apoiar empresas e usuários
em suas operações do dia a dia.
</p>
<small>Informações institucionais atualizadas em {{ anoAtual }}</small>
</div>
</div>
<div class="about-container">
<article class="about-card about-card--featured">
<h2>Quem somos</h2>
<p>
A Zendion, INC. é uma empresa de tecnologia dedicada ao desenvolvimento de
sistemas, aplicações e soluções digitais. Nosso objetivo é criar ferramentas
úteis, acessíveis e bem estruturadas, que ajudem usuários e empresas a
executar tarefas com mais organização, clareza e segurança.
</p>
<p>
Este site reúne informações institucionais, notícias, sistemas disponibilizados
pela Zendion, INC. e uma área do cliente para acesso a recursos relacionados
aos nossos produtos e serviços.
</p>
</article>
<section class="about-grid">
<article class="about-card">
<span class="about-card__label">Propósito</span>
<h2>Por que existimos</h2>
<p>
Criamos tecnologia para reduzir complexidade. Buscamos transformar processos
que seriam manuais, confusos ou repetitivos em soluções digitais mais simples,
confiáveis e fáceis de utilizar.
</p>
</article>
<article class="about-card">
<span class="about-card__label">Sistemas</span>
<h2>O que oferecemos</h2>
<p>
Disponibilizamos sistemas e ferramentas digitais desenvolvidos pela Zendion,
INC. Alguns recursos podem ser acessados gratuitamente mediante cadastro,
permitindo que usuários conheçam, baixem ou utilizem as soluções disponíveis.
</p>
</article>
</section>
<article class="about-card">
<h2>Como o site funciona</h2>
<p>
Os usuários podem navegar pelo site, conhecer os sistemas disponíveis e, quando
necessário, criar uma conta para acessar a área do cliente, baixar sistemas ou
utilizar recursos específicos.
</p>
<p>
O cadastro é realizado voluntariamente pelo próprio usuário. Após o cadastro, o
sistema pode enviar um e-mail de ativação de conta para confirmar o acesso. Caso
o usuário esqueça sua senha, também pode solicitar um e-mail de redefinição.
</p>
</article>
<article class="about-card">
<h2>Comunicações por e-mail</h2>
<p>
A Zendion, INC. utiliza e-mails apenas para comunicações transacionais
relacionadas à conta do usuário e ao funcionamento dos sistemas.
</p>
<ul>
<li>ativação de conta após cadastro realizado pelo próprio usuário;</li>
<li>redefinição de senha quando solicitada pelo usuário.</li>
</ul>
<p>
Não enviamos campanhas de marketing, newsletters promocionais, mensagens em
massa não solicitadas, listas compradas ou listas alugadas por meio deste fluxo.
As mensagens são enviadas somente a partir de ações realizadas pelo usuário.
</p>
</article>
<section class="about-values">
<article class="about-value-card">
<div class="about-value-card__icon">01</div>
<h3>Clareza</h3>
<p>
Desenvolvemos sistemas com foco em uso prático, organização visual e fluxo
compreensível.
</p>
</article>
<article class="about-value-card">
<div class="about-value-card__icon">02</div>
<h3>Segurança</h3>
<p>
Valorizamos boas práticas de acesso, proteção de contas e uso responsável dos
dados.
</p>
</article>
<article class="about-value-card">
<div class="about-value-card__icon">03</div>
<h3>Evolução</h3>
<p>
Nossos sistemas podem receber melhorias contínuas para atender melhor às
necessidades dos usuários.
</p>
</article>
</section>
<article class="about-card">
<h2>Uso responsável</h2>
<p>
Trabalhamos para manter um ambiente digital confiável. Por isso, recursos como
cadastro, ativação de conta e redefinição de senha podem contar com medidas de
proteção contra abuso, automações indevidas, tentativas de fraude ou uso
incompatível com a finalidade dos sistemas.
</p>
<p>
O uso dos sistemas deve respeitar os Termos de Uso, a Política de Privacidade e
as regras aplicáveis a cada solução disponibilizada.
</p>
</article>
<article class="about-card">
<h2>Contato</h2>
<p>
Para dúvidas, suporte, informações institucionais ou assuntos relacionados aos
sistemas disponibilizados, utilize os canais oficiais da Zendion, INC.
</p>
<div class="contact-box">
<p><strong>E-mail:</strong> {{ emailContato }}</p>
<p><strong>Telefone:</strong> {{ foneContato }}</p>
<p><strong>Empresa:</strong> Zendion, INC.</p>
</div>
</article>
</div>
<div class="page-actions">
<a routerLink="/" class="btn-back-home">Voltar para a página inicial</a>
</div>
</section>

View File

@ -0,0 +1,351 @@
.about-page {
min-height: 100vh;
background:
radial-gradient(circle at top left, rgba(7, 27, 99, 0.18), transparent 30%),
linear-gradient(135deg, #f4f6fb 0%, #eef3ff 45%, #ffffff 100%);
color: #0f172a;
}
/* =========================
HERO SOBRE
========================= */
.about-hero {
position: relative;
overflow: hidden;
padding: 64px 22px 52px 22px;
}
.about-hero::after {
content: "";
position: absolute;
width: 420px;
height: 420px;
right: -140px;
top: -140px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.16);
filter: blur(8px);
}
.about-hero__content {
position: relative;
z-index: 1;
width: 100%;
max-width: 1180px;
margin: 0 auto;
}
.about-hero__tag {
display: inline-block;
margin-bottom: 12px;
color: #071b63;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.about-hero h1 {
margin: 0 0 18px 0;
max-width: 760px;
color: #0f172a;
font-size: 48px;
line-height: 58px;
font-weight: 900;
letter-spacing: -0.045em;
}
.about-hero p {
margin: 0;
max-width: 820px;
color: #475569;
font-size: 17px;
line-height: 29px;
}
.about-hero small {
display: inline-block;
margin-top: 20px;
color: #64748b;
font-size: 14px;
line-height: 22px;
}
/* =========================
CONTEÚDO
========================= */
.about-container {
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 20px 22px 72px 22px;
}
.about-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
margin-bottom: 22px;
}
.about-card {
position: relative;
overflow: hidden;
padding: 30px 34px;
margin-bottom: 22px;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
border: 1px solid rgba(148, 163, 184, 0.22);
}
.about-card::before {
content: "";
position: absolute;
width: 180px;
height: 180px;
right: -90px;
top: -90px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.06);
}
.about-card--featured {
padding: 36px 40px;
border-color: rgba(7, 27, 99, 0.18);
}
.about-card__label {
position: relative;
z-index: 1;
display: inline-block;
margin-bottom: 12px;
padding: 7px 11px;
border-radius: 999px;
background: #f1f5ff;
color: #071b63;
font-size: 12px;
line-height: 16px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.about-card h2 {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #0f172a;
font-size: 22px;
line-height: 30px;
font-weight: 850;
letter-spacing: -0.025em;
}
.about-card p {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #475569;
font-size: 15px;
line-height: 26px;
}
.about-card p:last-child {
margin-bottom: 0;
}
.about-card ul {
position: relative;
z-index: 1;
margin: 8px 0 18px 0;
padding-left: 22px;
color: #475569;
}
.about-card li {
margin-bottom: 8px;
font-size: 15px;
line-height: 25px;
}
/* =========================
VALORES
========================= */
.about-values {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 22px;
margin-bottom: 22px;
}
.about-value-card {
position: relative;
overflow: hidden;
min-height: 220px;
padding: 28px;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
border: 1px solid rgba(148, 163, 184, 0.22);
}
.about-value-card::before {
content: "";
position: absolute;
width: 160px;
height: 160px;
right: -80px;
top: -80px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.06);
}
.about-value-card__icon {
position: relative;
z-index: 1;
width: 54px;
height: 54px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 18px;
border-radius: 16px;
background: #f1f5ff;
border: 1px solid #dbe6ff;
color: #071b63;
font-size: 15px;
font-weight: 900;
}
.about-value-card h3 {
position: relative;
z-index: 1;
margin: 0 0 12px 0;
color: #0f172a;
font-size: 21px;
line-height: 28px;
font-weight: 850;
}
.about-value-card p {
position: relative;
z-index: 1;
margin: 0;
color: #64748b;
font-size: 14px;
line-height: 23px;
}
/* =========================
CONTATO
========================= */
.contact-box {
position: relative;
z-index: 1;
margin-top: 16px;
padding: 18px 20px;
border-radius: 16px;
background: #f1f5ff;
border: 1px solid #dbe6ff;
}
.contact-box p {
margin-bottom: 6px;
}
.contact-box strong {
color: #071b63;
}
/* =========================
RESPONSIVO
========================= */
@media (max-width: 980px) {
.about-grid,
.about-values {
grid-template-columns: 1fr;
}
}
@media (max-width: 680px) {
.about-hero {
padding: 42px 14px 34px 14px;
}
.about-hero h1 {
font-size: 34px;
line-height: 42px;
}
.about-hero p {
font-size: 15px;
line-height: 25px;
}
.about-container {
padding: 20px 14px 48px 14px;
}
.about-card,
.about-card--featured {
padding: 24px 22px;
border-radius: 18px;
}
.about-card h2 {
font-size: 20px;
line-height: 28px;
}
.about-card p,
.about-card li {
font-size: 15px;
line-height: 25px;
}
.about-value-card {
min-height: auto;
padding: 24px 22px;
border-radius: 18px;
}
.about-value-card h3 {
font-size: 20px;
line-height: 28px;
}
}
.page-actions {
display: flex;
justify-content: center;
margin-top: 12px;
}
.btn-back-home {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0 22px;
border-radius: 12px;
background: linear-gradient(135deg, #071b63, #12358f);
color: #ffffff;
font-size: 14px;
font-weight: 800;
text-decoration: none;
box-shadow: 0 12px 24px rgba(7, 27, 99, 0.20);
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn-back-home:hover {
transform: translateY(-1px);
box-shadow: 0 16px 30px rgba(7, 27, 99, 0.26);
text-decoration: none;
color: #ffffff;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SobreComponent } from './sobre.component';
describe('SobreComponent', () => {
let component: SobreComponent;
let fixture: ComponentFixture<SobreComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ SobreComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SobreComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,20 @@
import { Component, OnInit } from '@angular/core';
import { environment } from 'src/environments/environment';
@Component({
selector: 'app-sobre',
templateUrl: './sobre.component.html',
styleUrls: ['./sobre.component.scss']
})
export class SobreComponent implements OnInit {
emailContato: string = environment.emailContato;
foneContato: string = environment.telefoneContato;
anoAtual: number = new Date().getFullYear();
constructor() { }
ngOnInit() {
}
}

View File

@ -0,0 +1,197 @@
<section class="terms-page">
<div class="terms-hero">
<div class="terms-hero__content">
<span class="terms-hero__tag">Zendion, INC.</span>
<h1>Termos de Uso</h1>
<p>
Estes termos explicam as condições de acesso e utilização dos sistemas,
serviços digitais e área do cliente disponibilizados pela Zendion, INC.
</p>
<small>Última atualização: {{ anoAtual }}</small>
</div>
</div>
<div class="terms-container">
<article class="terms-card">
<h2>1. Aceitação dos termos</h2>
<p>
Ao acessar este site, criar uma conta, baixar sistemas, utilizar a área do cliente
ou interagir com qualquer serviço disponibilizado pela Zendion, INC., você declara
que leu, compreendeu e concorda com estes Termos de Uso.
</p>
<p>
Caso não concorde com algum item destes termos, recomendamos que não utilize os
serviços disponibilizados neste site.
</p>
</article>
<article class="terms-card">
<h2>2. Sobre a Zendion, INC.</h2>
<p>
A Zendion, INC. desenvolve soluções tecnológicas, sistemas e ferramentas digitais
voltadas para simplificar processos, conectar informações e apoiar operações de
empresas e usuários.
</p>
<p>
Este site pode disponibilizar sistemas, arquivos, informações institucionais,
notícias, área do cliente e recursos relacionados aos produtos e serviços da
Zendion, INC.
</p>
</article>
<article class="terms-card">
<h2>3. Cadastro de usuário</h2>
<p>
Alguns sistemas ou recursos podem exigir a criação de uma conta. O cadastro é
realizado voluntariamente pelo próprio usuário, mediante o preenchimento das
informações solicitadas.
</p>
<p>
O usuário é responsável por fornecer informações verdadeiras, manter seus dados
atualizados e proteger suas credenciais de acesso.
</p>
<p>
A Zendion, INC. poderá bloquear, suspender ou remover contas em caso de uso
indevido, tentativa de fraude, abuso de recursos, violação destes termos ou
comportamento que possa comprometer a segurança dos sistemas.
</p>
</article>
<article class="terms-card">
<h2>4. Uso dos sistemas disponibilizados</h2>
<p>
Os sistemas disponibilizados neste site podem ser oferecidos gratuitamente ou em
condições específicas informadas em suas respectivas páginas.
</p>
<p>
O usuário concorda em utilizar os sistemas de forma lícita, ética e compatível
com sua finalidade. É proibido utilizar os serviços para atividades ilegais,
envio de conteúdo malicioso, tentativa de invasão, engenharia reversa não
autorizada, automações abusivas ou qualquer ação que prejudique a Zendion, INC.,
outros usuários ou terceiros.
</p>
</article>
<article class="terms-card">
<h2>5. Comunicações por e-mail</h2>
<p>
A Zendion, INC. utiliza e-mails apenas para comunicações transacionais relacionadas
ao uso da conta e dos sistemas.
</p>
<p>
Atualmente, os principais e-mails enviados são:
</p>
<ul>
<li>ativação de conta após o cadastro realizado pelo próprio usuário;</li>
<li>redefinição de senha quando solicitada pelo usuário.</li>
</ul>
<p>
A Zendion, INC. não envia campanhas de marketing, newsletters promocionais,
mensagens em massa não solicitadas, listas compradas, listas alugadas ou qualquer
comunicação comercial não autorizada por meio deste fluxo transacional.
</p>
<p>
Os e-mails são enviados somente a partir de ações realizadas pelo usuário, como
criar uma conta ou solicitar recuperação de senha.
</p>
</article>
<article class="terms-card">
<h2>6. Segurança da conta</h2>
<p>
O usuário é responsável por manter a confidencialidade de sua senha e por todas
as atividades realizadas em sua conta.
</p>
<p>
Em caso de suspeita de acesso indevido, perda de credenciais ou uso não autorizado,
o usuário deve alterar sua senha imediatamente e entrar em contato com a Zendion,
INC. pelos canais oficiais.
</p>
</article>
<article class="terms-card">
<h2>7. Disponibilidade dos serviços</h2>
<p>
A Zendion, INC. busca manter seus sistemas disponíveis e funcionando corretamente.
No entanto, os serviços podem passar por interrupções temporárias devido a
manutenção, atualizações, falhas técnicas, indisponibilidade de terceiros ou
eventos fora do controle da empresa.
</p>
<p>
Sempre que possível, melhorias e manutenções serão realizadas com o menor impacto
possível aos usuários.
</p>
</article>
<article class="terms-card">
<h2>8. Propriedade intelectual</h2>
<p>
Marcas, nomes, logotipos, sistemas, códigos, textos, imagens, interfaces,
documentos e demais conteúdos disponibilizados pela Zendion, INC. pertencem à
empresa ou aos respectivos titulares de direito.
</p>
<p>
O acesso ao site ou aos sistemas não concede ao usuário qualquer direito de
propriedade sobre os conteúdos, tecnologias ou materiais disponibilizados.
</p>
</article>
<article class="terms-card">
<h2>9. Limitação de responsabilidade</h2>
<p>
A Zendion, INC. não se responsabiliza por danos decorrentes de uso indevido dos
sistemas, informações incorretas fornecidas pelo usuário, falhas de conexão,
indisponibilidade de serviços de terceiros ou ações realizadas em desacordo com
estes termos.
</p>
<p>
O usuário deve utilizar os sistemas com responsabilidade e verificar se eles
atendem às suas necessidades antes de qualquer uso operacional relevante.
</p>
</article>
<article class="terms-card">
<h2>10. Privacidade e dados pessoais</h2>
<p>
O tratamento de dados pessoais realizado pela Zendion, INC. é descrito na Política
de Privacidade, que informa quais dados podem ser coletados, para quais finalidades
são utilizados e como o usuário pode entrar em contato sobre o tema.
</p>
<p>
Recomendamos a leitura da Política de Privacidade antes da utilização dos serviços.
</p>
</article>
<article class="terms-card">
<h2>11. Alterações destes termos</h2>
<p>
A Zendion, INC. poderá atualizar estes Termos de Uso periodicamente para refletir
mudanças nos serviços, melhorias de segurança, exigências legais ou ajustes
operacionais.
</p>
<p>
A versão mais recente estará sempre disponível nesta página.
</p>
</article>
<article class="terms-card">
<h2>12. Contato</h2>
<p>
Em caso de dúvidas sobre estes Termos de Uso, entre em contato pelos canais
oficiais:
</p>
<div class="contact-box">
<p><strong>E-mail:</strong> {{ emailContato }}</p>
<p><strong>Telefone:</strong> {{ foneContato }}</p>
<p><strong>Empresa:</strong> Zendion, INC.</p>
</div>
</article>
</div>
<div class="page-actions">
<a routerLink="/" class="btn-back-home">Voltar para a página inicial</a>
</div>
</section>

View File

@ -0,0 +1,231 @@
.terms-page {
min-height: 100vh;
background:
radial-gradient(circle at top left, rgba(7, 27, 99, 0.18), transparent 30%),
linear-gradient(135deg, #f4f6fb 0%, #eef3ff 45%, #ffffff 100%);
color: #0f172a;
}
/* =========================
HERO TERMOS
========================= */
.terms-hero {
position: relative;
overflow: hidden;
padding: 64px 22px 52px 22px;
}
.terms-hero::after {
content: "";
position: absolute;
width: 420px;
height: 420px;
right: -140px;
top: -140px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.16);
filter: blur(8px);
}
.terms-hero__content {
position: relative;
z-index: 1;
width: 100%;
max-width: 1180px;
margin: 0 auto;
}
.terms-hero__tag {
display: inline-block;
margin-bottom: 12px;
color: #071b63;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.terms-hero h1 {
margin: 0 0 18px 0;
max-width: 720px;
color: #0f172a;
font-size: 48px;
line-height: 58px;
font-weight: 900;
letter-spacing: -0.045em;
}
.terms-hero p {
margin: 0;
max-width: 760px;
color: #475569;
font-size: 17px;
line-height: 29px;
}
.terms-hero small {
display: inline-block;
margin-top: 20px;
color: #64748b;
font-size: 14px;
line-height: 22px;
}
/* =========================
CONTEÚDO
========================= */
.terms-container {
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 20px 22px 72px 22px;
}
.terms-card {
position: relative;
overflow: hidden;
padding: 30px 34px;
margin-bottom: 22px;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
border: 1px solid rgba(148, 163, 184, 0.22);
}
.terms-card::before {
content: "";
position: absolute;
width: 180px;
height: 180px;
right: -90px;
top: -90px;
border-radius: 999px;
background: rgba(7, 27, 99, 0.06);
}
.terms-card h2 {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #0f172a;
font-size: 22px;
line-height: 30px;
font-weight: 850;
letter-spacing: -0.025em;
}
.terms-card p {
position: relative;
z-index: 1;
margin: 0 0 14px 0;
color: #475569;
font-size: 15px;
line-height: 26px;
}
.terms-card p:last-child {
margin-bottom: 0;
}
.terms-card ul {
position: relative;
z-index: 1;
margin: 8px 0 18px 0;
padding-left: 22px;
color: #475569;
}
.terms-card li {
margin-bottom: 8px;
font-size: 15px;
line-height: 25px;
}
.contact-box {
position: relative;
z-index: 1;
margin-top: 16px;
padding: 18px 20px;
border-radius: 16px;
background: #f1f5ff;
border: 1px solid #dbe6ff;
}
.contact-box p {
margin-bottom: 6px;
}
.contact-box strong {
color: #071b63;
}
/* =========================
RESPONSIVO
========================= */
@media (max-width: 680px) {
.terms-hero {
padding: 42px 14px 34px 14px;
}
.terms-hero h1 {
font-size: 34px;
line-height: 42px;
}
.terms-hero p {
font-size: 15px;
line-height: 25px;
}
.terms-container {
padding: 20px 14px 48px 14px;
}
.terms-card {
padding: 24px 22px;
border-radius: 18px;
}
.terms-card h2 {
font-size: 20px;
line-height: 28px;
}
.terms-card p,
.terms-card li {
font-size: 15px;
line-height: 25px;
}
}
.page-actions {
display: flex;
justify-content: center;
margin-top: 12px;
}
.btn-back-home {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0 22px;
border-radius: 12px;
background: linear-gradient(135deg, #071b63, #12358f);
color: #ffffff;
font-size: 14px;
font-weight: 800;
text-decoration: none;
box-shadow: 0 12px 24px rgba(7, 27, 99, 0.20);
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn-back-home:hover {
transform: translateY(-1px);
box-shadow: 0 16px 30px rgba(7, 27, 99, 0.26);
text-decoration: none;
color: #ffffff;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TermosUsoComponent } from './termos-uso.component';
describe('TermosUsoComponent', () => {
let component: TermosUsoComponent;
let fixture: ComponentFixture<TermosUsoComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TermosUsoComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TermosUsoComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,20 @@
import { Component, OnInit } from '@angular/core';
import { environment } from 'src/environments/environment';
@Component({
selector: 'app-termos-uso',
templateUrl: './termos-uso.component.html',
styleUrls: ['./termos-uso.component.scss']
})
export class TermosUsoComponent implements OnInit {
emailContato: string = environment.emailContato;
foneContato: string = environment.telefoneContato;
anoAtual: number = new Date().getFullYear();
constructor() { }
ngOnInit() {
}
}