/* ==========================================================================
   Banktools 3 — folha de estilo única do portal
   Tokens e componentes extraídos do handoff "Proposta visual de interface".
   Ordem: tokens · base · utilitários · shell · componentes · lista ·
          formulário · login · landing · responsivo
   ========================================================================== */

/* --------------------------------------------------------------- 1. TOKENS */
:root{
  /* superfícies */
  --bt-bg:#edede8;
  --bt-surface:#fff;
  --bt-surface-subtle:#f8f8f5;
  --bt-border:#dedfd9;
  --bt-border-soft:#ecece7;
  --bt-border-row:#f2f4f7;
  --bt-input-border:#d5dbe3;

  /* texto */
  --bt-text:#282828;
  --bt-text-2:#454545;
  --bt-text-muted:#696b69;
  --bt-text-faint:#838682;

  /* primária */
  --bt-primary:#082959;
  --bt-primary-hover:#0c376f;
  --bt-primary-soft:#eef3f8;
  --bt-primary-soft-border:#cbd7e5;
  --bt-focus:#9cb6d3;

  /* semânticas */
  --bt-success:#00b368;
  --bt-success-text:#00884f;
  --bt-success-soft:#e7f8f1;
  --bt-success-border:#b8ead4;
  --bt-warning:#8a5a00;
  --bt-warning-soft:#fff8ec;
  --bt-warning-border:#f3ddb0;
  --bt-danger:#b3253a;
  --bt-danger-soft:#fdecee;
  --bt-danger-border:#f4c3ca;

  /* portal (faixas escuras) */
  --bt-dark:#082959;
  --bt-dark-text:#b7c6d8;
  --bt-dark-text-2:#e6edf4;

  /* tipografia */
  --bt-font:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  --bt-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Consolas,monospace;

  /* raio e sombra */
  --bt-r-sm:6px; --bt-r:8px; --bt-r-md:10px; --bt-r-lg:12px; --bt-r-xl:16px;
  --bt-shadow-card:0 1px 2px rgba(16,24,40,.04);
  --bt-shadow-card-2:0 1px 3px rgba(16,24,40,.06);
  --bt-shadow-primary:0 1px 2px rgba(8,41,89,.3);
  --bt-shadow-float:0 6px 18px rgba(16,24,40,.06);
  --bt-shadow-hero:0 12px 32px rgba(16,24,40,.10);

  /* métricas do shell */
  --bt-header-h:56px;
  --bt-sidebar-w:224px;
}

/* ----------------------------------------------------------------- 2. BASE */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--bt-bg);color:var(--bt-text);
  font-family:var(--bt-font);font-size:13px;line-height:1.45;
  -webkit-font-smoothing:antialiased;text-wrap:pretty;
}
a{color:var(--bt-primary);text-decoration:none}
a:hover{color:var(--bt-primary-hover)}
h1,h2,h3,h4,p{margin:0}
input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
img{max-width:100%}
.bt-mono{font-family:var(--bt-mono)}
.bt-ico{font-family:'Material Symbols Rounded';font-weight:400;font-style:normal;
  font-size:19px;line-height:1;letter-spacing:normal;white-space:nowrap;
  direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;user-select:none;flex:none}
.bt-ico-18{font-size:18px}.bt-ico-20{font-size:20px}.bt-ico-26{font-size:26px}
.bt-spacer{flex:1}
.bt-hidden,[hidden]{display:none!important}
.bt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

@keyframes bt-shim{0%{background-position:-320px 0}100%{background-position:320px 0}}
@keyframes bt-spin{to{transform:rotate(360deg)}}
.bt-spin{width:14px;height:14px;border:2px solid #dfe4ea;border-top-color:var(--bt-primary);
  border-radius:50%;display:inline-block;animation:bt-spin .9s linear infinite;flex:none}
.bt-skel{height:11px;border-radius:4px;
  background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 50%,#eef1f5 75%);
  background-size:320px 100%;animation:bt-shim 1.2s infinite linear}

/* ---------------------------------------------------------------- 3. SHELL */
.bt-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bt-bg)}

.bt-header{background:var(--bt-surface);border-bottom:1px solid var(--bt-border);
  position:sticky;top:0;z-index:20}
.bt-header-top{display:flex;align-items:center;gap:16px;padding:0 20px;height:var(--bt-header-h)}
.bt-wordmark{display:flex;align-items:baseline;gap:1px;font-size:17px;letter-spacing:-.2px;color:var(--bt-text)}
.bt-wordmark b{font-weight:600}
.bt-wordmark span{font-weight:500;color:var(--bt-success)}

.bt-search{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;height:34px;
  padding:0 12px;background:var(--bt-bg);border:1px solid var(--bt-border);
  border-radius:var(--bt-r);color:var(--bt-text-faint)}
.bt-search input{flex:1;min-width:0;border:none;background:transparent;font-size:13px;color:var(--bt-text)}
.bt-search input:focus{outline:none}
.bt-kbd{font-family:var(--bt-mono);font-size:10.5px;border:1px solid var(--bt-border);
  background:#fff;border-radius:4px;padding:2px 5px;color:var(--bt-text-faint)}

.bt-iconbtn{width:32px;height:32px;border:1px solid var(--bt-border);background:#fff;
  border-radius:var(--bt-r);color:var(--bt-text-muted);position:relative;
  display:flex;align-items:center;justify-content:center}
.bt-iconbtn:hover{background:var(--bt-bg)}
.bt-badge-dot{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;
  background:var(--bt-danger);color:#fff;font-size:10px;line-height:16px;font-family:var(--bt-mono);padding:0 3px}

.bt-user{display:flex;align-items:center;gap:8px;padding-left:8px;border-left:1px solid var(--bt-border)}
.bt-user:hover{color:inherit}
.bt-avatar{position:relative;width:30px;height:30px;border-radius:50%;background:#e6edf4;
  color:var(--bt-primary);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;overflow:hidden;flex:none}
.bt-user-name{display:block;font-size:12.5px;font-weight:500;line-height:1.15;color:var(--bt-text)}
.bt-user-role{display:block;font-size:11px;color:var(--bt-text-faint);line-height:1.15}
.bt-menu-group{display:flex;flex-direction:column;gap:2px}

.bt-modules{display:flex;gap:2px;padding:0 20px;overflow-x:auto;scrollbar-width:thin}
.bt-module{display:flex;align-items:center;gap:7px;padding:9px 12px;font-size:13px;
  color:var(--bt-text-muted);border-bottom:2px solid transparent;white-space:nowrap}
.bt-module:hover{color:var(--bt-text)}
.bt-module.is-active{color:var(--bt-primary);font-weight:500;border-bottom-color:var(--bt-primary)}

.bt-body{flex:1;display:flex;align-items:stretch;min-height:0}

.bt-sidebar{width:var(--bt-sidebar-w);flex:none;background:var(--bt-surface);
  border-right:1px solid var(--bt-border);padding:16px 0;display:flex;flex-direction:column;gap:2px}
.bt-menu-title{padding:0 16px 8px;font-size:10.5px;letter-spacing:.9px;color:var(--bt-text-faint);font-weight:600}
.bt-menu-title + .bt-menu-title,.bt-menu-item + .bt-menu-title{padding-top:16px}
.bt-menu-item{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13.5px;
  color:var(--bt-text-2);border-left:3px solid transparent}
.bt-menu-item .bt-ico{color:var(--bt-text-faint)}
.bt-menu-item:hover{background:var(--bt-bg);color:var(--bt-text)}
.bt-menu-item.is-active{border-left-color:var(--bt-primary);background:var(--bt-primary-soft);
  color:var(--bt-primary);font-weight:500;padding-left:13px}
.bt-menu-item.is-active .bt-ico{color:var(--bt-primary)}
.bt-menu-sub{padding-left:46px;font-size:13px;color:var(--bt-text-muted)}
.bt-menu-sub.is-active{color:var(--bt-primary);font-weight:500;border-left-color:var(--bt-primary-soft-border);padding-left:43px}
.bt-sidebar-foot{margin:0 12px;padding:10px 12px;background:var(--bt-bg);
  border:1px solid var(--bt-border);border-radius:var(--bt-r);
  font-size:11.5px;color:var(--bt-text-muted);line-height:1.4}

.bt-main{flex:1;min-width:0;padding:22px 26px 40px}
.bt-page{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.bt-page-narrow{max-width:1120px;margin:0 auto}

/* ----------------------------------------------------------- 4. COMPONENTES */
.bt-breadcrumb{font-size:11.5px;color:var(--bt-text-faint);margin-bottom:4px}
.bt-h1{font-size:22px;font-weight:600;letter-spacing:-.3px}
.bt-page-meta{font-size:12.5px;color:var(--bt-text-muted);margin-top:4px}
.bt-page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.bt-actions{display:flex;gap:8px;flex-wrap:wrap}

.bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;
  padding:0 13px;background:#fff;border:1px solid var(--bt-border);border-radius:var(--bt-r);
  font-size:13px;color:var(--bt-text-2)}
.bt-btn .bt-ico{color:var(--bt-text-faint);font-size:18px}
.bt-btn:hover{background:var(--bt-bg);color:var(--bt-text-2)}
.bt-btn:focus-visible{outline:2px solid var(--bt-focus);outline-offset:1px}
.bt-btn-sm{height:32px;padding:0 11px;font-size:12.5px}
.bt-btn-lg{height:38px;padding:0 16px}
.bt-btn-primary{background:var(--bt-primary);border-color:var(--bt-primary);color:#fff;
  font-weight:500;box-shadow:var(--bt-shadow-primary)}
.bt-btn-primary .bt-ico{color:#fff}
.bt-btn-primary:hover{background:var(--bt-primary-hover);border-color:var(--bt-primary-hover);color:#fff}
.bt-btn-success{background:var(--bt-success);border-color:var(--bt-success);color:#fff;font-weight:500}
.bt-btn-success:hover{background:var(--bt-success-text);border-color:var(--bt-success-text);color:#fff}
.bt-btn-danger{color:var(--bt-danger)}
.bt-btn-danger:hover{background:var(--bt-danger-soft);color:var(--bt-danger)}
.bt-btn.is-busy{background:#315782;border-color:#315782;color:#fff;cursor:wait}
.bt-btn[disabled]{opacity:.55;cursor:not-allowed}

.bt-card{background:var(--bt-surface);border:1px solid var(--bt-border);
  border-radius:var(--bt-r-lg);box-shadow:var(--bt-shadow-card);overflow:hidden}
.bt-card-2{box-shadow:var(--bt-shadow-card-2)}
.bt-block{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);overflow:hidden}
.bt-block-head{display:flex;align-items:center;gap:10px;padding:11px 14px;
  background:var(--bt-surface-subtle);border-bottom:1px solid var(--bt-border-soft);
  font-size:13px;font-weight:500}

.bt-toast{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--bt-r-md);font-size:13px}
.bt-toast-success{background:var(--bt-success-soft);border:1px solid var(--bt-success-border);color:var(--bt-success-text)}
.bt-toast-warning{background:var(--bt-warning-soft);border:1px solid var(--bt-warning-border);color:#7a5410}
.bt-toast-danger{background:var(--bt-danger-soft);border:1px solid var(--bt-danger-border);color:var(--bt-danger)}
.bt-toast-info{background:var(--bt-primary-soft);border:1px solid var(--bt-primary-soft-border);color:#082959}
.bt-toast-mark{width:18px;height:18px;border-radius:50%;background:var(--bt-success);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}

.bt-pill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;
  font-size:11.5px;font-weight:500;border:1px solid transparent;white-space:nowrap}
.bt-pill-ativo{background:var(--bt-success-soft);border-color:var(--bt-success-border);color:var(--bt-success-text)}
.bt-pill-homologacao,
.bt-pill-pendente{background:var(--bt-warning-soft);border-color:var(--bt-warning-border);color:var(--bt-warning)}
.bt-pill-inativo{background:var(--bt-bg);border-color:var(--bt-border);color:var(--bt-text-muted)}
.bt-pill-indisponivel{background:var(--bt-danger-soft);border-color:var(--bt-danger-border);color:var(--bt-danger)}
.bt-pill-enviando{background:var(--bt-primary-soft);border-color:var(--bt-primary-soft-border);color:var(--bt-primary)}

.bt-tag{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:var(--bt-r-sm);
  background:var(--bt-bg);border:1px solid var(--bt-border);font-family:var(--bt-mono);
  font-size:11.5px;color:var(--bt-text-2)}

/* toggle — trilho 38x21 com knob de 16 */
.bt-toggle{display:inline-flex;align-items:center;gap:11px;padding:9px 12px;background:#fff;
  border:1px solid var(--bt-border);border-radius:var(--bt-r-md);cursor:pointer}
.bt-toggle:hover{border-color:var(--bt-primary-soft-border)}
.bt-toggle-track{position:relative;width:38px;height:21px;border-radius:11px;
  background:var(--bt-input-border);transition:background .16s ease;flex:none}
.bt-toggle-track::after{content:'';position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;
  border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.3);transition:left .16s ease}
.bt-toggle-title{font-size:13px;font-weight:500}
.bt-toggle-desc{font-size:11.5px;color:var(--bt-text-faint)}
.bt-toggle input{position:absolute;opacity:0;width:0;height:0}
.bt-toggle input:checked ~ .bt-toggle-track,
.bt-toggle-track.is-on{background:var(--bt-primary)}
.bt-toggle input:checked ~ .bt-toggle-track::after{left:19px}
.bt-toggle:has(input:checked){background:#f5f8fb;border-color:var(--bt-primary-soft-border)}
.bt-toggle input:focus-visible ~ .bt-toggle-track{outline:2px solid var(--bt-focus);outline-offset:2px}
.bt-toggle-row{display:flex;align-items:center;gap:12px;padding:11px 14px;
  border-bottom:1px solid var(--bt-border-soft);cursor:pointer}
.bt-toggle-row:last-child{border-bottom:none}
.bt-toggle-row:has(input:checked){background:#f5f8fb}

/* ---------------------------------------------------------------- 5. LISTA */
.bt-views{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--bt-border);flex-wrap:wrap}
.bt-view{padding:11px 10px;font-size:13px;color:var(--bt-text-muted);border-bottom:2px solid transparent}
.bt-view.is-active{color:var(--bt-primary);font-weight:500;border-bottom-color:var(--bt-primary)}
.bt-view-save{padding:11px 10px;font-size:12.5px;color:var(--bt-text-faint)}

.bt-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;
  border-bottom:1px solid var(--bt-border-soft);background:var(--bt-surface-subtle)}
.bt-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;
  background:var(--bt-primary-soft);border:1px solid var(--bt-primary-soft-border);
  border-radius:15px;font-size:12.5px;color:var(--bt-primary)}
.bt-chip button{border:none;background:transparent;color:var(--bt-primary);font-size:13px;line-height:1;padding:0 2px}
.bt-chip-add{height:28px;padding:0 11px;background:#fff;border:1px dashed #c8d0da;border-radius:15px;
  font-size:12.5px;color:var(--bt-text-muted)}
.bt-chip-add:hover{border-color:var(--bt-primary);color:var(--bt-primary)}
.bt-search-local{display:flex;align-items:center;gap:7px;height:32px;padding:0 10px;background:#fff;
  border:1px solid var(--bt-border);border-radius:var(--bt-r);min-width:230px;color:var(--bt-text-faint)}
.bt-search-local input{flex:1;min-width:0;border:none;background:transparent;font-size:12.5px;color:var(--bt-text)}
.bt-search-local input:focus{outline:none}

.bt-table-scroll{overflow-x:auto}
.bt-table{min-width:960px}

/* ------------------------------------------------- tabela JSON (DataTables)
   O DataTables exige <table> de verdade. Em vez de reescrever as dezenas de
   grades `.bt-table-X .bt-tr{grid-template-columns:…}` que já existem, o
   layout nativo da tabela é desligado e os mesmos elementos voltam a ser
   grid — as regras de largura de cada tela continuam valendo sem tocar numa
   linha delas.

   Nada do CSS do DataTables é distribuído; o que ele marca com `dt-*` é
   estilizado aqui, com os tokens do portal. */
table.bt-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:auto}
table.bt-table > thead,
table.bt-table > tbody{display:block}
table.bt-table > thead > tr,
table.bt-table > tbody > tr{display:grid;align-items:center}
table.bt-table > thead > tr > th{padding:9px 12px;text-align:left;font-weight:600;
  font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--bt-text-faint);
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.bt-table > tbody > tr.is-clicavel{cursor:pointer}

/* cabeçalho ordenável: a seta é forma, não só cor, e o estado atual fica
   escrito em `aria-sort` para o leitor de tela */
.bt-table th.dt-orderable-asc,
.bt-table th.dt-orderable-desc{cursor:pointer;user-select:none}
.bt-table th.dt-orderable-asc:hover,
.bt-table th.dt-orderable-desc:hover{color:var(--bt-primary)}
.bt-table th.dt-orderable-asc::after,
.bt-table th.dt-orderable-desc::after{content:"⇅";margin-left:6px;opacity:.35;font-size:11px}
.bt-table th.dt-ordering-asc,
.bt-table th.dt-ordering-desc{color:var(--bt-primary)}
.bt-table th.dt-ordering-asc::after{content:"↑";opacity:1}
.bt-table th.dt-ordering-desc::after{content:"↓";opacity:1}

/* enquanto a página nova não chega, a tabela esmaece em vez de sumir: o
   operador não perde a referência do que estava lendo */
[data-tabela-caixa].is-carregando .bt-tbody{opacity:.45;transition:opacity .12s}
[data-tabela-caixa].is-carregando{cursor:progress}
.bt-pager-pages .ativa{background:var(--bt-primary-soft);border-color:var(--bt-primary-soft-border);
  color:var(--bt-primary);font-weight:500}
/* grades das listas de cadastro — uma classe por tela, aplicada em todas as
   linhas (cabeçalho, skeleton e corpo) para que nada desalinhe ao carregar */
.bt-table-convenio{min-width:1152px}
.bt-table-convenio .bt-tr{grid-template-columns:80px 148px minmax(220px,1fr) 210px 104px 132px 104px 108px 46px}
.bt-table-usuario{min-width:1020px}
.bt-table-usuario .bt-tr{grid-template-columns:64px minmax(200px,1fr) 150px 230px 140px 120px 108px 46px}
.bt-table-sistema{min-width:860px}
.bt-table-sistema .bt-tr{grid-template-columns:72px minmax(180px,1fr) 190px minmax(180px,1fr) 150px 120px 46px}
/* conciliação: leiaute (6 ou 5 colunas), arquivos do mês (8 ou 7) e parâmetros */
.bt-table-leiaute{min-width:940px}
.bt-table-leiaute .bt-tr{grid-template-columns:78px minmax(160px,1fr) 200px minmax(160px,1fr) 150px 70px 46px}
.bt-table-conciliacao{min-width:1080px}
.bt-table-conciliacao .bt-tr{grid-template-columns:78px 92px minmax(150px,1fr) minmax(160px,1fr) minmax(160px,1fr) 84px 118px 140px 46px}
.bt-table-leiaute.bt-l5 .bt-tr{grid-template-columns:78px minmax(160px,1fr) 200px minmax(160px,1fr) 150px 46px}
.bt-table-conciliacao.bt-c7 .bt-tr{grid-template-columns:78px 92px minmax(150px,1fr) minmax(160px,1fr) minmax(160px,1fr) 84px 140px 46px}
/* relatório da conciliação: períodos prontos, indicadores e o analítico */
.bt-table-prontos{min-width:960px}
.bt-table-prontos .bt-tr{grid-template-columns:104px minmax(140px,1fr) minmax(160px,1fr) 110px 104px 118px 108px}
.bt-table-indicadores{min-width:880px}
.bt-table-indicadores .bt-tr{grid-template-columns:minmax(170px,1fr) 110px 170px 170px 150px 116px}
.bt-table-indicadores .bt-td:first-child{display:flex;align-items:center;gap:8px}
.bt-table-analitico{min-width:1520px}
.bt-table-analitico .bt-tr{grid-template-columns:96px minmax(160px,1fr) 128px 104px 118px 118px 118px 118px 118px 76px 128px minmax(180px,1.1fr)}
/* o ponto colorido do indicativo acompanha a pílula de status */
.bt-dot-ativo{background:var(--bt-success)}
.bt-dot-pendente{background:var(--bt-warning)}
.bt-dot-enviando{background:var(--bt-primary)}
.bt-dot-indisponivel{background:var(--bt-danger)}
.bt-dot-inativo{background:var(--bt-text-muted)}

/* amostra das linhas importadas, para conferir o leiaute */
.bt-table-amostra{min-width:1080px}
.bt-table-amostra .bt-tr{grid-template-columns:130px minmax(150px,1fr) 106px 124px 70px 124px minmax(190px,1.2fr)}
.bt-table-parametro{min-width:1000px}
.bt-table-parametro .bt-tr{grid-template-columns:78px minmax(140px,1fr) minmax(150px,1fr) 160px 190px minmax(150px,1fr) 46px}

.bt-table-orgao{min-width:1120px}
.bt-table-orgao .bt-tr{grid-template-columns:80px 84px minmax(220px,1fr) 56px 130px 150px 120px 108px 46px}
/* Trilha de auditoria. Só a largura mínima: a lista é paginada por JSON, e o
   tabela.js marca a tabela com `bt-table-adaptavel`, que troca a grade por
   `display:table` — um `grid-template-columns` aqui seria regra morta. */
.bt-table-auditoria{min-width:1180px}
/* a linha da trilha abre o detalhe ali embaixo, sem trocar de página */
.bt-table-auditoria .bt-tr[data-ver-trilha]{cursor:pointer}
.bt-table-auditoria .bt-tr[data-ver-trilha].is-active{background:var(--bt-primary-soft)}
.bt-table-parceiro{min-width:1140px}
.bt-table-parceiro .bt-tr{grid-template-columns:80px minmax(170px,1fr) minmax(210px,1.3fr) 62px 168px 150px 52px 116px 46px}
.bt-table-equipe{min-width:1064px}
.bt-table-equipe .bt-tr{grid-template-columns:80px minmax(200px,1fr) 148px 110px minmax(190px,1fr) 190px 140px 46px}
/* a coluna de situação leva "Bloqueado" dentro de uma pílula: com menos de
   120px a pílula encosta no menu de três pontos da linha */
.bt-table-webservice{min-width:936px}
.bt-table-webservice .bt-tr{grid-template-columns:80px minmax(180px,1fr) minmax(240px,1.4fr) 150px 120px 46px}
.bt-table-api{min-width:1196px}
.bt-table-api .bt-tr{grid-template-columns:80px minmax(180px,1fr) 190px minmax(190px,1fr) 148px 96px 96px 120px 46px}
/* permissões: a tela ocupa o espaço que sobra e as cinco ações são colunas
   estreitas de mesma largura, para o olho comparar linha a linha */
/* lista de perfis de acesso */
.bt-table-perfil{min-width:1040px}
.bt-table-perfil .bt-tr{grid-template-columns:80px minmax(190px,1fr) minmax(240px,1.6fr) 88px 96px 84px 116px}
/* a matriz de telas DENTRO do formulario de um perfil */
.bt-table-perfil-rotas{min-width:1040px}
.bt-table-perfil-rotas .bt-tr{grid-template-columns:minmax(230px,1.5fr) minmax(150px,1fr) repeat(5,94px)}
.bt-table-perfil-rotas .bt-td{display:flex;align-items:center}
/* a primeira celula tem duas linhas — o rotulo e o nome da rota — e a `.bt-td`
   e flex: sem a direcao em coluna as duas ficam lado a lado, coladas. */
.bt-table-perfil-rotas .bt-td:first-child{flex-direction:column;align-items:flex-start;
  justify-content:center;gap:1px}
.bt-table-perfil-rotas .bt-hint{font-size:11px}

/* a última coluna é a ORIGEM: "do perfil" ou a exceção desta pessoa */
.bt-table-permissao{min-width:1080px}
.bt-table-permissao .bt-tr{grid-template-columns:minmax(220px,1.4fr) minmax(140px,1fr) repeat(5,96px) 148px}
.bt-table-permissao .bt-td{display:flex;align-items:center}
/* ação desligada porque a linha não tem Consulta marcada */
.bt-check input:disabled{opacity:.35;cursor:not-allowed}
.bt-table-consulta{min-width:1160px}
.bt-table-consulta .bt-tr{grid-template-columns:88px 132px minmax(150px,1fr) minmax(180px,1.2fr) 148px 120px 124px minmax(180px,1.2fr) 46px}
/* a mesma lista paginada por JSON: sem a coluna do menu, que sumiu junto com
   a linha desenhada no servidor. Os 46px que ela ocupava foram para a data,
   que mostra hora e vinha cortada em "15/10/2025 15…", e o CPF encolheu para
   o tamanho de onze dígitos, que é tudo que ele tem. */
.bt-table-consulta.bt-m8 .bt-tr{grid-template-columns:88px 148px minmax(150px,1fr) minmax(180px,1.2fr) 132px 120px 124px minmax(180px,1.2fr)}
.bt-table-lote{min-width:1120px}
.bt-table-lote .bt-tr{grid-template-columns:80px 132px minmax(200px,1.3fr) minmax(150px,1fr) minmax(170px,1fr) 96px 128px 46px}
.bt-table-loteitem{min-width:900px}
.bt-table-loteitem .bt-tr{grid-template-columns:70px 148px 132px 104px 124px minmax(220px,1fr)}
.bt-tr{display:grid;align-items:center;border-bottom:1px solid var(--bt-border-row);
  font-size:13px;min-height:48px}
.bt-thead{background:var(--bt-surface-subtle);border-bottom:1px solid var(--bt-border);
  font-size:11px;letter-spacing:.6px;color:var(--bt-text-muted);font-weight:600;min-height:0}
.bt-thead > div{padding:9px 12px}
.bt-tbody .bt-tr:hover{background:var(--bt-surface-subtle)}
/* linha que é <button> (a da consulta, que abre o retorno da API sem sair da
   página): tira o visual de botão e mantém o alinhamento da grade */
button.bt-tr{width:100%;text-align:left;background:none;border-width:0 0 1px 0;
  font:inherit;color:inherit;cursor:pointer;padding:0}
button.bt-tr.is-active{background:var(--bt-primary-soft)}
.bt-td{padding:10px 12px;min-width:0;color:var(--bt-text-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-td-strong{font-weight:500;color:var(--bt-text)}
.bt-td-soft{color:var(--bt-text-muted)}
.bt-td-mono{font-family:var(--bt-mono);font-size:12px;color:var(--bt-text-2)}
.bt-td-num{text-align:right;font-family:var(--bt-mono);font-size:12px}
.bt-td-menu{color:var(--bt-text-faint);text-align:center;background:none;border:none;padding:10px 12px}
.bt-skel-row{border-bottom:1px solid var(--bt-border-row);height:48px}
.bt-skel-row > div{padding:0 12px}
.bt-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;
  font-size:12.5px;color:var(--bt-text-faint)}

/* ------------------------------------------------ cortina de carregamento
   Véu sobre o bloco que está sendo atualizado, com roda e mensagem. Cobre o
   BLOCO, não a janela: o menu, o filtro e o cabeçalho continuam acessíveis, e
   o operador vê exatamente qual parte da tela está ocupada.

   Nasce invisível e sem capturar clique; quem liga é o `is-visivel`, depois do
   atraso do banktools.js. A transição some inteira em `prefers-reduced-motion`
   — véu que aparece pulsando é justamente o que incomoda quem pediu menos
   movimento. */
/* O aviso encosta no ALTO do bloco, e não no meio dele: a tela de indicadores
   tem uns 3.000px de altura, e um cartão centrado nela nasceria mil pixels
   abaixo da dobra — o operador veria a tela apagada e nenhuma explicação.
   O `sticky` do miolo é a outra metade disso: quem rola a página durante a
   espera leva o aviso junto, em vez de deixá-lo para trás. */
.bt-cortina{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;
  justify-content:center;background:rgba(255,255,255,.78);
  backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .16s ease, visibility 0s linear .16s}
.bt-cortina.is-visivel{opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .16s ease, visibility 0s}
.bt-cortina-miolo{position:sticky;top:88px;margin:26px 0;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:20px 26px;border-radius:var(--bt-r-md);background:var(--bt-surface);
  border:1px solid var(--bt-border);box-shadow:0 6px 24px rgba(16,24,40,.10);
  max-width:min(340px,86%);text-align:center}
.bt-cortina-roda{width:26px;height:26px;border:3px solid var(--bt-border);
  border-top-color:var(--bt-primary);border-radius:50%;
  animation:bt-spin .85s linear infinite;flex:none}
.bt-cortina-texto{font-size:13.5px;font-weight:500;color:var(--bt-text);line-height:1.35}
/* A etapa nasce sem altura reservada de propósito: o cartão cresce quando ela
   chega. Reservar a linha deixaria um vão vazio nos casos em que não há etapa. */
.bt-cortina-etapa{font-size:12px;color:var(--bt-text-muted);line-height:1.35;min-height:0}
.bt-cortina-etapa:empty{display:none}

@media (prefers-reduced-motion:reduce){
  .bt-cortina{transition:none}
  .bt-cortina-roda{animation:none;border-top-color:var(--bt-primary);
    border-right-color:var(--bt-primary)}
}
.bt-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 20px;text-align:center}
.bt-empty .bt-ico{font-size:34px;color:#c3ccd8}
.bt-empty-title{font-size:14.5px;font-weight:500}
.bt-empty-desc{font-size:13px;color:var(--bt-text-muted)}

.bt-pager{display:flex;align-items:center;gap:12px;padding:12px 14px;flex-wrap:wrap}
.bt-pager-info{font-size:12.5px;color:var(--bt-text-muted)}
.bt-pager-info b{font-family:var(--bt-mono)}
.bt-pager-pages{display:flex;gap:6px}
.bt-pager-pages .bt-btn-sm{min-width:32px;padding:0 9px}
.bt-pager-pages .is-active{background:var(--bt-primary-soft);border-color:var(--bt-primary-soft-border);
  color:var(--bt-primary);font-weight:500}

/* ----------------------------------------------------------- 6. FORMULÁRIO */
.bt-form-head{display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--bt-border-soft);flex-wrap:wrap}
.bt-form-title{font-size:16px;font-weight:600;letter-spacing:-.2px}
.bt-draft{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--bt-text-faint)}
.bt-dot{width:6px;height:6px;border-radius:50%;background:var(--bt-success);flex:none}
.bt-progress{height:3px;background:var(--bt-border-soft)}
.bt-progress > div{height:100%;background:var(--bt-primary);width:20%;transition:width .25s ease}

.bt-form-body{display:flex;align-items:stretch}
.bt-rail{width:212px;flex:none;border-right:1px solid var(--bt-border-soft);
  padding:16px 0;background:var(--bt-surface-subtle)}
.bt-rail-title{padding:0 16px 10px;font-size:10.5px;letter-spacing:.9px;color:var(--bt-text-faint);font-weight:600}
.bt-rail-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 13px;
  border:none;border-left:3px solid transparent;background:transparent;font-size:13px;color:var(--bt-text-faint)}
.bt-rail-num{width:20px;height:20px;border-radius:50%;background:var(--bt-bg);color:var(--bt-text-faint);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none;
  border:1px solid transparent}
.bt-rail-item.is-current{border-left-color:var(--bt-primary);background:var(--bt-primary-soft);
  color:var(--bt-primary);font-weight:500}
.bt-rail-item.is-current .bt-rail-num{background:var(--bt-primary);color:#fff}
.bt-rail-item.is-done{color:var(--bt-text-2)}
.bt-rail-item.is-done .bt-rail-num{background:var(--bt-success-soft);color:var(--bt-success-text);
  border-color:var(--bt-success-border)}
.bt-rail-note{margin:14px 12px 0;padding:10px 12px;background:#fff;border:1px solid var(--bt-border);
  border-radius:var(--bt-r);font-size:11.5px;color:var(--bt-text-muted);line-height:1.45}

.bt-form-content{flex:1;min-width:0;padding:22px 24px;display:flex;flex-direction:column;gap:18px}
.bt-step{display:flex;flex-direction:column;gap:18px}
.bt-step-title{font-size:17px;font-weight:600}
.bt-step-desc{margin-top:4px;font-size:13px;color:var(--bt-text-muted)}
.bt-section-title{font-size:14.5px;font-weight:600}

.bt-grid{display:grid;gap:14px}
.bt-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bt-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bt-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bt-g-code{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)}
.bt-g-auto{grid-template-columns:auto minmax(0,1fr);align-items:end}
.bt-col-2{grid-column:span 2}

.bt-field{min-width:0;display:flex;flex-direction:column;align-items:stretch}
/* botão dentro de campo (o "baixar modelo") não estica até a borda: o campo é
   flex-column, e sem isto ele vira uma faixa larga que parece um input */
.bt-field > .bt-btn{align-self:flex-start}
.bt-label{display:block;font-size:12px;color:var(--bt-text-2);margin-bottom:6px;font-weight:500}
.bt-req{color:var(--bt-danger)}
.bt-input,.bt-select,.bt-textarea{width:100%;height:38px;padding:0 11px;background:#fff;
  border:1px solid var(--bt-input-border);border-radius:var(--bt-r);font-size:13px;color:var(--bt-text)}
.bt-select{padding:0 10px}
/* select estreito do rodape da tabela: precisa vir DEPOIS da regra de
   largura 100% acima, senao a cascata devolve a largura cheia */
.bt-select-sm{width:auto;min-width:64px;height:30px;padding:0 26px 0 10px;font-size:12.5px}
.bt-textarea{height:auto;min-height:76px;padding:9px 11px;line-height:1.5;resize:vertical}
.bt-input:focus,.bt-select:focus,.bt-textarea:focus{outline:2px solid var(--bt-focus);
  outline-offset:0;border-color:var(--bt-primary)}
.bt-input[readonly],.bt-input[disabled],.bt-select[disabled]{background:var(--bt-bg);
  color:var(--bt-text-faint);border-color:var(--bt-border)}
.bt-input-mono{font-family:var(--bt-mono)}
.bt-hint{font-size:11.5px;color:var(--bt-text-faint);margin-top:5px}
/* valor só de leitura na altura de um input, para números que a tela mostra
   mas o formulário não grava (contagem de vínculos, por exemplo) */
.bt-note{min-height:38px;display:flex;align-items:center;gap:6px;padding:0 11px;
  background:var(--bt-bg);border:1px solid var(--bt-border);border-radius:var(--bt-r);
  font-size:12.5px;color:var(--bt-text-2)}
.bt-error{display:none;font-size:11.5px;color:var(--bt-danger);margin-top:5px}
.bt-field.is-invalid .bt-input,.bt-field.is-invalid .bt-select,.bt-field.is-invalid .bt-textarea{
  border-color:var(--bt-danger);background:#fffafb}
.bt-field.is-invalid .bt-error{display:block}
.bt-multi{min-height:120px;padding:6px;height:auto}

.bt-review-grid{display:grid;gap:12px;padding:14px}
.bt-review-label{font-size:11.5px;color:var(--bt-text-faint);margin-bottom:3px}
.bt-review-value{font-size:13px}

.bt-form-foot{display:flex;align-items:center;gap:10px;padding-top:16px;
  border-top:1px solid var(--bt-border-soft);flex-wrap:wrap}
.bt-step-label{font-size:12.5px;color:var(--bt-text-faint)}

/* ---------------------------------------------------------------- 7. LOGIN */
.bt-auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}
.bt-auth-form{display:flex;align-items:center;justify-content:center;padding:40px 28px}
.bt-auth-box{width:100%;max-width:388px;display:flex;flex-direction:column;gap:22px}
.bt-auth-title{font-size:26px;font-weight:600;letter-spacing:-.6px}
.bt-auth-desc{font-size:14px;color:var(--bt-text-muted);line-height:1.6;margin-top:6px}
.bt-auth-side{background:var(--bt-dark);color:#fff;padding:52px 44px;
  display:flex;flex-direction:column;justify-content:center;gap:26px}
.bt-auth-side h2{font-size:30px;font-weight:600;letter-spacing:-.8px;line-height:1.2}
.bt-auth-side p{font-size:14.5px;line-height:1.65;color:var(--bt-dark-text)}
.bt-auth-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.bt-auth-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--bt-r-lg);padding:14px 16px}
.bt-auth-kpi b{display:block;font-size:23px;font-weight:600;font-family:var(--bt-mono)}
.bt-auth-kpi span{font-size:12px;color:var(--bt-dark-text)}
.bt-pass-wrap{position:relative;display:flex;align-items:center}
.bt-pass-wrap .bt-input{padding-right:40px}
.bt-pass-toggle{position:absolute;right:4px;width:32px;height:32px;border:none;background:transparent;
  color:var(--bt-text-faint);display:flex;align-items:center;justify-content:center;border-radius:var(--bt-r-sm)}
