/* ===========================================================================
   CRM Leo — Design System "Gesso e Ouro" (identidade CT Pneumática)
   Mesma estrutura do CRM HES — só a paleta muda, do verde da Hidráulica
   Engenharia para o preto de osso + ouro da Pneumática Automação.
   =========================================================================== */
:root{
  /* fundos — preto de osso, quente, nunca puro */
  --fundo:#0a0908; --branco:#14110d; --linha-2:#191512; --linha:#2b241c;

  /* ouro — hierarquia, ação e realce (era o verde #1D6F5A da Hidráulica) */
  --azul:#d4af37; --azul-2:#8a6d1f; --azul-claro:rgba(212,175,55,.14);
  --marca:#d4af37; --marca-esc:#f2dc8c;
  --su-ouro:#1a1611;   /* texto escuro sobre fundo de ouro — nunca branco puro em cima de ouro */

  /* gesso — texto sobre fundo escuro */
  --tinta:#f3eee4; --tinta-2:#cec5b5; --muted:#8f8879;

  /* pigmentos florentinos para estado */
  --verde:#8fc79f; --verde-bg:rgba(143,199,159,.12);
  --vermelho:#e0806c; --verm-bg:rgba(224,128,108,.12);
  --ambar:#e8ab52; --ambar-bg:rgba(232,171,82,.12);
  --roxo:#93b4cf; --roxo-bg:rgba(147,180,207,.12);

  --sombra:0 1px 2px rgba(0,0,0,.35),0 4px 16px rgba(0,0,0,.30);
  --sombra-2:0 8px 40px rgba(0,0,0,.55);
  --r:10px; --r-sm:7px; --side:248px;
  --ff:'Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  --ff-display:'Segoe UI Variable Display','Segoe UI Semibold','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--ff);color:var(--tinta);background:var(--fundo);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em;font-family:var(--ff-display)}
a{color:var(--azul);text-decoration:none}
button{font-family:inherit}
.muted{color:var(--muted)} .sm{font-size:12px} .mb{margin-bottom:10px} .flex1{flex:1}
.erro{color:var(--vermelho);padding:20px;font-weight:600}

/* ---------- Botões ---------- */
.btn{border:1px solid var(--linha);background:var(--branco);color:var(--tinta);padding:8px 14px;border-radius:var(--r-sm);font-weight:600;cursor:pointer;font-size:13px;transition:.12s;white-space:nowrap}
.btn:hover{border-color:var(--azul);color:var(--azul)}
.btn--primary{background:var(--azul);border-color:var(--azul);color:var(--su-ouro)}
.btn--primary:hover{background:var(--marca-esc);color:var(--su-ouro)}
.btn--ghost{background:transparent}
.btn--danger{background:var(--verm-bg);border-color:transparent;color:var(--vermelho)}
.btn--danger:hover{background:var(--vermelho);color:var(--su-ouro)}
.btn--bloco{width:100%;margin-top:6px;padding:11px}
.btn--sm{padding:6px 10px;font-size:12px} .btn--xs{padding:3px 7px;font-size:11px}
.btn-row{display:flex;gap:10px;flex-wrap:wrap} .btn-row .btn{margin:0}

