/* Módulo Integrações — estilo do CRM (creme, bordas #EDE3D7, Inter).
   Regra visual: NENHUMA barra/faixa colorida na lateral de elementos (seleção = fundo + borda inteira). */

.int-topo { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.int-sub { color:#5C5C5C; margin:0; font-size:.9rem; }

.int-chave { display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-weight:600; color:#1A1A1A; user-select:none; padding-top:6px; }
.int-chave input { position:absolute; opacity:0; width:1px; height:1px; }
.int-chave-trilho { width:40px; height:22px; border-radius:999px; background:#CFC4B6; position:relative; transition:background .15s; flex:none; }
.int-chave-bola { position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#FFFFFF; transition:left .15s; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.int-chave input:checked + .int-chave-trilho { background:#3F7A1F; }
.int-chave input:checked + .int-chave-trilho .int-chave-bola { left:21px; }
.int-chave input:focus-visible + .int-chave-trilho { outline:2px solid #1A5A8A; outline-offset:2px; }

.int-aviso { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; padding:16px 18px; color:#1A1A1A; font-size:.92rem; line-height:1.5; }

.int-abas { display:flex; align-items:center; gap:4px; border-bottom:1px solid #E2D5C2; margin-bottom:10px; }
.int-aba { background:none; border:1px solid transparent; border-bottom:none; border-radius:10px 10px 0 0; padding:8px 14px; font:inherit; font-weight:600;
           font-size:.9rem; color:#5C5C5C; cursor:pointer; margin-bottom:-1px; }
.int-aba:hover { color:#1A1A1A; }
.int-aba.ativa { background:#FFFFFF; border-color:#E2D5C2; color:#1A1A1A; }
.int-conta { display:inline-block; min-width:22px; padding:1px 7px; border-radius:999px; background:#F4ECDF; color:#1A1A1A; font-size:.75rem; margin-left:4px; text-align:center; }
.int-aba.ativa .int-conta { background:#B8321F; color:#FFFFFF; }

.int-barra { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.int-campo { height:32px; border:1px solid #D9CCBA; border-radius:8px; background:#FFFFFF; padding:0 10px; font:inherit; font-size:.86rem; color:#1A1A1A; }
.int-campo:focus { outline:2px solid #1A5A8A; outline-offset:0; }
.int-busca { width:220px; }
.int-total { color:#5C5C5C; font-size:.82rem; }
.int-sel { font-weight:600; font-size:.85rem; }
.int-erro { color:#A12A1C; }

.int-btn { height:32px; border-radius:8px; padding:0 14px; font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; border:1px solid transparent; white-space:nowrap; }
.int-btn:disabled { opacity:.55; cursor:default; }
.int-btn:focus-visible { outline:2px solid #1A5A8A; outline-offset:2px; }
.int-btn.pri { background:#B8321F; color:#FFFFFF; }
.int-btn.pri:hover:not(:disabled) { background:#9C2A1A; }
.int-btn.sec { background:#FFFFFF; color:#1A1A1A; border-color:#D9CCBA; }
.int-btn.sec:hover:not(:disabled) { background:#F4ECDF; }
.int-btn.lnk { background:none; border:none; color:#1A5A8A; padding:0 4px; height:auto; text-decoration:underline; }
.int-btn.ico { width:32px; padding:0; background:#FFFFFF; border-color:#D9CCBA; color:#1A1A1A; font-size:1.05rem; line-height:1; }

.int-lista { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; overflow:auto; max-height:calc(100vh - 290px); min-height:180px; }
.int-tabela { width:100%; border-collapse:collapse; font-size:.86rem; }
.int-tabela th { position:sticky; top:0; background:#F4ECDF; text-align:left; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; color:#4A4A4A;
                 padding:8px 10px; border-bottom:1px solid #E2D5C2; z-index:1; }
.int-tabela td { padding:0 10px; height:36px; border-bottom:1px solid #F1E8DC; vertical-align:middle; }
.int-tabela tbody tr:hover { background:#FBF7F1; }
.int-tabela tbody tr.sel { background:#F6EBDD; }
.col-chk { width:34px; }
.col-cnpj { width:150px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.col-local { width:170px; }
.col-num { width:64px; text-align:center; }
.col-data { width:92px; white-space:nowrap; color:#4A4A4A; }
.col-acao { width:80px; text-align:right; }
.col-nome { max-width:360px; }
.int-nome { font-weight:600; display:inline-block; max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; }
.int-vazio { color:#5C5C5C; padding:22px 12px !important; height:auto !important; }
.int-origem { max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8rem; color:#4A4A4A; }
.int-decisoes { font-size:.82rem; }

.int-tag { display:inline-block; margin-left:6px; padding:1px 8px; border-radius:999px; font-size:.7rem; font-weight:700; vertical-align:middle; }
.int-tag.contrato { background:#DDEAC1; color:#2F4A18; }

/* Selo da fonte: fundo claro + texto escuro (contraste AA) */
.selo { display:inline-block; padding:1px 7px; border-radius:6px; font-size:.7rem; font-weight:700; margin-right:4px; white-space:nowrap; color:#1A1A1A; background:#ECE6DD; border:1px solid rgba(0,0,0,.06); }
.selo.atual  { background:#FFFFFF; border-color:#CFC4B6; color:#4A4A4A; }
.selo.outro  { background:#FFFFFF; border-color:#1A5A8A; color:#1A5A8A; }
.selo.f1 { background:#E3EFD3; } /* MAPA/SIF */
.selo.f2 { background:#DCE8F5; } /* Receita */
.selo.f3 { background:#F8E3D6; } /* Portal */
.selo.f4 { background:#EDE0F3; } /* Mercado */
.selo.f5 { background:#FFF0C2; } /* NFS-e */
.selo.f6 { background:#D7F0EC; } /* Eventos */
.selo.f7 { background:#F1E4E8; } /* Enriquecimento */
.selo.f8 { background:#E6E6E6; } /* Correções */
.selo.f9 { background:#E8EEF0; } /* Omie */
.selo.f10 { background:#FCE8D2; } /* Google Analytics */
.selo.f11 { background:#E2ECFB; } /* RD Station */
.selo.f12 { background:#E4F3E1; } /* Portal e newsletter */

/* ── Balão ── cabe inteiro em 1366×768 (≈1280×650 úteis): rolagem só no corpo */
.int-fundo { position:fixed; inset:0; background:rgba(26,26,26,.45); z-index:1400; }
.int-balao { position:fixed; z-index:1401; left:50%; top:50%; transform:translate(-50%,-50%);
             width:min(1240px, calc(100vw - 32px)); height:min(640px, calc(100vh - 24px));
             background:#FFFFFF; border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,.25);
             display:flex; flex-direction:column; overflow:hidden; }
.int-balao-cab { display:flex; align-items:center; gap:12px; padding:0 14px 0 18px; height:52px; flex:none; border-bottom:1px solid #EDE3D7; background:#FAF5EF; }
.int-balao-tit { display:flex; align-items:center; gap:10px; min-width:0; flex:1; }
.int-balao-tit h2 { font-size:1.05rem; font-weight:700; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-tipo { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#4A4A4A; white-space:nowrap; }
.int-cnpj { font-size:.85rem; color:#4A4A4A; font-variant-numeric:tabular-nums; white-space:nowrap; }
.int-nav { display:flex; align-items:center; gap:6px; font-size:.85rem; color:#4A4A4A; white-space:nowrap; }

.int-balao-corpo { flex:1; min-height:0; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding:8px 16px; align-content:start; }
.int-col { display:flex; flex-direction:column; min-width:0; }
.int-campo-linha { display:grid; grid-template-columns:118px minmax(0,1fr); gap:8px; padding:3px 0; border-bottom:1px solid #F1E8DC; }
.int-rotulo { font-size:.78rem; font-weight:700; color:#4A4A4A; line-height:30px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-campo-linha.tem-opcoes .int-rotulo { color:#1A1A1A; }
.int-opcoes { display:flex; flex-direction:column; gap:2px; min-width:0; }
.int-op { display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; border-radius:7px; border:1px solid transparent; cursor:pointer; min-width:0; font-size:.86rem; }
.int-op:hover { background:#FBF7F1; }
.int-op.sel { background:#EEF4FA; border-color:#9DB8D3; }
.int-op input[type=radio] { margin:0; accent-color:#1A5A8A; flex:none; }
.int-valor { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.int-valor.vazio { color:#6B6B6B; font-style:italic; }
.int-data { font-size:.72rem; color:#4A4A4A; white-space:nowrap; font-variant-numeric:tabular-nums; }
.int-outro-btn { font-size:.76rem; flex:none; }
.int-outro { flex:1; min-width:0; height:26px; border:1px solid #9DB8D3; border-radius:6px; padding:0 8px; font:inherit; font-size:.86rem; background:#FFFFFF; }

.int-balao-rod { display:flex; align-items:center; gap:8px; padding:0 16px; height:56px; flex:none; border-top:1px solid #EDE3D7; background:#FAF5EF; position:relative; }
.int-dica { font-size:.76rem; color:#4A4A4A; }
.int-vincular { position:relative; display:flex; align-items:center; }
.int-vincular .int-campo { width:300px; }
.int-resultados { position:absolute; bottom:40px; right:0; width:420px; max-height:260px; overflow:auto; margin:0; padding:4px; list-style:none;
                  background:#FFFFFF; border:1px solid #D9CCBA; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.15); }
.int-resultados li .int-btn { display:block; width:100%; text-align:left; padding:6px 8px; text-decoration:none; color:#1A1A1A; }
.int-resultados li .int-btn:hover { background:#F4ECDF; }
.int-nada { padding:8px 10px; color:#4A4A4A; font-size:.84rem; }
.int-balao:focus { outline:none; }
.int-resultados small { color:#4A4A4A; margin-left:6px; }

/* Ligar/desligar todas + chave por fonte */
.int-topo-acoes { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.int-topo-acoes .int-chave { padding-top:0; }
.int-chave.mini { padding-top:0; }
.int-chave.mini .int-chave-trilho { width:34px; height:18px; }
.int-chave.mini .int-chave-bola { width:12px; height:12px; }
.int-chave.mini input:checked + .int-chave-trilho .int-chave-bola { left:19px; }
.int-chave input:disabled + .int-chave-trilho { opacity:.5; }
.col-ligada { width:64px; }
.int-confirma { position:fixed; z-index:1402; left:50%; top:50%; transform:translate(-50%,-50%); width:min(560px, calc(100vw - 32px));
                max-height:calc(100vh - 32px); overflow:auto; background:#FFFFFF; border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,.25); padding:18px 20px; }
.int-confirma h2 { font-size:1.05rem; margin:0 0 8px; }
.int-confirma p { font-size:.9rem; color:#1A1A1A; line-height:1.5; margin:0 0 10px; }
.int-confirma-lista { list-style:none; margin:0 0 14px; padding:0; font-size:.86rem; display:flex; flex-direction:column; gap:5px; }
.int-confirma-rod { display:flex; justify-content:flex-end; gap:8px; }

/* ── Balão v6 "Atual × Proposta consolidada" (card de revisão, recomendação do COO) ──
   Linha que pede decisão = fundo creme na linha inteira; linha ativa (J/K) = contorno inteiro. Nunca faixa lateral. */
.int-balao { height:min(660px, calc(100vh - 24px)); }
.int-balao-cab { height:58px; }
.int-ini { width:34px; height:34px; border-radius:8px; background:#F4ECDF; border:1px solid #E2D5C2; display:inline-flex; align-items:center; justify-content:center;
           font-size:.78rem; font-weight:700; color:#4A4A4A; flex:none; }
.int-tit-txt { min-width:0; display:flex; flex-direction:column; gap:1px; }
.int-tit-l1 { display:flex; align-items:center; gap:8px; min-width:0; }
.int-tit-l2 { font-size:.78rem; color:#4A4A4A; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-tag.atu { background:#E3ECF6; color:#1A3F66; margin-left:0; }
.int-tag.nova { background:#DDEAC1; color:#2F4A18; margin-left:0; }
.int-tag.criada { background:#DDEAC1; color:#2F4A18; }
.int-decididos { font-size:.8rem; color:#4A4A4A; margin-right:6px; }
.int-decididos strong { color:#2F5E16; }
.int-faixa-fontes { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; overflow:hidden; padding:5px 16px; font-size:.74rem; color:#4A4A4A;
                    border-bottom:1px solid #EDE3D7; flex:none; white-space:nowrap; }
.int-chip { display:inline-flex; align-items:center; gap:4px; border:1px solid #E2D5C2; border-radius:6px; padding:1px 6px 1px 2px; background:#FFFFFF; }
.int-chip .selo { margin-right:0; }
.int-parecida { overflow:hidden; text-overflow:ellipsis; }
.int-parecida .int-btn.lnk { font-size:.74rem; }
.int-regra { display:flex; align-items:flex-start; gap:8px; padding:6px 16px; font-size:.78rem; color:#1A1A1A; flex:none; line-height:1.35; }
.int-i { width:16px; height:16px; border-radius:50%; border:1.5px solid #4A4A4A; display:inline-flex; align-items:center; justify-content:center;
         font-size:.66rem; font-weight:700; color:#4A4A4A; flex:none; margin-top:1px; font-style:normal; }
.int-regra .int-btn.lnk { white-space:nowrap; font-size:.78rem; font-weight:600; text-decoration:none; }
.int-corpo-tabela { display:block; padding:0 16px 6px; }
.int-ficha { width:100%; border-collapse:separate; border-spacing:0; font-size:.84rem; table-layout:fixed; }
.int-ficha th { position:sticky; top:0; z-index:1; background:#FAF5EF; text-align:left; font-size:.74rem; font-weight:600; color:#4A4A4A; padding:6px 8px;
                border-bottom:1px solid #E2D5C2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-ficha td { padding:0 8px; height:31px; border-bottom:1px solid #F1E8DC; vertical-align:middle; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-ficha .c-campo { width:132px; color:#1A1A1A; }
.int-ficha .c-atual { width:27%; color:#1A1A1A; }
.int-ficha .c-atual.cand { color:#5C5C5C; }
.int-ficha .c-atual.riscado { text-decoration:line-through; color:#6B6B6B; }
.int-ficha .c-dec { width:262px; }
.int-ficha .c-chk { width:34px; }
.int-ficha tr.diverge td { background:#FDF6EA; }
.int-ficha tr.diverge .c-campo { font-weight:700; }
.int-ficha tr.ativa td { box-shadow:inset 0 1px 0 #9DB8D3, inset 0 -1px 0 #9DB8D3; }
.int-ficha tr.ativa td:first-child { box-shadow:inset 1px 1px 0 #9DB8D3, inset 0 -1px 0 #9DB8D3; }
.int-ficha tr.ativa td:last-child { box-shadow:inset -1px 1px 0 #9DB8D3, inset 0 -1px 0 #9DB8D3; }
.int-ficha tr.marcada td { background:#F6FAF1; }
.int-pval { font-weight:700; margin-right:8px; }
.int-pval.apagado { font-weight:400; color:#6B6B6B; }
.int-meta { font-size:.74rem; color:#4A4A4A; }
.int-igual { color:#2F5E16; font-size:.82rem; }
.int-nenhuma { color:#6B6B6B; font-size:.82rem; }
.int-seg { display:inline-flex; border:1px solid #CFC4B6; border-radius:7px; overflow:hidden; vertical-align:middle; }
.int-seg button { height:24px; padding:0 10px; border:none; background:#FFFFFF; font:inherit; font-size:.78rem; font-weight:600; color:#1A1A1A; cursor:pointer; }
.int-seg button + button { border-left:1px solid #CFC4B6; }
.int-seg button.on { background:#22324A; color:#FFFFFF; }
.int-seg button:focus-visible { outline:2px solid #1A5A8A; outline-offset:-2px; }
.int-outra { font-size:.78rem; margin-left:6px; text-decoration:none !important; font-weight:600; }
.int-outra.aberta { color:#1A1A1A; }
.int-ficha tr.int-outras td { height:auto; padding:4px 8px 6px; white-space:normal; background:#FBF7F1; }
.int-outras-lista { display:flex; flex-direction:column; gap:2px; }
.int-outras-lista .int-op { height:28px; }
.int-outras-lista kbd, .int-dica kbd { display:inline-block; min-width:16px; padding:0 4px; border:1px solid #CFC4B6; border-bottom-width:2px; border-radius:4px;
                                        background:#FFFFFF; font:600 .68rem/1.4 inherit; color:#4A4A4A; text-align:center; }
.int-dica { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }

/* ── Lotes: a fila agrupada por tipo de mudança (05/10/2026). Cor só no número e no selo; nunca faixa lateral. ── */
.int-vistas button { height:30px; }
.int-resumo { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.int-rc { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; padding:10px 14px; min-width:150px; }
.int-rc b { display:block; font-size:22px; font-weight:800; line-height:1.1; color:#1A1A1A; }
.int-rc span { font-size:.78rem; color:#5C5C5C; }
.int-rc b.ok { color:#3F7A1F; } .int-rc b.warn { color:#8F5600; } .int-rc b.bad { color:#A12A1C; } .int-rc b.mut { color:#9A8F84; font-size:16px; padding-top:4px; }
.int-lote { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; margin-bottom:10px; }
.int-lote-cab { display:flex; gap:14px; align-items:center; padding:12px 16px; cursor:pointer; }
.int-lote-cab:hover { background:#FBF7F1; border-radius:12px; }
.int-lote-num { font-size:26px; font-weight:800; min-width:64px; text-align:right; letter-spacing:-.01em; }
.int-lote-num.ok { color:#3F7A1F; } .int-lote-num.warn { color:#8F5600; } .int-lote-num.bad { color:#A12A1C; } .int-lote-num.mut { color:#9A8F84; }
.int-lote-tx { min-width:0; flex:1; }
.int-lote-tx b { display:block; font-size:15px; }
.int-lote-tx span { color:#5C5C5C; font-size:.84rem; }
.int-lote-dir { margin-left:auto; display:flex; gap:10px; align-items:center; flex-shrink:0; }
.int-lote-corpo { border-top:1px solid #EDE3D7; max-height:440px; overflow:auto; }
.int-lote-corpo .int-tabela td { height:auto; padding:7px 10px; vertical-align:top; }
.int-lote-corpo tr.off td { color:#9A8F84; }
.int-lote-corpo tr.off td b { color:#9A8F84; }
.int-lote-ante { display:flex; gap:16px; padding:10px 16px; border-top:1px solid #EDE3D7; background:#FBF7F1; font-size:.84rem; color:#5C5C5C; border-radius:0 0 12px 12px; }
.int-lote-ante b { color:#1A1A1A; }
.int-sub { font-size:.78rem; color:#5C5C5C; }
.int-de { color:#9A8F84; text-decoration:line-through; }
.int-seta { color:#9A8F84; padding:0 4px; }
.int-lote-corpo .int-btn.lnk { text-decoration:none; color:#1A1A1A; font-weight:600; padding:0; }
.int-lote-corpo .int-btn.lnk:hover { color:#D94030; }

/* contexto no balão: alerta (fundo inteiro, sem faixa lateral) e fatos das fontes */
.int-alerta { padding:6px 16px; font-size:.8rem; background:#F8E1DC; color:#A12A1C; border-bottom:1px solid #F0C9C2; flex:none; }
.int-fatos { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; overflow:hidden; padding:4px 16px; font-size:.74rem; color:#4A4A4A;
             border-bottom:1px solid #EDE3D7; flex:none; white-space:nowrap; }
.int-fatos .int-chip { max-width:360px; overflow:hidden; text-overflow:ellipsis; }

/* ── Triagem (lista + ficha lado a lado) e Planilha — 05/10/2026, mockup aprovado pelo COO. Cor só em número, selo e fundo inteiro. ── */
.int-filtros { display:flex; gap:6px; flex-wrap:wrap; }
.int-chip { border:1px solid #D9CCBA; background:#FFFFFF; border-radius:999px; padding:3px 11px; font:inherit; font-size:.8rem; font-weight:500; color:#4A4A4A; white-space:nowrap; cursor:pointer; }
.int-chip.on { background:#1A1A1A; color:#FFFFFF; border-color:#1A1A1A; }
.int-chip b { font-weight:700; }
.int-fwrap { position:relative; display:inline-block; }
.int-fpop { position:absolute; top:30px; left:0; z-index:40; width:260px; background:#FFFFFF; border:1px solid #D9CCBA; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.14); padding:10px 12px; display:flex; flex-direction:column; gap:10px; font-size:.82rem; }
.int-fgrupo { display:flex; flex-direction:column; gap:4px; }
.int-fgrupo b { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:#5C5C5C; }
.int-fgrupo label { display:flex; align-items:center; gap:6px; cursor:pointer; }
.int-fgrupo .int-campo { height:28px; }
.int-frod { flex-direction:row; justify-content:space-between; align-items:center; }
.int-mut { color:#5C5C5C; }
.int-tri { display:grid; grid-template-columns:300px 1fr; height:calc(100vh - 292px); min-height:440px; background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; overflow:hidden; }
.int-tri-lista { border-right:1px solid #EDE3D7; display:flex; flex-direction:column; min-height:0; }
.int-tri-lista .int-filtros { padding:10px; border-bottom:1px solid #EDE3D7; }
.int-tri-itens { overflow:auto; flex:1; }
.int-it { display:grid; grid-template-columns:1fr auto; gap:1px 8px; padding:8px 12px; border-bottom:1px solid #F1E8DC; cursor:pointer; }
.int-it:hover { background:#FBF7F1; }
.int-it.on { background:#F6EBDD; }
.int-it .n { font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-it .ci { color:#5C5C5C; font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-it .cont { grid-row:span 2; display:flex; gap:4px; align-items:center; }
.int-it.feito .n { color:#9A8F84; font-weight:500; }
.int-cnt { font-size:11px; font-weight:700; min-width:22px; text-align:center; padding:1px 5px; border-radius:6px; }
.int-cnt.f { color:#3F7A1F; background:#E3EFD3; } .int-cnt.d { color:#8F5600; background:#FFF0C2; } .int-cnt.x { color:#A12A1C; background:#F8E1DC; } .int-cnt.v { color:#3F7A1F; }
.int-tri-det { display:flex; flex-direction:column; min-height:0; min-width:0; background:#FAF5EF; }
.int-det-corpo { overflow:auto; flex:1; padding:16px 20px 20px; }
.int-dcab { display:flex; gap:14px; align-items:flex-start; margin-bottom:10px; }
.int-dcab h2 { margin:0; font-size:1.4rem; font-weight:700; line-height:1.2; }
.int-dcab .sub { color:#5C5C5C; margin-top:3px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:.88rem; }
.int-dcab .acoes { margin-left:auto; display:flex; gap:6px; flex-shrink:0; }
.int-evid { display:flex; gap:6px; flex-wrap:wrap; align-items:center; color:#5C5C5C; font-size:.8rem; margin:0 0 10px; }
.int-tri .int-alerta { border:1px solid #F0C9C2; border-radius:12px; margin-bottom:10px; padding:9px 14px; font-size:.86rem; }
.int-bloco { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; margin-bottom:12px; }
.int-bloco > h3 { margin:0; padding:9px 14px; font-size:.74rem; font-weight:700; color:#4A4A4A; display:flex; gap:8px; align-items:center; border-bottom:1px solid #EDE3D7; text-transform:uppercase; letter-spacing:.04em; background:#F4ECDF; border-radius:12px 12px 0 0; }
.int-bloco > h3 .int-mut { text-transform:none; letter-spacing:0; font-weight:500; }
.int-bloco > h3 .dir { margin-left:auto; }
.int-ajuda { color:#5C5C5C; font-size:.74rem; display:flex; gap:10px; flex-wrap:wrap; align-items:center; text-transform:none; letter-spacing:0; font-weight:500; }
.int-ajuda kbd, .int-det-rod kbd, .int-btn kbd { display:inline-block; min-width:16px; padding:0 4px; border:1px solid #CFC4B6; border-bottom-width:2px; border-radius:4px; background:#FFFFFF; font:600 .68rem/1.4 inherit; color:#4A4A4A; text-align:center; }
.int-btn.pri kbd { background:rgba(255,255,255,.18); color:#FFFFFF; border-color:rgba(255,255,255,.45); }
.int-dec { display:grid; grid-template-columns:120px 1fr; gap:8px 10px; padding:10px 14px; border-bottom:1px solid #EDE3D7; }
.int-dec:last-child { border-bottom:0; }
.int-dec.foco { background:#FBF7F1; }
.int-dec .rot { font-weight:600; padding-top:7px; }
.int-dec .rot small { display:block; font-weight:400; color:#5C5C5C; font-size:.74rem; }
.int-ops { display:flex; flex-wrap:wrap; gap:8px; }
.int-op { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:0; height:auto; text-align:left; border:1px solid #D9CCBA; background:#FFFFFF; border-radius:10px; padding:6px 10px 6px 26px; min-width:120px; max-width:340px; font:inherit; font-size:.86rem; line-height:1.35; color:#1A1A1A; cursor:pointer; }
.int-op:hover { border-color:#D94030; }
.int-op:disabled { cursor:default; opacity:.7; }
.int-op .v { display:block; font-weight:600; font-size:.9rem; word-break:break-word; }
.int-op .m { display:flex; gap:4px; align-items:center; flex-wrap:wrap; margin-top:3px; font-size:.72rem; color:#5C5C5C; }
.int-op .m .selo { margin-right:0; }
.int-op .k { position:absolute; left:8px; top:8px; font-size:10px; font-weight:700; color:#9A8F84; }
.int-op.on { border:2px solid #B8321F; background:#F6EBDD; padding:5px 9px 5px 25px; }
.int-op.on .k { color:#B8321F; top:7px; left:7px; }
.int-op.manter .v { font-weight:500; color:#5C5C5C; }
.int-op.manter.on .v { color:#1A1A1A; }
.int-op.outro { flex-direction:row; align-items:center; gap:6px; color:#5C5C5C; border-style:dashed; min-width:0; padding-left:10px; }
.int-op.outro.on { border-style:solid; }
.int-vazio-i { color:#9A8F84; font-style:italic; }
.int-al { grid-column:2; font-size:.8rem; color:#8F5600; }
.int-al.bad { color:#A12A1C; }
.int-pre { width:100%; border-collapse:collapse; font-size:.88rem; }
.int-pre td { padding:7px 14px; border-bottom:1px solid #F1E8DC; vertical-align:middle; }
.int-pre tr:last-child td { border-bottom:0; }
.int-pre td.c { width:34px; padding-right:0; }
.int-pre td.r { width:120px; font-weight:600; padding-right:0; }
.int-pre td.v { font-weight:500; }
.int-pre tr.off td.v { color:#9A8F84; text-decoration:line-through; }
.int-pre td.f { text-align:right; white-space:nowrap; color:#5C5C5C; font-size:.8rem; }
.int-cx { width:16px; height:16px; accent-color:#3F7A1F; vertical-align:middle; margin:0; }
.int-cont { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:8px; padding:10px 14px; }
.int-contc { display:flex; gap:8px; align-items:flex-start; border:1px solid #D9CCBA; border-radius:10px; padding:8px 10px; background:#FFFFFF; cursor:pointer; font-size:.88rem; }
.int-contc .int-cx { margin-top:3px; }
.int-contc .n { font-weight:600; }
.int-contc .x { font-size:.78rem; color:#5C5C5C; word-break:break-all; }
.int-contc.off { opacity:.55; }
.int-contc .int-ctf { display:flex; flex-wrap:wrap; gap:3px 2px; margin-top:4px; }
.int-contc .int-ctf .selo { font-weight:600; white-space:normal; }
.int-ctx { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); }
.int-ctxi { padding:10px 14px; border-bottom:1px solid #F1E8DC; border-right:1px solid #F1E8DC; min-width:0; }
.int-ctxi h4 { margin:0 0 4px; font-size:.74rem; font-weight:700; color:#5C5C5C; display:flex; gap:6px; align-items:center; }
.int-ctxi .l { font-size:.84rem; line-height:1.5; }
.int-par { display:flex; gap:8px; flex-wrap:wrap; padding:10px 14px; align-items:center; }
.int-parc { border:1px solid #D9CCBA; border-radius:10px; padding:8px 10px; background:#FFFFFF; min-width:220px; max-width:360px; display:flex; gap:10px; align-items:center; }
.int-parc .n { font-weight:600; }
.int-parc .x { font-size:.78rem; color:#5C5C5C; }
.int-parc .p { font-weight:800; font-size:15px; margin-left:auto; }
.int-parc .p.bad { color:#A12A1C; } .int-parc .p.warn { color:#8F5600; }
.int-vincular-solta { margin:0 0 12px; }
.int-tri .int-resultados { position:absolute; top:40px; right:auto; left:0; bottom:auto; }
.int-tri .int-vincular { position:relative; }
.int-det-rod { border-top:1px solid #EDE3D7; background:#FFFFFF; padding:10px 20px; display:flex; gap:8px; align-items:center; flex:none; }
.int-det-rod .res { color:#5C5C5C; font-size:.9rem; }
.int-det-rod .res b { color:#1A1A1A; }
.int-det-rod .dir { margin-left:auto; display:flex; gap:8px; align-items:center; }
.int-feito { padding:40px; text-align:center; color:#5C5C5C; }
.int-feito b { display:block; font-size:17px; color:#1A1A1A; margin-bottom:6px; }
.int-btn.sm { height:28px; padding:0 10px; font-size:.8rem; }
/* Planilha */
.int-pla { background:#FFFFFF; border:1px solid #EDE3D7; border-radius:12px; overflow:hidden; }
.int-pbar { display:flex; gap:10px; align-items:center; padding:10px 14px; border-bottom:1px solid #EDE3D7; flex-wrap:wrap; }
.int-pbar .dir { margin-left:auto; display:flex; gap:8px; align-items:center; }
.int-pwrap { overflow:auto; max-height:calc(100vh - 360px); min-height:420px; }
.int-grade { border-collapse:separate; border-spacing:0; width:100%; font-size:.84rem; }
.int-grade th { position:sticky; top:0; z-index:2; background:#F4ECDF; text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; font-weight:700; color:#4A4A4A; padding:7px 8px; border-bottom:1px solid #E2D5C2; white-space:nowrap; min-width:120px; }
.int-grade th.ck { min-width:34px; width:34px; } .int-grade th.emp { min-width:190px; }
.int-grade td { padding:0; border-bottom:1px solid #F1E8DC; background:#FFFFFF; height:42px; vertical-align:middle; position:relative; }
.int-grade td.ck { text-align:center; }
.int-grade td .cel { padding:4px 8px; height:100%; min-height:42px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; cursor:default; max-width:220px; }
.int-grade td .cel > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-grade td .cel small { font-size:10.5px; color:#5C5C5C; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.int-grade td .cel.hoje > span { color:#9A8F84; }
.int-grade td .cel.livre { cursor:pointer; }
.int-grade td .cel.livre:hover { background:#F4ECDF; }
.int-grade td .cel.livre > span:empty::before { content:"—"; }
.int-filtros-lotes { margin:10px 0 2px; display:flex; align-items:center; gap:10px; }
.int-maiscol { max-width:140px; font-size:.8rem; }
.int-grade td .cel.fill { background:#E3EFD3; cursor:pointer; }
.int-grade td .cel.fill > span { color:#3F7A1F; font-weight:600; }
.int-grade td .cel.dec { background:#FFF0C2; cursor:pointer; }
.int-grade td .cel.dec > span { font-weight:600; }
.int-grade td .cel.dec.manter > span { font-weight:400; color:#4A4A4A; }
.int-grade td .cel.bad { background:#F8E1DC; cursor:pointer; }
.int-grade td .cel.bad > span { color:#A12A1C; font-weight:600; }
.int-grade td .cel.off > span { text-decoration:line-through; color:#9A8F84; font-weight:400; }
.int-grade td .cel.aberta { outline:2px solid #B8321F; outline-offset:-2px; }
.int-grade td.emp .cel { cursor:pointer; }
.int-grade td.emp b { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
.int-pop { position:absolute; z-index:20; left:0; top:100%; background:#FFFFFF; border:1px solid #D9CCBA; border-radius:12px; box-shadow:0 10px 30px rgba(26,26,26,.18); padding:12px; min-width:420px; max-width:640px; }
.int-pop h4 { margin:0 0 8px; font-size:.78rem; color:#5C5C5C; font-weight:600; }
.int-pop .int-outro { width:200px; }
.int-pag { display:flex; gap:8px; align-items:center; padding:8px 14px; border-top:1px solid #EDE3D7; font-size:.84rem; }
/* Fontes */
.int-traz { font-size:.8rem; color:#4A4A4A; max-width:380px; }
@media (max-width:900px) {
  .int-tri { grid-template-columns:1fr; height:auto; }
  .int-tri-lista { max-height:40vh; border-right:0; border-bottom:1px solid #EDE3D7; }
  .int-dec { grid-template-columns:1fr; } .int-al { grid-column:1; }
  .int-dcab { flex-wrap:wrap; } .int-dcab .acoes { margin-left:0; }
}

/* ── Tela cheia: a revisão ocupa a janela inteira (sem menu nem título); Esc sai; preferência guardada no navegador ── */
.int-full { position:fixed; inset:0; z-index:1300; background:#FAF5EF; padding:8px 16px 10px; display:flex; flex-direction:column; overflow:auto; }
.int-full-cab { display:flex; align-items:center; gap:8px; padding:2px 0 8px; font-size:.95rem; }
.int-full .int-abas { margin-bottom:8px; }
.int-full .int-tri { height:calc(100vh - 150px); min-height:0; grid-template-columns:340px 1fr; }
.int-full .int-op { max-width:460px; }
.int-full .int-det-corpo { padding:18px 28px 24px; }
.int-full .int-pwrap { max-height:calc(100vh - 236px); }
.int-full .int-lote-corpo { max-height:calc(100vh - 320px); }
.int-full .int-lista { max-height:calc(100vh - 220px); }
/* Situação de cada fonte (aba Fontes): selo com fundo suave, nunca barra lateral */
.selo-estado { display:inline-block; padding:1px 8px; border-radius:999px; font-size:.72rem; font-weight:700; margin-right:4px; white-space:nowrap; }
.selo-estado.ok { background:#E3F1DA; color:#2F5A18; }
.selo-estado.erro { background:#F8E0DC; color:#A12A1C; }
.selo-estado.aviso { background:#FBEFD5; color:#7A5A1A; }
.selo-estado.neutro { background:#EFEAE3; color:#5C5C5C; }
/* Rodada 7: os selos começam com maiúscula, como no Diagnóstico ("Ok", "Erro", "Desatualizada"). */
.selo-estado::first-letter { text-transform:uppercase; }
/* Aba Fontes: a tabela cresce com a página (eram 6 de 12 fontes visíveis numa tela de 900 px, o resto num rolamento interno). */
.int-lista.cresce { max-height:none; overflow-y:visible; overflow-x:auto; }

/* 07/10/2026: aviso alto de dados velhos/errados nas fontes. Fundo suave do cartão inteiro e borda fina uniforme
   (nunca barra lateral). */
.int-alerta { border:1px solid #E8A79E; background:#FBE9E6; color:#5A1A10; border-radius:12px; padding:12px 16px; margin:0 0 14px; }
.int-alerta.aviso { border-color:#E6CF5C; background:#FFF6D6; color:#4D3E00; }
.int-alerta-tit { display:flex; align-items:center; gap:10px; font-weight:700; }
.int-alerta-ic { width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#D94030; color:#fff; font-weight:900; flex:none; }
.int-alerta.aviso .int-alerta-ic { background:#B98900; }
.int-alerta ul { margin:8px 0 4px; padding-left:4px; list-style:none; }
.int-alerta li { margin:5px 0; font-size:.9rem; }
.int-alerta-acao { color:#7A6F65; }
/* Contratos do Mercado (rodada 7): títulos das duas seções e a linha com alerta de possível duplicado (fundo suave na linha
   inteira, nunca barra lateral). */
.int-secao-tit { font-size:.95rem; font-weight:800; color:#1A1A1A; margin:6px 0 8px; display:flex; align-items:center; gap:6px; }
.int-linha-alerta td { background:#FFF8E6; }