.bt-pass-toggle:hover{background:var(--bt-bg)}
.bt-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--bt-text-2)}
/* ------------------------------------------------- usuario de portal
   Grade de operacoes: 24 caixas de marcar. Tres colunas em tela larga,
   como na v2, porque o operador procura pelo NOME da operacao e ler em
   coluna e mais rapido do que varrer uma linha comprida. */
.bt-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.bt-checks-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bt-check-op{padding:5px 8px;border-radius:var(--bt-r);border:1px solid transparent}
.bt-check-op:hover{background:var(--bt-surface-subtle);border-color:var(--bt-border-soft)}
/* operacao que a v2 nunca desenhou: a marca e texto, nunca so a cor */
.bt-check-op.nova > span::after{content:"novo";margin-left:6px;font-size:9.5px;font-weight:600;
  letter-spacing:.4px;text-transform:uppercase;padding:1px 5px;border-radius:8px;
  background:var(--bt-primary-soft);color:var(--bt-primary);vertical-align:middle}
.bt-tag-nova{font-size:9.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  padding:1px 5px;border-radius:8px;background:var(--bt-primary-soft);color:var(--bt-primary)}

/* campo com botao colado a direita (mostrar senha) */
.bt-input-acao{display:flex;gap:6px;align-items:stretch}
.bt-input-acao .bt-input{flex:1;min-width:0}
.bt-input-acao .bt-btn{flex:none;height:38px;padding:0 10px}

/* bloco do arquivo do certificado */
.bt-cert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;
  border:1px solid var(--bt-border);border-radius:var(--bt-r-md);background:var(--bt-surface-subtle)}
.bt-cert-info{display:flex;align-items:center;gap:10px;min-width:0}
.bt-cert-nome{font-size:13px;font-weight:500;color:var(--bt-text);overflow-wrap:anywhere}
.bt-cert-sub{font-size:11.5px;color:var(--bt-text-faint)}
.bt-cert .bt-btn{cursor:pointer}

.bt-aviso-inline{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;
  color:var(--bt-text-muted);background:var(--bt-surface-subtle);
  border:1px solid var(--bt-border-soft);border-radius:var(--bt-r)}

/* ---------------------------------------------------- repetidor de linhas
   Linhas que o operador acrescenta e remove (faixas de idade, regras do
   roteiro). Grid e nao table: a linha e um formulario, nao um dado. */
.bt-repet{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);overflow:hidden}
.bt-repet-head,.bt-repet-linha{display:grid;gap:8px;align-items:center;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr 40px;padding:8px 12px}
.bt-repet-head{background:var(--bt-surface-subtle);border-bottom:1px solid var(--bt-border-soft);
  font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--bt-text-faint);font-weight:600}
.bt-repet-linha + .bt-repet-linha{border-top:1px solid var(--bt-border-row)}
.bt-repet-linha .bt-input,.bt-repet-linha .bt-select{height:34px;font-size:12.5px}
.bt-repet-linha .bt-btn{height:34px;padding:0;justify-content:center;font-size:16px;line-height:1}
.bt-repet-regra .bt-repet-head,.bt-repet-regra .bt-repet-linha{
  grid-template-columns:minmax(120px,1fr) minmax(110px,1fr) minmax(180px,1.6fr) minmax(110px,1fr) 40px}
.bt-repet-vazio{padding:16px 12px;font-size:12.5px;color:var(--bt-text-faint);text-align:center}
.bt-repet-acoes{padding:10px 12px;border-top:1px solid var(--bt-border-soft);
  background:var(--bt-surface-subtle)}
.bt-checks-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* lista do roteiro: 9 colunas */
.bt-table-roteiro{min-width:1360px}
.bt-table-roteiro .bt-tr{grid-template-columns:80px minmax(140px,1fr) minmax(170px,1.2fr) 96px 120px 130px 140px 120px 150px}

/* lista: 8 colunas */
.bt-table-usuario-portal{min-width:1280px}
.bt-table-usuario-portal .bt-tr{grid-template-columns:80px minmax(150px,1fr) minmax(170px,1.2fr) minmax(140px,1fr) minmax(180px,1.3fr) 104px 116px 132px}