/* ---------- Telas de acesso ---------- */
.tela-acesso{background:radial-gradient(120% 120% at 20% -10%,#221d18 0%,#0a0908 60%)}
.acesso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.acesso-card{background:var(--branco);border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sombra-2);padding:34px;width:100%;max-width:410px}
.acesso-marca{display:flex;align-items:center;gap:13px;margin-bottom:6px}
.acesso-marca h1{font-size:19px} .acesso-marca p{margin:2px 0 0;color:var(--muted);font-size:13px}
.acesso-marca-txt strong{display:block;font:600 20px/1.1 var(--ff-display);letter-spacing:.1px;color:var(--tinta)}
.acesso-marca-txt span{display:block;font:500 12px var(--ff);color:var(--azul);letter-spacing:.1px;margin-top:5px}
.acesso-intro{color:var(--tinta-2);font-size:13px;margin:14px 0 18px}
.acesso-erro{color:var(--vermelho);font-size:13px;min-height:18px;margin:4px 0;font-weight:600}
.acesso-rod{margin-top:16px;text-align:center} .acesso-link{font-size:12.5px}
.logo-quad{width:46px;height:46px;border-radius:11px;background:linear-gradient(135deg,#d4af37,#8a6d1f);color:var(--su-ouro);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;letter-spacing:.5px;flex:none}
.logo-img{height:42px;width:auto;display:block}
.side-marca .logo-img{height:30px}
.acesso-marca .logo-img{width:48px;height:36px;object-fit:contain;flex-shrink:0}
.codigo-rec{font-family:Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:1px;background:var(--azul-claro);color:var(--marca-esc);padding:14px;border-radius:10px;text-align:center;margin:12px 0;user-select:all}
.setup-ok p{font-size:13px;color:var(--tinta-2)}

/* ---------- App shell ---------- */
#app{display:flex;min-height:100vh}
.sidebar{width:var(--side);background:linear-gradient(180deg,#0c0a08,#14110d);color:var(--tinta-2);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30;border-right:1px solid var(--linha)}
/* lockup idêntico ao CT Pneumática: app/styles.css .logo (ícone 48x36 + título/subtítulo) */
.side-marca{display:flex;align-items:center;gap:13px;padding:18px 16px 20px;position:relative}
.side-marca::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(212,175,55,.26),transparent)}
.side-marca .logo-img{width:48px;height:36px;object-fit:contain;flex-shrink:0}
.side-marca-txt strong{display:block;font:600 20px/1.1 var(--ff-display);letter-spacing:.1px;color:var(--tinta)}
.side-marca-txt span{display:block;font:500 12px var(--ff);color:var(--azul);letter-spacing:.1px;margin-top:5px}
.nav-list{flex:1;overflow:auto;padding:10px 8px}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;color:var(--tinta-2);font-weight:550;font-size:13.5px;cursor:pointer;margin-bottom:2px}
.nav-item:hover{background:rgba(212,175,55,.08);color:var(--tinta)}
.nav-item.ativo{background:var(--azul);color:var(--su-ouro)}
.nav-ic{width:20px;text-align:center;font-size:15px;opacity:.95}
.side-rod{padding:12px;border-top:1px solid var(--linha);display:flex;align-items:center;gap:8px}
.user-chip{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.user-av{width:34px;height:34px;border-radius:50%;background:var(--azul);color:var(--su-ouro);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.user-chip strong{display:block;color:var(--tinta);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip .muted{font-size:11px;color:var(--muted)}
.side-rod .btn{background:rgba(212,175,55,.08);border-color:transparent;color:var(--tinta-2)}
.side-rod .btn:hover{background:rgba(212,175,55,.16);color:var(--tinta)}

.conteudo{flex:1;margin-left:var(--side);display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:20;background:rgba(10,9,8,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:14px;padding:12px 22px}
.top-titulo{font-size:17px;font-weight:680;font-family:var(--ff-display);color:var(--azul)}
.top-acoes{margin-left:auto;display:flex;align-items:center;gap:10px}
.busca{width:300px;max-width:38vw}
.hamb{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--tinta)}
.view{padding:22px;overflow:auto}
.pagina{max-width:1280px;margin:0 auto;animation:fade .2s}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1}}

/* ---------- Inputs ---------- */
.inp{width:100%;border:1px solid var(--linha);border-radius:var(--r-sm);padding:8px 11px;font-size:13.5px;font-family:inherit;background:var(--linha-2);color:var(--tinta)}
.inp:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px var(--azul-claro)}
textarea.inp{resize:vertical;min-height:62px}
.campo{display:block;margin-bottom:13px}
.campo-lbl{display:block;font-size:12px;font-weight:650;color:var(--tinta-2);margin-bottom:5px}
.campo-hint{font-size:11px;color:var(--muted)}
.campo.in{margin:0;min-width:220px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .col-2{grid-column:1/-1}
select.inp{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%238f8879'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:28px}
.chk{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--tinta-2);white-space:nowrap;cursor:pointer}

/* ---------- Toolbar ---------- */
.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.toolbar .inp{width:auto;min-width:170px}
.seg{display:inline-flex;background:var(--linha-2);border-radius:8px;padding:3px}
.seg-btn{border:none;background:none;padding:6px 14px;border-radius:6px;font-weight:600;font-size:13px;color:var(--tinta-2);cursor:pointer}
.seg-btn.ativo{background:var(--branco);color:var(--azul);box-shadow:var(--sombra)}

/* ---------- Blocos / seções ---------- */
.bloco{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:18px;margin-bottom:18px;box-shadow:var(--sombra)}
.bloco-t{font-size:14px;font-weight:680;margin-bottom:14px;color:var(--tinta);font-family:var(--ff-display)}
.duas-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* ---------- KPIs ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.kpi{border-radius:var(--r);padding:16px;border:1px solid var(--linha);background:var(--branco);position:relative;overflow:hidden}
.kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--azul)}
.kpi--verde::before{background:var(--verde)} .kpi--roxo::before{background:var(--roxo)}
.kpi--ambar::before{background:var(--ambar)} .kpi--cinza::before{background:var(--muted)}
.kpi-t{font-size:12px;color:var(--muted);font-weight:600}
.kpi-v{font-size:25px;font-weight:760;margin:5px 0 2px;letter-spacing:-.02em;color:var(--tinta);font-family:var(--ff-display)}
.kpi-sub{font-size:11.5px;color:var(--muted)}

/* ---------- Funil resumo ---------- */
.funil-linha{display:flex;align-items:center;gap:14px;padding:7px 0;cursor:pointer}
.funil-linha:hover{opacity:.85}
.funil-rot{width:170px;flex:none}
.funil-bar-wrap{flex:1;background:var(--linha-2);border-radius:6px;height:16px;overflow:hidden}
.funil-bar{height:100%;background:linear-gradient(90deg,#8a6d1f,#d4af37);border-radius:6px}
.funil-val{width:210px;text-align:right;font-size:13px;color:var(--tinta-2)}

/* ---------- Tabela ---------- */
.tbl-wrap{overflow:auto;border:1px solid var(--linha);border-radius:var(--r);background:var(--branco)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;padding:10px 13px;background:var(--linha-2);color:var(--tinta-2);font-weight:650;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--linha);position:sticky;top:0}
.tbl td{padding:10px 13px;border-bottom:1px solid var(--linha-2);vertical-align:top;color:var(--tinta)}
.tbl tr:last-child td{border-bottom:none}
.tbl tr.clicavel{cursor:pointer} .tbl tr.clicavel:hover td{background:var(--azul-claro)}
.tbl .num{text-align:right;white-space:nowrap}
.tbl .vazio{text-align:center;color:var(--muted);padding:26px}

/* ---------- Paginação (Prospects — base grande) ---------- */
.pgn{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.pgn .muted{font-size:12.5px}

/* ---------- Badges ---------- */
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:650;white-space:nowrap;line-height:1.7}
.b-prosp{background:var(--linha-2);color:var(--tinta-2)} .b-mape{background:var(--roxo-bg);color:var(--roxo)}
.b-elab{background:var(--ambar-bg);color:var(--ambar)} .b-env{background:var(--verde-bg);color:var(--verde)}
.b-real{background:var(--roxo-bg);color:var(--roxo)} .b-follow{background:var(--verde-bg);color:var(--verde)}
.b-stand{background:var(--linha-2);color:var(--muted)} .b-recor{background:var(--verde-bg);color:var(--verde)}
.b-ganha{background:var(--verde-bg);color:var(--verde)} .b-perdida{background:var(--verm-bg);color:var(--vermelho)}
.b-afazer{background:var(--linha-2);color:var(--tinta-2)} .b-andam{background:var(--ambar-bg);color:var(--ambar)}
.b-concl{background:var(--verde-bg);color:var(--verde)} .b-atras{background:var(--verm-bg);color:var(--vermelho)}
.prio-alta{background:var(--verm-bg);color:var(--vermelho)} .prio-media{background:var(--ambar-bg);color:var(--ambar)} .prio-baixa{background:var(--linha-2);color:var(--tinta-2)}
.b-ambar{background:var(--ambar-bg);color:var(--ambar)}
.tag-passo{font-size:10.5px;color:var(--azul);background:var(--azul-claro);padding:1px 6px;border-radius:5px;margin-left:6px;white-space:nowrap}

/* ---------- Kanban ---------- */
.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.kan-col{flex:0 0 270px;background:var(--linha-2);border-radius:var(--r);padding:10px;max-height:calc(100vh - 200px);display:flex;flex-direction:column}
.kan-col.kan-over{outline:2px dashed var(--azul);outline-offset:-2px;background:var(--azul-claro)}
.kan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;padding:0 2px}
.kan-meta{font-size:11px;color:var(--muted);font-weight:600}
.kan-body{overflow-y:auto;display:flex;flex-direction:column;gap:9px;min-height:30px}
.opp-card{background:var(--branco);border:1px solid var(--linha);border-radius:9px;padding:11px;cursor:pointer;box-shadow:var(--sombra);transition:.12s}
.opp-card:hover{border-color:var(--azul);transform:translateY(-1px)}
.opp-card.arrastando{opacity:.4}
.opp-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.opp-id{font-size:10.5px;font-weight:700;color:var(--muted)}
.opp-card-tit{font-weight:650;font-size:13px;line-height:1.3;margin-bottom:3px;color:var(--tinta)}
.opp-card-cli{font-size:11.5px;color:var(--muted);margin-bottom:7px}
.opp-card-bot{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.opp-card-marca{margin-top:7px;font-size:10.5px;color:var(--azul);background:var(--azul-claro);display:inline-block;padding:1px 7px;border-radius:5px}

/* ---------- Detalhe Opp ---------- */
.det-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.det-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:20px;box-shadow:var(--sombra);margin-bottom:14px}
.det-id{font-size:11.5px;font-weight:700;color:var(--muted)}
.det-tit{font-size:21px;margin:3px 0 5px;color:var(--tinta);font-family:var(--ff-display)}
.det-cli{color:var(--tinta-2);font-size:13.5px}
.det-kpis{display:flex;gap:10px;flex:none}
.det-kpi{background:var(--azul-claro);border-radius:9px;padding:10px 16px;text-align:right;min-width:96px}
.det-kpi span{display:block;font-size:11px;color:var(--marca-esc);font-weight:600} .det-kpi strong{font-size:17px;color:var(--marca-esc)}
.det-faixa{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:14px 18px;box-shadow:var(--sombra);margin-bottom:14px}
.info-mini span{display:block;font-size:11px;color:var(--muted);font-weight:600} .info-mini strong{font-size:13px;color:var(--tinta)}
.det-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.txt{font-size:13.5px;color:var(--tinta-2);white-space:pre-wrap;line-height:1.55}
.kv{display:flex;flex-direction:column;gap:7px}
.kv-row{display:flex;gap:10px;font-size:13px;border-bottom:1px solid var(--linha-2);padding-bottom:6px}
.kv-k{width:120px;flex:none;color:var(--muted);font-weight:600} .kv-v{color:var(--tinta);white-space:pre-wrap}

/* ações */
.acao-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--linha);border-radius:8px;margin-bottom:8px;background:var(--linha-2)}
.acao-main{flex:1} .acao-oque{font-weight:600;font-size:13px;margin-bottom:4px;color:var(--tinta)}
.acao-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.acao-acoes{display:flex;gap:4px;flex:none}

