/* Handoff Comercial Diogo → Luiz — Grupo DUX · v0.1
   Mesmo tema claro do People App (brandbook Anti, modo ferramenta).
   Densidade calibrada pra MacBook 13". */

:root{
  --bg:#F3F3F3;
  --bg-alt:#E8E8E8;
  --surface:#FFFFFF;
  --ink:#191919;
  --preto:#0A0A0A;
  --cinza:#6E6E6E;
  --cinza-2:#9A9A9A;
  --verde:#E9FC00;
  --verde-escuro:#B8C700;
  --vermelho:#F61F3E;
  --ambar:#E08A00;
  --azul:#2D6BE0;
  --linha:#E0E0DC;
  --display:"neue-haas-grotesk-display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Roboto Mono",ui-monospace,Menlo,Consolas,monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:13.5px;line-height:1.5}
::selection{background:var(--verde);color:var(--preto)}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:196px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--preto);color:#fff;padding:1.2rem 0 .9rem}
.logo{display:flex;align-items:center;gap:.55rem;padding:0 1.1rem 1rem;text-decoration:none;color:#fff;border-bottom:1px solid #242424}
.logo svg{width:26px;height:26px;fill:var(--verde);flex:none}
.logo span{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:.02em}
.logo span b{color:var(--verde);font-weight:700}
.sidebar nav{flex:1;overflow-y:auto;padding:.4rem 0}
.nav-grupo{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:#777;margin:.85rem 1.1rem .2rem}
.sidebar nav > a{display:block;padding:.32rem 1.1rem;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em;color:#ddd;text-decoration:none;border-left:3px solid transparent;transition:color .15s,background .15s}
.sidebar nav > a:hover{color:var(--verde)}
.sidebar nav > a.ativo{color:var(--verde);border-left-color:var(--verde);background:#161616}
.sidebar-rodape{padding:.8rem 1.1rem 0;border-top:1px solid #242424}
.sidebar-rodape #btn-logout{display:block;width:100%;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:lowercase;background:none;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);padding:.4rem;cursor:pointer;transition:all .15s}
.sidebar-rodape #btn-logout:hover{border-color:var(--vermelho);color:var(--vermelho)}
.sidebar-rodape p{font-family:var(--mono);font-size:.54rem;letter-spacing:.16em;color:#666;margin:.7rem 0 0;line-height:1.7}
main{padding:2rem clamp(1.2rem,3.5vw,3rem) 4rem;min-width:0}

/* ---------- tipografia base ---------- */
.eyebrow{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza);margin:0 0 .7rem}
.eyebrow b{font-weight:500;color:var(--ink);background:var(--verde);padding:.08rem .35rem}
h1.pagina{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.96;text-wrap:balance;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--ink);margin:0 0 .5rem}
h2.secao{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.98rem;color:var(--ink);margin:2rem 0 .7rem;letter-spacing:.02em}
h2.secao .destaque{background:var(--verde);padding:.06rem .3rem}
p.lede{font-size:.92rem;max-width:48em;color:var(--ink);margin:.3rem 0 0;font-weight:400}
p.corpo{max-width:48em;color:var(--cinza);margin:.5rem 0 0;font-weight:400;font-size:.86rem}
.destaque{color:var(--ink)}
.mono{font-family:var(--mono)}

/* ---------- KPIs topo ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);margin-top:1.3rem}
.kpi{background:var(--surface);padding:.9rem 1rem}
.kpi .n{font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1;color:var(--ink)}
.kpi .l{font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza);margin-top:.35rem}
.kpi.destaque{background:var(--ink)}
.kpi.destaque .n{color:var(--verde)}
.kpi.destaque .l{color:#bbb}
.kpi .barra{height:4px;background:var(--bg-alt);margin-top:.5rem;position:relative}
.kpi .barra i{position:absolute;inset:0 auto 0 0;height:100%;background:var(--verde-escuro)}

/* ---------- toolbar ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza);background:var(--surface);border:1px solid var(--linha);padding:.32rem .6rem;cursor:pointer;transition:all .15s}
.chip:hover{color:var(--ink);border-color:var(--cinza-2)}
.chip.ativo{color:var(--preto);background:var(--verde);border-color:var(--verde);font-weight:500}
.chip .c{opacity:.6;margin-left:.35rem}
.busca{font-family:var(--mono);font-size:.72rem;background:var(--surface);border:1px solid var(--linha);color:var(--ink);padding:.4rem .65rem;min-width:200px}
.busca::placeholder{color:var(--cinza-2);letter-spacing:.05em}
.busca:focus{border-color:var(--ink);outline:none}

/* ---------- tabela carteira ---------- */
table.tabela{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--surface);border:1px solid var(--linha)}
table.tabela th{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);text-align:left;font-weight:400;padding:.5rem .7rem;border-bottom:1px solid var(--linha);background:var(--bg);white-space:nowrap}
table.tabela td{padding:.55rem .7rem;border-bottom:1px solid var(--linha);font-size:.8rem;color:var(--ink);font-weight:400;vertical-align:middle}
table.tabela tr:last-child td{border-bottom:none}
table.tabela .lin{position:relative;cursor:pointer}
tr.lin:hover td{background:#FBFBF9}
.cel-nome{font-weight:600;font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;font-size:.82rem}
.cel-sub{font-family:var(--mono);font-size:.55rem;letter-spacing:.06em;color:var(--cinza-2);text-transform:none;margin-top:.1rem}

/* ---------- coluna "onde parou" + estrela priorizar ---------- */
table.tabela-carteira td{vertical-align:top}
.col-star{width:34px;text-align:center;padding-left:.5rem;padding-right:0}
.col-onde{font-size:.76rem;color:var(--cinza);line-height:1.4;white-space:normal;max-width:460px}
.col-rep{white-space:nowrap;width:1%}
.estrela{
  background:none;border:none;cursor:pointer;padding:.1rem .2rem;line-height:1;
  font-size:1.05rem;color:var(--cinza-2);transition:color .15s,transform .1s;
}
.estrela:hover{color:var(--verde-escuro);transform:scale(1.15)}
.estrela.on{color:var(--verde-escuro)}
.btn-estrela{
  align-self:flex-start;flex:none;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
  background:var(--surface);border:1px solid var(--linha);color:var(--cinza);
  padding:.5rem .8rem;cursor:pointer;transition:all .15s;white-space:nowrap;
}
.btn-estrela:hover{border-color:var(--verde-escuro);color:var(--ink)}
.btn-estrela.on{background:var(--verde);border-color:var(--verde);color:var(--preto);font-weight:600}

/* ---------- badges / pills ---------- */
.badge{display:inline-block;font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--preto);background:var(--verde);padding:.1rem .4rem;white-space:nowrap}
.badge.cinza{color:var(--cinza);background:none;border:1px solid var(--linha)}
.badge.vermelho{color:#fff;background:var(--vermelho)}
.badge.ambar{color:#fff;background:var(--ambar)}

/* status de repasse */
.rep{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.rep .dot{width:8px;height:8px;flex:none;border-radius:50%}
.rep.a_repassar .dot{background:var(--cinza-2)}
.rep.apresentado .dot{background:var(--azul)}
.rep.em_transicao .dot{background:var(--ambar)}
.rep.concluido .dot{background:var(--verde-escuro)}
.rep.na{color:var(--cinza-2)}
.rep.na .dot{background:var(--linha)}

/* prioridade pill */
.prio{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;padding:.08rem .38rem;border:1px solid var(--linha);color:var(--cinza)}
.prio.alta{color:var(--preto);background:var(--verde);border-color:var(--verde);font-weight:500}
.prio.media{color:var(--ink);border-color:var(--cinza-2)}

/* select inline de status */
select.sel-rep{font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;background:var(--surface);color:var(--ink);border:1px solid var(--linha);padding:.28rem .4rem;cursor:pointer;max-width:150px}
select.sel-rep:hover{border-color:var(--ink)}
select.sel-rep:focus{border-color:var(--ink);outline:none}

/* ---------- perfil da conta ---------- */
.voltar{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);text-decoration:none;display:inline-block;margin-bottom:1rem;background:none;border:none;cursor:pointer;padding:0}
.voltar:hover{color:var(--ink)}
.perfil-topo{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between}
.perfil-topo .titulo{min-width:260px}
.perfil-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;align-items:center}
.grid-blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);margin-top:1.2rem}
.bloco{background:var(--surface);padding:.95rem 1.05rem}
.bloco.span2{grid-column:1/-1}
.bloco h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.74rem;letter-spacing:.04em;color:var(--ink);margin:0 0 .6rem;border-bottom:2px solid var(--verde);display:inline-block;padding-bottom:.15rem}
.bloco h3.vermelho{border-bottom-color:var(--vermelho)}
.bloco h3.ambar{border-bottom-color:var(--ambar)}
.bloco p{margin:0;font-size:.84rem;color:var(--ink);font-weight:400;line-height:1.55}
.bloco p.vazio{color:var(--cinza-2);font-style:italic}
.bloco .kv{display:flex;gap:.6rem;font-size:.8rem;padding:.3rem 0;border-top:1px solid var(--linha)}
.bloco .kv:first-of-type{border-top:none}
.bloco .kv b{font-family:var(--mono);font-weight:400;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza-2);flex:none;width:92px;padding-top:.18rem}
.bloco .kv span{color:var(--ink);font-weight:400}

