:root{
  --verde:#4E9A24; --verde-forte:#3F7D1E; --verde-escuro:#173D10; --verde-menu:#21501A;
  --verde-claro:#E7F3DE; --fundo:#F4F7F1; --borda:#E1E9DA; --borda-forte:#D3DECB;
  --texto:#17220F; --suave:#56604F; --laranja:#C2570C; --laranja-claro:#FBEADF;
  --azul:#1D4E89; --azul-claro:#E6EEF9; --amarelo-claro:#FFF4E5; --amarelo:#8A4B08;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);font-family:Inter,system-ui,sans-serif;color:var(--texto);font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--verde-forte)}
.boot{padding:48px;text-align:center;color:var(--suave)}
.layout{display:flex;flex-wrap:wrap;min-height:100vh}
.menu{flex:1 1 240px;max-width:270px;background:var(--verde-escuro);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:24px}
.marca{display:flex;align-items:center;gap:12px;padding:0 6px}
.marca-m{width:40px;height:40px;border-radius:12px;background:#5FAE2E;transform:rotate(-8deg);display:flex;align-items:center;justify-content:center;font:900 24px Montserrat,sans-serif}
.marca-nome{font:900 18px Montserrat,sans-serif;letter-spacing:.5px}
.marca-sub{font-size:12px;color:#BFD9AE}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:12px;color:#DCEBD2;text-decoration:none;font-weight:600}
.nav a.ativo{background:#2F6A1F;color:#fff}
.nav a:hover{background:#2A5A1F}
.usuario{margin-top:auto;padding:14px;border-radius:14px;background:var(--verde-menu);display:flex;flex-direction:column;gap:6px}
.usuario small{color:#BFD9AE}
.usuario button{background:transparent;border:1px solid #3C6A2E;color:#DCEBD2;border-radius:10px;min-height:40px;cursor:pointer;font-weight:600}
.conteudo{flex:999 1 560px;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:22px}
.topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}
.titulo{margin:0;font:900 28px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:-.5px}
.subtitulo{color:var(--suave);font-size:14px}
.acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.card{background:#fff;border:1px solid var(--borda);border-radius:16px;padding:20px}
.h2{margin:0 0 12px;font:800 17px Montserrat,sans-serif}
.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.kpi{display:flex;flex-direction:column;gap:6px}
.kpi-label{font-size:13px;color:var(--suave);font-weight:500}
.kpi-valor{font:800 26px Montserrat,sans-serif;letter-spacing:-.5px}
.kpi-sub{font-size:12px;color:var(--suave)}
.linha{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.linha>*{flex:1 1 320px;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--borda-forte);background:#fff;font-weight:600;cursor:pointer;text-decoration:none;color:var(--texto)}
.btn:hover{border-color:var(--verde)}
.btn-prim{background:var(--verde);border-color:var(--verde);color:#fff}
.btn-prim:hover{background:var(--verde-forte)}
.btn-perigo{color:var(--laranja);border-color:#EBC6AE}
.btn-peq{min-height:36px;padding:0 12px;font-size:13px}
.pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.p-port{background:var(--verde-claro);color:#2A5A12}
.p-energia{background:var(--azul-claro);color:var(--azul)}
.p-ok{background:var(--verde-claro);color:#1F6B10}
.p-alerta{background:var(--amarelo-claro);color:var(--amarelo)}
.p-perda{background:var(--laranja-claro);color:#9A3F07}
.p-neutro{background:#EEF2EA;color:#3B4436}
.tabela-box{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font-size:12px;color:var(--suave);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--borda);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid #EEF2EA;white-space:nowrap}
tr.clicavel{cursor:pointer}
tr.clicavel:hover td{background:#F8FBF5}
.vazio{color:var(--suave);padding:18px 4px}
.kanban-box{overflow-x:auto;padding-bottom:8px}
.kanban{display:flex;gap:14px;align-items:flex-start;min-width:min-content}
.coluna{width:250px;flex:0 0 250px;background:#EBF1E6;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px}
.coluna-topo{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;font-weight:700}
.bolinha{display:inline-block;width:10px;height:10px;border-radius:99px;margin-right:8px}
.lead-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--borda);border-radius:14px;padding:13px;cursor:pointer}
.lead-card:hover{border-color:var(--verde)}
.lead-card .nome{display:flex;justify-content:space-between;gap:8px;font-weight:700}
.lead-card .meta{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--suave)}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:13px;font-weight:600}
.campo input,.campo select,.campo textarea{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--borda-forte);background:#fff}
.campo textarea{padding:10px 12px;min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.busca{flex:1 1 260px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--borda-forte);background:#fff}
select.filtro{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--borda-forte);background:#fff;font-weight:600}
.barra{height:30px;background:#EEF4E9;border-radius:8px;overflow:hidden}
.barra>div{height:100%;background:var(--verde);border-radius:8px}
.barra-fina{height:8px;background:#F6EEE6;border-radius:99px;overflow:hidden}
.barra-fina>div{height:100%;background:var(--laranja);border-radius:99px}
.funil-linha{display:grid;grid-template-columns:110px 1fr 130px;align-items:center;gap:12px;margin-bottom:10px}
.historico{display:flex;flex-direction:column;gap:12px}
.historico div{display:grid;grid-template-columns:12px 1fr;gap:10px}
.historico span.ponto{width:10px;height:10px;margin-top:4px;border-radius:99px;background:var(--verde)}
.nota{font-size:12px;color:var(--suave)}
.aviso{background:var(--verde-escuro);color:#fff;border-radius:14px;padding:16px 18px;line-height:1.5}
.login-tela{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--verde-escuro)}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:16px}
.login-card .marca-nome{color:var(--verde-escuro)}
.erro{color:#9A3F07;font-size:13px;min-height:18px}
.modal-fundo{position:fixed;inset:0;background:rgba(15,30,10,.45);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:20}
.modal{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:640px;display:flex;flex-direction:column;gap:16px}
.modal-topo{display:flex;justify-content:space-between;align-items:center}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--verde-escuro);color:#fff;padding:12px 20px;border-radius:12px;font-weight:600;opacity:0;transition:opacity .2s;pointer-events:none;z-index:30}
#toast.mostrar{opacity:1}
.sr{position:absolute;left:-9999px}
@media (max-width:700px){
  .menu{max-width:none;flex-basis:100%;padding:14px 16px;gap:12px}
  .nav{flex-direction:row;flex-wrap:wrap;gap:6px}
  .nav a{min-height:40px;padding:0 12px;background:#21501A}
  .usuario{margin-top:0;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 12px}
  .usuario small{display:none}
  .usuario button{padding:0 14px}
  .conteudo{padding:20px 16px 40px}
  .titulo{font-size:22px}
  .funil-linha{grid-template-columns:80px 1fr 100px}
}
/* Triagem de portabilidade */
.tri{display:flex;flex-direction:column;gap:16px}
.tri-entrada{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(120px,1fr);gap:14px;align-items:end}
@media (max-width:760px){.tri-entrada{grid-template-columns:1fr}}
.tri-drop{display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:84px;padding:14px 16px;border:2px dashed var(--borda-forte);border-radius:14px;background:var(--fundo);cursor:pointer}
.tri-drop:hover,.tri-drop.sobre{border-color:var(--verde);background:var(--verde-claro)}
.tri-drop.feito{border-style:solid;border-color:var(--verde)}
.tri-veredito{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:14px;background:var(--fundo);border:1px solid var(--borda)}
.tri-veredito.viavel{background:var(--verde-claro);border-color:#BFDDA9}
.tri-veredito.futuro{background:#FBF0D9;border-color:#EBD3A0}
.tri-veredito.fora{background:var(--laranja-claro);border-color:#F1C9AD}
.tri-tag{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--suave)}
.tri-big{font:800 30px Montserrat,sans-serif;letter-spacing:-.5px}
.tri-sub{color:var(--suave);font-size:14px}
.tri-linha{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.tri-alerta{padding:10px 14px;border-radius:10px;background:#FBF0D9;color:#6B4A07;font-size:13px}
.tri-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tri-ct{border:1px solid var(--borda);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.tri-ct.viavel{border-color:#BFDDA9}.tri-ct.futuro{border-color:#EBD3A0}
.tri-ct-topo{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tri-ct-topo .pill{margin-left:auto}
.tri-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tri-kv div{display:flex;flex-direction:column;font-size:12px;color:var(--suave)}.tri-kv b{font-size:15px;color:var(--texto)}
.tri-kv .destaque b{color:var(--verde-forte);font-size:17px}
.tri-in{width:100%;min-width:70px;padding:6px 8px;border:1px solid var(--borda);border-radius:8px;font:inherit;font-size:13px}
.tri-st{display:inline-block;width:10px;height:10px;border-radius:50%;background:#D3DECB}
.tri-st.VIAVEL{background:var(--verde)}.tri-st.FUTURO{background:#C98A06}.tri-st.FORA{background:var(--laranja)}
.tri-saldo{white-space:nowrap;font-variant-numeric:tabular-nums}
.marca-logo{width:44px;height:44px;flex:0 0 44px;object-fit:contain}
/* Fila do dia */
.fila{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.fila-item{display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;border:1px solid var(--borda);border-radius:14px;padding:13px;cursor:pointer;font:inherit;color:inherit}
.fila-item:hover{border-color:var(--verde)}
.fila-tit{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--suave)}
.fila-nome{font-weight:700}
.badge{display:inline-block;min-width:20px;padding:1px 6px;border-radius:999px;background:#C2570C;color:#fff;font-size:12px;font-weight:700;text-align:center;margin-left:6px}
/* Portabilidade */
.port-passos{display:flex;flex-wrap:wrap;gap:6px}
.port-passos span{flex:1 1 120px;text-align:center;padding:8px 6px;border-radius:10px;background:#EEF2EA;color:var(--suave);font-size:13px;font-weight:600}
.port-passos span.feito{background:var(--verde-claro);color:#1F6B10}
.port-passos span.atual{background:var(--verde);color:#fff}
.check-linha{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--borda);cursor:pointer}
.check-linha input{margin-top:4px;width:18px;height:18px}
.linha-eu td{background:var(--verde-claro)}
/* Menu em blocos e abas */
.nav-grupo{margin:14px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8FB57E}
.nav-grupo:first-child{margin-top:0}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 18px;border-bottom:1px solid var(--borda)}
.aba{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;font:600 14px Inter,sans-serif;color:var(--suave);cursor:pointer}
.aba.ativa{color:var(--verde-escuro);border-bottom-color:var(--verde)}
@media (max-width:700px){ .nav-grupo{flex-basis:100%;margin:6px 2px 0} }

/* Próximo passo na ficha */
.proximo{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:var(--verde-claro,#E7F3DE);border:1px solid #BFDDA9}
.proximo-tag{font:700 12px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#3F7D1E}
.proximo-txt{font-weight:600;line-height:1.4}