/* timeline */
.timeline{position:relative}
.tl-add{margin-bottom:16px}
.tl-item{display:flex;gap:12px;position:relative;padding-bottom:14px}
.tl-item::before{content:'';position:absolute;left:6px;top:16px;bottom:0;width:2px;background:var(--linha)}
.tl-item:last-child::before{display:none}
.tl-dot{width:14px;height:14px;border-radius:50%;background:var(--azul);border:3px solid var(--fundo);box-shadow:0 0 0 1px var(--azul);flex:none;margin-top:3px;z-index:1}
.tl-card{flex:1;background:var(--branco);border:1px solid var(--linha);border-radius:9px;padding:11px 13px;box-shadow:var(--sombra)}
.tl-head{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tinta)}
.tl-x{margin-left:auto;border:none;background:none;color:var(--muted);cursor:pointer;font-size:12px}
.tl-x:hover{color:var(--vermelho)}
.tl-at{margin-top:5px;font-size:13.5px;color:var(--tinta)}
.tl-res{margin-top:4px;font-size:13px;color:var(--tinta-2)}
.tl-next{margin-top:6px;font-size:13px;color:var(--marca-esc);font-weight:600;background:var(--azul-claro);padding:5px 9px;border-radius:6px}

/* capacidades / catálogo */
.cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}
.cap-card{border:1px solid var(--linha);border-radius:9px;padding:14px;background:var(--linha-2)}
.cap-card h4{font-size:14px;margin-bottom:7px;color:var(--marca-esc)}
.cap-card p{font-size:12.5px;margin:4px 0;color:var(--tinta-2)}
.cap-linha{margin-top:8px;font-size:11px;color:var(--azul);background:var(--azul-claro);display:inline-block;padding:2px 8px;border-radius:5px}
.cat-fams{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cat-fam h4{font-size:13px;color:var(--marca-esc);margin-bottom:5px} .cat-fam ul{margin:0;padding-left:17px} .cat-fam li{font-size:12.5px;color:var(--tinta-2);margin:2px 0}

/* ---------- Modal ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto;animation:fade .15s}
.modal{background:var(--branco);border:1px solid var(--linha);border-radius:14px;box-shadow:var(--sombra-2);width:100%;max-width:560px;animation:up .2s}
@keyframes up{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--linha)}
.modal-head h3{font-size:16px;color:var(--tinta)}
.modal-x{border:none;background:none;font-size:16px;cursor:pointer;color:var(--muted);padding:4px}
.modal-x:hover{color:var(--vermelho)}
.modal-body{padding:20px;max-height:68vh;overflow:auto}
.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--linha);background:var(--linha-2);border-radius:0 0 14px 14px}
.aviso{background:var(--ambar-bg);color:var(--ambar);padding:9px 12px;border-radius:7px;font-size:13px;margin-bottom:12px}
.busca-item{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--tinta)}
.busca-item:hover{background:var(--azul-claro)}

/* ---------- Toasts ---------- */
#toasts{position:fixed;bottom:22px;right:22px;z-index:200;display:flex;flex-direction:column;gap:9px}
.toast{background:var(--linha-2);color:var(--tinta);padding:11px 16px;border-radius:9px;font-size:13.5px;font-weight:550;box-shadow:var(--sombra-2);animation:up .2s;max-width:340px;border:1px solid var(--linha)}
.toast--ok{border-left:4px solid var(--verde)}
.toast--erro{border-left:4px solid var(--vermelho)}
.toast--out{opacity:0;transform:translateX(20px);transition:.3s}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .sidebar{transform:translateX(-100%);transition:.25s;box-shadow:var(--sombra-2)}
  body.side-open .sidebar{transform:none}
  .conteudo{margin-left:0}
  .hamb{display:block}
  .busca{width:160px}
  .duas-col,.det-cols,.form-grid{grid-template-columns:1fr}
  .det-head{flex-direction:column} .det-kpis{width:100%}
}