/* painel de repasse (perfil) */
.repasse-painel{background:var(--surface);border:1px solid var(--ink);padding:1rem 1.1rem;margin-top:1.2rem}
.repasse-painel h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.82rem;margin:0 0 .8rem;border-bottom:2px solid var(--verde);display:inline-block;padding-bottom:.12rem}
.passos-rep{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.passo-rep{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--linha);background:var(--surface);color:var(--cinza);padding:.4rem .7rem;cursor:pointer;transition:all .15s}
.passo-rep:hover{border-color:var(--ink);color:var(--ink)}
.passo-rep.ativo{background:var(--ink);color:var(--verde);border-color:var(--ink)}
.passo-rep.feito{border-color:var(--verde-escuro);color:var(--verde-escuro)}
.nota-rep{width:100%;font-family:var(--body);font-size:.86rem;line-height:1.55;background:var(--bg);border:1px solid var(--linha);color:var(--ink);padding:.6rem .7rem;resize:vertical;min-height:80px}
.nota-rep:focus{border-color:var(--ink);outline:none}
.rep-meta{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;color:var(--cinza-2);margin-top:.5rem}

/* ---------- levas de 5 (priorização) ---------- */
.leva-hdr{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);margin:1.4rem 0 .4rem;padding-bottom:.25rem;border-bottom:1px solid var(--linha);
}
.leva-hdr span{color:var(--cinza-2);letter-spacing:.08em}

