:root{
  --verde:#17542b; --verde-2:#1c6132; --verde-txt:#166633; --verde-claro:#e6efe8;
  --ouro:#a98839; --ouro-txt:#8f6d2a; --ouro-claro:#c9a95a; --ouro-fundo:#f4eedf;
  --branco:#ffffff; --papel:#f7f5ef; --linha:#ddd8cb; --linha-2:#eee9dc; --tinta:#1d2a21; --mudo:#5d6a60;
  --erro:#b3261e; --erro-fundo:#fbeceb; --alerta:#9a5b00; --alerta-fundo:#fdf3e1;
  --f:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --s:"Libre Baskerville",Georgia,serif;
  --raio:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f);color:var(--tinta);background:var(--papel);min-height:100vh;-webkit-font-smoothing:antialiased;line-height:1.4;font-size:15px}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none !important}
.mudo{color:var(--mudo)}
.pequeno{font-size:13px}
.msg-erro{color:var(--erro);font-size:14px;font-weight:500;min-height:0}
.msg-erro:empty{display:none}

/* BOTÕES */
.btn{font-weight:600;font-size:14px;line-height:1;border-radius:999px;padding:11px 18px;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.btn.verde{background:var(--verde);color:var(--branco)}
.btn.verde:hover{background:var(--verde-2)}
.btn.ouro{background:var(--ouro);color:var(--branco)}
.btn.ouro:hover{background:#9a7b30}
.btn.contorno{background:var(--branco);border-color:var(--linha);color:var(--tinta)}
.btn.contorno:hover{border-color:var(--verde-2)}
.btn.largo{width:100%;padding:14px}
.btn.zap{background:#e7f5ec;color:var(--verde-txt);border-color:#bfe0cb}
.btn:disabled{opacity:.6;cursor:wait}
.link-claro{background:none;border:0;color:rgba(255,255,255,.8);cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* CAMPOS */
label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--mudo)}
input,select,textarea{font-size:15px;font-weight:400;padding:10px 12px;border:1.5px solid var(--linha);border-radius:12px;background:var(--branco);color:var(--tinta);outline:none;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{border-color:var(--verde-2)}
textarea{resize:vertical}
label.check{flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--tinta);cursor:pointer}
label.check input{width:18px;height:18px;accent-color:var(--verde)}

/* ENTRADA */
.entrada{min-height:100vh;min-height:100svh;background:var(--verde);display:flex;align-items:center;justify-content:center;padding:32px 16px}
.entrada-caixa{width:100%;max-width:400px;text-align:center}
.entrada-caixa > img{width:217px;height:auto;margin:0 auto 28px;display:block}
.entrada-cartao{background:var(--branco);border-radius:22px;padding:28px 24px;text-align:left}
.entrada-cartao form{display:grid;gap:14px}
.entrada-cartao h1{font-weight:700;font-size:24px;letter-spacing:-.01em;color:var(--verde)}
.entrada-cartao .mudo{margin-top:-8px;font-size:15px}
.entrada-rodape{margin-top:22px;font-family:var(--s);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--ouro-claro)}

/* TOPO */
.topo{background:var(--verde);color:var(--branco);position:sticky;top:0;z-index:20}
.topo-linha{max-width:1440px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:24px}
.topo-logo{width:118px;height:auto;display:block;flex:0 0 auto}
.abas{display:flex;gap:4px;flex:1}
.abas button{background:none;border:0;color:rgba(255,255,255,.75);font-weight:600;font-size:15px;padding:9px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.abas button:hover{color:var(--branco);background:rgba(255,255,255,.08)}
.abas button.ativa{background:rgba(255,255,255,.14);color:var(--branco)}
.bolinha{background:var(--ouro);color:var(--branco);font-size:12px;font-weight:700;border-radius:999px;padding:2px 7px;line-height:1.2}
.topo-usuario{display:flex;align-items:center;gap:14px;font-size:14px;color:rgba(255,255,255,.9);white-space:nowrap}
.filete{height:4px;background:var(--ouro)}

.wrap{max-width:1440px;margin:0 auto;padding:20px 20px 48px}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.kpi{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px}
.kpi.destaque{background:var(--verde);border-color:var(--verde);color:var(--branco)}
.kpi .rot{font-size:13px;font-weight:600;color:var(--mudo)}
.kpi.destaque .rot,.kpi.destaque .sub{color:rgba(255,255,255,.8)}
.kpi .num{font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}
.kpi .sub{font-size:13px;color:var(--mudo)}
.kpi.alerta .num{color:var(--erro)}
button.kpi{text-align:left;cursor:pointer;font:inherit}
button.kpi:hover{border-color:var(--verde-2)}

/* FERRAMENTAS */
.barra-ferramentas{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}
.barra-ferramentas .busca{flex:1 1 240px}
.barra-ferramentas select{width:auto;flex:0 1 auto}
.barra-ferramentas .btn{margin-left:auto}

/* FUNIL */
.funil{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;align-items:flex-start}
.coluna{flex:0 0 272px;background:#efece3;border-radius:var(--raio);display:flex;flex-direction:column;max-height:calc(100vh - 290px);min-height:200px;scroll-snap-align:start;border:1.5px solid transparent;transition:border-color .15s,background .15s}
.coluna.sobre{border-color:var(--verde-2);background:var(--verde-claro)}
.coluna-topo{padding:12px 14px 8px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.coluna-topo h3{font-size:14px;font-weight:700;color:var(--tinta);display:flex;align-items:center;gap:8px}
.coluna-topo h3 i{width:9px;height:9px;border-radius:99px;display:inline-block;flex:0 0 auto}
.coluna-topo span{font-size:13px;color:var(--mudo);font-variant-numeric:tabular-nums;font-weight:600}
.coluna-dica{font-size:12px;color:var(--mudo);padding:0 14px 8px;line-height:1.35}
.coluna-cartoes{padding:0 8px 10px;overflow-y:auto;display:grid;gap:8px;align-content:start;flex:1}
.coluna.nutricao{background:var(--ouro-fundo)}
.coluna.perdido{background:#ebe9e4}
.coluna.fechado{background:var(--verde-claro)}
.vazio-col{font-size:13px;color:var(--mudo);text-align:center;padding:18px 8px;border:1.5px dashed var(--linha);border-radius:12px}

.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:12px;padding:11px 12px;cursor:pointer;display:grid;gap:7px;box-shadow:0 1px 0 rgba(29,42,33,.04);transition:border-color .12s,transform .12s}
.cartao:hover{border-color:var(--verde-2)}
.cartao.arrastando{opacity:.4}
.cartao .c-nome{font-weight:600;font-size:15px;line-height:1.25;display:flex;justify-content:space-between;gap:8px}
.cartao .c-nome .ini{flex:0 0 26px;height:26px;border-radius:99px;background:var(--verde-claro);color:var(--verde-txt);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.cartao .c-tags{display:flex;gap:5px;flex-wrap:wrap}
.tag{font-size:12px;font-weight:600;border-radius:999px;padding:3px 8px;background:var(--papel);color:var(--mudo);border:1px solid var(--linha-2);white-space:nowrap}
.tag.ind{background:var(--ouro-fundo);color:var(--ouro-txt);border-color:#e8dcbc}
.tag.morar{background:var(--verde-claro);color:var(--verde-txt);border-color:#cfe1d4}
.cartao .c-prox{font-size:13px;color:var(--mudo);display:flex;gap:6px;align-items:baseline;line-height:1.3}
.cartao .c-prox b{font-weight:600;color:var(--tinta);white-space:nowrap}
.cartao .c-prox.atrasado b{color:var(--erro)}
.cartao .c-prox.hoje b{color:var(--alerta)}
.cartao .c-rodape{font-size:12px;color:var(--mudo);display:flex;justify-content:space-between}

/* PAINÉIS / LISTA */
.painel{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.painel-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--linha)}
.painel-topo h2{font-size:16px;font-weight:700;color:var(--verde)}
.rolagem{overflow-x:auto}
.tabela{width:100%;border-collapse:collapse;font-size:14px;min-width:900px}
.tabela th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mudo);padding:10px 14px;border-bottom:1px solid var(--linha);background:#fbfaf6;cursor:pointer;white-space:nowrap;user-select:none}
.tabela th.ord::after{content:" ↓";color:var(--ouro)}
.tabela th.ord.asc::after{content:" ↑"}
.tabela td{padding:11px 14px;border-bottom:1px solid var(--linha-2);vertical-align:top}
.tabela tbody tr{cursor:pointer}
.tabela tbody tr:hover{background:#fbfaf6}
.tabela td.nome{font-weight:600}
.tabela .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.etq-etapa{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.etq-etapa i{width:8px;height:8px;border-radius:99px;display:inline-block}
.atrasado-txt{color:var(--erro);font-weight:600}
.vazio{padding:40px 20px;text-align:center;color:var(--mudo)}

/* AGENDA */
.agenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}
.agenda .painel-topo span{font-size:13px;color:var(--mudo);font-weight:600}
.item-agenda{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 18px;border-bottom:1px solid var(--linha-2);cursor:pointer}
.item-agenda:last-child{border-bottom:0}
.item-agenda:hover{background:#fbfaf6}
.item-agenda strong{font-weight:600}
.item-agenda .quando{font-size:13px;font-weight:600;color:var(--mudo);text-align:right;white-space:nowrap}
.item-agenda .quando.atrasado{color:var(--erro)}
.item-agenda p{grid-column:1/-1;font-size:13px;color:var(--mudo)}

/* EQUIPE */
.duas{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:start}
.pessoa{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--linha-2)}
.pessoa:last-child{border-bottom:0}
.pessoa.inativa{opacity:.55}
.pessoa small{display:block;color:var(--mudo);font-size:13px}
.form-equipe .corpo{padding:16px 18px;display:grid;gap:12px}
.linha-botoes{display:flex;gap:8px}

/* FICHA */
.veu{position:fixed;inset:0;background:rgba(15,25,18,.35);z-index:40}
.ficha{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--papel);z-index:41;overflow-y:auto;box-shadow:-12px 0 40px rgba(15,25,18,.18);display:flex;flex-direction:column}
.ficha-topo{position:sticky;top:0;z-index:2;background:var(--verde);color:var(--branco);padding:14px 18px;display:flex;align-items:flex-start;gap:12px}
.fechar{background:rgba(255,255,255,.12);border:0;color:var(--branco);width:34px;height:34px;border-radius:99px;cursor:pointer;font-size:15px;flex:0 0 auto}
.ficha-titulo{flex:1;min-width:0}
.nome-grande{background:transparent;border:0;border-bottom:1.5px solid transparent;border-radius:0;color:var(--branco);font-size:22px;font-weight:700;padding:2px 0;letter-spacing:-.01em}
.nome-grande:focus{border-bottom-color:var(--ouro-claro)}
.nome-grande::placeholder{color:rgba(255,255,255,.55)}
.ficha-sub{font-size:13px;color:rgba(255,255,255,.75);margin-top:3px}
.ficha-corpo{padding:16px 18px;display:grid;gap:12px}
.bloco-ficha{background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:14px}
.bloco-ficha h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--verde);margin-bottom:10px}
.destaque-campo{border-color:var(--ouro-claro);background:#fffdf7}
.grade-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.col-2{grid-column:1/-1}
.atalhos-data{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end}
.atalhos-data button{background:var(--papel);border:1px solid var(--linha);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;color:var(--mudo)}
.atalhos-data button:hover{border-color:var(--verde-2);color:var(--verde-txt)}
.etapas-pilulas{display:flex;flex-wrap:wrap;gap:6px}
.etapas-pilulas button{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--mudo);display:inline-flex;align-items:center;gap:6px}
.etapas-pilulas button i{width:8px;height:8px;border-radius:99px}
.etapas-pilulas button.sel{background:var(--verde);border-color:var(--verde);color:var(--branco)}
.aviso{background:var(--alerta-fundo);border:1px solid #f0d9ae;color:var(--alerta);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:500}
.ficha-rodape{position:sticky;bottom:0;background:rgba(247,245,239,.96);backdrop-filter:blur(6px);border-top:1px solid var(--linha);padding:12px 18px;display:flex;align-items:center;gap:12px}
.salvo{color:var(--verde-txt);font-weight:600;font-size:14px}

.historico{padding:4px 18px 32px}
.historico > h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--verde);margin:8px 0 10px}
.nova-atividade{background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:12px;display:grid;gap:10px}
.nova-atividade .btn{justify-self:start}
.tipos{display:flex;gap:6px;flex-wrap:wrap}
.tipos label{flex-direction:row}
.tipos input{position:absolute;opacity:0;width:1px;height:1px}
.tipos span{border:1.5px solid var(--linha);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--mudo)}
.tipos input:checked + span{background:var(--ouro-fundo);border-color:var(--ouro-claro);color:var(--ouro-txt)}
.tipos input:focus-visible + span{outline:2px solid var(--verde-2)}
.linha-tempo{list-style:none;margin-top:14px;display:grid;gap:0;position:relative}
.linha-tempo li{position:relative;padding:0 0 14px 22px}
.linha-tempo li::before{content:"";position:absolute;left:5px;top:6px;bottom:-4px;width:1.5px;background:var(--linha)}
.linha-tempo li:last-child::before{display:none}
.linha-tempo li::after{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:99px;background:var(--branco);border:2px solid var(--ouro)}
.linha-tempo li.sistema::after,.linha-tempo li.etapa::after{border-color:var(--linha);background:var(--papel)}
.linha-tempo .meta{font-size:12px;color:var(--mudo);font-weight:600}
.linha-tempo .texto{font-size:14px;white-space:pre-wrap;margin-top:2px}
.linha-tempo li.sistema .texto,.linha-tempo li.etapa .texto{color:var(--mudo)}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--tinta);color:var(--branco);padding:12px 18px;border-radius:999px;font-weight:500;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.2);max-width:calc(100vw - 32px)}

/* CELULAR */
@media (max-width:1100px){
  .kpis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .topo-linha{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}
  .topo-logo{width:100px}
  .abas{order:3;flex-basis:100%;overflow-x:auto}
  .abas button{padding:8px 12px;font-size:14px}
  .topo-usuario{margin-left:auto}
  #nome-usuario{display:none}
  .wrap{padding:14px 16px 40px}
  .kpis{display:flex;overflow-x:auto;gap:8px;margin:0 -16px;padding:0 16px 2px;scroll-snap-type:x proximity}
  .kpi{flex:0 0 150px;padding:12px 14px;scroll-snap-align:start}
  .kpi .rot{font-size:12px}
  .kpi .num{font-size:26px}
  .barra-ferramentas select{flex:1 1 45%}
  .barra-ferramentas .btn{margin-left:0;width:100%}
  .coluna{flex-basis:84vw;max-height:none}
  .duas{grid-template-columns:1fr}
  .grade-2{grid-template-columns:1fr}
  .ficha-topo{padding:12px 16px}
}
