/* ─── CIDI · busca rápida na abertura de demanda ─────────────────────────────
   Arquivo próprio, carregado depois do app.css. Mantido separado de propósito:
   o app.css tem uma chave "{" sem fechamento, e regras anexadas ao fim dele
   acabam engolidas por essa regra aberta e nunca são aplicadas.
   ────────────────────────────────────────────────────────────────────────── */
.cbx{position:relative}
.cbx-input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;background:#fbfeff;color:var(--text);text-overflow:ellipsis;border-style:dashed;border-color:var(--accent)}
.cbx-input:focus{outline:0;border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px rgba(53,191,234,.18)}
.cbx-input::placeholder{color:var(--muted);opacity:1}
.cbx-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.cbx-item{padding:10px 12px;border-radius:12px;cursor:pointer}
.cbx-item+.cbx-item{margin-top:2px}
.cbx-item:hover,.cbx-item.is-active{background:var(--soft)}
.cbx-label{display:block;font-weight:700;color:var(--text);font-size:14px}
.cbx-sub{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.cbx-empty{padding:12px;color:var(--muted);font-size:13px;text-align:center}
.cbx-search{margin:0 0 4px}
.cbx-search>label{display:block;margin-bottom:6px}
.cbx-hint{display:block;color:var(--muted);font-size:12px;margin-top:6px}
@media(max-width:560px){.cbx-list{max-height:260px}}

/* ── Filtro de listas do admin ─────────────────────────────────────────── */
.list-search{margin:6px 0 26px}
.list-search>label{display:block;margin-bottom:6px;font-weight:800;color:var(--primary)}
.list-search input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;background:#fbfeff;color:var(--text);border-style:dashed;border-color:var(--accent)}
.list-search input:focus{outline:0;border-style:solid;box-shadow:0 0 0 3px rgba(53,191,234,.18)}
.list-search input::placeholder{color:var(--muted);opacity:1}
/* display:grid/flex nas linhas vence o atributo hidden — daí a classe */
.is-filtrado{display:none!important}
.list-empty{padding:26px;text-align:center;color:var(--muted);font-size:14px}

/* ── Painel "Membros do grupo" ─────────────────────────────────────────── */
.membros-painel{background:var(--soft);border:1px solid var(--border);border-radius:18px;padding:16px 18px;margin:0 0 18px}
.membros-painel-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.membros-painel-topo strong{color:var(--primary);font-size:15px}
.membros-aviso{background:#fff4d8;color:#8a6400;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}
.membros-chips{display:flex;flex-wrap:wrap;gap:8px}
.membros-chips>p{margin:0}
.membro-chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px 8px 8px 12px;max-width:100%}
.membro-chip-dados{display:flex;flex-direction:column;min-width:0}
.membro-chip-dados strong{color:var(--text);font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.membro-chip-dados small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.membro-chip-remover{border:0;background:#eef6fa;color:var(--muted);width:24px;height:24px;flex:0 0 24px;border-radius:50%;font-size:15px;line-height:1;cursor:pointer;padding:0}
.membro-chip-remover:hover{background:#ffe7e5;color:#9d2924}
@media(max-width:560px){.membro-chip{width:100%}}

/* ── Central de ajuda ──────────────────────────────────────────────────── */
.ajuda-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;margin-top:18px}
.ajuda-item{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;scroll-margin-top:110px}
.ajuda-item:target{border-color:var(--accent);box-shadow:0 0 0 3px rgba(53,191,234,.18)}
.ajuda-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.ajuda-topo h3{margin:0;color:var(--primary);font-size:16px}
.ajuda-video{width:100%;border-radius:14px;background:#000;margin-top:14px;display:block;aspect-ratio:16/9}
.ajuda-embreve{margin-top:14px;border:1px dashed var(--border);border-radius:14px;background:var(--soft);
               padding:26px 18px;text-align:center;display:grid;gap:4px}
.ajuda-embreve strong{color:var(--primary);font-size:14px}
.ajuda-embreve span{color:var(--muted);font-size:12.5px}
.ajuda-passos{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.ajuda-passos summary{cursor:pointer;font-weight:800;color:var(--primary);font-size:13.5px}
.ajuda-passos ol{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.ajuda-passos li{font-size:13.5px;color:var(--text);line-height:1.5}

/* botão fixo "Precisa de ajuda?" — presente em todas as telas autenticadas */
.ajuda-flutuante{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:9px;
                 background:var(--primary);color:#fff;border-radius:999px;padding:13px 20px;font-weight:800;
                 font-size:14px;box-shadow:0 10px 28px rgba(0,43,73,.28);text-decoration:none;border:0;cursor:pointer}
.ajuda-flutuante:hover{background:var(--primary-2)}
.ajuda-flutuante .ajuda-icone{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;
                              background:var(--button);color:var(--primary);font-size:13px;font-weight:900;flex:0 0 20px}
@media(max-width:560px){
  .ajuda-flutuante{right:14px;bottom:14px;padding:12px 16px;font-size:13px}
  .ajuda-flutuante .rotulo-longo{display:none}
}
@media print{.ajuda-flutuante{display:none}}

/* ── Tour guiado ───────────────────────────────────────────────────────── */
/* o "buraco de luz": escurece o resto da tela com uma sombra gigante.
   pointer-events:none de propósito — a pessoa continua podendo usar o campo
   destacado enquanto o tour explica. */
.tour-foco{position:fixed;z-index:1000;border-radius:14px;pointer-events:none;
           box-shadow:0 0 0 9999px rgba(3,22,36,.62),0 0 0 3px var(--accent);
           transition:all .22s ease}
.tour-balao{position:fixed;z-index:1001;width:min(360px,calc(100vw - 28px));background:#fff;
            border-radius:18px;box-shadow:0 18px 46px rgba(0,43,73,.34);padding:18px 20px 16px;
            transition:top .22s ease,left .22s ease}
.tour-balao:focus{outline:0}
.tour-balao-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.tour-conta{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.tour-sair{border:0;background:transparent;color:var(--muted);font-size:12.5px;font-weight:700;
           cursor:pointer;padding:4px 6px;border-radius:8px}
.tour-sair:hover{background:#eef6fa;color:var(--primary)}
.tour-balao h3{margin:0 0 6px;color:var(--primary);font-size:16px;line-height:1.3}
.tour-balao p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}
.tour-acoes{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.tour-acoes .btn[disabled]{opacity:.45;cursor:not-allowed}
body.tour-ativo{overflow-x:hidden}
/* selo de "novidade" no botão, some depois que a pessoa faz o tour uma vez */
.tour-gatilho--novo::after{content:"novo";margin-left:7px;background:var(--button);color:var(--primary);
                           border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;
                           letter-spacing:.04em;text-transform:uppercase}
@media (prefers-reduced-motion: reduce){
  .tour-foco,.tour-balao{transition:none}
}
@media print{.tour-foco,.tour-balao{display:none}}

/* chamada de ajuda dentro de uma tela (ex.: abertura de demanda) */
.ajuda-dica{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--soft);
            border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 14px 14px 0;
            padding:11px 16px;margin:0 0 16px;font-size:13.5px;color:var(--text)}
.ajuda-dica a{font-weight:800;color:var(--primary);text-decoration:underline}

/* ── Anexos com foto ───────────────────────────────────────────────────── */
.anexos-painel{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.anexo-chip{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:14px;
            padding:8px 10px;background:#fff}
.anexo-mini{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:10px;background:#eef6fa}
.anexo-dados{display:flex;flex-direction:column;min-width:0;flex:1}
.anexo-dados strong{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anexo-dados small{font-size:11.5px;color:var(--muted)}
.anexo-remover{border:0;background:#eef6fa;color:var(--muted);width:26px;height:26px;flex:0 0 26px;
               border-radius:50%;font-size:16px;line-height:1;cursor:pointer;padding:0}
.anexo-remover:hover{background:#ffe7e5;color:#9d2924}
.anexos-total{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.anexos-total.is-excedido{color:#9d2924;font-weight:800}

/* ── Leitura do XML da nota fiscal ─────────────────────────────────────── */
.nfe-bloco{border:1px dashed var(--accent);border-radius:16px;background:#fbfeff;padding:16px 18px;margin:0 0 18px}
.nfe-bloco>label{display:block;font-weight:800;color:var(--primary);margin-bottom:4px}
.nfe-bloco .nfe-ajuda{display:block;color:var(--muted);font-size:12.5px;margin:0 0 10px}
.nfe-resumo{margin-top:14px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:14px 16px}
.nfe-topo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.nfe-topo strong{color:var(--primary);font-size:14px}
.nfe-topo small{color:var(--muted);font-size:11.5px}
.nfe-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 18px}
.nfe-linha{display:flex;flex-direction:column;gap:1px;min-width:0}
.nfe-rot{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.nfe-val{font-size:14px;color:var(--text);word-break:break-word}
.nfe-linha.is-destaque .nfe-val{color:var(--primary);font-size:18px}
.nfe-parcelas{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px}
.nfe-parcela{font-size:13px;color:var(--text)}
.nfe-chave{margin:12px 0 0;font-size:11.5px;color:var(--muted);word-break:break-all;letter-spacing:.02em}
.nfe-alerta{margin:0 0 10px;background:#fff4d8;color:#8a6400;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}
.nfe-acoes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}

.nfe-ok{font-size:13px;font-weight:800;color:var(--green)}
