:root{
  --navy:#132F4C; --navy2:#1F3A5F; --brand:#2563eb; --ink:#0f172a; --muted:#64748b;
  --line:#e3e8f0; --bg:#f5f7fb; --ok:#0f766e; --err:#d13b3b; --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--brand)}
.hidden{display:none!important}
.btn{display:inline-block;border:0;border-radius:10px;padding:12px 22px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;font-family:inherit}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:#1d4ed8}
.btn-light{background:#fff;color:var(--navy)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-sm{padding:7px 14px;font-size:13px}
.btn[disabled]{opacity:.6;cursor:wait}

/* ------------------------------------------------------- página de vendas */
.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:0 20px 70px}
.nav{max-width:1080px;margin:auto;display:flex;align-items:center;gap:16px;padding:18px 0 50px}
.logo{font-size:24px;font-weight:800;letter-spacing:.3px}
.nav .spacer{flex:1}
.hero-in{max-width:1080px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:40px;line-height:1.15;margin:0 0 16px}
.hero p.lead{font-size:18px;color:#cbd5e1;margin:0 0 26px}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero .preco{font-size:15px;color:#e2e8f0}
.mock{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:0 30px 70px rgba(0,0,0,.35);color:var(--ink)}
.mock .row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.mock .k{border:1px solid var(--line);border-radius:10px;padding:10px}
.mock .k b{display:block;font-size:20px}
.mock .k span{font-size:11px;color:var(--muted)}
.mock .bars{display:flex;align-items:flex-end;gap:8px;height:110px;padding:8px;border:1px solid var(--line);border-radius:10px}
.mock .bars i{flex:1;background:linear-gradient(#60a5fa,var(--brand));border-radius:4px 4px 0 0}
.mock .tag{font-size:11px;color:var(--muted);margin-top:8px;text-align:center}
section.s{max-width:1080px;margin:auto;padding:64px 20px}
section.s h2{font-size:28px;margin:0 0 8px;color:var(--navy)}
section.s .sub{color:var(--muted);margin:0 0 30px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin:6px 0 6px;font-size:17px;color:var(--navy)}
.card p{margin:0;color:var(--muted);font-size:14.5px}
.card .ico{font-size:26px}
.steps{counter-reset:p;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps .card:before{counter-increment:p;content:counter(p);display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;align-items:center;justify-content:center}
.privacy{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius);padding:26px;display:flex;gap:18px;align-items:flex-start}
.privacy .ico{font-size:34px}
.privacy h3{margin:0 0 6px;color:var(--ok)}
.privacy p{margin:0;color:#065f46}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;color:var(--navy)}
.faq details p{color:var(--muted);margin:10px 0 0}
.final{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;text-align:center;border-radius:20px;padding:46px 20px}
.final h2{color:#fff!important}
footer.f{text-align:center;color:var(--muted);font-size:13px;padding:30px 20px 40px}
@media (max-width:860px){
  .hero-in,.grid3,.steps{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}

/* ------------------------------------------------------------ aplicativo */
.screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,var(--navy),var(--navy2));padding:20px}
.login{background:#fff;border-radius:16px;padding:36px 32px;max-width:380px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35);text-align:center}
.login .logo{color:var(--navy)}
.login .tag{color:var(--muted);font-size:13px;margin-bottom:22px}
.login input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:15px;margin-bottom:12px;font-family:inherit}
.login input.code{text-align:center;font-size:24px;letter-spacing:8px;font-weight:700}
.login .btn{width:100%}
.login .msg{font-size:13px;margin-top:12px;min-height:18px}
.login .msg.err{color:var(--err)}
.login .msg.ok{color:var(--ok)}
.login .alt{font-size:13px;margin-top:16px;color:var(--muted)}
.linklike{background:none;border:0;color:var(--brand);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
.topbar{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;gap:14px;padding:10px 20px;height:56px}
.topbar .logo{font-size:19px}
.topbar .crumb{color:#cbd5e1;font-size:14px}
.topbar .spacer{flex:1}
.topbar .who{font-size:13px;color:#cbd5e1}
.portal{max-width:1080px;margin:auto;padding:34px 20px}
.portal h2{color:var(--navy);margin:0 0 4px}
.portal .sub{color:var(--muted);margin:0 0 24px}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:10px}
.mod h3{margin:0;color:var(--navy)}
.mod p{margin:0;color:var(--muted);font-size:14px;flex:1}
.mod.locked{opacity:.85;border-style:dashed}
.mod .badge{align-self:flex-start;font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px}
.mod .badge.on{background:#dcfce7;color:#166534}
.mod .badge.off{background:#f1f5f9;color:#475569}
.frame{position:fixed;top:56px;left:0;right:0;bottom:0;border:0;width:100%;height:calc(100vh - 56px);background:#fff}
.loading{color:var(--muted);text-align:center;padding:60px 20px}

/* páginas legais */
.legal{max-width:820px}
.legal h1{color:var(--navy);margin:10px 0 0}
.legal h2{color:var(--navy);font-size:18px;margin:26px 0 6px}
.legal p,.legal li{color:#334155}