/* =========================================================================
   6.1 — Componentes portados do CRM Tom Mittos (paleta Gesso e Ouro)
   ========================================================================= */
/* Abas dos dashboards de gestão */
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.aba{border:1px solid var(--linha);background:var(--branco);color:var(--tinta-2);padding:8px 15px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;transition:.12s}
.aba:hover{border-color:var(--azul);color:var(--azul)}
.aba--ativa{background:var(--azul);border-color:var(--azul);color:var(--su-ouro)}

/* Cards por fabricante / região */
.fab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fab-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:15px;box-shadow:var(--sombra)}
.fab-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.fab-linha{margin:4px 0;font-size:13px;color:var(--tinta-2)}

/* Barras de gráfico (gestão) */
.gbar{display:flex;align-items:center;gap:12px;padding:5px 0}
.gbar-lbl{width:200px;flex:none;font-size:12.5px;color:var(--tinta-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gbar-track{flex:1;height:12px;background:var(--linha-2);border-radius:999px;overflow:hidden}
.gbar-fill{height:100%;background:var(--azul);border-radius:999px;transition:width .3s}
.gbar-val{width:120px;flex:none;text-align:right;font-size:12.5px;font-weight:650;color:var(--tinta)}

/* Agenda — bloco de prevenção em destaque */
.bloco--alerta{border-left:4px solid var(--ambar)}

/* Botão Agenda na topbar + contador */
.btn--agenda{background:var(--ambar-bg);border-color:transparent;color:var(--ambar);font-weight:700}
.btn--agenda:hover{background:var(--ambar);color:var(--su-ouro)}
.agenda-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:var(--vermelho);color:var(--su-ouro);font-size:11px;font-weight:700}

/* Aprovar / recusar proposta (1 clique) */
.btn--aprovar{background:var(--verde-bg);border-color:transparent;color:var(--verde);font-weight:700}
.btn--aprovar:hover{background:var(--verde);color:var(--su-ouro)}
.btn--recusar{background:var(--verm-bg);border-color:transparent;color:var(--vermelho);font-weight:700}
.btn--recusar:hover{background:var(--vermelho);color:var(--su-ouro)}

/* Kanban 6.1: velocidade da etapa + mover + alerta follow-up */
.kan-vel{font-size:11px;color:var(--muted);padding:2px 10px 6px;font-weight:600}
.opp-card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}
.opp-card-mover{margin-top:7px;border-top:1px dashed var(--linha);padding-top:7px}
.opp-card-mover select{width:100%;font-size:11.5px;padding:4px 24px 4px 8px}
.opp-card--atraso{border-left:3px solid var(--vermelho)}
.opp-card-alerta{color:var(--vermelho);font-size:11.5px;font-weight:650;margin-top:4px}

