:root{
  --bg:#f4f6f3; --card:#ffffff; --ink:#132018; --mut:#5d6b62; --line:#e2e8e3;
  --pri:#0f7a4a; --pri2:#0b5c37; --pri-soft:#e3f3ea; --hot:#d9480f; --hot-soft:#fdebe2;
  --warm:#b7791f; --warm-soft:#fbf1dd; --blue:#1d5fbf; --blue-soft:#e4edfb;
  --side:#0e1a13; --side-ink:#cfe0d5; --r:14px; --sh:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(16,40,26,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}
h1,h2,h3{font-family:Sora,Inter,sans-serif;letter-spacing:-.01em}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.app{display:flex;min-height:100vh}
/* sidebar */
.side{width:240px;background:var(--side);color:var(--side-ink);padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;flex-shrink:0}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px}
.logo{width:34px;height:34px;border-radius:10px;background:radial-gradient(circle at 50% 50%,#2fd683 0 3px,transparent 4px),conic-gradient(from 0deg,rgba(47,214,131,.0),rgba(47,214,131,.55) 25%,rgba(47,214,131,0) 26%),#11301f;border:1px solid #2a5a3e;animation:spin 4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.brand b{font-family:Sora;font-size:16px;color:#fff;display:block}
.brand small{font-size:11px;color:#7fa18c}
.nav{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--side-ink);text-align:left;width:100%}
.nav:hover{background:#16281d}
.nav.on{background:#1b3a28;color:#fff}
.nav svg{width:18px;height:18px;flex-shrink:0}
.side .demo{margin-top:auto;font-size:11px;background:#16281d;border-radius:10px;padding:10px;color:#9fbfab}
/* main */
main{flex:1;min-width:0;padding:26px 30px 60px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.top h1{font-size:22px}
.top p{color:var(--mut);font-size:13px}
.burger{display:none;width:40px;height:40px;border-radius:10px;background:var(--card);box-shadow:var(--sh)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:99px;background:var(--pri-soft);color:var(--pri2);font-weight:600}
.pill.hot{background:var(--hot-soft);color:var(--hot)}.pill.warm{background:var(--warm-soft);color:var(--warm)}.pill.blue{background:var(--blue-soft);color:var(--blue)}.pill.gray{background:#eef1ef;color:var(--mut)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:18px}
.grid{display:grid;gap:14px}
.kpis{grid-template-columns:repeat(4,1fr)}
.kpi small{color:var(--mut);font-size:12px}
.kpi b{display:block;font-family:Sora;font-size:26px;margin-top:4px}
.kpi span{font-size:12px;color:var(--pri)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--pri);color:#fff;font-weight:600;transition:transform .15s,background .15s}
.btn:hover{background:var(--pri2)}.btn:active{transform:scale(.98)}
.btn.ghost{background:#eef3ef;color:var(--ink)}.btn.ghost:hover{background:#e3ebe5}
.btn.wa{background:#1fa855}.btn.wa:hover{background:#178a45}
.sec{display:none}.sec.on{display:block;animation:fade .25s ease-out}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
select,input,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
label{font-size:12px;color:var(--mut);display:block;margin-bottom:5px;font-weight:500}
/* scan */
.scan-wrap{display:grid;grid-template-columns:340px 1fr;gap:14px}
.sources{display:grid;gap:8px;margin-top:14px}
.src{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px}
.src input{width:auto}
.src .st{font-size:11px;color:var(--mut)}
.radar{position:relative;aspect-ratio:1;max-width:260px;margin:10px auto;border-radius:50%;background:radial-gradient(circle,#0f2a1c 0 30%,#0c2317 31% 60%,#0a1d13 61%);border:1px solid #1e4a33;overflow:hidden}
.radar::before,.radar::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(47,214,131,.18);margin:22%}
.radar::after{margin:40%}
.sweep{position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(47,214,131,0) 0 300deg,rgba(47,214,131,.45) 360deg);border-radius:50%;animation:spin 2.2s linear infinite;opacity:0}
.radar.go .sweep{opacity:1}
.blip{position:absolute;width:8px;height:8px;border-radius:50%;background:#2fd683;box-shadow:0 0 10px #2fd683;animation:blip 1.6s ease-out forwards}
@keyframes blip{0%{transform:scale(0)}30%{transform:scale(1.6)}100%{transform:scale(1)}}
.log{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#0e1a13;color:#a9d8bb;border-radius:10px;padding:12px;height:150px;overflow:auto;margin-top:10px}
/* map */
.mapbox{position:relative;border-radius:var(--r);overflow:hidden;background:#eaf0eb}
.mapbox svg{display:block;width:100%;height:auto}
.zone{stroke:#fff;stroke-width:3;transition:fill .2s;cursor:pointer}
.zone:hover{filter:brightness(.97)}
.pin{cursor:pointer;transition:transform .15s}
.pin:hover{transform:scale(1.3)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
/* leads */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.chip{padding:7px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:500}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.list{display:grid;gap:10px}
.lead{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;cursor:pointer;transition:transform .15s,box-shadow .15s}
.lead:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.05),0 12px 28px rgba(16,40,26,.09)}
.score{width:64px;height:64px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Sora;font-weight:700;font-size:20px}
.score small{font-family:Inter;font-size:10px;font-weight:500;opacity:.8}
.lead h3{font-size:15px;margin-bottom:3px}
.meta{color:var(--mut);font-size:12.5px;display:flex;gap:10px;flex-wrap:wrap}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.price{text-align:right;font-family:Sora;font-weight:600;font-size:15px}
.price small{display:block;font-family:Inter;font-weight:500;font-size:11.5px;color:var(--hot)}
/* drawer */
.ov{position:fixed;inset:0;background:rgba(10,20,14,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
.ov.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(460px,100%);background:#fff;z-index:50;transform:translateX(100%);transition:transform .25s ease-out;overflow:auto;padding:22px}
.drawer.on{transform:none}
.drawer h2{font-size:19px;margin:8px 0 4px}
.dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.dl div{background:var(--bg);border-radius:10px;padding:10px}
.dl small{color:var(--mut);font-size:11px;display:block}
.dl b{font-size:13.5px}
.why{background:var(--pri-soft);border-radius:12px;padding:12px;font-size:13px;margin:12px 0}
.why li{margin-left:18px;margin-top:4px}
.msg{background:#f0f7f2;border:1px dashed #b9d9c5;border-radius:12px;padding:12px;font-size:13px;white-space:pre-line}
.x{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:10px;background:var(--bg);font-size:18px}
/* funnel */
.kanban{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.col{background:#e9eee9;border-radius:var(--r);padding:10px;min-height:200px}
.col h3{font-size:13px;display:flex;justify-content:space-between;padding:4px 6px 10px}
.kc{background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;font-size:12.5px;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer}
.kc b{display:block;font-size:13px}
/* motor 2 */
.m2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.phone{max-width:320px;margin:0 auto;border-radius:30px;border:8px solid #13201a;overflow:hidden;background:#fff}
.lp-hero{background:linear-gradient(160deg,#0f7a4a,#0b3d26);color:#fff;padding:26px 20px}
.lp-hero h3{font-size:20px;line-height:1.2;margin:8px 0}
.lp-hero p{font-size:12.5px;opacity:.85}
.lp-form{padding:16px 18px;display:grid;gap:8px}
.lp-form input,.lp-form select{padding:9px 10px;font-size:13px}
.stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.stat:last-child{border:0}
.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;font-size:13px;opacity:0;transition:.25s;z-index:60;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.note{font-size:12px;color:var(--mut);margin-top:10px}
/* responsive */
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.scan-wrap,.m2{grid-template-columns:1fr}}
@media (max-width:820px){
  .side{position:fixed;left:0;top:0;z-index:45;transform:translateX(-100%);transition:transform .25s}
  .side.on{transform:none}
  .burger{display:inline-flex;align-items:center;justify-content:center}
  main{padding:16px 16px 60px}
  .top{justify-content:flex-start}
  .top .right{margin-left:auto}
}
@media (max-width:560px){
  .lead{grid-template-columns:52px 1fr}
  .score{width:52px;height:52px;font-size:17px}
  .price{grid-column:1/-1;text-align:left;display:flex;gap:10px;align-items:baseline}
  .kpi b{font-size:22px}
  .top h1{font-size:18px}
  .top .right .btn span{display:none}
  .dl{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* --- versão real --- */
[hidden]{display:none!important}
.entrar{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 30% 20%,#123a26,#0b1a12 70%)}
.entrar-box{width:min(380px,100%);padding:26px}
.entrar-box h1{font-size:20px;margin:6px 0 16px}
.brand.dark b{color:var(--ink)}.brand.dark small{color:var(--mut)}.brand.dark{padding:0 0 14px}
.erro{color:var(--hot);font-size:13px;margin-top:10px;min-height:1em}
.quem{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#16281d;border-radius:10px;padding:10px}
.quem b{color:#fff;font-size:13px;display:block}.quem small{font-size:11px;color:#9fbfab}
.quem + .demo{margin-top:8px}
.btn.mini{padding:6px 12px;font-size:12px}
.quem .btn.ghost{background:#24402f;color:#cfe0d5}
.mut{color:var(--mut)!important}
.row.sb{justify-content:space-between}.mb{margin-bottom:10px}
.h3{font-size:15px}
.dash{grid-template-columns:1.4fr 1fr;margin-top:14px}
.cnt{text-align:center}.cnt b{font-family:Sora;font-size:22px;display:block}.cnt small{color:var(--mut);font-size:12px}
.hist{display:grid;gap:6px;font-size:12.5px}
.hist div{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg);border-radius:8px}
.phone iframe{display:block;width:100%;height:560px;border:0}
.user{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
.user b{display:block}.user small{color:var(--mut)}
.user .acts{display:flex;gap:6px;flex-wrap:wrap}
.lead h3,.kc b{overflow-wrap:anywhere}
.vazio{color:var(--mut);text-align:center;padding:26px}
code{background:#eef1ef;padding:1px 5px;border-radius:5px;font-size:12px}
@media (max-width:1100px){.dash{grid-template-columns:1fr}}
a.btn{text-decoration:none}
img.logo{background:none;border:0;animation:none;border-radius:50%;object-fit:cover}
