/* ═══════════════════════════════════════════════════════════════════════
   Páginas de ferramenta da Trilha.
   Mesmo vocabulário visual da capa (navy, pílulas, Manrope), sem a montanha:
   aqui o fundo é só o degradê da marca e um campo de partículas leve.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --navy-deep: #070c16;
  --navy: #0b1220;
  --primary: #1463ff;
  --primary-soft: #6ea0ff;
  --foreground: #eef2f8;
  --muted: #aab8cc;
  --subtle: #8b99ae;
  --gutter: 16px;
  /* Tokens do app (globals.css da Trilha) — os mockups usam estes. */
  --app-bg: #eceff5;
  --app-card: #ffffff;
  --app-fg: #101828;
  --app-muted: #475467;
  --app-subtle: #98a2b3;
  --app-border: #eaecf0;
  --app-primary: #1463ff;
  --app-primary-light: #eef4ff;
  --app-success: #12b76a;
  --app-success-light: #ecfdf3;
  --app-warning: #f79009;
  --app-warning-light: #fffaeb;
  --app-destructive: #f04438;
  --app-destructive-light: #fef3f2;
  --app-automation: #7a5af8;
  --app-automation-light: #f4f3ff;
}
* { box-sizing: border-box; }
html {
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(20,99,255,.17), transparent 58%),
    radial-gradient(90% 70% at 6% 88%, rgba(122,90,248,.09), transparent 60%),
    var(--navy-deep);
  background-attachment: fixed;
  scroll-behavior: smooth;
}
body {
  margin: 0; background: transparent; color: var(--foreground);
  font-family: Manrope, ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
#poeira { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
#poeira canvas { display: block; width: 100%; height: 100%; }
.wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }

/* ── Topo (igual ao da home) ───────────────────────────────────────────── */
header {
  position: fixed; inset: 0 0 auto 0; z-index: 30; padding: 22px 0;
  border-bottom: 1px solid transparent;
  transition: padding .3s ease, background-color .3s ease, border-color .3s ease;
}
header .wrap { display: flex; align-items: center; gap: 28px; padding: 0 max(var(--gutter), 28px); }
header.rolado {
  padding: 14px 0; background: rgba(7,12,22,.88); border-bottom-color: rgba(255,255,255,.09);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.marca { display: flex; align-items: center; color: #fff; flex: none; text-decoration: none; }
.logo-site { height: 30px; width: 102px; fill: currentColor; }
header nav {
  display: flex; align-items: center; gap: 2px; padding: 4px; border-radius: 999px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.11);
}
header nav a {
  color: #ccd8e8; text-decoration: none; font-size: 14px; font-weight: 600; white-space: nowrap;
  padding: 9px 16px; border-radius: 999px; transition: color .2s ease, background-color .2s ease;
}
header nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
header nav a.on { color: #fff; font-weight: 700; background: var(--primary); }
.fim { margin-left: auto; display: flex; align-items: center; gap: 8px; }
/* "Entrar" é ação, não link de rodapé: quem já é cliente chega aqui para
   fazer login. Botão contornado, ao lado do azul de conversão. */
.entrar {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px;
  border-radius: 999px; color: #e6edf8; text-decoration: none; font-size: 14px; font-weight: 700;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18);
  transition: background-color .2s ease, border-color .2s ease;
}
.entrar:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
.entrar svg { width: 16px; height: 16px; }
@media (max-width: 1100px) { header nav { display: none; } }
@media (max-width: 560px) { .entrar { display: none; } }

/* ── Botões ────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 22px;
  border-radius: 999px; background: var(--primary); color: #fff; font-weight: 700; font-size: 14.5px;
  text-decoration: none; border: 0; cursor: pointer; box-shadow: 0 10px 30px -12px rgba(20,99,255,.9);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn:hover { background: #2f76ff; box-shadow: 0 16px 36px -14px rgba(20,99,255,1); }
.btn.ghost { background: rgba(255,255,255,.06); box-shadow: none; border: 1px solid rgba(255,255,255,.14); }
.btn.ghost:hover { background: rgba(255,255,255,.11); }
.btn.peq { height: 44px; padding: 0 22px; font-size: 14px; }
.btn.grande { height: 54px; padding: 0 28px; font-size: 15.5px; font-weight: 750; }
.btn .seta { width: 15px; height: 15px; flex: none; transition: transform .25s ease; }
.btn:hover .seta { transform: translateX(3px); }

/* ── Tipografia e blocos ───────────────────────────────────────────────── */
h1 { margin: 0; font-size: clamp(36px, 4.1vw, 54px); line-height: 1.04; font-weight: 400; letter-spacing: -.042em; }
h1 b { font-weight: 800; }
h2 { margin: 0; font-size: clamp(26px, 2.7vw, 38px); line-height: 1.1; font-weight: 400; letter-spacing: -.035em; }
h2 b { font-weight: 800; }
h3 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
p { margin: 0; }
.lead { font-size: clamp(15.5px, 1.35vw, 18px); line-height: 1.62; color: var(--sec-suave, #c2cede); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 9px; font-size: 11.5px; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase; color: var(--sec-realce, #93b8ff);
}
.eyebrow::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .75; }

section { position: relative; z-index: 10; }
/* Cada faixa carrega a própria paleta. As claras alternam com as escuras para
   a página respirar e para o olho saber que mudou de assunto. */
.faixa {
  padding: clamp(56px, 7vw, 92px) 0;
  --sec-texto: var(--foreground);
  --sec-suave: #a9b7cb;
  --sec-fraco: #8b99ae;
  --sec-linha: rgba(255,255,255,.09);
  --sec-cartao: rgba(255,255,255,.04);
  --sec-borda: rgba(255,255,255,.09);
  --sec-realce: #93b8ff;
  --sec-codigo: rgba(255,255,255,.07);
  color: var(--sec-texto);
}
.faixa + .faixa { border-top: 1px solid rgba(255,255,255,.06); }
.faixa.claro {
  background: #eef1f7;
  border-top-color: #dde3ed;
  --sec-texto: #101828;
  --sec-suave: #475467;
  --sec-fraco: #667085;
  --sec-linha: #dde3ed;
  --sec-cartao: #ffffff;
  --sec-borda: #e2e7f0;
  --sec-realce: #1463ff;
  --sec-codigo: #eef2f8;
}
.titulo-faixa { max-width: 720px; margin-bottom: 38px; }
.titulo-faixa h2 { margin-top: 12px; }
.titulo-faixa .lead { margin-top: 14px; }

/* ── Capa da ferramenta ────────────────────────────────────────────────── */
.capa-f { padding: clamp(128px, 15vw, 172px) 0 clamp(50px, 6vw, 74px); }
.capa-f .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 620px); gap: clamp(28px, 3.4vw, 54px); align-items: center; }
.capa-f h1 { margin-top: 20px; }
.capa-f .lead { margin-top: 20px; max-width: 540px; }
.capa-f .acoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.trilha-migalha { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--subtle); margin-bottom: 22px; }
.trilha-migalha a { color: #a9b7cb; text-decoration: none; }
.trilha-migalha a:hover { color: #fff; }
@media (max-width: 1080px) { .capa-f .wrap { grid-template-columns: minmax(0, 1fr); } }

/* Moldura do print: a mesma 3:2 da home */
.palco-mock:has(.app) {
  aspect-ratio: 3 / 2; overflow: hidden; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 46px 90px -44px rgba(0,0,0,.96), 0 0 0 1px rgba(20,99,255,.07), 0 0 100px -46px rgba(20,99,255,.55);
}

/* ── Números em destaque ───────────────────────────────────────────────── */
.fatos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 34px; max-width: 560px; }
.fato { padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); }
.fato b { display: block; font-size: 23px; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.fato span { display: block; font-size: 13px; line-height: 1.45; color: #a9b7cb; margin-top: 5px; }

/* ── Problema (antes/depois) ───────────────────────────────────────────── */
.dores { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 16px; }
.dor {
  padding: 22px; border-radius: 20px; background: rgba(240,68,56,.05); border: 1px solid rgba(240,68,56,.18);
}
.dor .tag { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ffa39a; }
.dor p { margin-top: 10px; font-size: 14.5px; line-height: 1.55; color: var(--sec-suave); }
.faixa.claro .dor { background: #fff5f4; border-color: #fbd5d1; }
.faixa.claro .dor .tag { color: #b42318; }
.viradas { display: grid; gap: 12px; margin-top: 26px; }
.virada { display: flex; gap: 13px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; background: rgba(18,183,106,.06); border: 1px solid rgba(18,183,106,.2); }
.virada svg { width: 17px; height: 17px; flex: none; margin-top: 3px; color: #4ade80; }
.virada p { font-size: 14.5px; line-height: 1.55; color: var(--sec-suave); }
.faixa.claro .virada { background: #f2fdf7; border-color: #bbf0d3; }
.faixa.claro .virada svg { color: #12b76a; }
.virada b { color: var(--sec-texto); font-weight: 700; }

/* ── Passos ────────────────────────────────────────────────────────────── */
.passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; counter-reset: passo; }
.passo { position: relative; padding: 24px 22px 22px; border-radius: 20px; background: var(--sec-cartao); border: 1px solid var(--sec-borda); }
.passo::before {
  counter-increment: passo; content: counter(passo, decimal-leading-zero);
  display: block; font-size: 12px; font-weight: 800; letter-spacing: .1em; color: var(--sec-realce); margin-bottom: 12px;
}
.passo h3 { font-size: 16.5px; }
.passo p { margin-top: 9px; font-size: 14px; line-height: 1.58; color: var(--sec-suave); }

/* ── Diferenciais ──────────────────────────────────────────────────────── */
.grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 16px; }
.carta {
  padding: 24px; border-radius: 22px; background: var(--sec-cartao);
  border: 1px solid var(--sec-borda); transition: border-color .25s ease, box-shadow .25s ease;
}
.carta:hover { border-color: rgba(110,160,255,.45); }
.faixa.claro .carta { box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.faixa.claro .carta:hover { box-shadow: 0 12px 28px -18px rgba(16,24,40,.35); }
.icone { display: block; margin-bottom: 16px; color: var(--sec-realce); }
.icone svg { width: 28px; height: 28px; display: block; }
.carta:hover .icone { color: #a8c8ff; }
.carta p { margin-top: 10px; font-size: 14.3px; line-height: 1.6; color: var(--sec-suave); }
.carta p b { color: var(--sec-texto); font-weight: 700; }
.carta code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px;
  background: var(--sec-codigo); border: 1px solid var(--sec-borda);
  padding: 1px 6px; border-radius: 6px; color: var(--sec-realce);
}

/* ── Ficha técnica ─────────────────────────────────────────────────────── */
.ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)); gap: 0 44px; }
.linha-ficha { display: flex; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--sec-linha); font-size: 14px; }
.linha-ficha dt { flex: none; width: 160px; color: var(--sec-fraco); }
.linha-ficha dd { margin: 0; color: var(--sec-texto); line-height: 1.5; }

/* ── Perguntas ─────────────────────────────────────────────────────────── */
.perguntas { display: grid; gap: 10px; max-width: 900px; }
.pergunta { border-radius: 18px; background: var(--sec-cartao); border: 1px solid var(--sec-borda); overflow: hidden; }
.pergunta summary {
  list-style: none; cursor: pointer; padding: 18px 22px; font-size: 15.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.pergunta summary::-webkit-details-marker { display: none; }
.pergunta summary { color: var(--sec-texto); }
.pergunta summary::after {
  content: ""; width: 10px; height: 10px; flex: none; border-right: 2px solid var(--sec-realce);
  border-bottom: 2px solid var(--sec-realce); transform: rotate(45deg) translateY(-2px); transition: transform .25s ease;
}
.pergunta[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.pergunta p { padding: 0 22px 20px; font-size: 14.3px; line-height: 1.62; color: var(--sec-suave); }

/* ── Outras ferramentas ────────────────────────────────────────────────── */
.outras { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.outra {
  display: block; padding: 18px 20px; border-radius: 18px; text-decoration: none;
  background: var(--sec-cartao); border: 1px solid var(--sec-borda);
  transition: border-color .25s ease, transform .25s ease;
}
.outra:hover { border-color: rgba(110,160,255,.34); transform: translateY(-2px); }
.outra b { display: block; font-size: 15px; font-weight: 700; color: var(--sec-texto); }
.outra span { display: block; font-size: 13px; line-height: 1.45; color: var(--sec-fraco); margin-top: 5px; }

/* ── Chamada final ─────────────────────────────────────────────────────── */
.chamada {
  margin: 0 auto; max-width: 900px; text-align: center; padding: clamp(36px, 5vw, 54px) 28px;
  border-radius: 28px; background: linear-gradient(180deg, rgba(20,99,255,.16), rgba(20,99,255,.05));
  border: 1px solid rgba(110,160,255,.3);
}
.chamada .lead { margin: 14px auto 0; max-width: 560px; }
.chamada .acoes { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 28px; }

.contato {
  margin-top: 40px; text-align: left;
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 18px; align-items: start;
}
.cartao-esc {
  background: rgba(12,19,33,.76); border: 1px solid rgba(255,255,255,.1); border-radius: 26px; padding: 28px;
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: 0 40px 90px -50px rgba(0,0,0,.95);
}
.cartao-esc h3 { margin: 0; font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
.cartao-esc .sub { margin: 6px 0 22px; font-size: 13.5px; color: #a9b7cb; }

.dupla-campo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.campo { display: block; margin-bottom: 14px; }
.campo > span { display: block; font-size: 13px; font-weight: 600; color: #ccd8e8; margin-bottom: 7px; }
.campo > span i { font-style: normal; font-weight: 500; color: #8b99ae; }
.campo input, .campo select, .campo textarea {
  width: 100%; height: 46px; padding: 0 16px; border-radius: 999px; font: inherit; font-size: 14.5px;
  color: var(--foreground); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.15);
  outline: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.campo select {
  appearance: none; cursor: pointer; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab8cc' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center; background-size: 15px;
}
.campo select option { background: #0d1626; color: var(--foreground); }
.campo textarea { height: auto; min-height: 92px; padding: 13px 16px; border-radius: 20px; resize: vertical; line-height: 1.5; }
.campo input::placeholder, .campo textarea::placeholder { color: #75839a; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--primary-soft); box-shadow: 0 0 0 3px rgba(20,99,255,.24); }
.campo.ruim input, .campo.ruim select { border-color: #f97066; }
.erro-msg { display: none; font-style: normal; font-size: 12.5px; color: #ffb4ab; margin-top: 6px; }
.campo.ruim .erro-msg { display: block; }
.form-contato .btn { margin-top: 6px; width: 100%; justify-content: center; }
.lgpd { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: #93a2b8; }
.lgpd a { color: #a9c6ff; }
.feito {
  text-align: center; padding: 26px 8px;
}
.feito .marca-ok {
  width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 999px; display: grid; place-items: center;
  background: rgba(18,183,106,.16); border: 1px solid rgba(18,183,106,.36); color: #4ade80;
}
.feito .marca-ok svg { width: 24px; height: 24px; }
.feito h3 { margin-bottom: 8px; }
.feito p { margin: 0; font-size: 14px; color: #a9b7cb; line-height: 1.55; }

.canais { display: flex; flex-direction: column; gap: 4px; }
.canal {
  display: flex; align-items: center; gap: 14px; padding: 12px 10px; margin: 0 -10px;
  border-radius: 16px; text-decoration: none; color: inherit; transition: background-color .2s ease;
}
a.canal:hover { background: rgba(255,255,255,.05); }
.canal .ic { width: 22px; display: grid; place-items: center; flex: none; color: var(--primary-soft); }
.canal .ic svg { width: 21px; height: 21px; }
a.canal:hover .ic { color: #a8c8ff; }
.canal b { display: block; font-size: 14px; font-weight: 700; }
.canal em { display: block; font-style: normal; font-size: 13px; color: #a9b7cb; margin-top: 1px; }
.aviso-lgpd {
  display: flex; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.09);
  font-size: 12.5px; line-height: 1.5; color: #93a2b8;
}
.aviso-lgpd svg { width: 16px; height: 16px; flex: none; margin-top: 1px; color: #6ea0ff; }
@media (max-width: 900px) {
  .contato { grid-template-columns: minmax(0, 1fr); }
  .dupla-campo { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cartao-esc { padding: 22px; }
}


/* ── Rodapé ──────────────────────────────────────────────────────────── */
/* Superfície FECHADA: o fundo animado para aqui. Rodapé translúcido deixava
   o pico da montanha vazar por trás dos links. */
footer {
  position: relative; z-index: 10; margin-top: 44px; padding: 66px 0 30px;
  background: #070c16; border-top: 1px solid rgba(255,255,255,.1);
}
.pe { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 40px 30px; }
.pe-marca { padding-right: 34px; border-right: 1px solid rgba(255,255,255,.08); }
.pe-marca .logo-site { height: 28px; width: 95px; color: #fff; }
.pe-marca p { margin: 18px 0 0; max-width: 300px; font-size: 13.5px; line-height: 1.6; color: #a3b1c6; }
.selo-pe {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding: 8px 14px; border-radius: 10px;
  font-size: 12px; font-weight: 600; color: #b7c6da; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
}
.selo-pe svg { width: 15px; height: 15px; color: #6ea0ff; }
.pe-col { display: flex; flex-direction: column; gap: 12px; }
.pe-col h4 { margin: 0 0 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #7f8da3; }
.pe-col a, .pe-col span { font-size: 14px; color: #c3d0e2; text-decoration: none; transition: color .2s ease; }
.pe-col a:hover { color: #fff; }
/* Coluna de contato: cada linha com o ícone da casa. */
.pe-col.contato a, .pe-col.contato span { display: flex; align-items: flex-start; gap: 10px; line-height: 1.4; }
.pe-col.contato svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--primary-soft); }
.pe-col.contato span { color: #93a2b8; }
.pe-fim {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
  margin-top: 52px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.09);
  font-size: 13px; color: #8b99ae;
}
.pe-links { display: flex; flex-wrap: wrap; gap: 24px; }
.pe-links a { color: #a3b1c6; text-decoration: none; transition: color .2s ease; }
.pe-links a:hover { color: #fff; }
@media (max-width: 1100px) {
  .pe { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 30px; }
  .pe-marca { grid-column: 1 / -1; padding-right: 0; border-right: 0; padding-bottom: 8px; }
  .pe-marca p { max-width: 460px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rodando * { animation: none !important; }
  .rodando .emp, .rodando .tabela tr.nova { opacity: 1; transform: none; }
  .rodando .col-dia i { height: var(--h); }
  .rodando .origem .tr i { width: var(--w); }
}
  /* ═══════════════════════════════════════════════════════════════════════
     MOCKUPS — reprodução das telas reais da Trilha (tema claro do app).
     Estrutura de todas: faixa navy da navegação + folha clara recortada,
     igual ao PageHeader do design system.
     ═══════════════════════════════════════════════════════════════════════ */
  /* A moldura é a "tela": 3:2, igual em todas as paradas. É um pouco mais
     alta que 16:9 — o suficiente para a lista não terminar no meio de um card,
     sem deixar de ser um print horizontal. O que passa do corte fica
     escondido, é o mesmo que acontece num print de verdade. */
  .palco-mock:has(.app) {
    aspect-ratio: 3 / 2; overflow: hidden; border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 46px 90px -44px rgba(0,0,0,.96), 0 0 0 1px rgba(20,99,255,.07), 0 0 100px -46px rgba(20,99,255,.55);
  }
  .app {
    height: 100%; display: flex; flex-direction: column;
    background: var(--app-bg); color: var(--app-fg);
    font-size: 11px; line-height: 1.35;
  }
  .app > .folha { flex: 1; min-height: 0; overflow: hidden; }
  /* Faixa de navegação (TopNav) */
  .app-nav {
    background: var(--navy); padding: 9px 12px; display: flex; align-items: center; gap: 10px;
  }
  .app-nav .lg { display: flex; align-items: center; color: #fff; }
  .logo-app { height: 15px; width: 51px; fill: currentColor; flex: none; }
  .app-nav .telas { width: 26px; height: 22px; border-radius: 7px; background: rgba(255,255,255,.08); display: grid; place-items: center; }
  .app-nav .telas b { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; }
  .app-nav .telas i { width: 3px; height: 3px; background: #fff; border-radius: 1px; opacity: .8; }
  .app-nav .pilulas { display: flex; gap: 2px; background: #fff; border-radius: 999px; padding: 3px; margin: 0 auto; }
  .app-nav .pilulas span { font-size: 9.5px; font-weight: 600; color: #475467; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
  .app-nav .pilulas span.on { background: var(--app-primary); color: #fff; font-weight: 700; }
  .app-nav .dir { display: flex; align-items: center; gap: 6px; }
  .app-nav .dir i { width: 16px; height: 16px; border-radius: 999px; background: rgba(255,255,255,.1); }
  .app-nav .dir .av { background: linear-gradient(135deg, #1463ff, #7a5af8); }

  /* Faixa escura do PageHeader (com KPIs) */
  .app-hero { background: var(--navy); padding: 12px 14px 20px; }
  /* Faixa fina: usada quando a tela tem muito conteúdo abaixo (Prospecção). */
  .app-hero.compacto { padding: 8px 14px 11px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
  .app-hero.compacto .tt { font-size: 17px; margin-top: 0; }
  .app-hero.compacto .eyebrow-app { width: 100%; }
  .app-hero.compacto .kpi .h { display: none; }
  .app-hero.compacto .kpis.enxuto {
    grid-template-columns: repeat(4, auto); margin: 0 0 0 auto; gap: 5px;
  }
  .app-hero.compacto .kpi { padding: 5px 9px 6px; }
  .app-hero.compacto .kpi .ico { display: none; }
  .app-hero.compacto .kpi .r { font-size: 7px; }
  .app-hero.compacto .kpi .v { font-size: 15px; margin-top: 1px; }
  .app-hero.compacto .kpi .h { display: none; }
  .app-hero.compacto .notch { width: 100%; margin: 5px 0 -7px; }
  .app-hero .sb { font-size: 8.5px; color: #8fa0bb; margin-top: 3px; line-height: 1.4; }
  .app-hero .kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 11px; }
  /* StatCard do design system: rótulo pequeno, número grande e LEVE, dica
     embaixo e o ícone num quadrado macio no canto superior direito. */
  .app-hero .kpi {
    position: relative; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px; padding: 8px 9px 9px;
  }
  .app-hero .kpi .r { font-size: 7.5px; color: #93a4c0; font-weight: 600; }
  .app-hero .kpi .v {
    font-size: 21px; font-weight: 300; letter-spacing: -.035em; color: #fff; margin-top: 3px;
    font-variant-numeric: tabular-nums; line-height: 1;
  }
  .app-hero .kpi .h { font-size: 7px; color: #6b7c99; margin-top: 4px; }
  .app-hero .kpi .ico {
    position: absolute; top: 7px; right: 7px; width: 17px; height: 17px; border-radius: 6px;
    display: grid; place-items: center;
  }
  .app-hero .kpi .ico svg { width: 9px; height: 9px; }
  .app-hero .kpi .ico.az { background: rgba(20,99,255,.18); color: #8ab0ff; }
  .app-hero .kpi .ico.rx { background: rgba(122,90,248,.2); color: #c4b5fd; }
  .app-hero .kpi .ico.vd { background: rgba(18,183,106,.18); color: #6ee7b7; }
  .app-hero .kpi .ico.am { background: rgba(247,144,9,.18); color: #fcd34d; }
  /* Título do PageHeader: grande e leve, como no app. */
  .app-hero .eyebrow-app { font-size: 8px; font-weight: 700; color: #6ea0ff; letter-spacing: .04em; }
  .app-hero .tt { font-size: 24px; font-weight: 300; letter-spacing: -.04em; color: #fff; line-height: 1.05; margin-top: 3px; }
  /* Pílulas encaixadas na aba recortada da folha. */
  .notch { display: inline-flex; gap: 2px; background: rgba(255,255,255,.06); border-radius: 999px; padding: 3px; margin: 9px 0 -4px; }
  .notch span { font-size: 8.5px; font-weight: 700; color: #a9bad3; padding: 3px 9px; border-radius: 999px; }
  .notch span.on { background: var(--app-primary); color: #fff; }
  .notch span .n { opacity: .7; margin-left: 3px; }

  /* Folha clara recortada */
  .folha { background: var(--app-bg); border-radius: 14px 14px 0 0; margin-top: -10px; padding: 8px 12px 14px; position: relative; }
  .abas { display: inline-flex; gap: 2px; background: #fff; border: 1px solid var(--app-border); border-radius: 999px; padding: 3px; margin-bottom: 10px; }
  .abas span { font-size: 9px; font-weight: 700; color: var(--app-muted); padding: 3px 9px; border-radius: 999px; }
  .abas span.on { background: var(--app-primary); color: #fff; }
  .abas span .n { opacity: .75; margin-left: 3px; }

  .cartao { background: var(--app-card); border: 1px solid var(--app-border); border-radius: 13px; }
  .cartao + .cartao { margin-top: 8px; }
  .cab-cartao { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border-bottom: 1px solid var(--app-border); }
  .cab-cartao .ic { width: 20px; height: 20px; border-radius: 7px; background: var(--app-primary-light); display: grid; place-items: center; flex: none; }
  .cab-cartao .ic svg { width: 11px; height: 11px; }
  .cab-cartao b { font-size: 10.5px; font-weight: 800; }
  .cab-cartao .sub { font-size: 8.5px; color: var(--app-muted); font-weight: 500; }
  .cab-cartao .fim { margin-left: auto; display: flex; gap: 5px; align-items: center; }

  .bt { font-size: 9px; font-weight: 700; border-radius: 999px; padding: 4px 10px; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
  .bt.pri { background: var(--app-primary); color: #fff; }
  .bt.sec { background: #fff; color: var(--app-muted); border: 1px solid var(--app-border); }
  .bt.ok { background: var(--app-success); color: #fff; }
  .et { font-size: 8px; font-weight: 700; border-radius: 999px; padding: 2px 7px; display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
  .et.az { background: var(--app-primary-light); color: #1d4ed8; }
  .et.vd { background: var(--app-success-light); color: #027a48; }
  .et.am { background: var(--app-warning-light); color: #b54708; }
  .et.vm { background: var(--app-destructive-light); color: #b42318; }
  .et.rx { background: var(--app-automation-light); color: #5b21b6; }
  .et.ci { background: #f2f4f7; color: #475467; }
  .et .pt { width: 5px; height: 5px; border-radius: 999px; background: currentColor; }
  .busca {
    display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--app-border);
    border-radius: 999px; padding: 5px 11px; font-size: 9px; color: var(--app-subtle); flex: 1; min-width: 0;
  }
  .av-ini {
    width: 21px; height: 21px; border-radius: 7px; display: grid; place-items: center; flex: none;
    font-size: 8px; font-weight: 800; color: #fff;
  }
  /* Nos cartões de empresa o app usa o quadrado macio com as iniciais na cor. */
  .av-ini.macio { background: var(--app-primary-light) !important; color: #1d4ed8; }
  .redondo { border-radius: 999px; }

  /* ── 1. PROSPECÇÃO ───────────────────────────────────────────────────── */
  .prosp { display: grid; grid-template-columns: 1fr 118px; gap: 8px; }
  .lista-emp { min-width: 0; }
  .emp {
    background: #fff; border: 1px solid var(--app-border); border-radius: 12px; padding: 5px 9px;
    display: flex; gap: 7px; margin-bottom: 5px; opacity: 0; transform: translateY(7px);
  }
  .rodando .emp { animation: sobe .45s ease forwards; }
  @keyframes sobe { to { opacity: 1; transform: none; } }
  .emp .nm { font-size: 10px; font-weight: 800; }
  .emp .end { font-size: 8px; color: var(--app-muted); margin-top: 1px; }
  .emp .pills { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 3px; }
  .mapa-real {
    border-radius: 11px; overflow: hidden; position: relative; min-height: 150px;
    background:
      linear-gradient(rgba(20,99,255,.05), rgba(20,99,255,.05)),
      repeating-linear-gradient(0deg, #e6e9ee 0 1px, transparent 1px 15px),
      repeating-linear-gradient(90deg, #e6e9ee 0 1px, transparent 1px 17px),
      #f1f3f7;
    border: 1px solid var(--app-border);
  }
  .mapa-real .via { position: absolute; background: #fff; }
  .mapa-real .agua { position: absolute; inset: auto -10% -18% 40%; height: 54%; background: #d7e6f5; transform: rotate(-9deg); }
  .pin { position: absolute; width: 7px; height: 7px; border-radius: 999px; background: var(--app-primary); box-shadow: 0 0 0 2.5px rgba(20,99,255,.22); opacity: 0; transform: translate(-50%,-50%) scale(.3); }
  .rodando .pin { animation: pin-cai .45s cubic-bezier(.2,1.6,.4,1) forwards; }
  @keyframes pin-cai { to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
  .resumo-busca { background: #fff; border: 1px solid var(--app-border); border-radius: 11px; padding: 7px 8px; margin-top: 6px; }
  .resumo-busca .mini { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 5px; }
  .resumo-busca .mini div { background: var(--app-bg); border-radius: 8px; padding: 5px 6px; }
  .resumo-busca .mini b { display: block; font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
  .resumo-busca .mini span { font-size: 7.5px; color: var(--app-muted); }

  /* ── 2. CONTATOS ─────────────────────────────────────────────────────── */
  .tabela { width: 100%; border-collapse: collapse; }
  .tabela th {
    text-align: left; font-size: 7.5px; font-weight: 700; color: var(--app-subtle);
    text-transform: uppercase; letter-spacing: .06em; padding: 6px 7px; border-bottom: 1px solid var(--app-border);
  }
  .tabela td { padding: 6px 7px; border-bottom: 1px solid var(--app-border); font-size: 9px; vertical-align: middle; }
  .tabela tr:last-child td { border-bottom: 0; }
  .tabela .pessoa { display: flex; align-items: center; gap: 6px; }
  .tabela .pessoa b { font-size: 9.5px; font-weight: 700; display: block; }
  .tabela .pessoa span { font-size: 7.5px; color: var(--app-muted); }
  .tabela tr.nova { opacity: 0; transform: translateY(6px); }
  .rodando .tabela tr.nova { animation: sobe .45s ease forwards; }
  .caixinha { width: 11px; height: 11px; border: 1.4px solid #d0d5dd; border-radius: 3.5px; }
  .troca { position: relative; display: inline-grid; }
  .troca > * { grid-area: 1 / 1; }
  .rodando .troca .antes { animation: some-t .4s ease 2.2s forwards; }
  .rodando .troca .depois { opacity: 0; animation: surge-t .4s ease 2.4s forwards; }
  @keyframes some-t { to { opacity: 0; transform: translateY(-4px); } }
  @keyframes surge-t { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

  /* ── 3. TAREFAS ──────────────────────────────────────────────────────── */
  .grupo-atraso { background: var(--app-destructive-light); border: 1px solid #fecdca; border-radius: 13px; padding: 9px 10px; }
  .grupo-atraso .cabeca { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; }
  .grupo-atraso .cabeca .ic { width: 20px; height: 20px; border-radius: 7px; background: #fee4e2; display: grid; place-items: center; }
  .grupo-atraso .cabeca b { font-size: 10px; font-weight: 800; color: #b42318; }
  .grupo-atraso .cabeca .sub { font-size: 8px; color: #b54708; }
  .grupo-atraso .cabeca .cnt { margin-left: auto; background: var(--app-destructive); color: #fff; font-size: 8.5px; font-weight: 800; border-radius: 999px; padding: 1px 6px; font-variant-numeric: tabular-nums; }
  .tf { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--app-border); border-radius: 10px; padding: 7px 9px; margin-bottom: 5px; }
  .tf .circ { width: 14px; height: 14px; border-radius: 999px; border: 1.5px solid #d0d5dd; flex: none; position: relative; }
  .tf .circ::after { content: ""; position: absolute; left: 3.6px; top: .5px; width: 4px; height: 7.5px; border: solid #fff; border-width: 0 1.6px 1.6px 0; transform: rotate(45deg) scale(0); }
  .tf .tt { font-size: 9.5px; font-weight: 700; }
  .tf .mt { font-size: 7.5px; color: var(--app-muted); margin-top: 2px; display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
  .tf .fim { margin-left: auto; display: flex; gap: 5px; align-items: center; }
  .rodando .tf.feita .circ { background: var(--app-success); border-color: var(--app-success); animation: marca .35s ease forwards; }
  .rodando .tf.feita .circ::after { animation: risca .25s ease .12s forwards; }
  .rodando .tf.feita .tt { animation: apaga .35s ease .18s forwards; }
  @keyframes marca { 45% { transform: scale(1.25); } }
  @keyframes risca { to { transform: rotate(45deg) scale(1); } }
  @keyframes apaga { to { opacity: .45; text-decoration: line-through; } }

  /* ── 4. AUTOMAÇÕES ───────────────────────────────────────────────────── */
  .regra { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-bottom: 1px solid var(--app-border); }
  .regra:last-child { border-bottom: 0; }
  .regra .ic { width: 22px; height: 22px; border-radius: 8px; background: var(--app-automation-light); display: grid; place-items: center; flex: none; }
  .regra .ic svg { width: 12px; height: 12px; }
  .regra .qd { min-width: 0; flex: 1; }
  .regra .rot { font-size: 7px; font-weight: 800; color: var(--app-subtle); letter-spacing: .1em; }
  .regra .txt { font-size: 9.5px; font-weight: 600; color: var(--app-fg); margin-top: 1px; }
  .regra .seta { color: var(--app-subtle); font-size: 8px; font-weight: 700; flex: none; }
  .chave { width: 26px; height: 15px; border-radius: 999px; background: #d0d5dd; position: relative; flex: none; transition: background .3s; }
  .chave::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 999px; background: #fff; transition: transform .3s; box-shadow: 0 1px 2px rgba(16,24,40,.2); }
  .rodando .chave.liga { animation: liga-chave .5s ease var(--d, 0s) forwards; }
  @keyframes liga-chave { to { background: var(--app-primary); } }
  .rodando .chave.liga::after { animation: desliza .5s cubic-bezier(.3,1.4,.5,1) var(--d, 0s) forwards; }
  @keyframes desliza { to { transform: translateX(11px); } }
  .rodando .regra.pulsa { animation: pulso-regra 4s ease infinite; }
  @keyframes pulso-regra { 0%, 100% { background: transparent; } 12%, 24% { background: var(--app-automation-light); } }

  /* ── 5. RELATÓRIOS ───────────────────────────────────────────────────── */
  .rel { display: grid; grid-template-columns: 1fr 132px; gap: 8px; }
  .grafico { display: flex; align-items: flex-end; gap: 3px; height: 96px; padding-top: 6px; }
  .col-dia { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 1px; height: 100%; }
  .col-dia i { display: block; border-radius: 2px; height: 0; }
  .rodando .col-dia i { animation: empilha .8s cubic-bezier(.2,.9,.3,1) forwards; }
  @keyframes empilha { to { height: var(--h); } }
  .col-dia .meta { background: var(--app-primary); }
  .col-dia .goo { background: #f79009; }
  .col-dia .org { background: var(--app-success); }
  .col-dia .out { background: var(--app-automation); }
  .legenda { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; font-size: 8px; color: var(--app-muted); font-weight: 600; }
  .legenda span { display: inline-flex; align-items: center; gap: 4px; }
  .legenda i { width: 6px; height: 6px; border-radius: 999px; }
  .origem { padding: 6px 0; border-bottom: 1px solid var(--app-border); }
  .origem:last-child { border-bottom: 0; }
  .origem .l1 { display: flex; align-items: center; gap: 5px; font-size: 8.5px; font-weight: 700; }
  .origem .l1 .n { margin-left: auto; color: var(--app-muted); font-weight: 700; }
  .origem .tr { height: 3px; border-radius: 999px; background: #eef0f4; margin-top: 4px; overflow: hidden; }
  .origem .tr i { display: block; height: 100%; border-radius: 999px; width: 0; }
  .rodando .origem .tr i { animation: enche .9s cubic-bezier(.2,.9,.3,1) forwards; }
  @keyframes enche { to { width: var(--w); } }
  .origem .l2 { font-size: 7px; color: var(--app-subtle); margin-top: 3px; }

  /* ── 6. CRM / KANBAN ─────────────────────────────────────────────────── */
  /* As colunas do funil vão até o fim da folha, como no app — senão sobra
     uma faixa cinza embaixo quando a moldura fica mais alta. */
  .folha:has(.kb) { display: flex; flex-direction: column; }
  .kb { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; flex: 1; min-height: 0; }
  .kb .cl { background: #f7f8fb; border: 1px solid var(--app-border); border-radius: 12px; padding: 7px 6px; position: relative; }
  .kb .cl .top { display: flex; align-items: center; gap: 4px; }
  .kb .cl .top b { font-size: 7.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #344054; }
  .kb .cl .top .n { font-size: 7.5px; font-weight: 800; border-radius: 999px; padding: 1px 5px; }
  .kb .cl .vl { font-size: 11px; font-weight: 800; margin-top: 3px; font-variant-numeric: tabular-nums; }
  .kb .cl .pc { font-size: 7px; color: var(--app-subtle); }
  .kb .cl .barra-etapa { height: 2.5px; border-radius: 999px; margin: 5px 0 6px; }
  .kb .cd { background: #fff; border: 1px solid var(--app-border); border-radius: 9px; padding: 6px 7px; margin-bottom: 5px; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
  .kb .cd .nm { font-size: 8.5px; font-weight: 700; line-height: 1.25; }
  .kb .cd .vl2 { font-size: 8.5px; font-weight: 800; color: var(--app-primary); margin-top: 2px; font-variant-numeric: tabular-nums; }
  .kb .cd .rod { display: flex; align-items: center; gap: 4px; margin-top: 4px; }
  .kb .cd .rod .dt { font-size: 6.5px; font-weight: 700; background: var(--app-destructive-light); color: #b42318; border-radius: 4px; padding: 1px 4px; }
  .kb .cd .rod .av { width: 12px; height: 12px; border-radius: 999px; margin-left: auto; font-size: 6px; display: grid; place-items: center; color: #fff; font-weight: 800; }
  .kb .cd.voa { position: relative; z-index: 3; }
  .rodando .kb .cd.voa { animation: voa-card 5s cubic-bezier(.55,0,.2,1) infinite; }
  @keyframes voa-card {
    0%, 14% { transform: translate(0,0) rotate(0) scale(1); box-shadow: 0 1px 2px rgba(16,24,40,.05); }
    30%, 34% { transform: translate(calc(100% + 6px), -2px) rotate(1.5deg) scale(1.05); box-shadow: 0 12px 24px -8px rgba(16,24,40,.35); }
    52%, 100% { transform: translate(calc(200% + 12px), 34px) rotate(0) scale(1); box-shadow: 0 1px 2px rgba(16,24,40,.05); }
  }
  .kb .add { font-size: 7.5px; font-weight: 700; color: var(--app-muted); text-align: center; border: 1px dashed #d7dbe3; border-radius: 8px; padding: 4px; }