/* Faixa de follow-up no detalhe */
.det-faixa--follow{background:var(--azul-claro);border-radius:var(--r-sm);padding:10px 14px}

/* Histórico de alterações do card */
.hist-lista{max-height:340px;overflow:auto}
.hist-item{padding:7px 0;border-bottom:1px solid var(--linha-2);font-size:13px;color:var(--tinta-2)}
.hist-item:last-child{border-bottom:none}

/* Perfil com foto */
.perfil-linha{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.perfil-av{width:72px;height:72px;border-radius:50%;background:var(--azul);color:var(--su-ouro);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;overflow:hidden;flex:none}
.perfil-av img{width:100%;height:100%;object-fit:cover}

/* Config: listas editáveis */
.cfg-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--linha-2);font-size:13px;color:var(--tinta)}

/* Botão flutuante de instalação do app (PWA) */
.btn-instalar{position:fixed;right:16px;bottom:16px;z-index:80;background:var(--azul);color:var(--su-ouro);border:none;border-radius:999px;padding:12px 18px;font-weight:700;font-size:14px;font-family:var(--ff);box-shadow:0 6px 24px rgba(0,0,0,.5);cursor:pointer;transition:.15s}
.btn-instalar:hover{background:var(--marca-esc);transform:translateY(-1px)}
@media (max-width:760px){.btn-instalar{left:16px;right:16px;text-align:center}}

