:root{--verde:#0F3D2E;--musgo:#2F5D50;--ouro:#B08D3C;--ouro-claro:#C9A961;--bronze:#7A5C14;--areia:#F3EBDD;--bege:#F7EFE2;--bege-esc:#E4D6BE;--grafite:#1A1A17;--perda:#7A2A1D;--branco:#fff}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',system-ui,sans-serif;background:var(--areia);color:var(--grafite);line-height:1.55;font-size:16px}
a{color:var(--verde)}
h1{font-size:clamp(24px,4vw,32px);font-weight:800;color:var(--verde);line-height:1.2}
h1 small{font-size:15px;font-weight:600;color:var(--bronze)}
h2{font-size:19px;font-weight:800;color:var(--verde);margin-bottom:12px}
h3{font-size:15px;font-weight:600;color:var(--verde);margin:14px 0 6px}
small,.nota{font-size:13px;color:#4a4a42}
code{background:var(--bege);padding:2px 6px;border-radius:6px;font-size:14px}
.so-leitor{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* topo */
.topo{background:var(--verde);position:sticky;top:0;z-index:10}
.barra{max-width:1180px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.topo .marca img{height:40px;width:auto;display:block}
.topo nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.topo nav a{color:var(--bege);text-decoration:none;padding:8px 14px;border-radius:99px;font-weight:600;font-size:14px;min-height:40px;display:inline-flex;align-items:center}
.topo nav a:hover{background:rgba(247,239,226,.12)}
.topo nav a.on{background:var(--ouro-claro);color:var(--verde)}
.quem{display:flex;gap:14px;align-items:center;color:var(--bege);font-size:13px}
.quem a{color:var(--ouro-claro);text-decoration:none;font-weight:600}
.sair{display:inline;margin:0}
.quem button.link{background:none;border:0;color:var(--ouro-claro);font:600 13px 'Montserrat',system-ui,sans-serif;cursor:pointer;padding:8px 4px;min-height:40px}
.miolo{max-width:1180px;margin:0 auto;padding:24px 16px 80px;display:grid;gap:18px}

/* componentes */
.cabeca{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cartao{background:var(--bege);border:1px solid var(--bege-esc);border-radius:14px;padding:22px}
.cartao.estreito{max-width:620px}
.cartao.perigo{border-color:var(--perda)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:99px;border:2px solid var(--verde);background:var(--verde);color:var(--bege);font:600 15px 'Montserrat',system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--musgo);border-color:var(--musgo)}
.btn.sec{background:transparent;color:var(--verde)}
.btn.sec:hover{background:var(--bege-esc)}
.btn.perigo-btn{background:var(--perda);border-color:var(--perda)}
:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
label{display:block;font-size:14px;font-weight:600;color:var(--verde);margin:12px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=datetime-local],input[type=file],select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--bege-esc);border-radius:10px;background:var(--branco);font:inherit;color:var(--grafite)}
textarea{min-height:100px;resize:vertical}
form button.btn{margin-top:14px}
.aviso{padding:12px 16px;border-radius:10px;font-weight:600;font-size:15px;border:1px solid}
.aviso.ok{background:#e3efe6;border-color:#2F5D50;color:#0F3D2E}
.aviso.erro{background:#f6e2de;border-color:var(--perda);color:#5c1f15}
.aviso.info{background:var(--bege-esc);border-color:var(--bronze);color:#4d3a0d}
.vazio{padding:30px;text-align:center;background:var(--bege);border:1px dashed var(--bege-esc);border-radius:14px;color:#4a4a42}
.vazio.peq{padding:12px;font-size:14px}
.duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}

/* badges de estágio: sempre ícone + texto, nunca só cor */
.badge{display:inline-flex;gap:6px;align-items:center;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:600;white-space:nowrap;border:1px solid}
.b-novo{background:#e4efe9;color:#0F3D2E;border-color:#0F3D2E}
.b-contatado{background:#dfe9e6;color:#2F5D50;border-color:#2F5D50}
.b-qualificado{background:#e9e4d0;color:#4d3a0d;border-color:#7A5C14}
.b-call_agendada{background:#eee3cc;color:#4d3a0d;border-color:#7A5C14}
.b-proposta_enviada{background:#e6dcc5;color:#4d3a0d;border-color:#7A5C14}
.b-ganho{background:#0F3D2E;color:#F7EFE2;border-color:#0F3D2E}
.b-perdido{background:#f6e2de;color:#5c1f15;border-color:#7A2A1D}
.b-pausado{background:#ecebe6;color:#3a3a33;border-color:#6b6b60}

/* filtros e lista */
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.filtros input[type=search]{flex:1 1 240px;width:auto}
.filtros select{width:auto;flex:0 1 190px}
.filtros .marca{display:flex;gap:6px;align-items:center;margin:0;font-weight:500}
.filtros .marca input{width:auto;min-height:0}
.tabela-lista{background:var(--bege);border:1px solid var(--bege-esc);border-radius:14px;overflow:hidden}
.linha{display:grid;grid-template-columns:2fr 1.2fr 1fr 1.6fr 1fr .8fr;gap:12px;padding:12px 16px;align-items:center;text-decoration:none;color:inherit;border-top:1px solid var(--bege-esc)}
.linha.cab{border-top:0;background:var(--bege-esc);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze)}
a.linha:hover{background:#fbf6ec}
.linha small{display:block}
.atraso{color:var(--perda);font-weight:600}
.paginacao{display:flex;gap:16px;justify-content:center;align-items:center}

/* quadro */
.quadro{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start}
.coluna{background:var(--bege);border:1px solid var(--bege-esc);border-radius:14px;padding:12px;display:grid;gap:10px}
.coluna h2{font-size:14px;margin:0;display:flex;justify-content:space-between;align-items:center}
.cartao-lead{background:var(--branco);border:1px solid var(--bege-esc);border-radius:10px;padding:12px;display:grid;gap:4px}
.cartao-lead.atraso{border-color:var(--perda)}
.cartao-lead a{font-weight:600}
.mover select{min-height:40px;font-size:14px;margin-top:6px}

/* ficha */
.dados{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.dados dt{font-size:13px;font-weight:600;color:var(--bronze)}
.dados dd{overflow-wrap:anywhere}
.msg{background:var(--branco);border-radius:10px;padding:12px;overflow-wrap:anywhere}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 16px}
.grade .larga{grid-column:1/-1}
.linha-tempo{list-style:none;display:grid;gap:12px}
.linha-tempo li{border-left:3px solid var(--ouro);padding-left:12px}
.linha-tempo time{font-size:12px;color:#4a4a42;margin-right:6px}
.linha-tempo .tipo{font-size:12px;background:var(--bege-esc);padding:1px 8px;border-radius:99px;margin-left:4px}
.linha-tempo p{margin-top:2px;overflow-wrap:anywhere}
.em-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.em-linha select,.em-linha input{width:auto;min-width:140px}
.em-linha button.btn{margin-top:0}

/* painel */
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.numero{background:var(--bege);border:1px solid var(--bege-esc);border-radius:14px;padding:16px;display:grid;gap:2px}
.numero b{font-size:32px;font-weight:800;color:var(--verde);line-height:1.1}
.numero span{font-size:13px}
.numero.alerta{border-color:var(--perda)}
.numero.alerta b{color:var(--perda)}
.barras{list-style:none;display:grid;gap:8px}
.barras li{display:grid;grid-template-columns:170px 1fr 36px;gap:10px;align-items:center}
.trilho{height:12px;background:var(--bege-esc);border-radius:99px;overflow:hidden}
.enche{display:block;height:100%;background:var(--musgo);border-radius:99px}
table.simples{width:100%;border-collapse:collapse;font-size:14px}
table.simples th,table.simples td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bege-esc)}
table.simples th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--bronze)}
.tabela-rolavel{overflow-x:auto;background:var(--bege);border:1px solid var(--bege-esc);border-radius:14px}

/* usuários */
.usuario{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--bege-esc)}
.usuario:first-of-type{border-top:0}
.usuario.inativo{opacity:.65}

/* entrada */
body.entrada{background:var(--verde);min-height:100vh;display:grid;place-items:center;padding:20px}
.cartao-entrada{width:min(460px,100%);display:grid;gap:18px}
.logo-entrada{height:64px;width:auto;margin:0 auto}
.cartao-entrada .cartao{background:var(--areia)}
.rodape-entrada{text-align:center;color:var(--ouro-claro);font-size:13px}
.passos{padding-left:20px;display:grid;gap:8px;margin:10px 0}
.segredo{display:block;padding:10px;font-size:16px;letter-spacing:.08em;word-break:break-all;background:var(--branco)}

@media(max-width:820px){
  .linha{grid-template-columns:1fr 1fr;gap:6px 12px}
  .linha.cab{display:none}
  .linha .nome{grid-column:1/-1}
  .linha [data-rotulo]::before{content:attr(data-rotulo) ": ";font-size:12px;font-weight:600;color:var(--bronze)}
  .barras li{grid-template-columns:130px 1fr 30px}
  .dados{grid-template-columns:1fr}
  .quadro{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
}
