:root{
  --azul-900:#1e3a8a;
  --azul-700:#1d4ed8;
  --azul-600:#2563eb;
  --azul-100:#c0deff;
  --azul-50:#edf6ff;
  --titulo:var(--azul-900);
  --tinta:#0f172a;
  --tinta-suave:#475569;
  --linha:#e2e8f0;
  --fundo:#f5f8fd;
  --fundo-sutil:#fafcff;
  --branco:#ffffff;
  --cinza-bg-hover:#e5eaf1;
  --verde:#16a34a;
  --verde-bg:#e8f8ee;
  --amarelo:#d97706;
  --amarelo-bg:#fef3e2;
  --vermelho:#dc2626;
  --vermelho-bg:#fdeaea;
  --cinza-bg:#f1f5f9;
  --raio:14px;
  --raio-sm:9px;
  --sombra:0 1px 2px rgba(15,23,42,.04), 0 6px 20px rgba(15,23,42,.05);
  --sombra-modal:0 20px 60px rgba(15,23,42,.25);
  color-scheme:light;
}
/* ===== MODO NOTURNO =====
   Redefine só as variáveis de cor, o resto do CSS já usa var(--...) em quase tudo, então o
   tema escuro se propaga sozinho. --azul-900 fica de fora de propósito: ele é usado só em fundos
   com gradiente (sidebar, topo do login/portal/Meu Espaço), que já são escuros nos dois temas —
   quem precisa mudar de cor no escuro é --titulo (títulos/textos em destaque), que nasce igual a
   --azul-900 no claro mas ganha um azul claro próprio aqui. */
:root.tema-escuro{
  color-scheme:dark;
  --titulo:#8ab4f8;
  --azul-700:#60a5fa;
  --azul-600:#3b82f6;
  --azul-100:#25406e;
  --azul-50:#16233d;
  --tinta:#e6eaf2;
  --tinta-suave:#93a1b8;
  --linha:#26314a;
  --fundo:#0b1220;
  --fundo-sutil:#161f36;
  --branco:#121a2e;
  --cinza-bg-hover:#232d47;
  --verde:#22c55e;
  --verde-bg:rgba(34,197,94,.16);
  --amarelo:#f59e0b;
  --amarelo-bg:rgba(245,158,11,.16);
  --vermelho:#ef4444;
  --vermelho-bg:rgba(239,68,68,.18);
  --cinza-bg:#182339;
  --sombra:0 1px 2px rgba(0,0,0,.35), 0 6px 20px rgba(0,0,0,.4);
  --sombra-modal:0 20px 60px rgba(0,0,0,.6);
}
:root.tema-escuro ::-webkit-scrollbar-thumb{background:#33415c;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  background:var(--fundo);
  color:var(--tinta);
  -webkit-font-smoothing:antialiased;
  transition:background-color .15s,color .15s;
}
/* Botão de alternância de tema (☀️/🌙) — reaproveitado em login, portal público, Meu Espaço e no
   app principal. Um único ícone visível por vez, trocado via CSS conforme a classe no <html>. */
.pw-wrap{position:relative;display:block;width:100%;}
.pw-wrap>input{padding-right:46px !important;box-sizing:border-box;}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:transparent;color:var(--tinta-suave);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:9px;padding:0;transition:background .12s,color .12s;}
.pw-eye:hover{background:rgba(127,127,127,.16);color:var(--azul-600);}
.pw-eye:focus-visible{outline:2px solid var(--azul-600);outline-offset:1px;}
.tema-toggle-btn{background:rgba(127,127,127,.14);border:none;border-radius:50%;width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:background .15s,transform .1s;}
.tema-toggle-btn:hover{background:rgba(127,127,127,.26);}
.tema-toggle-btn:active{transform:scale(.92);}
.tema-toggle-btn .icon-sol{display:none;}
:root.tema-escuro .tema-toggle-btn .icon-lua{display:none;}
:root.tema-escuro .tema-toggle-btn .icon-sol{display:inline;}
h1,h2,h3,h4{margin:0;font-weight:700;}
p{margin:0;}
button{font-family:inherit;cursor:pointer;}
/* Acessibilidade de teclado (setembro/2026, "melhore o sistema no geral"): o sistema já tinha
   :hover em quase tudo mas nenhum estado de foco visível pra quem navega sem mouse (Tab), botões,
   campos, itens de menu e linhas clicáveis ficavam sem nenhuma pista de onde o foco estava. Regra
   única e genérica, puramente visual (não muda nenhum comportamento/lógica): usa :focus-visible
   pra não acender o anel em cliques de mouse, só em navegação por teclado. */
button:focus-visible, .btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible,
.nav-item:focus-visible, .linha-clicavel:focus-visible, [tabindex]:focus-visible{
  outline:2.5px solid var(--azul-600); outline-offset:2px; border-radius:6px;
}
.sidebar :focus-visible{ outline-color:#fff; }
input,select,textarea{font-family:inherit;}
a{color:var(--azul-600);text-decoration:none;}
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;}
::-webkit-scrollbar-track{background:transparent;}

/* ===== LOGIN ===== */
#tela-login{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 20% 20%, #2b57d6 0%, #1e3a8a 45%, #10214f 100%);
  padding:20px;
}
.login-card{
  background:var(--branco);width:100%;max-width:400px;border-radius:20px;
  padding:38px 34px 30px;box-shadow:var(--sombra-modal);
}
.login-logo-img{display:block;height:46px;width:auto;margin:0 auto 14px;}
.login-bpo-tag{text-align:center;font-size:12px;font-weight:700;color:var(--azul-600);text-transform:uppercase;letter-spacing:.06em;}
.login-card h1{text-align:center;font-size:20px;color:var(--titulo);}
.login-card .sub{text-align:center;color:var(--tinta-suave);font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:4px;margin-bottom:26px;}

/* ===== PORTAL DE CADASTRO DO COLABORADOR (link público, sem login) ===== */
#tela-portal-colaborador{min-height:100vh;display:none;justify-content:center;align-items:flex-start;background:var(--fundo);padding:28px 14px;}
.portal-card{background:var(--branco);width:100%;max-width:720px;border-radius:20px;box-shadow:var(--sombra-modal);height:fit-content;overflow:hidden;}
.portal-card h1{font-size:19px;color:var(--titulo);}
.portal-card .sub{color:var(--tinta-suave);font-size:13px;margin-top:4px;}
.portal-card-corpo{padding:0 26px 32px;}
.portal-topo{background:linear-gradient(135deg,var(--azul-600),var(--azul-900));padding:24px 26px 20px;position:relative;overflow:hidden;}
.portal-topo::before{content:'';position:absolute;top:-70px;right:-50px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.08);}
.portal-topo::after{content:'';position:absolute;bottom:-80px;left:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06);}
.portal-topo-marca{display:flex;align-items:center;gap:10px;position:relative;z-index:1;}
.portal-topo-logo{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;flex-shrink:0;}
.portal-topo-marca span{color:rgba(255,255,255,.85);font-size:11.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;}
.portal-topo h1{color:#fff;font-size:19px;margin-top:14px;position:relative;z-index:1;}
.portal-topo .sub{color:rgba(255,255,255,.85);font-size:12.5px;margin-top:6px;max-width:540px;position:relative;z-index:1;}
.portal-secao{margin:26px 0 12px;font-size:13.5px;font-weight:700;color:var(--titulo);border-bottom:1.5px solid var(--linha);padding-bottom:7px;display:flex;align-items:center;gap:7px;}
.portal-secao .ic{font-size:15px;}
.portal-passo-conteudo:first-child .portal-secao:first-of-type{margin-top:22px;}
.portal-dependente-card{border:1.5px solid var(--linha);border-radius:12px;padding:14px;margin-bottom:12px;position:relative;}
.portal-dependente-card .rem{position:absolute;top:10px;right:10px;background:var(--vermelho-bg);color:var(--vermelho);border:none;border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:13px;}
.portal-upload-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px dashed var(--linha);border-radius:10px;padding:11px 13px;margin-bottom:9px;font-size:12.5px;}
.portal-upload-item .info-arq{color:var(--tinta-suave);}
.portal-upload-item.selecionado{border-color:var(--verde);background:var(--verde-bg);}
.portal-upload-item .ic-arq{font-size:16px;margin-right:2px;}
.portal-check-linha{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tinta-suave);margin-top:6px;}
.portal-check-linha input{width:15px;height:15px;}
.assinatura-toggle{border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;margin:14px 0 4px;background:var(--fundo);transition:border-color .15s,background .15s;}
.assinatura-toggle:has(input:checked){border-color:var(--azul-600);background:var(--azul-50);}
.assinatura-toggle-linha{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;font-weight:600;color:var(--titulo);}
.assinatura-toggle-linha input{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--azul-600);cursor:pointer;}
.assinatura-toggle-linha small{display:block;font-weight:500;color:var(--tinta-suave);margin-top:3px;font-size:11.5px;}
.portal-check-destaque{background:var(--azul-50);border:1.5px solid var(--azul-100,var(--linha));border-radius:12px;padding:13px 14px;margin-top:8px;}
.portal-vazio{color:var(--tinta-suave);font-size:12.5px;background:var(--cinza-bg);border:1.5px dashed var(--linha);border-radius:12px;padding:16px;text-align:center;margin-bottom:10px;}
.portal-progresso-wrap{position:sticky;top:0;background:var(--branco);padding:10px 26px 8px;margin:0 -26px 6px;z-index:5;border-bottom:1px solid var(--linha);}
.portal-progresso-barra-fundo{height:7px;border-radius:6px;background:var(--cinza-bg);overflow:hidden;}
.portal-progresso-barra{height:100%;width:0%;background:linear-gradient(90deg,var(--azul-600),var(--verde));transition:width .25s;}
.portal-progresso-linha{display:flex;align-items:center;justify-content:space-between;margin-top:5px;gap:8px;}
.portal-progresso-texto{font-size:11px;color:var(--tinta-suave);font-weight:600;}
.portal-rascunho-aviso{font-size:11px;color:var(--azul-700);font-weight:600;display:flex;align-items:center;gap:4px;}
.portal-stepper{display:flex;align-items:flex-start;gap:2px;padding:4px 0 6px;}
.portal-stepper-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;position:relative;text-align:center;}
.portal-stepper-item::before{content:'';position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--linha);z-index:0;}
.portal-stepper-item:first-child::before{display:none;}
.portal-stepper-item.completo::before{background:var(--verde);}
.portal-stepper-bola{width:26px;height:26px;border-radius:50%;background:var(--cinza-bg);color:var(--tinta-suave);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;position:relative;z-index:1;transition:all .15s;}
.portal-stepper-item.ativo .portal-stepper-bola{background:var(--azul-600);color:#fff;}
.portal-stepper-item.completo .portal-stepper-bola{background:var(--verde);color:#fff;}
.portal-stepper-rotulo{font-size:9px;font-weight:700;color:var(--tinta-suave);line-height:1.2;max-width:66px;}
.portal-stepper-item.ativo .portal-stepper-rotulo{color:var(--azul-700);}
.portal-passo-conteudo{display:none;}
.portal-passo-conteudo.ativo{display:block;animation:portalFade .2s ease;}
@keyframes portalFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.portal-nav-inferior{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px;padding-top:18px;border-top:1px solid var(--linha);}
.portal-nav-inferior .espaco{flex:1;}

/* ===== MEU ESPAÇO (login permanente do colaborador, sem senha — CPF + ID do link) ===== */
#tela-meu-espaco{min-height:100vh;display:none;justify-content:center;background:var(--fundo);padding:28px 14px;}
.espaco-card{background:var(--branco);width:100%;max-width:960px;border-radius:20px;padding-bottom:30px;box-shadow:var(--sombra-modal);height:fit-content;overflow:hidden;border:1px solid var(--linha);}
.espaco-gate{max-width:400px;margin:40px auto;padding:20px 24px;text-align:center;}
.espaco-topo{background:linear-gradient(135deg,var(--azul-600),var(--azul-900));color:#fff;padding:26px 28px 20px;position:relative;overflow:hidden;}
.espaco-topo::before{content:'';position:absolute;top:-70px;right:-50px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);}
.espaco-topo::after{content:'';position:absolute;bottom:-90px;left:-30px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.06);}
.espaco-topo-marca{display:flex;align-items:center;gap:8px;position:relative;z-index:1;margin-bottom:14px;}
.espaco-topo-marca .logo{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0;}
.espaco-topo-marca span{color:rgba(255,255,255,.8);font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.espaco-topo-marca{gap:12px;padding-right:48px;}
.espaco-logo{height:26px;width:auto;display:block;flex-shrink:0;}
.espaco-logo-sep{width:1px;height:18px;background:rgba(255,255,255,.28);flex-shrink:0;}
@media (max-width:560px){.espaco-logo{height:22px;}}
.espaco-topo h1,.espaco-topo .sub{position:relative;z-index:1;}
.espaco-topo h1{color:#fff;font-size:19px;}
.espaco-topo .sub{color:rgba(255,255,255,.82);font-size:12.5px;margin-top:4px;}
.espaco-abas{display:flex;gap:2px;overflow-x:auto;padding:0 20px;border-bottom:1.5px solid var(--linha);background:var(--branco);position:sticky;top:0;z-index:5;}
.espaco-aba{padding:13px 12px;font-size:12px;font-weight:600;color:var(--tinta-suave);cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;border-radius:8px 8px 0 0;transition:background .12s,color .12s;}
.espaco-aba:hover{color:var(--azul-700);background:var(--azul-50);}
.espaco-aba.ativa{color:var(--azul-600);border-color:var(--azul-600);background:var(--azul-50);}
.espaco-conteudo{display:none;padding:22px 24px 0;}
.espaco-conteudo.ativa{display:block;animation:entra .18s ease;}
/* ===== Resumo (home) do Meu Espaço: banners de pendência + atalhos ===== */
.espaco-saudacao{font-size:13px;color:var(--tinta-suave);margin-bottom:14px;}
.espaco-pendencias{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.espaco-atalhos-titulo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);margin:20px 0 10px;}
.espaco-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.espaco-atalho{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:16px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--tinta);text-align:center;transition:background .12s,transform .12s,box-shadow .12s;min-height:82px;box-shadow:var(--sombra);}
.espaco-atalho:hover{background:var(--azul-50);transform:translateY(-2px);box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);}
.espaco-atalho:active{transform:scale(.97);}
.espaco-atalho .ic{font-size:19px;width:38px;height:38px;border-radius:11px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;}
.espaco-atalho:hover .ic{background:var(--branco);}
/* ===== Barra de navegação inferior + menu "Mais" (mobile) ===== */
.espaco-bottomnav{display:none;}
.espaco-mais-fundo{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:200;display:none;align-items:flex-end;justify-content:center;}
.espaco-mais-fundo.ativo{display:flex;}
.espaco-mais-sheet{background:var(--branco);width:100%;max-width:960px;border-radius:20px 20px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));max-height:80vh;overflow-y:auto;animation:sube .18s ease;}
.espaco-mais-alca{width:38px;height:4px;border-radius:3px;background:var(--linha);margin:4px auto 12px;}
.espaco-mais-titulo{font-size:15px;font-weight:700;color:var(--titulo);margin-bottom:14px;}
.espaco-mais-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.espaco-mais-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--cinza-bg);border:1px solid var(--linha);border-radius:14px;padding:14px 8px;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--tinta);text-align:center;min-height:72px;}
.espaco-mais-item:hover{background:var(--azul-50);}
.espaco-mais-item .ic{font-size:20px;}
@media (max-width:760px){
  #tela-meu-espaco{padding:0;}
  .espaco-card{border-radius:0;min-height:100vh;padding-bottom:calc(70px + env(safe-area-inset-bottom));}
  .espaco-topo{padding:20px 16px 16px;border-radius:0;}
  .espaco-conteudo{padding:18px 14px 0;}
  .form-grid.endereco-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .form-grid.endereco-grid>.campo:last-child{grid-column:1/-1;}
  .doc-card{flex-wrap:wrap;}
  .espaco-abas{display:none;}
  .espaco-bottomnav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--branco);
    border-top:1.5px solid var(--linha);padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -2px 10px rgba(15,23,42,.06);
  }
  .espaco-bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:6px 2px;font-size:10px;font-weight:600;color:var(--tinta-suave);border-radius:10px;min-height:48px;}
  .espaco-bn-item .ic{font-size:19px;}
  .espaco-bn-item.ativa{color:var(--azul-600);}
}

/* ===== PORTAL DO GESTOR (login do gestor da empresa cliente — mesma arquitetura do Meu Espaço:
   tela própria, cheia, sem sidebar/#app, com abas + navegação inferior no celular) ===== */