/* Ditado por voz (áudio vira texto) */
.btn-mic{border:1px solid var(--linha);background:var(--linha-2);border-radius:999px;padding:2px 9px;font-size:12.5px;font-family:var(--ff);cursor:pointer;vertical-align:middle;color:var(--tinta-2)}
.btn-mic:hover{border-color:var(--azul);color:var(--azul)}
.btn-mic.rec{background:var(--verm-bg);border-color:var(--vermelho);animation:mic-pulse 1s infinite}
@keyframes mic-pulse{50%{opacity:.5}}

/* Calendário de visitas (Diretoria) */
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cal-titulo{font-size:15px;font-weight:700;color:var(--marca-esc);font-family:var(--ff-display)}
.cal-legenda{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.cal-chip{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;color:var(--su-ouro)}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-cab{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0;text-transform:uppercase}
.cal-dia{background:var(--branco);border:1px solid var(--linha);border-radius:8px;min-height:74px;padding:4px;overflow:hidden}
.cal-dia--vazio{background:transparent;border-color:transparent}
.cal-dia--hoje{border-color:var(--azul);box-shadow:0 0 0 2px var(--azul-claro)}
.cal-dia-num{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:3px}
.cal-vis{font-size:10.5px;font-weight:650;color:var(--su-ouro);border-radius:6px;padding:2px 6px;margin-bottom:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-vis:hover{opacity:.85}
.vis-tiao{background:var(--azul)}
.vis-berg{background:var(--roxo)}
.vis-veras{background:var(--ambar)}
@media (max-width:760px){.cal-dia{min-height:56px}.cal-vis{font-size:9.5px;padding:2px 4px}}


/* dropdown próprio de contatos (v90) */
.sug-box { position: relative; }
.sug-list { position: absolute; top: 100%; left: 0; right: 0; z-index: 60; background: var(--branco);
  border: 1px solid var(--linha); border-radius: 8px; max-height: 230px; overflow: auto;
  box-shadow: var(--sombra-2); margin-top: 3px; }
.sug-item { padding: 8px 11px; cursor: pointer; font-size: .92rem; color: var(--tinta); }
.sug-item:hover { background: var(--azul-claro); }
