body{background:var(--pedra)}
[hidden]{display:none!important}

/* login */
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}
.login-arte{position:relative;color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--noite)}
.login-arte img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.login-arte::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(20,35,43,.2),rgba(20,35,43,.92))}
.login-arte>*{position:relative;z-index:1}
.login-arte .logo{height:44px;width:auto}
.login-arte .display{color:#fff;max-width:14ch}
.login-arte .display em{color:var(--verde-claro)}
.login-arte p{color:rgba(255,255,255,.75);max-width:42ch}
.login-form{display:flex;align-items:center;justify-content:center;padding:3rem var(--g)}
.login-box{width:100%;max-width:400px}
.login-box h1{font-family:var(--serif);font-weight:400;font-size:2.2rem;color:var(--noite);margin:0 0 .4rem}
.login-box>p{color:var(--suave);margin:0 0 2rem}
.login-box form{display:grid;gap:1.1rem}
.login-box .btn{width:100%;height:52px}
.abas-login{display:flex;background:var(--pedra);border-radius:999px;padding:4px;margin-bottom:1.8rem}
.abas-login button{flex:1;border:0;background:none;height:42px;border-radius:999px;font-weight:600;cursor:pointer;color:var(--suave)}
.abas-login button[aria-selected=true]{background:#fff;color:var(--noite);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.erro{color:#B4232F;font-size:.88rem;min-height:1.2em;margin:0}
.voltar{display:inline-flex;gap:.3rem;align-items:center;font-size:.9rem;color:var(--suave);text-decoration:none;margin-top:1.5rem}
@media (max-width:860px){.login{grid-template-columns:1fr}.login-arte{min-height:240px;padding:2rem}.login-arte .display{font-size:2rem}}

/* app */
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.lado{background:var(--noite);color:rgba(255,255,255,.75);padding:1.6rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;position:sticky;top:0;height:100vh}
.lado .logo{height:38px;width:auto;margin:0 .6rem 2rem}
.lado a,.lado button{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:10px;text-decoration:none;font-weight:500;border:0;background:none;cursor:pointer;color:inherit;text-align:left;width:100%}
.lado a:hover,.lado button:hover{background:rgba(255,255,255,.06);color:#fff}
.lado a[aria-current]{background:rgba(63,166,122,.18);color:#fff}
.lado .user{margin-top:auto;display:flex;align-items:center;gap:.7rem;padding:.9rem;border-top:1px solid rgba(255,255,255,.1)}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.user b{display:block;color:#fff;font-size:.92rem}
.user small{font-size:.78rem}
.conteudo{padding:2.2rem clamp(1rem,3vw,2.8rem) 4rem;min-width:0}
.cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.cab h1{font-family:var(--serif);font-weight:400;font-size:2.1rem;margin:0;color:var(--noite)}
.cab p{margin:.2rem 0 0;color:var(--suave)}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .lado{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;padding:.6rem var(--g);z-index:30;overflow-x:auto}
  .lado .logo{margin:0 .5rem 0 0;height:30px}
  .lado a,.lado button{width:auto;white-space:nowrap;padding:.55rem .7rem;font-size:.88rem}
  .lado .user{display:none}
}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
.kpi{background:#fff;border-radius:var(--r);padding:1.3rem;border:1px solid var(--linha)}
.kpi span{font-size:.82rem;color:var(--suave)}
.kpi b{display:block;font-size:2rem;color:var(--noite);font-weight:700;letter-spacing:-.02em}
@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}}

.tabela{background:#fff;border-radius:var(--r);border:1px solid var(--linha);overflow:hidden}
.tab-ctrl{display:flex;gap:.6rem;padding:1rem;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.tab-ctrl .inp{height:42px;max-width:280px}
.tab-ctrl .seg{display:inline-flex;background:var(--pedra);border-radius:999px;padding:3px}
.tab-ctrl .seg button{border:0;background:none;height:36px;padding:0 .9rem;border-radius:999px;font-weight:600;font-size:.86rem;cursor:pointer;color:var(--suave)}
.tab-ctrl .seg button[aria-pressed=true]{background:#fff;color:var(--noite);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.linha{display:grid;grid-template-columns:84px 1fr auto auto;gap:1rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--linha)}
.linha:last-child{border:0}
.linha img{width:84px;height:62px;object-fit:cover;border-radius:8px}
.linha b{color:var(--noite);display:block}
.linha small{color:var(--suave)}
.linha .pr{font-weight:700;color:var(--noite);text-align:right}
.acoes-l{display:flex;gap:.3rem}
.ic{width:38px;height:38px;border-radius:10px;border:1px solid var(--linha);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--noite);text-decoration:none}
.ic:hover{border-color:var(--noite)}
.ic.del:hover{border-color:#B4232F;color:#B4232F}
@media (max-width:640px){.linha{grid-template-columns:64px 1fr}.linha img{width:64px;height:52px}.linha .pr,.acoes-l{grid-column:2}.linha .pr{text-align:left}}

/* assistente de cadastro */
.wizard{display:grid;grid-template-columns:240px 1fr;gap:2rem;align-items:start}
@media (max-width:980px){.wizard{grid-template-columns:1fr}}
.passos{list-style:none;padding:0;margin:0;position:sticky;top:2rem;counter-reset:p}
.passos li{counter-increment:p;display:flex;align-items:center;gap:.8rem;padding:.7rem 0;color:var(--suave);font-weight:500;cursor:pointer}
.passos li::before{content:counter(p);width:32px;height:32px;border-radius:50%;border:1.5px solid var(--linha);display:grid;place-items:center;font-size:.85rem;font-weight:700;background:#fff;flex:none}
.passos li.at{color:var(--noite)}
.passos li.at::before{border-color:var(--noite);background:var(--noite);color:#fff}
.passos li.ok::before{content:"✓";background:var(--verde);border-color:var(--verde);color:#fff}
@media (max-width:980px){.passos{display:flex;overflow-x:auto;gap:1rem;position:static}.passos li{white-space:nowrap;font-size:.88rem}}
.painel-f{background:#fff;border-radius:20px;border:1px solid var(--linha);padding:clamp(1.4rem,3vw,2.4rem)}
.painel-f h2{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin:0 0 .3rem;color:var(--noite)}
.painel-f .sub{color:var(--suave);margin:0 0 1.8rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr 1fr}}
.campo+.campo,.g2+.campo,.campo+.g2,.g2+.g2,.g3+.campo,.g4+.campo,.campo+.g4,.g4+.g3{margin-top:1.1rem}
.g2>.campo,.g3>.campo,.g4>.campo{margin-top:0!important;justify-content:flex-end}
.g4 .inp,.g4 .cont{height:48px}
.opc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem}
.opc-cards label{position:relative;border:1.5px solid var(--linha);border-radius:14px;padding:1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:all .2s}
.opc-cards label:hover{border-color:var(--suave)}
.opc-cards label:has(input:checked){border-color:var(--verde);background:var(--verde-bg)}
.opc-cards input{position:absolute;opacity:0}
.opc-cards svg{width:26px;height:26px;color:var(--verde-txt)}
.opc-cards b{color:var(--noite)}
.opc-cards small{color:var(--suave);font-size:.8rem}
.cont{display:flex;align-items:center;border:1px solid var(--linha);border-radius:var(--r-s);height:48px;overflow:hidden}
.cont button{width:44px;height:100%;border:0;background:var(--pedra);font-size:1.2rem;cursor:pointer}
.cont input{flex:1;border:0;text-align:center;font-weight:600;min-width:0;outline:0}
.prefixo{position:relative}
.prefixo span{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--suave);font-weight:500}
.prefixo .inp{padding-left:2.6rem}
.dica{font-size:.8rem;color:var(--suave)}

.drop{border:2px dashed var(--linha);border-radius:16px;padding:2.5rem 1rem;text-align:center;cursor:pointer;transition:all .2s;color:var(--suave)}
.drop:hover,.drop.sobre{border-color:var(--verde);background:var(--verde-bg)}
.drop svg{width:40px;height:40px;color:var(--verde-txt);margin:0 auto .6rem}
.drop b{color:var(--noite)}
.fotos-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem;margin-top:1.2rem}
.fotos-g figure{margin:0;position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:grab;border:2px solid transparent}
.fotos-g figure:first-child{border-color:var(--verde)}
.fotos-g figure:first-child::after{content:"Capa";position:absolute;left:8px;bottom:8px;background:var(--verde);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px}
.fotos-g img{width:100%;height:100%;object-fit:cover}
.fotos-g button{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.95);cursor:pointer;display:grid;place-items:center}
.fotos-g figure.arr{opacity:.4}

.chips-in{display:flex;flex-wrap:wrap;gap:.45rem}
.chips-in label{border:1px solid var(--linha);border-radius:999px;padding:.5rem .9rem;font-size:.88rem;cursor:pointer;transition:all .2s}
.chips-in label:has(input:checked){background:var(--noite);color:#fff;border-color:var(--noite)}
.chips-in input{position:absolute;opacity:0;pointer-events:none}

.nav-w{display:flex;justify-content:space-between;gap:.8rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid var(--linha)}
.revisao{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;align-items:start}
@media (max-width:760px){.revisao{grid-template-columns:1fr}}
.revisao dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;margin:0;font-size:.94rem}
.revisao dt{color:var(--suave)}
.revisao dd{margin:0;color:var(--noite);font-weight:500}
.switch{display:flex;align-items:center;gap:.7rem;cursor:pointer;font-weight:500}
.switch input{appearance:none;width:44px;height:26px;border-radius:999px;background:var(--linha);position:relative;cursor:pointer;transition:background .2s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.switch input:checked{background:var(--verde)}
.switch input:checked::after{transform:translateX(18px)}

.kpis{grid-template-columns:repeat(5,1fr)}
@media (max-width:900px){.kpis{grid-template-columns:1fr 1fr}}
.kpi.alerta{border-color:var(--ouro);background:#FBF6EC}
.st{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;border-radius:999px}
.st.ok{background:var(--verde-bg);color:var(--verde-txt)}
.st.pend{background:#FBF1DC;color:#8A5A00}
.cfg{margin:-1rem 0 1.4rem;font-size:.92rem;color:var(--suave)}
.acoes-l{align-items:center}
.fotos-g figure.enviando{opacity:.5}
.fotos-g figure.enviando::before{content:"Enviando…";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:600;background:rgba(20,35,43,.4);z-index:1}

.video-box{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--linha);display:grid;gap:1rem}
.video-box h3{margin:0;font-size:1.05rem;color:var(--noite)}
.video-box h3 small{font-weight:500;color:var(--suave);font-size:.82rem}
.video-box .seg{justify-self:start;display:inline-flex;background:var(--pedra);border-radius:999px;padding:3px;flex-wrap:wrap}
.video-box .seg button{border:0;background:none;height:38px;padding:0 1rem;border-radius:999px;font-weight:600;font-size:.86rem;cursor:pointer;color:var(--suave)}
.video-box .seg button[aria-pressed=true]{background:#fff;color:var(--noite);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.drop-v{padding:1.6rem 1rem}
.v-prev{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:520px}
.v-prev iframe,.v-prev video{width:100%;height:100%;border:0;display:block}
.v-acoes{display:flex;gap:.6rem;align-items:center;margin-top:.6rem;font-size:.88rem;color:var(--suave)}
.barra{height:6px;border-radius:9px;background:var(--linha);overflow:hidden;max-width:520px}
.barra i{display:block;height:100%;background:var(--verde);width:0;transition:width .2s}

/* ---------- CRM ---------- */
.lado .badge{margin-left:auto;background:var(--verde);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:.1rem .5rem;min-width:22px;text-align:center}
.cab-acoes{display:flex;gap:.5rem;flex-wrap:wrap}
.crm-ctrl{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.2rem;align-items:center}
.crm-ctrl .inp{height:44px;width:auto;flex:0 1 220px}
.crm-ctrl #crm-busca{flex:1 1 260px}
.crm-ctrl .seg{display:inline-flex;background:#fff;border:1px solid var(--linha);border-radius:999px;padding:3px;margin-left:auto}
.crm-ctrl .seg button{border:0;background:none;height:36px;padding:0 1rem;border-radius:999px;font-weight:600;font-size:.86rem;cursor:pointer;color:var(--suave)}
.crm-ctrl .seg button[aria-pressed=true]{background:var(--noite);color:#fff}
.funil{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:.9rem;overflow-x:auto;padding-bottom:1rem;align-items:start}
.col{background:#E9EEEB;border-radius:16px;padding:.7rem;min-height:300px;transition:background .2s,box-shadow .2s}
.col.sobre{background:var(--verde-bg);box-shadow:inset 0 0 0 2px var(--verde)}
.col header{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.88rem;color:var(--noite);padding:.3rem .4rem .8rem}
.col header em{margin-left:auto;font-style:normal;font-weight:600;color:var(--suave);background:#fff;border-radius:999px;padding:.05rem .55rem;font-size:.78rem}
.col-lista{display:grid;gap:.55rem}
.col-vazia{font-size:.82rem;color:var(--suave);text-align:center;padding:1.5rem .5rem;border:1.5px dashed #CBD5D0;border-radius:12px;margin:0}
.pt{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;background:#9AA7AD}
.pt-novo{background:#2F80ED}.pt-atendimento{background:#F2994A}.pt-visita{background:#9B51E0}.pt-proposta{background:var(--ouro)}.pt-fechado{background:var(--verde)}.pt-perdido{background:#B4232F}
.lead{position:relative;background:#fff;border-radius:12px;padding:.8rem .9rem;display:grid;gap:.25rem;cursor:grab;border:1px solid transparent;box-shadow:0 1px 2px rgba(20,35,43,.06);transition:box-shadow .2s,border-color .2s}
.lead:hover{box-shadow:var(--sombra);border-color:var(--linha)}
.lead.arr{opacity:.4}
.lead b{color:var(--noite);font-size:.95rem;padding-right:2rem}
.lead-int{font-size:.82rem;color:var(--verde-txt);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-meta{font-size:.84rem;color:var(--texto)}
.lead-rod{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--suave);margin-top:.2rem}
.lead-rod span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-resp{position:absolute;top:.7rem;right:.7rem;width:26px;height:26px;border-radius:50%;background:var(--noite);color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center}
.crm-tab{display:grid}
.crm-th,.crm-tr{display:grid;grid-template-columns:1.4fr 1.2fr 1.3fr 1fr .8fr;gap:1rem;align-items:center;padding:.85rem 1rem;text-align:left}
.crm-th{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);border-bottom:1px solid var(--linha)}
.crm-tr{border:0;border-bottom:1px solid var(--linha);background:#fff;cursor:pointer;font-size:.9rem;width:100%}
.crm-tr:hover{background:var(--pedra)}
.crm-tr small{display:block;color:var(--suave);font-size:.78rem}
.crm-tr b{color:var(--noite)}
.crm-tr span:nth-child(4){display:flex;align-items:center;gap:.45rem}
@media (max-width:760px){.crm-th{display:none}.crm-tr{grid-template-columns:1fr 1fr}.crm-tr span:nth-child(3),.crm-tr span:nth-child(5){display:none}}

/* gaveta e modal */
.gaveta,.modal{position:fixed;inset:0;z-index:80}
.gaveta-fundo{position:absolute;inset:0;background:rgba(20,35,43,.45);animation:fade .2s}
.gaveta-p{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);background:#fff;display:flex;flex-direction:column;animation:entra .28s var(--ease)}
@keyframes entra{from{transform:translateX(40px);opacity:0}}
@keyframes fade{from{opacity:0}}
.gaveta-cab{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid var(--linha)}
.gaveta-cab h2{margin:0;font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--noite)}
.gaveta-corpo{padding:1.4rem;overflow-y:auto;display:grid;gap:1rem;align-content:start}
.gaveta-corpo .g2>.campo,.gaveta-corpo>.campo{margin:0!important}
.g-wa{display:flex;gap:.5rem;flex-wrap:wrap}
.g-wa:empty{display:none}
.g-botoes{display:flex;gap:.6rem;justify-content:space-between;flex-wrap:wrap}
#g-del{color:#B4232F}
.mini{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);margin:.5rem 0 .4rem}
.hist{display:grid;gap:.6rem;border-top:1px solid var(--linha);padding-top:1rem}
.hist:empty{display:none}
.h-item{border-left:2px solid var(--verde);padding:.1rem 0 .1rem .8rem}
.h-item small{color:var(--suave);font-size:.76rem}
.h-item p{margin:.15rem 0 0;white-space:pre-line;font-size:.9rem}
.modal-p{position:relative;margin:5vh auto;width:min(760px,94vw);max-height:90vh;background:#fff;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;animation:fade .2s}
.modal-corpo{padding:1.4rem;overflow-y:auto}
.mapa-cols{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1rem 0 1.4rem}
.mapa-cols label{display:grid;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--noite)}
.mapa-cols .inp{height:42px}
@media (max-width:560px){.mapa-cols{grid-template-columns:1fr}}
.prev-tab{overflow-x:auto;border:1px solid var(--linha);border-radius:12px;margin-bottom:1.4rem}
.prev-tab table{border-collapse:collapse;width:100%;font-size:.84rem}
.prev-tab th,.prev-tab td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid var(--linha);white-space:nowrap}
.prev-tab th{background:var(--pedra);font-weight:700;color:var(--noite)}
.imp-fim{text-align:center;padding:1.5rem 0}
.imp-fim b{font-size:1.3rem;color:var(--noite)}
.imp-fim ul{list-style:none;padding:0;margin:1rem 0 1.6rem;display:grid;gap:.4rem;color:var(--suave)}
.imp-fim strong{color:var(--noite)}
.crm-email{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:-1rem 0 1.2rem;font-size:.9rem;color:var(--suave)}
.crm-email .inp{height:40px;width:auto;flex:0 1 280px}
.lead-del{position:absolute;right:.5rem;bottom:.5rem;width:30px;height:30px;border-radius:8px;border:0;background:#fff;color:var(--suave);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s}
.lead-del svg{width:16px;height:16px}
.lead:hover .lead-del,.lead:focus-within .lead-del,.crm-tr:hover .lead-del{opacity:1}
.lead-del:hover{color:#B4232F;background:#FBEAEC}
@media (hover:none){.lead-del{opacity:1}}
.lead .lead-rod{padding-right:2rem}
.crm-tr .tr-fim{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.crm-tr .lead-del{position:static}
.resp-box{margin-top:1.8rem;padding:1.3rem;border-radius:16px;background:var(--pedra);display:grid;gap:.9rem}
.resp-box h3{margin:0;font-size:1.05rem;color:var(--noite)}
.resp-box .dica{margin:-.6rem 0 0}
.resp-box>.campo,.resp-box .g2{margin:0!important}
.resp-box .inp{background:#fff}
.linha .resp{display:block;font-size:.78rem;color:var(--suave);margin-top:.15rem}
.sufixo{position:relative}
.sufixo .inp{padding-right:3rem;font-size:1.05rem;font-weight:600;-moz-appearance:textfield}
.sufixo .inp::-webkit-outer-spin-button,.sufixo .inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sufixo span{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--suave);font-weight:600;pointer-events:none}
.g-cont{grid-template-columns:repeat(3,1fr)!important}
.g-cont .cont{height:48px}
.g-cont>.campo{margin-top:0!important}
@media (max-width:640px){.g2:has(#w-area){grid-template-columns:1fr}.g-cont{grid-template-columns:1fr 1fr 1fr!important;gap:.6rem}}