.gt-un{display:flex;align-items:center;gap:11px;text-align:left;font-family:inherit;color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.16);border-radius:14px;padding:11px 13px;cursor:pointer;min-width:0;transition:background .15s,transform .1s,border-color .15s;}
.gt-un:hover{background:rgba(255,255,255,.16);}
.gt-un:active{transform:scale(.98);}
.gt-un .ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.gt-un .tx{min-width:0;flex:1;}
.gt-un .t{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gt-un .d{font-size:11.5px;color:rgba(255,255,255,.72);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gt-un .ck{display:none;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--azul-600);align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;}
.gt-un.ativa{background:#fff;color:#0f172a;border-color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.gt-un.ativa .ic{background:var(--azul-50);}
.gt-un.ativa .d{color:#475569;}
.gt-un.ativa .ck{display:flex;}
.gt-un-sheet-lista{display:flex;flex-direction:column;gap:9px;}
.gt-un-sheet-lista .gt-un{padding:13px 14px;}
.gt-un-sheet-lista .gt-un .t{font-size:14.5px;}
.gt-un-sheet-lista .gt-un{background:var(--cinza-bg);border-color:var(--linha);color:var(--tinta);}
.gt-un-sheet-lista .gt-un .d{color:var(--tinta-suave);}
.gt-un-sheet-lista .gt-un:hover{background:var(--azul-50);}
.gt-un-sheet-lista .gt-un .ic{background:var(--branco);}
.gt-un-sheet-lista .gt-un.ativa{background:var(--azul-50);border-color:var(--azul-600);box-shadow:none;color:var(--titulo);}
.gt-un-sheet-lista .gt-un.ativa .ck{background:var(--azul-600);color:#fff;}
.gt-un-busca{width:100%;margin-bottom:12px;}
.gestor-saudacao{font-size:13px;color:var(--tinta-suave);margin-bottom:14px;}
.gestor-pendencias{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.gestor-atalhos-titulo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);margin:20px 0 10px;}
.gestor-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.gestor-atalho{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:16px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--tinta);text-align:center;transition:background .12s,transform .12s,box-shadow .12s;min-height:82px;box-shadow:var(--sombra);}
.gestor-atalho:hover{background:var(--azul-50);transform:translateY(-2px);box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);}
.gestor-atalho:active{transform:scale(.97);}
.gestor-atalho .ic{font-size:19px;width:38px;height:38px;border-radius:11px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;}
.gestor-atalho:hover .ic{background:var(--branco);}
.gestor-bottomnav{display:none;}
.gestor-mais-fundo{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:200;display:none;align-items:flex-end;justify-content:center;}
.gestor-mais-fundo.ativo{display:flex;}
.gestor-mais-sheet{background:var(--branco);width:100%;max-width:1080px;border-radius:20px 20px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));max-height:80vh;overflow-y:auto;animation:sube .18s ease;}
.gestor-mais-alca{width:38px;height:4px;border-radius:3px;background:var(--linha);margin:4px auto 12px;}
.gestor-mais-titulo{font-size:15px;font-weight:700;color:var(--titulo);margin-bottom:14px;}
.gestor-mais-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.gestor-mais-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--cinza-bg);border:1px solid var(--linha);border-radius:14px;padding:14px 8px;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--tinta);text-align:center;min-height:72px;}
.gestor-mais-item:hover{background:var(--azul-50);}
.gestor-mais-item .ic{font-size:20px;}
/* ===== Risco trabalhista, avisos silenciados e reajuste com piso (rodada 80) ===== */
.rk-topo{display:flex;align-items:center;gap:18px;flex-wrap:wrap;} .rk-resumo{flex:1;min-width:220px;} .rk-resumo h3{margin:0 0 4px;font-size:17px;}
.rk-nota{width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid;flex:none;} .rk-nota b{font-size:28px;line-height:1;} .rk-nota small{font-size:10.5px;opacity:.75;}
.rk-nota.rk-verde{border-color:#10b981;color:#047857;background:#ecfdf5;} .rk-nota.rk-amarelo{border-color:#f59e0b;color:#92400e;background:#fffbeb;} .rk-nota.rk-vermelho{border-color:#ef4444;color:#b91c1c;background:#fef2f2;}
.rk-lista{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.rk-item{background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-left:4px solid #10b981;border-radius:12px;padding:10px 14px;} .rk-item.rk-atencao{border-left-color:#f59e0b;} .rk-item.rk-critico{border-left-color:#ef4444;} .rk-item.rk-cadastro{border-left-color:#94a3b8;}
.rk-item summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;list-style:none;} .rk-item summary::-webkit-details-marker{display:none;} .rk-item summary b{flex:1;} .rk-item summary em{font-style:normal;font-size:12px;color:var(--tinta-suave,#64748b);font-weight:700;}
.rk-det{font-size:12.5px;color:var(--tinta-suave,#64748b);margin:8px 0 4px;} .rk-ul{margin:6px 0 2px;padding-left:20px;font-size:12.5px;} .rk-ul li{margin:3px 0;} .rk-ul li:hover{text-decoration:underline;}
.rk-rank{display:flex;flex-direction:column;gap:8px;} .rk-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--cinza-bg,#f8fafc);cursor:pointer;} .rk-row:hover{filter:brightness(.97);}
.rk-pill{min-width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;border:3px solid;flex:none;}
.rk-pill.rk-verde{border-color:#10b981;color:#047857;} .rk-pill.rk-amarelo{border-color:#f59e0b;color:#92400e;} .rk-pill.rk-vermelho{border-color:#ef4444;color:#b91c1c;}
.rk-rtxt{flex:1;min-width:0;} .rk-rtxt b{display:block;font-size:13.5px;} .rk-rtxt small{display:block;font-size:11.5px;color:var(--tinta-suave,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Risco trabalhista: separação entre risco real, acompanhamento e cadastro */
.rk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;}
.rk-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;line-height:1;padding:5px 9px;border-radius:999px;white-space:nowrap;}
.rk-chip-risco{background:#fef2f2;color:#b91c1c;} .rk-chip-acomp{background:#fffbeb;color:#92400e;} .rk-chip-cad{background:#f1f5f9;color:#475569;} .rk-chip-ok{background:#ecfdf5;color:#047857;}
.rk-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:6px;margin-right:4px;vertical-align:1px;}
.rk-tag-risco{background:#fef2f2;color:#b91c1c;} .rk-tag-acomp{background:#fffbeb;color:#92400e;} .rk-tag-cad{background:#f1f5f9;color:#475569;}
.rk-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--tinta-suave,#64748b);}
:root.tema-escuro .rk-chip-risco,:root.tema-escuro .rk-tag-risco{background:rgba(239,68,68,.14);color:#fca5a5;} :root.tema-escuro .rk-chip-acomp,:root.tema-escuro .rk-tag-acomp{background:rgba(251,191,36,.12);color:#fbbf24;} :root.tema-escuro .rk-chip-cad,:root.tema-escuro .rk-tag-cad{background:rgba(148,163,184,.16);color:#cbd5e1;} :root.tema-escuro .rk-chip-ok{background:rgba(16,185,129,.12);color:#6ee7b7;}
@media(max-width:560px){ .rk-chip{white-space:normal;} }
.pend-sil{opacity:.45;flex:none;} .item-alerta:hover .pend-sil{opacity:1;} .pend-silenciado{opacity:.8;} .pend-sil-info{display:block;color:var(--tinta-suave,#64748b);}
.rc-piso-box{border:1.5px dashed var(--linha,#cbd5e1);border-radius:12px;padding:12px 14px;background:var(--cinza-bg,#f8fafc);}
:root.tema-escuro .rk-nota.rk-verde{background:rgba(16,185,129,.12);color:#6ee7b7;} :root.tema-escuro .rk-nota.rk-amarelo{background:rgba(251,191,36,.1);color:#fbbf24;} :root.tema-escuro .rk-nota.rk-vermelho{background:rgba(239,68,68,.12);color:#fca5a5;}
:root.tema-escuro .rk-pill.rk-verde{color:#6ee7b7;} :root.tema-escuro .rk-pill.rk-amarelo{color:#fbbf24;} :root.tema-escuro .rk-pill.rk-vermelho{color:#fca5a5;}
@media(max-width:560px){ .rk-topo{gap:12px;} .rk-rtxt small{white-space:normal;} }
/* ===== Revisão salarial (rodada 80) ===== */
.rs-filtros{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:8px;margin-bottom:8px;} .rs-filtros input,.rs-filtros select{padding:8px 10px;border:1px solid var(--linha,#e2e8f0);border-radius:10px;background:var(--branco,#fff);color:var(--tinta,#0f172a);font:inherit;font-size:13px;min-width:0;}
.rs-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.rs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;} .rs-kpi{background:var(--cinza-bg,#f8fafc);border-radius:10px;padding:8px 12px;} .rs-kpi b{display:block;font-size:19px;} .rs-kpi span{font-size:11.5px;color:var(--tinta-suave,#64748b);}
.rs-kpi.rs-v b{color:#b91c1c;} .rs-kpi.rs-a b{color:#b45309;}
.rs-wrap{max-height:calc(100vh - 470px);min-height:220px;overflow:auto;border:1px solid var(--linha,#e2e8f0);border-radius:12px;} .rs-tab thead th{position:sticky;top:0;background:var(--branco,#fff);z-index:1;} .rs-tab td{vertical-align:top;}
.rs-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;} .rs-chip{font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 8px;} .rs-chip.rs-v{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;} .rs-chip.rs-a{background:#fffbeb;color:#92400e;border:1px solid #fde68a;}
.rs-novo{display:flex;gap:6px;align-items:center;} .rs-novo input{width:110px;padding:6px 8px;border:1px solid var(--linha,#cbd5e1);border-radius:8px;background:var(--branco,#fff);color:var(--tinta,#0f172a);font:inherit;font-size:13px;} .rs-novo input.rs-erro{border-color:#ef4444;}
.rs-tab{min-width:980px;} .rs-tab th{white-space:nowrap;} .rs-novo{min-width:150px;}
.rs-mudou{background:rgba(37,99,235,.06);} .rs-div{color:#b45309;} :root.tema-escuro .rs-div{color:#fbbf24;} .rs-velho{color:#b45309;font-weight:700;}
:root.tema-escuro .rs-chip.rs-v{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.35);} :root.tema-escuro .rs-chip.rs-a{background:rgba(251,191,36,.12);color:#fbbf24;border-color:rgba(251,191,36,.35);} :root.tema-escuro .rs-kpi.rs-v b{color:#fca5a5;} :root.tema-escuro .rs-kpi.rs-a b,:root.tema-escuro .rs-velho{color:#fbbf24;}
@media(max-width:700px){ .rs-filtros{grid-template-columns:1fr;} .rs-wrap{max-height:calc(100vh - 420px);} .rs-novo input{width:96px;font-size:16px;} }
/* varredura do modo escuro (rodada 80) */
.aba-n.a{color:#1f1300 !important;}
#emp-ass-prev .cel-sub{color:#64748b;}
.aniv-item.casa .aniv-idade-bola{background:#b45309;}
:root.tema-escuro .aniv-idade-bola{background:#2f6fe0;} :root.tema-escuro .aniv-item.casa .aniv-idade-bola{background:#b45309;}
/* ===== Cargos, Departamentos, Sindicatos e topo da ficha (rodada 79) ===== */
.cg-desc{font-size:12px;color:var(--tinta-suave,#64748b);margin:2px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;}
.cg-piso{font-size:11.5px;font-weight:800;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:3px 9px;}
.cg-faixa{font-size:11.5px;font-weight:700;color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:3px 9px;}
.cg-fora{font-size:11.5px;font-weight:700;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:3px 9px;}
.cg-div{margin:0 0 16px;border:1.5px solid #fde68a;background:#fffbeb;border-radius:14px;padding:10px 14px;}
.cg-div summary{cursor:pointer;font-weight:700;font-size:13px;color:#92400e;} .cg-div summary span{font-weight:500;font-size:12px;opacity:.8;}
.cg-div-lista{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.cg-div-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:10px;padding:8px 12px;}
.cg-div-item>b{flex:1 1 160px;font-size:13px;} .cg-div-cbos{display:flex;gap:6px;flex-wrap:wrap;flex:2 1 220px;}
.cg-radio{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1.5px solid var(--linha,#e2e8f0);border-radius:10px;margin-bottom:8px;cursor:pointer;font-size:13px;flex-wrap:wrap;}
.cg-radio:has(input:checked){border-color:var(--azul-600,#2563eb);background:var(--azul-50,#eff6ff);} .cg-radio span{flex:1;color:var(--tinta-suave,#64748b);} .cg-radio em{font-style:normal;font-size:11.5px;color:var(--tinta-suave,#64748b);}
.sd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;}
.sd-card{background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-left:4px solid #94a3b8;border-radius:14px;padding:14px 16px;cursor:pointer;transition:box-shadow .15s,border-color .15s;}
.sd-card:hover{box-shadow:0 8px 22px rgba(37,99,235,.10);}
.sd-vigente{border-left-color:#10b981;} .sd-vencendo{border-left-color:#f59e0b;} .sd-vencida{border-left-color:#ef4444;} .sd-semcct{border-left-color:#94a3b8;}
.sd-cab{display:flex;align-items:flex-start;gap:10px;} .sd-ic{width:36px;height:36px;border-radius:10px;background:var(--azul-50,#eff6ff);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;}
.sd-tit{flex:1;min-width:0;} .sd-tit b{display:block;font-size:14.5px;color:var(--titulo,#0f172a);word-break:break-word;} .sd-tit span{font-size:12px;color:var(--tinta-suave,#64748b);}
.sd-del{opacity:.5;} .sd-card:hover .sd-del{opacity:1;}
.sd-cct{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:var(--tinta-suave,#64748b);}
.sd-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--cinza-bg,#f8fafc);border-radius:10px;padding:10px 12px;}
.sd-info small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave,#64748b);} .sd-info b{font-size:12.5px;color:var(--titulo,#0f172a);word-break:break-word;}
.sd-rod{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;} .sd-contato{font-size:11.5px;color:var(--tinta-suave,#64748b);margin-top:8px;word-break:break-word;}
@media(max-width:560px){ .sd-grid{grid-template-columns:1fr;} .sd-info{grid-template-columns:1fr 1fr;} }
.fn-resumo{display:flex;flex-wrap:wrap;gap:8px;padding:10px 24px;border-bottom:1px solid var(--linha);background:var(--branco);}
.fn-chip{border:1px solid transparent;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1.2;}
.fn-vermelho{background:#fef2f2;color:#b91c1c;border-color:#fecaca;} .fn-amarelo{background:#fffbeb;color:#92400e;border-color:#fde68a;} .fn-azul{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;} .fn-verde{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
button.fn-chip:hover{filter:brightness(.96);}
@media(max-width:640px){ .fn-resumo{padding:8px 14px;flex-wrap:nowrap;overflow-x:auto;} .fn-chip{white-space:nowrap;} }
:root.tema-escuro .cg-piso{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.35);} :root.tema-escuro .cg-faixa{background:rgba(59,130,246,.15);color:#93c5fd;} :root.tema-escuro .cg-fora{background:rgba(251,191,36,.12);color:#fbbf24;border-color:rgba(251,191,36,.35);} :root.tema-escuro .cg-div{background:rgba(251,191,36,.07);border-color:rgba(251,191,36,.35);} :root.tema-escuro .cg-div summary{color:#fbbf24;}
:root.tema-escuro .fn-vermelho{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.35);} :root.tema-escuro .fn-amarelo{background:rgba(251,191,36,.12);color:#fbbf24;border-color:rgba(251,191,36,.35);} :root.tema-escuro .fn-azul{background:rgba(59,130,246,.15);color:#93c5fd;border-color:rgba(59,130,246,.3);} :root.tema-escuro .fn-verde{background:rgba(16,185,129,.14);color:#6ee7b7;border-color:rgba(16,185,129,.3);}
:root.tema-escuro .sd-info{background:rgba(255,255,255,.04);} :root.tema-escuro .sd-ic{background:rgba(59,130,246,.15);}
/* ===== Responsividade: ajustes de celular (rodada 76) ===== */
@media (max-width:640px){
  .pend-item{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;row-gap:6px;align-items:start;}
  .pend-item .ponto{margin-top:5px;} .pend-item .txt{min-width:0;overflow-wrap:anywhere;}
  .pend-item .pend-prazo{grid-column:2;grid-row:2;justify-self:start;}
  .pend-item .btn-wa-mini{grid-column:3;grid-row:1;}
  .pend-item .pend-sil{grid-column:3;grid-row:2;justify-self:end;opacity:.8;} .pend-item.pend-silenciado>.btn{grid-column:3;grid-row:1;}
  .gx-acoes-rapidas .gx-acao:last-child:nth-child(odd){grid-column:1/-1;}
  .toolbar>.pesq-chips,.toolbar[data-tbo]>.pesq-chips[data-tb="f"]{flex:1 1 100% !important;max-width:100% !important;min-width:0;}
  .btn{max-width:100%;white-space:normal;line-height:1.25;}
  img,video,canvas{max-width:100%;}
  #tela-gestor-espaco input,#tela-gestor-espaco select,#tela-gestor-espaco textarea,#tela-meu-espaco input,#tela-meu-espaco select,#tela-meu-espaco textarea,.gestor-chat-input,.filtro-select{font-size:16px !important;}
  .item-alerta:not(.pend-item){flex-wrap:wrap;} .item-alerta:not(.pend-item) .txt{min-width:0;flex:1 1 150px;overflow-wrap:anywhere;} .item-alerta:not(.pend-item)>.btn{margin-left:19px;}
}
#ver-como-barra{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:99999;display:none;align-items:center;gap:12px;background:#0f172a;color:#fff;padding:9px 10px 9px 16px;border-radius:999px;font-size:12.5px;box-shadow:0 8px 28px rgba(0,0,0,.35);max-width:94vw;}
#ver-como-barra button{border:0;background:#f59e0b;color:#1f2937;font-weight:700;border-radius:999px;padding:6px 14px;cursor:pointer;font-size:12.5px;white-space:nowrap;}
/* ===== Portal do Gestor: indicadores de RH, avaliação do atendimento ===== */
.gx-ind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.gx-ind{border:1px solid var(--linha);border-radius:14px;padding:14px 16px;background:var(--branco);}
.gx-ind-cab{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-suave);display:flex;align-items:center;gap:7px;}
.gx-ind-val{font-size:26px;font-weight:800;color:var(--titulo);line-height:1.15;margin-top:5px;}
.gx-ind-sub{font-size:12px;color:var(--tinta-suave);margin-top:2px;min-height:16px;}
.gx-barras{display:flex;align-items:flex-end;gap:7px;height:96px;margin-top:12px;}
.gx-barra{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;height:100%;min-width:0;}
.gx-barra i{display:block;width:100%;border-radius:6px 6px 3px 3px;background:var(--azul-600);min-height:3px;transition:height .3s;}
.gx-barra.atual i{background:var(--azul-900);}
.gx-barra small{font-size:9.5px;color:var(--tinta-suave);text-transform:uppercase;}
.gx-barra b{font-size:9.5px;color:var(--tinta);font-weight:700;white-space:nowrap;}
.gx-aval{margin:14px auto 4px;max-width:420px;background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:14px 18px;text-align:center;box-shadow:var(--sombra);}
.gx-aval b{display:block;font-size:13.5px;color:var(--titulo);}
.gx-aval small{display:block;font-size:11.5px;color:var(--tinta-suave);margin-top:2px;}
.gx-estrelas{display:flex;justify-content:center;gap:4px;margin:10px 0 4px;}
.gx-estrelas button{border:0;background:none;font-size:30px;cursor:pointer;color:#cbd5e1;line-height:1;padding:0 2px;transition:transform .12s,color .12s;}
.gx-estrelas button:hover{transform:scale(1.15);} .gx-estrelas button.on{color:#f59e0b;}
.gx-aval textarea{width:100%;margin-top:8px;border:1.5px solid var(--linha);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;resize:none;background:var(--branco);color:var(--tinta);}
/* ===== Portal do Gestor: Fale com o RH estilo messenger (igual ao chat do BPO) ===== */
#gestor-conteudo-falerh{padding:0;}
.gx-msn{display:flex;flex-direction:column;height:calc(100dvh - 130px);min-height:440px;background:var(--branco);border:1px solid var(--linha);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);}
.gx-msn-cab{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--linha);background:var(--branco);flex-shrink:0;}
.gx-msn-cab .rh-chat-avatar{width:44px;height:44px;font-size:15px;}
.gx-msn-corpo{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:3px;background:var(--cinza-bg);}
.gx-msn .rh-grupo{max-width:72%;}
.gx-msn-modelos{display:flex;gap:6px;flex-wrap:wrap;padding:9px 16px 0;background:var(--branco);border-top:1px solid var(--linha);align-items:center;}
.gx-msn-modelos .rotulo{font-size:11.5px;color:var(--tinta-suave);margin-right:2px;}
.gx-msn-modelos button{border:1px solid var(--linha);background:var(--cinza-bg);border-radius:99px;padding:4px 11px;font:inherit;font-size:11.5px;color:var(--tinta);cursor:pointer;}
.gx-msn-modelos button:hover{border-color:var(--azul-600);color:var(--azul-700,#1d4ed8);}
.gx-msn-rodape{padding:12px 16px;display:flex;gap:10px;align-items:flex-end;background:var(--branco);flex-shrink:0;}
.gx-msn-rodape textarea{flex:1;resize:none;border:1.5px solid var(--linha);border-radius:12px;padding:10px 14px;font:inherit;font-size:13.5px;max-height:140px;background:var(--branco);color:var(--tinta);}
.gx-msn-rodape textarea:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
@media (max-width:900px){ .gx-msn{height:calc(100dvh - 190px);border-radius:12px;} .gx-msn .rh-grupo{max-width:88%;} .gx-msn-corpo{padding:14px 12px;} }
/* ===== Portal do Gestor: rodada 2 (busca, ações rápidas, indicadores) ===== */
.gx-busca{position:relative;flex:0 1 300px;min-width:170px;}
.ex-busca-wrap{flex:0 1 340px;}
.gx-busca input{width:100%;height:38px;padding:0 12px 0 34px;border:1.5px solid var(--linha);border-radius:10px;background:var(--cinza-bg);font-size:13px;font-family:inherit;color:var(--tinta);}
.gx-busca input:focus{outline:none;border-color:var(--azul-600);background:var(--branco);}
.gx-busca .lupa{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.5;pointer-events:none;}
.gx-busca-res{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:280px;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:var(--sombra-modal);max-height:360px;overflow-y:auto;z-index:60;display:none;}
.gx-busca-res.aberto{display:block;}
.gx-busca-item{display:flex;gap:10px;align-items:center;padding:9px 12px;cursor:pointer;}
.gx-busca-item:hover{background:var(--azul-50);}
.gx-cta{white-space:nowrap;}
.gx-acoes-rapidas{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:18px;}
.gx-acao{display:flex;align-items:center;gap:11px;background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:11px 14px;cursor:pointer;text-align:left;font-family:inherit;color:var(--tinta);transition:all .15s;box-shadow:var(--sombra);}
.gx-acao:hover{border-color:var(--azul-600);transform:translateY(-1px);}
.gx-acao .ic{width:38px;height:38px;border-radius:11px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.gx-acao b{display:block;font-size:13px;line-height:1.25;}
.gx-acao small{display:block;font-size:11.5px;color:var(--tinta-suave);margin-top:1px;}
.gx-chips-resumo{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
@media (min-width:1500px){ .gx-chips-resumo{display:none;} }
@media (max-width:1499px){ #gx-chips{display:none;} }
.kpi .kpi-sub{font-size:11.5px;color:var(--tinta-suave);margin-top:4px;line-height:1.35;}
.gx-urg{display:flex;gap:6px;flex-wrap:wrap;padding:12px 20px 0;}
.gx-card-link{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;}
.gx-card-link:hover{transform:translateY(-2px);border-color:var(--azul-600) !important;box-shadow:0 8px 20px rgba(15,23,42,.08);}
.gx-rh-chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--linha);background:var(--cinza-bg);}
.gx-rh-chips .rotulo{font-size:12px;color:var(--tinta-suave);align-self:center;margin-right:2px;}
.gx-prog{display:flex;align-items:center;gap:8px;min-width:150px;}
.gx-prog .barra-progresso{flex:1;margin:0;}
.gx-prog span{font-size:11.5px;color:var(--tinta-suave);white-space:nowrap;}
@media (max-width:900px){ .gx-busca,.gx-cta,.btn.gx-cta{display:none !important;} }
@media (max-width:560px){ .gx-acoes-rapidas{grid-template-columns:1fr 1fr;} .gx-acao{padding:10px;gap:8px;} .gx-acao .ic{width:32px;height:32px;font-size:16px;} .gx-acao small{display:none;} }
/* ===== Portal do Gestor: refinamentos de UX/UI ===== */
#tela-gestor-espaco .painel{margin-bottom:18px;}
#tela-gestor-espaco .painel-cab{padding:14px 20px;align-items:center;}
#tela-gestor-espaco .painel-cab .toolbar{background:transparent;border:0;box-shadow:none;padding:0;margin:0;flex:1 1 460px;justify-content:flex-end;min-width:0;}
#tela-gestor-espaco .grid-kpi{gap:14px;margin-bottom:18px;}
#tela-gestor-espaco .kpi{padding:14px 16px;}
#tela-gestor-espaco .kpi .valor{font-size:24px;}
#tela-gestor-espaco .filtro-select{min-width:195px;max-width:260px;}
#tela-gestor-espaco .toolbar .busca-box{min-width:210px;}
#tela-gestor-espaco .toolbar{margin-bottom:14px;}
#tela-gestor-espaco .tabela tbody tr.linha-clicavel:hover{background:var(--azul-50);}
.gx-subabas{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 18px;padding:8px 0;position:sticky;top:73px;z-index:15;background:var(--fundo);}
.gx-subaba{border:1px solid var(--linha);background:var(--branco);border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;color:var(--tinta-suave);cursor:pointer;font-family:inherit;transition:all .15s;}
.gx-subaba:hover{border-color:var(--azul-600);color:var(--azul-700);}
.gx-subaba.ativa{background:var(--azul-600);border-color:var(--azul-600);color:#fff;box-shadow:0 3px 10px rgba(37,99,235,.3);}
.gx-alertas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.gx-alerta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);background:var(--branco);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--tinta);cursor:pointer;font-family:inherit;transition:all .15s;}
.gx-alerta:hover{border-color:var(--azul-600);transform:translateY(-1px);}
.gx-alerta .ponto{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.gx-alerta .seta{color:var(--tinta-suave);}
.gx-kpi-link{display:contents;}
.gx-kpi-link .kpi{cursor:pointer;}
.gx-kpi-link .kpi:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);}
.gx-resumo-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;align-items:start;}
.gx-resumo-grid>div>.painel{margin-top:0 !important;}
@media (min-width:1281px){ .gx-resumo-grid .lista-alerta{max-height:560px;overflow-y:auto;} }
.gx-so-mobile{display:block;}
@media (min-width:901px){ .gx-so-mobile{display:none;} }
@media (max-width:1280px){ .gx-resumo-grid{grid-template-columns:minmax(0,1fr);} }
@media (max-width:900px){ .gx-subabas{position:static;} }
@media (max-width:760px){ #tela-gestor-espaco .painel-cab .toolbar{justify-content:flex-start;flex:1 1 100%;} #tela-gestor-espaco .filtro-select{max-width:none;} .gx-subabas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;} .gx-subaba{white-space:nowrap;} }
/* ===== Meu Espaço: rodada 2 (hero, cartões, holerites, polimento geral) ===== */
.ex-hero{position:relative;overflow:hidden;border-radius:20px;padding:26px 28px;color:#fff;background:linear-gradient(135deg,var(--azul-600),var(--azul-900));margin-bottom:18px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;box-shadow:0 10px 30px rgba(30,64,175,.25);}
.ex-hero::before{content:'';position:absolute;top:-80px;right:-40px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.08);}
.ex-hero::after{content:'';position:absolute;bottom:-110px;left:30%;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.05);}
.ex-hero>*{position:relative;z-index:1;}
.ex-hero-av{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex-shrink:0;}
.ex-hero-txt{flex:1;min-width:220px;}
.ex-hero h1{color:#fff;font-size:24px;line-height:1.2;margin:0;}
.ex-hero .sub{color:rgba(255,255,255,.85);font-size:13.5px;margin-top:5px;}
.ex-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.ex-hero-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600;}
.ex-hero-btn{background:#fff;color:var(--azul-700,#1d4ed8);border:0;border-radius:12px;padding:11px 18px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18);transition:transform .15s;}
.ex-hero-btn:hover{transform:translateY(-2px);}
.ex-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-bottom:18px;}
.ex-stat{background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:16px 18px;cursor:pointer;box-shadow:var(--sombra);transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:4px;min-width:0;}
.ex-stat:hover{transform:translateY(-2px);border-color:var(--azul-600);box-shadow:0 10px 24px rgba(15,23,42,.08);}
.ex-stat-cab{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-suave);}
.ex-stat-cab .ic{width:30px;height:30px;border-radius:9px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:15px;}
.ex-stat-val{font-size:25px;font-weight:800;color:var(--titulo);line-height:1.15;margin-top:6px;}
.ex-stat-val.verde{color:var(--verde);} .ex-stat-val.vermelho{color:var(--vermelho);} .ex-stat-val.amarelo{color:#d97706;}
.ex-stat-sub{font-size:12px;color:var(--tinta-suave);line-height:1.35;}
.ex-grade{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start;}
@media (max-width:1180px){ .ex-grade{grid-template-columns:1fr;} }
.ex-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;cursor:pointer;transition:background .12s;}
.ex-item:hover{background:var(--azul-50);}
.ex-item .ic{width:36px;height:36px;border-radius:10px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.ex-item.vermelho .ic{background:var(--vermelho-bg);} .ex-item.amarelo .ic{background:var(--amarelo-bg);}
.ex-item .tx{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--titulo);line-height:1.35;}
.ex-item .tx small{display:block;font-size:11.5px;font-weight:400;color:var(--tinta-suave);margin-top:1px;}
.ex-item .seta{color:var(--tinta-suave);font-size:18px;}
.ex-tudo-ok{text-align:center;padding:26px 14px;color:var(--tinta-suave);font-size:13.5px;}
.ex-tudo-ok .e{font-size:34px;display:block;margin-bottom:6px;}
.ex-info-lista{display:flex;flex-direction:column;}
.ex-info-lista>div{display:flex;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid var(--linha);font-size:13px;}
.ex-info-lista>div:last-child{border-bottom:0;}
.ex-info-lista span{color:var(--tinta-suave);} .ex-info-lista b{color:var(--titulo);text-align:right;}
.ex-holerite-destaque{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-radius:18px;padding:22px 24px;margin-bottom:16px;color:#fff;background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 10px 26px rgba(4,120,87,.22);}
.ex-holerite-destaque .rot{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
.ex-holerite-destaque .val{font-size:32px;font-weight:800;line-height:1.15;margin:4px 0;}
.ex-holerite-destaque .det{font-size:12.5px;opacity:.88;}
.ex-holerite-destaque .acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.ex-holerite-destaque .btn{background:#fff;color:#065f46;border:0;font-weight:700;}
.ex-holerite-destaque .btn.sec{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);}
.ex-hol-linha{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 16px;border:1px solid var(--linha);border-radius:14px;margin-bottom:9px;background:var(--branco);transition:box-shadow .12s,transform .12s;}
.ex-hol-linha:hover{box-shadow:var(--sombra);transform:translateY(-1px);}
.ex-hol-mes{width:46px;height:46px;border-radius:12px;background:var(--azul-50);color:var(--azul-700,#1d4ed8);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:800;text-transform:uppercase;line-height:1.15;flex-shrink:0;}
.ex-hol-mes b{font-size:15px;}
.ex-hol-info{flex:1;min-width:150px;} .ex-hol-info .n{font-weight:700;color:var(--titulo);font-size:14px;} .ex-hol-info .m{font-size:11.5px;color:var(--tinta-suave);margin-top:2px;}
.ex-hol-liq{text-align:right;} .ex-hol-liq small{display:block;font-size:10.5px;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:.04em;} .ex-hol-liq b{font-size:16px;color:var(--verde);}
.ex-pagina .painel{border-radius:16px;}
.ex-pagina .filtro-select{min-width:230px;}
.ex-pagina .doc-card{padding:14px 16px;border-radius:14px;gap:14px;}
.ex-pagina .doc-card .ic{width:42px;height:42px;font-size:20px;border-radius:12px;}
.ex-pagina .doc-card .info .n{font-size:14px;}
.ex-pagina .doc-card .info .m{font-size:12px;}
.ex-pagina .btn-primario:not(.gx-cta){border-radius:11px;}
.ex-faixa{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px;}
@media (max-width:760px){ .ex-hero{padding:20px 18px;gap:14px;border-radius:16px;} .ex-hero h1{font-size:20px;} .ex-hero-av{width:54px;height:54px;font-size:19px;} .ex-hero-btn{width:100%;} .ex-holerite-destaque{padding:18px;} .ex-holerite-destaque .acoes{margin-left:0;width:100%;} .ex-holerite-destaque .acoes .btn{flex:1;} .ex-stats{grid-template-columns:1fr 1fr;gap:10px;} .ex-stat{padding:13px 14px;} .ex-stat-val{font-size:21px;} .ex-hol-liq{margin-left:auto;} }
/* ===== Esqueletos de carregamento, tela de senha e busca global do Meu Espaço ===== */
@keyframes skBrilho{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sk{background:linear-gradient(90deg,var(--cinza-bg) 25%,var(--linha) 50%,var(--cinza-bg) 75%);background-size:200% 100%;animation:skBrilho 1.4s linear infinite;border-radius:12px;}
.sk-hero{height:130px;border-radius:20px;margin-bottom:18px;}
.sk-linha{height:14px;margin:9px 0;border-radius:7px;}
.sk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-bottom:18px;}
.sk-stat{height:112px;border-radius:16px;}
.sk-grade{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;} .sk-bloco{height:230px;border-radius:16px;}
@media (max-width:1180px){ .sk-grade{grid-template-columns:1fr;} }
#tela-meu-espaco.ex-gate-ativo{display:block !important;padding:0;min-height:100vh;}
.ex-gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px 16px;background:linear-gradient(160deg,var(--azul-600),var(--azul-900) 70%);position:relative;overflow:hidden;}
.ex-gate::before{content:'';position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.07);}
.ex-gate::after{content:'';position:absolute;bottom:-140px;left:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.05);}
.ex-gate>*{position:relative;z-index:1;}
.ex-gate-marca{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.85);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.ex-gate-marca img{height:30px;} .ex-gate-marca i{width:1px;height:20px;background:rgba(255,255,255,.3);}
.ex-gate-card{background:var(--branco);border-radius:22px;padding:34px 30px 26px;width:100%;max-width:400px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.ex-gate-av{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;background:var(--azul-50);color:var(--azul-700,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;}
.ex-gate-card h1{font-size:21px;color:var(--titulo);margin:0;}
.ex-gate-card p{color:var(--tinta-suave);font-size:13.5px;margin:8px 0 20px;}
.ex-gate-campo{position:relative;}
.ex-gate-campo input{width:100%;text-align:center;font-size:16px;padding:13px 44px 13px 14px;border-radius:12px;border:1.5px solid var(--linha);background:var(--branco);color:var(--tinta);}
.ex-gate-campo input::-ms-reveal,.ex-gate-campo input::-ms-clear{display:none !important;}
.ex-gate-campo input:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.ex-gate-campo button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;padding:6px;color:var(--tinta-suave);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .15s,background .15s;}
.ex-gate-campo button:hover{color:var(--azul-600);background:var(--azul-50);}
.ex-gate-card .btn-primario{width:100%;margin-top:12px;padding:13px;font-size:14.5px;border-radius:12px;}
.ex-gate-dica{font-size:11.5px;color:var(--tinta-suave);margin-top:16px;line-height:1.5;}
.ex-gate-rodape{color:rgba(255,255,255,.65);font-size:11.5px;}
.ex-busca-res .gx-busca-item .cel-principal{font-size:13px;}
.ex-busca-grupo{padding:8px 12px 4px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tinta-suave);}
@media (max-width:900px){ .ex-topbar{flex-wrap:wrap;} .ex-topbar .gx-busca{display:block !important;order:9;flex:1 1 100%;} }
/* ===== Meu Espaço: layout de aplicativo (menu lateral + barra superior), igual ao portal do gestor ===== */
#tela-meu-espaco.ex-ativo{display:block !important;padding:0;min-height:100vh;}
.ex-shell{display:flex;min-height:100vh;width:100%;}
.ex-side{width:264px;background:linear-gradient(180deg,var(--azul-900),#152a63);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;}
.ex-side-topo{padding:20px 20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);}
.ex-user{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:11px;}
.ex-user-av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ex-user-nome{font-size:14px;font-weight:700;line-height:1.25;overflow-wrap:anywhere;}
.ex-user-meta{font-size:11px;color:rgba(255,255,255,.62);margin-top:2px;}
.ex-nav{flex:1;overflow-y:auto;padding:8px 12px 14px;}
.ex-nav-titulo{font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.55);text-transform:uppercase;padding:11px 10px 5px;}
.ex-side .espaco-aba{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:11px;color:rgba(255,255,255,.82);font-size:13.5px;font-weight:500;cursor:pointer;margin-bottom:3px;border:0;transition:background .15s,color .12s,transform .1s;user-select:none;white-space:normal;}
.ex-side .espaco-aba .emoji{font-size:15px;width:18px;text-align:center;}
.ex-side .espaco-aba:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(1px);}
.ex-side .espaco-aba.ativa{background:var(--azul-600);color:#fff;box-shadow:0 3px 12px rgba(37,99,235,.45);font-weight:600;}
.ex-side .espaco-aba .nav-badge{margin-left:auto !important;}
.ex-side-rodape{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px;justify-content:space-between;}
.ex-side-rodape .sair-btn{width:auto;padding:0 12px;font-size:12.5px;}
.ex-main{margin-left:264px;flex:1;min-width:0;display:flex;flex-direction:column;}
.ex-topbar{background:var(--branco);border-bottom:1px solid var(--linha);padding:16px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20;}
.ex-topbar h2{font-size:19px;color:var(--titulo);line-height:1.2;}
.ex-topbar .gx-sub{font-size:12px;color:var(--tinta-suave);margin-top:2px;}
.ex-pagina{padding:26px 28px 60px;flex:1;min-width:0;width:100%;max-width:1240px;}
.ex-pagina .espaco-conteudo{padding:0;}
.ex-so-mobile{display:none;}
@media (max-width:900px){
  #ex-menu-btn{display:inline-flex !important;} .ex-tema-mobile{display:inline-flex !important;}
  .ex-side{transform:translateX(-100%);transition:transform .22s ease;}
  .ex-side.aberta{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4);}
  .ex-main{margin-left:0;}
  .ex-topbar{padding:12px 16px;}
  .gx-cta.ex-cta{display:none !important;}
}
@media (max-width:760px){
  .ex-pagina{padding:18px 14px calc(80px + env(safe-area-inset-bottom));}
  .ex-topbar h2{font-size:17px;}
  .ex-so-mobile{display:block;}
  .ex-so-desktop{display:none;}
  .ex-pagina .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}
/* ===== Portal do Gestor: layout de aplicativo (menu lateral + barra superior), igual ao sistema do BPO ===== */
#tela-gestor-espaco{min-height:100vh;display:none;background:var(--fundo);}
.gx-shell{display:flex;min-height:100vh;width:100%;}
.gx-side{width:264px;background:linear-gradient(180deg,var(--azul-900),#152a63);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;}
.gx-side-topo{padding:20px 20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);}
.gx-logo{height:26px;width:auto;display:block;flex-shrink:0;}
.gx-portal{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.7);border-left:1px solid rgba(255,255,255,.25);padding-left:10px;line-height:1.2;}
.gx-emp{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.gx-emp-card{display:flex;align-items:center;gap:11px;min-width:0;}
.gx-emp-av{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.gx-emp-txt{min-width:0;flex:1;}
.gx-emp-nome{font-size:14px;font-weight:700;line-height:1.25;overflow-wrap:anywhere;}
.gx-emp-meta{font-size:11px;color:rgba(255,255,255,.62);margin-top:2px;}
.gx-un{margin-top:11px;width:100%;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:8px 10px;color:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s;}
.gx-un:hover{background:rgba(255,255,255,.18);}
.gx-un .ic{font-size:16px;flex-shrink:0;}
.gx-un .tx{flex:1;min-width:0;display:flex;flex-direction:column;}
.gx-un .rot{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.gx-un .t{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-un .seta{font-size:12px;opacity:.8;}
.gx-nav{flex:1;overflow-y:auto;padding:8px 12px 14px;}
.gx-nav-titulo{font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.55);text-transform:uppercase;padding:11px 10px 5px;}
.gestor-aba{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:11px;color:rgba(255,255,255,.82);font-size:13.5px;font-weight:500;cursor:pointer;margin-bottom:3px;transition:background .15s,color .12s,transform .1s;user-select:none;}
.gestor-aba .emoji{font-size:15px;width:18px;text-align:center;}
.gestor-aba:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(1px);}
.gestor-aba.ativa{background:var(--azul-600);color:#fff;box-shadow:0 3px 12px rgba(37,99,235,.45);font-weight:600;}
.gx-side-rodape{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08);}
.gx-side-rodape .usuario-mini{display:flex;align-items:center;gap:9px;}
.gx-main{margin-left:264px;flex:1;min-width:0;display:flex;flex-direction:column;}
.gx-topbar{background:var(--branco);border-bottom:1px solid var(--linha);padding:16px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20;}
.gx-topbar h2{font-size:19px;color:var(--titulo);line-height:1.2;}
.gx-topbar .gx-sub{font-size:12px;color:var(--tinta-suave);margin-top:2px;}
.gx-tit{min-width:0;flex:1;}
.gx-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.gx-menu-btn{display:none;background:none;border:none;font-size:22px;color:var(--titulo);cursor:pointer;padding:4px 8px;margin-left:-8px;}
.gx-acoes-mobile{display:none;gap:8px;align-items:center;}
.gx-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:35;}
.gx-pagina{padding:26px 28px 60px;flex:1;min-width:0;}
.gestor-conteudo{display:none;}
.gestor-conteudo.ativa{display:block;animation:entra .18s ease;}
.gestor-saudacao{font-size:13px;color:var(--tinta-suave);margin-bottom:14px;}
.gestor-pendencias{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.gestor-atalhos-titulo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);margin:20px 0 10px;}
.gestor-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.gestor-atalho{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:16px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--tinta);text-align:center;transition:background .12s,transform .12s,box-shadow .12s;min-height:82px;box-shadow:var(--sombra);}
.gestor-atalho:hover{background:var(--azul-50);transform:translateY(-2px);box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);}
.gestor-atalho:active{transform:scale(.97);}
.gestor-atalho .ic{font-size:19px;width:38px;height:38px;border-radius:11px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;}
.gestor-atalho:hover .ic{background:var(--branco);}
.gestor-bottomnav{display:none;}
@media (max-width:1180px){ .gx-chips{display:none;} }
@media (max-width:900px){
  .gx-side{transform:translateX(-100%);transition:transform .22s ease;}
  .gx-side.aberta{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4);}
  .gx-backdrop.ativo{display:block;}
  .gx-main{margin-left:0;}
  .gx-menu-btn{display:inline-flex;}
  .gx-topbar{padding:12px 16px;}
  .gx-acoes-mobile{display:flex;}
}
@media (max-width:760px){
  .gx-pagina{padding:18px 14px calc(80px + env(safe-area-inset-bottom));}
  .gx-topbar h2{font-size:17px;}
  .gestor-bottomnav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--branco);
    border-top:1.5px solid var(--linha);padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -2px 10px rgba(15,23,42,.06);
  }
  .gestor-bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:6px 2px;font-size:10px;font-weight:600;color:var(--tinta-suave);border-radius:10px;min-height:48px;}
  .gestor-bn-item .ic{font-size:19px;}
  .gestor-bn-item.ativa{color:var(--azul-600);}
}
@media (max-width:560px){
  .gestor-conteudo .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .gestor-conteudo .kpi{padding:13px 14px;}
  .gestor-conteudo .kpi .valor{font-size:22px;}
  .gestor-conteudo .kpi .rotulo{font-size:11.5px;padding-right:0;}
  .gestor-conteudo .kpi .icone{display:none;}
  .gestor-atalhos{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gestor-conteudo .toolbar .busca-box,.gestor-conteudo .toolbar .filtro-select{flex:1 1 100%;max-width:none;}
}
.campo{margin-bottom:16px;}
.campo label{display:block;font-size:12.5px;font-weight:600;color:var(--tinta-suave);margin-bottom:6px;}
.campo input,.campo select,.campo textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--linha);border-radius:10px;
  font-size:14px;color:var(--tinta);outline:none;transition:border-color .15s, box-shadow .15s;background:var(--branco);
}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.campo-em-erro input,.campo-em-erro select,.campo-em-erro textarea{border-color:var(--vermelho) !important;box-shadow:0 0 0 3px var(--vermelho-bg) !important;}
.campo-em-erro>label{color:var(--vermelho);}
.campo textarea{resize:vertical;min-height:64px;}
.campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer;}
.campo-outro-input{margin-top:7px;}
.campo small.dica{display:block;font-size:11px;color:var(--tinta-suave);margin-top:5px;font-weight:500;}
/* ---- bloco de endereço (CEP + IBGE) ---- */
.endereco-bloco{background:var(--azul-50);border:1.5px dashed var(--azul-100);border-radius:var(--raio-sm);padding:14px 14px 4px;margin-bottom:16px;}
.endereco-legado{font-size:12px;color:var(--tinta-suave);background:var(--branco);border:1px solid var(--linha);border-radius:8px;padding:8px 10px;margin-bottom:12px;line-height:1.5;}
.endereco-cep-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.endereco-cep-linha input{width:150px;flex:none;}
.endereco-cep-linha .btn{flex:none;}
.cep-status{font-size:12px;font-weight:600;color:var(--tinta-suave);}
.cep-status.ok{color:var(--verde);}
.cep-status.erro{color:var(--vermelho);}
.endereco-grid{grid-template-columns:1fr 1fr 1fr;}
.endereco-grid .campo{margin-bottom:14px;}
@media (max-width:560px){.endereco-grid{grid-template-columns:1fr;}}
.btn-lupa{background:var(--branco);border:1.5px solid var(--linha);color:var(--azul-700);}
.btn-lupa:hover{background:var(--azul-50);border-color:var(--azul-600);}
.btn-lupa:disabled{opacity:.6;}
.campo-cnpj-linha{display:flex;gap:10px;align-items:flex-start;}
.campo-cnpj-linha .campo{flex:1;margin-bottom:0;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:none;border-radius:10px;padding:10.5px 18px;font-size:13.5px;font-weight:600;
  cursor:pointer;transition:transform .06s, filter .15s, background .15s;white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-primario{background:linear-gradient(135deg,var(--azul-600),var(--azul-700));color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.15),0 4px 10px rgba(37,99,235,.18);}
.btn-primario:hover{filter:brightness(1.08);box-shadow:0 2px 4px rgba(37,99,235,.18),0 8px 16px rgba(37,99,235,.24);transform:translateY(-1px);}
.btn-secundario{background:var(--cinza-bg);color:var(--tinta);border:1px solid var(--linha);}
.btn-secundario:hover{background:var(--cinza-bg-hover);}
.btn-perigo{background:var(--vermelho-bg);color:var(--vermelho);}
.btn-perigo:hover{background:#fbdcdc;}
.btn-fantasma{background:transparent;color:var(--tinta-suave);}
.btn-fantasma:hover{background:var(--cinza-bg);}
.btn-bloco{width:100%;}
.btn-icone{padding:8px;border-radius:9px;}
.btn:disabled{opacity:.55;cursor:not-allowed;}
#erro-login{color:var(--vermelho);font-size:12.5px;margin-top:6px;text-align:center;min-height:16px;}

/* ===== APP SHELL ===== */
#app{display:none;min-height:100vh;}
.shell{display:flex;min-height:100vh;}
.sidebar{
  width:264px;background:linear-gradient(180deg,var(--azul-900),#152a63);color:#fff;
  display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;
}
.sidebar-topo{padding:22px 20px 16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.08);}
.logo-sidebar-img{display:block;height:30px;width:auto;}
.nav{flex:1;overflow-y:auto;padding:10px 12px 14px;}
.nav-busca{position:relative;margin:2px 2px 10px;}
.nav-busca input{width:100%;padding:8px 10px 8px 30px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:12px;outline:none;}
.nav-busca input::placeholder{color:rgba(255,255,255,.45);}
.nav-busca input:focus{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.13);}
.nav-busca .lupa{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:11.5px;opacity:.55;}
.nav-grupo{margin-bottom:2px;}
.nav-grupo-titulo{
  display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.62);
  text-transform:uppercase;padding:12px 10px 6px;cursor:pointer;user-select:none;
}
.nav-grupo-titulo:hover{color:rgba(255,255,255,.7);}
.nav-grupo-titulo .chevron{margin-left:auto;font-size:9px;transition:transform .15s;opacity:.7;}
.nav-grupo.fechado .nav-grupo-titulo .chevron{transform:rotate(-90deg);}
.nav-grupo.fechado .nav-grupo-itens{display:none;}
.nav-item{
  display:flex;align-items:center;gap:11px;padding:9.5px 12px;border-radius:11px;color:rgba(255,255,255,.82);
  font-size:13.5px;font-weight:500;cursor:pointer;margin-bottom:3px;transition:background .15s,color .12s,transform .1s;
}
.nav-item .emoji{font-size:15px;width:18px;text-align:center;}
.nav-item:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(1px);}
.nav-item.ativo{background:var(--azul-600);color:#fff;box-shadow:0 3px 12px rgba(37,99,235,.45);font-weight:600;}
.nav-item.ativo .emoji{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));}
.nav-item.oculto-busca{display:none;}
.nav-grupo.oculto-busca{display:none;}
.nav-badge{margin-left:auto;background:var(--vermelho);color:#fff;font-size:10px;font-weight:700;border-radius:20px;padding:1.5px 6.5px;min-width:16px;text-align:center;}
.sidebar-rodape{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08);}
.usuario-mini{display:flex;align-items:center;gap:9px;}
.usuario-avatar{width:32px;height:32px;border-radius:50%;background:var(--azul-600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.usuario-info{flex:1;min-width:0;}
.usuario-info .n{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.usuario-info .p{font-size:10.5px;opacity:.6;}
.sair-btn{background:none;border:none;color:rgba(255,255,255,.55);font-size:16px;cursor:pointer;padding:4px;}
.sair-btn:hover{color:#fff;}

.conteudo{margin-left:264px;flex:1;min-width:0;display:flex;flex-direction:column;}
#app.modo-cliente .sidebar{display:none;}
#app.modo-cliente .conteudo{margin-left:0;}
#app.modo-cliente .topbar{border-top:3px solid var(--azul-600);}
.modo-cliente-selo{font-size:11px;font-weight:700;color:var(--azul-700);background:var(--azul-50);border:1px solid var(--azul-100);border-radius:20px;padding:5px 12px;white-space:nowrap;}
.topbar{
  background:var(--branco);border-bottom:1px solid var(--linha);padding:16px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:20;
}
.topbar h2{font-size:19px;color:var(--titulo);}
.topbar .empresa-atual{font-size:12px;color:var(--tinta-suave);margin-top:2px;}
.topbar-acoes{display:flex;gap:10px;align-items:center;}
.busca-global-wrap{position:relative;flex:1;max-width:380px;min-width:120px;}
.busca-global-wrap .lupa{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.5;}
.busca-global-wrap input{width:100%;padding:9px 12px 9px 34px;border-radius:9px;border:1.5px solid var(--linha);font-size:12.5px;background:var(--cinza-bg);}
.busca-global-wrap input:focus{outline:none;border-color:var(--azul-600);background:var(--branco);}
.busca-global-resultados{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--branco);border-radius:12px;border:1px solid var(--linha);box-shadow:var(--sombra-modal);max-height:420px;overflow-y:auto;z-index:60;}
.busca-global-grupo-titulo{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--tinta-suave);padding:10px 14px 4px;}
.busca-global-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:12.5px;}
.busca-global-item:hover{background:var(--azul-50);}
.busca-global-item .ic{font-size:15px;flex-shrink:0;}
.busca-global-item .txt{flex:1;min-width:0;}
.busca-global-item .n{font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.busca-global-item .m{font-size:11px;color:var(--tinta-suave);}
.busca-global-vazio{padding:16px 14px;font-size:12px;color:var(--tinta-suave);text-align:center;}
.busca-mobile-btn{display:none;}
@media (max-width:900px){
  .busca-global-wrap{display:none;}
  .busca-global-wrap.busca-mobile-ativa{
    display:flex;position:absolute;top:100%;left:0;right:0;max-width:none;min-width:0;
    margin:0;padding:10px 16px;background:var(--branco);border-bottom:1px solid var(--linha);
    box-shadow:var(--sombra-modal);z-index:25;
  }
  .busca-mobile-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:17px;color:var(--titulo);cursor:pointer;padding:6px 8px;}
}
.pagina{padding:26px 28px 60px;flex:1;}
.secao{display:none;}
.secao.ativa{display:block;animation:entra .18s ease;}
@keyframes entra{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

/* ===== CARDS / KPI ===== */
.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px;}
/* Blocos de KPI agrupados por tema (Financeiro / Quadro / Operação) — usados nos relatórios da
   empresa (mensal, por período e Espaço da Empresa) em vez de uma grade única de 8-9 cards do
   mesmo tamanho, que em telas largas deixava a última linha incompleta (17/09/2026). */
.kpi-grupos{display:flex;flex-direction:column;gap:20px;margin-bottom:20px;}
.kpi-grupo-titulo{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);margin:0 0 10px;display:flex;align-items:center;gap:6px;}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
#lista-aniversariantes.grid-cards{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));}
.card-aniv{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-sm);padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--sombra);transition:box-shadow .15s,transform .15s;}
.card-aniv:hover{box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);transform:translateY(-1px);}
.card-aniv .data{width:46px;height:46px;border-radius:12px;background:var(--azul-50);color:var(--azul-700);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;line-height:1.05;}
.card-aniv .data small{font-size:9px;font-weight:700;text-transform:uppercase;opacity:.75;}
.aniv-idade-txt{font-size:12px;color:var(--azul-700);margin-top:2px;font-weight:600;}
.aniv-idade-txt b{font-weight:800;}
.card-aniv.casa{border-left:3px solid #d97706;}
.card-aniv.casa .data{background:var(--amarelo-bg);color:#b45309;}
.card-aniv.casa .aniv-idade-txt{color:#b45309;}
.aniv-item.casa .aniv-idade-bola{background:#d97706;}
.aniv-item.casa.hoje{border-color:#d97706;box-shadow:0 0 0 2px rgba(217,119,6,.18);}
.aniv-painel{border:1px solid var(--azul-600);background:linear-gradient(135deg,var(--azul-50),var(--branco) 70%);}
.aniv-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px 10px;padding-top:8px;}
.aniv-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--linha);border-radius:12px;background:var(--branco);}
.aniv-tag{position:absolute;top:-9px;right:14px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);}
.aniv-tag.hoje{background:var(--azul-600);} .aniv-item.casa .aniv-tag.hoje{background:#d97706;}
.aniv-tag.amanha{background:#e2e8f0;color:#334155;box-shadow:none;border:1px solid #cbd5e1;}
.aniv-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;line-height:1.35;}
.btn-wa-mini.btn-wa-rot{width:auto;padding:0 11px;gap:6px;font-size:12px;font-weight:700;height:30px;} .btn-wa-rot span{font-size:12px;}
@media(max-width:560px){ .btn-wa-rot span{display:none;} .btn-wa-mini.btn-wa-rot{width:30px;padding:0;} }
.aniv-item.hoje{border-color:var(--azul-600);box-shadow:0 0 0 2px rgba(37,99,235,.14);}
.aniv-idade-bola{flex:none;width:52px;height:52px;padding:0 6px;box-sizing:border-box;border-radius:50%;background:var(--azul-600);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.aniv-idade-bola b{font-size:16px;font-weight:800;}
.aniv-idade-bola small{font-size:7px;font-weight:700;text-transform:uppercase;opacity:.9;margin-top:3px;letter-spacing:0;white-space:nowrap;}
@media(max-width:560px){.aniv-lista{grid-template-columns:1fr;}}
.card-aniv.hoje{border-color:var(--azul-600);background:var(--azul-50);}
/* Nome sempre em 1 linha com reticências (em vez de quebrar em 2-3 linhas e espremer o card) —
   ficou mais evidente depois de acrescentar o botão de WhatsApp na mesma linha (setembro/2026). */
.card-aniv .cel-principal{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dep-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-sm);box-shadow:var(--sombra);margin-bottom:12px;overflow:hidden;}
.dep-card-cab{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:10px;}
.dep-card-cab:hover{background:var(--cinza-bg);}
.dep-card-corpo{display:none;padding:0 18px 14px;}
.dep-card.aberto .dep-card-corpo{display:block;}
.dep-card.aberto .dep-chevron{transform:rotate(90deg);}
.dep-chevron{transition:transform .15s;color:var(--tinta-suave);}
.fb-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-sm);box-shadow:var(--sombra);padding:14px 18px;margin-bottom:10px;}
.fb-card .msg{font-size:13.5px;color:var(--tinta);margin:8px 0;line-height:1.5;white-space:pre-wrap;}
.fb-card .resposta{background:var(--azul-50);border-radius:9px;padding:10px 12px;margin-top:8px;font-size:13px;white-space:pre-wrap;}

/* ===== CHAT "FALE COM O RH" (estilo mensageiro, tempo real) ===== */
.rh-chat-wrap{display:flex;height:calc(100vh - 230px);min-height:480px;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;background:var(--branco);box-shadow:var(--sombra);}
.rh-chat-lista{width:310px;flex-shrink:0;border-right:1px solid var(--linha);display:flex;flex-direction:column;background:var(--cinza-bg);}
.rh-chat-lista-busca{padding:12px;border-bottom:1px solid var(--linha);flex-shrink:0;}
.rh-chat-lista-busca input{width:100%;border:1.5px solid var(--linha);border-radius:9px;padding:8px 12px;font:inherit;font-size:13px;background:var(--branco);color:var(--tinta);}
.rh-chat-lista-busca input:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.rh-chat-lista-itens{flex:1;overflow-y:auto;}
.rh-chat-item{display:flex;gap:10px;align-items:center;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--linha);position:relative;transition:background .1s;}
.rh-chat-item:hover{background:var(--azul-50);}
.rh-chat-item.ativo{background:var(--azul-50);box-shadow:inset 3px 0 0 var(--azul-600);}
.rh-chat-avatar{width:38px;height:38px;border-radius:50%;background:var(--azul-600);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;position:relative;}
.rh-chat-avatar .ponto-online{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:#94a3b8;border:2px solid var(--cinza-bg);}
.rh-chat-avatar .ponto-online.online{background:var(--verde);}
.rh-chat-cabecalho .rh-chat-avatar .ponto-online{border-color:var(--branco);}
.rh-chat-item-info{flex:1;min-width:0;}
.rh-chat-item-nome{font-weight:700;font-size:13px;color:var(--titulo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rh-chat-item-sub{font-size:11px;color:var(--tinta-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.rh-chat-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;}
.rh-chat-item-hora{font-size:10px;color:var(--tinta-suave);}
.rh-chat-badge{background:var(--azul-600);color:#fff;font-size:10.5px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;}
.rh-chat-painel{flex:1;display:flex;flex-direction:column;min-width:0;}
.rh-chat-cabecalho{padding:12px 18px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:12px;flex-shrink:0;}
.rh-chat-cabecalho-info{flex:1;min-width:0;}
.rh-chat-cabecalho-nome{font-weight:700;font-size:14px;color:var(--titulo);}
.rh-chat-cabecalho-status{font-size:11.5px;color:var(--tinta-suave);}
.rh-chat-cabecalho-status.online{color:var(--verde);font-weight:600;}
.rh-chat-corpo{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:3px;background:var(--cinza-bg);}
.rh-bolha-linha{display:flex;flex-direction:column;max-width:66%;}
.rh-bolha-linha.nos{align-self:flex-end;align-items:flex-end;}
.rh-bolha-linha.eles{align-self:flex-start;align-items:flex-start;}
.rh-bolha{padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;box-shadow:var(--sombra);}
.rh-bolha-linha.eles .rh-bolha{background:var(--branco);color:var(--tinta);border-bottom-left-radius:4px;}
.rh-bolha-linha.nos .rh-bolha{background:linear-gradient(135deg,var(--azul-600),var(--azul-700));color:#fff;border-bottom-right-radius:4px;}
.rh-bolha-hora{font-size:10px;color:var(--tinta-suave);margin:2px 4px 8px;}
.rh-bolha-linha.antiga .rh-bolha{opacity:.72;}
.rh-chat-separador{text-align:center;font-size:11px;color:var(--tinta-suave);margin:6px 0 12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.rh-chat-rodape{padding:12px 16px;border-top:1px solid var(--linha);display:flex;gap:10px;align-items:flex-end;flex-shrink:0;background:var(--branco);}
.rh-chat-rodape textarea{flex:1;resize:none;border:1.5px solid var(--linha);border-radius:12px;padding:10px 14px;font:inherit;font-size:13.5px;max-height:120px;background:var(--branco);color:var(--tinta);}
.rh-chat-rodape textarea:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.rh-chat-vazio{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--tinta-suave);gap:8px;text-align:center;padding:20px;}
.rh-chat-vazio .emoji{font-size:34px;}
@media (max-width:860px){
  .rh-chat-wrap{flex-direction:column;height:calc(100vh - 190px);}
  .rh-chat-lista{width:100%;max-height:220px;border-right:none;border-bottom:1px solid var(--linha);}
  .rh-chat-lista.oculta-mobile{display:none;}
}
/* Chat do Meu Espaço (colaborador) — mesmas bolhas, container mais simples (thread única) */
.espaco-chat-wrap{display:flex;flex-direction:column;height:65vh;min-height:400px;max-height:600px;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;}
.espaco-chat-cabecalho{padding:12px 16px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:10px;background:var(--branco);flex-shrink:0;}
.espaco-chat-corpo{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:3px;background:var(--cinza-bg);}
.espaco-chat-rodape{padding:10px 14px;border-top:1px solid var(--linha);display:flex;gap:8px;align-items:flex-end;background:var(--branco);flex-shrink:0;}
.espaco-chat-rodape textarea{flex:1;resize:none;border:1.5px solid var(--linha);border-radius:12px;padding:9px 13px;font:inherit;font-size:13.5px;max-height:100px;background:var(--branco);color:var(--tinta);}
.espaco-chat-rodape textarea:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.rh-chat-btn-enviar{background:linear-gradient(135deg,var(--azul-600),var(--azul-700));color:#fff;border:none;border-radius:11px;width:42px;height:42px;flex-shrink:0;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s;}
.rh-chat-btn-enviar:hover{transform:scale(1.06);}
.rh-chat-btn-enviar:disabled{opacity:.5;cursor:default;transform:none;}
/* Perfil BPO (avatar/apelido/recado, estilo MSN) + arquivar/excluir conversas — ver renderFaleComRH,
   abrirModalMeuPerfilRH e a nota "Perfil BPO no chat" perto de rhChatIniciais() */
.rh-chat-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.rh-chat-avatar.emoji-avatar{font-size:18px;background:var(--cinza-bg);}
.rh-chat-toggle-arquivadas{padding:9px 14px;font-size:11.5px;color:var(--tinta-suave);text-align:center;border-bottom:1px solid var(--linha);cursor:pointer;background:var(--branco);user-select:none;}
.rh-chat-toggle-arquivadas:hover{color:var(--azul-600);}
.rh-chat-item.arquivada{opacity:.66;}
.rh-chat-item-acoes{opacity:0;transition:opacity .1s;flex-shrink:0;}
.rh-chat-item:hover .rh-chat-item-acoes{opacity:1;}
.rh-chat-item-acoes button{background:none;border:none;cursor:pointer;font-size:13px;padding:3px 5px;color:var(--tinta-suave);border-radius:6px;line-height:1;}
.rh-chat-item-acoes button:hover{background:var(--cinza-bg);color:var(--tinta);}
.rh-chat-cabecalho-recado{font-size:11.5px;color:var(--azul-600);font-style:italic;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rh-perfil-preview{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:12px;background:var(--cinza-bg);border-radius:12px;}
.rh-perfil-preview .rh-chat-avatar{width:54px;height:54px;font-size:24px;}
.rh-perfil-preview-info{flex:1;min-width:0;font-size:12px;color:var(--tinta-suave);}
.rh-perfil-emoji-grid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;}
.rh-perfil-emoji-grid button{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--linha);background:var(--branco);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .1s;}
.rh-perfil-emoji-grid button:hover{border-color:var(--azul-600);}
.rh-perfil-emoji-grid button.selecionado{border-color:var(--azul-600);background:var(--azul-50);}
.rh-perfil-link-remover{font-size:11.5px;color:var(--vermelho);cursor:pointer;margin-left:8px;}
.kpi{background:var(--branco);border-radius:var(--raio);padding:18px 20px;box-shadow:var(--sombra);border:1px solid var(--linha);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s;}
.kpi:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);}
.kpi .rotulo{font-size:12px;color:var(--tinta-suave);font-weight:600;margin-bottom:8px;padding-right:40px;}
.kpi .valor{font-size:27px;font-weight:800;color:var(--titulo);}
.kpi .valor small{font-size:13px;font-weight:600;color:var(--tinta-suave);}
/* Ícone do KPI ganhou um "selo" colorido (setembro/2026, redesign geral) em vez de flutuar solto
   com opacidade baixa em cima do canto do card, mesma informação, só com mais acabamento visual
   e reforçando a cor de estado (neutro/alerta/perigo) também no ícone, não só no valor. */
.kpi .icone{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:11px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:16px;opacity:1;}
.kpi.alerta .valor{color:var(--amarelo);}
.kpi.alerta .icone{background:var(--amarelo-bg);}
.kpi.perigo .valor{color:var(--vermelho);}
.kpi.perigo .icone{background:var(--vermelho-bg);}

.painel{background:var(--branco);border-radius:var(--raio);border:1px solid var(--linha);box-shadow:var(--sombra);margin-bottom:22px;}
.painel-cab{padding:16px 20px;border-bottom:1px solid var(--linha);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.painel-cab h3{font-size:15px;color:var(--titulo);}
.painel-cab .desc{font-size:12px;color:var(--tinta-suave);margin-top:2px;}
.painel-corpo{padding:18px 20px;}
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;}
@media (max-width:980px){.grid-2{grid-template-columns:1fr;}}

.lista-alerta{display:flex;flex-direction:column;gap:10px;}
.item-alerta{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;background:var(--cinza-bg);font-size:12.5px;cursor:pointer;transition:background .12s;}
.item-alerta:hover{background:var(--azul-50);}
.item-alerta .ponto{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.item-alerta .txt{flex:1;}
.item-alerta .txt b{font-weight:600;}
.item-alerta .txt small{display:block;color:var(--tinta-suave);margin-top:1px;}
.vazio{text-align:center;padding:30px 10px;color:var(--tinta-suave);font-size:13px;}
.vazio .emoji-vazio{font-size:30px;display:block;margin-bottom:8px;opacity:.6;}

/* ===== TOOLBAR / FILTROS ===== */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}

.busca-box{position:relative;flex:1;min-width:200px;max-width:340px;}
.busca-box input{width:100%;padding:9.5px 13px 9.5px 34px;border:1.5px solid var(--linha);border-radius:10px;font-size:13px;outline:none;background:var(--branco);}
.busca-box input:focus{border-color:var(--azul-600);}
.busca-box .lupa{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.45;font-size:13px;}
.filtro-select{padding:9px 12px;border:1.5px solid var(--linha);border-radius:10px;font-size:12.5px;background:var(--branco);color:var(--tinta);outline:none;}
.spacer{flex:1;}
.contador-resultado{font-size:12px;color:var(--tinta-suave);margin:-6px 0 12px;}

/* ===== TABELA ===== */
.tabela-wrap{overflow-x:auto;border-radius:var(--raio);border:1px solid var(--linha);background:var(--branco);box-shadow:var(--sombra);}
table.tabela{width:100%;border-collapse:collapse;font-size:13px;min-width:640px;}
table.tabela th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);font-weight:700;padding:12px 16px;border-bottom:1.5px solid var(--linha);background:var(--cinza-bg);white-space:nowrap;}
table.tabela th.th-ordenavel{cursor:pointer;user-select:none;}
table.tabela th.th-ordenavel:hover{color:var(--titulo);}
table.tabela th.th-ordenavel::after{content:'⇅';margin-left:5px;opacity:.35;font-size:10px;}
table.tabela th.th-ord-asc::after{content:'↑';opacity:1;color:var(--azul-600);}
table.tabela th.th-ord-desc::after{content:'↓';opacity:1;color:var(--azul-600);}
table.tabela td{padding:12px 16px;border-bottom:1px solid var(--linha);vertical-align:middle;white-space:nowrap;}
table.tabela td.cel-livre{white-space:normal;min-width:220px;}
table.tabela tr:last-child td{border-bottom:none;}
table.tabela tbody tr{transition:background .1s;}
table.tabela tbody tr:hover{background:var(--azul-50);}
/* Coluna de ações "grudada" na borda direita ao rolar a tabela — nunca mais fica escondida fora da
   tela. Antes, texto longo (nome/empresa) quebrava em várias linhas e "empurrava" editar/excluir pra
   fora; agora a linha não quebra (rola na horizontal, .tabela-wrap já suportava isso) e a última
   coluna acompanha a rolagem. */
table.tabela th:last-child{position:-webkit-sticky;position:sticky;right:0;box-shadow:-6px 0 8px -6px rgba(0,0,0,.10);}
table.tabela td:last-child{position:-webkit-sticky;position:sticky;right:0;background:var(--branco);box-shadow:-6px 0 8px -6px rgba(0,0,0,.10);}
table.tabela tbody tr:hover td:last-child{background:var(--azul-50);}
table.tabela tr.linha-filial-agrupada td:last-child{background:var(--cinza-bg);}
/* Opt-out: tabelas cuja última coluna é dado (não ação) — ex.: comentário de pesquisa — não fixam. */
table.tabela.tabela-sem-sticky th:last-child,table.tabela.tabela-sem-sticky td:last-child{position:static;box-shadow:none;}
.linha-clicavel{cursor:pointer;}
.linha-filial-agrupada{background:var(--cinza-bg);}
.linha-filial-agrupada:hover{background:var(--azul-50);}
.conector-filial{color:var(--tinta-suave);font-size:14px;margin-right:6px;flex-shrink:0;}
.cel-principal{font-weight:600;color:var(--tinta);}
.cel-sub{font-size:11.5px;color:var(--tinta-suave);margin-top:1px;}
.acoes-linha{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.acoes-linha button{background:none;border:none;font-size:14px;padding:5px 7px;border-radius:7px;color:var(--tinta-suave);}
.acoes-linha button:hover{background:var(--cinza-bg);color:var(--azul-600);}
/* Botão compacto de WhatsApp (botaoWhatsappFuncionario), reutilizado na tabela de Funcionários,
   Central de Pendências, Dashboard, Fale com o RH, Aniversariantes etc., ver comentário da função
   em JS pra contexto (setembro/2026, "não achei o botão do whatsapp"). Verde da marca do WhatsApp
   (não o azul do sistema), pra ficar reconhecível de relance numa lista cheia de outros ícones. */
.btn-wa-mini{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--verde-bg);color:var(--verde);font-size:15px;text-decoration:none;flex-shrink:0;transition:filter .12s,transform .08s;}
.btn-wa-mini:hover{filter:brightness(.96);}
.btn-wa-mini:active{transform:scale(.93);}
.btn-wa-mini-off{background:var(--cinza-bg);color:var(--tinta-suave);opacity:.55;cursor:not-allowed;}
.btn-wa-mini-sm{width:26px;height:26px;font-size:13px;border-radius:7px;}

.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3.5px 10px;border-radius:20px;white-space:nowrap;}
.badge-verde{background:var(--verde-bg);color:var(--verde);}
.badge-amarelo{background:var(--amarelo-bg);color:var(--amarelo);}
.badge-vermelho{background:var(--vermelho-bg);color:var(--vermelho);}
.badge-azul{background:var(--azul-50);color:var(--azul-700);}
.badge-cinza{background:var(--cinza-bg);color:var(--tinta-suave);}
.avatar-txt{width:30px;height:30px;border-radius:50%;background:var(--azul-100);color:var(--titulo);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;margin-right:9px;flex-shrink:0;}
.linha-flex{display:flex;align-items:center;}

/* ===== MODAL ===== */
.modal-fundo{
  position:fixed;inset:0;background:rgba(15,23,42,.5);display:none;align-items:flex-start;justify-content:center;
  padding:5vh 16px;z-index:100;overflow-y:auto;backdrop-filter:blur(2px);
}
.modal-fundo.ativo{display:flex;}
/* O modal genérico (confirmações, formulários simples) pode ser aberto por um botão que
   está DENTRO do modal do funcionário (ex.: aba Acessos, Cadastro Completo), sem isso os dois
   .modal-fundo ficavam no mesmo z-index e o genérico caía atrás do modal do funcionário, que vem
   depois no HTML. Aqui garantimos que o genérico sempre fica na frente de qualquer outro modal. */
#modal-fundo-generico{z-index:110;}
/* Popups de link (ver/gerar link de cadastro, link do Meu Espaço) ficam ainda acima — inclusive
   acima do próprio modal genérico, já que podem ser abertos de dentro dele (ex.: tela de
   Admissão) e precisam empilhar por cima em vez de substituir o que já estava aberto. */
#modal-fundo-link{z-index:120;}
.modal{background:var(--branco);border-radius:18px;max-width:600px;width:100%;box-shadow:var(--sombra-modal);animation:sube .16s ease;margin-bottom:5vh;}
.modal.modal-lg{max-width:820px;}
.modal.modal-xl{max-width:980px;}
/* Usado pelo Espelho de Ponto (pedido dela, setembro/2026: "abrir em uma aba grande") — bem maior
   que o modal-xl, ocupando quase a tela toda, pra caber a tabela de dias inteira sem rolagem
   horizontal e deixar os alertas sempre visíveis sem precisar rolar até o fim. */
.modal.modal-cheia{max-width:1500px;width:96vw;}
.modal.modal-cheia .modal-corpo{max-height:76vh;}
@keyframes sube{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
/* Selo clicável de "dia afetado" dentro de um alerta do Espelho de Ponto — clicar rola até a
   linha daquele dia na tabela e pisca ela, pra explicar exatamente ONDE está o problema, não só
   quantos dias têm (pedido dela, setembro/2026: "quero que tenha explicação"). */
.badge-dia-alerta{display:inline-block;background:var(--branco);border:1px solid var(--linha);border-radius:20px;padding:2px 9px;margin:3px 4px 0 0;font-size:11.5px;font-weight:700;color:var(--titulo);cursor:pointer;}
.badge-dia-alerta:hover{background:var(--cinza-bg);}
@keyframes piscaLinhaEspelho{0%,100%{background:transparent;}30%,70%{background:#fef3c7;}}
.linha-espelho-destaque{animation:piscaLinhaEspelho 1.6s ease;}
.modal-cab{padding:20px 24px;border-bottom:1px solid var(--linha);display:flex;align-items:center;justify-content:space-between;}
.modal-cab h3{font-size:16.5px;color:var(--titulo);}
.modal-fechar{background:none;border:none;font-size:19px;color:var(--tinta-suave);cursor:pointer;padding:2px 8px;border-radius:8px;}
.modal-fechar:hover{background:var(--cinza-bg);}
.modal-corpo{padding:22px 24px;max-height:64vh;overflow-y:auto;}
.modal-rodape{padding:16px 24px;border-top:1px solid var(--linha);display:flex;justify-content:flex-end;gap:10px;background:var(--cinza-bg);border-radius:0 0 18px 18px;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
.form-grid .full{grid-column:1/-1;}
@media (max-width:560px){.form-grid{grid-template-columns:1fr;}}
.check-linha{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tinta);}
.check-linha input{width:16px;height:16px;}

/* ---- seções dentro de um formulário longo (agrupa campos relacionados) ---- */
.form-secao{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:4px 0 -2px;padding-top:14px;border-top:1px solid var(--linha);}
.form-secao:first-child{padding-top:0;border-top:none;margin-top:0;}
.form-secao .tit{font-size:11.5px;font-weight:700;color:var(--azul-700);text-transform:uppercase;letter-spacing:.04em;}
.form-secao .desc{font-size:11px;color:var(--tinta-suave);font-weight:500;}

/* ---- toggle-card para checkbox de "situação especial" (mais visível que um checkbox solto) ---- */
.toggle-card{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border:1.5px solid var(--linha);border-radius:10px;cursor:pointer;background:var(--fundo-sutil);transition:border-color .12s,background .12s;}
.toggle-card:hover{border-color:var(--azul-100);}
.toggle-card input{width:17px;height:17px;margin-top:1px;flex-shrink:0;accent-color:var(--azul-600);}
.toggle-card .txt{font-size:12.5px;color:var(--tinta);line-height:1.4;}
.toggle-card .txt b{display:block;font-weight:600;margin-bottom:1px;}
.toggle-card.marcado{border-color:var(--azul-600);background:var(--azul-50);}
.campo-condicional{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:12px 14px 2px;background:var(--azul-50);border-radius:10px;margin-top:-6px;}
.campo-condicional .full{grid-column:1/-1;}
@media (max-width:560px){.campo-condicional{grid-template-columns:1fr;}}
.campo-obrigatorio-erro{border-color:var(--vermelho) !important;box-shadow:0 0 0 3px var(--vermelho-bg) !important;}

.abas{display:flex;gap:2px;border-bottom:1.5px solid var(--linha);margin:-22px -24px 20px;padding:0 20px;overflow-x:auto;}
.aba{padding:12px 14px;font-size:12.5px;font-weight:600;color:var(--tinta-suave);cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;transition:color .12s,border-color .12s,background .12s;border-radius:8px 8px 0 0;}
.aba:hover{color:var(--azul-700);background:var(--azul-50);}
.aba.ativa{color:var(--azul-600);border-color:var(--azul-600);background:var(--azul-50);}
table.tabela tbody tr.linha-clicavel{cursor:pointer;}
.conteudo-aba{display:none;}
.conteudo-aba.ativa{display:block;animation:entra .15s ease;}
#espaco-empresa-abas{margin:0 0 20px;padding:0;}
.dash-tabs{display:flex;gap:22px;border-bottom:1.5px solid var(--linha);margin-bottom:20px;}
.dash-tab{background:none;border:none;padding:0 0 10px;font-size:13.5px;font-weight:600;color:var(--tinta-suave);cursor:pointer;border-bottom:2.5px solid transparent;}
.dash-tab:hover{color:var(--azul-700);}
.dash-tab.ativa{color:var(--azul-600);border-color:var(--azul-600);}
.dash-tab-conteudo{display:none;}
.dash-tab-conteudo.ativa{display:block;animation:entra .15s ease;}

/* ---- modal em duas colunas (rail lateral de navegação + conteúdo) — usado no perfil do funcionário ---- */
.modal-2col{display:flex;height:74vh;}
.modal-2col-rail{width:190px;flex-shrink:0;border-right:1px solid var(--linha);background:var(--cinza-bg);padding:14px 10px;overflow-y:auto;border-radius:18px 0 0 18px;}
.modal-2col-rail .grupo-tit{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);padding:12px 10px 5px;}
.modal-2col-rail .grupo-tit:first-child{padding-top:2px;}
.modal-2col-rail .item{display:flex;align-items:center;gap:8px;padding:8.5px 10px;border-radius:9px;font-size:12.5px;font-weight:500;color:var(--tinta-suave);cursor:pointer;margin-bottom:2px;}
.modal-2col-rail .item:hover{background:var(--branco);color:var(--tinta);}
.modal-2col-rail .item.ativa{background:var(--azul-600);color:#fff;font-weight:600;}
.modal-2col-corpo{flex:1;min-width:0;padding:22px 24px;overflow-y:auto;}
@media (max-width:760px){
  .modal-2col{flex-direction:column;height:auto;max-height:none;}
  .modal-2col-rail{width:100%;border-right:none;border-bottom:1px solid var(--linha);border-radius:18px 18px 0 0;display:flex;overflow-x:auto;overflow-y:visible;gap:2px;white-space:nowrap;padding:10px;}
  .modal-2col-rail .grupo-tit{display:none;}
  .modal-2col-rail .item{flex-shrink:0;}
  .modal-2col-corpo{padding:18px;}
}

.checklist{display:flex;flex-direction:column;gap:8px;}
.checklist-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--linha);border-radius:10px;background:var(--fundo-sutil);}
.checklist-item.feito{background:var(--verde-bg);border-color:#bfe6cd;}
.checklist-item input[type=checkbox]{width:17px;height:17px;flex-shrink:0;}
.checklist-item span{flex:1;font-size:13px;}
.checklist-item.feito span{text-decoration:line-through;color:var(--tinta-suave);}
.barra-progresso{height:7px;background:var(--cinza-bg);border-radius:20px;overflow:hidden;margin:8px 0 16px;}
.barra-progresso > div{height:100%;background:linear-gradient(90deg,var(--azul-600),var(--verde));border-radius:20px;transition:width .25s;}

.linha-dinamica{display:flex;gap:8px;margin-bottom:8px;align-items:center;}
.linha-dinamica input{flex:1;}
.linha-dinamica .rem{background:var(--vermelho-bg);color:var(--vermelho);border:none;border-radius:8px;width:34px;height:34px;flex-shrink:0;font-size:14px;}
.pdi-acao-card{border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--fundo);}
.pdi-acao-topo{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.pdi-acao-topo input[type="checkbox"]{flex:none;width:18px;height:18px;accent-color:var(--azul-600);}
.pdi-acao-desc{flex:1;min-width:0;}
.pdi-acao-grid{display:flex;gap:10px;flex-wrap:wrap;}
.pdi-acao-campo{flex:1 1 140px;min-width:130px;}
.pdi-acao-campo label{display:block;font-size:10.5px;font-weight:600;color:var(--tinta-suave);margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em;}
.pdi-acao-card input,.pdi-acao-card select{
  width:100%;padding:9px 12px;border:1.5px solid var(--linha);border-radius:9px;
  font-size:13px;color:var(--tinta);outline:none;background:var(--branco);transition:border-color .15s, box-shadow .15s;
}
.pdi-acao-card input:focus,.pdi-acao-card select:focus{border-color:var(--azul-600);box-shadow:0 0 0 3px var(--azul-50);}
.pdi-acao-card select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer;}
.pdi-acao-card .rem{background:var(--vermelho-bg);color:var(--vermelho);border:none;border-radius:8px;width:32px;height:32px;flex-shrink:0;font-size:13px;cursor:pointer;}
.total-linha{display:flex;justify-content:space-between;padding:10px 4px;font-weight:700;font-size:13.5px;color:var(--titulo);border-top:1.5px dashed var(--linha);margin-top:6px;}

.timeline{display:flex;flex-direction:column;gap:0;}
.timeline-item{display:flex;gap:12px;padding-bottom:18px;position:relative;}
.timeline-item:not(:last-child)::before{content:'';position:absolute;left:14px;top:26px;bottom:0;width:1.5px;background:var(--linha);}
.timeline-dot{width:29px;height:29px;border-radius:50%;background:var(--azul-50);color:var(--azul-600);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;z-index:1;}
.timeline-corpo{flex:1;padding-top:2px;}
.timeline-corpo .t{font-size:12.5px;font-weight:600;}
.timeline-corpo .d{font-size:11.5px;color:var(--tinta-suave);margin-top:1px;}

.doc-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--linha);border-radius:12px;margin-bottom:9px;background:var(--branco);transition:box-shadow .12s,transform .12s;}
.doc-card:hover{box-shadow:var(--sombra);transform:translateY(-1px);}
.doc-card .ic{font-size:18px;width:36px;height:36px;border-radius:10px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.doc-card .info{flex:1;min-width:0;}
.doc-card .info .n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-card .info .m{font-size:11px;color:var(--tinta-suave);margin-top:1px;}

/* "label" é inline por padrão — sem "display:block/flex" aqui, a borda tracejada e o padding
   ficavam sobrepondo o texto/campo logo acima (elemento inline não empurra a linha de baixo
   pra reservar espaço pra ele). Isso deixava a área de upload com o texto "em cima" de outro
   elemento, bug corrigido em 2026-09. Agora também com ícone, título e dica em linhas
   separadas, em vez de tudo espremido numa frase só. */
.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px dashed var(--linha);border-radius:12px;padding:24px 18px;text-align:center;color:var(--tinta-suave);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s;}
.upload-area:hover{border-color:var(--azul-600);background:var(--azul-50);}
.upload-area input{display:none;}
.upload-area .upload-icone{font-size:24px;line-height:1;}
.upload-area .upload-titulo{font-weight:600;color:var(--titulo);font-size:13px;}
.upload-area .upload-dica{font-size:11px;color:var(--tinta-suave);}
.upload-area.tem-arquivo{border-style:solid;border-color:var(--azul-600);background:var(--azul-50);}
.upload-area.arrastando-arquivo{border-style:solid;border-color:var(--azul-600);background:var(--azul-50);box-shadow:0 0 0 3px rgba(37,99,235,.15);transform:scale(1.01);}

/* ===== TOASTS / CONFIRM ===== */
#toasts{position:fixed;bottom:22px;right:22px;z-index:200;display:flex;flex-direction:column;gap:10px;}
.toast{background:#1e293b;color:#fff;padding:12px 18px;border-radius:11px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;align-items:center;gap:10px;min-width:220px;animation:sube .18s ease;}
.toast.sucesso{background:#166534;}
.toast.erro{background:#991b1b;}
#confirm-fundo{position:fixed;inset:0;background:rgba(15,23,42,.5);display:none;align-items:center;justify-content:center;z-index:300;padding:16px;}
#confirm-fundo.ativo{display:flex;}
.confirm-box{background:var(--branco);border-radius:16px;padding:24px;max-width:380px;width:100%;box-shadow:var(--sombra-modal);text-align:center;}
.confirm-box .ic{font-size:32px;margin-bottom:8px;}
.confirm-box h4{font-size:15.5px;margin-bottom:6px;}
.confirm-box p{font-size:12.5px;color:var(--tinta-suave);margin-bottom:18px;}
.confirm-acoes{display:flex;gap:10px;}
.confirm-acoes .btn{flex:1;}

.menu-flutuante{position:absolute;background:var(--branco);border-radius:11px;box-shadow:var(--sombra-modal);border:1px solid var(--linha);min-width:170px;z-index:150;overflow:hidden;padding:5px;}
.menu-flutuante button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 11px;font-size:12.5px;border-radius:8px;color:var(--tinta);}
.menu-flutuante button:hover{background:var(--azul-50);color:var(--azul-700);}

.carregando{display:flex;align-items:center;justify-content:center;padding:50px;color:var(--tinta-suave);font-size:13px;gap:10px;}
.spinner{width:18px;height:18px;border:2.5px solid var(--linha);border-top-color:var(--azul-600);border-radius:50%;animation:girar .7s linear infinite;}
@keyframes girar{to{transform:rotate(360deg);}}
.oculto{display:none !important;}

@media (max-width:900px){
  .sidebar{transform:translateX(-100%);transition:transform .2s;}
  .sidebar.aberta{transform:none;}
  .conteudo{margin-left:0;}
  .topbar{padding:14px 16px;}
  .pagina{padding:18px 14px 50px;}
  .menu-mobile{display:inline-flex !important;}
}
.menu-mobile{display:none;background:none;border:none;font-size:20px;color:var(--titulo);margin-right:6px;}
@media (max-width:640px){
  #tela-portal-colaborador{padding:0;}
  .portal-card{border-radius:0;max-width:100%;min-height:100vh;}
  .portal-card-corpo{padding:0 14px 30px;}
  .portal-topo{padding:20px 16px 16px;}
  .portal-progresso-wrap{margin:0 -14px 6px;padding:10px 14px 8px;}
  .portal-secao{margin:20px 0 10px;font-size:13px;}
  .portal-stepper-rotulo{display:none;}
  .portal-stepper-bola{width:24px;height:24px;font-size:11px;}
  .portal-upload-item{flex-direction:column;align-items:flex-start;}
  .portal-upload-item label.btn{width:100%;text-align:center;}
  .portal-card .btn-bloco{padding:14px;font-size:14px;}
  .portal-nav-inferior{flex-wrap:wrap;}
  .portal-nav-inferior button{flex:1;min-width:120px;}
}
@media print{
  .sidebar, .topbar, .toolbar, .btn, .modal-fundo, .menu-flutuante, #toasts, .acoes-linha, .abas, .confirm-box, #confirm-fundo { display:none !important; }
  body, .conteudo{ margin:0!important; background:#fff!important; }
  .painel{ box-shadow:none; border:1px solid #ddd; break-inside:avoid; }
  .pagina{ padding:0!important; }
}

/* ══════════════════ ASSINATURAS — módulo de assinatura eletrônica (copiado do CRM Clarion) ══════════════════ */
/* Aliases de variáveis + classes genéricas que o módulo (copiado quase literalmente do CRM) espera —
   apontam para as variáveis de cor já existentes do BPO, então acompanham o modo claro/escuro sozinhas. */
:root{
  --white:var(--branco);
  --gray-50:var(--fundo-sutil);
  --gray-100:var(--linha);
  --gray-200:var(--linha);
  --gray-300:var(--linha);
  --gray-400:var(--tinta-suave);
  --gray-600:var(--tinta);
  --gray-900:var(--titulo);
  --primary:var(--azul-700);
  --primary-solid:var(--azul-700);
  --primary-pale:var(--azul-50);
  --danger-text:var(--vermelho);
}
.btn-primary{background:linear-gradient(135deg,var(--azul-600),var(--azul-700));color:#fff;}
.btn-primary:hover{filter:brightness(1.08);}
.btn-ghost{background:var(--cinza-bg);color:var(--tinta);}
.btn-ghost:hover{background:var(--cinza-bg-hover);}
.btn-danger{background:var(--vermelho-bg);color:var(--vermelho);}
.btn-danger:hover{background:#fbdcdc;}
.btn-sm{padding:6px 10px;font-size:11.5px;}
.empty-state{text-align:center;padding:30px 10px;color:var(--tinta-suave);font-size:13px;}
.empty-icon{font-size:30px;display:block;margin-bottom:8px;opacity:.6;}
    /* ══════════════════ ASSINATURAS (assinatura eletrônica) ══════════════════ */
    .asn-hidden { display: none !important; }

    .asn-badge { display:inline-flex; align-items:center; gap:3px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700; white-space:nowrap; }
    .asn-badge-pendente { background:#fef3c7; color:#92400e; }
    .asn-badge-completo { background:#d1fae5; color:#065f46; }

    .asn-card { background:var(--white); border:1px solid var(--gray-200); border-left:4px solid var(--gray-300); border-radius:12px; padding:1rem 1.1rem; margin-bottom:0.7rem; box-shadow:0 1px 4px rgba(0,0,0,0.04); transition:box-shadow 0.15s; }
    .asn-card:hover { box-shadow:0 4px 14px rgba(0,0,0,0.08); }
    .asn-card.asn-status-completo { border-left-color:#10b981; }
    .asn-card.asn-status-pendente { border-left-color:#f59e0b; }
    .asn-card-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
    .asn-card-title { font-size:14px; font-weight:800; color:var(--gray-900); }
    .asn-card-sub { color:var(--gray-400); font-size:11.5px; margin-top:3px; }
    .asn-card-actions { display:flex; gap:6px; flex-wrap:wrap; }

    .asn-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:2px dashed var(--gray-300); border-radius:12px; padding:36px 20px; text-align:center; color:var(--gray-600); cursor:pointer; transition:.15s; background:var(--gray-50); }
    .asn-dropzone:hover, .asn-dropzone.asn-dragover { border-color:var(--primary); background:var(--primary-pale); }
    .asn-dropzone input { display:none; }
    .asn-dropzone.asn-dropzone-busy { cursor:wait; opacity:.6; pointer-events:none; }
    .asn-upload-status-line { display:flex; align-items:center; gap:8px; margin-top:10px; color:var(--gray-600); font-size:13px; min-height:18px; }
    .asn-upload-status-line.asn-status-error { color:#dc2626; font-weight:600; }
    .asn-spinner { width:14px; height:14px; border-radius:50%; border:2px solid var(--gray-300); border-top-color:var(--primary); animation:asnSpin .7s linear infinite; flex:none; }
    @keyframes asnSpin { to { transform:rotate(360deg); } }

    .asn-builder { display:flex; gap:20px; align-items:flex-start; }
    .asn-builder-sidebar { width:290px; flex-shrink:0; position:sticky; top:12px; display:flex; flex-direction:column; gap:1rem; }
    .asn-builder-pages { flex:1; min-width:0; }
    /* Em telas estreitas a coluna fixa de 290px não cabe do lado da área de páginas — empilha
       (sidebar em cima, páginas embaixo) e tira o "sticky" (que só faz sentido com scroll lateral
       lado a lado; empilhado ele prenderia a sidebar no topo cobrindo espaço da tela toda). */
    @media (max-width:860px){
      .asn-builder{flex-direction:column;}
      .asn-builder-sidebar{width:100%;position:static;}
    }

    .asn-sig-chip { display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; border:2px solid transparent; cursor:pointer; margin-bottom:6px; background:var(--gray-50); transition:border-color .15s, background .15s; }
    .asn-sig-chip.asn-ativo { border-color: var(--asn-cor, var(--primary-solid)); background:var(--white); }
    .asn-sig-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; }
    .asn-sig-chip .asn-sig-info { flex:1; min-width:0; }
    .asn-sig-chip .asn-sig-nome { font-size:13px; font-weight:700; color:var(--gray-900); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .asn-sig-chip .asn-sig-papel { font-size:11px; color:var(--gray-400); }
    .asn-sig-chip .asn-sig-remove { color:var(--danger-text); font-size:16px; padding:2px 6px; border-radius:6px; line-height:1; }
    .asn-sig-chip .asn-sig-remove:hover { background:#fee2e2; }

    /* Mini-formulário "+ Adicionar signatário" — campos com rótulo (em vez de só
       placeholder, que corta o texto e some assim que a pessoa começa a digitar). */
    .asn-add-sig-form { margin-top:12px; padding-top:14px; border-top:1px dashed var(--linha); }
    .asn-field { margin-bottom:10px; }
    .asn-field label { display:block; font-size:11px; font-weight:600; color:var(--tinta-suave); margin-bottom:4px; }
    .asn-field label .asn-opcional { font-weight:500; opacity:.75; text-transform:none; }
    .asn-field input { width:100%; padding:9px 11px; border:1.5px solid var(--linha); border-radius:9px; font-size:13px; color:var(--tinta); outline:none; background:var(--branco); transition:border-color .15s, box-shadow .15s; box-sizing:border-box; }
    .asn-field input:focus { border-color:var(--azul-600); box-shadow:0 0 0 3px var(--azul-50); }
    .asn-field-hint { font-size:11px; color:var(--tinta-suave); line-height:1.45; margin:2px 0 12px; }

    .asn-painel-titulo { font-weight:700; margin-bottom:10px; color:var(--titulo); font-size:14px; padding-bottom:10px; border-bottom:1px solid var(--linha); display:flex; align-items:center; gap:7px; }

    .asn-tool-btns { display:flex; gap:8px; margin:10px 0 4px; }
    .asn-tool-btns button { flex:1; font-size:12.5px; font-weight:600; padding:12px 6px; flex-direction:column; gap:4px; justify-content:center; border-radius:10px; }
    .asn-tool-btns button .asn-tool-icone { font-size:17px; }
    .asn-tool-btns button.asn-colocando { outline:2px solid var(--primary-solid); outline-offset:1px; background:var(--primary-pale); color:var(--primary); }

    .asn-page-wrap { position:relative; margin:0 auto 28px; border:1px solid var(--gray-200); border-radius:6px; overflow:visible; box-shadow:0 1px 4px rgba(0,0,0,.08); background:var(--white); cursor:crosshair; }
    .asn-page-wrap.asn-modo-normal { cursor:default; }
    .asn-page-wrap canvas { display:block; width:100%; height:auto; border-radius:5px; }
    .asn-page-num { position:absolute; top:-20px; left:0; font-size:11px; color:var(--gray-400); font-weight:600; }

    .asn-campo { --cor:#2563eb; position:absolute; box-sizing:border-box; border:1.5px dashed var(--cor); border-radius:8px; background:rgba(255,255,255,.72); background:color-mix(in srgb, var(--cor) 9%, rgba(255,255,255,.75)); display:flex; align-items:center; justify-content:center; cursor:grab; user-select:none; -webkit-user-select:none; touch-action:none; transition:box-shadow .15s, background .15s, border-color .15s; }
    .asn-campo:active { cursor:grabbing; }
    .asn-campo:hover, .asn-campo.asn-sel { border-style:solid; box-shadow:0 0 0 3px rgba(37,99,235,.18), 0 6px 16px rgba(15,23,42,.14); box-shadow:0 0 0 3px color-mix(in srgb, var(--cor) 22%, transparent), 0 6px 16px rgba(15,23,42,.14); z-index:5; }
    .asn-campo-rotulo { display:flex; align-items:center; gap:6px; max-width:100%; min-width:0; padding:0 10px; font-size:11.5px; font-weight:700; line-height:1; color:var(--cor); white-space:nowrap; pointer-events:none; }
    .asn-campo-rotulo svg { width:15px; height:15px; flex-shrink:0; }
    .asn-campo-rotulo span { overflow:hidden; text-overflow:ellipsis; }
    .asn-campo-barra { position:absolute; top:-40px; right:0; display:none; align-items:center; gap:2px; padding:4px; background:#fff; border:1px solid #e5e7eb; border-radius:11px; box-shadow:0 8px 22px rgba(15,23,42,.2); z-index:9; cursor:default; }
    .asn-campo:hover .asn-campo-barra, .asn-campo.asn-sel .asn-campo-barra { display:flex; }
    .asn-campo.asn-barra-baixo .asn-campo-barra { top:auto; bottom:-40px; }
    .asn-campo-barra button { width:30px; height:30px; padding:0; border:0; border-radius:8px; background:transparent; color:#475569; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .12s, color .12s; }
    .asn-campo-barra button svg { width:17px; height:17px; }
    .asn-campo-barra button:hover { background:#eff6ff; color:#2563eb; }
    .asn-campo-barra button.asn-del:hover { background:#fef2f2; color:#dc2626; }
    .asn-campo-barra .asn-sep { width:1px; height:18px; background:#e5e7eb; margin:0 2px; }
    .asn-campo-resize { position:absolute; right:-8px; bottom:-8px; width:15px; height:15px; border-radius:5px; background:#fff; border:2px solid var(--cor); cursor:nwse-resize; display:none; box-shadow:0 2px 6px rgba(15,23,42,.3); z-index:8; }
    .asn-campo-resize::before { content:''; position:absolute; inset:-10px; }
    .asn-campo:hover .asn-campo-resize, .asn-campo.asn-sel .asn-campo-resize { display:block; }

    .asn-contatos-ajuda { margin-top:12px; padding:10px 14px; border-radius:10px; background:var(--azul-50, #eff6ff); font-size:12.5px; line-height:1.5; color:var(--tinta-suave, #475569); }
    .asn-contato-main { display:flex; align-items:center; gap:14px; min-width:0; }
    .asn-avatar { width:40px; height:40px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; background:#e0e7ff; color:#3730a3; }
    .asn-avatar-gestor { background:#fef3c7; color:#92400e; }
    .asn-avatar-outro { background:#e5e7eb; color:#374151; }
    .asn-tag { display:inline-block; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:600; background:#e0e7ff; color:#3730a3; }
    .asn-tag-gestor { background:#fef3c7; color:#92400e; }
    .asn-tag-outro { background:#e5e7eb; color:#374151; }
    .asn-sem-email { color:#b45309; font-weight:600; }
    .asn-links-list { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
    .asn-link-row { display:flex; align-items:center; gap:8px; background:var(--gray-50); border-radius:8px; padding:8px 10px; font-size:13px; }
    .asn-link-row .asn-link-url { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--gray-600); }

    /* Cartão de link por signatário, no modal "🔗 Ver links" — usa var(--gray-*)
       (em vez de cor fixa) porque esse modal agora é um .modal-overlay comum,
       que já acompanha claro/escuro sozinho, nada de cor "grudada" aqui. */
    .asn-link-item { border:1px solid var(--gray-100); border-radius:12px; padding:12px 14px; margin-bottom:10px; }
    .asn-link-item:last-child { margin-bottom:0; }
    .asn-link-item-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
    .asn-link-item-nome { font-weight:700; font-size:13.5px; color:var(--gray-900); }
    .asn-link-item-url { font-family:'Poppins',system-ui,sans-serif; font-size:11.5px; color:var(--gray-400); background:var(--gray-50); border-radius:6px; padding:6px 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-bottom:8px; }
    .asn-link-item-actions { display:flex; gap:6px; flex-wrap:wrap; }

/* =====================================================================================
   USABILIDADE NO CELULAR (set/2026), só regras dentro de @media (telas estreitas): o desktop
   não muda nada. Objetivos: sem zoom automático do iPhone ao tocar num campo, alvos de toque
   de 44px, modais viram "folha" que sobe de baixo, tabelas com a 1ª coluna fixa ao rolar,
   menu lateral com fundo escurecido, respeitar o "notch"/barra inferior do aparelho.
   ===================================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
button,.btn,a,.nav-item,.aba,select,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
/* barra fininha de progresso no topo enquanto o 1º carregamento dos dados acontece */
#barra-carregando{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;overflow:hidden;background:rgba(37,99,235,.15);pointer-events:none;}
#barra-carregando>div{height:100%;width:40%;background:linear-gradient(90deg,var(--azul-600),#60a5fa);border-radius:3px;animation:barraCarregando 1.1s ease-in-out infinite;}
@keyframes barraCarregando{0%{transform:translateX(-100%);}100%{transform:translateX(350%);}}
#sidebar-backdrop{display:none;}
@media (max-width:900px){
  body{overflow-x:hidden;}
  /* iOS dá zoom em qualquer campo com fonte < 16px — 16px acaba com o "pulo" de tela ao digitar */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea,
  .campo input,.campo select,.campo textarea{font-size:16px;}
  input[type=checkbox],input[type=radio]{width:20px;height:20px;}
  .checklist-item input[type=checkbox],.toggle-card input,.check-linha input{width:20px;height:20px;}
  /* alvos de toque de 44px */
  .btn{min-height:44px;}
  .btn-icone{min-width:44px;min-height:44px;}
  .nav-item{min-height:44px;}
  .aba{padding:14px 16px;font-size:13px;}
  .modal-fechar{min-width:44px;min-height:44px;font-size:22px;display:inline-flex;align-items:center;justify-content:center;}
  .menu-mobile,.busca-mobile-btn{min-width:44px;min-height:44px;font-size:22px;}
  .btn-wa-mini{width:40px;height:40px;font-size:18px;}
  /* topo enxuto, respeitando o notch */
  .topbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));gap:8px;}
  .topbar>div:first-child{min-width:0;display:flex;align-items:center;}
  .topbar h2{font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .topbar .empresa-atual{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw;}
  .topbar-acoes{gap:6px;flex-shrink:0;}
  /* menu lateral: mais largo pro polegar, rola sozinho e escurece o resto da tela */
  .sidebar{width:min(86vw,320px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom);}
  .sidebar.aberta{box-shadow:0 0 40px rgba(0,0,0,.45);}
  #sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:39;backdrop-filter:blur(1.5px);}
  #sidebar-backdrop.ativo{display:block;}
  /* conteúdo */
  .pagina{padding:14px 12px calc(50px + env(safe-area-inset-bottom));}
  .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;}
  .kpi{padding:14px 14px;}
  .kpi .valor{font-size:21px;}
  .kpi .rotulo{padding-right:30px;font-size:11.5px;}
  .kpi .icone{width:30px;height:30px;top:10px;right:10px;font-size:14px;}
  /* filtros/ferramentas: campos ocupam a linha, botões dividem o espaço */
  .toolbar{gap:8px;}
  .toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select{flex:1 1 calc(50% - 8px);min-width:0;width:auto;}
  .toolbar input[type=search],.toolbar input[type=text]{flex:1 1 100%;}
  .toolbar .btn{flex:1 1 auto;}
  /* tabelas: rolagem lateral suave, 1ª coluna (nome) e ações fixas, menos respiro */
  .tabela-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:12px;}
  table.tabela{font-size:12.5px;min-width:560px;}
  table.tabela th{padding:10px 12px;}
  table.tabela td{padding:11px 12px;}
  table.tabela td:first-child:not(:has(input[type=checkbox])){position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--branco);box-shadow:6px 0 8px -6px rgba(0,0,0,.10);max-width:44vw;overflow:hidden;text-overflow:ellipsis;}
  table.tabela tbody tr:hover td:first-child:not(:has(input[type=checkbox])){background:var(--azul-50);}
  /* chat ocupa a altura REAL visível (barra do navegador do celular não corta o campo de envio) */
  .rh-chat-wrap{height:calc(100dvh - 170px);}
  #toasts{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));}
  .toast{min-width:0;width:100%;}
}
@media (max-width:640px){
  /* modais viram "folha" que sobe da parte de baixo, quase em tela cheia, com cabeçalho e botões sempre à vista */
  .modal-fundo{padding:0;align-items:flex-end;}
  .modal,.modal.modal-lg,.modal.modal-xl,.modal.modal-cheia{
    max-width:100%;width:100%;margin:0;border-radius:18px 18px 0 0;
    max-height:94vh;max-height:94dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  }
  .modal-cab{position:sticky;top:0;z-index:5;background:var(--branco);padding:14px 16px;border-radius:18px 18px 0 0;}
  .modal-cab h3{font-size:15.5px;}
  .modal-corpo,.modal.modal-cheia .modal-corpo{max-height:none;overflow:visible;padding:16px;}
  .modal-rodape{position:sticky;bottom:0;z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap;border-radius:0;}
  .modal-rodape .btn{flex:1 1 auto;}
  .modal-2col-corpo{padding:16px;}
  .abas{margin:-16px -16px 16px;padding:0 8px;}
  .form-grid{gap:12px;}
  .campo{margin-bottom:12px;}
  /* seletores lado a lado em pares viram coluna única */
  .campo-cnpj-linha{flex-wrap:wrap;}
  .campo-cnpj-linha .btn{width:100%;}
}

/* ===== TABELAS VIRAM CARTÕES NO CELULAR (≤640px) =====
   Cada linha vira um cartão "Rótulo: valor" (os rótulos vêm do cabeçalho, ver JS 'tabelasEmCartoes').
   Tabelas com mais de 8 colunas (ex.: espelho de ponto) continuam com rolagem lateral. */
@media (max-width:640px){
  .tabela-wrap.em-cartoes{overflow:visible;border:none;background:transparent;box-shadow:none;}
  table.tabela.cartoes{display:block;min-width:0;width:100%;}
  table.tabela.cartoes thead{display:none;}
  table.tabela.cartoes tbody{display:flex;flex-direction:column;gap:10px;}
  table.tabela.cartoes tr{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:var(--sombra);padding:6px 0;overflow:hidden;}
  table.tabela.cartoes td{display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:normal;text-align:right;border-bottom:1px dashed var(--linha);padding:8px 14px;position:static !important;box-shadow:none !important;max-width:none !important;background:transparent !important;}
  table.tabela.cartoes td:last-child{border-bottom:none;}
  table.tabela.cartoes td[data-label]::before{content:attr(data-label);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);text-align:left;flex-shrink:0;}
  table.tabela.cartoes td[data-label=""]::before{display:none;}
  table.tabela.cartoes td.cel-principal,table.tabela.cartoes td:first-child:not([data-label]){font-weight:700;}
  table.tabela.cartoes td[colspan]{display:block;text-align:center;}
  table.tabela.cartoes td:has(button),table.tabela.cartoes td:has(.acoes-linha){justify-content:flex-end;flex-wrap:wrap;}
}

/* ===== PAINÉIS DE NÚMEROS (KPI) NO CELULAR ===== o Dashboard/relatórios forçam 3-4 colunas via
   style inline (por isso o !important), no celular espremia o texto. Agora: 2 colunas, e cada
   cartão vira "ícone + número" na 1ª linha e o rótulo inteiro embaixo, sem cortar palavras. */
@media (max-width:640px){
  .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .grid-kpi>.kpi:last-child:nth-child(odd){grid-column:1/-1;}
  .kpi{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"ic val" "lab lab";align-items:center;align-content:start;column-gap:10px;row-gap:8px;padding:14px;min-width:0;}
  .kpi:hover{transform:none;}
  .kpi .icone{grid-area:ic;position:static;width:38px;height:38px;border-radius:12px;font-size:18px;}
  .kpi .valor{grid-area:val;text-align:right;font-size:26px;line-height:1;min-width:0;white-space:nowrap;}
  .kpi .valor small{font-size:12px;}
  .kpi .rotulo{grid-area:lab;align-self:start;padding:0;margin:0;font-size:12.5px;line-height:1.3;font-weight:600;overflow-wrap:break-word;hyphens:auto;}
  .kpi>:not(.icone):not(.valor):not(.rotulo){grid-column:1/-1;}
  .kpi-grupos{gap:16px;}
  .kpi-grupo-titulo{font-size:11px;margin-bottom:8px;}
}

/* ===== AJUSTES FINOS POR TELA (celular) ===== */
@media (max-width:640px){
  .toolbar .spacer{display:none;}
  .toolbar>span{flex:0 0 auto;white-space:normal !important;}
  .toolbar input[type=month],.toolbar input[type=date]{width:auto !important;flex:1 1 130px;min-width:0;}
  #secao-falerh .toolbar{flex-wrap:nowrap;align-items:flex-start;}
  #secao-falerh .toolbar .btn{flex:0 0 auto;}
  /* textos explicativos longos no topo das telas: mostram 3 linhas e abrem ao tocar */
  .secao p.cel-sub[data-clamp]{position:relative;max-height:4.6em;overflow:hidden;cursor:pointer;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent);}
  .secao p.cel-sub[data-clamp].aberto{max-height:none;-webkit-mask-image:none;mask-image:none;}
  .secao p.cel-sub[data-clamp]:not(.aberto)::after{content:"ver mais ▾";position:absolute;right:0;bottom:0;padding-left:26px;font-weight:700;font-size:11.5px;color:var(--azul-600);background:linear-gradient(90deg,transparent,var(--fundo) 40%);}
}

@media (max-width:640px){
  .modal input,.modal select,.modal textarea{min-width:0;max-width:100%;}
  .linha-dinamica{flex-wrap:wrap;}
  .linha-dinamica input:first-child,.linha-dinamica select:first-child{flex:1 1 100%;}
  .linha-dinamica input{min-width:0;}
}

/* ===== MENU LATERAL: ícones nos grupos, contador quando o grupo está recolhido, grupo ativo destacado ===== */
.nav-grupo-ic{font-size:12px;opacity:.85;letter-spacing:0;}
.nav-grupo-badge{margin-left:auto;background:var(--vermelho);color:#fff;font-size:9.5px;font-weight:700;border-radius:20px;padding:1px 6px;min-width:15px;text-align:center;letter-spacing:0;}
.nav-grupo-badge+.chevron{margin-left:6px;}
.nav-grupo:not(.fechado) .nav-grupo-badge{display:none;}
.nav-grupo.tem-ativo .nav-grupo-titulo{color:rgba(255,255,255,.85);}
.nav-grupo.fechado.tem-ativo .nav-grupo-titulo::before{content:"";width:5px;height:5px;border-radius:50%;background:#60a5fa;margin-right:-2px;}
.nav-grupo+.nav-grupo{border-top:1px solid rgba(255,255,255,.06);}
.nav-grupo-titulo{padding-top:14px;}
.nav-atalho-dica{margin:0 2px 8px;font-size:10px;color:rgba(255,255,255,.38);text-align:center;}

/* ===== AÇÕES RÁPIDAS (Dashboard) ===== */
.acoes-rapidas{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.acoes-rapidas-tit{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);margin-right:4px;}
.acao-rapida{background:var(--branco);border:1.5px solid var(--linha);color:var(--tinta);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s,transform .06s;}
.acao-rapida:hover{background:var(--azul-50);border-color:var(--azul-600);color:var(--azul-700);}
.acao-rapida:active{transform:scale(.97);}
@media (max-width:640px){
  .acoes-rapidas{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px 14px;padding:2px 12px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .acoes-rapidas::-webkit-scrollbar{display:none;}
  .acoes-rapidas-tit{display:none;}
  .acao-rapida{flex:0 0 auto;white-space:nowrap;min-height:40px;}
}

/* Valores longos (ex.: R$ 12.345,67): cartão empilha ícone / valor / rótulo e o valor nunca quebra */
@media (max-width:640px){
  .kpi.longo{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"ic" "val" "lab";row-gap:6px;}
  .kpi.longo .valor{text-align:left;font-size:21px;letter-spacing:-.3px;white-space:nowrap;}
  .kpi.longo.mais-longo .valor{font-size:18px;}
  .busca-box,.busca-box[style]{min-width:0 !important;max-width:100% !important;flex:1 1 100% !important;}
  .espaco-chat-wrap{height:calc(100dvh - 470px);min-height:280px;max-height:none;}
  .doc-card{flex-wrap:wrap;}
  .doc-card .info{flex:1 1 calc(100% - 60px);}
  .doc-card .info .n{white-space:normal;}
  .doc-card>.btn{flex:1 1 100%;}
  .painel-cab>.toolbar{flex:1 1 100%;min-width:0 !important;max-width:100%;margin-bottom:0;}
  .painel-cab>.toolbar>*{min-width:0;max-width:100%;}
  .busca-box input,.toolbar .busca-box input{width:100% !important;min-width:0 !important;box-sizing:border-box;flex:none !important;}
}

.chip-pendencia{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--tinta);font-family:inherit;}
.chip-pendencia:hover{border-color:var(--azul-600);background:var(--azul-50);}
.chip-pendencia b{color:#dc2626;}

/* ═══════════ POLIMENTO VISUAL + SAÚDE DO CADASTRO (outubro/2026) — só acrescenta, não troca nada ═══════════ */
/* Menu lateral: títulos de grupo sem quebra de linha e com o chevron sempre alinhado à direita */
.nav-grupo-titulo{white-space:nowrap;letter-spacing:.05em;gap:7px;}
.nav-grupo-titulo .chevron{flex-shrink:0;}
.nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;}
.nav::-webkit-scrollbar{width:6px;}
.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);}
.nav-item{position:relative;}
.nav-item.ativo::before{content:"";position:absolute;left:-12px;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:#93c5fd;}
/* Cartões e botões: resposta suave ao passar o mouse / clicar */
.painel{transition:box-shadow .18s,border-color .18s;}
.painel:hover{box-shadow:0 2px 4px rgba(15,23,42,.05),0 10px 28px rgba(15,23,42,.07);}
:root.tema-escuro .painel:hover{box-shadow:0 2px 4px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.45);}
.btn{transition:background .15s,filter .15s,transform .08s,box-shadow .15s;}
.btn:active{transform:translateY(1px) scale(.985);}
.btn-primario:hover,.btn-primary:hover{box-shadow:0 6px 16px rgba(37,99,235,.32);}
.painel-cab h3{letter-spacing:-.005em;}
.tabela tbody tr{transition:background .12s;}
.tabela tbody tr:hover td{background:var(--azul-50);}
/* Campos de formulário: borda e foco mais claros */
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(37,99,235,.14);outline:none;}
/* Respeita quem prefere menos animação */
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;scroll-behavior:auto !important;}}


/* Ficha da empresa: seções opcionais recolhidas */
.form-opc{grid-column:1/-1;border:1px solid var(--linha);border-radius:var(--raio-sm);background:var(--fundo-sutil);}
.form-opc>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;user-select:none;}
.form-opc>summary::-webkit-details-marker{display:none;}
.form-opc>summary::before{content:"▸";font-size:11px;color:var(--tinta-suave);transition:transform .15s;}
.form-opc[open]>summary::before{transform:rotate(90deg);}
.form-opc>summary .tit{font-size:11.5px;font-weight:700;color:var(--azul-700);text-transform:uppercase;letter-spacing:.04em;}
.form-opc .opc-tag{margin-left:auto;font-size:10.5px;color:var(--tinta-suave);background:var(--cinza-bg);padding:2px 9px;border-radius:12px;}
.form-opc[open]>.form-grid{padding:4px 14px 14px;}
/* Configurações: barra de atalhos entre os painéis */
#config-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;position:sticky;top:0;z-index:5;padding:8px 0;background:var(--fundo);}
/* Espelho de ponto: lixeira por dia (aparece ao passar o mouse na linha) */
.esp-del-dia{cursor:pointer;opacity:0;margin-left:6px;font-size:12px;transition:opacity .12s;}
tr:hover .esp-del-dia,.esp-del-dia:focus{opacity:.75;}
.esp-del-dia:hover{opacity:1;}
@media (hover:none){.esp-del-dia{opacity:.6;}}
.sc-chip{border:1px solid var(--linha);background:var(--branco);color:var(--tinta);font-size:12px;font-weight:600;padding:7px 13px;border-radius:20px;transition:background .15s,border-color .15s,color .15s;}
.sc-chip:hover{border-color:var(--azul-600);color:var(--azul-600);background:var(--azul-50);}
/* Saúde do cadastro */
.sc-topo{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px;}
.sc-anel{--p:0;--c:var(--verde);width:84px;height:84px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--cinza-bg) 0);position:relative;}
.sc-anel::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--branco);}
.sc-anel span{position:relative;font-weight:800;font-size:19px;color:var(--titulo);}
.sc-resumo{display:flex;flex-direction:column;gap:3px;min-width:200px;flex:1;}
.sc-resumo b{font-size:16px;color:var(--titulo);}
.sc-resumo span{font-size:12.5px;color:var(--tinta-suave);}
.sc-resumo .sc-alerta{color:var(--vermelho);font-weight:600;}
.sc-lista{display:flex;flex-direction:column;gap:8px;}
.sc-emp{border:1px solid var(--linha);border-radius:var(--raio-sm);background:var(--fundo-sutil);}
.sc-emp>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:11px 14px;cursor:pointer;user-select:none;}
.sc-emp>summary::-webkit-details-marker{display:none;}
.sc-emp>summary::before{content:"▸";font-size:11px;color:var(--tinta-suave);transition:transform .15s;}
.sc-emp[open]>summary::before{transform:rotate(90deg);}
.sc-nome-emp{flex:1;min-width:0;font-weight:700;font-size:13.5px;display:flex;flex-direction:column;}
.sc-nome-emp small{font-weight:500;font-size:11px;color:var(--tinta-suave);}
.sc-barra{width:120px;height:8px;border-radius:8px;background:var(--cinza-bg);overflow:hidden;flex-shrink:0;}
.sc-barra i{display:block;height:100%;border-radius:8px;transition:width .3s;}
.sc-pct{width:44px;text-align:right;font-size:13px;}
.sc-corpo{padding:4px 14px 14px;display:flex;flex-direction:column;gap:8px;}
.sc-item{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-sm);padding:10px 12px;font-size:12.5px;}
.sc-item:not(.sc-det){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.sc-item>div b{display:block;}
.sc-item>div span{color:var(--tinta-suave);}
.sc-det summary{cursor:pointer;}
.sc-nomes{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.sc-nome{border:1px solid var(--linha);background:var(--cinza-bg);color:var(--tinta);font-size:11.5px;padding:5px 10px;border-radius:16px;transition:background .12s,border-color .12s;}
.sc-nome:hover{background:var(--azul-50);border-color:var(--azul-600);}
.sc-mais{font-size:11.5px;color:var(--tinta-suave);align-self:center;}
.sc-ok{padding:10px 12px;font-size:12.5px;color:var(--verde);font-weight:600;}
@media (max-width:640px){.sc-barra{width:60px;}.sc-anel{width:68px;height:68px;}.sc-anel span{font-size:16px;}}

/* Editor de pesquisa estilo Google Forms */
.pq-form{background:var(--cinza-bg);margin:-4px -6px;padding:14px;border-radius:12px;}
.pq-cab{background:var(--branco);border:1.5px solid var(--linha);border-top:6px solid var(--azul-600);border-radius:12px;padding:16px 18px;margin-bottom:12px;}
.pq-titulo{width:100%;border:none;border-bottom:1.5px solid transparent;font-size:22px;font-weight:700;padding:6px 0;background:transparent;color:var(--titulo);font-family:inherit;}
.pq-titulo:hover,.pq-titulo:focus{border-bottom-color:var(--linha);outline:none;}
.pq-desc{width:100%;border:none;border-bottom:1.5px solid transparent;font-size:13.5px;padding:6px 0;background:transparent;color:var(--tinta);font-family:inherit;}
.pq-desc:hover,.pq-desc:focus{border-bottom-color:var(--linha);outline:none;}
.pq-tipos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pq-chip{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--tinta);}
.pq-chip.on{background:var(--azul-50);border-color:var(--azul-600);color:var(--azul-700);}
.pq-dica{font-size:12px;color:var(--tinta-suave);margin-top:6px;}
.pq-card{background:var(--branco);border:1.5px solid var(--linha);border-radius:12px;padding:16px 18px;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s;}
.pq-card:hover{box-shadow:var(--sombra);}
.pq-card.ativa{border-left:6px solid var(--azul-600);cursor:default;box-shadow:var(--sombra);}
.pq-q-txt{font-size:14.5px;font-weight:600;margin-bottom:8px;}
.pq-q-fixa{font-size:15px;font-weight:600;margin-bottom:10px;}
.pq-ast{color:var(--vermelho);}
.pq-linha1{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.pq-q-input{flex:1 1 260px;min-width:0;border:none;border-bottom:1.5px solid var(--linha);background:var(--fundo-sutil,#f6f7f9);padding:12px 10px;font-size:15px;font-family:inherit;border-radius:6px 6px 0 0;}
.pq-q-input:focus{outline:none;border-bottom-color:var(--azul-600);}
.pq-tipo-sel{flex:0 0 auto;padding:10px 12px;border:1.5px solid var(--linha);border-radius:8px;font-size:13px;background:var(--branco);font-family:inherit;}
.pq-op{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.pq-op input{flex:1;border:none;border-bottom:1.5px solid transparent;padding:8px 2px;font-size:14px;background:transparent;font-family:inherit;}
.pq-op input:hover,.pq-op input:focus{border-bottom-color:var(--linha);outline:none;}
.pq-bola{width:16px;height:16px;border:2px solid var(--gray-400);border-radius:50%;flex:0 0 auto;display:inline-block;}
.pq-bola.quad{border-radius:3px;}
.pq-x{border:none;background:transparent;cursor:pointer;color:var(--tinta-suave);font-size:14px;padding:4px 8px;border-radius:6px;}
.pq-x:hover{background:var(--cinza-bg);}
.pq-link{border:none;background:transparent;color:var(--azul-600);cursor:pointer;font-size:14px;padding:8px 2px;font-family:inherit;}
.pq-escala-cfg{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13.5px;}
.pq-escala-cfg select{padding:6px 10px;border:1.5px solid var(--linha);border-radius:8px;font-family:inherit;}
.pq-rot{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.pq-rot span{width:22px;text-align:right;font-weight:600;color:var(--tinta-suave);}
.pq-rot input{flex:1;border:none;border-bottom:1.5px solid var(--linha);padding:7px 2px;font-size:13.5px;background:transparent;font-family:inherit;}
.pq-rot input:focus{outline:none;border-bottom-color:var(--azul-600);}
.pq-rodape{display:flex;align-items:center;gap:4px;margin-top:14px;padding-top:10px;border-top:1.5px solid var(--linha);}
.pq-rodape .spacer{flex:1;}
.pq-ic{border:none;background:transparent;cursor:pointer;font-size:16px;padding:6px 9px;border-radius:8px;}
.pq-ic:hover:not(:disabled){background:var(--cinza-bg);}
.pq-ic:disabled{opacity:.3;cursor:default;}
.pq-obrig{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer;}
.pq-prev-texto{border-bottom:1.5px dotted var(--gray-300);color:var(--tinta-suave);font-size:13px;padding:6px 0;width:60%;}
.pq-prev-op{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:3px 0;}
.pq-escala-prev{display:flex;gap:8px;flex-wrap:wrap;}
.pq-escala-prev span{min-width:34px;text-align:center;border:1.5px solid var(--linha);border-radius:8px;padding:5px 0;font-size:13px;color:var(--tinta-suave);}
.pq-add{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px;}

.pesq-info{margin:0 0 14px;background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:10px 14px;font-size:13px;}
.pesq-info summary{cursor:pointer;font-weight:600;color:var(--azul-700);}
.pesq-info div{margin-top:8px;line-height:1.6;color:var(--tinta);}
.pesq-chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px;}
.pesq-chip{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--tinta);font-family:inherit;}
.pesq-chip span{background:var(--cinza-bg);border-radius:999px;padding:1px 8px;margin-left:4px;font-size:12px;}
.pesq-chip.on{background:var(--azul-50);border-color:var(--azul-600);color:var(--azul-700);}
.pesq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;}
.pesq-card{background:var(--branco);border:1.5px solid var(--linha);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;transition:box-shadow .15s;}
.pesq-card:hover{box-shadow:var(--sombra);}
.pesq-topo{display:flex;align-items:flex-start;gap:12px;}
.pesq-ic{width:42px;height:42px;border-radius:12px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto;}
.pesq-tit{flex:1;min-width:0;}
.pesq-nome{font-weight:700;font-size:15px;color:var(--titulo);line-height:1.3;word-break:break-word;}
.pesq-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.pesq-meta span{font-size:11.5px;background:var(--cinza-bg);border-radius:999px;padding:3px 10px;color:var(--tinta-suave);font-weight:600;}
.pesq-prog{margin:12px 0 4px;}
.pesq-prog-txt{font-size:13px;display:flex;justify-content:space-between;margin-bottom:5px;}
.pesq-prog-txt span{color:var(--tinta-suave);font-weight:600;}
.pesq-barra{height:8px;background:var(--cinza-bg);border-radius:99px;overflow:hidden;}
.pesq-barra i{display:block;height:100%;background:var(--azul-600);border-radius:99px;}
.pesq-enps{margin-top:8px;font-size:13px;}
.pesq-acoes{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:14px;flex-wrap:wrap;}
.pesq-mais{position:relative;margin-left:auto;}
.pesq-mais summary{list-style:none;cursor:pointer;font-size:20px;line-height:1;padding:4px 10px;border-radius:8px;border:1.5px solid var(--linha);}
.pesq-mais summary::-webkit-details-marker{display:none;}
.pesq-mais summary:hover{background:var(--cinza-bg);}
.pesq-mais div{position:absolute;right:0;bottom:calc(100% + 6px);background:var(--branco);border:1.5px solid var(--linha);border-radius:10px;box-shadow:var(--sombra);padding:6px;z-index:5;min-width:200px;display:flex;flex-direction:column;}
.pesq-mais div button{border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--tinta);}
.pesq-mais div button:hover{background:var(--cinza-bg);}
.pesq-mais div button.perigo{color:var(--vermelho);}
.pesq-vazio{grid-column:1/-1;text-align:center;padding:36px 16px;}
.pesq-vazio-ic{font-size:44px;}
.pesq-vazio h3{margin:8px 0 4px;font-size:19px;color:var(--titulo);}
.pesq-vazio p{color:var(--tinta-suave);margin:0 0 18px;font-size:13.5px;}
.pesq-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:820px;margin:0 auto;}
.pesq-start button{background:var(--branco);border:1.5px solid var(--linha);border-radius:14px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;font-family:inherit;transition:border-color .15s,box-shadow .15s;}
.pesq-start button:hover{border-color:var(--azul-600);box-shadow:var(--sombra);}
.pesq-start button b{font-size:15px;color:var(--titulo);}
.pesq-start button span{font-size:12.5px;color:var(--tinta-suave);line-height:1.45;}
/* ===== PDI v77 ===== */
.pdi-linha{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:6px 0 4px;}
.pdi-linha .pesq-chips{margin:0;}
.pdi-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pdi-seg{display:inline-flex;border:1.5px solid var(--linha);border-radius:10px;overflow:hidden;background:var(--branco);}
.pdi-seg button{border:none;background:transparent;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--tinta-suave);font-family:inherit;}
.pdi-seg button.on{background:var(--azul-50);color:var(--azul-700);}
.pdi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:14px;}
.pdi-card{background:var(--branco);border:1.5px solid var(--linha);border-left:5px solid var(--linha);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .15s,border-color .15s;}
.pdi-card:hover{box-shadow:var(--sombra);}
.pdi-card.st-verde{border-left-color:var(--verde);}
.pdi-card.st-amarelo{border-left-color:var(--amarelo);}
.pdi-card.st-vermelho{border-left-color:var(--vermelho);}
.pdi-topo{display:flex;gap:12px;align-items:center;}
.pdi-av{width:42px;height:42px;border-radius:50%;background:hsl(var(--h) 70% 90%);color:hsl(var(--h) 55% 28%);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none;}
.pdi-quem{flex:1;min-width:0;}
.pdi-nome{font-weight:700;font-size:14.5px;color:var(--titulo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pdi-sub{font-size:12px;color:var(--tinta-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pdi-titulo{font-weight:600;font-size:14px;margin:12px 0 8px;line-height:1.35;color:var(--tinta);}
.pdi-titulo-grande{font-weight:700;font-size:17px;line-height:1.3;color:var(--titulo);margin-bottom:8px;}
.pdi-chips{display:flex;flex-wrap:wrap;gap:6px;}
.pdi-prog{margin:14px 0 6px;}
.pdi-prog-txt{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;margin-bottom:5px;}
.pdi-prog-txt b{font-size:15px;color:var(--titulo);}
.pdi-prog-txt span{color:var(--tinta-suave);font-weight:600;}
.pdi-barra{height:8px;background:var(--cinza-bg);border-radius:99px;overflow:hidden;}
.pdi-barra i{display:block;height:100%;background:var(--azul-600);border-radius:99px;transition:width .3s;}
.pdi-barra i.ok{background:var(--verde);}
.pdi-info{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--tinta-suave);margin-top:8px;}
.pdi-info .alerta,.cel-sub.alerta,.pdi-mini .alerta b{color:var(--vermelho);font-weight:600;}
.pdi-rodape{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:14px;}
.pdi-det-cab{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px;}
.pdi-anel{width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--azul-600) calc(var(--p)*1%),var(--cinza-bg) 0);display:flex;align-items:center;justify-content:center;flex:none;}
.pdi-anel span{width:70px;height:70px;border-radius:50%;background:var(--branco);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:var(--titulo);}
.pdi-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px;}
.pdi-mini div{background:var(--cinza-bg);border-radius:10px;padding:10px 12px;}
.pdi-mini span{display:block;font-size:11px;font-weight:600;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:.03em;}
.pdi-mini b{display:block;font-size:18px;margin-top:2px;color:var(--titulo);}
.pdi-bloco{border:1px solid var(--linha);border-radius:12px;padding:14px 16px;margin-bottom:12px;background:var(--branco);}
.pdi-bloco h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);}
.pdi-txt{font-size:13.5px;line-height:1.55;color:var(--tinta);white-space:pre-wrap;}
.pdi-tags{display:flex;flex-wrap:wrap;gap:6px;}
.pdi-tags span{background:var(--azul-50);color:var(--azul-700);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;}
.pdi-ac{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--linha);cursor:pointer;}
.pdi-ac:last-of-type{border-bottom:none;}
.pdi-ac input{margin-top:3px;width:18px;height:18px;accent-color:var(--azul-600);flex:none;}
.pdi-ac .t{font-size:14px;font-weight:600;color:var(--tinta);}
.pdi-ac.feita .t{text-decoration:line-through;color:var(--tinta-suave);font-weight:500;}
.pdi-ac .m{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:12px;color:var(--tinta-suave);}
.pdi-ac .m .atr{color:var(--vermelho);font-weight:600;}
.pdi-eq-box{background:var(--cinza-bg);border-radius:10px;padding:10px 12px;margin-bottom:12px;}
.pdi-eq-tit{font-size:12px;font-weight:700;color:var(--titulo);margin-bottom:6px;}
.pdi-eq-tit span{font-weight:500;color:var(--tinta-suave);margin-left:6px;}
.pdi-eq{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--linha);}
.pdi-eq i{display:block;height:100%;}
.pdi-eq-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:11.5px;color:var(--tinta-suave);}
.pdi-eq-leg b{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;}
.pdi-eq-leg em{font-style:normal;opacity:.8;}
.pdi-dica{margin-top:6px;font-size:12px;color:var(--amarelo);font-weight:600;}
.pdi-ck-form{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;background:var(--cinza-bg);border-radius:10px;padding:12px;}
.pdi-ck-form input[type=date]{align-self:flex-start;}
.pdi-ck-form textarea{min-height:70px;width:100%;}
.pdi-ck-form .btn{align-self:flex-end;}
.pdi-ck{border-left:3px solid var(--azul-50);padding:2px 0 2px 12px;margin:0 0 12px;}
.pdi-ck .d{font-size:11.5px;color:var(--tinta-suave);font-weight:600;}
.pdi-ck .x{font-size:13px;white-space:pre-wrap;margin-top:2px;color:var(--tinta);}
.pdi-ck-x{border:none;background:transparent;color:var(--tinta-suave);cursor:pointer;font-size:11px;margin-left:6px;}
.pdi-ck-x:hover{color:var(--vermelho);}
.pdi-modelos,.pdi-atalhos{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.pdi-atalhos .pq-chip{padding:3px 10px;font-size:12px;}
.pdi-acao-card.feita{opacity:.75;}
.pdi-aviso{margin-top:8px;font-size:12px;color:var(--amarelo);font-weight:600;}
.pdi-prog-mini{min-width:90px;font-size:12px;}
.pdi-prog-mini .pdi-barra{height:6px;margin-top:3px;}
/* ===== Feedbacks v78 ===== */
.fbk-lista{display:flex;flex-direction:column;gap:10px;}
.fbk-mes{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);margin:14px 0 0;}
.fbk-mes:first-child{margin-top:4px;}
.fbk-item{display:flex;gap:14px;align-items:flex-start;background:var(--branco);border:1.5px solid var(--linha);border-left:5px solid var(--linha);border-radius:14px;padding:14px 16px;cursor:pointer;transition:box-shadow .15s;}
.fbk-item:hover{box-shadow:var(--sombra);}
.fbk-item.c-verde{border-left-color:var(--verde);}
.fbk-item.c-azul{border-left-color:var(--azul-600);}
.fbk-item.c-amarelo{border-left-color:var(--amarelo);}
.fbk-item.c-vermelho{border-left-color:var(--vermelho);}
.fbk-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;flex:none;background:var(--cinza-bg);}
.c-verde .fbk-ic{background:var(--verde-bg);} .c-azul .fbk-ic{background:var(--azul-50);} .c-amarelo .fbk-ic{background:var(--amarelo-bg);} .c-vermelho .fbk-ic{background:var(--vermelho-bg);}
.fbk-corpo{flex:1;min-width:0;}
.fbk-l1{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;}
.fbk-nome{font-weight:700;font-size:14.5px;color:var(--titulo);}
.fbk-quando{font-size:12px;color:var(--tinta-suave);}
.fbk-sub{font-size:12px;color:var(--tinta-suave);}
.fbk-resumo{font-weight:600;font-size:14px;margin-top:6px;color:var(--tinta);}
.fbk-det{font-size:13px;color:var(--tinta-suave);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;}
.fbk-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.fbk-item .pesq-mais div{bottom:auto;top:calc(100% + 6px);}
.fbk-tipos{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.fbk-tipo{border:1.5px solid var(--linha);background:var(--branco);border-radius:12px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;color:var(--tinta);}
.fbk-tipo.on{border-color:var(--azul-600);background:var(--azul-50);color:var(--azul-700);}
.fbk-nota{background:var(--amarelo-bg);color:var(--amarelo);border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:600;margin-top:8px;}
.fbk-sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.fbk-sug .pq-chip{padding:3px 10px;font-size:12px;font-weight:500;}
.fbk-hist{font-size:12px;color:var(--tinta-suave);}
.fbk-alerta{background:var(--vermelho-bg);color:var(--vermelho);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:12px;line-height:1.45;}
.fbk-mini{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--linha);cursor:pointer;font-size:13px;}
.fbk-mini:last-child{border-bottom:none;}
.fbk-mini:hover{background:var(--cinza-bg);}
/* ===== Relatórios v79 ===== */
.rel-delta{font-size:12px;font-weight:700;margin-top:6px;}
.rel-delta span{font-weight:500;color:var(--tinta-suave);}
.rel-delta.bom{color:var(--verde);} .rel-delta.ruim{color:var(--vermelho);} .rel-delta.neutro{color:var(--azul-700);} .rel-delta.flat{color:var(--tinta-suave);font-weight:500;}
.rel-ins{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:10px;margin-bottom:6px;font-size:13px;line-height:1.45;}
.rel-ins.n-atencao{background:var(--amarelo-bg);} .rel-ins.n-ok{background:var(--verde-bg);} .rel-ins.n-info{background:var(--azul-50);}
.rel-gi{margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--cinza-bg);border-left:3px solid #94a3b8;font-size:12.5px;line-height:1.45;min-height:58px;color:var(--titulo)}
.rel-gi.n-bom{border-left-color:#16a34a}.rel-gi.n-ruim{border-left-color:#dc2626}.rel-gi.n-neutro{border-left-color:#2563eb}
.rel-gi-dica{font-size:11px;color:var(--tinta-suave);margin-top:4px}
.rel-bar{cursor:pointer}.rel-bar .rb{transition:opacity .15s}
.gl{border-bottom:1px dotted currentColor;cursor:help}
.comp-barra{gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.comp-atencao:empty{display:none}

  .pub-geo{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:14px;border:1px solid #dbeafe;background:#f5f9ff;border-radius:12px;}
  .pub-geo-ico{font-size:24px;}
  .pub-geo-corpo{flex:1;min-width:200px;}
  .pub-geo-tit{font-weight:700;font-size:13px;color:#1e3a8a;}
  .pub-geo-desc{font-size:12px;color:#475569;margin-top:2px;line-height:1.45;}
  .pub-geo-status{font-size:12px;margin-top:6px;font-weight:600;color:#475569;}
  .pub-geo-concedido{color:#15803d;}
  .pub-geo-negado,.pub-geo-indisponivel,.pub-geo-timeout{color:#b45309;}
  .pub-geo-btn{border:1.5px solid #2563eb;background:#fff;color:#1d4ed8;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;}
  .pub-geo-btn:disabled{opacity:.6;cursor:wait;}

    .asn-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .asn-steps i{width:26px;height:2px;background:var(--linha,#e2e8f0);display:inline-block}
    .asn-step{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--tinta-suave,#64748b)}
    .asn-step span{width:24px;height:24px;border-radius:50%;background:var(--cinza-bg,#f1f5f9);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
    .asn-step.on{color:var(--azul-700,#1d4ed8)} .asn-step.on span{background:var(--azul-600,#2563eb);color:#fff}
    .asn-step.done span{background:#16a34a;color:#fff}
    .asn-legal{margin-top:14px;border:1px solid var(--linha,#e2e8f0);border-radius:12px;background:var(--cinza-bg,#f8fafc)}
    .asn-legal summary{cursor:pointer;padding:11px 14px;font-weight:700;font-size:13px;color:var(--azul-700,#1d4ed8)}
    .asn-legal-corpo{padding:0 16px 12px;font-size:12.5px;line-height:1.55;color:var(--tinta,#334155)}
    .asn-legal-corpo p{margin:8px 0}
    .asn-check{display:flex;gap:10px;align-items:flex-start;margin-top:10px;cursor:pointer;font-size:13px}
    .asn-check input{margin-top:3px;width:17px;height:17px;flex-shrink:0}
    .asn-check small{display:block;font-weight:400;color:var(--tinta-suave,#64748b);font-size:11.5px;line-height:1.4;margin-top:2px}
    .asn-card2{background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-left:4px solid #94a3b8;border-radius:14px;padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 4px rgba(15,23,42,.04)}
    .asn-card2.asn-st-ok{border-left-color:#10b981}.asn-card2.asn-st-pend{border-left-color:#f59e0b}.asn-card2.asn-st-erro{border-left-color:#dc2626}
    .asn-card2-topo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
    .asn-card2-ico{width:40px;height:40px;border-radius:11px;background:var(--cinza-bg,#f1f5f9);display:flex;align-items:center;justify-content:center;font-size:20px}
    .asn-card2-info{flex:1;min-width:180px}
    .asn-prog{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:var(--tinta-suave,#64748b);font-weight:600}
    .asn-prog-barra{flex:1;height:7px;border-radius:99px;background:var(--cinza-bg,#e2e8f0);overflow:hidden}
    .asn-prog-barra i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:99px}
    .asn-card2-extras{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
    .asn-card2-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;align-items:center}
    .asn-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}
    .asn-chip-ok{background:#d1fae5;color:#065f46}.asn-chip-pend{background:#fef3c7;color:#92400e}.asn-chip-alerta{background:#ffedd5;color:#9a3412}.asn-chip-erro{background:#fee2e2;color:#991b1b}.asn-chip-neutro{background:var(--cinza-bg,#f1f5f9);color:var(--tinta,#475569)}
    .asn-menu{position:relative}
    .asn-menu summary{list-style:none;cursor:pointer;width:32px;height:30px;border-radius:8px;border:1px solid var(--linha,#e2e8f0);display:flex;align-items:center;justify-content:center;font-weight:800}
    .asn-menu summary::-webkit-details-marker{display:none}
    .asn-menu-lista{position:absolute;right:0;top:34px;z-index:20;background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.14);min-width:210px;padding:6px;display:flex;flex-direction:column}
    .asn-menu-lista button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--tinta,#334155)}
    .asn-menu-lista button:hover{background:var(--cinza-bg,#f1f5f9)}
    .asn-menu-perigo{color:#b91c1c!important}
    .asn-vazio{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:42px 20px;border:2px dashed var(--linha,#e2e8f0);border-radius:16px;color:var(--tinta-suave,#64748b)}
    .asn-vazio-ico{font-size:34px}.asn-vazio b{color:var(--titulo,#0f172a);font-size:15px}.asn-vazio span{max-width:420px;font-size:13px;line-height:1.5}
    .asn-ev{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;margin-top:8px}
    .asn-ev-it{background:var(--cinza-bg,#f8fafc);border-radius:8px;padding:6px 9px;font-size:11.5px;border-left:3px solid #cbd5e1}
    .asn-ev-it span{display:block;color:var(--tinta-suave,#64748b);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em}
    .asn-ev-it b{font-weight:600;word-break:break-word}
    .asn-ev-it.ok{border-left-color:#16a34a}.asn-ev-it.aviso{border-left-color:#d97706}.asn-ev-it.erro{border-left-color:#dc2626}
    .asn-mapa{margin-top:8px}.asn-mapa summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--azul-700,#1d4ed8)}
    .asn-mapa iframe{width:100%;height:220px;border:1px solid var(--linha,#e2e8f0);border-radius:10px;margin-top:6px}
    .val-conferir{margin-top:16px;padding:14px;border:1px solid #dbeafe;background:#f5f9ff;border-radius:12px}
    .val-conferir-tit{font-weight:700;font-size:13px;color:#1e3a8a}
    .val-conf-ok{color:#15803d;font-weight:700;font-size:13px}.val-conf-erro{color:#b91c1c;font-weight:700;font-size:13px}.val-conf-info{color:#1d4ed8;font-weight:700;font-size:13px}

.doc-mais{margin:2px 0 12px}.doc-mais summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--azul-700,#1d4ed8);padding:4px 0;width:max-content}
.doc-dica{padding:18px 6px 10px;color:var(--tinta-suave,#64748b);font-size:13.5px;font-weight:600}
.doc-empresas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.doc-empresa{display:flex;align-items:center;gap:12px;text-align:left;background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:14px;padding:14px 16px;cursor:pointer;font-family:inherit;transition:box-shadow .15s,border-color .15s}
.doc-empresa:hover{border-color:var(--azul-600,#2563eb);box-shadow:0 6px 18px rgba(37,99,235,.12)}
.doc-empresa-ico{width:44px;height:44px;border-radius:12px;background:var(--azul-50,#eff6ff);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.doc-empresa-info{flex:1;min-width:0}.doc-empresa-info b{display:block;font-size:14px;color:var(--titulo,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-empresa-info span{font-size:12px;color:var(--tinta-suave,#64748b)}
.doc-empresa-seta{font-size:22px;color:var(--tinta-suave,#94a3b8)}
.doc-chips-linha{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.doc-pasta .doc-chips-linha{margin-top:0}
.doc-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;background:var(--cinza-bg,#f1f5f9);color:var(--tinta,#475569);white-space:nowrap}
.doc-chip-ruim{background:#fee2e2;color:#991b1b}.doc-chip-alerta{background:#fef3c7;color:#92400e}.doc-chip-ok{background:#d1fae5;color:#065f46}
.doc-pastas-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.doc-pastas-tit{font-weight:800;font-size:15px;color:var(--titulo,#0f172a)}.doc-pastas-tit span{display:block;font-weight:500;font-size:12px;color:var(--tinta-suave,#64748b);margin-top:1px}
.doc-pastas-acoes{margin-left:auto;display:flex;gap:4px}
.doc-pasta{background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:14px;margin-bottom:10px;overflow:hidden}
.doc-pasta.aberta{border-color:var(--azul-600,#93c5fd);box-shadow:0 2px 10px rgba(37,99,235,.07)}
.doc-pasta-cab{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;flex-wrap:wrap}
.doc-pasta-cab:hover{background:var(--cinza-bg,#f8fafc)}
.doc-seta{width:14px;color:var(--tinta-suave,#64748b);font-size:13px}
.doc-pasta-ico{font-size:22px;display:flex}
.doc-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.doc-pasta-tit{flex:1;min-width:160px}.doc-pasta-tit b{display:block;font-size:14px;color:var(--titulo,#0f172a)}.doc-pasta-tit span{font-size:12px;color:var(--tinta-suave,#64748b)}
.doc-pasta-corpo{border-top:1px solid var(--linha,#e2e8f0)}
.doc-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--linha,#f1f5f9);cursor:pointer;flex-wrap:wrap}
.doc-item:last-child{border-bottom:0}.doc-item:hover{background:var(--azul-50,#f5f9ff)}
.doc-item-ico{font-size:22px}
.doc-item-info{flex:1;min-width:200px}.doc-item-info b{display:block;font-size:13.5px;color:var(--titulo,#0f172a)}.doc-item-info span{font-size:12px;color:var(--tinta-suave,#64748b);word-break:break-all}
.doc-item-val{min-width:96px;font-size:13px;font-weight:600}.doc-item-val small{display:block;font-weight:500;color:var(--tinta-suave,#64748b);font-size:11px}
.doc-item-st{min-width:120px}
.doc-sub{padding:7px 16px;background:var(--cinza-bg,#f8fafc);font-size:12px;font-weight:700;color:var(--tinta,#475569)}
.doc-vazio{padding:16px;font-size:13px;color:var(--tinta-suave,#64748b)}

.afa-menu{position:relative}.afa-menu>summary{list-style:none;cursor:pointer}.afa-menu>summary::-webkit-details-marker{display:none}
.afa-menu-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.16);padding:8px;display:flex;flex-direction:column;gap:6px;min-width:280px}
.afa-menu-lista .btn{justify-content:flex-start;text-align:left;white-space:nowrap}
.afa-clip{border:1px solid var(--linha,#e2e8f0);background:#ecfdf5;color:#065f46;border-radius:99px;padding:3px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.afa-clip.sem{background:transparent;color:var(--tinta-suave,#64748b);border-style:dashed;font-weight:600;padding:3px 11px;line-height:1.4;white-space:nowrap}
.drop-alvo{outline:2px dashed var(--azul-600,#2563eb);outline-offset:-2px;background:var(--azul-50,#eff6ff)!important;border-radius:10px}
tr.drop-alvo td{background:var(--azul-50,#eff6ff)!important}
.afa-clip:hover{border-color:var(--azul-600,#2563eb)}
.anexo-bloco{margin-top:14px;padding:12px 14px;border:1px dashed var(--linha,#cbd5e1);border-radius:12px;background:var(--cinza-bg,#f8fafc)}
.anexo-tit{font-weight:800;font-size:13px;color:var(--titulo,#0f172a);margin-bottom:8px}.anexo-tit span{font-weight:600;font-size:11px;color:var(--tinta-suave,#64748b);margin-left:6px}
.anexo-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:10px;margin-bottom:6px}
.anexo-item.novo{border-color:#86efac;background:#f0fdf4}
.anexo-nome{flex:1;min-width:0}.anexo-nome b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anexo-nome small{font-size:11px;color:var(--tinta-suave,#64748b)}
.anexo-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.anexo-add .filtro-select{max-width:260px}
.doc-chip-vinc{background:#e0e7ff;color:#3730a3}
#secao-afastamentos .tabela th,#secao-afastamentos .tabela td{padding-left:10px;padding-right:10px}#secao-afastamentos .tabela td:nth-child(2){max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#secao-afastamentos .tabela td:nth-child(3){white-space:nowrap}

.cg-emp{margin-bottom:18px}
.cg-emp-cab{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--azul-50,#eff6ff);border:1px solid var(--linha,#dbeafe);border-radius:12px;cursor:pointer}
.cg-emp-seta{transition:transform .15s;color:var(--tinta-suave,#64748b)}.cg-emp.fechada .cg-emp-seta{transform:rotate(-90deg)}
.cg-emp-tit{flex:1}.cg-emp-tit b{display:block;font-size:15px;color:var(--titulo,#0f172a)}.cg-emp-tit span{font-size:12px;color:var(--tinta-suave,#64748b)}.cg-emp-tit em{font-style:normal;color:#b45309;font-weight:700}
.cg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px;align-items:start}
.cg-emp.fechada .cg-grid{display:none}
.cg-card{background:var(--branco,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:14px;padding:12px 14px;transition:box-shadow .15s,border-color .15s}
.cg-card:hover{border-color:var(--azul-600,#93c5fd);box-shadow:0 6px 18px rgba(37,99,235,.08)}
.cg-card.sem{border-color:#fcd34d;background:#fffbeb}
.cg-card.aberto{grid-column:1/-1;border-color:var(--azul-600,#93c5fd)}
.cg-card-cab{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.cg-card-tit{flex:1;min-width:0}.cg-card-tit b{display:block;font-size:14px;color:var(--titulo,#0f172a);margin-bottom:5px;word-break:break-word}
.cg-card-acoes{display:flex;gap:2px;opacity:.55}.cg-card:hover .cg-card-acoes{opacity:1}
.cg-card-meio{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;cursor:pointer}
.cg-avs{display:flex}.cg-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;margin-left:-6px;flex-shrink:0}
.cg-avs .cg-av:first-child{margin-left:0}.cg-av.mais{background:#e2e8f0;color:#475569}
.cg-num{text-align:right}.cg-num b{font-size:22px;color:var(--titulo,#0f172a);line-height:1}.cg-num span{display:block;font-size:11px;color:var(--tinta-suave,#64748b)}
.cg-barra{height:4px;background:#e2e8f0;border-radius:99px;margin-top:10px;overflow:hidden}.cg-barra i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:99px}
.cg-card.sem .cg-barra i{background:#f59e0b}
.cg-cbo-linha{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:2px 0 4px;}
.cg-cbo{font-size:11px;font-weight:800;letter-spacing:.03em;padding:3px 8px;border-radius:7px;background:var(--azul-50,#eff6ff);color:var(--azul-700,#1d4ed8);border:1px solid var(--azul-100,#dbeafe);font-variant-numeric:tabular-nums;}
.cg-cbo-nome{font-size:11.5px;color:var(--tinta-suave,#64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.cg-cbo-falta{border:1.5px dashed #f59e0b;background:#fffbeb;color:#b45309;font-weight:700;font-size:11.5px;padding:4px 10px;border-radius:8px;cursor:pointer;margin:2px 0 4px;}
.cg-cbo-falta:hover{background:#fef3c7;}
.cg-rod{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.cg-sal{font-size:11.5px;font-weight:700;color:#047857;background:#ecfdf5;border-radius:999px;padding:3px 9px;}
.cg-dep{font-size:11.5px;color:var(--tinta-suave,#475569);background:var(--cinza-bg,#f1f5f9);border-radius:999px;padding:3px 9px;}
.cg-ok{color:#047857;font-weight:700;} .cg-alerta{color:#b45309;font-weight:700;}
.cg-card .cg-av{border:2px solid var(--branco,#fff);margin-left:-5px;width:30px;height:30px;box-shadow:0 1px 3px rgba(15,23,42,.15);}
.cg-card{padding:14px 16px;} .cg-card-tit b{font-size:14.5px;}
:root.tema-escuro .cg-cbo-falta{background:rgba(251,191,36,.08);color:#fbbf24;} :root.tema-escuro .cg-sal{background:rgba(16,185,129,.12);color:#34d399;} :root.tema-escuro .cg-cbo{background:rgba(59,130,246,.15);color:#93c5fd;border-color:rgba(59,130,246,.3);}
.cg-lista{display:none;margin-top:10px;border-top:1px solid var(--linha,#e2e8f0);padding-top:6px}.cg-card.aberto .cg-lista{display:block}
.cg-func{display:flex;align-items:center;gap:10px;padding:7px 4px;border-radius:8px;cursor:pointer}.cg-func:hover{background:var(--azul-50,#f5f9ff)}
.cg-func .cg-av{margin-left:0;border:0}.cg-func-info{flex:1;min-width:0}.cg-func-info b{display:block;font-size:13px}.cg-func-info span{font-size:12px;color:var(--tinta-suave,#64748b)}
.gst-pastas .doc-pasta:not(.aberta) .doc-pasta-corpo{display:none}.gst-pastas .doc-pasta.aberta>.doc-pasta-cab .doc-seta{transform:rotate(90deg)}.gst-pastas .doc-seta{transition:transform .15s}

/* ===== Fale com o RH: visual de mensageiro (lista, online, bolhas agrupadas, pop-up) ===== */
.rh-topo{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.rh-topo-info{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}
.rh-online-resumo{font-weight:800;font-size:15px;color:var(--titulo);display:flex;align-items:center;gap:8px}
.rh-ponto-verde{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.2);display:inline-block}
.rh-topo-acoes{display:flex;gap:8px;flex-wrap:wrap}
#rh-chat-online{border-bottom:1px solid var(--linha);padding:10px 12px 8px;flex-shrink:0}
.rh-online-tit{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave);margin-bottom:8px}.rh-online-tit span{background:#dcfce7;color:#166534;border-radius:99px;padding:0 7px;margin-left:4px}
.rh-online-tit.vazio{margin:0;text-transform:none;font-weight:600;letter-spacing:0}
.rh-online-faixa{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.rh-online-item{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;cursor:pointer;font-family:inherit;font-size:10.5px;color:var(--tinta);min-width:48px;padding:0}
.rh-online-item:hover .rh-chat-avatar{box-shadow:0 0 0 3px var(--azul-50),0 0 0 4px var(--azul-600)}
.rh-chat-tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--linha);flex-shrink:0}
.rh-chat-tab{flex:1;border:0;background:transparent;border-radius:8px;padding:6px 4px;font:inherit;font-size:12px;font-weight:700;color:var(--tinta-suave);cursor:pointer}
.rh-chat-tab span{background:var(--cinza-bg);border-radius:99px;padding:0 6px;margin-left:2px;font-size:10.5px}
.rh-chat-tab.on{background:var(--azul-50);color:var(--azul-700,#1d4ed8)}.rh-chat-tab.on span{background:#fff}
.rh-chat-item.nao-lida .rh-chat-item-nome,.rh-chat-item.nao-lida .rh-chat-item-prev{font-weight:800;color:var(--titulo)}
.rh-chat-item-prev{font-size:12px;color:var(--tinta-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rh-chat-item-prev .voce{color:var(--azul-600)}
.rh-chat-avatar.gestor{background:linear-gradient(135deg,#7c3aed,#4f46e5);font-size:17px}
.rh-chat-avatar.sm{width:30px;height:30px;font-size:11px;margin-top:2px}
.rh-chat-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.rh-grupo{display:flex;gap:10px;margin:8px 0;max-width:78%}
.rh-grupo.nos{align-self:flex-end;flex-direction:row-reverse}.rh-grupo.eles{align-self:flex-start}
.rh-grupo-col{display:flex;flex-direction:column;gap:3px;min-width:0}.rh-grupo.nos .rh-grupo-col{align-items:flex-end}
.rh-grupo-cab{font-size:11.5px;color:var(--tinta-suave)}.rh-grupo-cab b{color:var(--titulo);font-size:12px}
.rh-grupo .rh-bolha{display:inline-block;max-width:100%}
.rh-grupo.eles .rh-bolha{background:var(--branco);color:var(--tinta);border-bottom-left-radius:4px}
.rh-grupo.nos .rh-bolha{background:linear-gradient(135deg,var(--azul-600),var(--azul-700));color:#fff;border-bottom-right-radius:4px}
.rh-chat-separador{display:flex;align-items:center;gap:10px}.rh-chat-separador::before,.rh-chat-separador::after{content:"";flex:1;height:1px;background:var(--linha)}
.rh-chat-separador span{padding:0 4px}
.rh-recibo{align-self:flex-end;font-size:11px;color:var(--tinta-suave);margin:0 4px}
.rh-chat-rapidas{display:flex;gap:6px;flex-wrap:wrap;padding:8px 16px 0;background:var(--branco);border-top:1px solid var(--linha)}
.rh-chat-rapidas button{border:1px solid var(--linha);background:var(--cinza-bg);border-radius:99px;padding:4px 11px;font:inherit;font-size:11.5px;color:var(--tinta);cursor:pointer}
.rh-chat-rapidas button:hover{border-color:var(--azul-600);color:var(--azul-700,#1d4ed8)}
.rh-chat-rodape{border-top:0}
.rh-emoji-wrap{position:relative;align-self:flex-end}
.rh-chat-btn-emoji{border:0;background:var(--cinza-bg);border-radius:50%;width:38px;height:38px;font-size:19px;cursor:pointer}
.rh-emoji-pop{display:none;position:absolute;bottom:46px;left:0;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.18);padding:6px;grid-template-columns:repeat(6,1fr);gap:2px;z-index:5}
.rh-emoji-pop.aberto{display:grid}.rh-emoji-pop button{border:0;background:none;font-size:20px;cursor:pointer;border-radius:8px;padding:4px}.rh-emoji-pop button:hover{background:var(--azul-50)}
.rh-voltar{display:none}
@media (max-width:860px){.rh-chat-cabecalho{flex-wrap:wrap;gap:8px;padding:10px 12px}.rh-chat-cabecalho-info{flex:1 1 140px;min-width:140px}.rh-chat-cabecalho .btn{padding:6px 10px;font-size:12px}.rh-topo-info .cel-sub{display:none}.rh-chat-rapidas{overflow-x:auto;flex-wrap:nowrap}.rh-chat-rapidas button{white-space:nowrap}}
/* pop-up de mensagem nova */
#rh-popups{position:fixed;right:22px;bottom:22px;z-index:250;display:flex;flex-direction:column;gap:10px;width:330px;max-width:calc(100vw - 24px)}
body.rh-popups-on #toasts{right:372px}
.rh-popup{background:var(--branco);color:var(--tinta);border:1px solid var(--linha);border-left:4px solid var(--azul-600);border-radius:14px;box-shadow:0 14px 38px rgba(15,23,42,.28);padding:12px 14px;animation:rhPopupEntra .25s ease}
.rh-popup.saindo{opacity:0;transform:translateX(20px);transition:all .18s}
@keyframes rhPopupEntra{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.rh-popup-cab{display:flex;align-items:center;gap:10px}
.rh-popup-tit{flex:1;min-width:0}.rh-popup-tit b{display:block;font-size:13.5px;color:var(--titulo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-popup-tit span{font-size:11px;color:var(--tinta-suave)}
.rh-popup-x{border:0;background:none;cursor:pointer;color:var(--tinta-suave);font-size:14px;border-radius:6px;padding:2px 6px}.rh-popup-x:hover{background:var(--cinza-bg)}
.rh-popup-msg{margin:8px 0;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.rh-popup-resp{display:flex;gap:6px}.rh-popup-resp input{flex:1;min-width:0;border:1.5px solid var(--linha);border-radius:99px;padding:7px 12px;font:inherit;font-size:12.5px;background:var(--branco);color:var(--tinta)}
.rh-popup-resp input:focus{outline:none;border-color:var(--azul-600)}
.rh-popup-resp button{border:0;background:var(--azul-600);color:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer}
.rh-popup-acoes{margin-top:7px;text-align:right;font-size:11.5px}.rh-popup-acoes a{color:var(--azul-600);font-weight:700;text-decoration:none}
@media (max-width:860px){.rh-chat-wrap{height:calc(100vh - 150px)}.rh-chat-lista{max-height:none;flex:1}.rh-chat-wrap:not(.com-conversa) .rh-chat-painel{display:none}.rh-chat-wrap.com-conversa .rh-chat-lista{display:none}.rh-voltar{display:inline-flex !important}.rh-grupo{max-width:92%}#rh-popups{right:12px;left:12px;width:auto;bottom:70px}body.rh-popups-on #toasts{right:22px;bottom:230px}}

.rh-menu-wrap{display:none;position:relative}
.rh-menu-pop{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.2);padding:6px;min-width:210px;flex-direction:column;gap:2px}
.rh-menu-pop.aberto{display:flex}
.rh-menu-pop>button,.rh-menu-wa>*{border:0;background:none;text-align:left;padding:10px 12px;border-radius:8px;font:inherit;font-size:14px;color:var(--tinta);cursor:pointer;width:100%;display:flex;gap:8px;text-decoration:none}
.rh-menu-pop>button:hover,.rh-menu-wa>*:hover{background:var(--cinza-bg)}
/* ===== Fale com o RH no celular: tela de mensageiro (lista -> conversa em tela cheia) ===== */
@media (max-width:860px){
  #secao-falerh{margin:-14px -12px 0;padding:0}
  #secao-falerh .rh-topo{margin:0;padding:8px 14px;gap:8px;background:var(--branco);border-bottom:1px solid var(--linha);flex-wrap:nowrap;min-height:50px}
  #secao-falerh:has(.rh-chat-wrap.com-conversa) .rh-topo{display:none}
  .rh-topo-info{min-width:0}.rh-online-resumo{font-size:14px}
  .rh-topo-acoes{flex-wrap:nowrap}
  .rh-topo-acoes .btn{padding:8px 12px;font-size:18px;min-width:42px}.rh-txt{display:none}
  .rh-chat-wrap{height:calc(100dvh - 66px - 51px);min-height:0;border:0;border-radius:0;box-shadow:none;flex-direction:row}
  .rh-chat-wrap.com-conversa{height:calc(100dvh - 66px)}
  .rh-chat-lista{width:100%;max-height:none;flex:1;border:0;background:var(--branco)}
  .rh-chat-lista-busca{padding:10px 14px}
  .rh-chat-lista-busca input{padding:11px 14px;font-size:15px;border-radius:12px}
  #rh-chat-online{padding:10px 14px 6px}
  .rh-online-faixa{gap:14px}.rh-online-item{font-size:11px;min-width:54px}.rh-online-item .rh-chat-avatar{width:46px;height:46px;font-size:15px}
  .rh-chat-tabs{padding:6px 10px;gap:6px}.rh-chat-tab{padding:9px 4px;font-size:13px;border-radius:99px}
  .rh-chat-item{padding:12px 14px;gap:12px}
  .rh-chat-item .rh-chat-avatar{width:48px;height:48px;font-size:16px}
  .rh-chat-item-nome{font-size:15px}.rh-chat-item-sub{font-size:12px}.rh-chat-item-prev{font-size:13px}.rh-chat-item-hora{font-size:11px}
  .rh-chat-item-acoes{display:none}
  .rh-chat-painel{width:100%}
  .rh-chat-cabecalho{flex-wrap:nowrap;gap:10px;padding:8px 10px;background:var(--branco);box-shadow:0 1px 0 var(--linha)}
  .rh-voltar{display:inline-flex !important;border:0;background:none;font-size:22px;padding:6px 10px;min-width:0}
  .rh-chat-cabecalho .rh-chat-avatar{width:38px;height:38px}
  .rh-chat-cabecalho-info{flex:1;min-width:0}
  .rh-chat-cabecalho-nome{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rh-chat-cabecalho-status{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rh-acoes-desktop{display:none}.rh-menu-wrap{display:block}
  .rh-mais{border:0;background:none;font-size:22px;padding:6px 10px;min-width:0}
  .rh-chat-corpo{padding:12px 10px}
  .rh-grupo{max-width:94%;gap:6px}.rh-grupo.nos>.rh-chat-avatar{display:none}
  .rh-grupo .rh-bolha{font-size:15px;padding:9px 13px}
  .rh-grupo-cab{font-size:11px}
  .rh-chat-rapidas{padding:8px 10px 0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.rh-chat-rapidas::-webkit-scrollbar{display:none}
  .rh-chat-rapidas button{white-space:nowrap;font-size:12.5px;padding:6px 12px}
  .rh-chat-rodape{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;align-items:flex-end;position:sticky;bottom:0}
  .rh-chat-rodape textarea{font-size:16px;padding:10px 14px;border-radius:22px}
  .rh-chat-btn-emoji{width:42px;height:42px}.rh-chat-btn-enviar{width:44px;height:44px;flex-shrink:0}
  .rh-emoji-pop{grid-template-columns:repeat(6,1fr);left:-4px}
  #rh-popups{left:10px;right:10px;width:auto;bottom:calc(14px + env(safe-area-inset-bottom))}
  body.rh-popups-on #toasts{right:12px;bottom:250px}
}

/* ===== Comunicados ===== */
.cm-chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--cinza-texto,#64748b);cursor:pointer;white-space:nowrap}
.cm-kpis{margin-bottom:16px}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;align-items:start}
.cm-leitura{grid-template-columns:1fr;max-width:760px}
.cm-card{background:var(--branco);border:1px solid var(--linha);border-left:4px solid var(--cm-cor,#2563eb);border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px rgba(15,23,42,.05)}
.cm-card.fixado{box-shadow:0 4px 14px rgba(37,99,235,.14)}
.cm-card.expirado{opacity:.6}
.cm-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cm-cat{font-size:11.5px;font-weight:700;color:var(--cm-cor);background:color-mix(in srgb,var(--cm-cor) 12%,transparent);padding:3px 9px;border-radius:99px}
.cm-pin,.cm-novo,.cm-exp{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.cm-pin{background:#fef3c7;color:#92400e}.cm-novo{background:#dcfce7;color:#166534}.cm-exp{background:#e2e8f0;color:#475569}
.cm-titulo{font-size:16px;margin:2px 0 2px;line-height:1.3}
.cm-meta{font-size:12px;color:var(--cinza-texto,#64748b);margin-bottom:8px}
.cm-msg{white-space:pre-wrap;font-size:14px;line-height:1.55;word-break:break-word}
.cm-msg.recolhido{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cm-mais{border:0;background:none;color:var(--azul-600,#2563eb);font-weight:600;font-size:13px;padding:4px 0;cursor:pointer}
.cm-img-wrap{display:block;margin:4px 0 10px;border-radius:10px;overflow:hidden;border:1px solid var(--linha);background:var(--cinza-bg);line-height:0}
.cm-img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto;cursor:zoom-in}
.cm-img-campo{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cm-img-thumb{max-width:160px;max-height:110px;width:auto;height:auto;object-fit:contain;border-radius:8px;border:1px solid var(--linha);background:var(--cinza-bg)}
.cm-img-dica{font-size:12px;color:var(--cinza-texto,#64748b);margin-top:6px}
.cm-link{display:inline-block;margin-top:8px;padding:7px 14px;border-radius:8px;background:var(--azul-600,#2563eb);color:#fff;font-size:13px;font-weight:600;text-decoration:none}
.cm-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--linha)}
.cm-tag{font-size:11.5px;padding:3px 9px;border-radius:99px;background:var(--cinza-bg);border:1px solid var(--linha)}
.cm-tag-d-equipe{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6}.cm-tag-d-gestores{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}.cm-tag-d-colaboradores{background:#dcfce7;border-color:#bbf7d0;color:#166534}
@media (max-width:860px){
  .cm-kpis{grid-template-columns:repeat(2,1fr) !important}
  .cm-grid{grid-template-columns:1fr}
  .cm-dest-grid,.cm-emp-lista{grid-template-columns:1fr}
  .cm-card{padding:13px 14px}
}

/* ===== Polimento geral de UX (v94) ===== */
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--azul-600,#2563eb);outline-offset:2px;border-radius:8px}
.btn.ocupado{pointer-events:none;opacity:.7;position:relative}
.btn.ocupado::after{content:"";width:12px;height:12px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:giraBtn .6s linear infinite}
@keyframes giraBtn{to{transform:rotate(360deg)}}
.secao.ativa{animation:entraSecao .18s ease-out}
@keyframes entraSecao{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.secao.ativa{animation:none}.btn.ocupado::after{animation:none}}
.btn:active{transform:scale(.98)}
.painel,.cm-card,.kpi-card{transition:box-shadow .15s,transform .15s}
@media (hover:hover){.cm-card:hover{box-shadow:0 6px 18px rgba(15,23,42,.1)}}
:root.tema-escuro .cm-tag-d-equipe{background:#2e1065;border-color:#4c1d95;color:#ddd6fe}
:root.tema-escuro .cm-tag-d-gestores{background:#172554;border-color:#1e3a8a;color:#bfdbfe}
:root.tema-escuro .cm-tag-d-colaboradores{background:#052e16;border-color:#14532d;color:#bbf7d0}
:root.tema-escuro .cm-pin{background:#451a03;color:#fde68a}
:root.tema-escuro .cm-novo{background:#052e16;color:#bbf7d0}
:root.tema-escuro .cm-exp{background:#1e293b;color:#cbd5e1}
@media (max-width:860px){
  /* campos com 16px: o iPhone não dá zoom ao tocar */
  .toolbar input,.busca-box input,.modal input,.modal select,.modal textarea{font-size:16px !important}
  .dash-tab{min-height:42px;display:inline-flex;align-items:center}
  .acoes-linha button{min-width:38px;min-height:38px}
  /* filtros compactos: busca em cima, selects lado a lado, botões de apoio em linha rolável */
  .secao .toolbar{gap:8px}
  .secao{padding-bottom:88px}
  .btn.fab-mobile{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;width:auto !important;border-radius:99px;padding:14px 20px;box-shadow:0 8px 22px rgba(37,99,235,.45);font-size:14.5px}
  .modal-fundo.ativo ~ * .fab-mobile, body:has(.modal-fundo.ativo) .btn.fab-mobile{display:none}
  .modal{scroll-padding-bottom:90px}
}

/* ===== Tema escuro refinado (v95): neutro-azulado, camadas bem separadas, cores de status mais legíveis ===== */
:root.tema-escuro{
  --fundo:#0b0f19; --branco:#131a28; --fundo-sutil:#192133; --cinza-bg:#1a2233; --cinza-bg-hover:#243049;
  --linha:#293348; --tinta:#e9edf5; --tinta-suave:#9ba8c0; --titulo:#b9d0ff;
  --azul-50:#15233f; --azul-100:#233f6e; --azul-600:#4f8cff; --azul-700:#86b4ff;
  --verde:#3ddc97; --verde-bg:rgba(61,220,151,.14); --amarelo:#fbbf24; --amarelo-bg:rgba(251,191,36,.14);
  --vermelho:#ff7a7a; --vermelho-bg:rgba(255,122,122,.15);
  --sombra:0 1px 0 rgba(255,255,255,.03) inset, 0 6px 22px rgba(0,0,0,.35);
  --sombra-modal:0 24px 70px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.05);
}
:root.tema-escuro .sidebar{background:linear-gradient(180deg,#0f1a36,#0a1226 70%,#080e1d);border-right:1px solid rgba(255,255,255,.06)}
:root.tema-escuro .topbar{background:rgba(11,15,25,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
:root.tema-escuro .modal-fundo{background:rgba(3,6,14,.72);backdrop-filter:blur(3px)}
:root.tema-escuro .modal{background:#151c2c;border:1px solid #2c374d}
:root.tema-escuro .modal-rodape,:root.tema-escuro .modal-cab{background:#151c2c}
:root.tema-escuro input:not([type=checkbox]):not([type=radio]),:root.tema-escuro select,:root.tema-escuro textarea{background:#0e1422;border-color:#2d384f;color:var(--tinta)}
:root.tema-escuro input:focus,:root.tema-escuro select:focus,:root.tema-escuro textarea:focus{border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(79,140,255,.22);outline:none}
:root.tema-escuro input::placeholder,:root.tema-escuro textarea::placeholder{color:#6b7893}
:root.tema-escuro .painel,:root.tema-escuro .kpi,:root.tema-escuro .tabela-wrap{border-color:var(--linha)}
:root.tema-escuro .tabela thead th{background:#18202f;color:var(--tinta-suave)}
:root.tema-escuro .tabela tbody tr:hover td{background:#1a2438}
:root.tema-escuro .btn-secundario{background:#1c2536;border:1px solid #2e3a52;color:var(--tinta)}
:root.tema-escuro .btn-secundario:hover{background:#25314a}
:root.tema-escuro .btn-primario{background:linear-gradient(180deg,#5b94ff,#3f78ec);color:#fff;box-shadow:0 4px 14px rgba(63,120,236,.35)}
:root.tema-escuro .btn-perigo{background:rgba(255,122,122,.14);color:#ff9a9a;border:1px solid rgba(255,122,122,.3)}
:root.tema-escuro .nav-item.ativo{background:linear-gradient(180deg,#4f8cff,#3f78ec);box-shadow:0 4px 14px rgba(63,120,236,.35)}
:root.tema-escuro .doc-chip-ruim{background:rgba(255,122,122,.16);color:#ff9a9a;border-color:rgba(255,122,122,.3)}
:root.tema-escuro .doc-chip-alerta{background:rgba(251,191,36,.15);color:#fcd34d;border-color:rgba(251,191,36,.3)}
:root.tema-escuro .doc-chip-ok{background:rgba(61,220,151,.14);color:#6ee7b7;border-color:rgba(61,220,151,.3)}
:root.tema-escuro .doc-pasta{border-color:var(--linha)}
:root.tema-escuro .doc-pasta.aberta,:root.tema-escuro .doc-pasta:hover{border-color:#3b5aa0}
:root.tema-escuro .pesq-chip{background:var(--branco);border-color:var(--linha);color:var(--tinta)}
:root.tema-escuro .pesq-chip.on{background:rgba(79,140,255,.16);border-color:var(--azul-600);color:var(--azul-700)}
:root.tema-escuro .cm-card{background:var(--branco)}
:root.tema-escuro ::selection{background:rgba(79,140,255,.4)}
:root.tema-escuro .cg-barra{background:#26314a}
:root.tema-escuro .cg-card.sem{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.4)}

.fin-barra{display:flex;align-items:center;gap:8px;margin:2px 0 10px;flex-wrap:wrap}
.fin-mes{margin-bottom:14px;border:1px solid var(--linha);border-radius:14px;background:var(--branco);overflow:hidden;box-shadow:var(--sombra)}
.fin-mes-cab{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;flex-wrap:wrap;background:var(--fundo-sutil,var(--cinza-bg))}
.fin-mes.aberto .fin-mes-cab{border-bottom:1px solid var(--linha)}
.fin-mes-tit{flex:1;min-width:170px}.fin-mes-tit b{display:block;font-size:16px;color:var(--titulo)}.fin-mes-tit span{font-size:12px;color:var(--tinta-suave)}
.fin-total{text-align:right;min-width:110px}.fin-total b{display:block;font-size:15px;color:var(--titulo);white-space:nowrap}.fin-total small{font-size:11px;color:var(--tinta-suave)}
.fin-mes-corpo{padding:12px;display:flex;flex-direction:column;gap:8px}
.fin-colab{margin:0}
.fin-soma{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--azul-50);border-top:2px solid var(--azul-100);font-size:13px;color:var(--tinta-suave)}
.fin-soma span{font-weight:600;color:var(--titulo);margin-right:auto}.fin-soma em{font-style:normal;font-size:12px}.fin-soma b{font-size:16px;color:var(--titulo)}
.fin-colab .doc-item input[type=checkbox]{width:auto;margin:0}
.fin-colab .doc-pasta-cab .doc-chip b{font-weight:700;margin-left:5px}
@media (max-width:860px){.fin-total{min-width:0;margin-left:auto}.fin-mes-cab{padding:12px}.fin-mes-corpo{padding:8px}}

/* ===== seletor de destino e de empresas do comunicado (v98) ===== */
.cm-dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cm-dest-op{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;border:1.5px solid var(--linha);border-radius:14px;padding:14px;cursor:pointer;background:var(--branco);transition:border-color .15s,background .15s,box-shadow .15s}
.cm-dest-op:hover{border-color:var(--azul-600)}
.cm-dest-op.on{border-color:var(--azul-600);background:var(--azul-50);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cm-dest-op input{position:absolute;opacity:0;pointer-events:none;width:0 !important;height:0}
.cm-dest-op .ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--cinza-bg);display:flex;align-items:center;justify-content:center;font-size:21px}
.cm-dest-op.on .ic{background:var(--branco)}
.cm-dest-op .tx{flex:1;min-width:0}.cm-dest-op .tx b{display:block;font-size:13.5px;color:var(--titulo);line-height:1.25}.cm-dest-op .tx small{display:block;font-size:11.5px;color:var(--tinta-suave);line-height:1.35;margin-top:2px}
.cm-dest-op .ck{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--linha);display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;font-weight:700}
.cm-dest-op.on .ck{background:var(--azul-600);border-color:var(--azul-600);color:#fff}
.cm-previa{background:var(--fundo-sutil,var(--cinza-bg));border:1.5px dashed var(--linha);border-radius:14px;padding:14px}
.cm-previa .cm-card{pointer-events:none;margin:0}
.cm-previa-quem{font-size:12px;font-weight:600;color:var(--tinta-suave);margin-bottom:10px}
.cm-previa-vazio{font-size:13px;color:var(--tinta-suave);text-align:center;padding:18px 8px}
.cm-emp-caixa{border:1.5px solid var(--linha);border-radius:14px;background:var(--branco);overflow:hidden}
.cm-emp-cab{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--linha);background:var(--fundo-sutil,var(--cinza-bg));flex-wrap:wrap}
.cm-emp-cab .busca-box{flex:1;min-width:180px}
.cm-emp-lista{max-height:270px;overflow:auto;padding:6px 8px 8px}
.cm-emp-g{margin-top:8px}.cm-emp-g:first-child{margin-top:2px}
.cm-emp-gcab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-suave)}
.cm-emp-gcab button{border:0;background:none;color:var(--azul-600);font-weight:600;font-size:11.5px;text-transform:none;letter-spacing:0;cursor:pointer;padding:2px 6px;border-radius:6px}
.cm-emp-gcab button:hover{background:var(--azul-50)}
.cm-emp-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;border:1px solid transparent}
.cm-emp-row:hover{background:var(--cinza-bg)}
.cm-emp-row.on{background:var(--azul-50);border-color:var(--azul-100)}
.cm-emp-row input{flex:none;width:18px !important;height:18px;margin:0;padding:0;accent-color:var(--azul-600)}
.cm-emp-nome{flex:1;min-width:0}.cm-emp-nome b{display:block;font-size:13.5px;font-weight:600;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-emp-nome small{display:block;font-size:11.5px;color:var(--tinta-suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-emp-g .cm-emp-row:not(:first-of-type):not(.cm-emp-gcab+.cm-emp-row){margin-left:18px}
.cm-emp-tag{flex:none;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--cinza-bg);color:var(--tinta-suave);border:1px solid var(--linha)}
.cm-emp-cont{padding:9px 14px;border-top:1px solid var(--linha);font-size:12.5px;color:var(--tinta-suave);background:var(--fundo-sutil,var(--cinza-bg))}
.cm-emp-cont.sel{color:var(--azul-700);background:var(--azul-50)}
@media (max-width:860px){.cm-dest-grid{grid-template-columns:1fr}.cm-emp-lista{max-height:240px}}

/* .campo label (estilo global de formulário) vencia o layout dos cartões: reforço com especificidade */
.campo label.cm-dest-op{display:flex !important;flex-direction:row !important;align-items:center;gap:12px;margin:0;font-weight:inherit;font-size:inherit;color:inherit}
.campo label.cm-emp-row{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;margin:0;font-weight:inherit;font-size:inherit}
.campo label.cm-chk{display:inline-flex !important;flex-direction:row !important;align-items:center;gap:8px;margin:0;font-weight:600;font-size:13.5px;color:var(--tinta)}
.campo .cm-emp-row input,.campo .cm-chk input{width:18px !important;height:18px !important;min-height:0 !important;padding:0 !important;margin:0 !important;flex:none;box-shadow:none}
.campo .cm-dest-op input{position:absolute;opacity:0;width:0 !important;height:0 !important;padding:0 !important;margin:0 !important;min-height:0 !important}
.campo .cm-emp-cab input[type=text]{padding-left:34px}
.campo .cm-emp-nome b,.campo .cm-dest-op .tx b{font-size:13.5px;margin:0;display:block}
.campo .cm-emp-nome small,.campo .cm-dest-op .tx small{font-weight:400}
.cm-emp-row .cm-emp-tag{margin-left:auto}
.form-grid>*{min-width:0}
.cm-emp-cab .busca-box{min-width:0}
.cm-emp-cab .btn{flex:none}
@media (max-width:860px){.cm-emp-cab .busca-box{flex:1 1 100%}}
/* =====================================================================================
   CAMADA DE REFINAMENTO (v99): cores e fonte originais (Poppins). Só alinhamento, espaçamento e ritmo visual;
   componentes alinhados em 40px, sombras em camadas e muito respiro. Fica por último de
   propósito: redefine só a aparência (cores, medidas, tipografia), nunca estrutura nem lógica.
   ===================================================================================== */
:root{
  --serifa:'Poppins',system-ui,sans-serif;
  --raio:16px; --raio-sm:12px; --h-ctl:40px;
  --sombra-2:0 4px 8px rgba(15,23,42,.06),0 14px 28px rgba(15,23,42,.08);
}
html{font-size:15px}
body{font-size:14px;line-height:1.5;letter-spacing:.002em;font-feature-settings:"tnum" 1,"cv11" 1}
h1,h2,h3,h4{letter-spacing:-.01em}
.pagina{padding:30px 34px 70px;max-width:1680px;margin:0 auto;width:100%}

/* ---------- Menu lateral (cores originais, espaçamento refinado) ---------- */
.sidebar-topo{padding:26px 20px 20px}
.nav{padding:14px 12px 16px}
.nav-busca input{height:36px;border-radius:11px;font-size:12.5px}
.nav-grupo-titulo{font-size:9.5px;font-weight:700;letter-spacing:.1em;padding:16px 12px 7px}
.nav-item{padding:9px 12px;margin-bottom:2px;border-radius:11px;gap:12px}
.nav-item .emoji{width:20px}
.nav-item:hover{transform:none}
.sidebar-rodape{padding:14px 16px 18px}

/* ---------- Topo da página ---------- */
.topbar{padding:0 34px;min-height:78px;background:var(--branco);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--linha)}
.topbar h2{font-family:var(--serifa);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--titulo);line-height:1.15}
.topbar .empresa-atual{font-size:12.5px;color:var(--tinta-suave);margin-top:3px;letter-spacing:.005em}
.busca-global-wrap{max-width:420px}
.busca-global-wrap input{height:42px;border-radius:12px;border:1px solid var(--linha);background:var(--cinza-bg);padding-left:38px;font-size:13px;transition:all .18s}
.busca-global-wrap input:focus{background:var(--branco);border-color:var(--azul-600);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
:root.tema-escuro .topbar{background:rgba(11,15,25,.82)}

/* ---------- Botões ---------- */
.btn{height:var(--h-ctl);padding:0 18px;border-radius:11px;font-size:13px;font-weight:600;letter-spacing:.005em;gap:8px}
.btn.btn-sm{height:32px;padding:0 12px;font-size:12px;border-radius:9px}
.btn-primario{box-shadow:0 1px 2px rgba(37,99,235,.15),0 4px 10px rgba(37,99,235,.18)}
.btn-primario:hover{filter:brightness(1.08);box-shadow:0 2px 4px rgba(37,99,235,.18),0 8px 16px rgba(37,99,235,.24);transform:translateY(-1px)}
.btn-secundario{background:var(--cinza-bg);border:1px solid var(--linha);color:var(--tinta)}
.btn-secundario:hover{background:var(--cinza-bg-hover)}
.btn-fantasma{color:var(--tinta-suave)}
.btn-fantasma:hover{background:var(--cinza-bg);color:var(--tinta)}
.btn-perigo{background:var(--vermelho-bg);color:var(--vermelho)}

/* ---------- Campos ---------- */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-family:inherit;border-radius:11px}
.campo input:not([type=checkbox]):not([type=radio]),.campo select,.campo textarea{padding:11px 14px;border:1.5px solid var(--linha);font-size:14px;background:var(--branco);transition:border-color .15s,box-shadow .15s}
.campo input:not([type=checkbox]):not([type=radio]):not([type=file]),.campo select{min-height:44px}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul-600);box-shadow:0 0 0 4px rgba(37,99,235,.12);outline:none}
.campo label{font-size:12px;font-weight:600;color:var(--tinta-suave);letter-spacing:.01em;margin-bottom:6px}
:root.tema-escuro .campo input:not([type=checkbox]):not([type=radio]),:root.tema-escuro .campo select,:root.tema-escuro .campo textarea{border-color:#2d384f}

/* ---------- Barra de filtros: vira um cartão alinhado ---------- */
.toolbar{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:12px 14px;gap:10px;box-shadow:var(--sombra);margin-bottom:18px;align-items:center}
.toolbar .busca-box{min-width:220px;max-width:360px}
.toolbar .busca-box input,.busca-box input{height:var(--h-ctl);padding:0 14px 0 38px;border:1px solid var(--linha);border-radius:11px;font-size:13px;background:var(--fundo-sutil);transition:all .15s}
.busca-box input:focus{background:var(--branco);border-color:var(--azul-600);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.filtro-select,.toolbar input[type=month],.toolbar input[type=date]{height:var(--h-ctl);padding:0 34px 0 14px;border:1px solid var(--linha);border-radius:11px;font-size:13px;background-color:var(--fundo-sutil);color:var(--tinta);transition:all .15s;cursor:pointer}
.toolbar input[type=month],.toolbar input[type=date]{padding-right:12px}
.filtro-select:hover,.toolbar input[type=month]:hover{border-color:var(--linha);background-color:var(--branco)}
.filtro-select:focus,.toolbar input:focus{border-color:var(--azul-600);box-shadow:0 0 0 4px rgba(37,99,235,.12);outline:none}
.contador-resultado{font-size:12.5px;margin:-4px 2px 12px;color:var(--tinta-suave)}
:root.tema-escuro .toolbar{background:var(--branco)}
:root.tema-escuro .filtro-select,:root.tema-escuro .toolbar input[type=month],:root.tema-escuro .busca-box input{background-color:#0f1522;border-color:#2d384f}

/* ---------- Cartões de indicador ---------- */
.grid-kpi{gap:18px;margin-bottom:26px}
.kpi{border-radius:var(--raio);padding:20px 22px 18px;border:1px solid var(--linha);box-shadow:var(--sombra);background:var(--branco)}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
.kpi .rotulo{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:10px;padding-right:44px;line-height:1.35}
.kpi .valor{font-family:var(--serifa);font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--titulo);line-height:1.1}
.kpi .valor small{font-family:inherit;font-size:13px}
.kpi .icone{top:16px;right:16px;width:34px;height:34px;border-radius:11px;font-size:15px}

/* ---------- Painéis ---------- */
.painel{border-radius:var(--raio);box-shadow:var(--sombra);margin-bottom:24px}
.painel-cab{padding:18px 24px;border-bottom:1px solid var(--linha)}
.painel-cab h3{font-size:15.5px;font-weight:600;letter-spacing:-.005em}
.painel-cab .desc{font-size:12.5px;margin-top:3px}
.painel-corpo{padding:20px 24px}
.dep-card,.fb-card,.card-aniv,.aniv-item{border-radius:var(--raio-sm)}
.item-alerta{border-radius:12px;padding:12px 14px;background:var(--fundo-sutil);border:1px solid var(--linha)}
.item-alerta:hover{background:var(--azul-50);border-color:var(--azul-100)}
.vazio{padding:46px 14px;font-size:13.5px}
.vazio .emoji-vazio{font-size:34px;opacity:.55;margin-bottom:12px;filter:grayscale(.3)}

/* ---------- Tabelas ---------- */
.tabela-wrap{border-radius:var(--raio);box-shadow:var(--sombra);border:1px solid var(--linha)}
table.tabela{font-size:13.5px}
table.tabela th{font-size:10.5px;font-weight:700;letter-spacing:.07em;padding:14px 18px;border-bottom:1px solid var(--linha)}
table.tabela td{padding:15px 18px}
table.tabela td.cel-principal,.cel-principal{font-weight:600;color:var(--tinta);letter-spacing:.002em}
.cel-sub{font-size:12px;color:var(--tinta-suave)}

/* ---------- Selos e chips ---------- */
.badge{font-size:11px;font-weight:600;padding:4px 11px;letter-spacing:.015em}
.pesq-chip{height:36px;padding:0 16px;display:inline-flex;align-items:center;gap:4px;transition:border-color .15s,background .15s}
.pesq-chip:hover{border-color:var(--azul-600)}
.pesq-chip span,.pesq-chip b{font-weight:700}
.pesq-chip.on span{background:var(--azul-600);color:#fff}
.pdi-seg{height:var(--h-ctl);align-items:center}
/* ---------- Abas do Dashboard ---------- */
.dash-tab{font-weight:600;letter-spacing:.005em}

/* ---------- Janelas (modais) ---------- */
.modal-fundo{background:rgba(8,18,46,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal{border-radius:22px;box-shadow:var(--sombra-modal);border:1px solid rgba(13,33,82,.06)}
.modal-cab{padding:22px 28px 18px;border-bottom:1px solid var(--linha)}
.modal-cab h3{font-family:var(--serifa);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--titulo)}
.modal-corpo{padding:24px 28px}
.modal-rodape{padding:16px 28px;background:var(--fundo-sutil);border-top:1px solid var(--linha);border-radius:0 0 22px 22px}
.modal-fechar{width:34px;height:34px;border-radius:50%;transition:background .15s}
.modal-fechar:hover{background:var(--cinza-bg)}
.form-grid{gap:18px 20px}
:root.tema-escuro .modal-rodape{background:#111827}

/* ---------- Detalhes finos ---------- */
.toast,#toasts .toast{border-radius:14px;box-shadow:0 14px 34px rgba(8,18,46,.25)}
.doc-pasta,.fin-mes,.cg-card{border-radius:var(--raio)}
.doc-pasta{box-shadow:var(--sombra)}
@media (max-width:860px){
  .pagina{padding:18px 14px 90px}
  .topbar{padding:0 14px;min-height:64px}
  .topbar h2{font-size:21px}
  .toolbar{padding:10px;gap:8px}
  .kpi .valor{font-size:27px}
  .modal-cab{padding:18px 18px 14px}.modal-corpo{padding:18px}.modal-rodape{padding:12px 18px}
}


/* ===== Barras de filtros padronizadas (classificação feita por organizarToolbars; nada muda de lugar no HTML) =====
   q = busca · f = filtros · l = limpar · s = espaçador · a = ações (botões, menus, Excel/PDF).
   Barra comum: busca, filtros e, à direita, as ações. Barra "densa" (4 ou mais filtros): busca + ações
   em cima e, numa linha própria embaixo, os filtros com larguras iguais. */
.toolbar[data-tbo]>[data-tb="q"]{order:1}
.toolbar[data-tbo]>[data-tb="f"]{order:2}
.toolbar[data-tbo]>[data-tb="l"]{order:2}
.toolbar[data-tbo]>[data-tb="s"]{order:3;flex:1 1 0;min-width:0}
.toolbar[data-tbo]>[data-tb="v"]{order:4;flex:0 0 auto}
.toolbar[data-tbo]>[data-tb="a"]{order:5}
.toolbar[data-tbo]>select[data-tb="f"],.toolbar[data-tbo]>.filtro-select[data-tb="f"]{flex:0 1 215px;min-width:190px;max-width:290px}
.toolbar[data-tbo]>span[data-tb="f"],.toolbar[data-tbo]>label[data-tb="f"],.toolbar[data-tbo]>.pdi-seg[data-tb="f"],.toolbar[data-tbo]>.pesq-chips[data-tb="f"],.toolbar[data-tbo]>div[data-tb="f"]{flex:0 0 auto;max-width:none}
.toolbar[data-tbo]>input[type=month][data-tb="f"],.toolbar[data-tbo]>input[type=date][data-tb="f"]{flex:0 1 160px;min-width:140px}
.toolbar.tb-denso>[data-tb="q"]{flex:1 1 280px;max-width:420px}
.toolbar.tb-denso>[data-tb="s"]{order:2}
.toolbar.tb-denso>[data-tb="v"]{order:3}
.toolbar.tb-denso>[data-tb="a"]{order:4}
.toolbar.tb-denso::after{content:'';order:5;flex:1 1 100%;height:0;border-top:1px solid var(--linha);margin:0}
.toolbar.tb-denso>[data-tb="f"]{order:6}
.toolbar.tb-denso>select[data-tb="f"],.toolbar.tb-denso>.filtro-select[data-tb="f"]{flex:1 1 200px;min-width:190px;max-width:300px}
.toolbar.tb-denso>[data-tb="l"]{order:7;margin-left:auto}
.toolbar[data-tbo]>[data-tb="a"]{white-space:nowrap}
@media (max-width:860px){
  .toolbar[data-tbo]>[data-tb="q"],.toolbar.tb-denso>[data-tb="q"]{flex:1 1 100%;max-width:none}
  .toolbar[data-tbo]>select[data-tb="f"],.toolbar[data-tbo]>.filtro-select[data-tb="f"],.toolbar.tb-denso>select[data-tb="f"],.toolbar.tb-denso>.filtro-select[data-tb="f"]{flex:1 1 100%;max-width:none;min-width:0}
  .toolbar[data-tbo]>[data-tb="s"]{display:none}
  .toolbar[data-tbo]>[data-tb="a"]{flex:1 1 auto}
  .toolbar.tb-denso>[data-tb="l"]{margin-left:0}
}

/* (antigo) grupos de filtros/ações, não mais usados */
.toolbar-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:1 1 420px;min-width:0}
.toolbar-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-left:auto}
.toolbar-filtros>.busca-box{flex:1 1 220px;max-width:340px}
.toolbar-filtros>.filtro-select{flex:0 1 auto;min-width:150px;max-width:260px}
.acoes-linha{flex-wrap:nowrap;align-items:center}
.nav-grupo-titulo{white-space:nowrap}

/* ===== Sino de avisos (central única) ===== */
.sino-wrap{position:relative;margin-left:auto;margin-right:8px;flex-shrink:0;}
.sino-btn{position:relative;width:40px;height:40px;border-radius:12px;border:1.5px solid var(--linha);background:var(--branco);cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s;}
.sino-btn:hover{background:var(--azul-50);transform:translateY(-1px);}
.sino-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#dc2626;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--branco);}
.sino-painel{position:absolute;top:calc(100% + 10px);right:0;width:min(440px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 100px));background:var(--branco);border:1px solid var(--linha);border-radius:18px;box-shadow:0 18px 50px rgba(15,23,42,.18),0 2px 8px rgba(15,23,42,.06);z-index:900;display:flex;flex-direction:column;overflow:hidden;animation:sinoEntra .16s ease-out;}
@keyframes sinoEntra{from{opacity:0;transform:translateY(-6px) scale(.98);}to{opacity:1;transform:none;}}
.sino-painel.oculto{display:none;}
.sino-cab{padding:16px 16px 12px;background:linear-gradient(180deg,var(--azul-50),var(--branco));border-bottom:1px solid var(--linha);}
.sino-cab-linha{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.sino-titulo{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.01em;}
.sino-total{background:var(--azul-600);color:#fff;border-radius:999px;font-size:11.5px;font-weight:700;padding:2px 9px;}
.sino-subt{font-size:12px;color:var(--tinta-suave);margin-top:2px;}
.sino-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.sino-chips::-webkit-scrollbar{display:none;}
.sino-chip{border:1px solid var(--linha);background:var(--branco);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all .15s;}
.sino-chip:hover{border-color:var(--azul-600);}
.sino-chip i{font-style:normal;display:inline-block;background:var(--cinza-bg);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;min-width:18px;text-align:center;}
.sino-chip.on{background:var(--azul-600);border-color:var(--azul-600);color:#fff;}
.sino-chip.on i{background:rgba(255,255,255,.25);color:#fff;}
.sino-lista{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px;}
.sino-item{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s;position:relative;}
.sino-item:hover{background:var(--azul-50);border-color:var(--linha);}
.sino-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--cinza-bg);}
.sino-t-chat .sino-ic{background:#dbeafe;} .sino-t-cad .sino-ic{background:#ede9fe;} .sino-t-ass .sino-ic{background:#dcfce7;} .sino-t-lem .sino-ic{background:#fef3c7;}
.sino-txt{flex:1;min-width:0;}
.sino-linha1{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.sino-txt b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.sino-quando{font-size:11px;color:var(--tinta-suave);white-space:nowrap;flex-shrink:0;}
.sino-txt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.3px;color:var(--tinta-suave);margin-top:2px;line-height:1.4;}
.sino-tag{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:600;border-radius:6px;padding:1px 7px;background:var(--cinza-bg);color:var(--tinta-suave);}
.sino-t-chat .sino-tag{background:#dbeafe;color:#1d4ed8;} .sino-t-cad .sino-tag{background:#ede9fe;color:#6d28d9;} .sino-t-ass .sino-tag{background:#dcfce7;color:#15803d;} .sino-t-lem .sino-tag{background:#fef3c7;color:#b45309;}
.sino-ok{border:1px solid var(--linha);background:var(--branco);border-radius:50%;width:28px;height:28px;font-size:13px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--tinta-suave);opacity:0;transition:all .12s;align-self:center;}
.sino-item:hover .sino-ok,.sino-ok:focus{opacity:1;}
@media (hover:none){.sino-ok{opacity:1;}}
.sino-ok:hover{background:var(--verde-bg);border-color:var(--verde);color:var(--verde);}
.sino-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--linha);background:var(--cinza-bg);font-size:11.5px;color:var(--tinta-suave);}
.sino-rodape select{padding:3px 6px;border-radius:7px;border:1px solid var(--linha);font-size:11.5px;background:var(--branco);}
.sino-todos{border:0;background:transparent;color:var(--azul-600);font-weight:600;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;}
.sino-todos:hover{background:var(--azul-50);}
.sino-vazio{padding:44px 20px;text-align:center;color:var(--tinta-suave);font-size:13px;}
.sino-vazio .grande{font-size:38px;display:block;margin-bottom:8px;}
.sino-vazio b{display:block;color:var(--tinta);font-size:14px;margin-bottom:2px;}
/* ===== Menu lateral v2: ícones alinhados, etiquetas de aviso uniformes e nomes que não estouram ===== */
.sidebar .nav{padding:10px 10px 14px}
.sidebar .nav-grupo-titulo{position:relative;gap:8px;padding:14px 8px 8px 12px;font-size:10.5px;letter-spacing:.06em;line-height:1.2}
.sidebar .nav-grupo-ic{flex:0 0 20px;width:20px;text-align:center;font-size:14px;opacity:.9}
.sidebar .nav-grupo-nome{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nav-grupo-titulo .chevron{flex:0 0 14px;width:14px;text-align:center;margin-left:auto}
.sidebar .nav-grupo-badge,.sidebar .nav-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:18px;min-width:18px;padding:0 6px;border-radius:9px;font-size:10.5px;font-weight:700;line-height:1;letter-spacing:0;margin-left:auto;background:var(--vermelho);color:#fff}
.sidebar .nav-grupo-badge.oculto,.sidebar .nav-badge.oculto{display:none!important}
.sidebar .nav-grupo-badge:not(.oculto)+.chevron{margin-left:2px}
.sidebar .nav-grupo.fechado.tem-ativo .nav-grupo-titulo::before{position:absolute;left:3px;top:calc(50% + 3px);transform:translateY(-50%);margin:0}
.sidebar .nav-item{gap:12px;padding:9px 12px;font-size:13px;min-height:40px}
.sidebar .nav-item .emoji{flex:0 0 20px;width:20px;font-size:15px;text-align:center}
@media (max-width:860px){ .sidebar .nav-item{min-height:44px} }
@media (max-width:860px){.toolbar-filtros,.toolbar-acoes{flex:1 1 100%;justify-content:flex-start;margin-left:0}.toolbar-filtros>.busca-box,.toolbar-filtros>.filtro-select{max-width:none;flex:1 1 100%}.toolbar-acoes .btn{flex:1 1 auto}}
@media (max-width:640px){.kpi .rotulo,.kpi .label,.kpi>div:first-child{overflow-wrap:normal;word-break:normal;hyphens:auto}.kpi{padding:14px}}

/* ===== Painel da empresa (v101) ===== */
.esp-abas-wrap{position:relative;margin:0 0 20px;border-bottom:1.5px solid var(--linha)}
.esp-abas-wrap #espaco-empresa-abas{margin:0;padding:0 2px;border-bottom:0;overflow-x:auto;scrollbar-width:none;gap:2px}
.esp-abas-wrap #espaco-empresa-abas::-webkit-scrollbar{display:none}
.esp-abas-wrap .aba{display:inline-flex;align-items:center;gap:6px;padding:13px 14px}
.aba-n{min-width:19px;height:19px;padding:0 6px;border-radius:99px;background:var(--cinza-bg-hover);color:var(--tinta-suave);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.aba-n[hidden]{display:none}
.aba-n.v{background:#dc2626;color:#fff}.aba-n.a{background:#f59e0b;color:#fff}
.aba.ativa .aba-n:not(.v):not(.a){background:var(--azul-600);color:#fff}
.esp-seta{position:absolute;top:0;bottom:1px;width:44px;border:0;cursor:pointer;font-size:20px;font-weight:700;color:var(--azul-700);opacity:0;pointer-events:none;transition:opacity .15s;z-index:2}
.esp-seta-e{left:0;background:linear-gradient(90deg,var(--fundo) 40%,transparent)}
.esp-seta-d{right:0;background:linear-gradient(270deg,var(--fundo) 40%,transparent)}
.esp-abas-wrap.tem-e .esp-seta-e,.esp-abas-wrap.tem-d .esp-seta-d{opacity:1;pointer-events:auto}
.esp-cab{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center}
.esp-av{width:56px;height:56px;font-size:19px}
.esp-id{flex:1;min-width:200px}
.esp-nome{font-size:18px;font-weight:700;color:var(--tinta);line-height:1.2}
.esp-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.esp-faixa{border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.esp-chips{display:flex;flex-wrap:wrap;gap:8px}
.esp-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:var(--cinza-bg);border:1px solid var(--linha);font-size:12.5px;font-weight:500;color:var(--tinta);text-decoration:none}
.esp-chip i{font-style:normal;font-size:13px}
a.esp-chip:hover,.esp-link:hover{border-color:var(--azul-600);color:var(--azul-700);cursor:pointer}
.esp-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.esp-acoes>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-suave);margin-right:4px}
.esp-cta{margin-top:14px}
/* ficha cadastral */
.fc{overflow:hidden}
.fc-cab{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding:16px 20px}
.fc-cab::-webkit-details-marker{display:none}
.fc-seta{font-size:12px;color:var(--tinta-suave);transition:transform .15s}
.fc[open] .fc-seta{transform:rotate(90deg)}
.fc-titulo{display:flex;flex-direction:column;gap:1px;flex:1;min-width:170px}
.fc-titulo b{font-size:15px;color:var(--titulo)}
.fc-titulo span{font-size:12px;color:var(--tinta-suave)}
.fc-prog{display:flex;align-items:center;gap:10px;min-width:150px}
.fc-prog b{font-size:13px;color:var(--tinta)}
.fc-barra{flex:1;height:8px;border-radius:99px;background:var(--cinza-bg-hover);overflow:hidden;min-width:100px}
.fc-fill{height:100%;border-radius:99px}
.fc-fill.verde{background:#16a34a}.fc-fill.amarelo{background:#f59e0b}.fc-fill.vermelho{background:#dc2626}
.fc-btns{display:flex;gap:8px;flex-wrap:wrap}
.fc-corpo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;border-top:1px solid var(--linha)}
.fc-grupo{padding:18px 20px;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.fc-tit{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--azul-700);margin-bottom:12px}
.fc-tit i{font-style:normal;font-size:14px}
.fc-grupo dl{margin:0;display:grid;gap:10px}
.fc-grupo dt{font-size:11px;color:var(--tinta-suave);margin-bottom:1px}
.fc-grupo dd{margin:0;font-size:13px;font-weight:600;color:var(--tinta);line-height:1.4;overflow-wrap:anywhere}
.fc-faltam{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:14px 20px;background:var(--fundo-sutil)}
.fc-faltam span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-suave);margin-right:6px}
.fc-faltam button{height:26px;padding:0 10px;border-radius:99px;border:1px dashed var(--linha);background:var(--branco);font:600 11.5px Poppins,sans-serif;color:var(--tinta-suave);cursor:pointer}
.fc-faltam button:hover{border-color:var(--azul-600);color:var(--azul-700)}
/* notas */
.esp-nota-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.esp-nota-novo textarea{width:100%;border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;font:400 13.5px Poppins,sans-serif;resize:vertical;margin-bottom:10px;background:var(--branco);color:var(--tinta)}
.esp-nota-novo textarea:focus{outline:0;border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
@media (max-width:700px){.esp-faixa{flex-direction:column;align-items:flex-start}.fc-corpo{grid-template-columns:1fr}.fc-grupo{border-right:0}.esp-seta{display:none}}

/* Empresas do comunicado (v102): cartões em grade */
.cm-emp-lista{max-height:340px;padding:12px 14px 14px}
.cm-emp-g{margin-top:14px}.cm-emp-g:first-child{margin-top:0}
.cm-emp-gcab{padding:0 2px 8px;font-size:10.5px}
.cm-emp-gcab em{font-style:normal;margin-left:6px;padding:1px 7px;border-radius:99px;background:var(--cinza-bg-hover);font-size:10.5px}
.cm-emp-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.campo label.cm-emp-row,.cm-emp-row{position:relative;display:flex !important;align-items:center;gap:10px;margin:0 !important;padding:10px 12px;border:1.5px solid var(--linha);border-radius:12px;background:var(--branco);min-height:56px}
.cm-emp-g .cm-emp-row:not(:first-of-type):not(.cm-emp-gcab+.cm-emp-row){margin-left:0 !important}
.cm-emp-row:hover{border-color:var(--azul-600);background:var(--branco)}
.cm-emp-row.on{border-color:var(--azul-600);background:var(--azul-50)}
.cm-emp-row input,.campo .cm-emp-row input{position:absolute !important;opacity:0;width:0 !important;height:0 !important;pointer-events:none}
.cm-emp-av{flex:none;width:34px;height:34px;border-radius:10px;background:var(--azul-100);color:var(--azul-900);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.cm-emp-row.on .cm-emp-av{background:var(--azul-600);color:#fff}
.cm-emp-nome b{font-size:13px}.cm-emp-nome small{margin-top:1px}
.cm-emp-tag{margin-left:0 !important;order:3;align-self:flex-start;font-size:9.5px;padding:1px 7px}
.cm-emp-ck{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--linha);color:transparent;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;order:4}
.cm-emp-row.on .cm-emp-ck{background:var(--azul-600);border-color:var(--azul-600);color:#fff}
.cm-oculto{display:none !important}
.cm-emp-nada{padding:22px;text-align:center;color:var(--tinta-suave);font-size:13px}
.cm-emp-cab .busca-box .lupa{left:12px}
.campo .cm-emp-cab input[type=text]{padding-left:38px}
@media (max-width:640px){.cm-emp-grade{grid-template-columns:1fr}}
/* ===== Indicadores executivos (v103) ===== */
#exec-topo{margin-bottom:20px}
.exec-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.exec-cab h3{margin:0;font-size:17px;color:var(--titulo)}
.exec-cab span{font-size:12px;color:var(--tinta-suave)}
.exec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.exec-kpi{background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:16px 18px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:6px;min-width:0}
.exec-kpi-top{display:flex;align-items:center;gap:8px}
.exec-kpi-ico{width:30px;height:30px;border-radius:10px;background:var(--azul-50);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
.exec-kpi-rot{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);line-height:1.25}
.exec-kpi-val{font-size:27px;font-weight:700;color:var(--titulo);letter-spacing:-.02em;line-height:1.1;margin-top:2px}
.exec-kpi-sub{font-size:11.5px;color:var(--tinta-suave)}
.exec-mini{width:100%;height:26px;margin-top:2px}
.exec-delta{align-self:flex-start;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--cinza-bg);color:var(--tinta-suave);white-space:nowrap}
.exec-delta.v{background:#dcfce7;color:#15803d}.exec-delta.r{background:#fee2e2;color:#b91c1c}
.exec-delta.mini{font-size:10px;padding:1px 7px;flex:none}
.exec-dest{margin-top:14px;background:var(--azul-50);border:1px solid var(--azul-100);border-radius:16px;padding:14px 18px;display:grid;gap:8px}
.exec-dest-tit{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--azul-700)}
.exec-dest-it{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--tinta);line-height:1.45}
.exec-dest-it i{font-style:normal;flex:none}
.exec-lin{display:flex;align-items:center;gap:10px;padding:7px 0}
.exec-pos{flex:none;width:22px;height:22px;border-radius:7px;background:var(--cinza-bg);color:var(--tinta-suave);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.exec-lin:first-child .exec-pos{background:var(--azul-600);color:#fff}
.exec-lin-c{flex:1;min-width:0}
.exec-lin-t{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;margin-bottom:4px}
.exec-lin-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tinta)}
.exec-lin-t b{flex:none;color:var(--titulo)}
.exec-lin-t em{font-style:normal;font-weight:500;color:var(--tinta-suave);margin-left:6px;font-size:11px}
.exec-bar{height:8px;border-radius:99px;background:var(--cinza-bg);overflow:hidden}
.exec-bar>div{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--azul-600),#4f8cff)}
.exec-bar>div.v{background:#16a34a}.exec-bar>div.a{background:#f59e0b}.exec-bar>div.r{background:#dc2626}
.exec-pct{flex:none;width:36px;text-align:right;font-size:11.5px;font-weight:700;color:var(--tinta-suave)}
.exec-mais{margin-top:6px;border:0;background:none;color:var(--azul-600);font:600 12px Poppins,sans-serif;cursor:pointer;padding:6px 0}
.exec-mais:hover{text-decoration:underline}
.exec-total{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed var(--linha);font-size:12.5px;color:var(--tinta-suave)}
.exec-total b{color:var(--titulo);font-size:14px}
.exec-sub{margin:18px 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta-suave)}
.exec-cols{display:flex;gap:8px;align-items:flex-end;height:120px}
.exec-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;min-width:0}
.exec-col-b{flex:1;width:100%;display:flex;align-items:flex-end}
.exec-col-b>div{width:100%;border-radius:6px 6px 2px 2px;background:var(--azul-100)}
.exec-col.atual .exec-col-b>div{background:var(--azul-600)}
.exec-col-v{font-size:9.5px;font-weight:700;color:var(--titulo);white-space:nowrap}
.exec-col-l{font-size:10px;color:var(--tinta-suave)}
.exec-leg{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:11.5px;color:var(--tinta-suave);margin-top:10px}
.exec-leg i.v{background:#16a34a}.exec-leg i{width:10px;height:10px;border-radius:50%;background:var(--azul-600);display:inline-block;margin-right:4px}.exec-leg i.a{background:#f59e0b}.exec-leg i.r{background:#dc2626}
.exec-area{width:100%;height:auto;max-height:150px;overflow:visible}
:root.tema-escuro .exec-dest{background:rgba(37,99,235,.12);border-color:rgba(96,165,250,.25)}
:root.tema-escuro .exec-delta.v{background:rgba(34,197,94,.18);color:#86efac}:root.tema-escuro .exec-delta.r{background:rgba(239,68,68,.18);color:#fca5a5}
@media (max-width:1100px){.exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.exec-kpis{grid-template-columns:1fr 1fr}.exec-kpi-val{font-size:22px}}

/* ===== Prévia do WhatsApp ===== */
.wa-layout{display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:22px;align-items:start}
.wa-fone{border-radius:22px;overflow:hidden;border:1px solid var(--linha);box-shadow:var(--sombra);background:#e5ddd5;display:flex;flex-direction:column;min-height:420px}
.wa-topo{background:#075e54;color:#fff;display:flex;align-items:center;gap:10px;padding:10px 12px}
.wa-topo b{display:block;font-size:13.5px}.wa-topo small{font-size:11px;opacity:.8}
.wa-voltar{font-size:24px;line-height:1}
.wa-av{width:34px;height:34px;border-radius:50%;background:#128c7e;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.wa-chat{flex:1;padding:14px 12px;background:#e5ddd5 radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px) 0 0/14px 14px}
.wa-dia{width:max-content;margin:0 auto 12px;padding:3px 10px;border-radius:8px;background:#fff;color:#54656f;font-size:10.5px;font-weight:600;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-bolha{position:relative;margin-left:auto;max-width:92%;background:#d9fdd3;color:#111b21;padding:8px 10px 6px;border-radius:10px 0 10px 10px;box-shadow:0 1px 1px rgba(0,0,0,.13);font-size:13.5px;line-height:1.42;overflow-wrap:anywhere}
.wa-hora{display:block;text-align:right;font-size:10.5px;color:#667781;margin-top:3px}
.wa-hora i{font-style:normal;color:#53bdeb;margin-left:2px}
.wa-barra{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f0f2f5;color:#667781;font-size:13px}
.wa-barra div{flex:1;background:#fff;border-radius:99px;padding:7px 14px}
.wa-lado label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:var(--tinta)}
.wa-lado label small{font-weight:400;color:var(--tinta-suave)}
.wa-lado textarea{width:100%;border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;font:400 13.5px/1.5 Poppins,sans-serif;resize:vertical;background:var(--branco);color:var(--tinta)}
.wa-lado textarea:focus{outline:0;border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.wa-dica{margin-top:8px;font-size:12px;color:var(--tinta-suave)}
.btn.wa-verde{background:#25d366;border-color:#25d366;box-shadow:0 4px 10px rgba(37,211,102,.3);color:#06361b}
@media (max-width:760px){.wa-layout{grid-template-columns:1fr}}

.wa-link{color:#027eb5;text-decoration:underline;word-break:break-all}
.wa-seg{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--cinza-bg);border:1px solid var(--linha);margin-top:6px}
.wa-seg button{flex:1;height:36px;border:0;border-radius:9px;background:transparent;font:600 12.5px Poppins,sans-serif;color:var(--tinta-suave);cursor:pointer}
.wa-seg button.on{background:var(--branco);color:var(--azul-700);box-shadow:0 1px 4px rgba(15,23,42,.12)}
#modal-link .wa-chat{max-height:460px;overflow:auto}

/* ===== Caixas de opção (liga/desliga) em todo o sistema ===== */
.toggle-card,.campo label.toggle-card{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 16px;border:1.5px solid var(--linha);border-radius:14px;background:var(--branco);cursor:pointer;font-weight:inherit;font-size:inherit;transition:border-color .15s,background .15s,box-shadow .15s}
.toggle-card:hover{border-color:var(--azul-600);box-shadow:0 2px 8px rgba(37,99,235,.08)}
.toggle-card.marcado{border-color:var(--azul-600);background:var(--azul-50)}
.toggle-card .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:13.5px;line-height:1.35}
.toggle-card .txt b{display:block;margin:0;font-weight:600;color:var(--tinta);font-size:13.5px}
.toggle-card .txt .td{display:block;font-size:12.5px;font-weight:400;color:var(--tinta-suave);line-height:1.5}
.toggle-card input[type=checkbox],.campo .toggle-card input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:42px !important;height:24px !important;min-height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:99px;background:var(--cinza-bg-hover);cursor:pointer;box-shadow:none !important;transition:background .18s}
.toggle-card input[type=checkbox]::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:transform .18s}
.toggle-card input[type=checkbox]:checked{background:var(--azul-600)}
.toggle-card input[type=checkbox]:checked::after{transform:translateX(18px)}
.toggle-card input[type=checkbox]:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}

/* ===== Configurações e Log de auditoria (v107) ===== */
.aud-abas{display:flex;gap:6px;border-bottom:1px solid var(--linha);margin:4px 0 14px;overflow-x:auto;}
.aud-aba{border:0;background:none;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--tinta-suave);padding:10px 14px;border-bottom:2.5px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;}
.aud-aba:hover{color:var(--tinta);}
.aud-aba.ativa{color:var(--azul-600);border-bottom-color:var(--azul-600);}
.aud-intro{font-size:12.5px;color:var(--tinta-suave);line-height:1.6;margin:0 0 12px;max-width:760px;}
.aud-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:6px;}
@media(max-width:900px){.aud-kpis{grid-template-columns:repeat(2,1fr);}}
.aud-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;}
.aud-chip{border:1px solid var(--linha);background:var(--branco);color:var(--tinta);font-family:inherit;font-size:12px;font-weight:600;padding:6px 13px;border-radius:20px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.aud-chip:hover{border-color:var(--azul-600);color:var(--azul-600);}
.aud-chip.ativa{background:var(--azul-600);border-color:var(--azul-600);color:#fff;}
.aud-chip .n{opacity:.7;font-weight:500;margin-left:4px;}
.aud-dia td{background:var(--cinza-bg);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-suave);padding:7px 14px !important;}
.aud-quem{display:flex;align-items:center;gap:9px;}
.aud-av{width:28px;height:28px;border-radius:50%;background:var(--azul-50);color:var(--azul-600);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;}
.aud-hora{font-weight:600;font-size:13px;}
.aud-rel{display:block;font-size:11px;color:var(--tinta-suave);font-weight:400;}
.aud-reg small{display:block;font-size:11px;color:var(--tinta-suave);font-weight:500;}
.cfg-hier{border:1px solid var(--linha);border-radius:12px;background:var(--cinza-bg);}
.cfg-hier summary{cursor:pointer;list-style:none;padding:11px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;}
.cfg-hier summary::-webkit-details-marker{display:none;}
.cfg-hier summary::before{content:'▸';transition:transform .15s;color:var(--tinta-suave);}
.cfg-hier[open] summary::before{transform:rotate(90deg);}
.cfg-hier summary small{font-weight:500;color:var(--tinta-suave);font-size:11.5px;}
.cfg-hier-corpo{padding:0 14px 13px 30px;font-size:12.5px;line-height:1.75;}
.cfg-pessoa{display:flex;align-items:center;gap:11px;}
.cfg-pessoa .aud-av{width:34px;height:34px;font-size:12px;}
.cfg-pessoa b{display:block;font-weight:600;}
.cfg-pessoa small{display:block;color:var(--tinta-suave);font-size:11.5px;}
.cfg-voce{font-size:10.5px;font-weight:700;color:var(--azul-600);background:var(--azul-50);padding:2px 7px;border-radius:10px;margin-left:6px;vertical-align:middle;}
#secao-configuracoes .painel{margin-bottom:16px;}

/* ===== Relógio ponto (v111) ===== */
.pt-card{background:var(--branco);border:1px solid var(--linha);border-radius:18px;padding:22px 18px 20px;text-align:center;margin-bottom:16px;box-shadow:var(--sombra-sm,0 1px 3px rgba(15,23,42,.06));}
.pt-relogio{font-size:44px;font-weight:800;letter-spacing:1px;color:var(--titulo);line-height:1.1;font-variant-numeric:tabular-nums;}
.pt-data{font-size:13px;color:var(--tinta-suave);margin-top:4px;}.pt-data::first-letter{text-transform:uppercase;}
.pt-fuso{font-size:11px;color:var(--tinta-suave);opacity:.8;margin-bottom:14px;}
.pt-local{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:20px;background:var(--cinza-bg);color:var(--tinta-suave);margin-bottom:16px;}
.pt-local.ok{background:var(--verde-bg,#dcfce7);color:var(--verde);}
.pt-local.no{background:var(--amarelo-bg,#fef3c7);color:#b45309;}
.pt-btn{display:block;width:100%;max-width:340px;margin:0 auto;border:0;border-radius:14px;background:var(--azul-600);color:#fff;font-family:inherit;font-size:16px;font-weight:700;padding:16px;cursor:pointer;box-shadow:0 6px 16px rgba(37,99,235,.28);transition:transform .12s,box-shadow .12s;}
.pt-btn:hover{transform:translateY(-1px);} .pt-btn:active{transform:scale(.98);}
.pt-btn.sec{background:var(--branco);color:var(--azul-600);border:1.5px solid var(--azul-600);box-shadow:none;}
.pt-passos{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:22px;}
.pt-passo{flex:1 1 70px;max-width:110px;border-radius:12px;background:var(--cinza-bg);padding:9px 6px;}
.pt-passo small{display:block;font-size:10.5px;color:var(--tinta-suave);font-weight:600;}
.pt-passo b{display:block;font-size:15px;margin-top:2px;color:var(--tinta-suave);}
.pt-passo.feito{background:var(--verde-bg,#dcfce7);} .pt-passo.feito b{color:var(--verde);}
.pt-passo.prox{background:var(--azul-50);outline:1.5px solid var(--azul-600);} .pt-passo.prox b{color:var(--azul-600);}
.pt-conf{border:1px solid var(--linha);border-radius:14px;padding:16px;background:var(--fundo-sutil,#f8fafc);text-align:left;max-width:380px;margin:0 auto;}
.pt-conf h4{margin:0 0 6px;font-size:15px;color:var(--titulo);}
.pt-conf p{font-size:12.5px;line-height:1.55;color:var(--tinta-suave);margin:0 0 10px;}
.pt-conf .linha{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pt-conf .linha .btn{flex:1 1 130px;}
.pt-spin{width:26px;height:26px;border:3px solid var(--linha);border-top-color:var(--azul-600);border-radius:50%;animation:ptgira .8s linear infinite;margin:6px auto 10px;}
@keyframes ptgira{to{transform:rotate(360deg);}}
.pt-ok{font-size:34px;line-height:1;margin-bottom:6px;}
.cp-grupo{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-suave);margin:14px 0 6px;}
.cp-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.cp-lista li{border-radius:10px;padding:10px 12px 10px 38px;position:relative;background:var(--cinza-bg);font-size:12.5px;line-height:1.55;}
.cp-lista li b{display:block;font-size:13px;}
.cp-lista li span{color:var(--tinta-suave);}
.cp-lista li::before{position:absolute;left:12px;top:10px;font-size:15px;}
.cp-lista li.ok::before{content:'✅';} .cp-lista li.pend::before{content:'⚠️';} .cp-lista li.info::before{content:'ℹ️';}
.cp-lista li.pend{background:var(--amarelo-bg,#fef3c7);}

.pt-cam{width:100%;max-width:300px;aspect-ratio:1/1;margin:0 auto 6px;border-radius:16px;overflow:hidden;background:#0f172a;}
.pt-cam video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);}
.pt-foto{width:100%;max-width:240px;border-radius:16px;border:1px solid var(--linha);}

/* ===== Banco de Horas e Relógio de Ponto (v113) ===== */
.bh-num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;}
.bh-pos{color:var(--verde);} .bh-neg{color:var(--vermelho);}
#secao-bancohoras td .aud-quem,#secao-relogioponto td .aud-quem{gap:10px;}
.painel.slim .painel-corpo{display:none;}
.painel.slim .painel-cab{border-bottom:0;padding-top:12px;padding-bottom:12px;}
.painel.slim .painel-cab h3{font-size:13.5px;}
.menu-acoes{position:relative;display:inline-block;}
.menu-acoes summary{list-style:none;cursor:pointer;}
.menu-acoes summary::-webkit-details-marker{display:none;}
.menu-acoes .menu-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:250px;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.16);padding:6px;display:grid;gap:2px;}
.menu-acoes .mi{border:0;background:none;text-align:left;font-family:inherit;font-size:13px;font-weight:600;color:var(--tinta);padding:10px 12px;border-radius:8px;cursor:pointer;}
.menu-acoes .mi:hover{background:var(--azul-50);color:var(--azul-600);}
.pt-escolha{padding:26px 10px;text-align:center;}
.pt-escolha-tit{font-size:14px;font-weight:600;color:var(--tinta-suave);margin-bottom:16px;}
.pt-emps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;text-align:left;}
.pt-emp{display:flex;align-items:center;gap:11px;border:1px solid var(--linha);background:var(--branco);border-radius:14px;padding:12px 14px;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .12s;}
.pt-emp:hover{border-color:var(--azul-600);box-shadow:0 4px 14px rgba(37,99,235,.12);transform:translateY(-1px);}
.pt-emp .aud-av{width:36px;height:36px;font-size:12px;}
.pt-emp .t{flex:1;min-width:0;} .pt-emp .t b{display:block;font-size:13.5px;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .pt-emp .t small{color:var(--tinta-suave);font-size:11.5px;}
.pt-emp-pend{background:var(--vermelho);color:#fff;font-size:11px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;}
#secao-bancohoras .tabela th,#secao-bancohoras .tabela td{padding-left:10px;padding-right:10px;}
#secao-bancohoras .tabela .aud-av{width:26px;height:26px;font-size:10px;}
#secao-bancohoras .tabela td:nth-child(2){max-width:240px;}
#secao-bancohoras .tabela td:nth-child(5) .badge{margin:1px 2px 1px 0;}

/* ===== TELA FUNCIONÁRIOS (out/2026): tabela que cabe na tela, ações compactas, situação em chips ===== */
.func-chips{margin:2px 0 8px;}
.func-chips .pesq-chip.on{background:var(--azul-600);border-color:var(--azul-600);color:#fff;}
.func-chips .pesq-chip.on span{background:rgba(255,255,255,.22);color:#fff;}
.func-tabela table.tabela{min-width:0;table-layout:auto;}
.func-tabela table.tabela th{padding:11px 12px;}
.func-tabela table.tabela td{padding:10px 12px;vertical-align:middle;}
.func-tabela td .func-nome{min-width:0;}
.func-tabela td .func-nome .cel-principal{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.func-tabela td .func-clip{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.func-tabela td .func-status{display:flex;flex-wrap:wrap;gap:4px;white-space:normal;min-width:120px;max-width:230px;}
.func-tabela td .func-status .badge{margin:0;}
.func-tabela td:last-child{width:1%;}
.func-tabela .acoes-linha{flex-wrap:nowrap;gap:2px;justify-content:flex-end;align-items:center;}
.func-contr-mini,.func-emp-mini{display:none;}
#secao-funcionarios .toolbar-filtros{flex:1 1 640px;}
#secao-funcionarios .toolbar-filtros>.filtro-select{min-width:0;max-width:none;flex:0 1 auto;}
#secao-funcionarios .toolbar-filtros>.filtro-select{font-size:12.5px;padding-left:10px;padding-right:24px;flex:0 0 auto;}
#filtro-func-empresa{width:190px}#filtro-func-status{width:168px}#filtro-func-pendencia{width:166px}#ordenar-func{width:196px}
#secao-funcionarios .toolbar-filtros>.busca-box{flex:1 1 170px;max-width:200px;}
#secao-funcionarios .toolbar-acoes{flex:1 1 100%;}
@media (max-width:1100px){
  .func-tabela .col-empresa{display:none;}
  .func-emp-mini{display:block;}
  .func-contr-mini{display:none !important;}
  .func-tabela td:nth-child(4){white-space:normal;max-width:125px;}
  .func-tabela td .func-nome .cel-principal{max-width:170px;}
  .func-tabela td .func-clip{max-width:125px;}
  .func-tabela td .func-status{min-width:90px;max-width:150px;}
  .func-tabela table.tabela th,.func-tabela table.tabela td{padding-left:9px;padding-right:9px;}
}
@media (max-width:1280px){
  .func-tabela .col-contrato{display:none;}
  .func-contr-mini{display:block;}
  .func-tabela td .func-nome .cel-principal{max-width:190px;}
  .func-tabela td .func-clip{max-width:150px;}
}

/* ===== EMPRESAS / PENDÊNCIAS / ATIVIDADES (out/2026) ===== */
.emp-plano-mini{display:none;margin-top:3px;}
.emp-tabela td .func-clip{max-width:170px;}
@media (max-width:1180px){ .emp-tabela .col-plano{display:none;} .emp-plano-mini{display:block;} }
@media (max-width:1000px){ .emp-tabela .col-contato{display:none;} }
.pend-modo{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.pend-modo .pesq-chip,.func-chips .pesq-chip{margin:0;}
.pend-modo .pesq-chip.on{background:var(--azul-600);border-color:var(--azul-600);color:#fff;}
.pend-grupo{margin-bottom:12px;}
.pend-grupo>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 2px 8px;font-size:13px;color:var(--titulo);}
.pend-grupo>summary::-webkit-details-marker{display:none;}
.pend-grupo>summary::before{content:'▾';color:var(--tinta-suave);font-size:11px;transition:transform .15s;}
.pend-grupo:not([open])>summary::before{transform:rotate(-90deg);}
.pend-qtd{background:var(--cinza-bg);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;color:var(--tinta-suave);}
.pend-grupo-corpo{display:grid;gap:8px;}
.pend-item .txt{min-width:0;}
.pend-item .txt small{display:block;color:var(--tinta-suave);margin-top:2px;}
.pend-prazo{flex-shrink:0;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;}
.pend-prazo.p-v{background:var(--vermelho-bg,#fee2e2);color:var(--vermelho,#b91c1c);}
.pend-prazo.p-a{background:var(--amarelo-bg,#fef3c7);color:var(--amarelo,#b45309);}
.pend-prazo.p-b{background:var(--azul-50);color:var(--azul-600);}
.ativ-prog-wrap{margin:0 0 12px;}
.ativ-prog{height:8px;border-radius:999px;background:var(--cinza-bg);overflow:hidden;}
.ativ-prog>div{height:100%;background:var(--azul-600);border-radius:999px;transition:width .25s;}
#filtro-atividades-periodo{display:none;}
.ativ-sep{display:inline-block;width:1px;height:22px;background:var(--linha);margin:0 6px;vertical-align:middle;}
.ativ-lista{display:grid;gap:8px;}
.ativ-item{border:1.5px solid var(--linha);border-radius:12px;padding:11px 14px;display:flex;gap:12px;align-items:flex-start;background:var(--branco);}
.ativ-item input[type=checkbox]{width:18px;height:18px;margin-top:3px;flex-shrink:0;}
.ativ-ico{font-size:22px;line-height:1.2;}
.ativ-corpo{flex:1;min-width:0;}
.ativ-tit{font-weight:700;color:var(--tinta);}
.ativ-emp{font-weight:600;}
.ativ-acao{margin-top:5px;font-size:12.5px;}
.ativ-item.feito{opacity:.55;background:var(--cinza-bg);}
.ativ-item.feito .ativ-tit{text-decoration:line-through;}
.ativ-regra{margin-top:6px;font-size:12.5px;}
.ativ-regra>summary{cursor:pointer;color:var(--azul-600);font-weight:600;}
.ativ-regra>div{margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--azul-50);}

/* ===== FONTE ÚNICA: Poppins em todo o sistema (botões, campos, tabelas, modais e impressão) ===== */
html,body,button,input,select,textarea,table,th,td,label,option,summary,details,.btn,.badge,.modal,.toast{font-family:'Poppins',system-ui,-apple-system,sans-serif;}
code,kbd,pre,samp{font-family:'Poppins',system-ui,sans-serif;}
@media print{*{font-family:'Poppins',system-ui,sans-serif !important;}}

/* ===== CBO: busca e autocomplete ===== */
.cbo-dd{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--branco);border:1px solid var(--linha);border-radius:12px;box-shadow:0 12px 30px rgba(8,18,46,.18);max-height:300px;overflow:auto;padding:4px;}
.cbo-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:13px;}
.cbo-item:hover{background:var(--azul-50);}
.cbo-item>div{flex:1;min-width:0;}
.cbo-cod{color:var(--azul-600);min-width:62px;}
.cbo-mais{padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--azul-600);cursor:pointer;border-top:1px solid var(--linha);margin-top:4px;}
.cbo-mais:hover{background:var(--azul-50);border-radius:9px;}

/* ===== Editor de jornada semanal: campos de hora limpos ===== */
.jornada-ed table{border-collapse:separate;border-spacing:0;}
.jornada-ed th{font-size:11px;letter-spacing:.04em;white-space:nowrap;padding:10px 8px;text-align:center;}
.jornada-ed th:nth-child(2){text-align:left;}
.jornada-ed td{padding:6px 8px;text-align:center;}
.jornada-ed td.cel-principal{text-align:left;font-weight:600;}
.jornada-ed td:last-child,.jornada-ed th:last-child{border-left:0 !important;box-shadow:none !important;position:static !important;}
.jornada-ed input[type=text]{width:116px;height:36px;padding:0 8px;border:1px solid var(--linha);border-radius:8px;background:var(--branco);font-family:inherit;font-size:13.5px;font-weight:500;color:var(--texto,#1b2540);text-align:center;transition:border-color .15s,box-shadow .15s;}
.jornada-ed input[type=text]:hover:not(:disabled){border-color:var(--azul-300,#9db6f2);}
.jornada-ed input[type=text]:focus{outline:none;border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(37,99,235,.15);}
.jornada-ed input[type=text]:disabled{background:transparent;border-color:transparent;opacity:.45;}
.jornada-ed input[type=checkbox]{width:17px;height:17px;accent-color:var(--azul-600);cursor:pointer;}
.jornada-ed tr:has(input[id$="-ativo"]:not(:checked)) td.cel-principal{color:var(--cinza-500,#8a94ab);font-weight:500;}
.jornada-ed tbody tr:hover{background:var(--azul-50);}

/* Risco: opção de ignorar estagiários */
.rk-ignorar{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px dashed var(--linha,#e2e8f0);border-radius:12px;background:var(--branco,#fff);cursor:pointer;font-size:13px;}
.rk-ignorar input{margin-top:3px;width:16px;height:16px;flex:none;} .rk-ignorar small{display:block;margin-top:2px;font-size:12px;color:var(--tinta-suave,#64748b);font-weight:400;}

/* ===== Avaliação da experiência ===== */
.av-ctx{border:1px solid var(--linha,#e2e8f0);border-radius:12px;padding:12px 14px;background:var(--fundo-suave,#f8fafc);}
.av-ctx-nome{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;} .av-ctx-nome small{color:var(--tinta-suave,#64748b);font-size:12px;}
.av-ctx-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.av-ctx-grade span{display:block;font-size:11px;color:var(--tinta-suave,#64748b);text-transform:uppercase;letter-spacing:.03em;} .av-ctx-grade b{font-size:13px;}
.av-barra{height:6px;border-radius:99px;background:var(--linha,#e2e8f0);margin-top:12px;overflow:hidden;} .av-barra i{display:block;height:100%;background:var(--azul,#2563eb);border-radius:99px;}
.av-ant{margin-top:12px;padding:8px 10px;border-radius:8px;background:rgba(37,99,235,.08);font-size:12.5px;}
.av-comp{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--linha,#e2e8f0);}
.av-comp-t{flex:1 1 240px;display:flex;flex-direction:column;gap:2px;} .av-comp-t small{font-size:12px;color:var(--tinta-suave,#64748b);}
.av-notas{display:flex;gap:6px;flex-wrap:wrap;}
.av-n{min-width:38px;height:36px;padding:0 10px;border:1px solid var(--linha,#cbd5e1);border-radius:10px;background:var(--branco,#fff);color:inherit;font-weight:600;cursor:pointer;font-size:13px;}
.av-n:hover{border-color:var(--azul,#2563eb);} .av-n.on{background:var(--azul,#2563eb);border-color:var(--azul,#2563eb);color:#fff;}
.av-n.av-na{font-weight:400;font-size:12px;} .av-n.av-na.on{background:#64748b;border-color:#64748b;}
.av-resumo{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--fundo-suave,#f1f5f9);font-size:13px;}
.av-aviso{padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:12px;} .av-aviso-azul{background:rgba(37,99,235,.1);} .av-aviso-amarelo{background:rgba(245,158,11,.15);}
.av-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;} .av-cards .fb-card{margin-bottom:0;}
.av-leitura{padding:10px 12px;border:1px solid var(--linha,#e2e8f0);border-radius:10px;font-size:13px;line-height:1.5;background:var(--fundo-suave,#f8fafc);}
[data-tema="escuro"] .av-ctx,[data-theme="dark"] .av-ctx,[data-tema="escuro"] .av-resumo,[data-theme="dark"] .av-resumo,[data-tema="escuro"] .av-leitura,[data-theme="dark"] .av-leitura{background:rgba(255,255,255,.05);}
@media(max-width:640px){.av-n{min-width:44px;height:42px;}}
