/* ============================================================
   HUB — estilos. Identidade NADA Studio: preto e branco puro,
   ar editorial. Hierarquia por peso/borda/ícone, nunca por cor —
   ver "Identidade visual/Guia-NADA-Studio.pdf".
   ============================================================ */
:root{
  --preto:#000; --branco:#FFF;
  --cinza-900:#1C1C1E; --cinza-700:#3F3F42; --cinza-600:#6B6B6E; --cinza-400:#9A9A9E;
  --cinza-300:#E4E4E7; --cinza-150:#EFEFF1; --fundo:#F7F7F8;
  --sombra:0 1px 2px rgba(0,0,0,.04);
  --borda:1.5px solid var(--cinza-300);
  /* --texto/--superficie são os únicos tokens que trocam no modo escuro —
     --preto/--branco continuam puros (selos preenchidos, telas de
     login/carregando) pra manter contraste garantido nesses casos. */
  --texto:var(--preto); --superficie:var(--branco);
}
/* ===== MODO ESCURO — só troca os tokens neutros; preto/branco continuam
   puros pra não quebrar selo preenchido (fundo preto + texto branco). ===== */
html[data-tema="escuro"]{
  --fundo:#18181B; --superficie:#1E1E22;
  --cinza-150:#232326; --cinza-300:#35353A; --cinza-400:#77777F;
  --cinza-600:#A6A6AD; --cinza-700:#D4D4D8;
  --texto:#F4F4F5;
  --sombra:0 1px 3px rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',sans-serif}
/* Trava de largura: um texto/link comprido sem espaço em algum card não pode
   empurrar a página inteira mais larga que a tela (é o que trava o zoom no
   celular sem voltar ao normal — ver melhoria "mobile/zoom"). */
html{overflow-x:hidden;max-width:100%}
body{background:var(--fundo);color:var(--texto);min-height:100vh;overflow-x:hidden;max-width:100%}
button{cursor:pointer;font-family:'Inter',sans-serif}
input,textarea,select{font-family:'Inter',sans-serif;font-size:14px}
.ico{width:18px;height:18px;display:block}
.icoWrap{display:inline-flex;align-items:center;justify-content:center}
.icoWrap .ico{width:1em;height:1em}

@keyframes surgir{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.animar-entrada{animation:surgir .45s cubic-bezier(.2,.8,.2,1) both}

/* ===== CARREGANDO — visível por padrão até checar sessão (evita flash do login) ===== */
#telaCarregando{position:fixed;inset:0;background:var(--preto);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:110}
.spinnerCarga{width:34px;height:34px;border-radius:50%;margin-top:28px;background:radial-gradient(circle at 32% 28%, #fff, rgba(255,255,255,.12) 68%);animation:respirar 1.5s cubic-bezier(.45,0,.2,1) infinite}
.estadoCarregando{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:90px 20px;color:var(--cinza-600);font-size:13px}
.spinnerInline{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 32% 28%, var(--cinza-600), var(--preto) 68%);animation:respirar 1.5s cubic-bezier(.45,0,.2,1) infinite}
@keyframes respirar{0%,100%{transform:scale(.78);opacity:.55}50%{transform:scale(1);opacity:1}}

/* ===== LOGIN — seção de impacto em preto, per guia ===== */
#telaLogin{position:fixed;inset:0;background:var(--preto);display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;z-index:100;overflow:hidden}
#telaLogin::before{content:'';position:absolute;top:50%;left:50%;width:640px;height:640px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);pointer-events:none}
.logoLogin{position:relative;width:180px;max-width:60vw;margin-bottom:8px;filter:drop-shadow(0 0 40px rgba(255,255,255,.08))}
.taglineLogin{position:relative;color:var(--cinza-400);font-size:12.5px;letter-spacing:.4px;margin-bottom:36px}
.cardLogin{position:relative;background:var(--superficie);border-radius:20px;padding:36px 32px;width:100%;max-width:400px;box-shadow:0 24px 70px rgba(0,0,0,.45);animation:surgir .5s both}
.cardLogin h1{font-size:20px;font-weight:800;text-align:center;margin-bottom:6px}
.cardLogin p{font-size:13px;color:var(--cinza-600);text-align:center;margin-bottom:24px}
.campo{margin-bottom:14px}
.campo label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.linhaLabel{display:flex;align-items:center;justify-content:space-between;gap:8px}
.linhaLabel label{margin-bottom:0}
.btnTelaCheia{background:none;border:none;padding:2px;color:var(--cinza-600);cursor:pointer;display:inline-flex;transition:.15s}
.btnTelaCheia:hover{color:var(--texto)}
.campo input,.campo textarea,.campo select{width:100%;padding:13px 16px;border:1.5px solid var(--cinza-300);border-radius:12px;outline:none;transition:.2s;background:var(--superficie);color:var(--texto)}
.campo input:focus,.campo textarea:focus,.campo select:focus{border-color:var(--texto)}
.campo textarea{resize:vertical;min-height:160px;line-height:1.5}
.campo input[type="file"]{padding:10px 12px;border:1.5px dashed var(--cinza-300);color:var(--cinza-600);font-size:12.5px;cursor:pointer}
.campo input[type="file"]::file-selector-button,
.campo input[type="file"]::-webkit-file-upload-button{margin-right:12px;padding:9px 16px;border:none;border-radius:9px;background:var(--preto);color:#fff;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;transition:.2s}
.campo input[type="file"]:hover::file-selector-button,
.campo input[type="file"]:hover::-webkit-file-upload-button{background:var(--cinza-900)}
.mdPreview{margin-top:8px;padding:10px 14px;border:1.5px dashed var(--cinza-300);border-radius:12px;font-size:13.5px;line-height:1.5;color:var(--texto);overflow-wrap:break-word}
.mdPreview:empty{display:none;border:none;padding:0;margin:0}
.mdPreviewFechado{max-height:64px;overflow:hidden;position:relative}
.mdPreviewFechado::after{content:'';position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(transparent,var(--superficie))}
.btnVerMais{display:block;margin:6px auto 0;padding:2px;background:none;border:none;font-size:12px;font-weight:700;color:var(--texto);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.mdPreview ul{margin:4px 0;padding-left:20px}
.mdPreview code{background:var(--fundo);padding:1px 5px;border-radius:5px;font-size:12px}
.mdPreview a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.overlayTelaCheia{position:fixed;inset:0;background:var(--superficie);z-index:150;display:flex;flex-direction:column;animation:surgir .2s both}
/* Barra flutuante e sutil (não mais texto grudado no canto) — label discreto
   à esquerda, ações (copiar/baixar/fechar) à direita, com respiro embaixo. */
.overlayTelaCheiaBarra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;border-bottom:1.5px solid var(--cinza-300);flex-shrink:0}
.overlayTelaCheiaLabel{font-size:12.5px;font-weight:700;color:var(--cinza-600);text-transform:uppercase;letter-spacing:.4px}
.overlayTelaCheiaAcoes{display:flex;align-items:center;gap:6px}
/* Corpo centralizado numa coluna de leitura confortável em vez de ocupar a
   tela inteira de ponta a ponta. */
.overlayTelaCheiaCorpo{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:32px 24px}
/* Cursor de texto nativo do Windows some em certos fundos (mesmo caso do
   cursor:grab do kanban) — ícone próprio (contorno preto + miolo branco). */
.overlayTelaCheia textarea{width:100%;max-width:760px;resize:none;border:1.5px solid var(--cinza-300);border-radius:12px;padding:24px 28px;font-size:16.5px;line-height:1.75;outline:none;background:var(--fundo);color:var(--texto);
  cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBmaWxsPSIjZmZmIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI3IiB5PSI0IiB3aWR0aD0iMTAiIGhlaWdodD0iMyIvPjxyZWN0IHg9IjEwLjUiIHk9IjQiIHdpZHRoPSIzIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iNyIgeT0iMTciIHdpZHRoPSIxMCIgaGVpZ2h0PSIzIi8+PC9nPjwvc3ZnPg==") 12 12, text;
}
/* Modo leitura (proposta/texto salvo, sem textarea) — mesma coluna, tipografia
   de leitura em vez de campo de formulário. */
.overlayTelaCheiaLeitura{width:100%;max-width:760px;font-size:16.5px;line-height:1.8;color:var(--texto);overflow-wrap:break-word}
.overlayTelaCheiaLeitura ul{margin:10px 0;padding-left:22px}
.overlayTelaCheiaLeitura code{background:var(--fundo);padding:2px 6px;border-radius:5px;font-size:14px}
.overlayTelaCheiaLeitura a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btnPrimario{width:100%;padding:14px;background:var(--preto);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btnPrimario:hover{background:var(--cinza-900)}
.btnPrimario:disabled{opacity:.5;cursor:wait}
.msgErro{background:var(--fundo);color:var(--texto);font-weight:600;font-size:12.5px;padding:10px 14px;border-radius:10px;margin-bottom:14px;display:none;border-left:3px solid var(--texto)}

/* ===== APP / HEADER ===== */
#app{display:none;flex-direction:column;min-height:100vh}
header{background:var(--superficie);border-bottom:1.5px solid var(--cinza-300);position:sticky;top:0;z-index:50}
.headerTopo{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1400px;margin:0 auto;width:100%;gap:12px}
.marca{min-width:0;display:flex;align-items:center;gap:11px}
.marcaLogo{height:26px;width:auto;flex-shrink:0}
.marcaTexto{min-width:0}
.marca h1{font-size:17px;font-weight:800;color:var(--texto);line-height:1.15;letter-spacing:-.2px}
.marca span{font-size:11px;color:var(--cinza-600);display:block;margin-top:1px}
.menuUser{display:flex;align-items:center;gap:10px;flex-shrink:0}
.iconeBtn{background:none;border:1.5px solid var(--cinza-300);border-radius:11px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--cinza-700);transition:.2s}
.iconeBtn:hover{border-color:var(--texto);color:var(--texto)}
.iconeBtn .ico{width:21px;height:21px}
.abas{display:flex;gap:4px;padding:0 24px;max-width:1400px;margin:0 auto;width:100%;overflow-x:auto;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.aba{display:inline-flex;align-items:center;gap:7px;padding:12px 18px;border:none;background:none;font-size:14px;font-weight:600;color:var(--cinza-600);border-bottom:3px solid transparent;white-space:nowrap;transition:.2s}
.aba .ico{width:17px;height:17px}
.aba:hover{color:var(--texto)}
.aba.ativa{color:var(--texto);border-bottom-color:var(--texto)}
main{flex:1;max-width:1400px;margin:0 auto;width:100%;padding:24px}

/* ===== CABEÇALHO DE MÓDULO ===== */
.boardHead{margin-bottom:18px}
.boardHead .linha{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.boardHead h2{font-size:20px;font-weight:800;display:flex;align-items:center;gap:9px}
.boardHead h2 .ico{width:20px;height:20px;color:var(--texto)}
.btnTopo{width:auto;padding:10px 16px;font-size:13.5px}
.linhaSub{margin-bottom:6px}
.pct{font-size:13px;font-weight:700;color:var(--texto)}
.barra{height:8px;background:var(--cinza-150);border-radius:20px;overflow:hidden}
.barra-fill{height:100%;width:0;border-radius:20px;background:var(--texto);transition:width 1s cubic-bezier(.2,.8,.2,1)}

/* ===== DASHBOARD ===== */
.saudacao{margin-bottom:20px}
.saudacao h2{font-size:23px;font-weight:800}
.saudacao p{font-size:13.5px;color:var(--cinza-600);margin-top:4px}
.gridKpi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.kpi{background:var(--superficie);border:var(--borda);border-radius:16px;padding:18px;box-shadow:var(--sombra)}
.kpi .ic{color:var(--texto);margin-bottom:8px}
.kpi .ic .ico{width:24px;height:24px}
.kpi-num{font-size:31px;font-weight:800;line-height:1}
.kpi-lbl{font-size:12.5px;color:var(--cinza-600);margin-top:4px;font-weight:600}
.painelDuplo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bloco{background:var(--superficie);border:var(--borda);border-radius:16px;padding:22px;box-shadow:var(--sombra);margin-bottom:20px}
.bloco h3{font-size:14px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.bloco h3 .ico{width:18px;height:18px;color:var(--texto)}
.statusLinhas{display:flex;flex-direction:column;gap:14px}
.statusLinha{display:grid;grid-template-columns:130px 1fr 30px;align-items:center;gap:12px}
.statusNome{font-size:12.5px;color:var(--cinza-600);font-weight:600}

.blocoConstancia{padding:14px}
.blocoConstancia h3{margin-bottom:10px;font-size:12.5px}
.blocoConstancia h3 .ico{width:15px;height:15px}
.constanciaGrupo{display:flex;flex-direction:column;gap:9px;max-width:460px}
.constanciaTopo{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:8px}
.constanciaNome{font-size:11.5px;font-weight:600;color:var(--cinza-600)}
.constanciaMetricas{display:inline-flex;align-items:center;gap:10px}
.constanciaHoje{font-size:11px;color:var(--cinza-400);white-space:nowrap}
.constanciaStreak{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--cinza-400)}
.constanciaStreak.ativo{color:#FF6B35}
.constanciaStreak .ico{width:12px;height:12px}
.constanciaGrade{display:flex;gap:3px}
.constanciaCel{flex:1;max-width:16px;min-width:0;aspect-ratio:1;border-radius:3px;transition:.2s}
.statusN{font-size:14px;font-weight:800;text-align:right}
.metasMini{display:flex;flex-direction:column;gap:16px}
.metaMiniTopo{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:6px}
.metaMiniTopo b{color:var(--texto)}

/* Listas de atividade (dashboard) */
.atividade{list-style:none;display:flex;flex-direction:column;gap:2px}
.atividade li{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:10px;transition:.2s}
.atividade li:hover{background:var(--fundo)}
.atIco{width:34px;height:34px;border-radius:10px;background:var(--cinza-150);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.atIco .ico{width:17px;height:17px;color:var(--texto)}
.atTxt{flex:1;min-width:0}
.atTxt b{font-size:13px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atTxt span{font-size:11px;color:var(--cinza-600)}

/* ===== KANBAN ===== */
/* Trello-like: colunas numa esteira horizontal, mas em vez de depender
   da barra de scroll nativa (feia, solta no meio da tela) dá pra
   arrastar clicando no fundo do quadro/coluna e puxando com o mouse
   (ver dragScrollBoard em board.js). Cada coluna ainda rola por dentro
   (ver .listaCards) pra não esticar a página inteira. */
.kanban{display:flex;gap:18px;align-items:start;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;-webkit-user-select:none;user-select:none;
  /* cursor:grab nativo do Chrome/Windows renderiza quase branco e some em
     fundo claro (ou escuro) — ícone próprio (contorno preto + miolo
     branco) fica visível nos dois temas. */
  cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBmaWxsPSIjZmZmIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEzVjYuNWExLjUgMS41IDAgMCAxIDMgMFYxMiIvPjxwYXRoIGQ9Ik0xMSAxMlY1YTEuNSAxLjUgMCAwIDEgMyAwdjciLz48cGF0aCBkPSJNMTQgMTJWNi41YTEuNSAxLjUgMCAwIDEgMyAwVjEzIi8+PHBhdGggZD0iTTE3IDEyLjVWOWExLjUgMS41IDAgMCAxIDMgMHY3YzAgMy4zLTIuMiA2LTYgNmgtMWMtMiAwLTMtLjYtNC4zLTIuMkw1LjQgMTVjLS43LS45LS41LTEuOC4yLTIuMy43LS41IDEuNi0uNCAyLjMuM0w5IDE0LjUiLz48L2c+PC9zdmc+") 12 10, grab;
}
.kanban::-webkit-scrollbar{display:none}
.kanban.arrastando-board{cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBmaWxsPSIjZmZmIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDEzLjV2LTIuM2MwLTIuOCAyLTQuMiA1LTQuMnM1IDEuNCA1IDQuMnYyLjhjMCAzLjMtMi4yIDYtNiA2aC0uNWMtMiAwLTMtLjYtNC4zLTIuMkw0LjkgMTUuM2MtLjYtLjgtLjQtMS43LjMtMi4yLjctLjUgMS42LS4zIDIuMi40TDggMTQuMyIvPjxwYXRoIGQ9Ik05LjUgOS4ydjIuOE0xMi41IDguN3YzLjNNMTUuNSA5LjJ2Mi44Ii8+PC9nPjwvc3ZnPg==") 12 10, grabbing;scroll-snap-type:none}
.coluna{background:var(--superficie);border:var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:16px;min-height:120px;flex:0 0 300px;width:300px;scroll-snap-align:start}
.coluna.arrastando{outline:2px dashed var(--texto);outline-offset:-2px;background:var(--cinza-150)}
.tituloColuna{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tituloColuna h2{font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:7px}
.dotColuna{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.tituloColuna h2 .ico{width:16px;height:16px;color:var(--texto)}
.contador{background:var(--fundo);color:var(--cinza-600);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px}
.listaCards{display:flex;flex-direction:column;gap:10px;min-height:20px;max-height:60vh;overflow-y:auto;padding-right:2px}
.colVazia{font-size:12px;color:var(--cinza-600);text-align:center;padding:16px 8px;border:1.5px dashed var(--cinza-300);border-radius:12px}
.colunaOrfaos{border:1.5px dashed var(--texto)}
.avisoOrfaos{font-size:11.5px;color:var(--cinza-600);margin-bottom:10px;line-height:1.4}
.cartao{background:var(--fundo);border-radius:12px;padding:14px;border-left:4px solid var(--texto);cursor:pointer;transition:.15s;animation:surgir .3s both}
.cartao:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.cartao.done{border-left-style:dashed;opacity:.62}
.cartaoTipo{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;margin-bottom:7px;text-transform:uppercase;letter-spacing:.5px}
.tipo-ideia{background:none;color:var(--texto);border:1.3px solid var(--texto)}
.tipo-roteiro{background:var(--preto);color:#fff}
.tipo-interno{background:none;color:var(--texto);border:1.3px solid var(--cinza-700)}
.tipo-cliente{background:var(--preto);color:#fff}
.tipo-fixo{background:var(--preto);color:#fff}
.tipo-recorrente{background:none;color:var(--texto);border:1.3px solid var(--texto)}
.tipo-variavel{background:none;color:var(--cinza-600);border:1.3px solid var(--cinza-400)}
.tipo-pontual{background:none;color:var(--cinza-600);border:1.3px solid var(--cinza-400)}
.tipo-confirmado{background:var(--preto);color:#fff}
.tipo-previsto{background:none;color:var(--cinza-600);border:1.3px dashed var(--cinza-400)}
.badgesRow{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.badgesRow .cartaoTipo{margin-bottom:0}
.cartao h3{font-size:13.5px;font-weight:700;margin-bottom:4px;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cartao h3.riscado{text-decoration:line-through;color:var(--cinza-600)}
.cartao p{font-size:12px;color:var(--cinza-600);line-height:1.45;white-space:pre-wrap;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cardMetaRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.cardMetaItem{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--cinza-600)}
.linkChip{cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.linkChip:hover{color:var(--texto)}
.cardMetaItem .ico{width:12px;height:12px}
.tagsRow{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tagChip{font-size:10.5px;font-weight:600;color:var(--texto);background:var(--superficie);border:1.3px solid var(--cinza-300);padding:2px 8px;border-radius:20px}
.rodapeCard{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}
.autorCard{font-size:10.5px;color:var(--cinza-600);display:inline-flex;align-items:center;gap:5px}
.dotStatus{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.acoesCard{display:flex;gap:2px}
.acoesCard button{background:none;border:none;color:var(--cinza-600);opacity:.7;transition:.2s;padding:5px;border-radius:8px;display:flex}
.acoesCard button .ico{width:18px;height:18px}
.acoesCard button:hover{opacity:1;background:var(--cinza-300)}
.acoesCard .mover{color:var(--texto);opacity:.85}
.acoesCard button:disabled{opacity:.22;cursor:default;background:none}
.btnAdd{width:100%;margin-top:12px;padding:11px;background:none;border:1.5px dashed var(--cinza-300);border-radius:12px;color:var(--cinza-600);font-size:13px;font-weight:600;transition:.2s;display:flex;align-items:center;justify-content:center;gap:6px}
.btnAdd .ico{width:16px;height:16px}
.btnAdd:hover{border-color:var(--texto);color:var(--texto);background:var(--cinza-150)}

/* ===== CRM — funil por peso/preenchimento, sem cor ===== */
.crmFunil{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;align-items:start}
.crmColuna{background:var(--superficie);border:var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:16px}
.crmColTitulo{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin-bottom:12px}
.crmCard{background:var(--fundo);border-radius:12px;padding:13px;margin-bottom:10px;cursor:pointer;transition:.15s;border-left:4px solid var(--texto)}
.crmCard:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.crmTopo{display:flex;justify-content:space-between;align-items:center;gap:8px}
.crmTopo b{font-size:13.5px}
.crmContato{font-size:11.5px;color:var(--cinza-600);margin-top:3px}
.crmBaixo{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.crmValor{font-size:12px;font-weight:700}
.crmNota{font-size:11px;color:var(--cinza-600)}
.estagio{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}
/* prospect: mais fraco do funil -> texto cinza, sem borda */
.est-prospect{background:var(--cinza-150);color:var(--cinza-600)}
/* contato: contorno fino */
.est-contato{background:none;color:var(--texto);border:1.3px solid var(--cinza-400)}
/* proposta: contorno cheio, mais perto de fechar */
.est-proposta{background:none;color:var(--texto);border:1.3px solid var(--texto)}
/* cliente: preenchido — estágio vencedor */
.est-cliente{background:var(--preto);color:#fff}
/* perdido: tracejado + risco, opacidade reduzida */
.est-perdido{background:none;color:var(--cinza-600);border:1.3px dashed var(--cinza-400);text-decoration:line-through}

/* ===== POSTS ===== */
.postsLayout{display:flex;gap:24px;align-items:flex-start}
.postsSidebar{display:flex;flex-direction:column;gap:2px;width:180px;flex-shrink:0;position:sticky;top:90px}
.postsSidebarItem{display:flex;align-items:center;gap:9px;padding:10px 14px;border:none;background:none;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--cinza-600);text-align:left;transition:.15s}
.postsSidebarItem .ico{width:16px;height:16px}
.postsSidebarItem:hover{background:var(--fundo);color:var(--texto)}
.postsSidebarItem.ativo{background:var(--preto);color:#fff}
.filtroSocioWrap{display:inline-flex;align-items:center;background:var(--cinza-150);border-radius:10px;padding:3px;gap:2px}
.filtroSocioBtn{background:none;border:none;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--cinza-600);cursor:pointer;transition:.15s}
.filtroSocioBtn:hover{color:var(--texto)}
.filtroSocioBtn.ativo{background:var(--superficie);color:var(--texto);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.08)}

.crmStatsBar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}
.crmStatCard{background:var(--superficie);border:var(--borda);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--sombra)}
.crmStatIco{width:36px;height:36px;border-radius:10px;background:var(--cinza-150);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.crmStatIco .ico{width:18px;height:18px;color:var(--texto)}
.crmStatInfo{display:flex;flex-direction:column}
.crmStatVal{font-size:19px;font-weight:800;line-height:1.2}
.crmStatLbl{font-size:11.5px;color:var(--cinza-600);font-weight:600}

.badgeFollowup{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:12px}
.badgeFollowup.verde{background:rgba(31,170,89,.12);color:#1faa59}
.badgeFollowup.amarelo{background:rgba(232,163,61,.15);color:#d97706}
.badgeFollowup.vermelho{background:rgba(224,49,49,.15);color:#e03131}
.badgeFollowup.neutro{background:var(--cinza-150);color:var(--cinza-600)}

.btnWhats{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(37,211,102,.15);color:#25d366;border:none;cursor:pointer;transition:.15s}
.btnWhats:hover{background:#25d366;color:#fff}
.btnWhats .ico{width:14px;height:14px}

.checklistBloco{background:var(--fundo);border:var(--borda);border-radius:12px;padding:14px;margin-bottom:14px}
.checklistTitulo{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--cinza-600);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.checklistItems{display:flex;flex-direction:column;gap:8px}
.checklistItem{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}
.checklistItem input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--texto)}
.checklistItem.concluido span{text-decoration:line-through;color:var(--cinza-600)}

/* Badge WhatsApp nos Cards */
.badgeWhatsCapture{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;background:rgba(37,211,102,.12);color:#20b555;border:1px solid rgba(37,211,102,.25)}

/* Tags Rápidas nos Modais */
.tagsRapidasWrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;margin-bottom:12px}
.tagRapidaBtn{background:var(--cinza-150);border:1px solid var(--cinza-300);color:var(--cinza-600);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:8px;cursor:pointer;transition:.15s;user-select:none}
.tagRapidaBtn:hover{border-color:var(--texto);color:var(--texto);background:var(--superficie)}
.tagRapidaBtn.selecionada{background:var(--preto);color:#fff;border-color:var(--preto)}

/* Command Palette (Ctrl + K) */
.paletteOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fadeIn .15s ease}
.paletteModal{background:var(--superficie);border:var(--borda);border-radius:18px;width:100%;max-width:580px;box-shadow:0 20px 50px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column}
.paletteHeader{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:var(--borda)}
.paletteHeader .ico{width:20px;height:20px;color:var(--cinza-600)}
.paletteInput{flex:1;border:none;background:none;font-size:16px;font-weight:600;color:var(--texto);outline:none}
.paletteInput::placeholder{color:var(--cinza-400)}
.paletteKbd{background:var(--cinza-150);border:1px solid var(--cinza-300);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700;color:var(--cinza-600)}
.paletteBody{max-height:360px;overflow-y:auto;padding:8px}
.paletteSecao{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--cinza-600);padding:8px 12px 4px}
.paletteItem{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;cursor:pointer;transition:.1s;color:var(--texto);text-decoration:none}
.paletteItem:hover,.paletteItem.selecionado{background:var(--fundo)}
.paletteItemLeft{display:flex;align-items:center;gap:12px}
.paletteItemIcon{width:30px;height:30px;border-radius:8px;background:var(--cinza-150);display:flex;align-items:center;justify-content:center;color:var(--texto);flex-shrink:0}
.paletteItemIcon .ico{width:16px;height:16px}
.paletteItemTitle{font-size:13.5px;font-weight:600}
.paletteItemSub{font-size:11.5px;color:var(--cinza-600)}
.paletteItemBadge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--cinza-150);color:var(--cinza-600)}
.paletteFooter{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--fundo);border-top:var(--borda);font-size:11.5px;color:var(--cinza-600)}

/* Fim Palette */


.postsArea{flex:1;min-width:0}
.conteudosGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.conteudoCard h3{margin-bottom:6px}
.resumoRedeLinha{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1.5px solid var(--cinza-300)}
.resumoRedeLinha:last-child{border-bottom:none}
@media(max-width:720px){
  .postsLayout{flex-direction:column}
  .postsSidebar{flex-direction:row;overflow-x:auto;width:100%;position:static;gap:6px}
  .postsSidebarItem{white-space:nowrap}
}

/* ===== METAS ===== */
.metasGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.metaCard{background:var(--superficie);border:var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:20px;cursor:pointer;transition:.15s}
.metaCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.metaCard.concluida{border:1.5px solid var(--texto)}
.metaCard.encerrada{opacity:.68}
.metaCard.encerrada.concluida{opacity:1}
.metaTopo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.metaTopo b{font-size:14.5px}
.metaPct{font-size:20px;font-weight:800}
.metaBaixo{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--cinza-600)}
.subtituloSecao{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--cinza-600);margin:26px 0 14px}
.resumoMetaStatus{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--cinza-600);margin-bottom:12px}
.resumoMetaStatus.ok{color:var(--texto)}
.metaPrazo{font-weight:600}

/* ===== PROMPTS ===== */
.buscaWrap{display:flex;align-items:center;gap:8px;background:var(--superficie);border:1.5px solid var(--cinza-300);border-radius:12px;padding:0 14px;margin-top:4px}
.buscaWrap .ico{width:18px;height:18px;color:var(--cinza-600)}
.inpBusca{border:none;outline:none;padding:12px 4px;flex:1;background:none}
.tituloSecao{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--cinza-600);margin:22px 0 12px;display:flex;align-items:center;gap:7px}
.tituloSecao .ico{width:15px;height:15px}
.linhaFiltro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.linhaFiltro .buscaWrap{flex:0 1 300px;margin-top:0}
.filtrosEmpilhados{display:flex;flex-direction:column;gap:2px}
.gastoValor{font-size:15px;font-weight:800;white-space:nowrap}
.promptsGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:18px}
.promptCard{background:var(--superficie);border:var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:18px;display:flex;flex-direction:column;gap:8px}
.promptCardNovo{border:1.5px solid var(--texto)}
.promptTopo{display:flex;justify-content:space-between;align-items:center;gap:8px}
.promptTopo b{font-size:14px}
.promptAutor{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--cinza-600)}
.atzBadge{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}
.atzBadge .ico{width:10px;height:10px}
.atz-criacao{background:var(--preto);color:#fff}
.atz-finalizado{background:var(--preto);color:#fff}
.atz-exclusao{background:none;color:var(--cinza-600);border:1.3px dashed var(--cinza-400)}
.atz-etapa{background:none;color:var(--texto);border:1.3px solid var(--cinza-300)}
.promptCat{font-size:10.5px;font-weight:700;color:var(--texto);background:var(--superficie);border:1.3px solid var(--cinza-300);padding:3px 9px;border-radius:20px;white-space:nowrap}
.promptPreview{font-size:12px;color:var(--cinza-600);line-height:1.5;cursor:pointer;white-space:pre-wrap;overflow-wrap:break-word}
.promptAcoes{display:flex;gap:8px;margin-top:4px}

/* ===== ARQUIVOS — cofre de senhas, propostas e documentos ===== */
.chipsCanais{display:flex;flex-wrap:wrap;gap:8px}
.chipCanal{padding:8px 16px;border:1.5px solid var(--cinza-300);background:var(--superficie);border-radius:20px;font-size:12.5px;font-weight:600;color:var(--cinza-600);transition:.2s}
.chipCanal.ativo{background:var(--preto);border-color:var(--preto);color:#fff}
.segmentado{display:inline-flex;background:var(--cinza-150);border-radius:12px;padding:4px;gap:2px;margin-bottom:12px}
.segItem{padding:8px 16px;border:none;background:none;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--cinza-600);transition:.2s}
.segItem.ativo{background:var(--superficie);color:var(--texto);box-shadow:var(--sombra)}
/* Sub-abas em pill (Projetos, Cofre etc.) — diferente do .chipCanal: a
   ativa usa --texto/--superficie (troca no escuro) em vez de --preto fixo. */
.pillsSubAba{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pillSub{padding:8px 16px;border:1.5px solid var(--cinza-300);background:var(--superficie);border-radius:20px;font-size:12.5px;font-weight:600;color:var(--cinza-600);transition:.2s}
.pillSub:hover{border-color:var(--cinza-400)}
.pillSub.ativa{background:var(--texto);border-color:var(--texto);color:var(--superficie)}
/* Lista plana de contatos (CRM) — tabela simples, linha inteira clicável. */
.tabelaWrap{overflow-x:auto;background:var(--superficie);border:var(--borda);border-radius:16px}
.tabelaContatos{width:100%;border-collapse:collapse;font-size:13.5px}
.tabelaContatos th{text-align:left;padding:12px 16px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza-600);border-bottom:1.5px solid var(--cinza-300)}
.tabelaContatos td{padding:12px 16px;border-bottom:1.5px solid var(--cinza-150);white-space:nowrap}
.tabelaContatos tbody tr{cursor:pointer;transition:.15s}
.tabelaContatos tbody tr:hover{background:var(--fundo)}
.tabelaContatos tbody tr:last-child td{border-bottom:none}
/* Calendário mensal (Produção) — grid de 7 colunas, mini-cards clicáveis por dia. */
.calendarioNav{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px 0;font-size:15px;font-weight:700;text-transform:capitalize}
.calendarioGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendarioCabecalho{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza-600);padding:6px 0}
.calendarioDia{min-height:92px;background:var(--superficie);border:var(--borda);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px}
.calendarioDia.vazio{background:none;border-color:transparent}
.calendarioNumero{font-size:12px;font-weight:600;color:var(--cinza-600)}
.calendarioCard{background:var(--fundo);border-radius:6px;padding:4px 6px;font-size:11.5px;font-weight:600;line-height:1.3;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendarioCard:hover{background:var(--cinza-150)}
@media (max-width:640px){
  .calendarioGrid{grid-template-columns:repeat(7,minmax(34px,1fr));gap:3px}
  .calendarioDia{min-height:56px;padding:3px}
  .calendarioCard{font-size:10px;padding:2px 3px}
}
.tipo-senha{background:var(--preto);color:#fff}
.tipo-ferramenta{background:none;color:var(--texto);border:1.3px solid var(--cinza-700)}
.tipo-proposta{background:none;color:var(--texto);border:1.3px solid var(--texto)}
.tipo-documento{background:none;color:var(--texto);border:1.3px solid var(--cinza-400)}
.tipo-nota{background:var(--cinza-150);color:var(--cinza-600)}
.arquivoAnexoAtual{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--cinza-600)}
.anexoAtualBloco{margin-bottom:8px}
.cardThumb{width:100%;max-height:150px;object-fit:cover;border-radius:12px;margin-bottom:9px;cursor:pointer;display:block;background:var(--fundo)}
.modalThumb{max-width:100%;max-height:260px;object-fit:contain;border-radius:12px;margin-bottom:8px;cursor:pointer;display:block;background:var(--fundo)}

/* ===== MODAL ===== */
.fundoModal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:90;opacity:0;transition:.2s}
.fundoModal.mostrar{opacity:1}
.modal{background:var(--superficie);border-radius:20px;padding:26px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;animation:surgir .3s both}
.modal h2{font-size:17px;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:9px}
.modal h2 .ico{width:20px;height:20px;color:var(--texto)}
.editorLongo{min-height:220px!important}
.linhaBtns{display:flex;gap:10px;margin-top:6px}
.linhaBtns>*{flex:1}
.linhaBtns .btnPrimario{flex:1.6}
.btnGhostM{background:none;border:1.5px solid var(--cinza-300);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--texto);transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btnGhostM:hover{border-color:var(--texto)}
.btnGhostM:disabled{opacity:.5;cursor:wait}
.btnGhostM .ico{width:18px;height:18px}
.contaLinha{display:flex;align-items:center;gap:12px;background:var(--fundo);border-radius:12px;padding:14px;margin-bottom:16px}
.contaLinha .ico{width:20px;height:20px;color:var(--texto);flex-shrink:0}
.contaLinha small{font-size:11px;color:var(--cinza-600);display:block}
.contaLinha b{font-size:13.5px;font-weight:700;word-break:break-all}
.contaAcoes{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.versaoHub{font-size:11px;color:var(--cinza-400);text-align:center}
.contaAcoes .btnGhostM{justify-content:flex-start}


/* ===== LIMPAR MARCA — remove a estrela do Gemini (js/limpeza-marca.js) ===== */
.limpezaLead{font-size:13.5px;color:var(--cinza-600);line-height:1.5;max-width:60ch;margin-top:2px}
.limpezaDrop{border:1.5px dashed var(--cinza-300);background:var(--superficie);border-radius:16px;padding:40px 20px;text-align:center;cursor:pointer;transition:.15s;user-select:none}
.limpezaDrop:hover{border-color:var(--texto)}
.limpezaDrop.hot{background:var(--texto);border-color:var(--texto);color:var(--superficie)}
.limpezaDropBig{font-weight:700;font-size:15px}
.limpezaDropSub{color:var(--cinza-600);font-size:12px;margin-top:6px}
.limpezaDrop.hot .limpezaDropSub{color:var(--superficie);opacity:.75}
.limpezaBar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 20px}
.limpezaBar .btnPrimario,.limpezaBar .btnGhostM{width:auto}
.limpezaContagem{font-size:12.5px;color:var(--cinza-600);margin-left:auto}
.limpezaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.limpezaCard{background:var(--superficie);border:var(--borda);border-radius:16px;overflow:hidden;box-shadow:var(--sombra)}
.limpezaThumb{position:relative;aspect-ratio:1080/1350;background:var(--fundo);display:flex;align-items:center;justify-content:center;overflow:hidden}
.limpezaThumb img{width:100%;height:100%;object-fit:contain;display:block}
.limpezaTag{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--preto);color:#fff;padding:3px 8px;border-radius:20px}
.limpezaFoot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px}
.limpezaNome{font-size:11px;color:var(--cinza-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.limpezaDetalhes{margin-top:22px;border-top:1.5px solid var(--cinza-300);padding-top:14px}
.limpezaDetalhes summary{cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza-600)}
.limpezaTune{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:14px}
.limpezaTuneItem{font-size:11px;letter-spacing:.02em;color:var(--cinza-600);display:block}
.limpezaTuneItem input[type=range]{width:100%;accent-color:var(--texto);margin-top:6px;display:block}
.limpezaValor{font-weight:700;font-size:12px;color:var(--texto)}
.limpezaNota{font-size:12px;color:var(--cinza-600);line-height:1.5;max-width:60ch}
.limpezaLegendaBloco{margin-top:16px;padding-top:14px;border-top:1.5px solid var(--cinza-300);display:flex;flex-direction:column;gap:12px}
.limpezaLegendaBloco .limpezaTuneItem{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cinza-600)}
.limpezaInputTexto{padding:9px 12px;border:1.5px solid var(--cinza-300);border-radius:10px;font-size:13px;background:var(--superficie);color:var(--texto);flex:1;max-width:260px}
.limpezaInputTexto:focus{outline:none;border-color:var(--texto)}

/* Estado vazio */
.estadoVazio{text-align:center;padding:48px 20px;color:var(--cinza-600)}
.estadoVazio .icoWrap{display:inline-flex;color:var(--cinza-400)}
.estadoVazio .ico{width:40px;height:40px;margin:0 auto 12px}
.estadoVazio p{font-size:13.5px;max-width:340px;margin:0 auto}

/* Toast */
.aviso{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);background:var(--preto);color:#fff;font-size:13px;padding:12px 22px;border-radius:12px;opacity:0;transition:.3s;pointer-events:none;z-index:99;max-width:90vw;text-align:center}
.aviso.mostrar{opacity:1}

/* ===== CELULAR ===== */
@media(max-width:800px){
  .gridKpi{grid-template-columns:repeat(2,1fr)}
  .painelDuplo{grid-template-columns:1fr}
  /* Coluna quase preenche a tela — arrasta pro lado igual Trello no celular. */
  .coluna{width:84vw;flex-basis:84vw}
}
@media(max-width:640px){
  .headerTopo{padding:11px 14px}
  .marcaLogo{height:22px}
  .marca h1{font-size:15px}
  .marca span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
  .abas{padding:0 8px}
  .aba{padding:11px 12px;font-size:13px}
  main{padding:16px 13px}
  .saudacao h2{font-size:19px}
  .gridKpi{gap:10px}
  .kpi{padding:14px 13px}
  .kpi-num{font-size:25px}
  .bloco{padding:16px 15px}
  .statusLinha{grid-template-columns:96px 1fr 26px;gap:8px}
  .boardHead h2{font-size:18px}
  .btnTopo{padding:9px 13px;font-size:12.5px}
  .metasGrade,.promptsGrade,.crmFunil{grid-template-columns:1fr}
  .linha2{grid-template-columns:1fr}
  .modal{padding:22px 20px}
  .overlayTelaCheiaBarra{padding:12px 16px}
  .overlayTelaCheiaCorpo{padding:16px}
  .overlayTelaCheia textarea{padding:16px;font-size:15px}
  .overlayTelaCheiaLeitura{font-size:15px}
  .aviso{bottom:90px}
}
@media(max-width:380px){
  .gridKpi{grid-template-columns:1fr 1fr;gap:8px}
}