/* ---------- cards arrastáveis de prioridade ---------- */
.prio-lista{display:flex;flex-direction:column;gap:1px;background:var(--linha);border:1px solid var(--linha);margin-top:.3rem}
.card-prio{
  display:flex;gap:.2rem;background:var(--surface);
  cursor:grab;transition:background .12s,box-shadow .12s;
}
.card-prio:hover{background:#FCFEE4}
.card-prio.arrastando{opacity:.5;background:var(--verde);cursor:grabbing;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.cp-drag{
  flex:none;width:26px;display:flex;align-items:center;justify-content:center;
  color:var(--cinza-2);font-size:1rem;cursor:grab;user-select:none;
}
.card-prio:hover .cp-drag{color:var(--ink)}
.cp-corpo{flex:1;min-width:0;padding:.7rem .85rem .7rem .1rem;display:flex;flex-direction:column;gap:.35rem}
.cp-topo{display:flex;align-items:center;gap:.5rem}
.cp-pos{font-family:var(--mono);font-size:.6rem;color:var(--cinza-2);font-weight:500}
.cp-leva{font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--preto);background:var(--verde);padding:.08rem .4rem}
.cp-star{margin-left:auto}
.cp-nome{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.9rem;line-height:1.1;letter-spacing:.01em}
.cp-onde{font-size:.76rem;color:var(--cinza);line-height:1.4}
.cp-rodape{display:flex;align-items:center;gap:.7rem;margin-top:.1rem}
.cp-abrir{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza-2);cursor:pointer}
.cp-abrir:hover{color:var(--ink)}

/* ---------- link de contexto (perfil) ---------- */
.ctx-linha{display:flex;gap:.5rem;align-items:center;margin-top:.7rem}
.ctx-input{
  flex:1;font-family:var(--mono);font-size:.72rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--linha);padding:.5rem .6rem;
}
.ctx-input:focus{border-color:var(--ink);outline:none}
.ctx-input::placeholder{color:var(--cinza-2)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:var(--surface);border:1px solid var(--ink);color:var(--ink);padding:.52rem .95rem;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:var(--verde)}
.btn.primario{background:var(--verde);border-color:var(--verde);color:var(--preto);font-weight:600}
.btn.primario:hover{background:var(--ink);color:var(--verde);border-color:var(--ink)}
.btn.mini{font-size:.6rem;padding:.32rem .6rem}

/* ---------- empty ---------- */
.vazio-el{border:1px dashed var(--cinza-2);background:var(--surface);padding:1.6rem 1.4rem;margin-top:1.2rem}
.vazio-el h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1rem;color:var(--cinza);margin:0 0 .4rem}
.vazio-el p{max-width:44em;color:var(--cinza);font-weight:400;margin:.2rem 0 0;font-size:.8rem}

/* ---------- login ---------- */
body.nao-auth .shell{display:none}
.login-tela{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1.5rem}
.login-caixa{width:100%;max-width:360px}
.login-marca{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;margin-bottom:2.4rem}
.login-marca svg{width:30px;height:30px;fill:var(--ink)}
.login-marca b{color:var(--verde-escuro)}
.login-caixa .eyebrow{margin-bottom:.5rem}
.login-caixa h1{font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;margin:0 0 1.6rem}
.login-caixa form{display:flex;flex-direction:column;gap:1rem}
.login-caixa label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cinza)}
.login-caixa input{font-family:var(--body);font-size:.95rem;padding:.65rem .75rem;border:1px solid var(--linha);background:var(--surface);color:var(--ink);transition:border-color .15s}
.login-caixa input:focus{outline:none;border-color:var(--ink)}
.login-caixa button[type=submit]{margin-top:.5rem;width:100%;justify-content:center}
.login-erro{font-family:var(--mono);font-size:.7rem;color:var(--vermelho);margin:0}
.login-nota{font-family:var(--mono);font-size:.57rem;color:var(--cinza-2);margin-top:1.6rem;line-height:1.7}

/* ---------- toast ---------- */
.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--verde);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.6rem 1.1rem;z-index:300;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.show{opacity:1}

/* ---------- responsivo ---------- */
@media (max-width:880px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  main{padding:1.4rem 1rem 3rem}
  table.tabela{display:block;overflow-x:auto;white-space:nowrap}
}