@media (max-width:860px){
  .bt-checks,.bt-checks-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.bt-check input{width:15px;height:15px;accent-color:var(--bt-primary)}

/* -------------------------------------------------------------- 8. LANDING */
.lp{color:var(--bt-text);background:#fff}
.lp-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.lp-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid #e8ebf0}
.lp-header .lp-wrap{height:66px;display:flex;align-items:center;gap:28px}
.lp-wordmark{display:flex;align-items:baseline;gap:1px;font-size:20px;letter-spacing:-.4px}
.lp-wordmark b{font-weight:700}
.lp-wordmark span{font-weight:500;color:var(--bt-success)}
.lp-nav{display:flex;gap:22px;margin-left:14px;flex-wrap:wrap}
.lp-nav a{font-size:13.5px;color:#4a5768}
.lp-nav a:hover{color:var(--bt-primary)}
.lp-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;
  border:1px solid #dfe4ec;border-radius:9px;font-size:13.5px;color:var(--bt-text);background:#fff}
.lp-btn:hover{background:var(--bt-bg);color:var(--bt-text)}
.lp-btn .bt-ico{font-size:18px;color:var(--bt-text-faint)}
.lp-btn-primary{background:var(--bt-primary);border-color:var(--bt-primary);color:#fff;font-weight:500}
.lp-btn-primary .bt-ico{color:#fff}
.lp-btn-primary:hover{background:var(--bt-primary-hover);color:#fff}
.lp-btn-lg{height:46px;padding:0 20px;font-size:14.5px;border-radius:10px}
.lp-btn-xl{height:48px;padding:0 20px;font-size:14.5px;border-radius:10px;font-weight:500}

.lp-hero{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);border-bottom:1px solid var(--bt-border-soft)}
.lp-hero .lp-wrap{padding:64px 28px 56px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.lp-hero-col{display:flex;flex-direction:column;gap:22px}
.lp-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:28px;padding:0 12px;
  background:var(--bt-primary-soft);border:1px solid var(--bt-primary-soft-border);border-radius:15px;
  font-size:12.5px;color:var(--bt-primary);font-weight:500}
.lp-h1{font-size:52px;line-height:1.06;letter-spacing:-1.6px;font-weight:600}
.lp-lead{font-size:16.5px;line-height:1.6;color:#4a5768;max-width:520px}
.lp-seals{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--bt-text-muted)}
.lp-seals span{display:flex;align-items:center;gap:6px}
.lp-seals .bt-ico{font-size:17px;color:var(--bt-success)}
.lp-mock{border:1px solid var(--bt-border);border-radius:14px;background:#fff;
  box-shadow:var(--bt-shadow-hero);overflow:hidden}
.lp-mock-bar{display:flex;align-items:center;gap:7px;padding:10px 12px;
  border-bottom:1px solid var(--bt-border-soft);background:var(--bt-surface-subtle)}
.lp-mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--bt-border)}
.lp-mock-url{margin-left:8px;font-family:var(--bt-mono);font-size:11px;color:var(--bt-text-faint)}
.lp-ph{display:flex;align-items:center;justify-content:center;font-family:var(--bt-mono);
  font-size:12px;color:var(--bt-text-faint);background:repeating-linear-gradient(135deg,#f7f9fb 0 10px,#fff 10px 20px)}
.lp-mini{display:flex;gap:12px}
.lp-mini > div{flex:1;border:1px solid var(--bt-border);border-radius:11px;padding:12px 14px;background:#fff}
.lp-mini-label{font-size:11px;letter-spacing:.5px;color:var(--bt-text-faint);font-weight:600}
.lp-mini-value{font-size:20px;font-weight:600;font-family:var(--bt-mono)}

.lp-dark{background:var(--bt-dark);color:#fff}
.lp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:38px 28px}
.lp-stat b{display:block;font-size:34px;font-weight:600;letter-spacing:-1px;color:#fff}
.lp-stat span{font-size:13px;color:var(--bt-dark-text)}

.lp-eyebrow{font-size:12.5px;letter-spacing:1.2px;color:var(--bt-primary);font-weight:600}
.lp-h2{font-size:34px;letter-spacing:-.9px;font-weight:600;line-height:1.15}
.lp-h2-sm{font-size:32px;letter-spacing:-.8px;line-height:1.18}
.lp-intro{display:flex;flex-direction:column;gap:10px;max-width:640px}
.lp-p{font-size:15.5px;line-height:1.6;color:#4a5768}
.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.lp-card{border:1px solid var(--bt-border);border-radius:14px;padding:22px;background:#fff;
  display:flex;flex-direction:column;gap:12px}
.lp-card:hover{border-color:var(--bt-primary-soft-border);box-shadow:var(--bt-shadow-float)}
.lp-card h3{font-size:18px;font-weight:600}
.lp-card p{font-size:14px;line-height:1.6;color:#4a5768}
.lp-sq{width:34px;height:34px;border-radius:9px;background:var(--bt-primary-soft);color:var(--bt-primary);
  display:flex;align-items:center;justify-content:center;font-size:20px}
.lp-sq-lg{width:38px;height:38px;border-radius:10px;font-size:21px}
.lp-sq-green{background:var(--bt-success-soft);color:var(--bt-success-text)}
.lp-num{font-family:var(--bt-mono);font-size:12px;color:var(--bt-text-faint)}

.lp-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.lp-diagram{border:1px solid var(--bt-border);border-radius:var(--bt-r-xl);background:var(--bt-surface-subtle);
  padding:24px;display:flex;flex-direction:column;gap:16px}
.lp-flow{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:10px}
.lp-node{background:#fff;border:1px solid var(--bt-border);border-radius:var(--bt-r-lg);padding:16px;
  display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.lp-node-primary{background:var(--bt-primary);border-color:var(--bt-primary);color:#fff;
  box-shadow:0 6px 18px rgba(8,41,89,.22)}
.lp-node-primary .bt-ico{color:#fff}
.lp-arrow{display:flex;align-items:center;justify-content:center;font-size:24px;color:#b9c3d1}
.lp-dest{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lp-dest > div{background:#fff;border:1px solid var(--bt-border);border-radius:var(--bt-r-md);
  padding:12px;display:flex;align-items:center;gap:9px}

.lp-soft{background:#f7f9fc;border-top:1px solid var(--bt-border-soft);border-bottom:1px solid var(--bt-border-soft)}
.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 26px;margin-top:30px}
.lp-feature{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #e8ebf0;
  font-size:14px;color:var(--bt-text-2)}
.lp-feature .bt-ico{font-size:18px;line-height:1.3;color:var(--bt-success)}
.lp-diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lp-diff{display:flex;flex-direction:column;gap:9px}
.lp-diff div{font-size:15.5px;font-weight:600}
.lp-diff p{font-size:13.5px;line-height:1.6;color:#4a5768}

.lp-integr{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.lp-integr > div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:11px;padding:14px}
.lp-integr b{display:block;font-size:14.5px;font-weight:600;color:#fff}
.lp-integr span{font-size:11.5px;color:var(--bt-dark-text);margin-top:3px;display:block}
.lp-integr .is-more{background:rgba(8,41,89,.22);border-color:#54779e}
.lp-integr .is-more span{color:#9cb6d3}

.lp-play{width:58px;height:58px;border-radius:50%;background:var(--bt-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 8px 20px rgba(8,41,89,.3)}
.lp-proof{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--bt-text-2)}
.lp-proof i{width:7px;height:7px;border-radius:50%;background:var(--bt-success);flex:none}

.lp-faq{background:#fff;border:1px solid var(--bt-border);border-radius:14px;overflow:hidden}
.lp-faq-item{border-bottom:1px solid var(--bt-border-soft)}
.lp-faq-item:last-child{border-bottom:none}
.lp-faq-q{display:flex;align-items:center;gap:12px;width:100%;padding:16px 18px;background:none;
  border:none;text-align:left;font-size:14.5px;font-weight:500;color:var(--bt-text)}
.lp-faq-q:hover{background:var(--bt-surface-subtle)}
.lp-faq-q .bt-ico{font-size:20px;color:var(--bt-text-faint);transition:transform .18s ease}
.lp-faq-item.is-open .lp-faq-q .bt-ico{transform:rotate(45deg);color:var(--bt-primary)}
.lp-faq-a{display:none}
.lp-faq-item.is-open .lp-faq-a{display:block}
.lp-faq-a p{font-size:14px;line-height:1.65;color:#4a5768;padding:0 18px 17px}

.lp-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:28px}
.lp-logo{height:74px;border:1px solid #e8ebf0;border-radius:11px;display:flex;align-items:center;
  justify-content:center;font-family:var(--bt-mono);font-size:11px;color:var(--bt-text-faint);
  background:repeating-linear-gradient(135deg,#f8f8f5 0 8px,#fff 8px 16px)}
.lp-logo-more{background:none;border-style:dashed;border-color:#dfe4ec;font-family:var(--bt-font);font-size:12.5px}

.lp-cta{background:var(--bt-primary)}
.lp-cta .lp-wrap{padding:62px 28px;display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.lp-cta h2{color:#fff}
.lp-cta p{font-size:15px;line-height:1.6;color:#d5e2ed;max-width:560px}
.lp-btn-white{background:#fff;border-color:#fff;color:var(--bt-primary)}
.lp-btn-white .bt-ico{color:var(--bt-primary)}
.lp-btn-white:hover{background:#e8ebf0;color:var(--bt-primary)}
.lp-btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
.lp-btn-ghost .bt-ico{color:#fff}
.lp-btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff}

.lp-footer{background:var(--bt-dark)}
.lp-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding:52px 28px 22px}
.lp-footer-col{display:flex;flex-direction:column;gap:10px}
.lp-footer-title{font-size:11.5px;letter-spacing:1px;color:#7f8fa8;font-weight:600}
.lp-footer a,.lp-footer-text{font-size:13px;color:var(--bt-dark-text-2);line-height:1.6}
.lp-footer a:hover{color:#fff}
.lp-seal{height:26px;padding:0 10px;display:inline-flex;align-items:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:13px;
  font-size:11.5px;color:var(--bt-dark-text-2)}
.lp-footer-bar{padding:16px 28px 30px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#7f8fa8}
.lp-footer-bar a{font-size:12px;color:#7f8fa8}

.lp-section{padding:72px 28px}
.lp-section-sm{padding:68px 28px}

/* ------------------------------------------------ 8b. TOM SELECT (busca) */
/* O Tom Select entra como progressive enhancement: o `<select>` continua no
   DOM (é ele que o formulário envia e a validação lê), e o que aparece é o
   controle abaixo. As medidas repetem as de .bt-select para que um campo com
   busca e um sem fiquem alinhados na mesma grade. */
/* O Tom Select copia as classes do <select> para o wrapper, então o wrapper
   nasce com .bt-select — e com a altura fixa de 38px que o .bt-select tem.
   Aqui essa herança é desfeita: quem desenha a caixa é o .ts-control, e o
   wrapper volta a ser só um contêiner que acompanha a altura dele. */
.ts-wrapper{width:100%;min-width:0;height:auto;padding:0;border:0;background:none;box-shadow:none}
.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control{
  min-height:38px;padding:0 11px;background:#fff;border:1px solid var(--bt-input-border);
  border-radius:var(--bt-r);font-size:13px;color:var(--bt-text);box-shadow:none;
  display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.ts-wrapper.single .ts-control{padding-right:30px}
/* teto de altura no múltiplo: a partir de ~4 linhas de chips a caixa rola em
   vez de crescer, para que uma seleção grande não empurre o resto da etapa */
.ts-wrapper.multi .ts-control{
  padding:5px 8px;min-height:38px;align-items:flex-start;align-content:flex-start;
  max-height:124px;overflow-x:hidden;overflow-y:auto}
.ts-wrapper.focus .ts-control{outline:2px solid var(--bt-focus);outline-offset:0;border-color:var(--bt-primary)}
.ts-wrapper.disabled .ts-control{background:var(--bt-bg);color:var(--bt-text-faint);opacity:1}
.ts-control input{font-size:13px;color:var(--bt-text)}
/* o campo de digitação acompanha a altura do chip e aceita ficar estreito,
   senão o min-width padrão do Tom Select joga ele sozinho para a linha de baixo */
.ts-wrapper.multi .ts-control > input{min-width:3.5rem;height:24px;line-height:24px}
.ts-control input::placeholder{color:var(--bt-text-faint)}

/* seta do single, no mesmo lugar do select nativo */
.ts-wrapper.single .ts-control::after{
  content:'';position:absolute;right:12px;top:50%;margin-top:-2px;
  border:4px solid transparent;border-top-color:var(--bt-text-faint)}
.ts-wrapper.single.dropdown-active .ts-control::after{margin-top:-6px;
  border-top-color:transparent;border-bottom-color:var(--bt-text-faint)}

/* item escolhido no múltiplo: o mesmo chip do resto do sistema */
.ts-wrapper.multi .ts-control > .item{
  display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 6px 0 9px;
  background:var(--bt-primary-soft);border:1px solid var(--bt-primary-soft-border);
  border-radius:13px;font-size:12.5px;color:var(--bt-primary);max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-wrapper.multi .ts-control > .item.active{background:#e6edf4}
.ts-wrapper.multi .ts-control > .item .remove{
  border:none;padding:0 1px;color:var(--bt-primary);text-decoration:none;font-size:13px;line-height:1}
.ts-wrapper.multi .ts-control > .item .remove:hover{background:transparent;color:var(--bt-primary-hover)}

.ts-dropdown{margin-top:4px;background:#fff;border:1px solid var(--bt-border);
  border-radius:var(--bt-r);box-shadow:0 6px 18px rgba(16,24,40,.10);font-size:13px;z-index:40}
.ts-dropdown .option{padding:8px 11px;color:var(--bt-text-2);line-height:1.35}
.ts-dropdown .option .ts-sub{display:block;font-size:11.5px;color:var(--bt-text-faint);margin-top:1px}
.ts-dropdown .active{background:var(--bt-primary-soft);color:var(--bt-primary)}
.ts-dropdown .active .ts-sub{color:var(--bt-primary)}
.ts-dropdown .selected{font-weight:500}
.ts-dropdown .no-results{padding:10px 11px;color:var(--bt-text-faint);font-size:12.5px}
.ts-dropdown .optgroup-header{padding:7px 11px;font-size:10.5px;letter-spacing:.6px;
  color:var(--bt-text-faint);font-weight:600;text-transform:uppercase}

/* campo com erro: a borda vermelha precisa alcançar o controle do Tom Select,
   que substitui visualmente o <select> marcado como inválido */
.bt-field.is-invalid .ts-control{border-color:var(--bt-danger);background:#fffafb}

/* ------------------------------------- 8c. RETORNO DA API (consulta) */
/* Desenhado pelo JS a partir do payload: um cartão por matrícula, com o JSON
   cru disponível ao lado. As medidas acompanham .bt-field para o bloco não
   parecer outro sistema colado dentro da tela. */
.bt-ret{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.bt-ret-card{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);background:#fff;
  padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.bt-ret-head{display:flex;align-items:center;gap:10px}
.bt-ret-card > .bt-btn{align-self:flex-start}
.bt-ret-nome{font-size:14px;font-weight:600;color:var(--bt-text);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-ret-titulo{font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;font-weight:600;
  color:var(--bt-text-faint);border-top:1px solid var(--bt-border-soft);padding-top:10px}
.bt-ret-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 14px}
.bt-ret-sub{background:var(--bt-bg);border:1px solid var(--bt-border-soft);
  border-radius:var(--bt-r);padding:10px 12px}
.bt-ret-item{min-width:0}
.bt-ret-rotulo{font-size:11px;color:var(--bt-text-faint);margin-bottom:2px}
.bt-ret-valor{font-size:13px;color:var(--bt-text);overflow-wrap:anywhere}
/* ---------------------------------------------------------------- execução
   O painel de andamento da conciliação: etapa a etapa, com a barra medindo
   etapa concluída + progresso dentro da etapa atual. A marca de cada etapa é
   forma E cor (○ esperando, ● rodando, ✓ pronta) — nunca só a cor. */
.bt-exec{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);background:var(--bt-surface);
  padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.bt-exec-head{display:flex;align-items:center;gap:10px}
.bt-exec-titulo{font-size:13.5px;font-weight:600;color:var(--bt-text)}
.bt-exec-tempo{font-size:12px;color:var(--bt-text-faint)}
.bt-exec-barra{height:6px;border-radius:99px;background:var(--bt-bg);overflow:hidden}
.bt-exec-barra-fill{height:100%;border-radius:99px;background:var(--bt-primary);
  transition:width .35s ease}
.bt-exec-etapas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bt-exec-etapa{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--bt-text-faint)}
.bt-exec-nome{flex:1;min-width:0}
.bt-exec-conta{font-size:11.5px;color:var(--bt-text-faint)}
.bt-exec-marca{width:14px;height:14px;border-radius:50%;flex:none;
  border:1.5px solid var(--bt-border);display:inline-block;position:relative}
.bt-exec-etapa.is-agora{color:var(--bt-text);font-weight:600}
.bt-exec-etapa.is-agora .bt-exec-marca{border-color:var(--bt-primary);
  background:var(--bt-primary);box-shadow:0 0 0 3px rgba(42,120,214,.16)}
.bt-exec-etapa.is-pronta{color:var(--bt-text)}
.bt-exec-etapa.is-pronta .bt-exec-marca{border-color:#00b368;background:#00b368}
.bt-exec-etapa.is-pronta .bt-exec-marca::after{content:"";position:absolute;left:4px;top:1px;
  width:3px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
/* os gráficos do resultado nascem dentro do cartão de retorno */
.bt-ret-graficos{margin-top:2px}

/* a tabela de histórico rola sozinha em tela estreita, sem empurrar o cartão */
.bt-ret-hist{display:grid;grid-template-columns:repeat(5,minmax(84px,1fr));gap:6px 12px;
  font-size:12.5px;overflow-x:auto}
.bt-ret-hist-th{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--bt-text-faint)}
/* Conferência: declarado x devolvido, quatro colunas.
   A quarta é estreita de propósito — ela carrega só a pílula de veredito, e é
   a coluna que o operador varre de cima a baixo procurando "diverge". */
.bt-conf{display:grid;grid-template-columns:minmax(96px,.9fr) minmax(110px,1.1fr) minmax(110px,1.1fr) minmax(104px,auto);
  gap:6px 12px;font-size:12.5px;align-items:center;overflow-x:auto;
  padding:10px 0;border-top:1px solid var(--bt-border-soft)}
.bt-conf-legenda{font-size:11px;color:var(--bt-text-faint);margin-top:6px}
.bt-conf-na{color:var(--bt-text-faint);font-size:11.5px;font-style:italic}
/* a pílula de veredito é ícone + texto, nunca só a cor */
.bt-pill-conf{gap:4px}
.bt-pill-conf .bt-ico{font-size:14px}

.bt-ret-json{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);background:var(--bt-bg);padding:10px 12px}
.bt-ret-json summary{cursor:pointer;font-size:12.5px;color:var(--bt-text-2)}
.bt-ret-json .bt-btn{margin-top:8px}
.bt-ret-pre{margin:8px 0 0;padding:10px;background:#fff;border:1px solid var(--bt-border-soft);
  border-radius:var(--bt-r);font-family:var(--bt-mono);font-size:11.5px;line-height:1.5;
  color:var(--bt-text-2);max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.bt-empty-inline{padding:14px;border:1px dashed var(--bt-border);border-radius:var(--bt-r-md);
  font-size:13px;color:var(--bt-text-faint);text-align:center}
/* linhas rejeitadas do lote, listadas de volta com o número da linha */
.bt-rejeitadas{max-height:220px;overflow:auto;border:1px solid var(--bt-warning-border);
  border-radius:var(--bt-r);background:var(--bt-warning-soft);padding:8px 10px;font-size:12.5px}
.bt-rejeitadas div{display:flex;gap:8px;padding:2px 0}
.bt-rejeitadas b{font-family:var(--bt-mono);font-weight:500;min-width:52px}

/* Comprovante da averbação: o documento que o órgão devolveu, em base64.
   Altura fixa para o PDF não empurrar o resto da tela para fora da dobra. */
.bt-ret-comprovante{display:block;margin-top:10px}
.bt-ret-comprovante-corpo{display:flex;flex-direction:column;gap:8px;align-items:flex-start;color:var(--bt-text)}
.bt-ret-comprovante-corpo .bt-ret-doc{width:100%}
.bt-ret-doc{width:100%;max-width:640px;height:360px;border:1px solid var(--bt-border);
  border-radius:var(--bt-r);background:#fff;object-fit:contain}
img.bt-ret-doc{height:auto;max-height:360px}
/* Comprovante em texto puro: rolagem própria, para um retorno de 400 linhas
   não empurrar o resto do cartão para fora da tela. */
pre.bt-ret-texto{height:auto;max-height:360px;overflow:auto;margin:0;padding:10px;
  font-family:var(--bt-mono);font-size:12px;line-height:1.5;white-space:pre-wrap;
  word-break:break-word;color:var(--bt-text)}

/* --------------------------------------- 8d. PAINEL DE FILTRO (lista) */
/* A lista de movimentos filtra por período obrigatório, e o resto fica atrás
   de um <details> — os seis campos abertos de uma vez empurrariam a tabela
   para baixo da dobra em tela de notebook. */
.bt-filtro{padding:14px;border-bottom:1px solid var(--bt-border-soft);
  background:var(--bt-surface-subtle);display:flex;flex-direction:column;gap:10px}
.bt-filtro .bt-grid{gap:10px}
/* Os botões acompanham a base dos campos, não o topo do rótulo. */
.bt-filtro-acoes{flex-direction:row;align-items:flex-end;gap:8px}
.bt-filtro-acoes .bt-btn{height:38px}
.bt-filtro-mais > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;color:var(--bt-primary);padding:2px 0;user-select:none}
.bt-filtro-mais > summary::-webkit-details-marker{display:none}
.bt-filtro-mais > summary::before{content:'▸';font-size:11px}
.bt-filtro-mais[open] > summary::before{content:'▾'}
.bt-filtro-mais > .bt-grid{margin-top:10px}
/* Campo com operador à esquerda ("Começa com" + a matrícula). Os dois são um
   campo só para quem olha: o seletor encolhe até o texto e o resto é do input,
   que continua sendo o que recebe o foco e a validação. */
.bt-input-group{display:flex;gap:6px;align-items:stretch}
.bt-input-group > .bt-select-sm{height:38px;flex:0 0 auto;min-width:104px}
.bt-input-group > .bt-input{flex:1 1 auto;min-width:0}
/* Botão de apoio dentro da dica do campo ("Vários", que troca o campo de CPF
   por uma área de texto). Discreto de propósito: é uma opção, não uma ação. */
.bt-btn-ghost{height:24px;padding:0 8px;font-size:11.5px;background:transparent;border-style:dashed}
.bt-note-alerta{margin:12px 14px 0;background:var(--bt-warning-soft);
  border-color:var(--bt-warning-border);color:var(--bt-warning)}

/* -------------------------------------------- 8e. PAINÉIS E INDICADORES */
/* Cartão de número, área de gráfico e a tabela que acompanha cada gráfico.
   A tabela NÃO é enfeite: três tons da paleta ficam abaixo de 3:1 contra o
   branco, e a regra é que a cor nunca carregue a informação sozinha. */
.bt-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(186px,1fr))}
/* Ícone à esquerda, texto à direita, e a nota empurrada para o rodapé do
   cartão: é isso que mantém os seis na MESMA linha de base quando um deles
   tem apoio de duas linhas ("consulta, processando, reservado"). Sem o
   `margin-top:auto` na nota, aquele cartão sobe e a fileira desalinha. */
.bt-kpi{background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:var(--bt-r-md);
  padding:14px 16px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;
  align-items:start;min-height:128px;box-shadow:var(--bt-shadow-card)}
.bt-kpi-txt{display:flex;flex-direction:column;gap:3px;min-width:0;height:100%}
.bt-kpi-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;flex:none}
.bt-kpi-ico .bt-ico{font-size:20px;line-height:1}
/* O ícone é identidade do indicador, não estado: a cor dele nunca muda com o
   valor. Quem muda com o valor é o selo de variação, e só ele. */
.bt-kpi-ico-azul{background:#eaf0ff;color:#2b52c9}
.bt-kpi-ico-verde{background:#e3f5eb;color:#00884f}
.bt-kpi-ico-roxo{background:#f0eafd;color:#6435c9}
.bt-kpi-ico-vermelho{background:#fdeaea;color:#b42318}
.bt-kpi-ico-ambar{background:#fdf1de;color:#8a4b06}
.bt-kpi-ico-ciano{background:#e2f4f8;color:#0e6b7d}
/* `--bt-text-muted` e não `--bt-text-faint`: o cinza mais claro fica em 3,1:1
   no branco e some num projetor — justamente no texto que diz de quais status
   o número é feito. */
/* Duas linhas reservadas sempre: "Taxa de averbação" cabe em uma e
   "Aguardando o órgão" em duas, e sem a altura fixa os valores da fileira
   ficam em duas alturas diferentes — 15px de desalinho que se vê de longe. */
.bt-kpi-rotulo{font-size:11.5px;color:var(--bt-text-muted);display:flex;align-items:flex-start;gap:6px;
  line-height:1.3;min-height:2.6em}
.bt-kpi-valor{font-size:25px;font-weight:600;letter-spacing:-.5px;line-height:1.15;
  font-family:var(--bt-mono);color:var(--bt-text)}
.bt-kpi-nota{font-size:11.5px;color:var(--bt-text-muted);line-height:1.35;margin-top:auto;padding-top:4px}
.bt-kpi-valor.is-bom{color:var(--bt-success-text)}
.bt-kpi-valor.is-ruim{color:var(--bt-danger)}

/* Selo de variação. A SETA vem do sinal; a COR vem de qual direção é boa
   para aquele indicador. São dois canais separados de propósito: com um só,
   "sem sucesso subiu" fica verde e "a fila encolheu" fica vermelho. */
.bt-kpi-var{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;
  font-size:11.5px;font-weight:600;font-family:var(--bt-mono);
  padding:2px 8px;border-radius:999px;white-space:nowrap}
.bt-kpi-var .seta{font-size:12px;line-height:1}
.bt-kpi-var.is-bom{background:#e3f5eb;color:#00884f}
.bt-kpi-var.is-ruim{background:#fdeaea;color:#b42318}
.bt-kpi-var.is-neutro{background:#eef1f5;color:#566276}

/* Título de seção entre os blocos da tela. Dá ao operador o mesmo mapa que a
   apresentação usa: principais, complementares, visão geral, detalhe. */
.bt-secao{margin:22px 0 10px}
.bt-secao:first-child{margin-top:0}
.bt-secao-titulo{font-size:14.5px;font-weight:600;color:var(--bt-text);letter-spacing:-.1px}
.bt-secao-desc{font-size:12px;color:var(--bt-text-muted);margin-top:1px}
.bt-secao-linha{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bt-secao-nota{font-size:11.5px;color:var(--bt-text-muted);font-family:var(--bt-mono)}

/* Ícone ao lado do título do painel, como no leiaute novo. */
.bt-painel-ico{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;
  justify-content:center;background:var(--bt-primary-soft);color:var(--bt-primary);flex:none;
  margin-right:9px}
.bt-painel-ico .bt-ico{font-size:15px;line-height:1}
.bt-painel-head-txt{display:flex;align-items:center;min-width:0}

.bt-paineis{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}
.bt-painel{grid-column:span 12;background:var(--bt-surface);border:1px solid var(--bt-border);
  border-radius:var(--bt-r-md);box-shadow:var(--bt-shadow-card);display:flex;flex-direction:column;min-width:0}
.bt-painel-6{grid-column:span 6}
.bt-painel-4{grid-column:span 4}
/* Metade por padrão, um quarto só quando há largura de verdade. Com quatro
   painéis lado a lado num monitor comum sobram ~215px de desenho por painel,
   e "Consulta de margem" vira "Consulta de mar…" em todas as barras. */
.bt-painel-3{grid-column:span 6}
@media (min-width:1600px){ .bt-painel-3{grid-column:span 3} }
.bt-painel-8{grid-column:span 8}
.bt-painel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--bt-border-soft)}
.bt-painel-titulo{font-size:13.5px;font-weight:600;color:var(--bt-text)}
.bt-painel-desc{font-size:11.5px;color:var(--bt-text-faint)}
.bt-painel-corpo{padding:12px 12px 14px;min-width:0}

/* Estado vazio do gráfico: o texto entra por ::after para o container não
   precisar ser esvaziado — o canvas do ECharts continua vivo por baixo. */
.bt-grafico{position:relative;min-width:0}
.bt-grafico.is-vazio::after{content:attr(data-vazio-texto);position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;font-size:12.5px;color:var(--bt-text-faint);
  background:var(--bt-surface)}

.bt-tabela-dados{width:100%;border-collapse:collapse;font-size:12.5px}
.bt-tabela-dados th{text-align:left;font-weight:600;font-size:10.5px;letter-spacing:.6px;
  text-transform:uppercase;color:var(--bt-text-faint);padding:6px 8px;border-bottom:1px solid var(--bt-border)}
.bt-tabela-dados td{padding:7px 8px;border-bottom:1px solid var(--bt-border-row);color:var(--bt-text-2)}
.bt-tabela-dados tr:last-child td{border-bottom:none}
.bt-tabela-dados .num{text-align:right;font-family:var(--bt-mono)}
.bt-tabela-rolagem{max-height:320px;overflow:auto}
.bt-ponto{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:7px;flex:none}

/* Aba de dimensão do ranking (órgão, UF, convênio…). */
.bt-dims{display:flex;gap:2px;flex-wrap:wrap}
.bt-dim{padding:5px 10px;font-size:12.5px;border-radius:999px;color:var(--bt-text-muted);
  border:1px solid transparent;background:transparent}
.bt-dim:hover{background:var(--bt-bg);color:var(--bt-text)}
.bt-dim.is-active{background:var(--bt-primary-soft);border-color:var(--bt-primary-soft-border);
  color:var(--bt-primary);font-weight:500}

/* Pílula de situação do monitoramento. */
.bt-sit{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}
.bt-sit::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.bt-sit-alerta{color:var(--bt-danger)}
.bt-sit-normalizado{color:var(--bt-success-text)}

@media (max-width:1180px){
  .bt-painel-6,.bt-painel-4,.bt-painel-8{grid-column:span 12}
  .bt-painel-3{grid-column:span 12}
}

/* ------------------------------------------------------------ 9. RESPONSIVO */
@media (max-width:1100px){
  .bt-sidebar{width:64px;overflow:hidden}
  .bt-sidebar .bt-menu-item span:not(.bt-ico),
  .bt-menu-title,.bt-sidebar-foot,.bt-menu-sub{display:none}
  .bt-menu-item{justify-content:center;padding:10px 0}
  .bt-menu-item.is-active{padding-left:0}
  .bt-main{padding:18px 16px 32px}
  .bt-g3,.bt-g4,.bt-g-code{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt-rail{width:64px}
  .bt-rail .bt-rail-item{justify-content:center;padding:9px 0}
  .bt-rail-item span:not(.bt-rail-num),.bt-rail-title,.bt-rail-note{display:none}
  .lp-hero .lp-wrap,.lp-split{grid-template-columns:1fr;gap:32px}
  .lp-h1{font-size:38px;letter-spacing:-1px}
  .lp-cards,.lp-features,.lp-diffs{grid-template-columns:repeat(2,1fr)}
  .lp-stats{grid-template-columns:repeat(2,1fr)}
  .lp-logos{grid-template-columns:repeat(3,1fr)}
  .bt-auth{grid-template-columns:1fr}
  .bt-auth-side{display:none}
}
@media (max-width:720px){
  .bt-header-top{gap:10px}
  .bt-search,.bt-user-name,.bt-user-role,.bt-kbd{display:none}
  .bt-g2,.bt-g3,.bt-g4,.bt-g-code,.bt-g-auto{grid-template-columns:1fr}
  .bt-form-body{flex-direction:column}
  .bt-rail{width:100%;border-right:none;border-bottom:1px solid var(--bt-border-soft);
    display:flex;gap:4px;overflow-x:auto;padding:10px}
  .lp-cards,.lp-features,.lp-diffs,.lp-integr,.lp-stats,.lp-footer-grid{grid-template-columns:1fr}
  .lp-logos{grid-template-columns:repeat(2,1fr)}
  .lp-section,.lp-section-sm{padding:44px 20px}
}

/* ---------------------------------------------------------- 10. IMPRESSÃO */
@media print{
  .bt-header,.bt-sidebar,.bt-actions,.bt-form-foot,.bt-filters,.bt-pager{display:none!important}
  body{background:#fff}
  .bt-card{box-shadow:none;border-color:#ccc}
}

/* Monitoramento: lista em largura total, resumo e barras secundárias. */
.bt-monitor{gap:20px}
.bt-monitor .bt-h1{font-size:27px;letter-spacing:-.6px}
.bt-monitor-filtro{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}
.bt-monitor-filtro .bt-field{width:190px}
.bt-monitor-filtro .bt-btn{height:38px;min-width:140px}
.bt-monitor-consulta{font-size:12px;color:var(--bt-text-muted);padding-bottom:10px}
.bt-monitor-corpo{position:relative;display:flex;flex-direction:column;gap:20px;min-height:300px}
.bt-monitor-aviso{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;
  border:1px solid var(--bt-danger-border);background:var(--bt-danger-soft);color:var(--bt-danger)}
.bt-monitor-aviso strong{display:block;font-size:13.5px;font-weight:600}
.bt-monitor-aviso p{font-size:12.5px;margin-top:2px}
.bt-monitor-aviso.is-normal{background:var(--bt-success-soft);border-color:var(--bt-success-border);color:var(--bt-success-text)}
.bt-monitor-aviso.is-neutro{background:var(--bt-surface);border-color:var(--bt-border);color:var(--bt-text-muted)}
.bt-monitor-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bt-monitor-kpi{background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:10px;padding:18px 20px}
.bt-monitor-kpi h2{font-size:13px;font-weight:500;color:var(--bt-text-muted)}
.bt-monitor-valor{font-size:32px;line-height:1.2;font-weight:600;letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin:8px 0 4px}
.bt-monitor-valor.is-ruim{color:var(--bt-danger)}
.bt-monitor-valor.is-bom{color:var(--bt-success-text)}
.bt-monitor-kpi p{font-size:12px;color:var(--bt-text-muted)}
.bt-monitor-lista{background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:10px;overflow:hidden}
.bt-monitor-lista-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px 0}
.bt-monitor-lista-head h2{font-size:15px;font-weight:600}
.bt-monitor-lista-head > span{font-size:12px;color:var(--bt-text-muted)}
.bt-monitor-abas{display:flex;gap:22px;flex-wrap:wrap;padding:10px 20px 0;border-bottom:1px solid var(--bt-border)}
.bt-monitor-abas button{display:flex;align-items:center;gap:7px;padding:10px 0;background:none;border:none;
  border-bottom:2px solid transparent;color:var(--bt-text-muted);font-size:13px}
.bt-monitor-abas button[aria-pressed="true"]{border-bottom-color:var(--bt-primary);color:var(--bt-primary);font-weight:600}
.bt-monitor-abas button span{font-size:11px;border-radius:5px;background:var(--bt-bg);padding:1px 6px;font-variant-numeric:tabular-nums}
.bt-monitor-abas button:disabled{cursor:wait;opacity:.6}
.bt-monitor-abas button:focus-visible{outline:2px solid var(--bt-primary);outline-offset:3px}
.bt-monitor-tabela{overflow-x:auto;min-height:120px}
.bt-monitor-tabela table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}
.bt-monitor-tabela th{font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;
  color:var(--bt-text-muted);padding:12px 20px;background:var(--bt-surface-subtle)}
.bt-monitor-tabela td{padding:16px 20px;border-top:1px solid var(--bt-border-soft);font-size:13px;color:var(--bt-text-2)}
.bt-monitor-tabela tbody tr:hover{background:var(--bt-surface-subtle)}
.bt-monitor-tabela strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.bt-monitor-tabela small{display:block;font-size:12px;color:var(--bt-text-muted);margin-top:3px}
.bt-monitor-tabela .num{text-align:right;font-variant-numeric:tabular-nums}
.bt-monitor-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;
  background:var(--bt-danger-soft);color:var(--bt-danger);font-size:12px;font-weight:500;white-space:nowrap}
.bt-monitor-status.is-normal{background:var(--bt-success-soft);color:var(--bt-success-text)}
.bt-monitor-rodape{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--bt-border-soft);color:var(--bt-text-muted);font-size:12px}
.bt-monitor-sistemas .bt-monitor-lista-head{padding:0}
.bt-monitor-barras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin-top:14px}
.bt-monitor-barra-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--bt-text-muted);margin-bottom:7px}
.bt-monitor-barra-head span{overflow-wrap:anywhere;min-width:0}
.bt-monitor-barra-trilho{height:6px;background:var(--bt-border);border-radius:4px;overflow:hidden}
.bt-monitor-barra-fill{height:100%;background:var(--bt-primary);opacity:.7;border-radius:4px}
.bt-monitor-vazio{padding:32px 20px;text-align:center;color:var(--bt-text-muted);font-size:13px}
@media(max-width:900px){.bt-monitor-kpi{padding:15px}.bt-monitor-barras{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bt-monitor .bt-h1{font-size:24px}.bt-monitor-kpis{grid-template-columns:1fr;gap:10px}
  .bt-monitor-kpi{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px}
  .bt-monitor-valor{grid-column:2;grid-row:1 / span 2;margin:0}.bt-monitor-kpi p{grid-column:1;grid-row:2}
  .bt-monitor-barras{grid-template-columns:1fr}.bt-monitor-abas{gap:14px;padding-left:14px;padding-right:14px}
  .bt-monitor-filtro .bt-field{flex:1;min-width:150px}.bt-monitor-consulta{width:100%;padding:0}}
@media(prefers-reduced-motion:reduce){.bt-monitor .bt-spin{animation:none}}

/* Relatório da conciliação — estilos limitados a esta tela. */
.bt-relatorio{gap:22px}
.bt-relatorio .bt-h1{font-size:27px;letter-spacing:-.6px}
.bt-relatorio .bt-page-meta{font-size:13px;max-width:720px}
.bt-relatorio .bt-painel-desc{font-size:12px;color:var(--bt-text-muted);line-height:1.5}
.bt-rel-filtro-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:17px 20px 0}
.bt-rel-filtro-head h2{font-size:14px;font-weight:600}
.bt-rel-filtro-head span{font-size:12px;color:var(--bt-text-muted)}
.bt-relatorio .bt-filtro{padding:16px 20px;background:var(--bt-surface);gap:14px}
.bt-rel-filtro-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start}
.bt-rel-busca-grid{grid-template-columns:minmax(240px,1fr) auto;align-items:end}
.bt-relatorio .bt-filters{padding:0 20px 14px;border:0;min-height:0}
.bt-relatorio .bt-filters:not(:has(.bt-chip)){display:none}
.bt-relatorio .bt-label{font-size:12px;color:var(--bt-text-2)}
.bt-rel-secao{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bt-rel-secao h2{font-size:15px;font-weight:600}
.bt-rel-secao > span{font-size:12px;color:var(--bt-text-muted)}
.bt-rel-valores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bt-rel-valor{padding:20px;background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:10px;min-width:0}
.bt-rel-valor h3{font-size:13px;font-weight:500;color:var(--bt-text-muted);margin-bottom:11px}
.bt-rel-numero{font-size:clamp(20px,2.1vw,29px);font-weight:600;line-height:1.3;letter-spacing:-.6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bt-rel-valor p{font-size:12px;color:var(--bt-text-muted);margin-top:9px}
.bt-rel-valor p strong{font-weight:500}
.bt-rel-diferenca{background:var(--bt-primary-soft);border-color:var(--bt-primary-soft-border)}
.bt-rel-diferenca .bt-rel-numero{color:var(--bt-primary)}
.bt-rel-contexto{display:flex;flex-wrap:wrap;gap:10px 26px;padding:13px 2px 0;color:var(--bt-text-muted);font-size:12px}
.bt-rel-contexto strong{font-weight:600;color:var(--bt-text-2);font-variant-numeric:tabular-nums}
.bt-rel-execucao{background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:10px;overflow:hidden}
.bt-rel-execucao-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;cursor:pointer;list-style:none}
.bt-rel-execucao-head::-webkit-details-marker{display:none}
.bt-rel-execucao-head:hover{background:var(--bt-surface-subtle)}
.bt-rel-execucao-head:focus-visible{outline:2px solid var(--bt-primary);outline-offset:-3px}
.bt-rel-expandir{font-size:12px;color:var(--bt-primary);display:flex;gap:10px;align-items:center;white-space:nowrap}
.bt-rel-expandir > span{font-size:18px;display:inline-block}
.bt-rel-execucao[open] .bt-rel-expandir > span{transform:rotate(180deg)}
.bt-rel-execucao[open] .bt-rel-execucao-head{border-bottom:1px solid var(--bt-border)}
.bt-rel-execucao #retornoConciliacao{margin:16px;padding:0}
.bt-relatorio .bt-painel-head{padding:16px 20px}
.bt-relatorio .bt-painel-corpo{padding:14px 16px 18px}
.bt-rel-graficos{gap:16px}
.bt-rel-graficos .bt-painel-6{grid-column:span 6}
.bt-relatorio .bt-thead{color:var(--bt-text-muted)}
.bt-relatorio .bt-table-indicadores .bt-tr{grid-template-columns:minmax(175px,1.3fr) 110px minmax(160px,1fr) minmax(160px,1fr) 155px 130px}
.bt-relatorio .bt-table-indicadores{min-width:950px}
.bt-relatorio .bt-table-indicadores .bt-tr > :not(:first-child){text-align:right}
.bt-relatorio .bt-table-indicadores .bt-td{padding:15px 16px}
.bt-relatorio .bt-table-indicadores .bt-thead > div{padding:12px 16px}
.bt-relatorio .bt-table-indicadores a.bt-tr:hover{background:var(--bt-primary-soft)}
.bt-relatorio .bt-table-indicadores a.bt-tr:focus-visible{outline:2px solid var(--bt-primary);outline-offset:-2px}
.bt-relatorio .bt-dot-pendente{background:var(--bt-warning)}
.bt-relatorio .bt-dot-indisponivel{background:var(--bt-danger)}
.bt-relatorio .bt-dot-enviando{background:var(--bt-primary)}
.bt-relatorio .bt-dot-ativo{background:var(--bt-success)}
.bt-relatorio .bt-dot-inativo{background:var(--bt-text-muted)}
.bt-relatorio .bt-table-indicadores .bt-tbody .bt-tr:last-child{border-bottom:none}
.bt-rel-tabela-ajuda{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 20px;color:var(--bt-text-muted);font-size:12px;background:var(--bt-surface-subtle);border-bottom:1px solid var(--bt-border)}
.bt-relatorio .bt-table-analitico th{color:var(--bt-text-muted);font-size:11px}
.bt-relatorio .bt-table-analitico td{padding-top:14px;padding-bottom:14px}
.bt-relatorio .bt-table-analitico tr > :nth-child(n+6):nth-child(-n+10){text-align:right}
.bt-relatorio .bt-table-analitico tbody tr:nth-child(even){background:var(--bt-surface-subtle)}
.bt-relatorio .bt-table-analitico tbody tr:hover{background:var(--bt-primary-soft)}
.bt-relatorio .bt-pager{gap:8px;flex-wrap:wrap;padding:14px 20px}
@media(max-width:980px){.bt-rel-graficos .bt-painel-6{grid-column:span 12}.bt-rel-valor{padding:16px}.bt-rel-numero{font-size:22px}}
@media(max-width:620px){.bt-relatorio .bt-h1{font-size:24px}.bt-rel-valores{grid-template-columns:1fr;gap:10px}
 .bt-rel-valor{padding:16px}.bt-rel-numero{font-size:27px}.bt-rel-filtro-grid,.bt-rel-busca-grid{grid-template-columns:1fr}
 .bt-rel-filtro-head,.bt-relatorio .bt-filtro{padding-left:16px;padding-right:16px}.bt-rel-execucao-head{align-items:flex-start;flex-direction:column;gap:8px}
 .bt-relatorio .bt-pager .bt-spacer{display:none}.bt-relatorio .bt-page-head{align-items:flex-start}}
@media print{.bt-rel-filtros,.bt-rel-execucao,.bt-rel-tabela-ajuda{display:none}.bt-rel-valores{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Navegação e leitura compartilhadas */
[data-menu-toggle]{display:none}
.bt-breadcrumb{font-size:12px}
.bt-page-meta,.bt-painel-desc,.bt-secao-desc{font-size:13px}
.bt-menu-operation summary{padding:10px 16px;cursor:pointer;font-weight:500;color:var(--bt-text-2)}
.bt-menu-operation[open]{background:var(--bt-surface-subtle)}
.bt-menu-operation .bt-menu-item{padding-left:26px}
.bt-menu-operation .bt-menu-sub{padding-left:55px}
.bt-menu-operation summary:focus-visible{outline:2px solid var(--bt-focus);outline-offset:-2px}
.bt-filtro-unificado{gap:12px}
/* A barra compacta de busca (cadastro de usuário, órgão, parceiro…) quando ela
   também é o painel de filtros: os campos que o painel cria precisam de uma
   linha inteira, e não de uma vaga na fila de uma barra de uma linha só. */
.bt-filters.bt-filtro-unificado{flex-wrap:wrap;row-gap:10px}
.bt-filters.bt-filtro-unificado > .bt-filtro-mais{flex:1 0 100%;order:9;margin-top:2px}
.bt-filters.bt-filtro-unificado > .bt-search-local{flex:1 1 220px}
.bt-filtros-ativos{flex-wrap:wrap;border-bottom:1px solid var(--bt-border-soft)}
button.bt-chip{cursor:pointer;max-width:100%;white-space:normal;text-align:left}
.bt-table-tools{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 16px;flex-wrap:wrap}
.bt-table-tools>label{display:flex;align-items:center;gap:8px;font-size:12px}
.bt-colunas{position:relative}
.bt-colunas-opcoes{position:absolute;right:0;top:100%;z-index:12;min-width:230px;max-height:300px;overflow:auto;
  background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:8px;padding:10px;box-shadow:var(--bt-shadow-float)}
.bt-colunas-opcoes label{display:flex;align-items:center;gap:8px;padding:7px;cursor:pointer}
.bt-table-scroll{max-height:65vh;overflow:auto}
table.bt-table-adaptavel{min-width:100%;width:100%;table-layout:auto}
table.bt-table-adaptavel>thead{display:table-header-group;position:sticky;top:0;z-index:3;background:var(--bt-bg)}
table.bt-table-adaptavel>tbody{display:table-row-group}
table.bt-table-adaptavel>thead>tr,table.bt-table-adaptavel>tbody>tr{display:table-row}
table.bt-table-adaptavel .bt-td,table.bt-table-adaptavel th{display:table-cell;min-width:110px;padding:13px 12px;vertical-align:middle;font-size:13px}
table.bt-table-adaptavel th{font-size:11.5px}
table.bt-table-adaptavel tr>:first-child{position:sticky;left:0;background:var(--bt-surface);z-index:1;border-right:1px solid var(--bt-border)}
table.bt-table-adaptavel thead tr>:first-child{background:var(--bt-bg);z-index:4}
table.bt-table-adaptavel tr:hover>td{background:var(--bt-primary-soft)}
table.bt-table-adaptavel.is-compacta .bt-td{padding:7px 10px;font-size:12px}
.bt-monitor-kpi,.bt-rel-valor{box-shadow:var(--bt-shadow-card);border-radius:var(--bt-r-md)}
.bt-monitor-lista-head,.bt-rel-filtro-head{border-bottom:1px solid var(--bt-border-soft)}
.bt-atalhos{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1100px){
  [data-menu-toggle]{display:inline-flex}
  .bt-sidebar{display:none}
  .bt-menu-open .bt-sidebar{display:flex;position:fixed;top:96px;bottom:0;left:0;width:264px;z-index:30;overflow-y:auto;box-shadow:var(--bt-shadow-float)}
  .bt-menu-open .bt-sidebar .bt-menu-item span:not(.bt-ico){display:inline}
  .bt-menu-open .bt-sidebar .bt-menu-title,.bt-menu-open .bt-sidebar .bt-sidebar-foot{display:block}
  .bt-menu-open .bt-sidebar .bt-menu-sub{display:flex}
  .bt-menu-open .bt-sidebar .bt-menu-item{justify-content:flex-start;padding:10px 16px}
  .bt-menu-open .bt-sidebar .bt-menu-sub{padding-left:48px}
}
@media(max-width:720px){
  .bt-header-top{flex-wrap:wrap}
  .bt-search{display:flex;order:5;width:100%;max-width:none;flex-basis:100%}
  .bt-menu-open .bt-sidebar{top:140px}
  .bt-table-tools{justify-content:flex-start}
}
@media print{
  .bt-table-tools,[data-menu-toggle],.bt-filtros-ativos{display:none!important}
  .bt-table-scroll{max-height:none;overflow:visible}
  table.bt-table-adaptavel>thead,table.bt-table-adaptavel tr>:first-child{position:static}
}
.bt-resumo-padrao{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;min-height:128px;padding:14px 16px}
.bt-resumo-padrao .bt-kpi-txt{grid-column:2;grid-row:1}
.bt-resumo-padrao h2,.bt-resumo-padrao h3{font-size:12px;min-height:2.6em;margin:0}
.bt-resumo-padrao .bt-monitor-valor,.bt-resumo-padrao .bt-rel-numero{font-size:25px;line-height:1.15;margin:0;font-family:var(--bt-mono)}
.bt-resumo-padrao p{font-size:12px;margin-top:auto;padding-top:4px}
@media(max-width:720px){.bt-header-top{height:auto;min-height:var(--bt-header-h);padding-top:10px;padding-bottom:10px}}
@media(max-width:1100px){.bt-menu-open .bt-sidebar{top:var(--bt-shell-height,96px)}}
@media(max-width:720px){
  .bt-pager{flex-wrap:wrap;gap:10px}
  .bt-pager-pages,[data-tabela-paginas]{max-width:100%;overflow-x:auto;display:flex;gap:4px}
}
/* Cinco métricas no painel: evita deixar um cartão isolado no desktop. */
@media(min-width:1200px){[data-painel] .bt-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:600px) and (max-width:1199px){
  [data-painel] .bt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-painel] .bt-kpis>.bt-kpi:last-child{grid-column:1 / -1}
}
@media(max-width:599px){[data-painel] .bt-kpis{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   Base de conhecimento (consulta SIAPE/Exército por CPF).
   Escopo fechado nas classes .bt-base-* e .bt-def*.
--------------------------------------------------------------------- */
.bt-base-matricula{padding:4px 2px 8px}
.bt-base-matricula .bt-kpis{margin:6px 0 4px}

/* Cabeçalho do bloco da matrícula: identificação à esquerda, competência à direita. */
.bt-base-cabecalho{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  flex-wrap:wrap;padding-bottom:12px;border-bottom:2px solid var(--bt-border)}
.bt-base-titulo{font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--bt-text)}
.bt-base-periodo{font-size:12.5px;color:var(--bt-text-muted);font-family:var(--bt-mono);white-space:nowrap}

/* Ficha do servidor: cada bloco de dados num painel separado. */
.bt-base-grupos{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:4px 0}
.bt-base-grupo{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);
  background:var(--bt-surface-subtle);padding:12px 16px 4px}
.bt-base-grupo-tit{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;
  letter-spacing:.6px;color:var(--bt-text-muted)}
.bt-base-grupo .bt-def-grid{grid-template-columns:1fr;gap:0;margin:0}

/* Par rótulo/valor: no painel da ficha vira linha (rótulo à esquerda, valor à direita). */
.bt-def-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 22px;margin:2px 0 6px}
.bt-def{display:flex;flex-direction:column;gap:1px;min-width:0}
.bt-def-rot{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--bt-text-muted)}
.bt-def-val{font-size:14px;color:var(--bt-text);overflow-wrap:anywhere}
.bt-base-grupo .bt-def{flex-direction:row;justify-content:space-between;align-items:baseline;gap:14px;
  padding:7px 0;border-bottom:1px solid var(--bt-border-soft)}
.bt-base-grupo .bt-def:last-child{border-bottom:0}
.bt-base-grupo .bt-def-rot{text-transform:none;letter-spacing:0;font-size:12px;flex:0 0 auto;padding-top:1px}
.bt-base-grupo .bt-def-val{font-size:13px;text-align:right;font-weight:500}

/* Contracheque: faixa de totais (+ rendimentos, − descontos/FGTS, = líquido). */
.bt-base-totais{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:2px 0 4px}
.bt-total{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);background:var(--bt-surface);
  padding:10px 14px;display:flex;flex-direction:column;gap:3px}
.bt-total-rot{font-size:11.5px;color:var(--bt-text-muted);display:flex;align-items:center;gap:6px}
.bt-total-sinal{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;
  border-radius:5px;font-size:12px;font-weight:700;background:var(--bt-surface-subtle);color:var(--bt-text-muted);line-height:1}
.bt-total-val{font-size:19px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;color:var(--bt-text)}
.bt-total.is-bom .bt-total-sinal{background:#e3f5eb;color:#00884f}
.bt-total.is-forte{border-color:var(--bt-primary)}
.bt-total.is-forte .bt-total-sinal{background:#eaf0ff;color:var(--bt-primary)}
.bt-total.is-forte .bt-total-val{color:var(--bt-primary)}

/* Simulador de operação — botão de ação e modal descritivo. */
.bt-sim-acao{margin:10px 0 2px}

.bt-modal-ov{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;
  padding:6vh 16px;background:rgba(17,24,39,.5);overflow-y:auto}
.bt-modal{width:100%;max-width:560px;background:var(--bt-surface);border:1px solid var(--bt-border);
  border-radius:var(--bt-r-lg,14px);box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden}
.bt-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--bt-border)}
.bt-modal-tit{margin:0;font-size:15.5px;font-weight:600;color:var(--bt-text)}
.bt-modal-x{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--bt-border);border-radius:8px;background:var(--bt-surface);color:var(--bt-text-2);cursor:pointer}
.bt-modal-x .bt-ico{font-size:18px;line-height:1}
.bt-modal-x:hover{background:var(--bt-bg)}
.bt-modal-x:focus-visible{outline:2px solid var(--bt-focus);outline-offset:1px}
.bt-modal-body{padding:18px}
/* Modal largo: o antes/depois da auditoria tem três colunas e valores longos;
   em 560px a coluna "depois" ficaria com uma palavra por linha. */
.bt-modal-lg{max-width:980px}
.bt-modal-lg .bt-modal-body{display:flex;flex-direction:column;gap:14px}
/* A tabela de diferença não estica as colunas: o nome do campo é curto e os
   valores é que precisam do espaço. */
.bt-table-diff{min-width:0}
.bt-table-diff .bt-td:first-child{width:30%}

.bt-sim-controles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}
.bt-sim-saida{margin-top:16px;display:flex;flex-direction:column}
.bt-sim-desc{font-size:13.5px;line-height:1.5;color:var(--bt-text-2);margin:0 0 8px}
.bt-sim-badge{display:inline-flex;align-self:flex-start;align-items:center;gap:7px;font-weight:600;font-size:14px;
  padding:6px 12px;border-radius:999px;margin:2px 0 10px}
.bt-sim-badge .bt-ico{font-size:18px;line-height:1}
.bt-sim-badge.is-baixo{background:#e3f5eb;color:#00884f}
.bt-sim-badge.is-medio{background:#fdf1de;color:#8a4b06}
.bt-sim-badge.is-alto{background:#fdeaea;color:#b42318}
.bt-sim-meter{height:10px;border-radius:999px;background:var(--bt-surface-subtle);overflow:hidden;margin:0 0 12px}
.bt-sim-meter-fill{height:100%;border-radius:999px;transition:width .18s ease}
.bt-sim-meter-fill.is-baixo{background:var(--bt-success)}
.bt-sim-meter-fill.is-medio{background:var(--bt-warning)}
.bt-sim-meter-fill.is-alto{background:var(--bt-danger)}
@media(prefers-reduced-motion:reduce){.bt-sim-meter-fill{transition:none}}
.bt-base-tabela{width:100%;min-width:720px;border-collapse:collapse}
.bt-base-tabela thead th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--bt-text-muted);
  text-align:left;padding:10px 14px;background:var(--bt-surface-subtle);border-bottom:1px solid var(--bt-border);white-space:nowrap}
.bt-base-tabela td{padding:11px 14px;border-bottom:1px solid var(--bt-border-soft);font-size:13px;vertical-align:middle}
.bt-base-tabela th.num,.bt-base-tabela td.num{text-align:right}
.bt-base-tabela td.mono{font-family:var(--bt-mono);font-variant-numeric:tabular-nums}
.bt-base-tabela td.vazia{color:var(--bt-text-muted);text-align:center;padding:22px}
.bt-base-tabela tbody tr:hover>td{background:var(--bt-surface-subtle)}
/* O efeito da rubrica no cálculo, por uma barra de cor à esquerda — a cor
   sozinha não carrega o recado, o texto do "Efeito" é quem diz. */
.bt-base-tabela tr.is-soma>td:first-child{box-shadow:inset 3px 0 var(--bt-success)}
.bt-base-tabela tr.is-usa>td:first-child{box-shadow:inset 3px 0 var(--bt-danger)}
.bt-base-tabela tr.is-cartao>td:first-child{box-shadow:inset 3px 0 var(--bt-warning)}
.bt-base-tabela tr.is-beneficio>td:first-child{box-shadow:inset 3px 0 var(--bt-primary)}
.bt-base-abas{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px;border-bottom:1px solid var(--bt-border);padding-bottom:10px}
.bt-base-aba{padding:7px 14px;border-radius:var(--bt-r-sm,6px);border:1px solid var(--bt-border);
  background:var(--bt-surface);font-size:13px;color:var(--bt-text-2);cursor:pointer}
.bt-base-aba.is-ativa{background:var(--bt-primary);border-color:var(--bt-primary);color:#fff;font-weight:600}
.bt-base-aba:focus-visible{outline:2px solid var(--bt-primary);outline-offset:2px}

/* Menu visual: uma navegação principal, com expansão progressiva. */
.bt-brand-logo{display:block;width:150px;height:auto;max-width:100%;object-fit:contain}
.bt-nav-unificada .bt-modules,.bt-drawer-head,.bt-mobile-nav{display:none}
.bt-nav-unificada .bt-sidebar{width:244px;padding:14px 8px;position:sticky;top:var(--bt-shell-height,56px);height:calc(100dvh - var(--bt-shell-height,56px));align-self:flex-start;overflow-y:auto}
.bt-nav-section{margin:3px 0;border-radius:10px}
.bt-nav-section>summary{list-style:none;display:flex;align-items:center;gap:11px;min-height:46px;padding:10px 12px;border-radius:9px;color:var(--bt-text-2);font-size:13px;font-weight:500;cursor:pointer}
.bt-nav-section>summary::-webkit-details-marker{display:none}
.bt-nav-section>summary::after{content:'›';font-size:20px;margin-left:auto;color:var(--bt-text-muted);transform:rotate(0)}
.bt-nav-section[open]>summary::after{transform:rotate(90deg)}
.bt-nav-section>summary>.bt-ico{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--bt-border);border-radius:8px;font-size:19px;background:var(--bt-surface);color:var(--bt-text-muted)}
.bt-nav-section>summary:hover{background:var(--bt-bg)}
.bt-nav-section[open]>summary{background:var(--bt-primary-soft);color:var(--bt-primary);font-weight:600}
.bt-nav-section[open]>summary>.bt-ico{color:var(--bt-primary);border-color:transparent}
.bt-nav-section .bt-menu-group{padding:6px 0 8px;margin:0 6px 0 16px;border-left:1px solid var(--bt-border)}
.bt-nav-section .bt-menu-item{border-radius:6px;margin:2px 5px;font-size:12.5px;min-height:38px}
.bt-nav-section .bt-menu-item.is-active{border-left-color:var(--bt-primary)}
.bt-nav-section .bt-menu-title{font-size:10px;letter-spacing:.6px;padding:14px 12px 6px}
.bt-nav-section .bt-menu-operation>summary{font-size:12.5px;padding:10px 12px;cursor:pointer}
.bt-sidebar-foot{margin-top:auto}
:where(.bt-nav-section summary,.bt-menu-item,.bt-mobile-nav a,.bt-mobile-nav button):focus-visible{outline:2px solid var(--bt-primary);outline-offset:2px}
@media(min-width:1101px){.bt-nav-unificada [data-menu-toggle]{display:none}}
@media(max-width:1100px){
 .bt-nav-unificada .bt-sidebar{display:none}
 .bt-nav-unificada.bt-menu-open .bt-sidebar{display:flex;position:fixed;top:0;bottom:70px;left:0;height:auto;width:min(320px,90vw);z-index:30}
 .bt-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:10px 6px 16px}
 .bt-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:4px;border-top:1px solid var(--bt-border);background:var(--bt-surface)}
 .bt-mobile-nav>a,.bt-mobile-nav>button{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:50px;border:0;background:transparent;color:var(--bt-text-muted);font-size:12px;border-radius:8px}
 .bt-mobile-nav .is-active,.bt-mobile-nav button[aria-expanded=true]{color:var(--bt-primary);background:var(--bt-primary-soft)}
 .bt-nav-unificada .bt-main{padding-bottom:90px}
}
/* SIAPE: painéis compactos inspirados na referência, dentro do padrão atual. */
.bt-base-consulta-card{overflow:visible;position:relative;z-index:9}
.bt-base-result-card{padding:20px;overflow:visible}
.bt-base-matricula>.bt-secao{border-left:3px solid var(--bt-primary);padding:12px 14px;background:var(--bt-primary-soft);border-radius:0 8px 8px 0;margin-top:24px}
.bt-base-matricula .bt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
.bt-base-matricula .bt-kpi{min-width:0;padding:13px;align-items:flex-start}
.bt-base-matricula .bt-kpi-valor{font-size:21px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bt-base-grupos{grid-template-columns:repeat(2,minmax(0,1fr))}
.bt-base-matricula .bt-def-val{overflow-wrap:anywhere}
.bt-sim-subtitle{font-size:14px;margin:18px 0 10px}
.bt-sim-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bt-sim-check{border:1px solid var(--bt-border);border-left:3px solid var(--bt-success);border-radius:8px;padding:14px;background:var(--bt-surface)}
.bt-sim-check.is-medio{border-left-color:var(--bt-warning)}
.bt-sim-check.is-alto{border-left-color:var(--bt-danger)}
.bt-sim-check h4{font-size:13px;margin:0 0 6px}
.bt-sim-check p{font-size:12px;line-height:1.5;color:var(--bt-text-muted);margin:0 0 12px}
.bt-sim-check .bt-def{display:flex;flex-direction:row;justify-content:space-between;gap:12px;margin-top:8px}
.bt-sim-check .bt-def-val{font-size:13px;text-align:right}
.bt-sim-rules{margin-top:16px;padding:12px 14px;border:1px solid var(--bt-border);border-radius:8px;font-size:12px;line-height:1.6}
.bt-sim-rules summary{cursor:pointer;font-weight:500}
@media(max-width:700px){
 .bt-brand-logo{width:128px}.bt-header-top{padding-left:12px;padding-right:12px;gap:6px}
 .bt-base-grupos,.bt-base-matricula .bt-kpis,.bt-sim-checks{grid-template-columns:minmax(0,1fr)}
 .bt-base-result-card{padding:14px}
 .bt-sim .bt-input,.bt-sim .bt-select{font-size:16px;min-height:44px}
 .bt-nav-section .bt-menu-item{min-height:44px}
}
/* Bases: sequência financeira, sem cartões de altura artificial. */
.bt-base-cabecalho{flex-wrap:wrap}
.bt-base-nome{flex-basis:100%;font-size:16px;font-weight:600}
.bt-base-matricula>.bt-secao,.bt-base-ficha>.bt-secao{position:relative;background:none;border:0;border-bottom:1px solid var(--bt-border);border-radius:0;padding:0 0 12px;margin:24px 0 12px}
.bt-base-matricula>.bt-secao:has(.bt-sim-acao){padding-right:210px;min-height:48px}
.bt-base-matricula>.bt-secao .bt-sim-acao{position:absolute;right:0;top:0;margin:0}
.bt-base-matricula .bt-base-totais{gap:0;border:1px solid var(--bt-border);border-radius:8px;overflow:hidden}
.bt-base-matricula .bt-total{border:0;border-right:1px solid var(--bt-border);border-radius:0;box-shadow:none;padding:12px 16px}
.bt-base-matricula .bt-total:last-child{border-right:0}
.bt-base-matricula .bt-total.is-forte{background:var(--bt-primary-soft)}
.bt-base-grupos{grid-template-columns:1fr;gap:16px;align-items:start}
.bt-base-grupo{background:none;padding:0;border:0;border-radius:0}
.bt-base-grupo .bt-def-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.bt-base-grupo .bt-def{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;padding:0}
.bt-base-grupo .bt-def-val{text-align:left}
.bt-base-bancarios{border-top:1px solid var(--bt-border);padding-top:16px}
/* Margens calculadas — quadros na sequência da folha: contexto da competência,
   bases proporcionais e, por último, os saldos. Um grid SÓ para todas as faixas,
   para as colunas ficarem alinhadas de uma faixa para a outra; o título da faixa
   ocupa a linha inteira e joga os quadros seguintes para a linha de baixo.
   As bordas ficam nos quadros e as sobras somem no -1px do grid. */
.bt-mg{border:1px solid var(--bt-border);border-radius:8px;overflow:hidden;background:var(--bt-surface)}
.bt-mg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));margin-right:-1px}
.bt-mg-grid:last-child{margin-bottom:-1px}
.bt-mg-faixa{margin:0;padding:9px 14px;background:var(--bt-surface-subtle);
 border-bottom:1px solid var(--bt-border);font-size:10.5px;font-weight:600;letter-spacing:.6px;
 text-transform:uppercase;color:var(--bt-text-muted)}
.bt-mg-q{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 14px;
 border-right:1px solid var(--bt-border);border-bottom:1px solid var(--bt-border)}
.bt-mg-rot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:18px}
.bt-mg-nome{font-size:11.5px;color:var(--bt-text-muted);line-height:1.3}
.bt-mg-sinal{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;
 flex:0 0 auto;border-radius:5px;background:var(--bt-surface-subtle);color:var(--bt-text-muted);
 font-size:12px;line-height:1}
.bt-mg-perc{font-size:10.5px;font-weight:600;color:var(--bt-text-2);background:var(--bt-bg);
 border:1px solid var(--bt-border);border-radius:999px;padding:1px 7px}
.bt-mg-val{font-size:20px;font-weight:600;letter-spacing:-.4px;line-height:1.15;color:var(--bt-text);
 font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bt-mg-bar{height:4px;border-radius:999px;background:var(--bt-border-soft);overflow:hidden}
.bt-mg-bar-fill{display:block;height:100%;border-radius:999px;background:var(--bt-primary)}
.bt-mg-nota{font-size:11px;color:var(--bt-text-muted);line-height:1.35;margin-top:auto;padding-top:2px}
.bt-mg-q.is-forte{background:var(--bt-primary-soft)}
.bt-mg-q.is-forte .bt-mg-val{color:var(--bt-primary)}
.bt-mg-q.is-forte .bt-mg-sinal{background:#eaf0ff;color:var(--bt-primary)}
.bt-mg-q.is-bom .bt-mg-val{color:var(--bt-success-text)}
.bt-mg-q.is-bom .bt-mg-sinal{background:var(--bt-success-soft);color:var(--bt-success-text)}
.bt-mg-q.is-bom .bt-mg-bar-fill{background:var(--bt-success)}
.bt-mg-q.is-ruim .bt-mg-val{color:var(--bt-danger)}
.bt-mg-q.is-ruim .bt-mg-sinal{background:var(--bt-danger-soft);color:var(--bt-danger)}
.bt-mg-q.is-ruim .bt-mg-bar-fill{background:var(--bt-danger)}
.bt-mg-q.is-mudo .bt-mg-val{color:var(--bt-text-muted);font-weight:500}
.bt-mg-rodape{display:flex;align-items:center;flex-wrap:wrap;gap:10px 30px;padding:12px 14px;
 background:var(--bt-surface-subtle)}
.bt-mg-rodape .bt-def-val{font-size:14px;font-variant-numeric:tabular-nums}
.bt-mg-rodape small{color:var(--bt-text-muted);font-size:11.5px;margin-left:auto}
@media(max-width:1000px){
 .bt-base-grupo .bt-def-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .bt-base-matricula>.bt-secao:has(.bt-sim-acao){padding-right:0}
 .bt-base-matricula>.bt-secao .bt-sim-acao{position:static;margin-top:12px}
 .bt-base-grupo .bt-def-grid{grid-template-columns:1fr}
 .bt-base-matricula .bt-base-totais{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bt-base-matricula .bt-total{border-bottom:1px solid var(--bt-border)}
 .bt-base-matricula .bt-total:last-child:nth-child(odd){grid-column:1 / -1}
 .bt-mg-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr))}
 .bt-mg-q{padding:11px 12px}
 .bt-mg-val{font-size:17px}
 .bt-mg-rodape small{margin-left:0;flex-basis:100%}
}
@media print{.bt-mobile-nav{display:none!important}}
.bt-base-icon{width:24px;height:24px;flex-shrink:0}
.bt-base-filter-heading{padding:16px 20px 0}.bt-base-filter-heading h2{font-size:16px;margin:0}.bt-base-filter-heading p{font-size:13px;color:var(--bt-text-muted);margin:5px 0 0}
.bt-base-consulta-card .bt-filtro{display:block;padding:16px 20px 20px}
.bt-base-filtro-grid{grid-template-columns:minmax(200px,1.5fr) minmax(170px,1fr) auto;align-items:end}
.bt-base-filtro-grid:has(#bComp){grid-template-columns:minmax(200px,1.5fr) minmax(160px,1fr) minmax(140px,.8fr) auto}
.bt-base-filtro-grid .bt-filtro-acoes{display:flex;flex-direction:row;gap:8px}
@media(max-width:1000px){.bt-base-filtro-grid,.bt-base-filtro-grid:has(#bComp){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bt-base-filtro-grid,.bt-base-filtro-grid:has(#bComp){grid-template-columns:minmax(0,1fr)}.bt-base-page .bt-input,.bt-base-page .bt-select,.bt-base-page .ts-control{min-height:44px;font-size:16px}.bt-base-page .bt-btn{min-height:44px}}
.bt-modal:has(.bt-sim){max-width:760px}

/* DataTables: mesma linguagem visual do menu, sem ações repetidas nas linhas. */
.bt-table-tools{padding:12px 18px;gap:12px;background:var(--bt-surface);border-top:1px solid var(--bt-border-soft);border-bottom:1px solid var(--bt-border-soft)}
.bt-table-tools>label{color:var(--bt-text-muted);white-space:nowrap;font-size:12px}
.bt-table-tools .bt-select,.bt-table-tools .bt-btn{border-radius:8px;font-size:12px;min-height:34px;box-shadow:none}
.bt-table-tools .bt-colunas>summary{color:var(--bt-text-2);background:var(--bt-bg)}
.bt-table-tools>.bt-mobile-sort{display:none}
.bt-colunas-opcoes{top:calc(100% + 6px);border-radius:10px}
.bt-colunas-opcoes label{border-radius:6px;font-size:13px}
.bt-colunas-opcoes label:hover{background:var(--bt-primary-soft)}
table.bt-table-adaptavel{border-spacing:0;border-collapse:separate}
table.bt-table-adaptavel th{font-family:var(--bt-font);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--bt-text-muted);background:var(--bt-bg);padding:13px 16px;border-bottom:1px solid var(--bt-border)}
table.bt-table-adaptavel .bt-td{padding:14px 16px;font-size:13px;line-height:1.5;border-bottom:1px solid var(--bt-border-soft);background:var(--bt-surface)}
table.bt-table-adaptavel tbody tr:nth-child(even)>td{background:var(--bt-surface-subtle)}
table.bt-table-adaptavel tbody tr:hover>td{background:var(--bt-primary-soft)}
table.bt-table-adaptavel tr>:first-child{border-right:0;min-width:76px}
table.bt-table-adaptavel td a{overflow-wrap:anywhere}
table.bt-table-adaptavel.is-compacta .bt-td{padding:9px 16px}
table.bt-table-adaptavel .dt-column-order{opacity:.45;font-size:10px}
table.bt-table-adaptavel .bt-pill{font-family:var(--bt-font);font-size:11px;border-radius:999px;padding:3px 9px}
[data-tabela-caixa] .bt-pager{padding:14px 18px;gap:10px;border-top:1px solid var(--bt-border-soft);font-size:12px}
[data-tabela-caixa] .bt-pager .bt-btn{box-shadow:none;border-radius:8px;min-width:34px}
@media(max-width:720px){
 .bt-table-tools{padding:12px;gap:10px;align-items:end}
 .bt-table-tools>label:not(.bt-mobile-sort){display:none}
 .bt-table-tools>.bt-mobile-sort{display:flex;flex:1;min-width:180px;flex-direction:column;align-items:stretch;gap:5px}
 .bt-table-tools .bt-select,.bt-table-tools .bt-btn{min-height:44px}
 .bt-table-tools .bt-select{font-size:16px;width:100%}
 table.bt-table-adaptavel.bt-mobile-records{display:block;min-width:0;width:100%!important}
 table.bt-mobile-records>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 table.bt-mobile-records>tbody{display:block;width:100%}
 table.bt-mobile-records>tbody>tr.bt-tr{display:block;border:1px solid var(--bt-border);border-radius:10px;margin:12px;padding:6px 10px;background:var(--bt-surface)}
 table.bt-mobile-records>tbody>tr.bt-tr>td.bt-td{display:grid;grid-template-columns:minmax(85px,32%) minmax(0,1fr);gap:12px;position:static;min-width:0;width:auto!important;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:10px 2px;background:transparent;border:0;box-shadow:none}
 table.bt-mobile-records td[data-label]::before{content:attr(data-label);font-family:var(--bt-font);font-size:12px;font-weight:500;color:var(--bt-text-muted)}
 table.bt-mobile-records>tbody>tr.bt-tr>td+td{border-top:1px solid var(--bt-border-soft)}
 table.bt-mobile-records td .bt-pill{justify-self:start;align-self:start}
 [data-tabela-caixa] .bt-table-scroll{max-height:none}
 [data-tabela-caixa] .bt-pager{padding:12px;flex-wrap:wrap}
 .bt-colunas-opcoes{left:0;right:auto;max-width:calc(100vw - 48px);min-width:210px}
}
 table.bt-table.bt-table-adaptavel>thead>tr>th{font-family:var(--bt-font);font-size:12px;text-transform:none;letter-spacing:0;color:var(--bt-text-muted);background:var(--bt-bg)}

.bt-email-dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid var(--bt-border);border-radius:14px;background:var(--bt-surface);color:var(--bt-text);box-shadow:var(--bt-shadow-float)}
.bt-email-dialog::backdrop{background:#10203580}
.bt-email-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--bt-border);position:sticky;top:0;background:var(--bt-surface)}
.bt-email-head h2{font-size:18px;margin:0}.bt-email-body{padding:22px}.bt-email-context{font-weight:600}.bt-email-body form{display:grid;gap:12px;margin-top:20px}.bt-email-body textarea{height:auto;min-height:110px;resize:vertical;padding:12px}.bt-email-summary-scroll{overflow-x:auto;margin:18px 0}.bt-email-summary{border-collapse:collapse;width:100%;font-size:13px}.bt-email-summary th,.bt-email-summary td{padding:10px;text-align:left;border-bottom:1px solid var(--bt-border)}.bt-email-summary th{background:var(--bt-bg)}.bt-email-status p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}
.bt-table-prontos .bt-td:has([data-email-conciliacao]){display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:700px){.bt-email-head,.bt-email-body{padding:16px}.bt-email-body textarea{font-size:16px}.bt-email-dialog .bt-btn{min-height:44px}}

/* ========================================================================== */
/* BANKTOOLS — LANDING / IDENTIDADE VISUAL 2026                               */
/* Escopo propositalmente restrito a .lp para não alterar o portal interno.   */
/* ========================================================================== */
.lp{
  --bt-primary:#082959;
  --bt-primary-hover:#0c376f;
  --bt-primary-soft:#eef3f8;
  --bt-primary-soft-border:#cbd7e5;
  --bt-focus:#9cb6d3;
  --bt-success:#00b368;
  --bt-success-text:#00884f;
  --bt-success-soft:#e7f8f1;
  --bt-success-border:#b8ead4;
  --bt-dark:#082959;
  --bt-dark-text:#b7c6d8;
  --bt-dark-text-2:#e6edf4;
  --bt-bg:#f5f5f1;
  --bt-surface:#fff;
  --bt-surface-subtle:#f8f8f5;
  --bt-border:#dedfd9;
  --bt-border-soft:#ecece7;
  --bt-text:#282828;
  --bt-text-2:#454545;
  --bt-text-muted:#696b69;
  --bt-text-faint:#838682;
  --bt-font:'Causten','Montserrat',system-ui,-apple-system,Segoe UI,sans-serif;
  --bt-shadow-hero:0 30px 80px rgba(8,41,89,.14);
  background:#edede8;
  color:var(--bt-text);
  font-family:var(--bt-font);
}
.lp *{scroll-margin-top:86px}
.lp-wrap{max-width:1240px;padding-left:32px;padding-right:32px}
.lp-header{background:rgba(237,237,232,.88);border-bottom:1px solid rgba(8,41,89,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.lp-header .lp-wrap{height:76px;gap:26px}
.lp-brand{display:flex;align-items:center;flex:none;width:164px}
.lp-brand img{width:100%;height:auto;display:block}
.lp-nav{gap:24px;margin-left:12px}
.lp-nav a{font-size:12.5px;font-weight:600;color:#455365;letter-spacing:.01em}
.lp-nav a:hover{color:var(--bt-success)}
.lp-btn{height:42px;padding:0 16px;border-radius:999px;border-color:rgba(8,41,89,.16);background:rgba(255,255,255,.65);font-size:12.5px;font-weight:600;color:var(--bt-primary);transition:.18s ease}
.lp-btn:hover{transform:translateY(-1px);background:#fff;border-color:rgba(8,41,89,.25);color:var(--bt-primary)}
.lp-btn .bt-ico{color:currentColor}
.lp-btn-primary{background:var(--bt-success);border-color:var(--bt-success);color:#fff;box-shadow:0 10px 30px rgba(0,179,104,.18)}
.lp-btn-primary:hover{background:#009f5d;border-color:#009f5d;color:#fff;box-shadow:0 13px 32px rgba(0,179,104,.24)}
.lp-btn-login{background:transparent}
.lp-btn-lg{height:50px;padding:0 21px;font-size:13px}
.lp-btn-xl{height:52px;padding:0 22px;font-size:13.5px}
.lp-btn-soft{background:rgba(255,255,255,.56)}

.lp-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#edede8 0%,#f7f7f2 55%,#e9f4ef 100%);border-bottom:0}
.lp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 16%,rgba(0,179,104,.15),transparent 28%),radial-gradient(circle at 68% 45%,rgba(8,41,89,.10),transparent 30%);pointer-events:none}
.lp-hero-grid{position:relative;padding-top:86px!important;padding-bottom:88px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(500px,.92fr)!important;gap:64px!important;align-items:center!important}
.lp-hero-col{gap:24px;position:relative;z-index:2}
.lp-badge{height:31px;padding:0 13px;background:rgba(255,255,255,.64);border:1px solid rgba(8,41,89,.12);color:var(--bt-primary);font-size:11px;letter-spacing:.035em;text-transform:uppercase;border-radius:999px}
.lp-badge .bt-dot{background:var(--bt-success);box-shadow:0 0 0 5px rgba(0,179,104,.10)}
.lp-h1{max-width:700px;font-size:clamp(48px,5.1vw,76px);line-height:.98;letter-spacing:-.055em;font-weight:600;color:var(--bt-primary)}
.lp-h1 span{color:var(--bt-success)}
.lp-lead{max-width:630px;font-size:16px;line-height:1.75;color:#505b63}
.lp-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.lp-seals{gap:20px;font-size:11.5px;color:#5f696f}
.lp-seals .bt-ico{color:var(--bt-success)}
.lp-hero-visual{position:relative;min-height:570px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;z-index:2}
.lp-symbol-stage{position:absolute;top:0;right:-48px;width:510px;height:350px;border-radius:46% 54% 48% 52% / 48% 44% 56% 52%;background:linear-gradient(145deg,rgba(8,41,89,.97),rgba(8,41,89,.88));overflow:hidden;box-shadow:0 35px 80px rgba(8,41,89,.22)}
.lp-symbol-stage::after{content:"";position:absolute;inset:auto -16% -36% auto;width:65%;aspect-ratio:1;border-radius:50%;background:rgba(0,179,104,.22);filter:blur(2px)}
.lp-symbol-main{position:absolute;width:380px;max-width:none;right:-72px;top:28px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.08))}
.lp-symbol-copy{position:absolute;left:34px;bottom:30px;display:flex;flex-direction:column;z-index:2;color:#fff}
.lp-symbol-copy>span{font-size:10px;letter-spacing:.18em;color:#9ec9b8;font-weight:700}
.lp-symbol-copy strong{font-size:48px;line-height:1;font-weight:600;letter-spacing:-.05em;margin-top:6px}
.lp-symbol-copy small{font-size:12px;color:#cfdae5;margin-top:6px}
.lp-mock{position:relative;margin-left:36px;width:calc(100% - 36px);border-color:rgba(8,41,89,.10);border-radius:20px;box-shadow:var(--bt-shadow-hero);z-index:3}
.lp-mock-bar{padding:11px 14px;background:#f4f4ef;border-bottom-color:#e7e7e1}
.lp-mock-bar i{background:#d6d7d2}.lp-mock-bar i:nth-child(2){background:#a9caba}.lp-mock-bar i:nth-child(3){background:#7c9ab9}
.lp-mock-url{font-family:var(--bt-font);font-size:10.5px}
.lp-product-preview{padding:20px;background:#fff;display:flex;flex-direction:column;gap:11px}
.lp-product-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.lp-product-heading strong{font-size:13.5px;color:var(--bt-primary)}
.lp-product-heading span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-success);background:var(--bt-success-soft);padding:5px 8px;border-radius:999px}
.lp-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lp-product-grid>div,.lp-product-row{border:1px solid var(--bt-border-soft);background:#fafaf7;border-radius:13px;padding:13px}
.lp-product-grid>div{display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}
.lp-product-grid .bt-ico{grid-row:1/3;color:var(--bt-success);font-size:23px}.lp-product-grid strong,.lp-product-row strong{font-size:12px;color:var(--bt-primary)}
.lp-product-grid small,.lp-product-row small{font-size:10.5px;line-height:1.4;color:#737873}.lp-product-row{display:flex;gap:10px;align-items:center}.lp-product-row>.bt-ico{color:var(--bt-success)}
.lp-mini{position:relative;z-index:3;margin-left:36px}
.lp-mini>div{border-color:rgba(8,41,89,.10);border-radius:15px;padding:13px 15px;background:rgba(255,255,255,.84);backdrop-filter:blur(8px)}
.lp-mini-label{font-size:9.5px;letter-spacing:.09em;color:#747a7d}
.lp-mini-value{font-family:var(--bt-font);font-size:21px;color:var(--bt-primary)}
.lp-mini-success{color:var(--bt-success)}
.lp-hero-orbit{position:absolute;border-radius:50%;border:1px solid rgba(8,41,89,.08);pointer-events:none}.lp-hero-orbit-a{width:540px;height:540px;right:-190px;top:-260px}.lp-hero-orbit-b{width:720px;height:720px;right:-380px;top:-300px}

.lp-dark{background:var(--bt-primary);color:#fff}
.lp-metrics{position:relative;overflow:hidden}.lp-metrics::after{content:"";position:absolute;right:-120px;top:-180px;width:420px;height:420px;border:70px solid rgba(0,179,104,.12);border-radius:50%}
.lp-stats{padding-top:42px;padding-bottom:42px;gap:0;position:relative;z-index:1}
.lp-stat{padding:4px 28px;border-left:1px solid rgba(255,255,255,.14)}.lp-stat:first-child{border-left:0;padding-left:0}
.lp-stat b{font-family:var(--bt-font);font-size:40px;font-weight:600;color:#fff}.lp-stat span{display:block;max-width:200px;margin-top:5px;line-height:1.45;color:#b9c6d4}

.lp-section{padding-top:92px;padding-bottom:92px}
.lp-eyebrow{font-size:10.5px;letter-spacing:.17em;color:var(--bt-success);font-weight:700}
.lp-h2{font-size:clamp(34px,3.4vw,50px);letter-spacing:-.045em;font-weight:600;line-height:1.08;color:var(--bt-primary)}
.lp-h2-sm{font-size:clamp(31px,3vw,43px);letter-spacing:-.04em;line-height:1.1}
.lp-intro{gap:12px;max-width:700px}.lp-intro-wide{max-width:900px}.lp-p{font-size:15px;line-height:1.75;color:#5b6265}
.lp-cards{gap:16px;margin-top:44px}.lp-card{position:relative;border-color:#ddded8;border-radius:22px;padding:26px;gap:14px;overflow:hidden;transition:.2s ease}.lp-card::after{content:"";position:absolute;right:-58px;bottom:-72px;width:150px;height:150px;border:26px solid rgba(0,179,104,.06);border-radius:50%;transition:.2s ease}.lp-card:hover{transform:translateY(-4px);border-color:#becdc6;box-shadow:0 22px 55px rgba(8,41,89,.09)}.lp-card:hover::after{border-color:rgba(0,179,104,.12)}
.lp-card-top{display:flex;align-items:center;justify-content:space-between}.lp-card h3{font-size:22px;color:var(--bt-primary);letter-spacing:-.02em}.lp-card p{font-size:13.5px;line-height:1.7;color:#646a6b;max-width:92%}.lp-sq{background:var(--bt-primary);color:#fff;border-radius:50%}.lp-num{font-family:var(--bt-font);font-weight:700;font-size:10px;letter-spacing:.12em;color:#939895}.lp-card-link{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:10px;font-size:11px;font-weight:700;color:var(--bt-success);text-transform:uppercase;letter-spacing:.07em}.lp-card-link .bt-ico{font-size:16px}

.lp-soft{background:#f7f7f3;border-color:#e4e4df}.lp-platform-section{position:relative;overflow:hidden}.lp-platform-section::before{content:"";position:absolute;left:-180px;bottom:-280px;width:540px;height:540px;border:80px solid rgba(8,41,89,.035);border-radius:50%}
.lp-split{grid-template-columns:.82fr 1.18fr;gap:70px}.lp-platform-copy{display:flex;flex-direction:column;gap:16px}.lp-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.lp-chip{display:inline-flex;align-items:center;height:30px;padding:0 11px;border:1px solid #d8ddd7;background:#fff;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--bt-primary)}
.lp-diagram{padding:24px;border-radius:24px;border-color:rgba(8,41,89,.10);background:#fff;box-shadow:0 28px 60px rgba(8,41,89,.07)}
.lp-diagram-brand{display:flex;align-items:center;gap:12px;padding:16px;border-radius:17px;background:var(--bt-primary);color:#fff}.lp-diagram-brand img{width:52px}.lp-diagram-brand div{display:flex;flex-direction:column}.lp-diagram-brand strong{font-size:16px}.lp-diagram-brand span{font-size:11px;color:#bac9d8;margin-top:2px}
.lp-flow-line{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center;gap:6px;padding:18px 2px;font-size:10.5px;font-weight:700;text-align:center;color:#6e7779}.lp-flow-line i{height:1px;background:linear-gradient(90deg,#cfd3d0,var(--bt-success));position:relative}.lp-flow-line i::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--bt-success)}.lp-flow-line b{color:var(--bt-primary)}
.lp-dest{gap:9px}.lp-dest>div{border-color:#e1e2dc;border-radius:15px;padding:13px;background:#fafaf7}.lp-dest .bt-ico{color:var(--bt-success)}.lp-dest strong{display:block;font-size:11.5px;color:var(--bt-primary)}.lp-dest small{display:block;font-size:9.5px;color:#747b7b;margin-top:2px}.lp-dest .is-more{background:#eef8f3;border-color:#c9e9da}.lp-dest .is-more strong{color:var(--bt-success-text)}

.lp-features{grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:36px}.lp-feature{padding:14px 0;border-bottom-color:#dedfd9;font-size:12.5px;line-height:1.45;color:#505758}.lp-feature .bt-ico{color:var(--bt-success);font-size:17px}

.lp-diff-section{position:relative;overflow:hidden}.lp-diff-section::before{content:"";position:absolute;left:58%;top:-260px;width:660px;height:660px;border:110px solid rgba(0,179,104,.09);border-radius:50%}.lp-intro-on-dark{position:relative;z-index:1}.lp-intro-on-dark .lp-h2{color:#fff}.lp-intro-on-dark .lp-eyebrow{color:#58e0aa}.lp-diffs{position:relative;z-index:1;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.lp-diff{padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045);backdrop-filter:blur(5px)}.lp-diff .lp-sq{background:rgba(255,255,255,.08);color:#65e1af}.lp-diff div{font-size:14px;color:#fff}.lp-diff p{font-size:12px;line-height:1.6;color:#b7c6d8}

.lp-integr-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.lp-integr-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.lp-integr{gap:10px}.lp-integr>div{min-height:112px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #dde0da;border-radius:18px;padding:16px;background:#f7f7f3;position:relative;overflow:hidden}.lp-integr>div::before{content:"";position:absolute;right:-24px;top:-28px;width:72px;height:72px;border:14px solid rgba(8,41,89,.045);border-radius:50%}.lp-integr b{font-size:16px;color:var(--bt-primary)}.lp-integr span{font-size:10.5px;color:#73797a}.lp-integr .is-more{background:var(--bt-primary);border-color:var(--bt-primary)}.lp-integr .is-more::before{border-color:rgba(0,179,104,.28)}.lp-integr .is-more b{color:#fff;font-size:24px}.lp-integr .is-more span{color:#b8c8d8}

.lp-proof-panel{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid #ddded8;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 26px 60px rgba(8,41,89,.07)}.lp-proof-symbol{min-height:330px;background:var(--bt-primary);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.lp-proof-symbol::before,.lp-proof-symbol::after{content:"";position:absolute;border-radius:50%;border:55px solid rgba(0,179,104,.14)}.lp-proof-symbol::before{width:360px;height:360px;left:-190px;top:-170px}.lp-proof-symbol::after{width:250px;height:250px;right:-130px;bottom:-130px}.lp-proof-symbol img{width:64%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.15));position:relative;z-index:1}.lp-proof-copy{padding:44px 48px;display:flex;flex-direction:column;justify-content:center;gap:16px}.lp-proof-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;margin-top:6px}.lp-proof{font-size:12px;color:#535b5d}.lp-proof i{background:var(--bt-success)}

.lp-faq-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:60px;align-items:start}.lp-faq-intro{display:flex;flex-direction:column;gap:14px;position:sticky;top:110px}.lp-faq-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.lp-btn-whatsapp{background:var(--bt-success-soft);border-color:var(--bt-success-border);color:var(--bt-success-text)}.lp-faq{border-radius:20px;border-color:#dedfd9}.lp-faq-q{padding:19px 20px;font-size:13px;color:var(--bt-primary)}.lp-faq-q:hover{background:#fafaf7}.lp-faq-a p{padding:0 20px 20px;font-size:12.5px;line-height:1.7;color:#666d6e}.lp-faq-item.is-open .lp-faq-q .bt-ico{color:var(--bt-success)}

.lp-logos{grid-template-columns:repeat(6,1fr);gap:10px;margin-top:34px}.lp-logo{height:78px;border-color:#dedfd9;border-radius:16px;background:#fff;font-family:var(--bt-font);font-size:11px;font-weight:700;color:#6a7474}.lp-logo-more{border-style:dashed;color:var(--bt-success-text);background:transparent}

.lp-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#00b368 0%,#00a761 58%,#048a58 100%)}.lp-cta .lp-wrap{position:relative;z-index:2;padding-top:68px;padding-bottom:68px}.lp-cta-copy{flex:1;min-width:320px;display:flex;flex-direction:column;gap:12px}.lp-cta .lp-eyebrow{color:#d9fff0}.lp-cta h2{color:#fff}.lp-cta p{color:#e1fff3;max-width:650px}.lp-cta-actions{display:flex;gap:10px;flex-wrap:wrap}.lp-btn-white{color:var(--bt-primary);border-color:#fff;background:#fff}.lp-btn-white:hover{color:var(--bt-primary);background:#f2f5f2}.lp-btn-ghost{background:rgba(8,41,89,.16);border-color:rgba(255,255,255,.32);color:#fff}.lp-btn-ghost:hover{background:rgba(8,41,89,.24);color:#fff}.lp-cta-symbol{position:absolute;right:-80px;top:-110px;width:440px;opacity:.11}.lp-cta-symbol img{width:100%}

.lp-footer{background:#061d3f}.lp-footer-grid{padding-top:56px;padding-bottom:30px}.lp-footer-logo{width:135px;height:auto}.lp-footer-brand{gap:14px}.lp-footer-title{color:#6de2b2}.lp-footer a,.lp-footer-text{color:#b8c5d3}.lp-seal-row{display:flex;gap:7px;flex-wrap:wrap}.lp-seal{border-radius:999px}.lp-footer-bar{border-top-color:rgba(255,255,255,.09)}

@media (max-width:1100px){
  .lp-nav{display:none}.lp-header .lp-wrap{gap:10px}.lp-brand{width:150px}.lp-hero-grid{grid-template-columns:1fr 1fr!important;gap:36px!important}.lp-symbol-stage{width:440px;right:-90px}.lp-symbol-main{width:340px}.lp-features{grid-template-columns:repeat(2,1fr)}.lp-diffs{grid-template-columns:repeat(2,1fr)}.lp-logos{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:860px){
  .lp-wrap{padding-left:22px;padding-right:22px}.lp-header .lp-wrap{height:68px}.lp-brand{width:136px}.lp-btn-login{display:none}.lp-header .lp-btn-primary{height:38px;padding:0 13px;font-size:11px}.lp-hero-grid{padding-top:58px!important;padding-bottom:62px!important;grid-template-columns:1fr!important}.lp-h1{font-size:clamp(46px,11vw,68px)}.lp-lead{max-width:700px}.lp-hero-visual{min-height:540px;max-width:650px;width:100%;margin:0 auto}.lp-symbol-stage{right:-25px;width:470px}.lp-mock{margin-left:0;width:calc(100% - 44px)}.lp-mini{margin-left:0;width:calc(100% - 44px)}.lp-stats{grid-template-columns:repeat(2,1fr);row-gap:26px}.lp-stat:nth-child(3){border-left:0;padding-left:0}.lp-split,.lp-integr-grid,.lp-proof-panel,.lp-faq-grid{grid-template-columns:1fr;gap:38px}.lp-faq-intro{position:static}.lp-proof-symbol{min-height:260px}.lp-proof-symbol img{width:42%}.lp-dest{grid-template-columns:repeat(2,1fr)}.lp-integr{grid-template-columns:repeat(4,1fr)}.lp-footer-grid{grid-template-columns:1fr 1fr}.lp-footer-brand{grid-column:1/-1}
}
@media (max-width:620px){
  .lp-wrap{padding-left:18px;padding-right:18px}.lp-header .lp-wrap{height:64px}.lp-brand{width:126px}.lp-header .lp-btn-primary{padding:0 11px}.lp-header .lp-btn-primary{font-size:0}.lp-header .lp-btn-primary::after{content:'Demonstração';font-size:10.5px}.lp-section{padding-top:68px;padding-bottom:68px}.lp-h1{font-size:46px}.lp-lead{font-size:14.5px}.lp-hero-actions .lp-btn{width:100%;justify-content:center}.lp-seals{gap:9px 14px}.lp-hero-visual{min-height:500px}.lp-symbol-stage{width:380px;height:300px;right:-68px}.lp-symbol-main{width:290px;right:-42px}.lp-symbol-copy{left:24px;bottom:24px}.lp-symbol-copy strong{font-size:40px}.lp-mock{width:100%;margin-top:150px}.lp-mini{width:100%}.lp-product-grid{grid-template-columns:1fr}.lp-product-grid>div:nth-child(2){display:none}.lp-product-row:last-child{display:none}.lp-stats{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px}.lp-stat{border-left:0!important;border-top:1px solid rgba(255,255,255,.13);padding:16px 0!important}.lp-stat:first-child{border-top:0}.lp-stat b{font-size:34px}.lp-cards{grid-template-columns:1fr}.lp-features{grid-template-columns:1fr}.lp-diffs{grid-template-columns:1fr}.lp-integr{grid-template-columns:repeat(2,1fr)}.lp-proof-copy{padding:30px 24px}.lp-proof-list{grid-template-columns:1fr}.lp-proof-symbol img{width:62%}.lp-flow-line{grid-template-columns:1fr;gap:8px}.lp-flow-line i{height:24px;width:1px;margin:0 auto}.lp-flow-line i::after{right:-3px;top:auto;bottom:-1px}.lp-dest{grid-template-columns:1fr}.lp-logos{grid-template-columns:repeat(2,1fr)}.lp-cta .lp-wrap{padding-top:54px;padding-bottom:54px}.lp-cta-actions .lp-btn{width:100%;justify-content:center}.lp-footer-grid{grid-template-columns:1fr}.lp-footer-brand{grid-column:auto}.lp-footer-bar{gap:9px}.lp-footer-bar .bt-spacer{display:none;width:100%;flex-basis:100%}
}

/* ========================================================================== */
/* Refinamento 2026 — hero + login                                            */
/* ========================================================================== */
.lp-hero{background:linear-gradient(120deg,#f3f3ee 0%,#f8f8f4 58%,#eef6f1 100%)}
.lp-hero::before{background:radial-gradient(circle at 86% 8%,rgba(0,179,104,.10),transparent 30%),radial-gradient(circle at 72% 44%,rgba(8,41,89,.07),transparent 34%)}
.lp-hero-grid{padding-top:78px!important;padding-bottom:78px!important;grid-template-columns:minmax(0,.96fr) minmax(520px,1.04fr)!important;gap:72px!important}
.lp-h1{font-size:clamp(50px,4.8vw,72px);line-height:1.01;letter-spacing:-.052em}
.lp-h1 span{display:inline-block;margin-top:7px}
.lp-lead{font-size:15.5px;line-height:1.72;max-width:590px}
.lp-hero-visual{min-height:560px;display:block}
.lp-hero-panel{position:absolute;inset:0 0 auto auto;width:86%;height:395px;border-radius:32px;background:linear-gradient(145deg,#0b356d 0%,#082959 68%,#061f47 100%);box-shadow:0 35px 85px rgba(8,41,89,.18);overflow:hidden}
.lp-hero-panel::before{content:"";position:absolute;width:320px;height:320px;border:58px solid rgba(0,179,104,.13);border-radius:50%;right:-145px;top:-155px}
.lp-hero-panel::after{content:"";position:absolute;width:220px;height:220px;border:42px solid rgba(255,255,255,.055);border-radius:50%;left:-118px;bottom:-122px}
.lp-hero-panel-symbol{position:absolute;width:310px;right:-48px;bottom:-30px;opacity:.20;filter:none}
.lp-hero-panel-copy{position:absolute;left:34px;top:38px;z-index:2;max-width:300px;color:#fff;display:flex;flex-direction:column}
.lp-hero-panel-copy>span{font-size:9.5px;letter-spacing:.17em;font-weight:700;color:#68dfb0}
.lp-hero-panel-copy strong{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin-top:15px;font-weight:600}
.lp-hero-panel-copy small{font-size:11.5px;line-height:1.6;color:#c7d4df;margin-top:14px;max-width:270px}
.lp-hero-chip{position:absolute;left:34px;bottom:34px;z-index:2;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border-radius:999px;color:#fff;font-size:10.5px;font-weight:600}.lp-hero-chip .bt-ico{font-size:17px;color:#62dfa9}
.lp-mock-hero{position:absolute;right:0;top:155px;width:83%;margin:0;border-radius:20px;box-shadow:0 28px 65px rgba(8,41,89,.18);z-index:4}
.lp-mini-hero{position:absolute;right:0;top:468px;width:83%;margin:0;z-index:5;gap:10px}
.lp-mini-hero>div{background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(8,41,89,.08)}
.lp-hero-orbit-a{width:480px;height:480px;right:-205px;top:-230px}.lp-hero-orbit-b{width:650px;height:650px;right:-360px;top:-285px}

/* login */
.bt-auth{position:relative;min-height:100vh;grid-template-columns:minmax(460px,.88fr) minmax(560px,1.12fr);background:#f4f4ef;font-family:var(--bt-font);overflow:hidden}
.bt-auth-form{position:relative;z-index:2;padding:56px 34px;background:linear-gradient(180deg,#f7f7f3 0%,#efefe9 100%)}
.bt-auth-box{max-width:430px;gap:24px}
.bt-auth-box>.bt-wordmark{align-self:flex-start}.bt-auth-box>.bt-wordmark img{width:178px;height:auto}
.bt-auth-title{font-size:34px;line-height:1.08;letter-spacing:-.045em;color:var(--bt-primary);font-weight:600}
.bt-auth-desc{font-size:13.5px;line-height:1.65;color:#68706f;max-width:360px;margin-top:8px}
.bt-auth .bt-label{font-size:11.5px;color:#4d5557;font-weight:600}
.bt-auth .bt-input{height:46px;border-radius:12px;border-color:#d6d8d3;background:rgba(255,255,255,.92);font-size:13px;box-shadow:0 1px 0 rgba(8,41,89,.02)}
.bt-auth .bt-input:focus{border-color:rgba(0,179,104,.65);outline:3px solid rgba(0,179,104,.12)}
.bt-auth .bt-btn-primary{height:48px;border-radius:12px;background:var(--bt-success);border-color:var(--bt-success);box-shadow:0 12px 28px rgba(0,179,104,.18)}
.bt-auth .bt-btn-primary:hover{background:#009b5b;border-color:#009b5b}
.bt-auth a{color:var(--bt-primary);font-weight:600}.bt-auth a:hover{color:var(--bt-success)}
.bt-auth .bt-check{font-size:12.5px}.bt-auth .bt-check input{accent-color:var(--bt-success)}
.bt-auth-footnote{border-top:1px solid #dcded8;padding-top:18px;font-size:12px;color:#6c7473;line-height:1.7}
.bt-auth-security{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:#7a817f}.bt-auth-security>span{display:flex;align-items:center;gap:6px}.bt-auth-security .bt-ico{color:var(--bt-success)}
.bt-auth-side{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b356d 0%,#082959 54%,#061f47 100%);padding:62px 66px;justify-content:center;gap:28px}
.bt-auth-side::before{content:"";position:absolute;width:620px;height:620px;border:95px solid rgba(0,179,104,.10);border-radius:50%;right:-360px;top:-300px}
.bt-auth-side::after{content:"";position:absolute;width:410px;height:410px;border:70px solid rgba(255,255,255,.035);border-radius:50%;left:-260px;bottom:-220px}
.bt-auth-side>*{position:relative;z-index:2}
.bt-auth-side-brand img{width:180px;height:auto}
.bt-auth-side-symbol{position:absolute;right:-70px;bottom:-55px;width:430px;opacity:.12;z-index:1}
.bt-auth-side h2{max-width:620px;font-size:42px;line-height:1.03;letter-spacing:-.045em;font-weight:600;color:#fff}
.bt-auth-side p{max-width:600px;font-size:14px;line-height:1.75;color:#c6d2de}
.bt-auth-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:600px}
.bt-auth-kpi{padding:17px 18px;border-radius:16px;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.bt-auth-kpi b{font-family:var(--bt-font);font-size:25px;color:#fff;letter-spacing:-.03em}.bt-auth-kpi span{display:block;margin-top:4px;color:#afc0cf;font-size:11.5px}
.bt-auth-meta{font-size:11px;color:#90a6b9}

@media (max-width:1100px){
  .lp-hero-grid{grid-template-columns:1fr 1fr!important;gap:42px!important}.lp-hero-panel{width:92%}.lp-mock-hero,.lp-mini-hero{width:88%}
  .bt-auth{grid-template-columns:1fr 1fr}.bt-auth-side{padding:50px 42px}.bt-auth-side h2{font-size:34px}
}
@media (max-width:860px){
  .lp-hero-grid{grid-template-columns:1fr!important}.lp-hero-visual{min-height:560px;max-width:680px}.lp-hero-panel{left:0;right:auto;width:94%}.lp-mock-hero{width:91%;right:0}.lp-mini-hero{width:91%;right:0}.lp-h1{font-size:clamp(46px,10vw,66px)}
  .bt-auth{grid-template-columns:1fr}.bt-auth-side{display:none}.bt-auth-form{padding:42px 24px}.bt-auth-box{max-width:440px}
}
@media (max-width:620px){
  .lp-hero-visual{min-height:535px}.lp-hero-panel{height:330px;width:100%;border-radius:24px}.lp-hero-panel-copy{left:24px;top:27px}.lp-hero-panel-copy strong{font-size:25px}.lp-hero-panel-copy small{max-width:225px}.lp-hero-chip{left:24px;bottom:24px}.lp-hero-panel-symbol{width:250px;right:-72px}.lp-mock-hero{top:175px;width:96%;right:2%}.lp-mini-hero{top:470px;width:96%;right:2%}.lp-product-preview{padding:15px}.lp-h1{font-size:45px}
  .bt-auth-form{padding:32px 18px}.bt-auth-box>.bt-wordmark img{width:158px}.bt-auth-title{font-size:30px}
}

/* =============================================================== 11. HERO HOTFIX V3 */
/* Ajustes finos do hero:
   - evita sobreposição do mock sobre o texto do painel
   - usa o símbolo/orbes da marca nos detalhes de fundo */
.lp-hero-visual{min-height:640px}
.lp-hero-panel{width:84%;height:360px}
.lp-hero-panel-copy{max-width:292px}
.lp-hero-panel-copy strong{font-size:28px;line-height:1.04}
.lp-hero-panel-copy small{max-width:250px}
.lp-mock-hero{top:205px;width:84%}
.lp-mini-hero{top:540px;width:84%}

.lp-hero-orbit{border:none;background:url('/assets/brand/banktools-symbol.png') center/contain no-repeat;opacity:.055;mix-blend-mode:multiply;filter:saturate(.9)}
.lp-hero-orbit-a{width:320px;height:210px;right:56px;top:24px}
.lp-hero-orbit-b{width:560px;height:365px;right:-118px;top:-46px;opacity:.032}

@media (max-width:1100px){
  .lp-hero-visual{min-height:625px}
  .lp-hero-panel{width:90%;height:352px}
  .lp-mock-hero{top:214px;width:88%}
  .lp-mini-hero{top:528px;width:88%}
  .lp-hero-orbit-a{right:28px;top:20px}
  .lp-hero-orbit-b{right:-160px;top:-24px}
}

@media (max-width:860px){
  .lp-hero-visual{min-height:610px;max-width:680px}
  .lp-hero-panel{width:94%;height:348px}
  .lp-mock-hero{top:206px;width:91%;right:0}
  .lp-mini-hero{top:538px;width:91%;right:0}
  .lp-hero-orbit-a{width:286px;height:188px;right:26px;top:18px}
  .lp-hero-orbit-b{width:455px;height:300px;right:-108px;top:-8px}
}

@media (max-width:620px){
  .lp-hero-visual{min-height:570px}
  .lp-hero-panel{height:320px;width:100%}
  .lp-hero-panel-copy{left:24px;top:24px;max-width:220px}
  .lp-hero-panel-copy strong{font-size:23px;line-height:1.04}
  .lp-hero-panel-copy small{font-size:11px;max-width:205px}
  .lp-hero-chip{left:24px;bottom:20px}
  .lp-hero-panel-symbol{width:236px;right:-64px;bottom:-20px}
  .lp-mock-hero{top:188px;width:96%;right:2%}
  .lp-mini-hero{top:490px;width:96%;right:2%}
  .lp-hero-orbit-a{width:220px;height:145px;right:12px;top:22px;opacity:.05}
  .lp-hero-orbit-b{width:355px;height:235px;right:-90px;top:0;opacity:.026}
}

/* =============================================================== 12. HERO PREMIUM V4 */
/* composição estável, sem sobreposição entre copy e mock */
.lp-hero{background:linear-gradient(115deg,#f1f1ec 0%,#f8f8f4 55%,#eef8f3 100%)}
.lp-hero::before{background:radial-gradient(circle at 86% 10%,rgba(0,179,104,.10),transparent 28%),radial-gradient(circle at 72% 55%,rgba(8,41,89,.06),transparent 32%)}
.lp-hero-grid{padding-top:82px!important;padding-bottom:88px!important;grid-template-columns:minmax(0,.94fr) minmax(560px,1.06fr)!important;gap:78px!important}
.lp-hero-col{max-width:650px}
.lp-h1{font-size:clamp(56px,5.5vw,82px);line-height:.96;letter-spacing:-.055em;max-width:700px}
.lp-lead{font-size:16px;line-height:1.7;max-width:620px;color:#65706f}

.lp-hero-visual{position:relative;min-height:auto;display:block;z-index:2}
.lp-hero-stage{position:relative;overflow:hidden;border-radius:34px;padding:38px;background:linear-gradient(145deg,#0b356d 0%,#082959 66%,#061e43 100%);box-shadow:0 34px 80px rgba(8,41,89,.18);border:1px solid rgba(255,255,255,.08)}
.lp-hero-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 35%);pointer-events:none}
.lp-hero-stage-symbol{position:absolute;width:430px;right:-112px;top:-104px;opacity:.16;filter:none;pointer-events:none}
.lp-hero-stage-head{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:26px;margin-bottom:30px}
.lp-hero-panel-copy{position:static;max-width:330px;color:#fff;display:flex;flex-direction:column}
.lp-hero-panel-copy>span{font-size:10px;letter-spacing:.17em;font-weight:700;color:#6be3b4}
.lp-hero-panel-copy strong{font-size:34px;line-height:1.02;letter-spacing:-.045em;margin-top:14px;font-weight:600}
.lp-hero-panel-copy small{font-size:12px;line-height:1.6;color:#c8d7e3;margin-top:13px;max-width:300px}
.lp-hero-chip{position:static;flex:none;margin-top:1px;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:999px;color:#fff;font-size:10.5px;font-weight:600;white-space:nowrap}
.lp-hero-chip .bt-ico{font-size:17px;color:#62dfa9}

.lp-mock-hero{position:relative;right:auto;top:auto;width:100%;margin:0;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.18);z-index:3}
.lp-mock-hero .lp-mock-bar{padding:11px 14px;background:#f3f2ed}
.lp-product-preview{padding:19px}
.lp-product-heading{margin-bottom:14px}
.lp-product-grid{gap:10px}
.lp-product-grid>div,.lp-product-row{background:#fbfbf8;border-color:#e8e8e2}

.lp-mini-hero{position:relative;right:auto;top:auto;width:100%;margin:12px 0 0;z-index:3;gap:12px}
.lp-mini-hero>div{background:rgba(255,255,255,.97);box-shadow:none;border:0;padding:14px 16px}
.lp-mini-label{color:#7a8586}
.lp-mini-value{color:#082959}
.lp-mini-success{color:#00b368}

/* detalhes de fundo usando o próprio símbolo da marca */
.lp-hero-orbit{border:none;background:url('/assets/brand/banktools-symbol.png') center/contain no-repeat;mix-blend-mode:multiply;pointer-events:none}
.lp-hero-orbit-a{width:330px;height:218px;right:28px;top:18px;opacity:.055}
.lp-hero-orbit-b{width:620px;height:410px;right:-200px;top:-74px;opacity:.026}

@media (max-width:1180px){
  .lp-hero-grid{grid-template-columns:1fr 1fr!important;gap:46px!important}
  .lp-hero-stage{padding:30px}
  .lp-hero-stage-head{gap:18px}
  .lp-hero-panel-copy strong{font-size:30px}
  .lp-hero-chip{display:none}
}
@media (max-width:860px){
  .lp-hero-grid{grid-template-columns:1fr!important;gap:42px!important;padding-top:58px!important}
  .lp-hero-col{max-width:760px}
  .lp-h1{font-size:clamp(54px,10vw,76px);max-width:760px}
  .lp-hero-visual{max-width:720px;width:100%;margin:0 auto}
  .lp-hero-stage{padding:30px}
  .lp-hero-stage-symbol{width:390px;right:-118px;top:-90px}
}
@media (max-width:620px){
  .lp-hero-grid{padding-top:46px!important;padding-bottom:58px!important}
  .lp-h1{font-size:49px}
  .lp-lead{font-size:14.5px}
  .lp-hero-stage{padding:22px;border-radius:26px}
  .lp-hero-stage-head{margin-bottom:20px}
  .lp-hero-panel-copy strong{font-size:26px}
  .lp-hero-panel-copy small{font-size:11px;max-width:230px}
  .lp-hero-stage-symbol{width:300px;right:-108px;top:-60px;opacity:.13}
  .lp-product-preview{padding:15px}
  .lp-mini-hero{grid-template-columns:1fr 1fr}
  .lp-hero-orbit-a{width:220px;height:145px;right:-10px;top:18px}
  .lp-hero-orbit-b{width:390px;height:258px;right:-126px;top:-8px}
}


/* =============================================================== 13. HERO CLEAN V5 */
/* Remove os símbolos gigantes do fundo externo do hero.
   A identidade permanece concentrada no card azul da plataforma. */
.lp-hero-orbit{
  display:none!important;
}

.lp-hero{
  background:
    radial-gradient(circle at 87% 15%,rgba(0,179,104,.075),transparent 25%),
    radial-gradient(circle at 70% 67%,rgba(8,41,89,.045),transparent 28%),
    linear-gradient(115deg,#f1f1ec 0%,#f8f8f4 58%,#f0f7f3 100%);
}

.lp-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 22%,rgba(255,255,255,.72),transparent 22%),
    linear-gradient(90deg,transparent 0 68%,rgba(0,179,104,.022) 100%);
  pointer-events:none;
}

/* acabamento premium no card sem poluir o fundo */
.lp-hero-stage{
  isolation:isolate;
}
.lp-hero-stage::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-70px;
  bottom:-85px;
  border-radius:50%;
  border:34px solid rgba(0,179,104,.08);
  z-index:0;
  pointer-events:none;
}
.lp-hero-stage-head,
.lp-mock-hero,
.lp-mini-hero{
  position:relative;
  z-index:2;
}

@media (max-width:620px){
  .lp-hero::before{
    background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 46%);
  }
}


/* Loading global — identidade Banktools, sem alterar o layout da tela. */
html.bt-loading-global{cursor:progress}
.bt-loading-overlay{position:fixed;inset:0;z-index:2147483647;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:rgba(4,17,38,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:progress;color:#282828;font-family:var(--bt-font)}
.bt-loading-overlay[hidden]{display:none!important}
.bt-loading-overlay::backdrop{background:transparent}
.bt-loading-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 36px;border-radius:14px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.22);text-align:center;max-width:100%}
.bt-loading-card strong{font-size:15px;color:#082959}
.bt-loading-card>span:last-child{font-size:12px;color:#696b69}
.bt-loading-spinner{width:36px;height:36px;border:3px solid #e6edf4;border-top-color:#00b368;border-right-color:#082959;border-radius:50%;animation:bt-spin .8s linear infinite}
@media(prefers-reduced-motion:reduce){.bt-loading-spinner{animation:none}}

/* ===================================================== esteira de averbação */
.bt-est-quadro{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.bt-est-coluna{flex:0 0 270px;background:var(--bt-surface-subtle,var(--bt-bg));border:1px solid var(--bt-border);border-radius:var(--bt-r-lg,12px);
  display:flex;flex-direction:column;max-height:calc(100vh - 220px)}
.bt-est-coluna-head{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:600;
  border-bottom:1px solid var(--bt-border-soft);color:var(--bt-text)}
.bt-est-conta{font-weight:500;color:var(--bt-text-muted);white-space:nowrap}
.bt-est-coluna-corpo{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}
.bt-est-cartao{display:block;background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:var(--bt-r);padding:9px 10px;
  text-decoration:none;color:var(--bt-text);font-size:12.5px}
.bt-est-cartao:hover{border-color:var(--bt-primary)}
.bt-est-cartao.is-vencido{border-left:3px solid var(--bt-danger)}
.bt-est-cartao-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.bt-est-cartao-sub{margin-top:3px;color:var(--bt-text-muted);font-size:11.5px}
.bt-est-vencido{color:var(--bt-danger)}
.bt-est-fases{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding-bottom:4px}
.bt-est-fase{display:flex;align-items:center;gap:7px;flex:none;padding:6px 11px 6px 7px;border:1px solid var(--bt-border);border-radius:16px;
  font-size:12px;color:var(--bt-text-faint);background:var(--bt-surface)}
.bt-est-fase-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:var(--bt-bg)}
.bt-est-fase.is-feita{color:var(--bt-text-2)}
.bt-est-fase.is-feita .bt-est-fase-num{background:var(--bt-success-soft);color:var(--bt-success-text)}
.bt-est-fase.is-atual{border-color:var(--bt-primary);color:var(--bt-primary);font-weight:600;background:var(--bt-primary-soft)}
.bt-est-fase.is-atual .bt-est-fase-num{background:var(--bt-primary);color:#fff}
.bt-painel-corpo .bt-note{margin:10px 0 0;min-height:0;padding:9px 11px;display:block}
.bt-est-lista{margin:6px 0 0 18px;padding:0}
.bt-est-matricula{margin-top:10px;padding-top:10px;border-top:1px solid var(--bt-border-soft);font-size:12.5px}
.bt-est-margem{display:grid;grid-template-columns:1fr auto;gap:0 8px;margin-top:5px}
.bt-est-margem .bt-hint{grid-column:1/-1}
.bt-est-margem.is-vencida{opacity:.6}
.bt-est-modal-acoes{display:flex;gap:8px;margin-top:16px}
.bt-modal-est{max-width:680px}
.bt-est-linha-margem{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:6px;margin-top:6px}
.bt-est-toast{position:fixed;right:18px;bottom:18px;z-index:1100;max-width:420px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bt-est-formal{margin-bottom:12px}
.bt-est-formal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.bt-est-sub{margin-top:8px}
.bt-est-sub-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bt-painel .bt-td .bt-btn-sm{margin:1px 2px}
@media(max-width:720px){.bt-est-linha-margem{grid-template-columns:1fr 1fr}.bt-modal-est .bt-g2{grid-template-columns:1fr}}
/* Tabelas das telas da esteira: tabela nativa (as colunas variam por bloco). */
table.bt-table.bt-est-tabela{min-width:0;border-collapse:collapse}
table.bt-table.bt-est-tabela > thead{display:table-header-group;background:var(--bt-surface-subtle,var(--bt-bg))}
table.bt-table.bt-est-tabela > tbody{display:table-row-group}
table.bt-table.bt-est-tabela > thead > tr,
table.bt-table.bt-est-tabela > tbody > tr{display:table-row}
table.bt-table.bt-est-tabela > tbody > tr > td{padding:8px 12px;border-top:1px solid var(--bt-border-soft);font-size:12.5px;vertical-align:top}
table.bt-table.bt-est-tabela > tbody > tr[data-href]:hover{background:var(--bt-bg)}
.bt-est-quadro-fluxo{min-width:220px;max-width:340px}
/* Parâmetros de convênio / órgão / parceiro */
.bt-par-valor{font-family:var(--bt-mono,'IBM Plex Mono',monospace);font-size:12px;white-space:pre-wrap;word-break:break-all;max-width:520px}
.bt-par-acoes{white-space:nowrap;text-align:right}
.bt-modal-est{overflow:visible}

/* =====================================================================
   FINANCEIRO (src/templates/financeiro) — fechamento, clientes, proposta
   e relatórios. Mesmos tokens do portal; só as grades de cada lista e os
   poucos blocos que não existiam.
   ===================================================================== */
.bt-table-fin-proposta{min-width:1080px}
.bt-table-fin-proposta .bt-tr{grid-template-columns:80px minmax(200px,1.6fr) 100px 100px 110px 120px 110px 100px 90px}
.bt-table-fin-cliente{min-width:1240px}
.bt-table-fin-cliente .bt-tr{grid-template-columns:80px minmax(150px,1.1fr) minmax(170px,1.2fr) minmax(160px,1.1fr) 120px 110px 150px 130px 100px}
.bt-table-fin-fechamento{min-width:1240px}
.bt-table-fin-fechamento .bt-tr{grid-template-columns:110px minmax(160px,1.3fr) 110px 110px 130px 120px 140px 130px 100px}
.bt-table-fin-itens{min-width:820px}
.bt-table-fin-itens .bt-tr{grid-template-columns:minmax(180px,1.4fr) 120px 140px 140px 230px}
.bt-table-fin-operacoes{min-width:760px}
.bt-table-fin-operacoes .bt-tr{grid-template-columns:minmax(200px,1.5fr) 140px 160px 110px 100px}
.bt-table-fin-parceiros{min-width:760px}
.bt-table-fin-parceiros .bt-tr{grid-template-columns:90px minmax(180px,1fr) minmax(220px,1.4fr) 170px}

.bt-repet-fin-faixa .bt-repet-head,.bt-repet-fin-faixa .bt-repet-linha{grid-template-columns:1fr 1fr 40px}
.bt-repet-fin-op .bt-repet-head,.bt-repet-fin-op .bt-repet-linha{grid-template-columns:minmax(200px,1.5fr) minmax(150px,1fr) 120px 110px}
.bt-repet-fin-op-prop .bt-repet-head,.bt-repet-fin-op-prop .bt-repet-linha{grid-template-columns:minmax(220px,2fr) 150px 120px}
.bt-repet-fin-email .bt-repet-head,.bt-repet-fin-email .bt-repet-linha{grid-template-columns:minmax(170px,220px) 140px minmax(220px,1fr) 40px;align-items:start}
.bt-repet-fin-email textarea.bt-fin-emails{min-height:34px;height:auto;font-size:12.5px;resize:vertical}
.bt-repet.is-padrao .bt-repet-corpo{opacity:.55}
.bt-repet.is-padrao .bt-repet-acoes{display:none}
.bt-fin-somente{background:var(--bt-surface-subtle);border-color:transparent;color:var(--bt-text);pointer-events:none}
.bt-fin-padrao{color:var(--bt-text-muted);font-size:12px}

.bt-fin-nota{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.bt-fin-nota .bt-ico{flex:none;margin-top:1px}
.bt-fin-origem{display:block;margin-top:4px;color:var(--bt-text-muted)}
.bt-fin-flags{display:flex;flex-direction:column;justify-content:center;gap:10px}
.bt-fin-radios{display:flex;gap:22px;flex-wrap:wrap}
.bt-fin-sub{font-size:13.5px;font-weight:600;margin:6px 0 -6px}
.bt-fin-sub span{font-weight:400;color:var(--bt-text-muted);margin-left:6px}
.bt-fin-hint-alto{padding-top:26px}

.bt-fin-kpis{margin-bottom:16px}
.bt-fin-kpi-menor{font-size:16px;letter-spacing:0}
.bt-fin-gerar{margin-bottom:16px;padding:0}
.bt-fin-gerar-head{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;cursor:pointer}
.bt-fin-gerar-head::-webkit-details-marker{display:none}
.bt-fin-gerar[open] .bt-fin-gerar-head{border-bottom:1px solid var(--bt-border-soft)}
.bt-fin-gerar-form{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.bt-fin-clientes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px;
  max-height:320px;overflow:auto;padding:4px 2px}
.bt-fin-cliente{display:flex;align-items:center;gap:8px}
.bt-fin-cliente small{margin-left:auto;color:var(--bt-text-faint);font-size:11px;white-space:nowrap}
.bt-fin-escolha{padding-top:14px;border-top:1px solid var(--bt-border);align-items:start}
.bt-fin-todos .bt-check{min-height:36px;display:flex;align-items:center;gap:8px}
.bt-fin-todos small{color:var(--bt-text-faint);font-size:11px}
.bt-fin-escolhidos{grid-column:span 2}
@media (max-width:900px){.bt-fin-escolhidos{grid-column:auto}}
.bt-fin-acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.bt-fin-acoes form{display:flex;flex-direction:column;gap:6px}
.bt-fin-arquivos{display:flex;gap:6px;flex-wrap:wrap}
.bt-fin-exportar{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}

.bt-fin-matriz{width:100%;min-width:1180px;border-collapse:collapse;font-size:12.5px}
.bt-fin-matriz th{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--bt-text-faint);
  font-weight:600;text-align:right;padding:9px 10px;border-bottom:1px solid var(--bt-border);white-space:nowrap}
.bt-fin-matriz td{padding:9px 10px;text-align:right;font-family:var(--bt-mono);border-bottom:1px solid var(--bt-border-row);white-space:nowrap}
.bt-fin-matriz th:first-child,.bt-fin-matriz td:first-child{text-align:left;font-family:inherit;font-weight:600;
  position:sticky;left:0;background:var(--bt-surface)}
.bt-fin-matriz td:last-child,.bt-fin-matriz th:last-child{font-weight:600}
.bt-fin-matriz tbody tr:nth-child(even) td{background:var(--bt-surface-subtle)}
.bt-fin-matriz tfoot td{font-weight:600;border-top:2px solid var(--bt-border);border-bottom:none}
.bt-fin-modo-teste{margin:0 0 14px;font-weight:600}
/* Relatórios: o conteúdo abaixo das abas ganha a mesma margem interna do
   filtro, senão KPIs, botões, tabela e nota encostam na borda do cartão. A
   matriz não tem altura máxima (a linha de Total fica sempre à vista) e, em tela estreita, rola na horizontal
   (com a coluna do cliente fixa) em vez de espremer os valores. */
.bt-fin-relatorio>.bt-fin-kpis,.bt-fin-relatorio>.bt-fin-exportar,.bt-fin-relatorio>.bt-fin-nota,
.bt-fin-relatorio>.bt-hint,.bt-fin-relatorio>.bt-table-scroll,.bt-fin-relatorio>.bt-empty{margin-left:20px;margin-right:20px}
.bt-fin-relatorio>.bt-fin-kpis,.bt-fin-relatorio>.bt-fin-nota{margin-top:18px}
.bt-fin-relatorio>.bt-filtro+.bt-table-scroll{margin-top:18px}
.bt-fin-relatorio>.bt-fin-exportar{margin-bottom:16px}
.bt-fin-relatorio>.bt-table-scroll{border:1px solid var(--bt-border);border-radius:var(--bt-r-md);max-height:none;overflow-x:auto;overflow-y:visible}
.bt-fin-relatorio>.bt-hint{margin-top:12px;margin-bottom:18px}
.bt-fin-relatorio .bt-kpi-valor{font-size:22px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-fin-relatorio .bt-fin-matriz{min-width:1060px;font-size:12px;font-variant-numeric:tabular-nums}
.bt-fin-relatorio .bt-fin-matriz th,.bt-fin-relatorio .bt-fin-matriz td{padding:11px 12px}
.bt-fin-relatorio .bt-fin-matriz th:first-child,.bt-fin-relatorio .bt-fin-matriz td:first-child{padding-left:18px;min-width:130px;
  box-shadow:1px 0 0 var(--bt-border-row)}
.bt-fin-relatorio .bt-fin-matriz th:last-child,.bt-fin-relatorio .bt-fin-matriz td:last-child{padding-right:18px;padding-left:22px}
.bt-fin-relatorio .bt-fin-matriz thead th{background:var(--bt-surface-subtle)}

/* ===================================================================
   SUPORTE — documentos do parceiro, chamados e quadros
   =================================================================== */
.bt-ico-16{font-size:16px;vertical-align:-3px}

/* diálogo (quadros) */
.bt-dialog{width:min(640px,calc(100vw - 32px));max-height:92dvh;padding:0;border:1px solid var(--bt-border);border-radius:var(--bt-r-lg);
  background:var(--bt-surface);color:var(--bt-text);box-shadow:var(--bt-shadow-hero);overflow:hidden}
.bt-dialog::backdrop{background:rgba(8,41,89,.35)}
.bt-dialog[open]{display:flex;flex-direction:column}
.bt-dialog>form{display:flex;flex-direction:column;min-height:0;max-height:92dvh}
.bt-dialog-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--bt-border-soft)}
.bt-dialog-head h2{margin:0;font-size:16px;font-weight:600;color:var(--bt-primary);flex:1}
.bt-dialog-corpo{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0}
.bt-dialog-pe{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--bt-border-soft);background:var(--bt-surface-subtle);flex-wrap:wrap}
.bt-qd-dlg-sm{width:min(520px,calc(100vw - 32px))}
.bt-sup-toasts{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.bt-sup-toasts .bt-toast{box-shadow:var(--bt-shadow-float)}

/* documentos do parceiro */
.bt-docs{margin-top:16px;padding:18px}
.bt-docs-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.bt-docs-envio{margin:14px 0;padding:14px;border:1px dashed var(--bt-primary-soft-border);border-radius:var(--bt-r);background:var(--bt-primary-soft);display:flex;flex-direction:column;gap:10px}
.bt-docs-acoes{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.bt-docs-lista{display:flex;flex-direction:column;margin-top:10px}
.bt-docs-linha{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--bt-border-row)}
.bt-docs-linha:first-child{border-top:0}
.bt-docs-linha.is-interno{background:var(--bt-warning-soft)}
.bt-docs-ico{width:36px;height:36px;border-radius:var(--bt-r);background:var(--bt-primary-soft);color:var(--bt-primary);display:flex;align-items:center;justify-content:center;flex:none}
.bt-docs-info{flex:1;min-width:0}
.bt-docs-nome{font-weight:600;color:var(--bt-text);overflow-wrap:anywhere}
.bt-docs-tipo{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:999px;background:var(--bt-primary);color:#fff;font-size:10.5px;font-weight:600;vertical-align:1px}
.bt-docs-meta{font-size:12px;color:var(--bt-text-muted);overflow-wrap:anywhere}
.bt-docs-vazio{display:flex;align-items:center;gap:8px;color:var(--bt-text-muted);padding:16px 4px}

/* chamados */
.bt-sup-kpis{margin-bottom:16px}
.bt-sup-form{padding:0}
.bt-sup-status{font-size:12px;height:26px}
.bt-sup-detalhe{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:1000px){.bt-sup-detalhe{grid-template-columns:1fr}}
.bt-sup-principal{display:flex;flex-direction:column;gap:16px;min-width:0}
.bt-sup-timeline{padding:6px 18px}
.bt-sup-msg{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--bt-border-row)}
.bt-sup-msg:first-child{border-top:0}
.bt-sup-msg.is-interna{background:var(--bt-warning-soft);margin:0 -18px;padding:14px 18px}
.bt-sup-msg.is-evento .bt-sup-av{background:var(--bt-surface-subtle);color:var(--bt-text-muted)}
.bt-sup-av{position:relative;flex:none}
.bt-sup-msg-corpo{flex:1;min-width:0}
.bt-sup-msg-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--bt-text-muted)}
.bt-sup-msg-head b{color:var(--bt-primary);font-size:13px}
.bt-sup-evento{display:flex;gap:6px;align-items:center;color:var(--bt-success-text);font-size:12.5px;font-weight:600;margin-top:4px}
.bt-sup-evento .bt-ico{font-size:16px}
.bt-sup-texto{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.bt-sup-anexos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bt-sup-anexo{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--bt-border);border-radius:var(--bt-r);font-size:12.5px;max-width:100%}
.bt-sup-anexo span:not(.bt-ico){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-sup-anexo small{color:var(--bt-text-faint)}
.bt-sup-resposta,.bt-sup-avaliar{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.bt-sup-resposta-pe{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bt-sup-resposta-pe input[type=file]{max-width:320px}
.bt-sup-lateral{display:flex;flex-direction:column;gap:12px}
.bt-sup-info{padding:14px 16px}
.bt-sup-info dl{display:grid;grid-template-columns:96px 1fr;gap:8px 10px;margin:0;font-size:13px}
.bt-sup-info dt{color:var(--bt-text-muted)}
.bt-sup-info dd{margin:0;color:var(--bt-text);overflow-wrap:anywhere}
.bt-sup-vencido{color:var(--bt-danger);font-weight:600}
.bt-sup-nota{color:#b7791f}
.bt-sup-nota small{display:block;color:var(--bt-text-muted)}
.bt-sup-acao{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.bt-sup-cartao{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--bt-border-soft);border-radius:var(--bt-r)}
.bt-sup-cartao small{display:block;color:var(--bt-text-muted)}
.bt-sup-estrelas{display:flex;gap:4px;flex-direction:row-reverse;justify-content:flex-end}
.bt-sup-estrelas input{position:absolute;opacity:0;pointer-events:none}
.bt-sup-estrelas span{font-size:28px;color:var(--bt-border);cursor:pointer;line-height:1}
.bt-sup-estrelas label:hover span,.bt-sup-estrelas label:hover~label span,
.bt-sup-estrelas input:checked+span,.bt-sup-estrelas label:has(input:checked)~label span{color:#d69e2e}
.bt-sup-estrelas input:focus-visible+span{outline:2px solid var(--bt-focus);border-radius:4px}
.bt-table-chamado .bt-tr{grid-template-columns:110px minmax(180px,2fr) minmax(110px,1fr) 110px 90px minmax(110px,1fr) 120px 120px 130px}

/* lista de quadros */
.bt-qd-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:16px}
.bt-qd-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--bt-border);border-radius:var(--bt-r-md);
  background:var(--bt-surface);color:var(--bt-text);border-top:4px solid var(--bt-primary);transition:box-shadow .15s,transform .15s}
.bt-qd-item:hover{box-shadow:var(--bt-shadow-float);transform:translateY(-1px);color:var(--bt-text)}
.bt-qd-item.bt-qd-implantacao{border-top-color:var(--bt-success)}
.bt-qd-item.bt-qd-geral{border-top-color:var(--bt-text-faint)}
.bt-qd-item-topo{display:flex;align-items:center;gap:8px;justify-content:space-between}
.bt-qd-tipo{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bt-text-muted)}
.bt-qd-nome{font-size:16px;font-weight:600;color:var(--bt-primary)}
.bt-qd-parceiro{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--bt-text-2)}
.bt-qd-parceiro .bt-ico{font-size:16px}
.bt-qd-desc{font-size:12.5px;color:var(--bt-text-muted);min-height:18px}
.bt-qd-barra{height:6px;border-radius:3px;background:var(--bt-border-soft);overflow:hidden;margin:4px 0}
.bt-qd-barra span{display:block;height:100%;background:var(--bt-success);border-radius:3px}
.bt-qd-numeros{display:flex;justify-content:space-between;font-size:12.5px;color:var(--bt-text-2)}
.bt-qd-atraso{display:flex;align-items:center;gap:3px;color:var(--bt-danger);font-weight:600}
.bt-qd-atraso .bt-ico{font-size:15px}
.bt-qd-rodape{font-size:11.5px;color:var(--bt-text-faint)}
.bt-qd-modelos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:560px){.bt-qd-modelos{grid-template-columns:1fr}}
.bt-qd-modelo{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--bt-border);border-radius:var(--bt-r);cursor:pointer}
.bt-qd-modelo:has(input:checked){border-color:var(--bt-primary);background:var(--bt-primary-soft)}
.bt-qd-modelo b{display:block;color:var(--bt-primary)}
.bt-qd-modelo small{display:block;color:var(--bt-text-muted);font-size:11.5px;line-height:1.35}

/* o quadro */
.bt-page-quadro{max-width:none}
.bt-qd-barra-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.bt-qd-barra-filtros .bt-input[type=search]{width:min(280px,100%)}
.bt-qd-barra-filtros .bt-select{width:auto;min-width:150px}
.bt-qd-contagem{font-size:12.5px;color:var(--bt-text-muted)}
.bt-qd-quadro{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:12px;min-height:60vh;scroll-snap-type:x proximity}
.bt-qd-carregando{padding:30px;color:var(--bt-text-muted)}
.bt-qd-coluna{flex:0 0 288px;max-height:calc(100dvh - 230px);display:flex;flex-direction:column;background:#e4e4de;border-radius:var(--bt-r-md);scroll-snap-align:start}
.bt-qd-coluna.is-concluida{background:#dfe9e2}
.bt-qd-coluna-nova{border:2px dashed var(--bt-border);background:transparent;color:var(--bt-text-muted);padding:14px;align-items:center;justify-content:center;gap:6px;flex-direction:row;cursor:pointer;min-height:56px;font:inherit}
.bt-qd-coluna-nova:hover{color:var(--bt-primary);border-color:var(--bt-primary-soft-border)}
.bt-qd-col-cab{display:flex;align-items:center;gap:6px;padding:10px 10px 8px 12px}
.bt-qd-col-cor{width:10px;height:10px;border-radius:50%;flex:none}
.bt-qd-col-nome{font-weight:600;color:var(--bt-primary);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-qd-col-fim{color:var(--bt-success-text);display:flex}
.bt-qd-col-fim .bt-ico{font-size:16px}
.bt-qd-col-qtd{font-size:11.5px;font-family:var(--bt-mono);color:var(--bt-text-muted);background:rgba(255,255,255,.6);padding:1px 7px;border-radius:999px}
.bt-qd-col-qtd.is-cheia{background:var(--bt-danger-soft);color:var(--bt-danger)}
.bt-qd-col-menu{width:28px;height:28px}
.bt-qd-cartoes{flex:1;overflow-y:auto;padding:2px 8px 8px;display:flex;flex-direction:column;gap:8px;min-height:24px}
.bt-qd-cartoes.is-alvo{background:rgba(8,41,89,.06);border-radius:var(--bt-r)}
.bt-qd-cartao{background:var(--bt-surface);border-radius:var(--bt-r);padding:9px 10px;box-shadow:0 1px 2px rgba(16,24,40,.10);cursor:pointer;
  border-left:3px solid transparent;display:flex;flex-direction:column;gap:6px;outline:0}
.bt-qd-cartao:hover{box-shadow:0 2px 6px rgba(16,24,40,.14)}
.bt-qd-cartao:focus-visible{box-shadow:0 0 0 2px var(--bt-focus)}
.bt-qd-cartao.is-arrastando{opacity:.45}
.bt-qd-cartao.is-concluido .bt-qd-cartao-titulo{color:var(--bt-text-muted)}
.bt-qd-pri-urgente{border-left-color:var(--bt-danger)}
.bt-qd-pri-alta{border-left-color:#d69e2e}
.bt-qd-pri-baixa{border-left-color:var(--bt-border)}
.bt-qd-cartao-titulo{font-size:13px;color:var(--bt-text);overflow-wrap:anywhere;line-height:1.4}
.bt-qd-cartao-parc{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--bt-text-muted)}
.bt-qd-cartao-parc .bt-ico{font-size:14px}
.bt-qd-etiquetas{display:flex;flex-wrap:wrap;gap:4px}
.bt-qd-etiqueta{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--bt-success-soft);color:var(--bt-success-text);border:1px solid var(--bt-success-border)}
.bt-qd-cartao-pe{display:flex;align-items:center;gap:6px}
.bt-qd-metas{display:flex;flex-wrap:wrap;gap:4px 8px;flex:1}
.bt-qd-meta{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;color:var(--bt-text-muted)}
.bt-qd-meta .bt-ico{font-size:14px}
.bt-qd-meta.is-atrasado{color:#fff;background:var(--bt-danger);border-radius:4px;padding:0 4px}
.bt-qd-meta.is-hoje{color:var(--bt-warning);font-weight:600}
.bt-qd-meta.is-ok{color:var(--bt-success-text);font-weight:600}
.bt-qd-chamado{color:var(--bt-primary);font-weight:600}
.bt-qd-pri{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--bt-danger)}
.bt-qd-av{width:24px;height:24px;font-size:10px;flex:none;position:relative}
.bt-qd-col-pe{padding:4px 8px 10px}
.bt-qd-add{display:flex;align-items:center;gap:4px;width:100%;padding:7px 8px;border:0;background:transparent;color:var(--bt-text-muted);border-radius:var(--bt-r);cursor:pointer;font:inherit}
.bt-qd-add:hover{background:rgba(255,255,255,.6);color:var(--bt-primary)}
.bt-qd-add-campo{resize:vertical;min-height:54px}
.bt-qd-add-acoes{display:flex;gap:6px;margin-top:6px}
.bt-qd-aviso{margin-top:8px}
.bt-qd-cor{width:52px;padding:2px;height:36px}
.bt-qd-linha{display:flex;align-items:center;gap:10px}

/* o cartão (diálogo) */
.bt-qd-dlg-cartao{width:min(1080px,calc(100vw - 24px))}
.bt-qd-dlg-cartao .bt-dialog-head{padding:8px 12px;border-bottom:0}
.bt-qd-card-topo{display:flex;align-items:center;gap:10px;margin-top:-6px}
.bt-qd-card-titulo{font-size:18px;font-weight:600;color:var(--bt-primary);border-color:transparent;background:transparent}
.bt-qd-card-titulo:hover:not(:disabled),.bt-qd-card-titulo:focus{border-color:var(--bt-input-border);background:var(--bt-surface)}
.bt-qd-card-titulo:disabled{color:var(--bt-primary);opacity:1}
.bt-qd-card-col{white-space:nowrap;font-size:12.5px;color:var(--bt-text-muted)}
.bt-qd-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px;align-items:start}
@media (max-width:860px){.bt-qd-card{grid-template-columns:1fr}}
.bt-qd-card-esq{display:flex;flex-direction:column;gap:10px}
.bt-qd-card-info{font-size:11.5px;color:var(--bt-text-faint)}
.bt-qd-card-dir{min-width:0}
.bt-qd-card-abas{margin:0 0 10px;overflow-x:auto}
.bt-qd-badge{margin-left:5px;font-size:10.5px;font-family:var(--bt-mono);background:var(--bt-border-soft);border-radius:999px;padding:0 6px}
.bt-qd-card-aba{display:flex;flex-direction:column;gap:10px}
.bt-qd-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--bt-border-soft);border-radius:var(--bt-r);background:var(--bt-surface-subtle)}
.bt-qd-form-pe{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bt-qd-upload input[type=file]{flex:1;min-width:200px}
.bt-qd-vazio{color:var(--bt-text-muted);font-size:12.5px;padding:8px 2px}
.bt-qd-card-aba .bt-qd-item{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--bt-border-soft);border-radius:var(--bt-r);background:var(--bt-surface);
  border-top:1px solid var(--bt-border-soft);transform:none;box-shadow:none;flex-direction:row}
.bt-qd-card-aba .bt-qd-item.is-interno{background:var(--bt-warning-soft);border-color:var(--bt-warning-border)}
.bt-qd-item-corpo{flex:1;min-width:0}
.bt-qd-item-cab{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--bt-text-muted)}
.bt-qd-item-cab b{color:var(--bt-primary)}
.bt-qd-item-cab .bt-iconbtn{width:26px;height:26px}
.bt-qd-item-sub{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--bt-text-2);margin-top:2px}
.bt-qd-item-sub .bt-ico{font-size:14px}
.bt-qd-texto{margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.bt-qd-proximos{margin-top:6px;padding:6px 8px;background:var(--bt-success-soft);border-radius:var(--bt-r-sm);font-size:12.5px;white-space:pre-wrap}
.bt-qd-inter-ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bt-primary-soft);color:var(--bt-primary);flex:none}
.bt-qd-inter-whatsapp .bt-qd-inter-ico{background:var(--bt-success-soft);color:var(--bt-success-text)}
.bt-qd-inter-teste .bt-qd-inter-ico{background:var(--bt-warning-soft);color:var(--bt-warning)}
.bt-qd-check{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--bt-border-row);font-size:13px}
.bt-qd-check.is-feito .bt-qd-check-txt{text-decoration:line-through;color:var(--bt-text-muted)}
.bt-qd-check-txt{flex:1;overflow-wrap:anywhere}
.bt-qd-check small{color:var(--bt-text-muted);white-space:nowrap}
.bt-qd-check small.is-atrasado{color:var(--bt-danger);font-weight:600}
.bt-qd-check .bt-iconbtn{width:26px;height:26px}
.bt-qd-check-novo{display:grid;grid-template-columns:1fr 150px 140px auto;gap:6px;margin-top:6px}
@media (max-width:640px){.bt-qd-check-novo{grid-template-columns:1fr}}
.bt-qd-hist{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.bt-qd-hist-linha small{display:inline-block;width:118px;color:var(--bt-text-faint);font-family:var(--bt-mono);font-size:11.5px}
.bt-qd-hist-linha b{color:var(--bt-primary)}
.bt-qd-chamado-box{display:flex;flex-direction:column;gap:6px}
.bt-qd-chamado-link{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--bt-primary-soft-border);background:var(--bt-primary-soft);border-radius:var(--bt-r);font-weight:600}
.bt-qd-chamado-link small{margin-left:auto;font-weight:400;color:var(--bt-text-muted)}
.bt-qd-chamado-res{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow:auto}
.bt-qd-chamado-op{text-align:left;padding:6px 8px;border:1px solid var(--bt-border-soft);border-radius:var(--bt-r-sm);background:var(--bt-surface);cursor:pointer;font:inherit;font-size:12.5px}
.bt-qd-chamado-op:hover{border-color:var(--bt-primary-soft-border);background:var(--bt-primary-soft)}
.bt-qd-chamado-op small{display:block;color:var(--bt-text-muted)}
.bt-qd-mover{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--bt-text-muted)}
.bt-qd-mover .bt-select{width:auto}
button.bt-view{background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;cursor:pointer;color:var(--bt-text-muted)}
button.bt-view.is-active{color:var(--bt-primary);border-bottom-color:var(--bt-primary)}
.bt-qd-dlg-cartao{position:relative}
.bt-qd-dlg-cartao .bt-dialog-head{position:absolute;top:8px;right:8px;padding:0;border:0;z-index:2}
.bt-qd-dlg-cartao .bt-dialog-head h2{display:none}
.bt-qd-dlg-cartao .bt-qd-card-topo{margin:0;padding-right:40px}
.bt-qd-coluna.is-perdida{background:#ece4e4}
.bt-qd-col-perdido{color:var(--bt-danger);display:flex}
.bt-qd-col-perdido .bt-ico{font-size:16px}
.bt-qd-cartao.is-perdido{opacity:.75}
.bt-qd-cartao.is-perdido .bt-qd-cartao-titulo{color:var(--bt-text-muted)}
.bt-qd-perdido{display:flex;align-items:center;gap:3px;color:var(--bt-text-muted);font-weight:600}
.bt-qd-perdido .bt-ico{font-size:15px}
.bt-qd-numeros{flex-wrap:wrap;gap:4px 10px}
/* Selo de situação do cartão (pela coluna) e botão Finalizar */
.bt-qd-selo{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:1px 8px 1px 5px;border-radius:999px;letter-spacing:.2px}
.bt-qd-selo .bt-ico{font-size:13px;line-height:1}
.bt-qd-selo.is-fim{background:#00b368;color:#fff}
.bt-qd-selo.is-perdido{background:#fdeaea;color:#b42318;border:1px solid #f4c7c3}
.bt-qd-card-selo:empty{display:none}
.bt-qd-card-selo .bt-qd-selo{font-size:12px;padding:3px 10px 3px 7px}
.bt-btn-sucesso{background:#00b368;border-color:#00b368;color:#fff}
.bt-btn-sucesso:hover{background:#009a5a;border-color:#009a5a;color:#fff}
/* Botão de concluir no cartão (círculo à esquerda do título) e voltar */
.bt-qd-cartao-linha{display:flex;align-items:flex-start;gap:7px}
.bt-qd-cartao-linha .bt-qd-cartao-titulo{flex:1;min-width:0}
.bt-qd-concluir{flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;border:1.5px solid var(--bt-border-strong,#b8c0cc);
  background:var(--bt-surface);color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;
  transition:background .12s,border-color .12s,color .12s}
.bt-qd-concluir .bt-ico{font-size:13px;line-height:1;font-weight:700}
.bt-qd-concluir:hover{border-color:#00b368;color:#00b368}
.bt-qd-concluir.is-feito{background:#00b368;border-color:#00b368;color:#fff}
.bt-qd-concluir.is-feito:hover{background:#fff;color:#00b368}
.bt-qd-concluir:focus-visible{outline:2px solid var(--bt-focus);outline-offset:1px}
.bt-qd-cartao.is-concluido .bt-qd-cartao-titulo{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.bt-qd-voltar{margin-right:8px}
/* Cópia do cartão finalizado na coluna de origem */
.bt-qd-cartao.bt-qd-copia{background:#e6f7ef;border-left-color:#00b368;box-shadow:none;border-top:1px solid #bfe9d4;border-right:1px solid #bfe9d4;border-bottom:1px solid #bfe9d4}
.bt-qd-copia .bt-qd-cartao-titulo{color:#08603b;text-decoration:line-through;text-decoration-color:rgba(8,96,59,.35)}
.bt-qd-copia:hover{background:#d9f3e6}
.bt-qd-copia-pe{display:flex;align-items:center;gap:8px;font-size:11px;color:#08603b}
/* Gerar fechamento: o botão do cabeçalho vira "Cancelar" (vermelho) com o
   painel aberto; clicar fecha o painel e ele volta a "Gerar". */
.bt-btn-cancelar{background:#e0605a;border-color:#e0605a;color:#fff;font-weight:500}
.bt-btn-cancelar:hover{background:#cc4a44;border-color:#cc4a44;color:#fff}
.bt-btn-cancelar .bt-ico,.bt-btn-success .bt-ico{color:#fff!important}
.bt-fin-gerar .bt-fin-gerar-fechar{display:none}
.bt-fin-gerar[open] .bt-fin-gerar-fechar{display:inline-flex}
.bt-fin-gerar[open] .bt-fin-gerar-abrir{display:none}
/* Campos sem rótulo na mesma linha de campos com rótulo: um rótulo vazio
   do mesmo tamanho deixa o controle na altura do input vizinho. */
.bt-label-vazio{visibility:hidden}
.bt-fin-flags{justify-content:flex-start;gap:0}
.bt-fin-flag-linha{min-height:38px;display:flex;align-items:center;gap:8px}
.bt-fin-gerar-botao{display:flex;align-items:center;min-height:38px}
.bt-fin-gerar-botao .bt-btn{height:38px}
/* Botões de filtro: a célula inteira desce para a base da linha, rente ao
   input (antes dependia de a célula esticar, o que nem sempre acontecia). */
.bt-grid>.bt-filtro-acoes{display:flex;flex-direction:row;align-items:flex-end;align-self:end;gap:8px}

.bt-filtro-acoes .bt-btn{white-space:nowrap}

/* =====================================================================
   ACOMPANHAMENTO — Geral › Movimentos e Pendências, Suporte › Monitor,
   Chamados BMG
   ===================================================================== */
.bt-ac{display:flex;flex-direction:column;gap:16px}
.bt-ac .bt-page-head{margin-bottom:0}
.bt-ac-filtro{border-bottom:0}
.bt-ac-grid-periodo{grid-template-columns:minmax(200px,1.4fr) repeat(4,minmax(120px,1fr)) auto}
@media (max-width:1100px){.bt-ac-grid-periodo{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.bt-ac-grid-periodo,.bt-ac .bt-g4{grid-template-columns:1fr}}
.bt-ac-filtro-pe{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bt-ac-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.bt-ac-kpis .bt-kpi-valor{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-ac-kpi-moeda{font-size:18px!important}
.bt-ac-paineis{margin:0}
.bt-ac-lista{padding:0}
.bt-ac-lista-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--bt-border-soft);flex-wrap:wrap}
.bt-ac-busca{max-width:340px}
.bt-ac-legenda{display:flex;gap:6px;flex-wrap:wrap}
.bt-ac-tabela{width:100%;border-collapse:collapse;font-size:12.5px}
.bt-ac-tabela th{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--bt-text-faint);font-weight:600;text-align:left;
  padding:10px 12px;border-bottom:1px solid var(--bt-border);white-space:nowrap;background:var(--bt-surface-subtle)}
.bt-ac-tabela td{padding:9px 12px;border-bottom:1px solid var(--bt-border-row);vertical-align:top}
.bt-ac-tabela th:first-child,.bt-ac-tabela td:first-child{padding-left:20px}
.bt-ac-tabela th:last-child,.bt-ac-tabela td:last-child{padding-right:20px}
.bt-ac-tabela .is-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bt-ac-tabela .is-mono{font-family:var(--bt-mono);font-size:11.5px;white-space:nowrap}
.bt-ac-tabela .is-forte{font-weight:600;color:var(--bt-text)}
.bt-ac-tabela .is-alerta{color:var(--bt-danger);font-weight:600}
.bt-ac-tabela tr.is-clicavel{cursor:pointer}
.bt-ac-tabela tbody tr:hover td{background:var(--bt-surface-subtle)}
.bt-ac-tabela-mini td,.bt-ac-tabela-mini th{padding:7px 10px}
.bt-ac-tabela-mini th:first-child,.bt-ac-tabela-mini td:first-child{padding-left:10px}
.bt-ac-vazio{text-align:center;color:var(--bt-text-muted);padding:28px 12px!important}
.bt-ac-fraco{color:var(--bt-text-muted);font-size:11.5px}
.bt-ac-msg{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-text-muted)}
.bt-ac-acoes{white-space:nowrap}
.bt-ac-acoes .bt-iconbtn{width:30px;height:30px}
.bt-ac-perigo{color:var(--bt-danger)}
.bt-ac-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--bt-mono);font-size:11px;max-height:160px;overflow:auto;color:var(--bt-text-2)}
.bt-ac-paginacao{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:12px 20px}
.bt-ac-paginacao:empty{display:none}
.bt-ac-pag-info{font-size:12px;color:var(--bt-text-muted);padding:0 6px}
.bt-ac-nota{margin:0;padding:12px 20px 16px}
.bt-ac-atualizado{font-size:12px;color:var(--bt-text-muted);white-space:nowrap}
.bt-ac-auto{white-space:nowrap}
/* selo de status por grupo */
.bt-ac-st{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}
.bt-ac-st-sucesso{background:#e3f5eb;color:#00884f;border-color:#b6e5cb}
.bt-ac-st-insucesso{background:#fdeaea;color:#b42318;border-color:#f4c7c3}
.bt-ac-st-pendente{background:#fdf1de;color:#8a4b06;border-color:#f3d7a7}
.bt-ac-st-cancelado{background:#eef1f5;color:#566276;border-color:#d8dee7}
/* monitor: faixas de tempo parado */
.bt-ac-faixas{display:flex;gap:10px;flex-wrap:wrap}
.bt-ac-faixa{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12.5px;border:1px solid}
.bt-ac-faixa b{font-size:14px}
.bt-ac-faixa.is-15{background:#fff3cd;color:#856404;border-color:#f3e0a1}
.bt-ac-faixa.is-30{background:#e4e5fb;color:#383d73;border-color:#c9cbf2}
.bt-ac-faixa.is-60{background:#f8d7da;color:#721c24;border-color:#efb7bd}
.bt-ac-tabela tr.is-15 td{background:#fffaeb}
.bt-ac-tabela tr.is-30 td{background:#f1f1fd}
.bt-ac-tabela tr.is-60 td{background:#fdecee}
/* pendências */
.bt-ac-sit{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:600;line-height:1.3}
.bt-ac-sit .bt-ico{font-size:14px}
.bt-ac-sit-tag-sem-acesso{background:#fdeaea;color:#b42318}
.bt-ac-sit-tag-pendurado{background:#f0eafd;color:#6435c9}
.bt-ac-sit-tag-alerta{background:#fdf1de;color:#8a4b06}
.bt-ac-sit-tag-info{background:#eaf0ff;color:#2b52c9}
.bt-ac-sit-tag-normal{background:#e3f5eb;color:#00884f}
.bt-ac-acessos{font-family:var(--bt-mono);font-size:11.5px;white-space:nowrap}
.bt-ac-acessos .is-disp{color:#00884f;font-weight:700}
.bt-ac-acessos .is-uso{color:#2b52c9}
.bt-ac-acessos .is-pend{color:#6435c9;font-weight:700}
.bt-ac-acessos .is-bloq{color:#b42318}
.bt-ac-semacesso{display:flex;flex-direction:column;gap:10px}
.bt-ac-secao-head{display:flex;align-items:center;gap:8px;color:#b42318}
.bt-ac-secao-head h2{font-size:15px;font-weight:600;margin:0;color:var(--bt-text)}
.bt-ac-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.bt-ac-card{background:var(--bt-surface);border:1px solid #f4c7c3;border-radius:var(--bt-r-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.bt-ac-card.is-volume{background:#fff7f7}
.bt-ac-card-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.bt-ac-card-num{display:flex;gap:18px}
.bt-ac-card-num b{display:block;font-size:20px;font-family:var(--bt-mono)}
.bt-ac-card-num small{font-size:11px;color:var(--bt-text-muted)}
/* detalhe */
.bt-ac-dlg{width:min(720px,calc(100vw - 32px))}
.bt-ac-dlg-largo{width:min(1000px,calc(100vw - 32px))}
.bt-ac-dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 14px;margin:0;font-size:13px}
.bt-ac-dl dt{color:var(--bt-text-muted)}
.bt-ac-dl dd{margin:0;overflow-wrap:anywhere}
.bt-ac-dd-longo{white-space:pre-wrap;font-family:var(--bt-mono);font-size:12px;background:var(--bt-surface-subtle);padding:8px 10px;border-radius:6px}
/* BMG */
.bt-bmg-modo{display:flex;gap:10px;align-items:flex-start}
.bt-bmg-modo-producao{background:#e3f5eb;border-color:#b6e5cb;color:#00663b}
.bt-bmg-modo-teste{background:#fdf1de;border-color:#f3d7a7;color:#78350f}
.bt-bmg-modo-desligado{background:#eef1f5;border-color:#d8dee7;color:#3c4656}
.bt-bmg-passo{padding:0}
.bt-bmg-passo-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--bt-border-soft);flex-wrap:wrap}
.bt-bmg-num{width:28px;height:28px;border-radius:50%;background:#082959;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.bt-bmg-busca{padding:16px 20px}
.bt-bmg-fixo{min-height:38px;display:flex;align-items:center;padding:8px 12px;background:var(--bt-surface-subtle);border:1px solid var(--bt-border-soft);border-radius:var(--bt-r);font-size:12.5px;color:var(--bt-text-2);overflow-wrap:anywhere}
.bt-bmg-acessos-atuais{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}
.bt-bmg-email{font-size:13px;line-height:1.7;background:var(--bt-surface-subtle);border:1px solid var(--bt-border-soft);border-radius:8px;padding:12px 14px;overflow-wrap:anywhere}
.bt-bmg-foot{padding:14px 20px}
.bt-ac-linha-erro td{background:#fff7f7}
.bt-ac-sim{color:#00884f;font-size:18px}
.bt-ac-nao{color:var(--bt-text-faint);font-size:18px}
.bt-ac-ruim{color:#b42318;font-size:18px}
.bt-ac-tabela thead th{position:sticky;top:0;z-index:1}
.bt-ac-tabela .bt-ac-sit{min-width:150px}


/* ---- Navegação: Voltar ao lado do caminho; última parte do caminho clicável */
.bt-crumb-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.bt-crumb-linha .bt-breadcrumb{margin:0}
.bt-voltar{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:500;color:var(--bt-text-2);text-decoration:none;
  padding:2px 8px 2px 4px;border:1px solid var(--bt-border);border-radius:999px;background:var(--bt-surface);line-height:1.4}
.bt-voltar .bt-ico{font-size:15px;line-height:1}
.bt-voltar:hover{border-color:var(--bt-primary);color:var(--bt-primary)}
.bt-breadcrumb a.bt-crumb-atual{color:var(--bt-text-muted);text-decoration:none}
.bt-breadcrumb a.bt-crumb-atual:hover{color:var(--bt-primary);text-decoration:underline}

/* ---- Filtros retráteis (sempre começam fechados; fecham de novo ao filtrar) */
.bt-filtro-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--bt-border-soft);
  background:var(--bt-surface-subtle);color:var(--bt-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left}
.bt-filtro-toggle .bt-ico{font-size:18px;color:inherit}
.bt-filtro-toggle-rot{flex:1}
.bt-filtro-toggle:hover{background:var(--bt-bg)}
.bt-filtro-toggle:focus-visible{outline:2px solid var(--bt-focus);outline-offset:-2px}
/* Fechado: o "Mostrar filtros" é azul (cor da marca), bem visível */
.bt-filtro-toggle.is-fechado{background:#082959;color:#fff;border-bottom-color:#082959}
.bt-filtro-toggle.is-fechado:hover{background:#0c3a7a}
.bt-filtro-caixa{padding:0;overflow:visible}
.bt-filtro-caixa > .bt-filtro-toggle{border-radius:var(--bt-r-lg) var(--bt-r-lg) 0 0}
.bt-filtro-caixa > .bt-filtro-toggle.is-fechado{border-radius:var(--bt-r-lg)}
.bt-filtro-caixa > form.bt-filtro{border-radius:0 0 var(--bt-r-lg) var(--bt-r-lg)}
form.bt-filtro.is-recolhido,form.bt-monitor-filtro.is-recolhido{display:none!important}
/* Layout único: campos em grade que se ajusta (sem buraco), botões num rodapé à direita */
form.bt-filtro{padding:16px;gap:14px}
form.bt-filtro .bt-grid.bt-g2,form.bt-filtro .bt-grid.bt-g3,form.bt-filtro .bt-grid.bt-g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 14px}
.bt-filtro-pe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--bt-border-soft)}
.bt-filtro-pe .bt-btn{height:38px;white-space:nowrap}
.bt-filtro-pe .bt-hint{margin:0}
form.bt-monitor-filtro{display:flex;flex-direction:column;gap:12px}

/* ---- Listas ordenáveis e ação em lote */
.bt-ac-tabela th.is-ordenavel{cursor:pointer;user-select:none}
.bt-ac-tabela th.is-ordenavel:hover{color:var(--bt-text)}
.bt-ac-tabela th.is-ordenavel::after{content:"↕";margin-left:4px;opacity:.35;font-size:10px}
.bt-ac-tabela th[aria-sort="ascending"]::after{content:"▲";opacity:.8}
.bt-ac-tabela th[aria-sort="descending"]::after{content:"▼";opacity:.8}
.bt-ac-col-check{width:34px}
.bt-ac-lote{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;background:#eaf0ff;border-bottom:1px solid #c9d6fb;font-size:13px}

/* ---- Edição de movimento (root) */
.bt-ac-edicao-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;max-height:62vh;overflow:auto;padding:2px}
.bt-ac-edicao-largo{grid-column:1 / -1}
@media (max-width:800px){.bt-ac-edicao-grade{grid-template-columns:1fr}}
.bt-ac-edicao-aviso{margin:0 0 12px}
.bt-ret-edicao{display:flex;gap:8px;align-items:center;margin:8px 0}
.bt-bmg-abas{padding:0}
.bt-ac-acoes{min-width:170px}

/* ---- TABELAS: um layout só e sem rolagem interna.
   A lista cresce com a página (nada de caixa com barra de rolagem dentro da
   tela) e a largura mínima fixa de cada grade sai: as colunas flexíveis se
   ajustam à tela. Cabeçalho nunca quebra linha. */
.bt-table-scroll{max-height:none!important;overflow-y:visible!important;overflow-x:auto}
.bt-table-scroll > .bt-table,.bt-table-scroll > table.bt-table{min-width:0!important}
table.bt-table > thead > tr > th,.bt-ac-tabela th,.bt-fin-matriz th{white-space:nowrap}
table.bt-table > thead,.bt-ac-tabela thead th{background:var(--bt-surface-subtle)}
.bt-ac-tabela td{overflow-wrap:anywhere}
.bt-ac-tabela tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--bt-surface-subtle) 55%,transparent)}
.bt-ac-tabela tbody tr:hover td{background:var(--bt-primary-soft,#eaf0ff)}
.bt-ac-tabela tbody tr.is-15 td{background:#fffaeb}
.bt-ac-tabela tbody tr.is-30 td{background:#f1f1fd}
.bt-ac-tabela tbody tr.is-60 td{background:#fdecee}
.bt-ac-tabela tbody tr.bt-ac-linha-erro td{background:#fff7f7}
.bt-ret-extra > summary{font-weight:600}
.bt-ret-extra-corpo{padding:10px 0;font-size:12.5px;color:var(--bt-text-muted)}
.bt-ret-travado{display:inline-flex;align-items:center;gap:6px;background:#fdf1de;border-color:#f3d7a7;color:#78350f;font-size:12.5px;padding:6px 10px}
.bt-iconbtn.is-travado{color:var(--bt-text-faint);cursor:not-allowed;display:inline-flex;align-items:center;justify-content:center}
.bt-ac-extras:empty{display:none}
.bt-ac-extras{display:flex;flex-direction:column;gap:6px}
.bt-ac-faixa-ok{background:#e3f5eb;color:#00663b;border-color:#b6e5cb}
.bt-ac-lote-aviso{max-width:520px}

/* =====================================================================
   CARTÕES DE NÚMERO (KPI) — sem ícone, a cor vai para o próprio cartão.
   Vale para todos: Movimentos, Pendências, Monitor, Indicadores, Chamados,
   Financeiro… A cor de cada cartão continua vindo da classe do ícone que o
   modelo já declara (bt-kpi-ico-verde, -azul…), então nenhum modelo muda.
   ===================================================================== */
.bt-kpi,.bt-resumo-padrao{--kpi-cor:#566276;--kpi-fundo:var(--bt-surface);--kpi-texto:var(--bt-text);
  display:flex!important;flex-direction:column;grid-template-columns:none!important;gap:0;min-height:118px;padding:16px 18px!important;
  background:var(--kpi-fundo)!important;border:1px solid color-mix(in srgb,var(--kpi-cor) 22%,var(--bt-border))!important;
  border-radius:var(--bt-r-md)!important;box-shadow:var(--bt-shadow-card)}
.bt-kpi > .bt-kpi-ico,.bt-resumo-padrao > .bt-kpi-ico{display:none!important}
.bt-kpi .bt-kpi-txt,.bt-resumo-padrao .bt-kpi-txt{display:flex;flex-direction:column;gap:6px;height:100%;min-width:0}
.bt-kpi .bt-kpi-rotulo,.bt-resumo-padrao h2,.bt-resumo-padrao h3{min-height:0!important;margin:0;font-size:11.5px;font-weight:600;letter-spacing:.4px;
  text-transform:uppercase;color:var(--kpi-cor)!important}
.bt-kpi .bt-kpi-valor,.bt-resumo-padrao .bt-monitor-valor{font-size:28px!important;line-height:1.1;font-weight:700;letter-spacing:-.5px;color:var(--kpi-texto)!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 0!important}
.bt-kpi .bt-kpi-nota,.bt-resumo-padrao p{margin-top:auto!important;padding-top:6px;font-size:12px;line-height:1.35;color:var(--bt-text-muted)}
.bt-kpi:has(.bt-kpi-ico-verde),.bt-resumo-padrao:has(.bt-kpi-ico-verde){--kpi-cor:#00995a;--kpi-fundo:#f1faf5;--kpi-texto:#00663b}
.bt-kpi:has(.bt-kpi-ico-azul),.bt-resumo-padrao:has(.bt-kpi-ico-azul){--kpi-cor:#2b52c9;--kpi-fundo:#f4f7ff;--kpi-texto:#082959}
.bt-kpi:has(.bt-kpi-ico-vermelho),.bt-resumo-padrao:has(.bt-kpi-ico-vermelho){--kpi-cor:#c0392b;--kpi-fundo:#fdf4f3;--kpi-texto:#8f2418}
.bt-kpi:has(.bt-kpi-ico-ambar),.bt-resumo-padrao:has(.bt-kpi-ico-ambar){--kpi-cor:#b86e00;--kpi-fundo:#fff9ef;--kpi-texto:#7a4500}
.bt-kpi:has(.bt-kpi-ico-roxo),.bt-resumo-padrao:has(.bt-kpi-ico-roxo){--kpi-cor:#6435c9;--kpi-fundo:#f8f5fe;--kpi-texto:#45228f}
.bt-kpi:has(.bt-kpi-ico-ciano),.bt-resumo-padrao:has(.bt-kpi-ico-ciano){--kpi-cor:#0e7d90;--kpi-fundo:#f0fafc;--kpi-texto:#0a5866}
.bt-kpi .bt-kpi-var{align-self:flex-start;margin-top:4px}
.bt-ac-kpis .bt-kpi-valor{font-size:28px}
.bt-ac-kpi-moeda{font-size:24px!important}
/* Monitoramento: data no cabeçalho e "Eventos por sistema" em destaque */
.bt-monitor-filtro-topo{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.bt-monitor-filtro-topo .bt-label{margin:0;white-space:nowrap}
.bt-monitor-filtro-topo .bt-input{width:170px;height:38px}
.bt-monitor-filtro-topo .bt-btn{height:38px}
.bt-page-meta .bt-monitor-consulta{padding:0;margin-left:6px}
.bt-monitor-sistemas-card{background:var(--bt-surface);border:1px solid var(--bt-border);border-radius:var(--bt-r-lg);padding:18px 20px;box-shadow:var(--bt-shadow-card)}
.bt-monitor-sistemas-card h2{font-size:15px;font-weight:600;margin:0}
.bt-monitor-sub{margin:2px 0 0;font-size:12px;color:var(--bt-text-muted)}
.bt-monitor-total{font-size:12px;font-weight:600;color:#082959;background:#eaf0ff;border-radius:999px;padding:3px 10px;white-space:nowrap}
.bt-monitor-barra{background:var(--bt-surface-subtle);border:1px solid var(--bt-border-soft);border-radius:10px;padding:10px 12px}
.bt-monitor-barra.is-maior{background:#fff9ef;border-color:#f3d7a7}
.bt-monitor-barra-head{color:var(--bt-text)!important;font-size:12.5px!important}
.bt-monitor-barra-head strong{font-size:15px;color:#082959}
.bt-monitor-barra-head small{font-size:11px;font-weight:500;color:var(--bt-text-muted)}
.bt-monitor-barra-trilho{height:8px!important;background:#dfe5ee!important}
.bt-monitor-barra-fill{background:linear-gradient(90deg,#082959,#2b52c9)!important;opacity:1!important}
.bt-monitor-barra.is-maior .bt-monitor-barra-fill{background:linear-gradient(90deg,#b86e00,#eda100)!important}
/* Pendências: linhas identificáveis, modelo, legenda e cartões "sem acesso" */
.bt-ac-tabela tbody tr.bt-ac-linha-sit td:first-child{box-shadow:inset 4px 0 0 var(--sit-cor,#d8dee7)}
.bt-ac-tabela tbody tr.bt-ac-sit-sem-acesso{--sit-cor:#c0392b}
.bt-ac-tabela tbody tr.bt-ac-sit-pendurado{--sit-cor:#6435c9}
.bt-ac-tabela tbody tr.bt-ac-sit-alerta{--sit-cor:#d48806}
.bt-ac-tabela tbody tr.bt-ac-sit-info{--sit-cor:#2b52c9}
.bt-ac-tabela tbody tr.bt-ac-sit-normal{--sit-cor:#00995a}
.bt-ac-tabela tbody tr.bt-ac-linha-sit td{border-bottom:1px solid var(--bt-border)}
.bt-ac-modelo{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.4px}
.bt-ac-modelo-api{background:#e2f4f8;color:#0a5866}
.bt-ac-modelo-rpa{background:#f0eafd;color:#45228f}
.bt-ac-legendas{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--bt-border-soft);font-size:12px;color:var(--bt-text-2)}
.bt-ac-leg-titulo{font-weight:700;color:var(--bt-text)}
.bt-ac-leg{display:inline-flex;align-items:center;gap:5px}
.bt-ac-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.bt-ac-leg i.is-disp{background:#00884f}.bt-ac-leg i.is-uso{background:#2b52c9}.bt-ac-leg i.is-pend{background:#6435c9}.bt-ac-leg i.is-bloq{background:#b42318}
.bt-ac-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
a.bt-ac-card{text-decoration:none;color:inherit;background:var(--bt-surface);border:1px solid #f1c9c4;border-left:1px solid #f1c9c4;
  border-radius:var(--bt-r-md);padding:14px 16px;gap:4px;box-shadow:var(--bt-shadow-card);transition:box-shadow .12s,transform .12s}
a.bt-ac-card:hover{box-shadow:0 6px 18px rgba(16,24,40,.12);transform:translateY(-1px)}
a.bt-ac-card.is-volume{background:#fff8f7}
.bt-ac-card-topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bt-ac-card-id{font-family:var(--bt-mono);font-size:12px;font-weight:700;color:#8f2418;background:#fdeaea;border-radius:6px;padding:2px 7px}
.bt-ac-card-op{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#8f2418}
.bt-ac-card-nome{font-size:15px;font-weight:700;color:var(--bt-text);line-height:1.3;margin-top:4px}
.bt-ac-card-sub{font-size:12px;color:var(--bt-text-muted);line-height:1.35}
.bt-ac-card-num{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 6px;padding:10px 0;border-top:1px solid #f6dcd8;border-bottom:1px solid #f6dcd8}
.bt-ac-card-num b{font-size:22px!important}
.bt-ac-card-acao{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#082959}
.bt-ac-card-acao .bt-ico{font-size:17px}
.bt-ac-aviso-filtro{margin:0}

/* Simulador da consulta: alerta de margem bruta diferente da disponível. */
.bt-sim-alerta{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.45}
.bt-sim-alerta .bt-ico{font-size:18px;line-height:1.1}

/* Tabelas sem rolagem lateral (revisão geral): cabeçalho nunca quebra, o corpo
   quebra onde precisar e as colunas não têm mais largura mínima fixa. */
table.bt-table-adaptavel .bt-td,table.bt-table-adaptavel th{min-width:0;padding:11px 10px}
table.bt-table-adaptavel th:first-child,table.bt-table-adaptavel .bt-td:first-child{padding-left:16px}
.bt-table td,.bt-table .bt-td,.bt-ac-tabela td,.bt-tabela-dados td{white-space:normal;overflow-wrap:anywhere}
.bt-table td.bt-mono,.bt-table .num,.bt-ac-tabela td.num,.bt-tabela-dados td.num{overflow-wrap:normal;white-space:nowrap}
.bt-table th,.bt-ac-tabela th,.bt-tabela-dados th{white-space:nowrap}
.bt-ac-tabela th,.bt-ac-tabela td{padding-left:9px;padding-right:9px}
.bt-ac-tabela th:first-child,.bt-ac-tabela td:first-child{padding-left:14px}
.bt-ac-tabela th:last-child,.bt-ac-tabela td:last-child{padding-right:14px}
.bt-ac-acoes{min-width:0}
.bt-ac-acoes .bt-iconbtn{width:28px;height:28px}
.bt-ac-tabela th{letter-spacing:.3px}
/* Listas de 12 colunas (Pendências, Monitor): espaçamento menor para caberem sem rolagem. */
.bt-ac-tabela th,.bt-ac-tabela td{padding-left:7px;padding-right:7px}
.bt-ac-tabela th{letter-spacing:.2px}
.bt-iconbtn{overflow:hidden}
.bt-table th,.bt-table th.bt-td,.bt-ac-tabela th,.bt-tabela-dados th,table th{white-space:nowrap;overflow-wrap:normal}
/* KPI: o valor em reais não passa da borda do card. */
.bt-kpi,.bt-resumo-padrao{min-width:0;overflow:hidden}
.bt-kpi .bt-kpi-txt{width:100%}
.bt-kpi .bt-kpi-valor{max-width:100%}
.bt-kpi .bt-kpi-valor.bt-ac-kpi-moeda,.bt-ac-kpi-moeda{font-size:clamp(17px,1.45vw,22px)!important;letter-spacing:-.3px}
.bt-kpi .bt-kpi-nota{white-space:normal;overflow-wrap:anywhere}
.bt-kpi .bt-kpi-valor.bt-ac-kpi-moeda,.bt-ac-kpi-moeda{font-family:inherit!important;font-variant-numeric:tabular-nums}
.bt-ret-extra-acoes{display:flex;justify-content:flex-end;margin:0 0 10px}
.bt-ret-extra-links{display:inline-flex;gap:6px;white-space:nowrap}

/* Célula com vários parceiros / órgãos / convênios: um por linha, com um
   marcador discreto, para a lista não virar um parágrafo corrido. */
.bt-cel-lista{display:flex;flex-direction:column;gap:3px}
.bt-cel-item{display:block;position:relative;padding-left:11px;line-height:1.35;white-space:normal}
.bt-cel-item::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--bt-primary-soft-border,#cbd7e5)}
