:root{
  /* ===== DESIGN SYSTEM COMERCIAL GPC (Fase A migração visual v2026.13) =====
     Tokens novos seguindo padrão Comercial GPC. Variáveis legadas (--navy,
     --dark, --orange etc) ficam como aliases para não quebrar CSS antigo. */

  /* Novas variáveis (padrão Comercial) */
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-2:#f5f7fa;
  --surface-3:#eef1f5;
  --border:#e4e8ee;
  --border-strong:#c9d0da;
  --text:#0a0e16;
  --text-dim:#4a5262;
  --text-muted:#6b7280;
  --accent:#2E476F;
  --accent-dim:#253C5E;
  --accent-text:#1E3558;
  --accent-glow:rgba(46,71,111,0.14);
  --accent-bg:rgba(46,71,111,0.08);
  --accent-bg-strong:rgba(46,71,111,0.16);
  --highlight:#F58634;
  --highlight-dim:#DC7529;
  --highlight-text:#B45A1F;
  --highlight-bg:rgba(245,134,52,0.1);
  --highlight-bg-strong:rgba(245,134,52,0.18);
  --success:#109854;
  --success-text:#087042;
  --success-bg:rgba(16,152,84,0.08);
  --warning:#b45309;
  --warning-bg:rgba(245,158,11,0.12);
  --violet:#7c3aed;
  --violet-text:#6d28d9;
  --violet-bg:rgba(124,58,237,0.1);
  --topbar-bg:#2E476F;
  --sidebar-w:220px;

  /* Aliases (legado) mapeados para os novos tokens */
  --navy:#2E476F;
  --navy2:#253C5E;
  --navy3:#3D5F95;
  --dark:#2E476F;
  --orange:#F58634;
  --off:#f5f7fa;
  --gray1:#f5f7fa;
  --gray2:#e4e8ee;
  --gray3:#6b7280;
  --muted:#6b7280;
  --green:#109854;
  --green2:rgba(16,152,84,0.10);
  --green3:#087042;
  --danger:#d92d20;
  --danger-text:#b42318;
  --danger-bg:rgba(217,45,32,0.07);
  --danger2:rgba(217,45,32,0.07);
  --amber:#b45309;
  --amber2:rgba(245,158,11,0.12);

  --radius:10px;
  --radius-sm:6px;
  --radius-lg:14px;
  --shadow:0 1px 3px rgba(10,14,22,0.04);
  --shadow-md:0 4px 20px rgba(10,14,22,0.10);
  --left-w:276px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Archivo',sans-serif;
  background:var(--bg);color:var(--text);
  height:100vh;display:flex;flex-direction:column;overflow:hidden;
  font-size:14px;line-height:1.5;
  padding-left:60px;
  padding-top:54px; /* v4.8: espaço para topbar full-width fixo */
  transition:padding-left .25s cubic-bezier(.4,0,.2,1);
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1200px 600px at 85% -10%, rgba(46,71,111,0.05), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(245,134,52,0.04), transparent 60%);
  background-color:var(--bg);
}
body.sb-expanded{padding-left:220px}
body.sb-mobile-open .app-sidebar{transform:translateX(0)}

/* ═══════════════════════════════════════
   SIDEBAR DE NAVEGAÇÃO (Fase A v2026.13 — padrão Comercial)
═══════════════════════════════════════ */
.app-sidebar{
  position:fixed;left:0;top:54px;bottom:0; /* v4.8: começa abaixo do header full-width */
  width:60px;background:var(--surface);
  display:flex;flex-direction:column;
  z-index:50;
  transition:width .25s cubic-bezier(.4,0,.2,1), transform .25s ease;
  overflow:hidden;
  border-right:1px solid var(--border);
  box-shadow:1px 0 3px rgba(10,14,22,0.02);
}
body.sb-expanded .app-sidebar{width:220px}
.sb-header{
  /* v4.8: cabeçalho discreto estilo Comercial (sem background azul, só rótulo da seção) */
  height:36px;background:transparent;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
  padding:0 12px;flex-shrink:0;cursor:pointer;
}
.sb-section-label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;
  letter-spacing:0.12em;
  color:var(--text-muted);
  opacity:0;transition:opacity .15s;
  pointer-events:none;
}
body.sb-expanded .sb-section-label{opacity:1}
.sb-toggle{
  background:none;border:none;color:var(--text-muted);
  cursor:pointer;padding:4px;margin-left:auto;font-size:11px;
  border-radius:4px;display:none;
}
body.sb-expanded .sb-toggle{display:inline-flex;align-items:center;justify-content:center}
.sb-toggle:hover{background:var(--surface-2);color:var(--text)}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px;display:flex;flex-direction:column;gap:2px}
.sb-nav::-webkit-scrollbar{width:4px}
.sb-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.sb-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:7px;
  color:var(--text-dim);
  cursor:pointer;border:none;background:transparent;
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:500;
  white-space:nowrap;overflow:hidden;
  transition:background .15s, color .15s;text-align:left;width:100%;
  position:relative;
}
.sb-item:hover{background:var(--surface-2);color:var(--text)}
.sb-item.active{
  background:var(--accent-bg);color:var(--accent-text);font-weight:700;
}
.sb-item .sb-ico{
  font-size:18px;width:22px;text-align:center;flex-shrink:0;opacity:.65;
  /* v4.8: força renderização monocromática (não emoji colorido) */
  font-variant-emoji:text;
  -webkit-font-feature-settings:normal;
  font-feature-settings:normal;
  font-family:'Archivo',sans-serif;
  line-height:1;
}
.sb-item.active .sb-ico{opacity:1}
.sb-item .sb-lbl{
  opacity:0;transition:opacity .15s;
  pointer-events:none;
}
body.sb-expanded .sb-item .sb-lbl{opacity:1;pointer-events:auto}
.sb-divider{
  height:1px;background:var(--border);
  margin:8px 14px;
}
.sb-footer{
  border-top:1px solid var(--border);
  padding:8px;flex-shrink:0;
}
.sb-toggle-collapse{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;color:var(--text-muted);
  cursor:pointer;border:none;background:transparent;
  font-family:'JetBrains Mono',monospace;font-size:10px;
  text-transform:uppercase;letter-spacing:0.1em;font-weight:600;
  white-space:nowrap;width:100%;text-align:left;border-radius:7px;
  transition:background .15s, color .15s;
}
.sb-toggle-collapse:hover{background:var(--surface-2);color:var(--text)}
.sb-toggle-collapse .sb-ico{font-size:14px;width:22px;text-align:center;flex-shrink:0}
.sb-toggle-collapse .sb-lbl{opacity:0;transition:opacity .15s}
body.sb-expanded .sb-toggle-collapse .sb-lbl{opacity:1}

/* Mobile: sidebar vira drawer */
@media (max-width:768px){
  body{padding-left:0}
  body.sb-expanded{padding-left:0}
  .app-sidebar{width:220px;transform:translateX(-100%);top:46px} /* v4.8: começa abaixo do header mobile */
  body.sb-mobile-open .app-sidebar{transform:translateX(0);box-shadow:4px 0 20px rgba(10,14,22,.15)}
  body.sb-mobile-open .sb-item .sb-lbl{opacity:1;pointer-events:auto}
  body.sb-mobile-open .sb-section-label{opacity:1} /* v4.8: rótulo da seção visível no drawer aberto */
  .sb-mobile-backdrop{
    position:fixed;inset:46px 0 0 0;background:rgba(10,14,22,.35);z-index:49; /* v4.8: backdrop abaixo do header */
    display:none;
  }
  body.sb-mobile-open .sb-mobile-backdrop{display:block}
}

/* TOPBAR */
.topbar{
  /* v4.8: full-width fixo no topo, acima do sidebar */
  position:fixed;top:0;left:0;right:0;
  height:54px;background:var(--accent);
  display:flex;align-items:center;padding:0 18px;gap:14px;
  flex-shrink:0;overflow:hidden;
  border-bottom:2px solid var(--highlight);
  color:#fff;
  z-index:60; /* acima do sidebar (50), abaixo de modais */
}
.tb-page-title{
  color:#fff;font-size:14px;font-weight:600;font-family:'Archivo',sans-serif;
  letter-spacing:-0.01em;flex:1;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
  /* v4.8: border-left removido — agora é a tb-sep que faz o separador */
}
.tb-sep{
  display:inline-block;width:1px;height:24px;background:rgba(255,255,255,0.18);
  margin:0 4px;flex-shrink:0;
}
.rp-btn-compare{
  border:1.5px solid #6366f1;background:#fff;color:#6366f1;
  font-size:11px;font-weight:600;padding:5px 11px;border-radius:var(--radius-sm,8px);
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:4px;
}
.rp-btn-compare:hover{background:#6366f1;color:#fff}
.rp-btn-relpdf{
  border:1.5px solid #db2777;background:#fff;color:#db2777;
  font-size:11px;font-weight:600;padding:5px 11px;border-radius:var(--radius-sm,8px);
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:4px;
}
.rp-btn-relpdf:hover{background:#db2777;color:#fff}
.tb-logo{height:36px;width:auto;flex-shrink:0;display:block}
.tb-brand{font-size:15px;font-weight:600;color:#fff;letter-spacing:-0.3px;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}
.tb-brand b{font-weight:800;letter-spacing:-0.5px}
.tb-sub{font-size:9px;color:rgba(255,255,255,.4);font-family:'JetBrains Mono',monospace}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:6px}
.tb-badge{font-size:9px;font-weight:700;padding:3px 10px;border-radius:12px;background:rgba(245,131,31,.2);color:var(--orange);font-family:'JetBrains Mono',monospace}
.tb-nav-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;border:none;font-family:'Archivo',sans-serif;transition:all .15s;position:relative}
.tb-nav-btn.ativo{background:rgba(255,255,255,.12);color:#fff}
.tb-nav-btn:not(.ativo){background:transparent;color:rgba(255,255,255,.5)}
.tb-nav-btn:hover:not(.ativo){background:rgba(255,255,255,.07);color:rgba(255,255,255,.8)}
.notif-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid var(--dark);display:none}
.notif-dot.show{display:block}
.tb-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.2);border-radius:6px;width:30px;height:30px;cursor:pointer;color:#fff;font-size:16px;align-items:center;justify-content:center;flex-shrink:0}

/* PÁGINAS */
.page{display:none;flex:1;overflow:hidden;flex-direction:column}
.page.active{display:flex}

/* ═══════════════════════════════════════
   PÁGINA HOME — RESUMO (Fase A v2026.13 — padrão Comercial)
═══════════════════════════════════════ */
#page-home{overflow:auto;background:transparent}
.home-wrap{max-width:1280px;margin:0 auto;padding:32px 28px;width:100%}
.home-header{margin-bottom:28px}
.home-greeting{
  font-size:30px;font-weight:800;color:var(--text);margin-bottom:8px;
  font-family:'Archivo',sans-serif;letter-spacing:-0.03em;line-height:1;
}
.home-greeting .accent{color:var(--highlight);font-style:italic}
.home-subtitle{
  font-size:11px;color:var(--highlight-text);
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.18em;
  font-weight:600;
}
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:22px}
.home-card{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:18px 20px;box-shadow:var(--shadow);
  transition:box-shadow .15s, border-color .15s;
  position:relative;overflow:hidden;
}
.home-card::after{
  content:"";position:absolute;top:0;right:0;
  width:80px;height:80px;
  background:radial-gradient(circle at top right, var(--accent-glow), transparent 70%);
  pointer-events:none;
}
.home-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.home-card-hdr{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:relative;z-index:1}
.home-card-ico{
  font-size:18px;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-bg);color:var(--accent-text);
  border-radius:8px;
}
.home-card-title{
  font-size:14px;font-weight:700;color:var(--text);
  font-family:'Archivo',sans-serif;letter-spacing:-0.01em;
}
.home-card-body{
  font-size:13px;color:var(--text-dim);line-height:1.55;
  position:relative;z-index:1;
}
.home-card-placeholder{
  padding:18px;background:var(--surface-2);border-radius:10px;
  text-align:center;color:var(--text-muted);font-size:11px;font-style:italic;
  border:1px dashed var(--border-strong);
  font-family:'JetBrains Mono',monospace;
}
.home-action-btn{
  margin-top:14px;padding:8px 14px;
  background:var(--accent);color:#fff;border:1.5px solid var(--accent);
  border-radius:7px;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;cursor:pointer;
  transition:background .15s, border-color .15s;
  display:inline-flex;align-items:center;gap:6px;
}
.home-action-btn:hover{background:var(--accent-dim);border-color:var(--accent-dim)}
.home-action-btn.secondary{background:transparent;color:var(--accent);border:1.5px solid var(--border-strong)}
.home-action-btn.secondary:hover{border-color:var(--accent);background:var(--accent-bg)}

/* ═══════════════════════════════════════
   PÁGINA 1 — TABELA DINÂMICA
═══════════════════════════════════════ */
.workspace{display:flex;flex:1;overflow:hidden;position:relative}
.lp{width:var(--left-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1)}
.lp.collapsed{width:0;border-right:none}
/* Aba flutuante para reabrir quando fechado */
.lp-toggle{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:18px;height:48px;background:var(--accent);border:none;
  border-radius:0 6px 6px 0;cursor:pointer;color:#fff;font-size:11px;
  display:flex;align-items:center;justify-content:center;
  z-index:30;transition:left .25s cubic-bezier(.4,0,.2,1),background .15s;
  box-shadow:2px 0 8px rgba(10,14,22,0.12);
}
.lp-toggle:hover{background:var(--accent-dim)}
.lp-toggle.shifted{left:var(--left-w)}
/* Botão interno de colapso no topo do painel */
.lp-collapse-btn{
  display:flex;align-items:center;justify-content:flex-end;
  padding:7px 10px;border-bottom:1px solid var(--border);
  flex-shrink:0;background:var(--surface-2);
}
.lcb{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;border-radius:var(--radius-sm);
  font-size:10px;font-weight:600;color:var(--text-muted);
  background:var(--surface);border:1px solid var(--border);cursor:pointer;
  font-family:'Archivo',sans-serif;transition:all .15s;
}
.lcb:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.lp-sec{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
.lp-label{
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--text-muted);margin-bottom:7px;
  font-family:'JetBrains Mono',monospace;
}
.fp-wrap{display:flex;flex-wrap:wrap;gap:3px}
.fp{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:10px;font-size:10px;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .15s;user-select:none}
.fp:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.fp.row{border-color:var(--accent);background:var(--accent);color:#fff}
.fp.col{border-color:var(--highlight);background:var(--highlight);color:#fff}
.fp-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65;flex-shrink:0}
.dz-wrap{display:flex;flex-direction:column;gap:4px;padding:7px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
.dz{border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);padding:5px 8px;min-height:32px;background:var(--surface-2)}
.dz-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:5px;display:flex;align-items:center;gap:4px;font-family:'JetBrains Mono',monospace}
.dz-lbl-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.dz-r .dz-lbl-dot{background:var(--accent)}
.dz-c .dz-lbl-dot{background:var(--highlight)}
.dz-empty{font-size:10px;color:var(--text-muted);font-style:italic}
.dz-pills{display:flex;flex-wrap:wrap;gap:3px}
.dzp{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;font-size:9px;font-weight:600;user-select:none;-webkit-user-select:none}
.dzp-r{background:var(--accent);color:#fff}
.dzp-c{background:var(--highlight);color:#fff}
.dzp-rm{cursor:pointer;opacity:.65;margin-left:1px;font-size:13px;line-height:1}
.dzp-rm:hover{opacity:1}
.dzp-mv{cursor:pointer;font-size:9px;opacity:.5;padding:0 2px}
.dzp-mv:hover{opacity:1}
.flt-scroll{flex:1;overflow-y:auto;padding:8px 12px}
.flt-scroll::-webkit-scrollbar{width:4px}
.flt-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.fg{margin-bottom:10px}
.fg-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0;margin-bottom:3px;user-select:none;-webkit-user-select:none}
.fg-name{font-size:10px;font-weight:700;color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace}
.fg-badge{font-size:9px;font-family:'JetBrains Mono',monospace;color:var(--text-muted);background:var(--surface-2);padding:1px 6px;border-radius:8px;border:1px solid var(--border)}
.fg-arr{font-size:9px;color:var(--text-muted);transition:transform .18s;line-height:1}
.fg-arr.open{transform:rotate(90deg)}
.fg-bd{display:none}
.fg-bd.open{display:block}
.fg-acts{display:flex;gap:3px;margin-bottom:4px}
.fg-abtn{font-size:9px;padding:2px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-muted);font-family:'Archivo',sans-serif;transition:all .15s}
.fg-abtn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.fg-srch{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-size:11px;font-family:'Archivo',sans-serif;color:var(--text);outline:none;margin-bottom:3px;background:var(--surface)}
.fg-srch:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.fg-list{max-height:120px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.fg-list::-webkit-scrollbar{width:3px}
.fg-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--border);cursor:pointer;font-size:11px;-webkit-tap-highlight-color:transparent;transition:background .12s}
.fg-item:last-child{border-bottom:none}
.fg-item:hover{background:var(--surface-2)}
.fg-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent);flex-shrink:0}
.fg-item-lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.rp{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.mob-campos-btn{
  display:none;
  align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-sm);
  font-size:10px;font-weight:700;cursor:pointer;border:1.5px solid var(--highlight);
  background:var(--highlight-bg);color:var(--highlight-text);
  font-family:'Archivo',sans-serif;white-space:nowrap;flex-shrink:0;
}
@media(max-width:900px){
  .mob-campos-btn{display:inline-flex}
}
.rp-toolbar{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  padding:8px 16px;
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;flex-wrap:wrap;
}
.rp-info{font-size:11px;color:var(--text-muted);flex:1;min-width:0;font-family:'JetBrains Mono',monospace}
.rp-info b{color:var(--accent-text);font-weight:700}
/* Título dinâmico de análise */
.analysis-title-bar{
  background:var(--accent);color:#fff;
  padding:6px 16px;
  display:flex;flex-shrink:0;
  align-items:center;gap:10px;flex-wrap:wrap;
  border-bottom:2px solid var(--highlight);
}
.analysis-title-bar.show{display:flex}
.atb-title{
  font-size:12px;font-weight:700;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:'Archivo',sans-serif;letter-spacing:.01em;
}
.atb-sub{
  font-size:10px;color:rgba(255,255,255,.65);white-space:nowrap;flex-shrink:0;
  font-family:'JetBrains Mono',monospace;
}
.atb-analises-btn{
  font-size:11px;font-weight:600;padding:5px 12px;border-radius:var(--radius-sm,8px);
  border:1.5px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
}
.atb-analises-btn:hover{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.60);
}
/* v4.8: botão Salvar Análise — verde para destacar ação primária */
.atb-save-btn{
  font-size:11px;font-weight:700;padding:5px 12px;border-radius:var(--radius-sm,8px);
  border:1.5px solid #16a34a;
  background:#22c55e;
  color:#fff;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
}
.atb-save-btn:hover{background:#16a34a;border-color:#15803d}
/* v4.8: botão Voltar (modo visualização) */
.atb-back-btn{
  font-size:11px;font-weight:700;padding:5px 12px;border-radius:var(--radius-sm,8px);
  border:1.5px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.15);
  color:#fff;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:none;align-items:center;gap:5px;flex-shrink:0;
  margin-right:8px;
}
.atb-back-btn:hover{background:rgba(255,255,255,.25);border-color:#fff}
body.viewmode .atb-back-btn{display:inline-flex}
/* v4.8: modo visualização — esconde painel de campos, toolbar, e o botão Salvar/Análises Salvas */
body.viewmode #page-pivot .lp,
body.viewmode #page-pivot .lp-toggle,
body.viewmode #page-pivot .rp-toolbar,
body.viewmode #page-pivot .atb-save-btn,
body.viewmode #page-pivot .atb-analises-btn{display:none !important}
.rp-btn{font-size:11px;font-weight:600;padding:5px 13px;border-radius:var(--radius-sm);border:1.5px solid var(--gray2);background:#fff;cursor:pointer;color:var(--muted);font-family:'Archivo',sans-serif;transition:all .15s;white-space:nowrap}
.rp-btn:hover{border-color:var(--navy);color:var(--navy)}
.rp-btn.prim{background:var(--navy);border-color:var(--navy);color:#fff}
.rp-btn.prim:hover{background:var(--navy3)}
.rp-btn.danger{border-color:var(--danger);color:var(--danger)}
.rp-btn.danger:hover{background:var(--danger2)}
.rp-btn-analises{background:var(--accent-bg);border-color:var(--accent-bg-strong);color:var(--accent-text)}
.rp-btn-analises:hover{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent-text)}
.rp-btn-analises .rp-btn-ico{margin-right:2px}
.pv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:8px;padding:32px;text-align:center}
.pv-empty-ico{font-size:44px;opacity:.2}
.pv-empty-title{font-size:14px;font-weight:700;color:var(--navy);opacity:.4}
.pv-empty-sub{font-size:11px;max-width:340px;line-height:1.6}
/* FILTRO DE PERÍODO */
.period-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:7px 16px;display:flex;align-items:center;gap:6px;flex-shrink:0;overflow-x:auto;flex-wrap:nowrap}
.period-bar::-webkit-scrollbar{height:3px}
.period-bar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.pb-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);white-space:nowrap;margin-right:2px;flex-shrink:0;font-family:'JetBrains Mono',monospace}
.pb-pill{padding:4px 12px;border-radius:14px;font-size:10px;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;font-family:'Archivo',sans-serif}
.pb-pill:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.pb-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pb-pill.all.on{background:var(--accent-dim);border-color:var(--accent-dim);color:#fff}

/* ===== FILTRO REVISADO/PENDENTE ===== */
.rev-filter-bar{
  background:var(--surface);border-bottom:1px solid var(--border);
  padding:6px 16px;display:flex;align-items:center;gap:6px;
  flex-shrink:0;flex-wrap:wrap;
}
.rfb-label{
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--text-muted);white-space:nowrap;margin-right:2px;flex-shrink:0;
  font-family:'JetBrains Mono',monospace;
}
.rfb-pill{
  padding:4px 12px;border-radius:14px;font-size:10px;font-weight:600;
  border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);
  cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;
  font-family:'Archivo',sans-serif;
}
.rfb-pill:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.rfb-pill.on[data-val="all"]     {background:var(--accent);    border-color:var(--accent);    color:#fff}
.rfb-pill.on[data-val="revisado"]{background:var(--success);    border-color:var(--success);   color:#fff}
.rfb-pill.on[data-val="pendente"]{background:var(--warning);    border-color:var(--warning);   color:#fff}
.rfb-counts{
  margin-left:auto;font-size:10px;color:var(--text-muted);font-weight:600;
  font-family:'JetBrains Mono',monospace;white-space:nowrap;
}

/* Botões de marcação em lote no header */
.rp-btn-mark, .rp-btn-unmark{
  font-size:11px;font-weight:600;padding:5px 11px;border-radius:var(--radius-sm,8px);
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:4px;
}
.rp-btn-mark{
  border:1.5px solid #16a34a;background:#fff;color:#16a34a;
}
.rp-btn-mark:hover{background:#16a34a;color:#fff}
.rp-btn-unmark{
  border:1.5px solid #d97706;background:#fff;color:#d97706;
}
.rp-btn-unmark:hover{background:#d97706;color:#fff}

/* CÉLULA COM BOTÃO "+" */
.cv-cell{display:flex;align-items:center;width:100%;position:relative}
.btn-cell-add{
  width:11px;height:11px;border-radius:50%;
  background:var(--orange);border:none;cursor:pointer;
  color:#fff;font-size:8px;font-weight:800;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:opacity .15s,background .15s,transform .15s;
  padding:0;opacity:0;pointer-events:none;margin-right:3px;
}
.cv-val{flex:1;text-align:right}
.pv-tbl td:hover .btn-cell-add,
.mo-tbl td:hover .btn-cell-add{opacity:1;pointer-events:auto}
.btn-cell-add:hover{background:var(--navy);transform:scale(1.15)}

/* DRAG & DROP */
.fp[draggable=true]{cursor:grab}
.fp[draggable=true]:active{cursor:grabbing;opacity:.7}
.dzp[draggable=true]{cursor:grab}
.dzp[draggable=true]:active{cursor:grabbing}
.dz.drag-over{border-color:var(--accent)!important;background:var(--accent-bg)!important;box-shadow:inset 0 0 0 2px var(--accent)}
.fp-wrap.drag-over{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2)}

/* v4.8: min-width:0 permite ao flex item encolher menor que o conteúdo da tabela, habilitando scroll horizontal */
.pv-scroll{flex:1;overflow-x:auto;overflow-y:auto;padding:10px 16px;min-width:0;min-height:0;-webkit-overflow-scrolling:touch}
.pv-scroll::-webkit-scrollbar{width:10px;height:10px}
.pv-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}
.pv-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
.pv-scroll::-webkit-scrollbar-track{background:var(--gray1)}

.pv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px;padding:32px;text-align:center}
.pv-empty-ico{font-size:44px;opacity:.18}
.pv-empty-title{font-size:14px;font-weight:700;color:var(--accent);opacity:.5;font-family:'Archivo',sans-serif}
.pv-empty-sub{font-size:11px;max-width:340px;line-height:1.7;color:var(--text-muted)}
.dz-ghost{opacity:.4;pointer-events:none}
/* ── HIERARQUIA DE LINHAS ── */
:root{ --rh-w:190px }
.pv-tbl{border-collapse:collapse;font-size:10px;white-space:nowrap}
/* Todos os rh-cell têm largura controlada pela variável */
.pv-tbl th.rh,.pv-tbl td.rh-cell{width:var(--rh-w);min-width:var(--rh-w);max-width:var(--rh-w)}

/* Nível 0 — Grupo principal */
.row-grp-0 td{background:var(--surface-3)!important;color:var(--accent)!important;border-top:2px solid var(--accent)!important}
.row-grp-0 .rh-cell{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text)!important}
.row-grp-0 td.grp-val,.row-grp-0 td.grp-total{font-family:'Archivo',sans-serif;font-weight:700;text-align:right;color:var(--accent)!important}
.row-grp-0 td.grp-total{background:var(--border)!important}

/* Nível 1 — Sub-grupo */
.row-grp-1 td{background:var(--surface-2)!important;color:var(--accent)!important;border-top:1px solid var(--border)!important}
.row-grp-1 .rh-cell{font-weight:600;font-size:11px;color:var(--accent-text)!important}
.row-grp-1 td.grp-val,.row-grp-1 td.grp-total{font-family:'Archivo',sans-serif;font-weight:600;text-align:right;color:var(--accent-text)!important}

/* Linhas folha nível 1 (dentro de grupo) */
.pv-tbl td.lvl-1{background:var(--gray1)!important;padding-left:22px!important}
/* Linhas folha nível 2 (dentro de sub-grupo) */
.pv-tbl td.lvl-2{background:#fff!important;padding-left:38px!important}

/* Subtotal */
.row-subtot td{background:var(--gray2)!important;border-top:1.5px solid var(--gray3)!important}
.row-subtot .rh-subtot{font-size:10px;font-weight:600;color:var(--navy);font-style:italic}
.row-subtot .subtot-cell{text-align:right;font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;color:var(--navy)}

/* RESIZE HANDLE */
.pv-tbl th.rh{position:relative;padding:0!important}
.th-rh-inner{padding:8px 22px 8px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.resize-handle{
  position:absolute;right:0;top:0;bottom:0;width:6px;
  cursor:col-resize;background:transparent;transition:background .15s;
}
.resize-handle:hover,.resize-handle.dragging{background:rgba(255,255,255,.35)}
.resize-handle::after{content:'';position:absolute;right:2px;top:20%;bottom:20%;width:2px;background:rgba(255,255,255,.4);border-radius:1px}
.pv-tbl th{background:var(--dark);color:#fff;font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 5px;text-align:right;position:sticky;top:0;z-index:10;border:1px solid rgba(255,255,255,.07)}
.pv-tbl th.rh{text-align:left;position:sticky;left:0;z-index:20}
.pv-tbl th.ct{background:var(--navy2)}
.pv-tbl td{padding:4px 5px;border:1px solid var(--gray2);text-align:right;font-family:'Archivo',sans-serif;font-size:11px;background:#fff;vertical-align:middle}
.pv-tbl td.rh-cell{text-align:left;background:var(--gray1)!important;font-family:'Archivo',sans-serif;font-weight:600;color:var(--navy);position:sticky;left:0;z-index:5;border-right:2px solid var(--gray2);max-width:220px;overflow:hidden;text-overflow:ellipsis}
.pv-tbl td.sub-tot{background:var(--gray1)!important;font-weight:700;color:var(--navy)}
.pv-tbl td.grand{background:var(--dark)!important;color:#fff!important;font-weight:700}
.pv-tbl tr:has(td.grand):hover td{background:var(--dark)!important;color:#fff!important}
.pv-tbl tr:hover td:not(.rh-cell){background:var(--gray1)!important}
.pv-tbl tr:hover td.rh-cell{background:var(--gray2)!important}
.cv{cursor:pointer;border-radius:3px;padding:1px 2px;transition:background .12s,color .12s;display:inline-block}
.cv:hover{background:var(--navy)!important;color:#fff!important}
.cv0{color:var(--gray3)}

/* BOTÃO COMENTAR NA LINHA */
.btn-comment{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;cursor:pointer;font-size:10px;margin-left:5px;vertical-align:middle;transition:all .15s;flex-shrink:0;text-decoration:none;line-height:1}
.btn-comment.none{background:var(--gray2);color:var(--muted)}
.btn-comment.none:hover{background:var(--orange);color:#fff}
.btn-comment.has{background:var(--amber2);color:var(--amber);border:1px solid #d97706}
.btn-comment.has:hover{background:var(--amber);color:#fff}

/* ═══════════════════════════════════════
   PÁGINA 2 — COMENTÁRIOS
═══════════════════════════════════════ */
.coment-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--off)}
.coment-toolbar{background:#fff;border-bottom:1px solid var(--gray2);padding:10px 20px;display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}
.ct-title{font-size:14px;font-weight:700;color:var(--navy);flex:1}
.ct-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:12px;background:var(--danger2);color:var(--danger);font-family:'JetBrains Mono',monospace}
.ct-badge.none{background:var(--green2);color:var(--green3)}
.ct-filters{display:flex;gap:6px;flex-wrap:wrap}
.ct-filt{font-size:10px;font-weight:600;padding:4px 12px;border-radius:16px;border:1.5px solid var(--gray2);background:#fff;cursor:pointer;color:var(--muted);transition:all .15s;font-family:'Archivo',sans-serif}
.ct-filt:hover{border-color:var(--navy);color:var(--navy)}
.ct-filt.active{background:var(--navy);border-color:var(--navy);color:#fff}
.coment-scroll{flex:1;overflow-y:auto;padding:16px 20px}
.coment-scroll::-webkit-scrollbar{width:5px}
.coment-scroll::-webkit-scrollbar-thumb{background:var(--gray2);border-radius:3px}
.coment-empty{text-align:center;padding:60px 20px;color:var(--muted)}
.coment-empty-ico{font-size:48px;opacity:.2;margin-bottom:12px}
.coment-empty-txt{font-size:13px;font-weight:600;color:var(--navy);opacity:.4}
.coment-card{background:#fff;border-radius:var(--radius);border:1px solid var(--gray2);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden;transition:box-shadow .15s}
.coment-card:hover{box-shadow:var(--shadow-md)}
.cc-header{padding:12px 16px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--gray1)}
.cc-tipo-badge{font-size:9px;font-weight:700;padding:3px 9px;border-radius:10px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;margin-top:1px}
.tipo-erro{background:var(--danger2);color:var(--danger)}
.tipo-dup{background:var(--amber2);color:var(--amber)}
.tipo-analise{background:var(--gray1);color:var(--navy)}
.tipo-outro{background:var(--accent-bg);color:var(--accent-text)}
.cc-meta{flex:1;min-width:0}
.cc-contexto{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-sub{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-urgencia{font-size:9px;font-weight:700;padding:1px 7px;border-radius:8px}
.urg-alta{background:var(--danger2);color:var(--danger)}
.urg-media{background:var(--amber2);color:var(--amber)}
.urg-baixa{background:var(--green2);color:var(--green3)}
.cc-status{font-size:9px;font-weight:700;padding:1px 7px;border-radius:8px}
.st-aberto{background:var(--danger2);color:var(--danger)}
.st-revisao{background:var(--amber2);color:var(--amber)}
.st-ok{background:var(--green2);color:var(--green3)}
.cc-body{padding:12px 16px}
.cc-ctx{font-size:10px;margin-bottom:8px;line-height:1.8;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.cc-ctx-label{width:100%;font-size:12px;color:var(--navy);background:rgba(46,71,111,.08);padding:6px 10px;border-radius:6px;margin-bottom:6px;border-left:3px solid var(--navy);line-height:1.4}
.cc-ctx-label b{font-weight:700}
.ctx-tag{display:inline-flex;align-items:center;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;white-space:nowrap}
.ctx-tag.empresa{background:var(--accent-bg);color:var(--accent-text)}
.ctx-tag.grupo{background:var(--warning-bg);color:var(--warning)}
.ctx-tag.conta{background:var(--violet-bg);color:var(--violet-text)}
.ctx-tag.parceiro{background:var(--success-bg);color:var(--success-text)}
.ctx-tag.data{background:var(--accent-bg);color:var(--accent-text);font-family:'JetBrains Mono',monospace}
.ctx-tag.valor{background:var(--highlight-bg);color:var(--highlight-text);font-family:'JetBrains Mono',monospace;font-weight:700}
.ctx-tag.lanc{background:var(--gray1);color:var(--muted);font-family:'JetBrains Mono',monospace}
.cc-texto{font-size:12px;color:var(--text);line-height:1.65;margin-bottom:10px}
.cc-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-autor{font-size:10px;color:var(--muted)}
.cc-autor b{color:var(--navy)}
.cc-visuado{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap}
.visu-chip{font-size:9px;background:var(--green2);color:var(--green3);padding:2px 7px;border-radius:10px;font-weight:600}
.btn-visu{font-size:10px;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--green);background:var(--green2);color:var(--green3);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.btn-visu:hover{background:var(--green);color:#fff;border-color:var(--green)}
.btn-visu.done{background:var(--green2);border-color:var(--green2);color:var(--green3);cursor:default;opacity:.7}
.btn-resolver{font-size:10px;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--gray2);background:#fff;color:var(--muted);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.btn-resolver:hover{border-color:var(--navy);color:var(--navy)}
.btn-del{font-size:10px;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--gray2);background:#fff;color:var(--muted);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;margin-left:auto}
.btn-del:hover{border-color:var(--danger);color:var(--danger);background:var(--danger2)}
/* Mobile: cards de comentário mais compactos */
@media(max-width:640px){
  .coment-toolbar{padding:8px 12px;gap:6px}
  .ct-title{font-size:12px}
  .ct-filters{gap:4px;flex-wrap:nowrap;overflow-x:auto}
  .ct-filt{font-size:9px;padding:3px 10px;white-space:nowrap;flex-shrink:0}
  .coment-scroll{padding:8px 10px}
  .coment-card{margin-bottom:8px;border-radius:8px}
  .cc-header{padding:10px 12px;gap:8px}
  .cc-body{padding:10px 12px}
  .cc-ctx{gap:3px}
  .ctx-tag{font-size:9px;padding:2px 6px}
  .cc-texto{font-size:11px}
  .cc-actions{gap:5px;flex-wrap:wrap}
  .btn-visu,.btn-resolver,.btn-del{font-size:9px;padding:4px 10px}
  /* Modal comentário — bottom sheet compacto */
  .mc{align-items:flex-end}
  .mc-box{width:100vw!important;max-width:100vw!important;border-radius:16px 16px 0 0;max-height:85vh;overflow-y:auto}
  .mc-hdr{padding:14px 16px}
  .mc-title{font-size:12px}
  .mc-body{padding:14px 16px}
  .mc-ctx{font-size:10px;padding:8px 10px}
  .mc-label{font-size:9px}
  .mc-input,.mc-textarea{font-size:12px;padding:8px 10px}
  .mc-textarea{min-height:70px}
  .mc-footer{padding:10px 16px}
  .mc-btn{font-size:11px;padding:8px 16px}
}

/* ═══════════════════════════════════════
   MODAL DRILL
═══════════════════════════════════════ */
.mo{display:none;position:fixed;inset:0;background:rgba(10,20,45,.6);z-index:200;align-items:center;justify-content:center;padding-top:60px}
.mo.open{display:flex}
.mo-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);width:min(98vw,1380px);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:moIn .18s}
@keyframes moIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mo-hdr{padding:13px 18px;background:var(--dark);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-shrink:0;position:relative}
.mo-ttag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;background:rgba(245,131,31,.22);color:var(--orange);padding:2px 8px;border-radius:8px;display:inline-block;margin-bottom:3px}
.mo-title{font-size:12px;font-weight:700;color:#fff;flex:1;line-height:1.4}
.mo-cls{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:22px;line-height:1;flex-shrink:0;padding:4px 8px;border-radius:6px}
.mo-cls:hover{color:#fff}
.mo-stats{display:flex;gap:14px;padding:9px 18px;background:var(--gray1);border-bottom:1px solid var(--gray2);flex-shrink:0;flex-wrap:wrap;align-items:center}
.mo-stat{font-size:10px;color:var(--muted)}
.mo-stat b{color:var(--navy);font-family:'JetBrains Mono',monospace}
.mo-filter-info{font-size:10px;color:var(--amber);font-weight:600;margin-left:auto;display:none}
.mo-filter-info.show{display:block}
.mo-filter-clear{font-size:9px;font-weight:700;padding:2px 9px;border-radius:8px;border:1px solid var(--amber);color:var(--amber);background:var(--amber2);cursor:pointer;margin-left:6px;font-family:'Archivo',sans-serif}
.mo-filter-clear:hover{background:var(--amber);color:#fff}
.mo-body{overflow-y:auto;overflow-x:auto;flex:1}
.mo-body::-webkit-scrollbar{width:5px}
.mo-body::-webkit-scrollbar-thumb{background:var(--gray2);border-radius:2px}
/* Tabela de layout fixo para caber sem scroll horizontal */
.mo-tbl{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}
.mo-tbl thead tr{background:var(--dark);color:#fff;position:sticky;top:0;z-index:2}
.mo-tbl th{
  padding:0;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  text-align:left;border-right:1px solid rgba(255,255,255,.07);user-select:none;position:relative;
}
.mo-tbl th.num{text-align:right}
/* Larguras fixas das 9 colunas — total ~1160px */
/* larguras controladas via colgroup em JS — ver applyMoColWidths() */
.mo-tbl{table-layout:fixed}
/* Histórico */
.mo-tbl td.mo-hist{font-size:10px;color:var(--muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* th com handle de resize */
.mo-tbl th{position:relative;padding:0!important;user-select:none}
.mo-th-inner{display:flex;align-items:center;justify-content:space-between;padding:9px 18px 9px 10px;gap:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%}
.mo-th-inner.num{justify-content:flex-end}
.mo-rh{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent;transition:background .12s;z-index:2}
.mo-rh:hover,.mo-rh.dragging{background:rgba(255,255,255,.4)}
.mo-rh::after{content:'';position:absolute;right:2px;top:20%;bottom:20%;width:1.5px;background:rgba(255,255,255,.35);border-radius:1px}
/* Cabeçalho clicável — conteúdo interno */
.th-inner{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;gap:4px;cursor:pointer;transition:background .12s}
.th-inner:hover{background:rgba(255,255,255,.1)}
.th-inner.active-sort{background:rgba(245,131,31,.25)}
.th-inner.has-filter{background:rgba(30,123,75,.2)}
.th-inner.active-sort.has-filter{background:rgba(245,131,31,.3)}
.th-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-icons{display:flex;align-items:center;gap:2px;flex-shrink:0}
.th-sort{font-size:10px;opacity:.4;transition:opacity .12s;line-height:1}
.th-sort.asc{opacity:1;color:var(--orange)}
.th-sort.desc{opacity:1;color:var(--orange)}
.th-filt-ico{font-size:9px;opacity:.35;line-height:1}
.th-filt-ico.active{opacity:1;color:var(--highlight)}
.mo-tbl td{padding:6px 10px;border-bottom:1px solid var(--gray1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font-size:11px}
.mo-tbl td.num{text-align:right;font-family:'Archivo',sans-serif;font-size:11px}
.mo-tbl tbody tr:nth-child(even) td{background:var(--surface-2)}
.mo-tbl tr:hover td{background:var(--accent-bg)!important}
.mo-tbl .tr-tot td{background:var(--dark)!important;color:#fff!important;font-weight:700;border-top:none;font-family:'Archivo',sans-serif;font-size:11px}
.mo-tbl .tr-tot:hover td{background:var(--dark)!important;color:#fff!important}
.mo-footer{padding:8px 18px;border-top:1px solid var(--gray2);background:var(--gray1);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
/* Botão de colunas no modal */
.mo-col-toggle-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:rgba(255,255,255,.8);font-size:10px;font-weight:600;padding:4px 10px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.mo-col-toggle-btn:hover{background:rgba(255,255,255,.22);color:#fff}
/* v4.8: botão Confirmar Revisão no header do modal — verde por ser ação positiva */
.mo-confirm-review-btn{background:#22c55e;border:1px solid #16a34a;border-radius:var(--radius-sm);color:#fff;font-size:10px;font-weight:700;padding:4px 11px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;letter-spacing:.02em}
.mo-confirm-review-btn:hover{background:#16a34a;border-color:#15803d}
.mo-confirm-review-btn.all-revised{background:#065f46;border-color:#064e3b;cursor:default;opacity:.85}
.mo-confirm-review-btn.all-revised:hover{background:#065f46}
.drill-rev-check{color:#16a34a;font-weight:800;font-size:12px}
#mo-tbody tr.tr-revised td:first-child{border-left:3px solid #16a34a}
.mo-revisar-sel-btn{background:#2563eb;border:1px solid #1d4ed8;border-radius:var(--radius-sm);color:#fff;font-size:10px;font-weight:700;padding:4px 11px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;letter-spacing:.02em}
.mo-revisar-sel-btn:hover{background:#1d4ed8;border-color:#1e3a8a}
.mo-revisar-sel-btn:disabled{background:#94a3b8;border-color:#64748b;cursor:default;opacity:.7}
.drill-row-chk{width:14px;height:14px;cursor:pointer;accent-color:#16a34a}
#mo-tbody tr.tr-revised{background:rgba(22,163,74,.06)}
.drill-rev-toggle{
  width:18px;height:18px;border-radius:4px;border:1px solid #16a34a;
  background:#dcfce7;color:#16a34a;font-weight:800;font-size:12px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;
  transition:all .15s;
}
.drill-rev-toggle:hover{
  background:#fee2e0;border-color:#b91c1c;color:#b91c1c;
  transform:rotate(180deg);
}
.mo-col-toggle-btn.active{background:var(--orange);border-color:var(--orange);color:#fff}
/* Painel de colunas */
.mo-col-panel{display:none;position:absolute;top:56px;right:52px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);border:1px solid var(--gray2);z-index:60;min-width:200px;padding:8px 0;animation:moIn .15s}
.mo-col-panel.open{display:block}
.mc-panel-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:4px 14px 8px;border-bottom:1px solid var(--gray1);margin-bottom:4px}
.mc-col-item{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:11px;cursor:pointer;transition:background .1s}
.mc-col-item:hover{background:var(--gray1)}
.mc-col-item input[type=checkbox]{accent-color:var(--navy);cursor:pointer;flex-shrink:0}
/* PAINEL FILTRO/SORT (dropdown) */
.col-panel{
  display:none;position:fixed;background:#fff;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-md);border:1px solid var(--gray2);
  width:240px;z-index:500;overflow:hidden;animation:moIn .15s;
}
.col-panel.show{display:block}
.cp-sort{padding:6px 0;border-bottom:1px solid var(--gray1)}
.cp-sort-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:11px;font-weight:600;color:var(--text);cursor:pointer;transition:background .1s;width:100%;border:none;background:none;font-family:'Archivo',sans-serif;text-align:left}
.cp-sort-btn:hover{background:var(--gray1)}
.cp-sort-btn.active{background:var(--navy);color:#fff}
.cp-sort-ico{font-size:13px;flex-shrink:0}
.cp-filt-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cp-filt-srch{width:calc(100% - 28px);margin:0 14px 6px;border:1px solid var(--gray2);border-radius:var(--radius-sm);padding:5px 8px;font-size:11px;font-family:'Archivo',sans-serif;outline:none}
.cp-filt-srch:focus{border-color:var(--navy)}
.cp-filt-acts{display:flex;gap:4px;padding:0 14px 6px}
.cp-filt-act{font-size:9px;padding:2px 8px;border-radius:8px;border:1px solid var(--gray2);background:#fff;cursor:pointer;color:var(--muted);font-family:'Archivo',sans-serif}
.cp-filt-act:hover{border-color:var(--navy);color:var(--navy)}
.cp-filt-list{max-height:180px;overflow-y:auto;border-top:1px solid var(--gray1)}
.cp-filt-list::-webkit-scrollbar{width:3px}
.cp-filt-list::-webkit-scrollbar-thumb{background:var(--gray2)}
.cp-filt-item{display:flex;align-items:center;gap:7px;padding:5px 14px;cursor:pointer;font-size:11px}
.cp-filt-item:hover{background:var(--gray1)}
.cp-filt-item input[type=checkbox]{cursor:pointer;accent-color:var(--navy);flex-shrink:0}
.cp-filt-lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-apply{display:block;width:calc(100% - 28px);margin:8px 14px;padding:7px;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);font-size:11px;font-weight:700;cursor:pointer;font-family:'Archivo',sans-serif}
.cp-apply:hover{background:var(--navy3)}

/* ═══════════════════════════════════════
   MODAL NOVO COMENTÁRIO
═══════════════════════════════════════ */
.mc{display:none;position:fixed;inset:0;background:rgba(10,20,45,.6);z-index:300;align-items:center;justify-content:center}
.mc.open{display:flex}
.mc-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);width:min(96vw,500px);display:flex;flex-direction:column;overflow:hidden;animation:moIn .18s}
.mc-hdr{padding:14px 18px;background:var(--dark);display:flex;align-items:center;justify-content:space-between}
.mc-title{font-size:13px;font-weight:700;color:#fff}
.mc-cls{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:22px;line-height:1}
.mc-cls:hover{color:#fff}
.mc-body{padding:18px}
.mc-ctx{background:var(--gray1);border-radius:var(--radius-sm);padding:9px 12px;font-size:11px;color:var(--muted);margin-bottom:14px;line-height:1.5}
.mc-ctx b{color:var(--navy)}
.mc-field{margin-bottom:12px}
.mc-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px;display:block}
.mc-input, .mc-select, .mc-textarea{width:100%;border:1.5px solid var(--gray2);border-radius:var(--radius-sm);padding:8px 11px;font-size:12px;font-family:'Archivo',sans-serif;color:var(--text);outline:none;transition:border-color .15s;background:#fff}
.mc-input:focus,.mc-select:focus,.mc-textarea:focus{border-color:var(--navy)}
.mc-textarea{resize:vertical;min-height:80px}
.mc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mc-footer{padding:12px 18px;border-top:1px solid var(--gray2);background:var(--gray1);display:flex;justify-content:flex-end;gap:8px}
.mc-btn{font-size:12px;font-weight:600;padding:7px 18px;border-radius:var(--radius-sm);border:1.5px solid var(--gray2);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.mc-btn.cancel{background:#fff;color:var(--muted)}
.mc-btn.cancel:hover{border-color:var(--danger);color:var(--danger)}
.mc-btn.save{background:var(--navy);border-color:var(--navy);color:#fff}
.mc-btn.save:hover{background:var(--navy3)}

/* STATUS BAR */
.statusbar{height:22px;background:var(--accent);border-top:2px solid var(--highlight);display:flex;align-items:center;padding:0 16px;gap:14px;flex-shrink:0}
.sb{font-size:9px;color:rgba(255,255,255,.3);font-family:'JetBrains Mono',monospace}
.sb b{color:rgba(255,255,255,.55)}
.sb-version-pill{padding-left:10px;border-left:1px solid rgba(255,255,255,.18)}

/* USUARIO BADGE */
.user-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:7px;
  background:rgba(255,255,255,.10);color:rgba(255,255,255,.85);
  font-size:11px;font-weight:600;
  cursor:pointer;border:1px solid rgba(255,255,255,.20);
  font-family:'Archivo',sans-serif;transition:background .15s, border-color .15s;
}
.user-badge:hover{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.35)}
.user-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}

/* FIREBASE STATUS */
.fb-status{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;color:rgba(255,255,255,.65);
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.06em;
  padding:0 4px;
}
.fb-dot{width:6px;height:6px;border-radius:50%;background:#c9d0da;flex-shrink:0;transition:background .3s}
.fb-dot.ok{background:var(--success)}
.fb-dot.err{background:var(--highlight)}

/* ── TABLET (641–900px) ── */
@media(max-width:900px){
  .tb-toggle{display:inline-flex}
  .lp{position:fixed;left:-110%;top:50px;bottom:22px;z-index:50;transition:left .25s;box-shadow:4px 0 20px rgba(0,0,0,.18);width:var(--left-w)!important}
  .lp.open{left:0}
  .lp-toggle{display:none!important}
  .mc-row{grid-template-columns:1fr}
}

/* ── MOBILE (≤ 640px) ── */
@media(max-width:640px){
  body{padding-top:46px} /* v4.8: header mobile é 46px */
  /* TOPBAR */
  .topbar{height:46px;min-height:46px;padding:0 6px;gap:4px;flex-wrap:nowrap;overflow:visible}
  .tb-brand{font-size:12px;letter-spacing:-.5px;flex-shrink:0;min-width:0}
  .tb-brand img{height:24px!important}
  .tb-sub,.tb-badge,.fb-status,.tb-admin-btn,#nav-trash{display:none!important}
  .tb-nav-btn{font-size:9px;padding:5px 8px;gap:2px;white-space:nowrap;flex-shrink:0;border-radius:6px}
  .tb-right{gap:4px;flex-shrink:0;flex-wrap:nowrap;margin-left:auto}
  .user-badge{font-size:9px;padding:4px 8px;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tb-logout-btn{font-size:9px;padding:4px 8px;flex-shrink:0}
  /* PAINEL LATERAL */
  .lp{width:100vw!important;top:46px;bottom:20px}
  .lp-toggle{display:none!important}
  .lp-sec{padding:8px 12px}
  .dz-wrap{padding:6px 12px}
  .dz{min-height:36px}
  /* BARRA DE PERÍODO */
  .period-bar{padding:5px 10px;gap:4px}
  .pb-label{font-size:8px}
  .pb-pill{padding:3px 9px;font-size:10px}
  /* TOOLBAR */
  .rp-toolbar{padding:5px 10px;gap:4px;flex-wrap:wrap}
  .rp-info{font-size:10px;width:100%;order:-1}
  .analysis-title-bar{padding:5px 12px}
  .atb-title{font-size:11px}
  .rp-btn{padding:5px 10px;font-size:10px}
  /* PIVOT TABLE */
  .pv-scroll{padding:4px 0}
  :root{--rh-w:140px}
  .pv-tbl{font-size:10px}
  .pv-tbl th{font-size:8px;padding:0}
  .pv-tbl th .th-rh-inner{padding:7px 20px 7px 8px;font-size:8px}
  .pv-tbl td{padding:5px 8px}
  .pv-tbl td.rh-cell{font-size:10px;padding-left:8px!important}
  .pv-tbl td.lvl-1{padding-left:16px!important}
  .pv-tbl td.lvl-2{padding-left:28px!important}
  .resize-handle{display:none}
  /* No mobile: btn "+" menor mas sempre visível */
  .pv-tbl td .btn-cell-add,.mo-tbl td .btn-cell-add{display:inline-flex!important;opacity:.7;pointer-events:auto;width:14px;height:14px;font-size:9px}
  .cv-val{text-align:right;flex:1}
  .btn-comment{width:14px;height:14px;font-size:8px}
  /* rh-w menor para caber colunas */
  :root{--rh-w:120px}
  /* STATUS BAR */
  .statusbar{gap:6px;padding:0 10px}
  .sb{font-size:8px}
  /* MODAL DRILL — bottom sheet */
  .mo{align-items:flex-end}
  .mo-box{
    width:100vw!important;max-width:100vw!important;
    height:calc(100dvh - 46px)!important;
    max-height:calc(100dvh - 46px)!important;
    border-radius:12px 12px 0 0;
    margin-top:46px;
  }
  .mo-hdr{
    padding:8px 12px;
    flex-direction:row;
    align-items:center;
    gap:8px;
    min-height:44px;
  }
  /* No mobile: ttag some, título em 1 linha com ellipsis */
  .mo-ttag{display:none}
  .mo-title{
    font-size:12px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:calc(100vw - 110px);
  }
  /* Botão X maior no mobile */
  .mo-cls{
    font-size:28px !important;
    padding:6px 12px !important;
    background:rgba(255,255,255,.15) !important;
    border-radius:8px !important;
    color:#fff !important;
    min-width:44px;min-height:44px;
    display:inline-flex;align-items:center;justify-content:center;
  }
  .mo-col-toggle-btn{display:none}
  .mo-confirm-review-btn{font-size:9px;padding:4px 8px;letter-spacing:0}
  /* Barra inferior com navegação */
  .mo-footer{
    padding:10px 14px;
    background:var(--gray1);
    border-top:1px solid var(--gray2);
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-shrink:0;
  }
  .mo-nav-back{
    font-size:13px;font-weight:700;
    padding:10px 20px;
    background:var(--navy);color:#fff;
    border:none;border-radius:8px;
    cursor:pointer;font-family:'Archivo',sans-serif;
    min-height:44px;
  }
  .mo-stats{padding:7px 14px;gap:8px}
  .mo-stat{font-size:9px}
  .mo-tbl{font-size:10px}
  .mo-tbl th{font-size:8px;padding:7px 8px}
  .mo-tbl td{padding:5px 8px}
  /* Garantir que o cabeçalho da tabela fica visível no scroll mobile */
  .mo-body{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mo-tbl thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}
  .mo-tbl thead tr{position:-webkit-sticky;position:sticky;top:0;z-index:10}
  .mo-tbl thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--dark);z-index:10}
  /* Ocultar colunas menos críticas no mobile */
  /* Ocultar colunas menos críticas no mobile (NF=2, Mes=4, Grupo=5) */
  .mo-tbl th:nth-child(2),.mo-tbl td:nth-child(2){display:none}
  .mo-tbl th:nth-child(4),.mo-tbl td:nth-child(4){display:none}
  .mo-tbl th:nth-child(5),.mo-tbl td:nth-child(5){display:none}
  .mo-tbl th:nth-child(1),.mo-tbl td:nth-child(1){width:62px}
  .mo-tbl th:nth-child(3),.mo-tbl td:nth-child(3){width:72px}
  .mo-tbl th:nth-child(6),.mo-tbl td:nth-child(6){width:110px}
  .mo-tbl th:nth-child(7),.mo-tbl td:nth-child(7){width:120px}
  .mo-tbl th:nth-child(8),.mo-tbl td:nth-child(8){width:78px}
  .mo-tbl th:nth-child(9),.mo-tbl td:nth-child(9){width:78px}
  .mo-tbl th:nth-child(10),.mo-tbl td:nth-child(10){width:88px}
  .mo-tbl th:nth-child(11),.mo-tbl td:nth-child(11){width:28px}
  .mo-footer{padding:7px 14px}
  /* MODAL COMENTÁRIO — bottom sheet */
  .mc{align-items:flex-end}
  .mc-box{width:100vw!important;border-radius:16px 16px 0 0;max-height:88vh;overflow-y:auto}
  .mc-hdr,.mc-body,.mc-footer{padding-left:16px;padding-right:16px}
  /* PAINEL FILTRO COLUNA */
  .col-panel{width:min(220px,90vw)}
  /* PÁGINA COMENTÁRIOS */
  .coment-toolbar{padding:8px 12px;gap:6px}
  .ct-title{font-size:12px}
  .ct-filt{font-size:9px;padding:3px 9px}
  .coment-scroll{padding:10px 12px}
  .cc-header,.cc-body{padding:10px 12px}
  .cc-texto{font-size:11px}
}


/* ══ HOME: Quadros especiais (Multa/Juros e Diaristas) ═══════════ */
.home-quadros{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));
  gap:16px;
  margin-top:20px;
}
.home-quadro{
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.home-quadro-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;
  background:var(--accent);
  border-bottom:2px solid var(--highlight);
  gap:8px;flex-wrap:wrap;
}
.home-quadro-title{
  font-size:12px;font-weight:700;color:#fff;
  font-family:'Archivo',sans-serif;letter-spacing:-0.01em;
  display:flex;align-items:center;gap:6px;
}
.home-quadro-tabs{display:flex;gap:3px;}
.home-quadro-tab{
  padding:4px 10px;border-radius:5px;
  border:1px solid rgba(255,255,255,.3);
  background:transparent;color:rgba(255,255,255,.65);
  cursor:pointer;font-size:10px;font-weight:700;
  font-family:'Archivo',sans-serif;transition:all .15s;
}
.home-quadro-tab.active{background:var(--highlight);border-color:var(--highlight);color:#fff}
.home-quadro-tab:hover:not(.active){background:rgba(255,255,255,.12);color:#fff}
/* v4.8: botão expandir quadro em tela cheia */
.home-quadro-expand{
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);
  color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;
  font-size:16px;font-family:'Archivo',sans-serif;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .15s;line-height:1;
}
.home-quadro-expand:hover{background:rgba(255,255,255,.28);border-color:#fff}
/* v4.8: modal full-screen do quadro expandido */
.home-expand-modal{
  display:none;position:fixed;inset:0;
  background:rgba(10,20,45,.85);z-index:8000;
  align-items:center;justify-content:center;padding:24px;
}
.home-expand-modal.open{display:flex}
.home-expand-box{
  background:#fff;border-radius:12px;
  width:100%;max-width:1400px;height:100%;max-height:900px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.home-expand-hdr{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;background:var(--accent);color:#fff;
  border-bottom:2px solid var(--highlight);
}
.home-expand-title{flex:1;font-size:14px;font-weight:700;font-family:'Archivo',sans-serif}
.home-expand-actions{display:flex;gap:6px}
.home-expand-btn{
  font-size:11px;font-weight:600;padding:6px 12px;border-radius:6px;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);
  color:#fff;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  display:inline-flex;align-items:center;gap:5px;
}
.home-expand-btn:hover{background:rgba(255,255,255,.25);border-color:#fff}
.home-expand-btn.cls{background:#dc2626;border-color:#b91c1c;font-weight:700}
.home-expand-btn.cls:hover{background:#b91c1c}
.home-expand-body{flex:1;overflow:auto;padding:16px;background:#fff}
/* v5.9: manter mesma fonte do quadro recolhido — expand é para mostrar mais colunas */
.home-expand-body .ins-q-tbl{font-size:11px}
.home-expand-body .ins-q-tbl th{font-size:10px;padding:6px 6px}
.home-expand-body .ins-q-tbl td{padding:5px 6px;font-size:11px}
@media (max-width:768px){
  .home-expand-modal{padding:0}
  .home-expand-box{border-radius:0;max-height:100%}
  .home-expand-btn span.lbl{display:none}
  .home-expand-title{font-size:11px}
}
.home-quadro-body{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.home-quadro-body .ins-q-tbl-wrap{padding:0}
.home-quadro-body .ins-q-tbl th{font-size:10px;padding:6px 6px}
.home-quadro-body .ins-q-tbl td{padding:5px 6px;font-size:11px}
.home-quadro-loading{
  padding:24px;text-align:center;color:var(--text-muted);font-size:11px;
}
@media(max-width:640px){
  .home-quadros{gap:10px;margin-top:12px}
  .home-quadro-title{font-size:11px}
  .home-quadro-tab{font-size:9px;padding:3px 8px}
}

/* ══ MOBILE: admin bottom-sheet ══════════════════════════════ */
@media(max-width:640px){
  .admin-overlay.open{align-items:flex-end}
}

/* ══ MOBILE: padding das páginas de conteúdo ═════════════════ */
@media(max-width:640px){
  /* Home */
  .home-wrap{padding:16px 14px}
  .home-greeting{font-size:18px;margin-bottom:8px}
  .home-subtitle{font-size:11px;margin-bottom:14px}
  .home-grid{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
  .home-card{padding:14px 14px}
  .home-card-ico{font-size:22px;width:36px;height:36px;border-radius:10px}
  .home-card-title{font-size:13px}
  .home-card-body{font-size:11px}
  .home-action-btn{padding:9px 14px;font-size:11px;width:100%;justify-content:center}
  .home-card-placeholder{padding:14px;font-size:11px}
  /* Insights */
  .ins-wrap{padding:14px 12px 40px}
  .ins-kpis{grid-template-columns:1fr 1fr;gap:8px}
  .ins-kpi{padding:10px 12px}
  .ins-kpi-val{font-size:18px}
  .ins-kpi-lbl{font-size:9px}
  /* Auditoria */
  .audit-wrap{padding:12px 12px;margin:10px auto}
  .audit-header{gap:8px;margin-bottom:10px}
  .audit-title{font-size:16px}
  .audit-stats{gap:6px;flex-wrap:wrap}
  .audit-stat{padding:6px 10px;font-size:9px}
  /* Análises Salvas */
  .sa-modal-body{padding:12px}
  .sa-saved-item{padding:10px 12px;gap:8px;flex-wrap:wrap}
  .sa-saved-name{font-size:11px}
  /* Admin */
  .admin-box{padding:16px 16px;border-radius:12px 12px 0 0;
    position:fixed;bottom:0;left:0;right:0;
    width:100%!important;max-width:100%!important;
    max-height:90vh;border-radius:16px 16px 0 0}
  .admin-title{font-size:13px}
  .user-row-name{font-size:12px}
  .user-acesso-panel{padding:8px 10px}
  .uap-chip{font-size:9px;padding:3px 7px}
}

/* TOUCH — desabilitar drag visual, cursor normal */
@media(hover:none){
  [draggable=true]{cursor:pointer}
  .resize-handle{display:none!important}
  /* No touch: btn "+" sempre visível e clicável */
  .pv-tbl td .btn-cell-add{display:inline-flex!important;opacity:.65;pointer-events:auto}
}
/* ocultar colunas do modal via JS */
#mo-col-style{}

/* ═══════════════════════════════════════════════
   LOGIN SCREEN
═══════════════════════════════════════════════ */
.gpc-login-overlay{
  position:fixed;inset:0;background:var(--dark);z-index:9999;
  display:flex;align-items:center;justify-content:center;
}
.gpc-login-box{
  background:#fff;border-radius:16px;padding:40px 44px;
  width:min(96vw,400px);box-shadow:0 24px 80px rgba(0,0,0,.5);
  display:flex;flex-direction:column;align-items:center;gap:0;
}
.login-logo{height:67px;width:auto;margin-bottom:20px;object-fit:contain}
.login-title{font-size:13px;font-weight:700;color:var(--navy);text-align:center;margin-bottom:6px;letter-spacing:-.2px}
.login-sub{font-size:11px;color:var(--muted);margin-bottom:28px;text-align:center}
.login-field{width:100%;margin-bottom:12px}
.login-field label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.login-input{width:100%;padding:10px 14px;border:1.5px solid var(--gray2);border-radius:var(--radius-sm);font-size:13px;font-family:'Archivo',sans-serif;color:var(--dark);background:#fff;box-sizing:border-box;transition:border-color .15s}
.login-input:focus{outline:none;border-color:var(--navy)}
.login-btn{width:100%;padding:12px;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:700;font-family:'Archivo',sans-serif;cursor:pointer;margin-top:8px;transition:background .15s}
.login-btn:hover{background:var(--navy3)}
.login-err{color:var(--danger);font-size:11px;text-align:center;min-height:16px;margin-top:8px;font-weight:600}
.login-remember{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);cursor:pointer;width:100%;margin-top:2px;user-select:none}
.login-remember input{accent-color:var(--navy);width:14px;height:14px;cursor:pointer;flex-shrink:0}
.login-ver{font-size:9px;color:var(--muted);margin-top:20px;opacity:.6;text-align:center;line-height:1.6}

/* ═══════════════════════════════════════════════
   ADMIN PANEL
═══════════════════════════════════════════════ */
.admin-overlay{
  position:fixed;inset:0;background:rgba(10,14,22,.55);z-index:8000;
  display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(6px);
}
.admin-overlay.open{display:flex}
.admin-box{
  background:var(--surface);border-radius:14px;padding:24px 28px;
  width:min(96vw,560px);max-height:92vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(10,14,22,.18);border:1px solid var(--border);
}
.admin-title{font-size:15px;font-weight:800;color:var(--text);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-family:'Archivo',sans-serif;letter-spacing:-0.01em}
.admin-cls{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:7px;font-size:16px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.admin-cls:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}
.admin-section{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:16px 0 8px;font-family:'JetBrains Mono',monospace}
.user-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);margin-bottom:6px;background:var(--surface-2);transition:border-color .15s}
.user-row:hover{border-color:var(--border-strong)}
.user-row-name{font-size:13px;font-weight:700;color:var(--text);font-family:'Archivo',sans-serif}
.user-row-badge{font-size:9px;padding:2px 8px;border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-weight:700;border:1px solid var(--accent-bg-strong);font-family:'JetBrains Mono',monospace}
.user-row-badge.master{background:var(--highlight-bg);color:var(--highlight-text);border-color:var(--highlight-bg-strong)}
.user-del-btn{padding:4px 10px;font-size:10px;font-weight:600;background:var(--surface);border:1.5px solid var(--danger);color:var(--danger-text);border-radius:var(--radius-sm);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.user-del-btn:hover{background:var(--danger-bg)}
.user-edit-btn{padding:4px 10px;font-size:10px;font-weight:600;background:var(--surface);border:1.5px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.user-edit-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
/* Inline edit de senha */
.user-edit-form{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px;padding-top:6px;border-top:1px solid var(--gray2)}
.user-edit-input{flex:1;min-width:100px;border:1.5px solid var(--gray2);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;font-family:'Archivo',sans-serif;outline:none;background:#fff}
.user-edit-input:focus{border-color:var(--navy)}
.user-edit-save{padding:4px 12px;font-size:10px;font-weight:600;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:'Archivo',sans-serif}
.user-edit-cancel{padding:4px 10px;font-size:10px;font-weight:600;background:#fff;color:var(--muted);border:1.5px solid var(--gray2);border-radius:var(--radius-sm);cursor:pointer;font-family:'Archivo',sans-serif}
.admin-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.admin-input{padding:8px 12px;border:1.5px solid var(--gray2);border-radius:var(--radius-sm);font-size:12px;font-family:'Archivo',sans-serif;color:var(--dark);transition:border-color .15s}
.admin-input:focus{outline:none;border-color:var(--navy)}
.admin-add-btn{padding:9px;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:700;font-family:'Archivo',sans-serif;cursor:pointer;transition:background .15s}
.admin-add-btn:hover{background:var(--navy3)}
.admin-msg{font-size:11px;color:var(--danger);min-height:14px;font-weight:600}

/* ═══════════════════ PAINEL DE PERMISSÕES DE ACESSO ═══════════════════ */
.user-acesso-btn{
  padding:3px 10px;font-size:10px;font-weight:600;
  background:var(--surface);border:1.5px solid var(--accent);
  color:var(--accent-text);border-radius:var(--radius-sm);
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.user-acesso-btn:hover{background:var(--accent-bg);border-color:var(--accent)}
.user-acesso-btn.restrito{border-color:var(--highlight);color:var(--highlight-text);background:var(--highlight-bg)}
.user-acesso-panel{
  display:none;margin-top:8px;padding:12px;
  background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--radius-sm);border-left:3px solid var(--accent);
}
.user-acesso-panel.open{display:block}
.uap-section{margin-bottom:10px}
.uap-section:last-child{margin-bottom:0}
.uap-label{
  font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);
  margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;
}
.uap-chips{display:flex;flex-wrap:wrap;gap:4px}
.uap-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 9px;border-radius:10px;font-size:10px;font-weight:600;
  border:1.5px solid var(--border);background:var(--surface);
  color:var(--text-dim);cursor:pointer;transition:all .12s;
  user-select:none;font-family:'Archivo',sans-serif;
}
.uap-chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.uap-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.uap-chip.on.grupo{background:var(--highlight);border-color:var(--highlight)}
.uap-btn-row{display:flex;gap:6px;margin-top:8px}
.uap-btn{
  padding:5px 12px;font-size:10px;font-weight:600;
  border-radius:var(--radius-sm);cursor:pointer;
  font-family:'Archivo',sans-serif;transition:all .15s;
}
.uap-btn.salvar{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.uap-btn.salvar:hover{background:var(--accent-dim)}
.uap-btn.limpar{background:var(--surface);color:var(--text-dim);border:1.5px solid var(--border-strong)}
.uap-btn.limpar:hover{border-color:var(--danger);color:var(--danger-text)}
.uap-msg{font-size:10px;font-weight:600;margin-left:auto;padding:5px 10px;border-radius:var(--radius-sm)}
.uap-msg.ok{color:var(--success-text);background:var(--success-bg)}
.uap-msg.err{color:var(--danger-text);background:var(--danger-bg)}
.uap-aviso{
  font-size:11px;color:var(--accent-text);background:var(--accent-bg);
  border:1px solid var(--accent-bg-strong);border-radius:6px;
  padding:6px 10px;margin-bottom:8px;line-height:1.45;
  font-family:'Archivo',sans-serif;
}
.uap-todos-badge{
  font-size:9px;font-family:'JetBrains Mono',monospace;font-weight:700;
  padding:1px 7px;border-radius:8px;
  background:var(--success-bg);color:var(--success-text);
  border:1px solid var(--success);margin-left:6px;
}
.uap-qtd-btn{
  font-size:9px;font-family:'JetBrains Mono',monospace;
  color:var(--text-muted);cursor:pointer;text-decoration:underline;
  background:none;border:none;padding:0;
}
.uap-qtd-btn:hover{color:var(--accent-text)}
/* Botão admin/logout no topbar */
.tb-admin-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:rgba(255,255,255,.8);font-size:10px;font-weight:600;padding:4px 10px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;display:none}
.tb-admin-btn:hover{background:rgba(255,255,255,.22);color:#fff}
.tb-admin-btn.visible{display:inline-flex;align-items:center;gap:4px}
.tb-logout-btn{background:rgba(220,38,38,.85);border:1px solid #b91c1c;border-radius:var(--radius-sm);color:#fff;font-size:10px;font-weight:700;padding:4px 12px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.tb-logout-btn:hover{background:#dc2626;border-color:#7f1d1d}

/* ── LIXEIRA ── */
.trash-card{background:#fff;border-radius:var(--radius);border:1.5px solid var(--gray2);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden;opacity:.75}
.trash-card .cc-header{background:var(--gray1)}
.trash-del-info{font-size:10px;color:var(--danger);font-style:italic;padding:4px 16px 8px;background:var(--gray1)}
.btn-restore{font-size:10px;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--green);background:var(--green2);color:var(--green3);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.btn-restore:hover{background:var(--green);color:#fff}
.btn-del-perm{font-size:10px;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--danger);background:var(--danger2);color:var(--danger);cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s}
.btn-del-perm:hover{background:var(--danger);color:#fff}
.trash-empty{text-align:center;padding:60px 20px;color:var(--muted)}
.trash-empty-ico{font-size:48px;opacity:.2;margin-bottom:12px}
.trash-empty-txt{font-size:13px;font-weight:600;color:var(--navy);opacity:.4}

/* ── MOBILE: painel lateral — touch targets maiores + sem seleção de texto ── */
@media(max-width:900px){
  /* Sem seleção de texto em toda a área do painel */
  .lp, .lp *{
    -webkit-user-select:none;
    user-select:none;
  }
  /* Campos clicáveis — botões maiores */
  .fp{
    padding:9px 14px;
    font-size:12px;
    border-radius:18px;
    min-height:40px;
  }
  .fp-wrap{gap:6px;padding:2px 0}
  /* Zonas de arrastar */
  .dz{min-height:52px;padding:10px 12px}
  .dzp{padding:7px 12px;font-size:11px;border-radius:14px;min-height:36px}
  .dzp-rm{font-size:16px;padding:2px 6px;min-width:28px;text-align:center}
  .dzp-mv{font-size:11px;padding:2px 8px;min-width:28px;text-align:center}
  /* Cabeçalhos de filtro — área de toque maior */
  .fg-hdr{padding:12px 0;margin-bottom:0}
  .fg-name{font-size:12px}
  .fg-badge{font-size:11px}
  /* Botões Todos/Limpar */
  .fg-abtn{
    font-size:11px;
    padding:7px 16px;
    border-radius:10px;
    min-height:36px;
  }
  .fg-acts{gap:8px;margin-bottom:6px}
  /* Itens de filtro (checkboxes) */
  .fg-item{
    padding:11px 10px;
    font-size:12px;
    gap:10px;
  }
  .fg-item input[type=checkbox]{
    width:18px;
    height:18px;
    flex-shrink:0;
  }
  .fg-item-lbl{font-size:12px}
  /* Campo de busca */
  .fg-srch{
    padding:9px 10px;
    font-size:12px;
    margin-bottom:6px;
  }
  /* Labels das seções */
  .lp-label{font-size:10px;margin-bottom:10px}
  .lp-sec{padding:12px 14px}
  .dz-wrap{padding:10px 14px;gap:8px}
  /* Botão ocultar painel */
  .lcb{padding:6px 14px;font-size:11px;min-height:34px}
}

/* Botão Voltar no footer do modal — só no mobile */
@media(max-width:900px){
  #mo-back-btn{display:inline-flex !important}
  #mo-fl{display:none !important}
}
/* Botão de captura de tela */
.btn-screenshot{
  font-size:11px;font-weight:600;padding:5px 13px;
  border-radius:var(--radius-sm);border:1.5px solid var(--gray2);
  background:#fff;cursor:pointer;color:var(--muted);
  font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:5px;
}
.btn-screenshot:hover{border-color:var(--navy);color:var(--navy)}
/* Toast de confirmação */
.screenshot-toast{
  position:fixed;bottom:40px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--dark);color:#fff;font-size:12px;font-weight:600;
  padding:10px 20px;border-radius:20px;box-shadow:var(--shadow-md);
  opacity:0;transition:all .3s;z-index:9999;pointer-events:none;
  font-family:'Archivo',sans-serif;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;
}
.screenshot-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* v4.32: variantes por tipo */
.screenshot-toast.toast-ok{background:#0d7138;color:#fff}
.screenshot-toast.toast-aviso{background:var(--dark);color:#fff}
.screenshot-toast.toast-erro{background:#9c1f1f;color:#fff;padding-right:36px;pointer-events:auto}
.screenshot-toast.toast-erro::after{
  content:'×';position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-size:18px;font-weight:700;opacity:.85;
}
.screenshot-toast.toast-erro:hover{opacity:.95}
/* Overlay de loading durante captura */
.screenshot-loading{
  position:fixed;inset:0;background:rgba(10,20,45,.5);
  z-index:9998;display:none;align-items:center;justify-content:center;
}
.screenshot-loading.show{display:flex}
.screenshot-spinner{
  background:#fff;border-radius:12px;padding:20px 28px;
  font-size:12px;font-weight:600;color:var(--navy);
  font-family:'Archivo',sans-serif;display:flex;align-items:center;gap:10px;
}
@keyframes spin{to{transform:rotate(360deg)}}
.screenshot-spinner-ico{
  width:18px;height:18px;border:2.5px solid var(--gray2);
  border-top-color:var(--navy);border-radius:50%;
  animation:spin .7s linear infinite;flex-shrink:0;
}

.mo-export-btn{
  padding:4px 12px;font-size:10px;font-weight:600;
  background:var(--orange);color:#fff;border:none;
  border-radius:var(--radius-sm);cursor:pointer;
  font-family:'Archivo',sans-serif;transition:opacity .15s;
  white-space:nowrap;
}
.mo-export-btn:hover{opacity:.85}

/* Nav labels: full no desktop, curto no mobile */
.nav-txt-short{display:none}
.nav-txt-full{display:inline}
@media(max-width:640px){
  .nav-txt-full{display:none}
  .nav-txt-short{display:inline}
}
/* Toolbar botões Foto/PDF/XLS compactos no mobile */
@media(max-width:640px){
  .btn-screenshot,.rp-btn{font-size:9px;padding:4px 8px}
  .rp-toolbar{padding:4px 8px;gap:4px}
  .atb-sub{display:none}
}

/* Layout global (aplica em qualquer tela) */
body{
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh; /* dynamic viewport height no iOS */
}
header.topbar{
  /* v4.8: já é fixed pelo bloco principal .topbar */
  height:54px; /* desktop default; mobile sobrescreve abaixo */
  z-index:60;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
/* Scroll das páginas de comentários */
.coment-page, .coment-scroll{
  -webkit-overflow-scrolling:touch;
}

/* ── MOBILE: topbar fixo full-width — não mexe no layout das páginas ── */
@media(max-width:900px){
  header.topbar{
    height:46px;
    z-index:60;
  }
}

.fg-more-btn{
  width:100%;padding:7px;text-align:center;font-size:10px;font-weight:600;
  color:var(--navy);cursor:pointer;border:none;background:var(--gray1);
  border-top:1px solid var(--gray2);font-family:'Archivo',sans-serif;
  transition:background .12s;
}
.fg-more-btn:hover{background:var(--gray2)}

/* Badge: base atualizada após o comentário */
.cc-base-alert{
  display:inline-flex;align-items:center;gap:4px;
  font-size:9px;font-weight:700;padding:2px 8px;border-radius:8px;
  background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning);
  white-space:nowrap;flex-shrink:0;margin-top:4px;
}
.cc-base-alert-icon{font-size:11px}

.pb-pill.year{
  background:var(--gray1);border-color:var(--gray2);
  color:var(--navy);font-weight:700;font-size:10px;
}
.pb-pill.year:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.pb-pill.year.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pb-separator{width:1px;height:18px;background:var(--gray2);flex-shrink:0;align-self:center;margin:0 2px}

/* ===== AUDIT TRAIL (FASE 1) ===== */
.tb-audit-btn{
  background:var(--accent-bg);
  border:1px solid var(--accent-bg-strong);
  color:var(--accent-text);
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  display:none;
  margin-left:2px;
  transition:all .15s;
}
.tb-audit-btn:hover{background:var(--accent-bg-strong)}
.tb-audit-btn.visible{display:inline-flex;align-items:center;gap:4px}
.audit-wrap{max-width:1280px;margin:20px auto;padding:0 20px}
.audit-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.audit-title{font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.audit-subtitle{font-size:12px;color:var(--muted)}
.audit-filters{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:14px;margin-bottom:14px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;
}
.audit-filter-field{display:flex;flex-direction:column;gap:4px}
.audit-filter-field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.audit-filter-field select,.audit-filter-field input{
  background:var(--surface);border:1px solid var(--border);border-radius:6px;
  padding:7px 10px;color:var(--text);font-size:13px;outline:none;
}
.audit-filter-field select:focus,.audit-filter-field input:focus{border-color:var(--accent)}
.audit-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.audit-btn{
  padding:8px 14px;border-radius:8px;border:none;cursor:pointer;
  font-size:13px;font-weight:600;transition:all .15s;
}
.audit-btn-primary{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.audit-btn-primary:hover{filter:brightness(1.1)}
.audit-btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.audit-btn-secondary:hover{background:var(--surface-3)}
.audit-stats{
  display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap;
  padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;
}
.audit-stat{display:flex;flex-direction:column;gap:2px}
.audit-stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.audit-stat-value{font-size:16px;font-weight:700;color:var(--text)}
.audit-tbl-wrap{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  overflow:hidden;max-height:65vh;overflow-y:auto;
}
.audit-tbl{width:100%;border-collapse:collapse;font-size:12px}
.audit-tbl thead th{
  background:var(--surface);color:var(--text);text-align:left;padding:10px 12px;
  font-size:11px;text-transform:uppercase;letter-spacing:.3px;font-weight:700;
  position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border);
}
.audit-tbl tbody td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text)}
.audit-tbl tbody tr:hover{background:var(--accent-bg)}
.audit-tbl td.acao{font-weight:600}
.audit-tag{
  display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
}
.audit-tag.login{background:var(--success-bg);color:var(--success-text)}
.audit-tag.logout{background:var(--surface-3);color:var(--text-muted)}
.audit-tag.coment{background:var(--accent-bg);color:var(--accent-text)}
.audit-tag.del{background:var(--danger-bg);color:var(--danger-text)}
.audit-tag.export{background:var(--violet-bg);color:var(--violet-text)}
.audit-tag.edit{background:var(--warning-bg);color:var(--warning)}
.audit-empty{text-align:center;padding:40px 20px;color:var(--muted)}
.audit-info-badge{
  background:var(--accent-bg);border:1px solid var(--accent-bg-strong);
  border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:12px;
  color:var(--accent-text);display:flex;align-items:center;gap:8px;
}


/* ===== TAGS DE REVISÃO (FASE 2) ===== */
.tag-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
  border:1px solid transparent;cursor:default;
  margin-right:3px;margin-bottom:2px;white-space:nowrap;
}
.tag-chip.t-revisar{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}
.tag-chip.t-reclassificar{background:var(--violet-bg);color:var(--violet-text);border-color:var(--violet)}
.tag-chip.t-verif-fornec{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}
.tag-chip.t-verif-conta{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}
.tag-chip.t-revisado{background:var(--success-bg);color:var(--success-text);border-color:var(--success)}
.tag-chip.t-custom{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-strong)}

.tg-modal-overlay{
  position:fixed;inset:0;background:rgba(10,14,22,.55);
  display:none;align-items:center;justify-content:center;z-index:9000;
  backdrop-filter:blur(4px);
}
.tg-modal-overlay.open{display:flex}
.tg-modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:0;width:520px;max-width:92vw;max-height:85vh;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(10,14,22,.18);
}
.tg-modal-hdr{
  padding:16px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.tg-modal-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.tg-modal-cls{
  background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);
  width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:16px;
  display:inline-flex;align-items:center;justify-content:center;
}
.tg-modal-cls:hover{background:rgba(255,255,255,.12)}
.tg-modal-body{padding:18px 20px;overflow-y:auto;flex:1}
.tg-modal-ctx{
  background:var(--accent-bg);border:1px solid var(--accent-bg-strong);
  border-radius:8px;padding:10px 12px;font-size:12px;color:var(--accent-text);margin-bottom:14px;
  line-height:1.5;
}
.tg-section-title{
  font-size:11px;color:var(--text-muted);font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;
}
.tg-predef-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tg-predef-btn{
  padding:7px 12px;border-radius:20px;font-size:12px;font-weight:600;
  border:1.5px solid transparent;cursor:pointer;transition:all .15s;
  display:inline-flex;align-items:center;gap:5px;
  background:var(--surface-2);color:var(--text-dim);
}
.tg-predef-btn:hover{background:var(--surface-3)}
.tg-predef-btn.selected.t-revisar{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}
.tg-predef-btn.selected.t-reclassificar{background:var(--violet-bg);border-color:var(--violet);color:var(--violet-text)}
.tg-predef-btn.selected.t-verif-fornec{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent-text)}
.tg-predef-btn.selected.t-verif-conta{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent-text)}
.tg-predef-btn.selected.t-revisado{background:var(--success-bg);border-color:var(--success);color:var(--success-text)}
.tg-custom-row{display:flex;gap:8px;margin-bottom:14px}
.tg-custom-input{
  flex:1;background:var(--surface);border:1px solid var(--border);
  border-radius:8px;padding:9px 12px;color:var(--text);font-size:13px;outline:none;
}
.tg-custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.tg-custom-add{
  padding:9px 14px;background:var(--accent-bg);border:1.5px solid var(--accent-bg-strong);
  color:var(--accent-text);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;
}
.tg-custom-add:hover{background:var(--accent-bg-strong);border-color:var(--accent)}
.tg-current-list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;
  padding:10px;background:var(--surface-2);border:1.5px dashed var(--border-strong);border-radius:8px;
}
.tg-current-empty{color:var(--text-muted);font-size:12px;font-style:italic}
.tg-current-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 8px;border-radius:12px;font-size:11px;font-weight:700;
  background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border);
}
.tg-current-tag.t-revisar{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}
.tg-current-tag.t-reclassificar{background:var(--violet-bg);color:var(--violet-text);border-color:var(--violet)}
.tg-current-tag.t-verif-fornec{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}
.tg-current-tag.t-verif-conta{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}
.tg-current-tag.t-revisado{background:var(--success-bg);color:var(--success-text);border-color:var(--success)}
.tg-current-x{
  background:none;border:none;color:inherit;cursor:pointer;font-size:14px;
  line-height:1;padding:0;opacity:.7;
}
.tg-current-x:hover{opacity:1}
.tg-modal-footer{
  padding:14px 20px;border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.tg-btn{padding:9px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:13px}
.tg-btn-cancel{background:var(--surface-2);color:var(--text)}
.tg-btn-save{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.tg-btn-save:hover{background:var(--accent-dim);border-color:var(--accent-dim)}

/* Botão de tags na linha (drilldown modal) */
.tg-row-btn{
  background:var(--warning-bg);border:1px solid var(--warning);
  color:var(--warning);padding:3px 8px;border-radius:8px;font-size:10px;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:3px;
}
.tg-row-btn:hover{background:var(--warning-bg)}
.tg-row-btn.has-tags{background:var(--success-bg);border-color:var(--success);color:var(--success-text)}

/* Filtro de tags */
.tg-filter-bar{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:10px 14px;margin:10px 0;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.tg-filter-label{font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase}
.tg-filter-chip{
  padding:5px 10px;border-radius:14px;font-size:11px;font-weight:600;
  border:1px solid var(--border);background:var(--surface);
  color:var(--text-dim);cursor:pointer;transition:all .15s;
}
.tg-filter-chip:hover{background:var(--surface-3)}
.tg-filter-chip.active{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent-text)}
.tg-filter-clear{
  background:none;border:none;color:var(--danger-text);font-size:11px;cursor:pointer;
  text-decoration:underline;font-weight:600;margin-left:auto;
}
.tg-filter-clear:hover{color:var(--danger)}

/* Indicador de tags no comentário (página coments) */
.cm-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}


/* ===== PESQUISA AVANÇADA (FASE 3) ===== */
.tb-search-btn{
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.20);
  color:#fff;
  padding:6px 11px;
  border-radius:7px;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  margin-left:2px;
  transition:background .15s, border-color .15s;
  display:inline-flex;align-items:center;gap:5px;
  font-family:'Archivo',sans-serif;
}
.tb-search-btn:hover{background:rgba(255,255,255,0.20);border-color:rgba(255,255,255,0.35)}

.sa-modal-overlay{
  position:fixed;inset:0;background:rgba(10,14,22,.55);
  display:none;align-items:center;justify-content:center;z-index:9000;
  backdrop-filter:blur(4px);
}
.sa-modal-overlay.open{display:flex}
.sa-modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:0;width:780px;max-width:95vw;max-height:90vh;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(10,14,22,.18);
}
.sa-modal-hdr{
  padding:16px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.sa-modal-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.sa-modal-cls{
  background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);
  width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:16px;
  display:inline-flex;align-items:center;justify-content:center;
}
.sa-modal-cls:hover{background:rgba(255,255,255,.12)}

.sa-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface-2)}
.sa-tab{
  padding:11px 18px;background:none;border:none;color:var(--text-muted);
  font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;
  transition:all .15s;display:flex;align-items:center;gap:6px;
}
.sa-tab:hover{color:var(--text)}
.sa-tab.active{color:var(--accent-text);border-bottom-color:var(--highlight);background:var(--accent-bg)}

.sa-modal-body{padding:18px 20px;overflow-y:auto;flex:1;min-height:300px}
.sa-pane{display:none}
.sa-pane.active{display:block}

.sa-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.sa-form-grid.full{grid-template-columns:1fr}
.sa-field{display:flex;flex-direction:column;gap:5px}
.sa-field label{font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.sa-input,.sa-select{
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:9px 11px;color:var(--text);font-size:13px;outline:none;
}
.sa-input:focus,.sa-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.sa-input.large{font-size:14px;padding:11px 13px}
.sa-row-double{display:flex;gap:8px;align-items:end}
.sa-row-double .sa-field{flex:1}
.sa-help{font-size:11px;color:var(--text-muted);font-style:italic;margin-top:4px}

.sa-actions{
  padding:14px 20px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;
}
.sa-actions-left{display:flex;gap:8px;flex-wrap:wrap}
.sa-actions-right{display:flex;gap:8px;flex-wrap:wrap}
.sa-btn{padding:9px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:13px}
.sa-btn-primary{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.sa-btn-primary:hover{filter:brightness(1.1)}
.sa-btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.sa-btn-secondary:hover{background:var(--surface-3)}
.sa-btn-save{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.sa-btn-save:hover{filter:brightness(1.1)}

.sa-saved-list,.sa-hist-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}
.sa-saved-item,.sa-hist-item{
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;
  transition:all .15s;
}
.sa-saved-item:hover,.sa-hist-item:hover{background:var(--surface-2);border-color:var(--accent)}
.sa-saved-info,.sa-hist-info{flex:1;min-width:0}
.sa-saved-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px}
.sa-saved-meta,.sa-hist-meta{font-size:11px;color:var(--text-muted)}
.sa-saved-criteria,.sa-hist-criteria{font-size:11px;color:var(--accent-text);margin-top:3px;font-family:'JetBrains Mono',monospace}
.sa-saved-actions,.sa-hist-actions{display:flex;gap:6px}
.sa-saved-btn{
  padding:6px 11px;border-radius:6px;border:none;cursor:pointer;
  font-size:11px;font-weight:600;transition:all .15s;
}
.sa-saved-btn.use{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success)}
.sa-saved-btn.use:hover{background:rgba(34,197,94,.28)}
.sa-saved-btn.del{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger)}
.sa-saved-btn.del:hover{background:rgba(239,68,68,.25)}

.sa-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:13px;font-style:italic}

.sa-active-badge{
  position:fixed;top:60px;right:20px;z-index:200;
  background:linear-gradient(135deg,rgba(34,197,94,.95),rgba(21,128,61,.95));
  color:#fff;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:600;
  box-shadow:0 4px 12px rgba(0,0,0,.3);display:none;align-items:center;gap:8px;
  cursor:pointer;
}
.sa-active-badge.show{display:inline-flex}
.sa-active-badge:hover{filter:brightness(1.1)}
.sa-active-clear{
  background:rgba(255,255,255,.25);border:none;color:#fff;
  width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:11px;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;
}
.sa-active-clear:hover{background:rgba(255,255,255,.4)}

.sa-results-info{
  background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);
  border-radius:8px;padding:10px 14px;margin:10px 0;font-size:12px;color:var(--success-text);
  display:flex;align-items:center;gap:8px;
}


/* ===== COMPARADOR DE PERÍODOS (FASE 4) ===== */
.tb-compare-btn{
  background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(167,139,250,.08));
  border:1px solid rgba(167,139,250,.35);
  color:#c4b5fd;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  margin-left:2px;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.tb-compare-btn:hover{background:linear-gradient(135deg,rgba(167,139,250,.28),rgba(167,139,250,.15))}

.cp-modal-overlay{
  position:fixed;inset:0;background:rgba(8,18,36,.9);
  display:none;align-items:center;justify-content:center;z-index:9000;
  backdrop-filter:blur(4px);
}
.cp-modal-overlay.open{display:flex}
.cp-modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;width:95vw;max-width:1200px;height:90vh;max-height:900px;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(10,14,22,.18);
}
.cp-hdr{
  padding:14px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.cp-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.cp-cls{
  background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);
  width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:16px;
  display:inline-flex;align-items:center;justify-content:center;
}
.cp-cls:hover{background:rgba(255,255,255,.12)}

.cp-config{
  padding:14px 20px;background:var(--surface-2);border-bottom:1px solid var(--border);
  display:grid;grid-template-columns:1fr auto 1fr auto auto;gap:12px;align-items:end;
}
.cp-period-group{display:flex;flex-direction:column;gap:5px}
.cp-period-group label{font-size:10px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.cp-period-select{
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:8px 10px;color:var(--text);font-size:13px;outline:none;min-width:140px;
}
.cp-period-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.cp-vs{font-size:20px;font-weight:700;color:var(--accent-text);align-self:center;padding-bottom:8px;font-family:'Archivo',sans-serif}
.cp-empresa-group{display:flex;flex-direction:column;gap:5px}
.cp-run-btn{
  padding:9px 18px;background:var(--accent);
  color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;
}
.cp-run-btn:hover{filter:brightness(1.1)}

.cp-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface-2)}
.cp-tab{
  padding:12px 20px;background:none;border:none;color:var(--text-muted);
  font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;
  transition:all .15s;display:flex;align-items:center;gap:6px;
}
.cp-tab:hover{color:var(--text)}
.cp-tab.active{color:var(--accent-text);border-bottom-color:var(--highlight);background:var(--accent-bg)}

.cp-body{flex:1;overflow:hidden;display:flex;flex-direction:column}
.cp-pane{display:none;flex:1;overflow:auto;padding:14px 20px}
.cp-pane.active{display:flex;flex-direction:column;gap:14px}

.cp-summary{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:4px;
}
.cp-sum-card{
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:10px;padding:10px 14px;
}
.cp-sum-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px}
.cp-sum-val{font-size:16px;font-weight:700;color:var(--text)}
.cp-sum-delta{font-size:11px;margin-top:3px;font-weight:600}
.cp-delta-up{color:var(--danger-text)}
.cp-delta-down{color:var(--success-text)}
.cp-delta-neutral{color:var(--text-muted)}

.cp-section-title{
  font-size:12px;font-weight:700;color:var(--text);
  text-transform:uppercase;letter-spacing:.3px;margin:10px 0 8px;
  display:flex;align-items:center;gap:8px;
}

.cp-tbl-wrap{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;overflow:hidden;
}
.cp-tbl{width:100%;border-collapse:collapse;font-size:12px}
.cp-tbl thead th{
  background:var(--surface-2);color:var(--text-muted);text-align:left;padding:9px 12px;
  font-size:11px;text-transform:uppercase;letter-spacing:.3px;font-weight:700;
  border-bottom:1px solid var(--border);white-space:nowrap;
}
.cp-tbl thead th.num{text-align:right}
.cp-tbl tbody td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text);font-size:12px}
.cp-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:'Archivo',sans-serif}
.cp-tbl tbody tr:hover{background:rgba(167,139,250,.05)}
.cp-tbl .delta-pct{font-weight:700;font-size:11px;padding:2px 6px;border-radius:10px;display:inline-block}
.cp-tbl .up{background:var(--danger-bg);color:var(--danger-text)}
.cp-tbl .down{background:var(--success-bg);color:var(--success-text)}
.cp-tbl .new{background:var(--accent-bg);color:var(--accent-text);font-size:10px;text-transform:uppercase}
.cp-tbl .gone{background:rgba(148,163,184,.15);color:#94a3b8;font-size:10px;text-transform:uppercase}

.cp-empty{text-align:center;padding:50px 20px;color:var(--text-muted);font-size:14px;font-style:italic}

.cp-actions{
  padding:12px 20px;border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.cp-btn-pdf{
  padding:9px 14px;background:var(--accent);
  color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:12px;
}
.cp-btn-pdf:hover{filter:brightness(1.1)}
.cp-btn-csv{
  padding:9px 14px;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.35);
  color:#86efac;border-radius:8px;cursor:pointer;font-weight:600;font-size:12px;
}
.cp-btn-csv:hover{background:rgba(34,197,94,.25)}

@media (max-width: 900px){
  .cp-config{grid-template-columns:1fr;gap:8px}
  .cp-vs{display:none}
  .cp-summary{grid-template-columns:repeat(2,1fr)}
}


/* ===== RELATÓRIOS PDF (FASE 5) ===== */
.tb-pdf-btn{
  background:linear-gradient(135deg,rgba(239,68,68,.18),rgba(239,68,68,.08));
  border:1px solid rgba(239,68,68,.35);
  color:#fca5a5;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  margin-left:2px;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.tb-pdf-btn:hover{background:linear-gradient(135deg,rgba(239,68,68,.28),rgba(239,68,68,.15))}

.pdf-modal-overlay{
  position:fixed;inset:0;background:rgba(10,14,22,.55);
  display:none;align-items:center;justify-content:center;z-index:9000;
  backdrop-filter:blur(4px);
}
.pdf-modal-overlay.open{display:flex}
.pdf-modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;width:720px;max-width:95vw;max-height:85vh;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(10,14,22,.18);
}
.pdf-hdr{
  padding:14px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.pdf-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.pdf-body{padding:18px 20px;overflow-y:auto;flex:1}
.pdf-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:16px}
.pdf-template-grid{display:grid;grid-template-columns:1fr;gap:10px}
.pdf-template-card{
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:10px;padding:14px;cursor:pointer;transition:all .15s;
  display:flex;align-items:center;gap:14px;
}
.pdf-template-card:hover{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.4)}
.pdf-template-icon{font-size:32px;line-height:1;flex-shrink:0}
.pdf-template-info{flex:1}
.pdf-template-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.pdf-template-desc{font-size:11px;color:var(--text-muted);line-height:1.4}

.pdf-config-pane{display:none;margin-top:14px}
.pdf-config-pane.active{display:block}
.pdf-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.pdf-field{display:flex;flex-direction:column;gap:4px}
.pdf-field label{font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase}
.pdf-field select,.pdf-field input{
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:8px 10px;color:var(--text);font-size:13px;
}
.pdf-field select:focus,.pdf-field input:focus{border-color:#ef4444;outline:none}

.pdf-actions{
  padding:14px 20px;border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.pdf-btn{padding:9px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:13px}
.pdf-btn-generate{background:var(--accent);color:#fff}
.pdf-btn-generate:hover{filter:brightness(1.1)}
.pdf-btn-cancel{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.pdf-btn-back{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}


/* ===== FIX: cor de texto em inputs dos modais (Fases 3, 4, 5) ===== */
.sa-modal input.sa-input,
.sa-modal input.sa-input.large,
.sa-modal select.sa-select,
.sa-modal-body input,
.sa-modal-body select,
.sa-modal-body textarea,
.cp-modal input.cp-period-select,
.cp-modal select.cp-period-select,
.cp-modal input,
.cp-modal select,
.pdf-modal input,
.pdf-modal select,
.tg-modal input.tg-custom-input,
.tg-modal input,
.audit-filter-field input,
.audit-filter-field select{
  color:var(--text) !important;
  background-color:var(--surface) !important;
  -webkit-text-fill-color:var(--text) !important;
}
.sa-modal input::placeholder,
.sa-modal select::placeholder,
.cp-modal input::placeholder,
.pdf-modal input::placeholder,
.tg-modal input::placeholder,
.audit-filter-field input::placeholder{
  color:var(--text-muted) !important;
  -webkit-text-fill-color:var(--text-muted) !important;
  opacity:1;
}
/* Autofill fix (Chrome/Safari coloriam com azul/amarelo o fundo) */
.sa-modal input:-webkit-autofill,
.cp-modal input:-webkit-autofill,
.pdf-modal input:-webkit-autofill,
.tg-modal input:-webkit-autofill{
  -webkit-text-fill-color:var(--text) !important;
  -webkit-box-shadow:0 0 0 30px var(--surface) inset !important;
  caret-color:var(--text) !important;
}
/* Options dos selects (em dropdown) - mantêm fundo claro para legibilidade OS */
.sa-modal select option,
.cp-modal select option,
.pdf-modal select option,
.audit-filter-field select option{
  background-color:var(--surface) !important;
  color:var(--text) !important;
}
/* Inputs de data específicos (color icon pode ser invisível no dark) */
.sa-modal input[type="date"],
.cp-modal input[type="date"],
.pdf-modal input[type="date"]{
  color-scheme:light;
}


/* ===== TEMA CLARO v2026.13 — override definitivo modais e páginas (padrão Comercial GPC) ===== */

/* Redefinir variáveis para tema claro dentro dos modais e páginas */
.sa-modal-overlay, .sa-modal,
.cp-modal-overlay, .cp-modal,
.pdf-modal-overlay, .pdf-modal,
.tg-modal-overlay, .tg-modal,
#page-audit, .audit-wrap{
  --text:var(--text);
  --muted:var(--text-muted);
  --border:var(--border);
  color:var(--text) !important;
}

/* ─── Modal Pesquisa Avançada (sa) ─── */
.sa-modal, .sa-modal *:not(button.sa-btn-primary):not(button.sa-btn-save){
  color:var(--text) !important;
}
.sa-modal-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important}
.sa-modal .sa-modal-cls{color:var(--text-muted) !important;background:var(--surface-2) !important;border:1px solid var(--border) !important}
.sa-modal .sa-field label, .sa-modal .sa-help, .sa-modal .sa-tab{color:var(--text-dim) !important;font-family:'Archivo',sans-serif !important}
.sa-modal .sa-tab.active{color:var(--accent-text) !important;border-bottom-color:var(--highlight) !important;background:var(--accent-bg) !important}
.sa-modal .sa-input,
.sa-modal .sa-select{color:var(--text) !important;background-color:var(--surface) !important;border-color:var(--border) !important}
.sa-modal .sa-input:focus,
.sa-modal .sa-select:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px var(--accent-bg) !important}
.sa-modal .sa-empty{color:var(--text-muted) !important}
.sa-modal .sa-saved-name{color:var(--text) !important;font-weight:700 !important}
.sa-modal .sa-saved-meta, .sa-modal .sa-hist-meta{color:var(--text-muted) !important;font-family:'JetBrains Mono',monospace !important}
.sa-modal .sa-saved-criteria, .sa-modal .sa-hist-criteria{color:var(--accent-text) !important;font-family:'JetBrains Mono',monospace !important}
.sa-modal .sa-btn-secondary,
.sa-modal .sa-btn-back{color:var(--text-dim) !important;background:var(--surface) !important;border:1.5px solid var(--border-strong) !important}
.sa-modal .sa-btn-secondary:hover,
.sa-modal .sa-btn-back:hover{background:var(--accent-bg) !important;border-color:var(--accent) !important;color:var(--accent-text) !important}
.sa-modal .sa-saved-item,
.sa-modal .sa-hist-item{background:var(--surface-2) !important;border-color:var(--border) !important}
.sa-modal .sa-saved-item:hover,
.sa-modal .sa-hist-item:hover{background:var(--surface-3) !important;border-color:var(--accent) !important}

/* ─── Modal Comparador (cp) ─── */
.cp-modal, .cp-modal *:not(button.cp-run-btn):not(button.cp-btn-pdf):not(button.cp-btn-csv){
  color:var(--text) !important;
}
.cp-modal .cp-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important}
.cp-modal .cp-cls{color:var(--text-muted) !important;background:var(--surface-2) !important;border:1px solid var(--border) !important}
.cp-modal .cp-period-group label, .cp-modal .cp-empresa-group label,
.cp-modal .cp-tab, .cp-modal .cp-sum-label, .cp-modal .cp-empty{color:var(--text-dim) !important}
.cp-modal .cp-tab.active{color:var(--accent-text) !important;border-bottom-color:var(--highlight) !important}
.cp-modal .cp-vs{color:var(--accent-text) !important;font-weight:800 !important}
.cp-modal .cp-period-select{color:var(--text) !important;background-color:var(--surface) !important;border-color:var(--border) !important}
.cp-modal .cp-period-select:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px var(--accent-bg) !important}
.cp-modal .cp-sum-val{color:var(--text) !important;font-weight:800 !important}
.cp-modal .cp-section-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important;font-weight:700 !important}
.cp-modal .cp-sum-card{background:var(--surface-2) !important;border-color:var(--border) !important;border-radius:10px !important}
.cp-modal .cp-tbl-wrap{background:var(--surface) !important;border-color:var(--border) !important}
.cp-modal .cp-tbl thead th{color:var(--text-muted) !important;background:var(--surface-2) !important;border-color:var(--border) !important;font-family:'JetBrains Mono',monospace !important}
.cp-modal .cp-tbl tbody td{color:var(--text) !important;border-color:var(--border) !important}
.cp-modal .cp-tbl tbody tr:hover td{background:var(--accent-bg) !important}
.cp-modal .cp-delta-up{color:var(--danger-text) !important;font-weight:700}
.cp-modal .cp-delta-down{color:var(--success-text) !important;font-weight:700}
.cp-modal .cp-delta-neutral{color:var(--text-muted) !important}
.cp-modal .cp-tbl .down{background:var(--success-bg) !important;color:var(--success-text) !important}
.cp-modal .cp-tbl .new{background:var(--accent-bg) !important;color:var(--accent-text) !important}
.cp-modal .cp-tbl .gone{background:var(--surface-3) !important;color:var(--text-muted) !important}

/* ─── Modal PDF (pdf) ─── */
.pdf-modal, .pdf-modal *:not(button.pdf-btn-generate){
  color:var(--text) !important;
}
.pdf-modal .pdf-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important;font-weight:700 !important}
.pdf-modal .pdf-subtitle{color:var(--text-muted) !important}
.pdf-modal .pdf-template-name{color:var(--text) !important;font-weight:700 !important}
.pdf-modal .pdf-template-desc{color:var(--text-dim) !important}
.pdf-modal .pdf-field label{color:var(--text-dim) !important;font-family:'Archivo',sans-serif !important}
.pdf-modal .pdf-field select,
.pdf-modal .pdf-field input{color:var(--text) !important;background-color:var(--surface) !important;border-color:var(--border) !important}
.pdf-modal .pdf-field select:focus,
.pdf-modal .pdf-field input:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px var(--accent-bg) !important}
.pdf-modal .pdf-template-card{background:var(--surface-2) !important;border-color:var(--border) !important}
.pdf-modal .pdf-template-card:hover{border-color:var(--accent) !important;background:var(--accent-bg) !important}
.pdf-modal .pdf-btn-cancel,
.pdf-modal .pdf-btn-back{color:var(--text-dim) !important;background:var(--surface) !important;border:1.5px solid var(--border-strong) !important}
.pdf-modal .pdf-btn-cancel:hover,
.pdf-modal .pdf-btn-back:hover{background:var(--accent-bg) !important;border-color:var(--accent) !important;color:var(--accent-text) !important}

/* ─── Modal Tags (tg) ─── */
.tg-modal, .tg-modal *:not(button.tg-btn-save):not(button.tg-custom-add):not(.tg-current-tag){
  color:var(--text) !important;
}
.tg-modal .tg-modal-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important}
.tg-modal .tg-modal-cls{color:var(--text-muted) !important;background:var(--surface-2) !important;border:1px solid var(--border) !important}
.tg-modal .tg-section-title{color:var(--text-muted) !important;font-family:'JetBrains Mono',monospace !important}
.tg-modal .tg-current-empty{color:var(--text-muted) !important;font-style:italic}
.tg-modal .tg-custom-input{color:var(--text) !important;background-color:var(--surface) !important;border-color:var(--border) !important}
.tg-modal .tg-custom-input:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px var(--accent-bg) !important}
.tg-modal .tg-predef-btn{color:var(--text-dim) !important;background:var(--surface-2) !important;border-color:var(--border) !important}
.tg-modal .tg-predef-btn:hover{background:var(--surface-3) !important;border-color:var(--border-strong) !important;color:var(--text) !important}
.tg-modal .tg-btn-cancel{color:var(--text-dim) !important;background:var(--surface) !important;border:1.5px solid var(--border-strong) !important}
.tg-modal .tg-btn-cancel:hover{background:var(--surface-2) !important;border-color:var(--accent) !important;color:var(--accent-text) !important}

/* ─── Página Auditoria (audit-wrap) ─── */
.audit-wrap .audit-title{color:var(--text) !important;font-family:'Archivo',sans-serif !important;font-weight:800 !important}
.audit-wrap .audit-subtitle{color:var(--highlight-text) !important;font-family:'JetBrains Mono',monospace !important;text-transform:uppercase;letter-spacing:0.18em}
.audit-wrap .audit-filter-field label,
.audit-wrap .audit-stat-label{color:var(--text-muted) !important}
.audit-wrap .audit-stat-value{color:var(--text) !important;font-weight:700 !important}
.audit-wrap .audit-filters,
.audit-wrap .audit-stats{background:var(--surface) !important;border-color:var(--border) !important;border-radius:10px !important}
.audit-wrap .audit-tbl-wrap{background:var(--surface) !important;border-color:var(--border) !important;border-radius:10px !important}
.audit-wrap .audit-filter-field select,
.audit-wrap .audit-filter-field input{color:var(--text) !important;background-color:var(--surface) !important;border-color:var(--border) !important}
.audit-wrap .audit-filter-field select:focus,
.audit-wrap .audit-filter-field input:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px var(--accent-bg) !important}
.audit-wrap .audit-tbl thead th{color:var(--text-muted) !important;background:var(--surface-2) !important;border-color:var(--border) !important;font-family:'JetBrains Mono',monospace !important}
.audit-wrap .audit-tbl tbody td{color:var(--text) !important;border-color:var(--border) !important}
.audit-wrap .audit-tbl tbody tr:hover td{background:var(--accent-bg) !important}
.audit-wrap .audit-btn-secondary{color:var(--text-dim) !important;background:var(--surface) !important;border:1.5px solid var(--border-strong) !important}
.audit-wrap .audit-btn-secondary:hover{background:var(--accent-bg) !important;border-color:var(--accent) !important;color:var(--accent-text) !important}
.audit-wrap .audit-empty{color:var(--text-muted) !important}


/* ===== TAGS NO MODAL DE COMENTÁRIO (integração Fase 2) ===== */
.mc-tags-predef{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;
}
.mc-tag-btn{
  padding:5px 10px;border-radius:14px;font-size:11px;font-weight:600;
  border:1.5px solid #d0d7e2;background:#fff;color:#5A7090;cursor:pointer;
  transition:all .15s;font-family:'Archivo',sans-serif;
  display:inline-flex;align-items:center;gap:4px;
}
.mc-tag-btn:hover{background:#f5f7fa;border-color:#a8b5c9}
.mc-tag-btn.selected.t-revisar{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.mc-tag-btn.selected.t-reclassificar{background:#ede9fe;border-color:#a78bfa;color:#5b21b6}
.mc-tag-btn.selected.t-verif-fornec{background:#dbeafe;border-color:#3b82f6;color:#1e40af}
.mc-tag-btn.selected.t-verif-conta{background:#cffafe;border-color:var(--accent);color:#155e75}
.mc-tag-btn.selected.t-revisado{background:#dcfce7;border-color:#22c55e;color:#14532d}
.mc-tag-btn.selected{font-weight:700}

.mc-tag-custom-row{display:flex;gap:6px;margin-bottom:8px}
.mc-tag-custom-input{
  flex:1;border:1px solid #d0d7e2;border-radius:6px;padding:6px 10px;
  font-size:12px;color:#1A2E4A;font-family:'Archivo',sans-serif;outline:none;
  -webkit-text-fill-color:#1A2E4A !important;
}
.mc-tag-custom-input::placeholder{color:#8a95b1 !important;-webkit-text-fill-color:#8a95b1 !important}
.mc-tag-custom-input:focus{border-color:#4da3ff}
.mc-tag-custom-btn{
  background:#4da3ff;color:#fff;border:none;border-radius:6px;
  padding:0 12px;cursor:pointer;font-weight:700;font-size:14px;
}
.mc-tag-custom-btn:hover{background:#3a7fd9}

.mc-tags-selected{
  display:flex;flex-wrap:wrap;gap:5px;padding:8px;
  background:#f5f7fa;border-radius:6px;border:1px dashed #d0d7e2;
}
.mc-tag-chip-selected{
  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;
  border-radius:12px;font-size:11px;font-weight:700;
  background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe;
}
.mc-tag-chip-selected.t-revisar{background:#fef3c7;color:#92400e;border-color:#fde68a}
.mc-tag-chip-selected.t-reclassificar{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}
.mc-tag-chip-selected.t-verif-fornec{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
.mc-tag-chip-selected.t-verif-conta{background:#cffafe;color:#155e75;border-color:#a5f3fc}
.mc-tag-chip-selected.t-revisado{background:#dcfce7;color:#14532d;border-color:#bbf7d0}
.mc-tag-chip-x{
  background:none;border:none;color:inherit;cursor:pointer;
  font-size:13px;line-height:1;padding:0;opacity:.7;
}
.mc-tag-chip-x:hover{opacity:1}

/* Chips de tags na lista de comentários */
.cc-tags-row{
  display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;margin-bottom:4px;
}
.cc-tag-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
  border:1px solid transparent;
}
.cc-tag-chip.t-revisar{background:#fef3c7;color:#92400e;border-color:#fde68a}
.cc-tag-chip.t-reclassificar{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}
.cc-tag-chip.t-verif-fornec{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
.cc-tag-chip.t-verif-conta{background:#cffafe;color:#155e75;border-color:#a5f3fc}
.cc-tag-chip.t-revisado{background:#dcfce7;color:#14532d;border-color:#bbf7d0}
.cc-tag-chip.t-custom{background:#f1f5f9;color:#475569;border-color:#cbd5e1}


/* ===== MOBILE: topbar compacto (só ícones nos botões novos) ===== */
@media (max-width: 900px){
  .tb-search-btn,
  .tb-analises-btn,
  .tb-insights-btn,
  .tb-compare-btn,
  .tb-pdf-btn,
  .tb-admin-btn,
  .tb-audit-btn{
    padding:6px 9px !important;
    font-size:14px !important;
    margin-left:1px !important;
    min-width:34px;
    justify-content:center;
  }
  .tb-analise-active{
    max-width:180px;
    padding:3px 7px;
    font-size:10px;
  }
  .tb-analise-active .tb-analise-name{max-width:70px}
  .tb-btn-lbl{ display:none !important; }
  /* Aumenta ligeiramente o ícone para melhor toque */
  .tb-search-btn, .tb-compare-btn, .tb-pdf-btn,
  .tb-admin-btn, .tb-audit-btn{
    line-height:1;
  }
}
@media (max-width: 480px){
  .tb-search-btn,
  .tb-compare-btn,
  .tb-pdf-btn,
  .tb-admin-btn,
  .tb-audit-btn{
    padding:5px 7px !important;
    font-size:13px !important;
  }
}


/* ===== ANÁLISES SALVAS (Entrega 1) ===== */
.tb-analises-btn{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  margin-left:2px;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.tb-analises-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35)}

/* Indicador de análise carregada no topbar */
.tb-analise-active{
  display:none;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  margin-left:6px;
  background:rgba(245,134,52,0.18);
  border:1px solid rgba(245,134,52,0.45);
  border-radius:8px;
  font-size:11px;
  color:#fff;
  max-width:280px;
  font-family:'Archivo',sans-serif;
}
.tb-analise-active.show{display:inline-flex}
.tb-analise-active .tb-analise-name{
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:140px;
}
.tb-analise-active .tb-analise-mod{
  background:rgba(245,158,11,.35);
  color:#fff;
  padding:1px 6px;
  border-radius:8px;
  font-size:9px;
  font-weight:700;
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.tb-analise-active .tb-analise-save{
  background:var(--success);
  color:#fff;
  border:none;
  padding:3px 9px;
  border-radius:6px;
  cursor:pointer;
  font-size:10px;
  font-weight:700;
  font-family:'Archivo',sans-serif;
}
.tb-analise-active .tb-analise-save:hover{background:var(--success-text)}
.tb-analise-active .tb-analise-close{
  background:rgba(255,255,255,.18);
  border:none;
  color:#fff;
  width:18px;
  height:18px;
  border-radius:50%;
  cursor:pointer;
  font-size:12px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tb-analise-active .tb-analise-close:hover{background:rgba(255,255,255,.30)}

/* Página Análises */
.an-wrap{max-width:1280px;margin:20px auto;padding:0 20px}
.an-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.an-title{font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.an-subtitle{font-size:12px;color:var(--muted)}
.an-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.an-btn{
  padding:8px 14px;border-radius:8px;border:none;cursor:pointer;
  font-size:13px;font-weight:600;transition:all .15s;
  display:inline-flex;align-items:center;gap:5px;
}
.an-btn-primary{background:var(--accent);color:#fff}
.an-btn-primary:hover{filter:brightness(1.1)}
.an-btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.an-btn-secondary:hover{background:var(--surface-3)}
.an-btn-danger{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger-text)}
.an-btn-danger:hover{background:var(--danger-bg)}

.an-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:12px;
}
.an-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;
  transition:all .15s;
}
.an-card:hover{border-color:var(--accent);background:var(--accent-bg)}
.an-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.an-card-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.3}
.an-card-mine{
  background:var(--success-bg);color:var(--success-text);
  padding:1px 6px;border-radius:8px;font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
}
.an-card-desc{font-size:11px;color:var(--muted);font-style:italic;line-height:1.4}
.an-card-meta{font-size:10px;color:var(--muted)}
.an-card-criteria{
  font-size:10px;color:var(--accent-text);font-family:'JetBrains Mono',monospace;
  background:var(--accent-bg);padding:6px 8px;border-radius:6px;
  border:1px solid var(--accent-bg-strong);
  line-height:1.4;
  word-break:break-word;
}
.an-card-actions{display:flex;gap:6px;margin-top:auto;padding-top:4px}
.an-card-btn{
  flex:1;padding:7px 10px;border-radius:6px;border:none;cursor:pointer;
  font-size:11px;font-weight:600;transition:all .15s;
}
.an-card-btn.load{background:var(--accent);color:#fff}
.an-card-btn.load:hover{filter:brightness(1.1)}
.an-card-btn.del{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger);flex:0 0 36px}
.an-card-btn.del:hover{background:var(--danger-bg)}

.an-empty{
  grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted);
  font-size:14px;font-style:italic;
  background:var(--surface);border:1px dashed var(--border);border-radius:12px;
}

/* Modal de salvar análise */
.an-save-overlay{
  position:fixed;inset:0;background:rgba(10,14,22,.55);
  display:none;align-items:center;justify-content:center;z-index:9000;
  backdrop-filter:blur(4px);
}
.an-save-overlay.open{display:flex}
.an-save-modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;width:520px;max-width:92vw;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(10,14,22,.18);
}
.an-save-hdr{
  padding:14px 18px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.an-save-title{font-size:15px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;font-family:'Archivo',sans-serif}
.an-save-cls{
  background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);
  width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;
}
.an-save-body{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.an-save-field{display:flex;flex-direction:column;gap:5px}
.an-save-field label{font-size:11px;color:#8a95b1;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.an-save-field input,.an-save-field textarea{
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:9px 11px;color:var(--text) !important;font-size:13px;outline:none;
  font-family:inherit;
}
.an-save-field input:focus,.an-save-field textarea:focus{border-color:var(--accent)}
.an-save-field textarea{min-height:60px;resize:vertical}
.an-save-counter{font-size:10px;color:#8a95b1;text-align:right;font-family:monospace}
.an-save-preview{
  background:rgba(77,163,255,.06);border:1px solid rgba(77,163,255,.15);
  border-radius:7px;padding:10px 12px;font-size:11px;color:#93c5fd;
  font-family:'JetBrains Mono',monospace;line-height:1.5;
}
.an-save-preview b{color:#cbd5e1}
.an-save-footer{
  padding:12px 18px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;
}
.an-save-mode{display:flex;gap:6px}
.an-save-mode-btn{
  padding:6px 10px;border-radius:6px;border:1px solid var(--border);
  background:rgba(255,255,255,.04);color:#8a95b1;cursor:pointer;font-size:11px;font-weight:600;
}
.an-save-mode-btn.active{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent-text)}
.an-save-mode-btn:hover:not(.active){background:var(--surface-2);color:var(--text-dim)}

/* Página Lixeira de Análises */
.tba-wrap{max-width:1280px;margin:20px auto;padding:0 20px}
.tba-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:14px;margin-bottom:8px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.tba-card-info{flex:1;min-width:200px}
.tba-card-info .name{font-size:13px;font-weight:700;color:var(--text)}
.tba-card-info .meta{font-size:11px;color:var(--muted);margin-top:2px}
.tba-card-info .deleted{font-size:10px;color:#fca5a5;margin-top:2px}
.tba-card-actions{display:flex;gap:6px}

/* Cores legíveis em fundo claro (página principal) */
.coments-page .an-wrap,
.coments-page .tba-wrap{
  color:var(--text);
}

/* ===== ANÁLISES — Entrega 2 (busca + filtros internos) ===== */
.an-toolbar{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
  flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:10px 14px;
}
.an-search-row{
  flex:1;min-width:220px;display:flex;align-items:center;gap:6px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:4px 10px;
}
.an-search-icon{font-size:14px;color:var(--muted);flex-shrink:0}
.an-search-row input{
  flex:1;background:transparent;border:none;outline:none;
  color:var(--text);font-size:13px;padding:5px 0;
}
.an-search-row input::placeholder{color:var(--muted)}
.an-search-clear{
  background:var(--surface-3);border:none;color:var(--muted);
  width:20px;height:20px;border-radius:50%;cursor:pointer;
  font-size:11px;display:none;align-items:center;justify-content:center;
}
.an-search-clear.show{display:inline-flex}
.an-search-clear:hover{background:var(--surface-3);color:var(--text)}

.an-filter-tabs{display:flex;gap:4px;background:var(--surface-3);border-radius:7px;padding:3px}
.an-filter-tab{
  padding:6px 12px;background:none;border:none;
  color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;
  border-radius:5px;transition:all .15s;
  display:inline-flex;align-items:center;gap:5px;
}
.an-filter-tab:hover{color:var(--accent-text);background:var(--accent-bg)}
.an-filter-tab.active{background:var(--accent-bg-strong);color:var(--accent-text)}
.an-filter-tab .an-tab-count{
  background:var(--border);
  padding:1px 6px;border-radius:8px;font-size:10px;font-weight:700;
}
.an-filter-tab.active .an-tab-count{background:var(--accent-bg);color:var(--accent-text)}

.an-results-info{
  font-size:11px;color:var(--muted);
  padding:0 4px;
}

/* Destaque do termo buscado */
.an-highlight{
  background:rgba(252,211,77,.35);
  color:#fbbf24;
  padding:0 2px;
  border-radius:2px;
  font-weight:700;
}

/* ===== DASHBOARD INSIGHTS (Entrega 3) ===== */
.tb-insights-btn{
  background:linear-gradient(135deg,rgba(251,146,60,.18),rgba(251,146,60,.08));
  border:1px solid rgba(251,146,60,.35);
  color:#fdba74;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  margin-left:2px;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.tb-insights-btn:hover{background:linear-gradient(135deg,rgba(251,146,60,.28),rgba(251,146,60,.15))}

.ins-wrap{max-width:1480px;margin:0 auto;padding:24px 28px 60px;overflow-y:auto;flex:1;min-height:0}
.ins-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.ins-title{
  font-size:30px;font-weight:800;color:var(--text);
  display:flex;align-items:center;gap:10px;
  font-family:'Archivo',sans-serif;letter-spacing:-0.03em;line-height:1;
  margin-bottom:8px;
}
.ins-subtitle{
  font-size:11px;color:var(--highlight-text);
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.18em;
  font-weight:600;
}

/* ===== Barra de filtros ===== */
.ins-filterbar{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:14px 16px;margin-bottom:18px;
  display:flex;flex-direction:column;gap:12px;
  box-shadow:var(--shadow);
}
.ins-fb-row{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.ins-fb-presets{display:flex;gap:6px;flex-wrap:wrap}
.ins-fb-preset{
  padding:6px 12px;background:var(--surface);border:1px solid var(--border);
  color:var(--text-dim);border-radius:7px;cursor:pointer;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;
  transition:all .15s;
}
.ins-fb-preset:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}
.ins-fb-preset.active{
  background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text);
}

.ins-fb-range{display:flex;align-items:center;gap:8px}
.ins-fb-range label{
  font-size:10px;color:var(--text-muted);font-weight:600;
  font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.1em;
}
.ins-fb-range input[type="date"]{
  background:var(--surface);border:1px solid var(--border);
  border-radius:7px;padding:6px 10px;color:var(--text) !important;
  font-size:12px;font-family:'JetBrains Mono',monospace;
}
.ins-fb-range input[type="date"]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}

.ins-fb-selects{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;
}
.ins-fb-multi{
  position:relative;background:var(--surface);
  border:1px solid var(--border);border-radius:7px;padding:7px 12px;
  cursor:pointer;font-size:12px;color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  user-select:none;transition:border-color .15s, background .15s;
}
.ins-fb-multi:hover{border-color:var(--border-strong)}
.ins-fb-multi.has-selection{border-color:var(--accent);background:var(--accent-bg)}
.ins-fb-multi-label{display:flex;flex-direction:column;flex:1;min-width:0}
.ins-fb-multi-label .lbl{
  font-size:9px;color:var(--text-muted);text-transform:uppercase;
  letter-spacing:0.1em;font-family:'JetBrains Mono',monospace;font-weight:700;
}
.ins-fb-multi-label .sel{
  font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:'Archivo',sans-serif;color:var(--text);
}
.ins-fb-multi-arrow{font-size:10px;color:var(--text-muted);transform:rotate(0deg);transition:transform .15s}
.ins-fb-multi.open .ins-fb-multi-arrow{transform:rotate(180deg)}
.ins-fb-multi-pop{
  position:absolute;top:100%;left:0;right:0;margin-top:4px;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;
  max-height:300px;overflow-y:auto;z-index:300;
  box-shadow:0 8px 24px rgba(10,14,22,.12);
  display:none;
}
.ins-fb-multi.open .ins-fb-multi-pop{display:block}
.ins-fb-multi-search{
  position:sticky;top:0;background:var(--surface);
  padding:8px;border-bottom:1px solid var(--border);
}
.ins-fb-multi-search input{
  width:100%;background:var(--surface);border:1px solid var(--border);
  border-radius:5px;padding:6px 10px;color:var(--text) !important;
  font-family:'Archivo',sans-serif;font-size:12px;outline:none;
}
.ins-fb-multi-search input:focus{border-color:var(--accent)}
.ins-fb-multi-item{
  display:flex;align-items:center;gap:8px;padding:7px 12px;
  cursor:pointer;font-size:12px;color:var(--text);font-family:'Archivo',sans-serif;
}
.ins-fb-multi-item:hover{background:var(--accent-bg)}
.ins-fb-multi-item input{margin:0}
.ins-fb-multi-actions{
  padding:8px;border-top:1px solid var(--border);
  display:flex;gap:6px;background:var(--surface-2);
}
.ins-fb-multi-actions button{
  flex:1;padding:5px 8px;background:var(--surface);border:1px solid var(--border);
  color:var(--text-dim);border-radius:5px;cursor:pointer;
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.05em;
  transition:background .15s, color .15s, border-color .15s;
}
.ins-fb-multi-actions button:hover{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}

/* ===== Blocos / cards do dashboard ===== */
.ins-block{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:0;margin-bottom:18px;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow);
}
.ins-block-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 20px;flex-wrap:wrap;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.ins-block-title{
  font-size:14px;font-weight:700;color:var(--text);
  display:flex;align-items:center;gap:10px;
  font-family:'Archivo',sans-serif;letter-spacing:-0.01em;
}
.ins-block-sub{
  font-size:10px;color:var(--text-muted);font-weight:600;
  font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.1em;
}
.ins-block-actions{display:flex;gap:6px}
.ins-block #ins-comp-content,
.ins-block #ins-multa-content,
.ins-block #ins-diaristas-content,
.ins-block .ins-insights-list,
.ins-block .ins-kpis,
.ins-block .ins-charts-grid,
.ins-block .ins-q-tabs{
  padding:18px 20px;
}
.ins-block .ins-q-tabs{padding-bottom:0}
.ins-block .ins-charts-grid{padding-top:18px}
.ins-cam-btn{
  background:var(--surface);border:1px solid var(--border);
  color:var(--text-muted);min-width:30px;height:30px;padding:0 8px;border-radius:7px;cursor:pointer;
  font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.ins-cam-btn:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}

/* ===== Tabela comparativa (Grupo × Conta) ===== */
.ins-comp-tbl{width:100%;border-collapse:collapse;font-size:12px;font-family:'Archivo',sans-serif}
.ins-comp-tbl thead th{
  background:var(--surface-2);color:var(--text-dim);
  padding:10px 12px;text-align:left;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;
  border-bottom:1px solid var(--border-strong);
}
.ins-comp-tbl thead th.num{text-align:right}
.ins-comp-tbl tbody td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text)}
.ins-comp-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:'Archivo',sans-serif;font-size:12px}
.ins-comp-tbl tbody tr.grp-row{
  background:var(--surface);font-weight:700;cursor:pointer;
  transition:background .15s;
}
.ins-comp-tbl tbody tr.grp-row:hover{background:var(--accent-bg)}
.ins-comp-tbl tbody tr.grp-row td:first-child::before{
  content:'▶';display:inline-block;margin-right:6px;
  transition:transform .15s;font-size:9px;color:var(--text-muted);
}
.ins-comp-tbl tbody tr.grp-row.expanded td:first-child::before{transform:rotate(90deg);color:var(--accent)}
.ins-comp-tbl tbody tr.conta-row{display:none;background:var(--surface-2)}
.ins-comp-tbl tbody tr.conta-row.show{display:table-row}
.ins-comp-tbl tbody tr.conta-row td:first-child{padding-left:36px;color:var(--text-dim)}
.ins-comp-tbl tbody tr.conta-row:hover{background:var(--surface-3)}
.ins-comp-tbl tbody tr.total-row{
  background:var(--dark);font-weight:800;color:#fff;
  border-top:2px solid var(--navy2);
}
.ins-comp-tbl tbody tr.total-row td{color:#fff !important}
.ins-comp-tbl .delta-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700;
  font-family:'JetBrains Mono',monospace;
}
.ins-comp-tbl .delta-chip.up{background:#fee2e0;color:#991b1b}
.ins-comp-tbl .delta-chip.down{background:#d1fae5;color:#065f46}
.ins-comp-tbl .delta-chip.neutral{background:var(--surface-3);color:var(--text-muted)}
.ins-comp-tbl td[onclick]{cursor:pointer}
.ins-comp-tbl td[onclick]:hover{background:var(--highlight-bg)}
/* Barra de modo de comparação */
.ins-comp-mode-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:8px;border-top:1px solid var(--border)}
.ins-fb-mode-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-family:'JetBrains Mono',monospace}
.ins-comp-mode-btns{display:flex;gap:6px;flex-wrap:wrap}
.ins-comp-mode-btn{
  padding:5px 12px;border-radius:6px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--text-dim);font-size:11px;font-weight:600;
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
}
.ins-comp-mode-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.ins-comp-mode-btn.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.ins-comp-custom-range{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}
.ins-comp-custom-range input[type=date]{
  border:1px solid var(--border);border-radius:6px;padding:4px 8px;
  font-size:11px;font-family:'Archivo',sans-serif;color:var(--text);background:var(--surface);
}

/* ===== Q-tabs (abas por ano) ===== */
.ins-q-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:0}
.ins-q-tab{
  background:transparent;border:none;color:var(--text-muted);
  padding:10px 16px 12px;border-bottom:2px solid transparent;
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;
  cursor:pointer;transition:color .15s, border-color .15s;
}
.ins-q-tab:hover{color:var(--text)}
.ins-q-tab.active{color:var(--accent);border-bottom-color:var(--highlight);font-weight:700}

.ins-q-tbl-wrap{
  overflow-x:auto;border:1px solid var(--border);border-radius:8px;
  background:var(--surface);
}
.ins-q-tbl{border-collapse:collapse;font-size:11px;min-width:100%;font-family:'Archivo',sans-serif;background:#fff}
.ins-q-tbl th,.ins-q-tbl td{
  padding:8px 10px;text-align:right;border-bottom:1px solid var(--border);
  font-variant-numeric:tabular-nums;
}
/* v5.1: header navy (padrão pivot table) */
.ins-q-tbl th{
  background:var(--dark);color:#fff;font-weight:700;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:0.05em;
  border-bottom:1.5px solid var(--border-strong);
}
/* v5.11: subheaders longos (JUROS E MULTA / CONTA GARANTIDA / SUBTOTAL) podem quebrar em 2 linhas */
.ins-q-tbl th.month-multa,
.ins-q-tbl th.month-encargos,
.ins-q-tbl th.month-subtotal{
  white-space:normal;word-break:break-word;font-size:9px;
  line-height:1.15;padding:4px 4px;letter-spacing:0.02em;
  text-align:center;vertical-align:middle;min-width:54px;
}
.ins-q-tbl th.filial-col,.ins-q-tbl td.filial-col{
  text-align:left;font-weight:600;background:var(--gray1);
  position:sticky;left:0;color:var(--navy);
  border-right:1px solid var(--border);
}
.ins-q-tbl tbody tr:hover td{background:var(--gray1)}
/* v4.8: cores neutras nos valores numéricos (não laranja/violet) */
/* v5.10: restringido a td para não afetar o <th> (subheader segue navy+branco do .ins-q-tbl th) */
.ins-q-tbl td.month-multa{color:var(--text);font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums}
.ins-q-tbl td.month-encargos{color:var(--text);font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums}
/* v5.9: subtotais em cinza claro com letra preta (headers continuam navy+branco) */
.ins-q-tbl .month-subtotal{background:var(--gray1);font-weight:700;color:var(--text);font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums}
.ins-q-tbl .col-total{background:var(--gray1);font-weight:700;color:var(--text);border-left:1px solid var(--border-strong);font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums}
.ins-q-tbl tbody tr.total-row td{
  background:var(--gray1);font-weight:700;color:var(--text);
  border-top:1.5px solid var(--border-strong);font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums;
}
.ins-q-tbl tbody tr.total-row td.filial-col{background:var(--gray1);color:var(--text);font-family:'Archivo',sans-serif}
.ins-q-tbl td.clickable{cursor:pointer}
.ins-q-tbl td.clickable:hover{background:var(--accent-bg) !important}
.ins-q-tbl td.zero{color:var(--text-muted);opacity:.4}
/* v4.34: célula numérica genérica (Diaristas refatorada com filiais como colunas) */
.ins-q-tbl td.num{text-align:right;font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums;color:var(--text)}
.ins-q-tbl td.num:hover{background:var(--accent-bg) !important}

/* ===== KPIs principais (cards no estilo Comercial) ===== */
.ins-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:14px;
}
.ins-kpi{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:16px 18px;
  display:flex;flex-direction:column;gap:4px;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow);
  transition:box-shadow .15s, border-color .15s;
}
.ins-kpi::after{
  content:"";position:absolute;top:0;right:0;
  width:80px;height:80px;
  background:radial-gradient(circle at top right, var(--accent-glow), transparent 70%);
  pointer-events:none;
}
.ins-kpi.clickable{cursor:pointer}
.ins-kpi.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.ins-kpi-label{
  font-size:10px;color:var(--text-muted);
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.1em;font-weight:600;
  display:flex;align-items:center;gap:6px;
  position:relative;z-index:1;
}
.ins-kpi-icon{
  display:inline-grid;place-items:center;
  width:18px;height:18px;border-radius:4px;
  background:var(--accent-bg);color:var(--accent-text);
  font-size:11px;
}
.ins-kpi-value{
  font-size:24px;font-weight:800;color:var(--text);
  font-variant-numeric:tabular-nums;
  font-family:'Archivo',sans-serif;letter-spacing:-0.02em;
  line-height:1.1;word-break:break-word;margin-top:10px;
  position:relative;z-index:1;
}
.ins-kpi-value.large{font-size:26px}
.ins-kpi-meta{
  font-size:10px;color:var(--text-dim);
  font-family:'JetBrains Mono',monospace;
  display:flex;align-items:center;gap:6px;
  margin-top:6px;
  position:relative;z-index:1;
}
.ins-kpi-delta{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700;
  font-family:'JetBrains Mono',monospace;
}
.ins-kpi-delta.up{background:var(--surface-3);color:var(--text-dim)}
.ins-kpi-delta.down{background:var(--surface-3);color:var(--text-dim)}
.ins-kpi-delta.neutral{background:var(--surface-3);color:var(--text-muted)}
.ins-kpi-cam{
  position:absolute;top:10px;right:10px;
  background:var(--surface);border:1px solid var(--border);
  color:var(--text-muted);width:26px;height:26px;border-radius:6px;cursor:pointer;
  font-size:12px;display:inline-flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;z-index:2;
}
.ins-kpi:hover .ins-kpi-cam{opacity:1}
.ins-kpi-cam:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}

/* Lista de insights inteligentes */
.ins-insights-list{
  display:flex;flex-direction:column;gap:10px;
}
.ins-insight{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 16px;background:var(--surface);
  border:1px solid var(--border);border-radius:10px;
  transition:background .15s, border-color .15s;cursor:pointer;
  position:relative;
}
.ins-insight:hover{background:var(--surface-2);border-color:var(--border-strong)}
.ins-insight.not-clickable{cursor:default}
.ins-insight.not-clickable:hover{background:var(--surface);border-color:var(--border)}
.ins-insight-icon{
  font-size:18px;flex-shrink:0;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border-radius:9px;
}
.ins-insight-icon.aumento{background:var(--danger-bg);color:var(--danger-text)}
.ins-insight-icon.queda{background:var(--success-bg);color:var(--success-text)}
.ins-insight-icon.outlier{background:var(--highlight-bg);color:var(--highlight-text)}
.ins-insight-icon.novo{background:var(--violet-bg);color:var(--violet-text)}
.ins-insight-icon.sumido{background:var(--surface-3);color:var(--text-muted)}
.ins-insight-icon.conta{background:var(--accent-bg);color:var(--accent-text)}
.ins-insight-body{flex:1;min-width:0}
.ins-insight-title{
  font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;
  font-family:'Archivo',sans-serif;letter-spacing:-0.01em;
}
.ins-insight-text{
  font-size:12px;color:var(--text-dim);line-height:1.5;
  font-family:'Archivo',sans-serif;
}
.ins-insight-text b{color:var(--text);font-weight:700}
.ins-insight-text .v{color:var(--accent-text);font-family:'JetBrains Mono',monospace;font-weight:700}
.ins-insight-text .pct.up{color:var(--danger-text);font-weight:700}
.ins-insight-text .pct.down{color:var(--success-text);font-weight:700}
.ins-insight-arrow{
  flex-shrink:0;font-size:16px;color:var(--text-muted);align-self:center;
  opacity:.5;transition:opacity .15s, color .15s;
}
.ins-insight:hover .ins-insight-arrow{opacity:1;color:var(--accent)}
.ins-insight.not-clickable .ins-insight-arrow{display:none}



/* ===== Rodapé de ações Insights ===== */
.ins-actions-footer{
  background:var(--surface);
  border:1px solid var(--border);
  border-left:4px solid var(--highlight);
  border-radius:12px;padding:18px 22px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  box-shadow:var(--shadow);
}
.ins-actions-info{
  font-size:12px;color:var(--text-dim);
  display:flex;flex-direction:column;gap:3px;
  font-family:'Archivo',sans-serif;
}
.ins-actions-info b{color:var(--text);font-size:13px;font-weight:700;letter-spacing:-0.01em}
.ins-actions-buttons{display:flex;gap:10px;flex-wrap:wrap}
.ins-action-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;background:var(--accent);
  border:1.5px solid var(--accent);color:#fff;border-radius:8px;cursor:pointer;
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;
  transition:background .15s, border-color .15s;
}
.ins-action-btn:hover{
  background:var(--accent-dim);border-color:var(--accent-dim);
}
.ins-action-btn.secondary{
  background:var(--surface);
  border:1.5px solid var(--border-strong);
  color:var(--accent-text);
}
.ins-action-btn.secondary:hover{
  background:var(--accent-bg);
  border-color:var(--accent);
}

/* ===== Gráficos ===== */
.ins-charts-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(440px, 1fr));
  gap:16px;
}
.ins-chart-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:16px 18px;
  position:relative;
  min-height:340px;
  box-shadow:var(--shadow);
}
.ins-chart-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;flex-wrap:wrap;gap:6px;
  padding-bottom:10px;border-bottom:1px solid var(--border);
}
.ins-chart-title{
  font-size:13px;font-weight:700;color:var(--text);
  display:flex;align-items:center;gap:8px;
  font-family:'Archivo',sans-serif;letter-spacing:-0.01em;
}
.ins-chart-sub{
  font-size:10px;color:var(--text-muted);font-weight:600;
  font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.1em;
}
.ins-chart-wrap{position:relative;height:280px}
.ins-chart-wrap canvas{max-width:100%;height:100% !important}
.ins-chart-empty{
  display:flex;align-items:center;justify-content:center;
  height:280px;color:var(--text-muted);font-size:12px;
  font-family:'JetBrains Mono',monospace;
}
@media (max-width: 900px){
  .ins-charts-grid{grid-template-columns:1fr}
  .ins-chart-wrap{height:240px}
}
  background:var(--surface);color:var(--text);text-align:left;padding:9px 12px;
  font-size:11px;text-transform:uppercase;letter-spacing:.3px;font-weight:700;
  border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;
  white-space:nowrap;
}
.ins-comp-tbl thead th.num{text-align:right}
.ins-comp-tbl tbody td{padding:7px 12px;border-bottom:1px solid var(--border);color:var(--text)}
.ins-comp-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:'Archivo',sans-serif;font-size:12px}
.ins-comp-tbl tbody tr.grp-row{
  background:rgba(251,146,60,.06);cursor:pointer;font-weight:700;
}
.ins-comp-tbl tbody tr.grp-row:hover{background:rgba(251,146,60,.12)}
.ins-comp-tbl tbody tr.grp-row td:first-child::before{
  content:'▶';display:inline-block;margin-right:6px;
  transform:rotate(0deg);transition:transform .15s;color:#fb923c;
  font-size:10px;
}
.ins-comp-tbl tbody tr.grp-row.expanded td:first-child::before{transform:rotate(90deg)}
.ins-comp-tbl tbody tr.conta-row{display:none}
.ins-comp-tbl tbody tr.conta-row.show{display:table-row}
.ins-comp-tbl tbody tr.conta-row td:first-child{padding-left:32px;color:var(--muted)}
.ins-comp-tbl tbody tr.conta-row:hover{background:rgba(255,255,255,.03)}
.ins-comp-tbl tbody tr.total-row{
  font-weight:800;background:var(--dark);color:#fff;border-top:2px solid var(--navy2);
}
.ins-comp-tbl tbody tr.total-row td{color:#fff !important}
.ins-comp-tbl .delta-chip{
  display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:700;
}
.ins-comp-tbl .delta-chip.up{background:#fee2e0;color:#991b1b}
.ins-comp-tbl .delta-chip.down{background:#d1fae5;color:#065f46}
.ins-comp-tbl .delta-chip.neutral{background:var(--surface-3);color:var(--text-muted)}
.ins-comp-tbl td[onclick]{cursor:pointer}
.ins-comp-tbl td[onclick]:hover{background:rgba(251,146,60,.08)}

/* ===== Quadros especiais (Multa/Encargos e Diaristas) ===== */
.ins-q-tabs{display:flex;gap:4px;margin-bottom:10px}
.ins-q-tab{
  padding:6px 14px;background:var(--surface);border:1px solid var(--border);
  color:var(--muted);border-radius:7px 7px 0 0;cursor:pointer;font-size:12px;font-weight:600;
  border-bottom:none;
}
.ins-q-tab:hover{color:var(--text)}
.ins-q-tab.active{background:rgba(251,146,60,.12);border-color:#fb923c;color:#fdba74}

.ins-q-tbl-wrap{
  overflow-x:auto;
  border:1px solid var(--border);border-radius:8px;
  background:#fff;
}
.ins-q-tbl{border-collapse:collapse;font-size:11px;min-width:100%;background:#fff}
.ins-q-tbl th,.ins-q-tbl td{
  padding:6px 8px;border-right:1px solid var(--border);
  white-space:nowrap;text-align:right;
  font-variant-numeric:tabular-nums;font-family:'JetBrains Mono',monospace;font-size:10px;
}
/* v5.1: header navy (padrão pivot table) */
.ins-q-tbl th{
  background:var(--dark);color:#fff;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;font-size:10px;
  border-bottom:1.5px solid var(--border-strong);
}
.ins-q-tbl th.filial-col,.ins-q-tbl td.filial-col{
  text-align:left;position:sticky;left:0;background:var(--gray1);
  z-index:1;color:var(--navy);font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;
  min-width:140px;border-right:1px solid var(--border);
}
.ins-q-tbl tbody tr:hover td{background:var(--gray1)}
/* v4.8: cores neutras (sem laranja/violet) */
.ins-q-tbl td.month-multa{color:var(--text)}
.ins-q-tbl td.month-encargos{color:var(--text)}
/* v5.9: subtotais cinza claro + texto preto */
.ins-q-tbl .month-subtotal{background:var(--gray1);font-weight:700;color:var(--text)}
.ins-q-tbl .col-total{background:var(--gray1);font-weight:700;color:var(--text);border-left:1px solid var(--border-strong)}
.ins-q-tbl tbody tr.total-row td{
  background:var(--gray1);font-weight:700;color:var(--text);
  border-top:1.5px solid var(--border-strong);
}
.ins-q-tbl tbody tr.total-row td.filial-col{background:var(--gray1);color:var(--text)}
.ins-q-tbl td.clickable{cursor:pointer}
.ins-q-tbl td.clickable:hover{background:var(--accent-bg) !important}
.ins-q-tbl td.zero{color:var(--muted);opacity:.4}

/* Mobile */
@media (max-width: 900px){
  .ins-fb-selects{grid-template-columns:1fr 1fr}
  .ins-fb-row{flex-direction:column;align-items:stretch}
  .ins-block{padding:10px 12px}
}


/* ===== KPIs + Insights Inteligentes (Entrega 4) ===== */
.ins-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
  margin-bottom:14px;
}
.ins-kpi{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:14px;
  display:flex;flex-direction:column;gap:4px;
  position:relative;
  transition:all .15s;
}
.ins-kpi.clickable{cursor:pointer}
.ins-kpi.clickable:hover{background:rgba(251,146,60,.05);border-color:#fb923c}
.ins-kpi-label{
  font-size:10px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.3px;font-weight:700;
  display:flex;align-items:center;gap:5px;
}
.ins-kpi-icon{font-size:13px}
.ins-kpi-value{
  font-size:20px;font-weight:700;color:var(--text);
  font-variant-numeric:tabular-nums;
  line-height:1.2;word-break:break-word;
}
.ins-kpi-value.large{font-size:22px}
.ins-kpi-meta{
  font-size:11px;color:var(--muted);
  display:flex;align-items:center;gap:5px;
  margin-top:2px;
}
.ins-kpi-delta{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 7px;border-radius:8px;font-size:11px;font-weight:700;
}
.ins-kpi-delta.up{background:rgba(148,163,184,.18);color:#cbd5e1}
.ins-kpi-delta.down{background:rgba(148,163,184,.18);color:#cbd5e1}
.ins-kpi-delta.neutral{background:rgba(148,163,184,.12);color:#94a3b8}
.ins-kpi-cam{
  position:absolute;top:8px;right:8px;
  background:var(--surface);border:1px solid var(--border);
  color:var(--muted);width:24px;height:24px;border-radius:5px;cursor:pointer;
  font-size:11px;display:inline-flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;
}
.ins-kpi:hover .ins-kpi-cam{opacity:1}
.ins-kpi-cam:hover{background:rgba(251,146,60,.15);border-color:#fb923c;color:#fdba74}

/* Lista de insights inteligentes */
.ins-insights-list{
  display:flex;flex-direction:column;gap:8px;
}
.ins-insight{
  display:flex;align-items:flex-start;gap:12px;
  padding:11px 14px;background:rgba(255,255,255,.02);
  border:1px solid var(--border);border-radius:8px;
  transition:all .15s;cursor:pointer;
  position:relative;
}
.ins-insight:hover{background:rgba(251,146,60,.05);border-color:#fb923c}
.ins-insight.not-clickable{cursor:default}
.ins-insight.not-clickable:hover{background:rgba(255,255,255,.02);border-color:var(--border)}
.ins-insight-icon{
  font-size:20px;flex-shrink:0;
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;
}
.ins-insight-icon.aumento{background:rgba(239,68,68,.12)}
.ins-insight-icon.queda{background:rgba(34,197,94,.12)}
.ins-insight-icon.outlier{background:rgba(245,158,11,.12)}
.ins-insight-icon.novo{background:rgba(167,139,250,.12)}
.ins-insight-icon.sumido{background:rgba(148,163,184,.12)}
.ins-insight-icon.conta{background:rgba(77,163,255,.12)}
.ins-insight-body{flex:1;min-width:0}
.ins-insight-title{
  font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px;
}
.ins-insight-text{
  font-size:11px;color:var(--muted);line-height:1.4;
}
.ins-insight-text b{color:var(--text);font-weight:700}
.ins-insight-text .v{color:#fdba74;font-family:'JetBrains Mono',monospace;font-weight:700}
.ins-insight-text .pct.up{color:#fca5a5;font-weight:700}
.ins-insight-text .pct.down{color:#86efac;font-weight:700}
.ins-insight-arrow{
  flex-shrink:0;font-size:14px;color:var(--muted);align-self:center;
  opacity:.5;transition:opacity .15s;
}
.ins-insight:hover .ins-insight-arrow{opacity:1;color:#fb923c}
.ins-insight.not-clickable .ins-insight-arrow{display:none}



/* ===== Rodapé de ações Insights (Entrega 6) ===== */
.ins-actions-footer{
  background:linear-gradient(135deg,rgba(251,146,60,.05),rgba(251,146,60,.02));
  border:1px solid rgba(251,146,60,.25);
  border-radius:12px;padding:16px 18px;margin-bottom:14px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
}
.ins-actions-info{
  font-size:11px;color:var(--muted);
  display:flex;flex-direction:column;gap:2px;
}
.ins-actions-info b{color:var(--text);font-size:12px}
.ins-actions-buttons{display:flex;gap:8px;flex-wrap:wrap}
.ins-action-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;background:linear-gradient(135deg,#fb923c,#ea7c1c);
  border:none;color:#fff;border-radius:8px;cursor:pointer;
  font-size:13px;font-weight:700;
  box-shadow:0 2px 6px rgba(251,146,60,.3);
  transition:all .15s;
}
.ins-action-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(251,146,60,.4);
}
.ins-action-btn.secondary{
  background:var(--surface-2);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:none;
}
.ins-action-btn.secondary:hover{
  background:var(--highlight-bg);
  border-color:var(--highlight);
}

/* ===== Gráficos (Entrega 5) ===== */
.ins-charts-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(420px, 1fr));
  gap:14px;
}
.ins-chart-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:14px;
  position:relative;
  min-height:320px;
}
.ins-chart-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;flex-wrap:wrap;gap:6px;
}
.ins-chart-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}
.ins-chart-sub{font-size:11px;color:var(--muted);font-style:italic;font-weight:400}
.ins-chart-wrap{position:relative;height:280px}
.ins-chart-wrap canvas{max-width:100%;height:100% !important}
.ins-chart-empty{
  display:flex;align-items:center;justify-content:center;
  height:280px;color:var(--muted);font-size:12px;font-style:italic;
}
@media (max-width: 900px){
  .ins-charts-grid{grid-template-columns:1fr}
  .ins-chart-wrap{height:240px}
}

/* ═══════════════════════════════════════════════════════════
   FASE B v2026.13 — Override global tema claro padrão Comercial
   Sobrepõe estilos legados de modais e componentes ainda em tema escuro
═══════════════════════════════════════════════════════════ */

/* Overlays de modal: fundo escuro translúcido com blur (padrão Comercial) */
.tg-modal-overlay,
.sa-modal-overlay,
.cp-modal-overlay,
.pdf-modal-overlay,
.sb-modal-overlay,
.adm-modal-overlay,
.an-modal-overlay,
.com-modal-overlay{
  background:rgba(10,14,22,0.55)!important;
  backdrop-filter:blur(6px)!important;
}

/* Modais (corpo claro padrão Comercial) */
.tg-modal,
.sa-modal,
.cp-modal,
.pdf-modal,
.sb-modal,
.adm-modal,
.an-modal,
.com-modal{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  box-shadow:0 20px 60px rgba(10,14,22,0.20)!important;
  color:var(--text)!important;
  font-family:'Archivo',sans-serif!important;
}

/* Modal headers */
.tg-modal-hdr,
.sa-modal-hdr,
.cp-modal-hdr,
.pdf-modal-hdr,
.sb-modal-hdr,
.adm-modal-hdr,
.an-modal-hdr,
.com-modal-hdr,
.tg-modal-header,
.sa-modal-header,
.cp-modal-header,
.pdf-modal-header,
.adm-modal-header,
.an-modal-header,
.com-modal-header{
  padding:16px 20px!important;
  border-bottom:1px solid var(--border)!important;
  background:var(--surface)!important;
  display:flex;align-items:center;justify-content:space-between;
}

/* Modal title */
.tg-modal-title,
.sa-modal-title,
.cp-modal-title,
.pdf-modal-title,
.sb-modal-title,
.adm-modal-title,
.an-modal-title,
.com-modal-title{
  font-size:15px!important;font-weight:700!important;
  color:var(--text)!important;
  font-family:'Archivo',sans-serif!important;
  letter-spacing:-0.01em!important;
}

/* Modal close button */
.tg-modal-cls,
.sa-modal-cls,
.cp-modal-cls,
.pdf-modal-cls,
.sb-modal-cls,
.adm-modal-cls,
.an-modal-cls,
.com-modal-cls{
  background:var(--surface-2)!important;
  border:1px solid var(--border)!important;
  color:var(--text-muted)!important;
  width:30px!important;height:30px!important;
  border-radius:7px!important;
  font-size:16px!important;
}
.tg-modal-cls:hover,
.sa-modal-cls:hover,
.cp-modal-cls:hover,
.pdf-modal-cls:hover,
.sb-modal-cls:hover,
.adm-modal-cls:hover,
.an-modal-cls:hover,
.com-modal-cls:hover{
  background:var(--accent-bg)!important;
  border-color:var(--accent)!important;
  color:var(--accent-text)!important;
}

/* Modal bodies */
.tg-modal-body,
.sa-modal-body,
.cp-modal-body,
.pdf-modal-body,
.sb-modal-body,
.adm-modal-body,
.an-modal-body,
.com-modal-body{
  background:var(--surface)!important;
  color:var(--text)!important;
  padding:20px!important;
}

/* Modal footer */
.tg-modal-ftr,
.sa-modal-ftr,
.cp-modal-ftr,
.pdf-modal-ftr,
.sb-modal-ftr,
.adm-modal-ftr,
.an-modal-ftr,
.com-modal-ftr,
.tg-modal-footer,
.sa-modal-footer,
.cp-modal-footer,
.pdf-modal-footer,
.adm-modal-footer,
.an-modal-footer,
.com-modal-footer{
  padding:14px 20px!important;
  border-top:1px solid var(--border)!important;
  background:var(--surface-2)!important;
  border-radius:0 0 14px 14px!important;
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
}

/* Inputs dentro de modais */
.tg-modal input[type=text],
.tg-modal input[type=date],
.tg-modal input[type=email],
.tg-modal input[type=number],
.tg-modal input[type=password],
.tg-modal select,
.tg-modal textarea,
.sa-modal input[type=text],
.sa-modal input[type=date],
.sa-modal input[type=email],
.sa-modal input[type=number],
.sa-modal input[type=password],
.sa-modal select,
.sa-modal textarea,
.cp-modal input[type=text],
.cp-modal input[type=date],
.cp-modal input[type=email],
.cp-modal input[type=number],
.cp-modal input[type=password],
.cp-modal select,
.cp-modal textarea,
.pdf-modal input[type=text],
.pdf-modal input[type=date],
.pdf-modal input[type=email],
.pdf-modal input[type=number],
.pdf-modal input[type=password],
.pdf-modal select,
.pdf-modal textarea,
.adm-modal input[type=text],
.adm-modal input[type=date],
.adm-modal input[type=email],
.adm-modal input[type=number],
.adm-modal input[type=password],
.adm-modal select,
.adm-modal textarea,
.an-modal input[type=text],
.an-modal input[type=date],
.an-modal input[type=email],
.an-modal input[type=number],
.an-modal input[type=password],
.an-modal select,
.an-modal textarea,
.com-modal input[type=text],
.com-modal input[type=date],
.com-modal input[type=email],
.com-modal input[type=number],
.com-modal input[type=password],
.com-modal select,
.com-modal textarea{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
  border-radius:7px!important;
  padding:8px 11px!important;
  font-family:'Archivo',sans-serif!important;
  font-size:13px!important;
}
.tg-modal input:focus,
.tg-modal select:focus,
.tg-modal textarea:focus,
.sa-modal input:focus,
.sa-modal select:focus,
.sa-modal textarea:focus,
.cp-modal input:focus,
.cp-modal select:focus,
.cp-modal textarea:focus,
.pdf-modal input:focus,
.pdf-modal select:focus,
.pdf-modal textarea:focus,
.adm-modal input:focus,
.adm-modal select:focus,
.adm-modal textarea:focus,
.an-modal input:focus,
.an-modal select:focus,
.an-modal textarea:focus,
.com-modal input:focus,
.com-modal select:focus,
.com-modal textarea:focus{
  outline:none!important;
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px var(--accent-bg)!important;
}

/* Labels dentro de modais */
.tg-modal label,
.sa-modal label,
.cp-modal label,
.pdf-modal label,
.adm-modal label,
.an-modal label,
.com-modal label{
  font-size:11px!important;font-weight:600!important;
  color:var(--text-dim)!important;
  font-family:'Archivo',sans-serif!important;
  display:block;margin-bottom:5px;
}

/* Modal context (caixa de info) */
.tg-modal-ctx,
.sa-modal-ctx,
.cp-modal-ctx,
.pdf-modal-ctx,
.adm-modal-ctx,
.an-modal-ctx,
.com-modal-ctx{
  background:var(--accent-bg)!important;
  border:1px solid var(--accent-bg-strong)!important;
  color:var(--accent-text)!important;
  border-radius:8px!important;
  padding:10px 14px!important;
  font-size:12px!important;
  font-family:'Archivo',sans-serif!important;
  margin-bottom:14px;
}

/* Modal botões primários e secundários */
.tg-modal-btn,
.sa-modal-btn,
.cp-modal-btn,
.pdf-modal-btn,
.adm-modal-btn,
.an-modal-btn,
.com-modal-btn,
.modal-btn{
  font-family:'Archivo',sans-serif!important;
  font-size:12px!important;font-weight:600!important;
  padding:8px 14px!important;
  border-radius:7px!important;cursor:pointer;
  transition:background .15s, border-color .15s;
}
.modal-btn-primary,
.tg-modal-btn-primary,
.sa-modal-btn-primary,
.cp-modal-btn-primary,
.pdf-modal-btn-primary,
.adm-modal-btn-primary,
.an-modal-btn-primary,
.com-modal-btn-primary{
  background:var(--accent)!important;
  border:1.5px solid var(--accent)!important;
  color:#fff!important;
}
.modal-btn-primary:hover,
.tg-modal-btn-primary:hover,
.sa-modal-btn-primary:hover,
.cp-modal-btn-primary:hover,
.pdf-modal-btn-primary:hover,
.adm-modal-btn-primary:hover,
.an-modal-btn-primary:hover,
.com-modal-btn-primary:hover{
  background:var(--accent-dim)!important;
  border-color:var(--accent-dim)!important;
}
.modal-btn-secondary,
.tg-modal-btn-secondary,
.sa-modal-btn-secondary,
.cp-modal-btn-secondary,
.pdf-modal-btn-secondary,
.adm-modal-btn-secondary,
.an-modal-btn-secondary,
.com-modal-btn-secondary,
.tg-modal-btn-cancel,
.sa-modal-btn-cancel,
.cp-modal-btn-cancel,
.pdf-modal-btn-cancel,
.adm-modal-btn-cancel,
.an-modal-btn-cancel,
.com-modal-btn-cancel{
  background:var(--surface)!important;
  border:1.5px solid var(--border-strong)!important;
  color:var(--text-dim)!important;
}
.modal-btn-secondary:hover,
.tg-modal-btn-secondary:hover{
  background:var(--surface-2)!important;
  border-color:var(--accent)!important;
  color:var(--accent-text)!important;
}

/* Tabelas genéricas dentro de modais */
.tg-modal table,
.sa-modal table,
.cp-modal table,
.pdf-modal table,
.adm-modal table,
.an-modal table,
.com-modal table{
  width:100%;
  border-collapse:collapse;
  font-family:'Archivo',sans-serif;
  font-size:12px;
  background:var(--surface)!important;
  color:var(--text)!important;
}
.tg-modal thead th,
.sa-modal thead th,
.cp-modal thead th,
.pdf-modal thead th,
.adm-modal thead th,
.an-modal thead th,
.com-modal thead th{
  background:var(--surface-2)!important;
  border-bottom:2px solid var(--border-strong)!important;
  color:var(--text-muted)!important;
  font-family:'JetBrains Mono',monospace!important;
  font-size:10px!important;
  text-transform:uppercase;letter-spacing:0.08em;
  font-weight:700;padding:10px 12px;text-align:left;
}
.tg-modal tbody td,
.sa-modal tbody td,
.cp-modal tbody td,
.pdf-modal tbody td,
.adm-modal tbody td,
.an-modal tbody td,
.com-modal tbody td{
  padding:9px 12px;
  border-bottom:1px solid var(--border)!important;
  color:var(--text)!important;
}
.tg-modal tbody tr:hover,
.sa-modal tbody tr:hover,
.cp-modal tbody tr:hover,
.pdf-modal tbody tr:hover,
.adm-modal tbody tr:hover,
.an-modal tbody tr:hover,
.com-modal tbody tr:hover{
  background:var(--surface-2)!important;
}

/* ═══════════════════════════════════════════════════════════
   FASE B — Página Análises Salvas (light theme)
═══════════════════════════════════════════════════════════ */
#page-analises,
#page-analises-lixeira,
#page-coments,
#page-trash,
#page-audit{
  background:transparent!important;
  color:var(--text)!important;
  overflow:auto!important;
}

/* Wraps das páginas — fundo claro com gradiente sutil */
.an-wrap,
.com-wrap,
.audit-wrap{
  background:transparent!important;
  color:var(--text)!important;
  max-width:1280px;margin:0 auto;padding:28px;
}

.an-title,
.com-title,
.audit-title{
  font-family:'Archivo',sans-serif!important;
  font-size:28px!important;font-weight:800!important;
  color:var(--text)!important;
  letter-spacing:-0.03em!important;
}
.an-subtitle,
.com-subtitle,
.audit-subtitle{
  font-family:'JetBrains Mono',monospace!important;
  font-size:11px!important;
  color:var(--highlight-text)!important;
  text-transform:uppercase;letter-spacing:0.18em;font-weight:600;
}

/* Cards de análise/comentário/auditoria com tema claro */
.an-card,
.com-card,
.audit-item{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  box-shadow:var(--shadow);
  color:var(--text)!important;
  font-family:'Archivo',sans-serif!important;
}
.an-card:hover,
.com-card:hover,
.audit-item:hover{
  border-color:var(--border-strong)!important;
  box-shadow:var(--shadow-md);
}

/* Botões dessas páginas */
.an-btn,
.com-btn,
.audit-btn{
  font-family:'Archivo',sans-serif!important;
  background:var(--accent)!important;
  color:#fff!important;
  border:1.5px solid var(--accent)!important;
  border-radius:7px!important;
  padding:7px 14px!important;
  font-size:12px!important;font-weight:600!important;
}
.an-btn:hover,.com-btn:hover,.audit-btn:hover{background:var(--accent-dim)!important}
.an-btn.secondary,
.com-btn.secondary,
.audit-btn.secondary{
  background:var(--surface)!important;color:var(--accent-text)!important;
  border-color:var(--border-strong)!important;
}
.an-btn.secondary:hover,
.com-btn.secondary:hover,
.audit-btn.secondary:hover{
  border-color:var(--accent)!important;background:var(--accent-bg)!important;
}
.an-btn.danger,
.com-btn.danger,
.audit-btn.danger{
  background:var(--surface)!important;color:var(--danger-text)!important;
  border-color:var(--danger)!important;
}
.an-btn.danger:hover,
.com-btn.danger:hover,
.audit-btn.danger:hover{
  background:var(--danger-bg)!important;
}


/* ===================== ENDIVIDAMENTO (v6.0) ===================== */
.endiv-wrap{max-width:1480px;margin:0 auto;padding:24px 28px 60px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;width:100%;box-sizing:border-box}
/* v7.3: wrapper para scroll horizontal da tabela sem vazar pra página */
.endiv-tbl-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.endiv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.endiv-title{font-size:28px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:10px;font-family:'Archivo',sans-serif;letter-spacing:-0.02em;line-height:1}
.endiv-subtitle{font-size:11px;color:var(--text-dim);margin-top:6px;font-family:'JetBrains Mono',monospace}
.endiv-header-actions{display:flex;gap:6px;flex-wrap:wrap}
.endiv-action-btn{
  background:var(--surface);border:1px solid var(--border);
  color:var(--text);font-size:11px;font-weight:700;padding:7px 14px;
  border-radius:7px;cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;
  white-space:nowrap;
}
.endiv-action-btn:hover{background:var(--dark);color:#fff;border-color:var(--dark)}

.endiv-filterbar{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.endiv-fb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.endiv-fb-tipo{display:flex;gap:4px;background:var(--surface-2);padding:3px;border-radius:7px}
.endiv-fb-tipo-btn{
  padding:5px 14px;border-radius:5px;border:none;background:transparent;
  color:var(--text-dim);font-size:11px;font-weight:600;cursor:pointer;
  font-family:'Archivo',sans-serif;transition:all .15s;
}
.endiv-fb-tipo-btn:hover{color:var(--text)}
.endiv-fb-tipo-btn.active{background:var(--dark);color:#fff}
.endiv-fb-selects{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.endiv-fb-multi{display:flex;flex-direction:column;gap:3px}
.endiv-fb-multi-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-family:'JetBrains Mono',monospace}
.endiv-fb-multi-sel{
  min-width:180px;border:1px solid var(--border);border-radius:6px;padding:4px 6px;
  font-size:11px;font-family:'Archivo',sans-serif;background:var(--surface);color:var(--text);
}
.endiv-fb-sim-row{padding-top:8px;border-top:1px solid var(--border)}
.endiv-fb-mode-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.endiv-fb-sim-row input[type=month]{
  border:1px solid var(--border);border-radius:6px;padding:5px 8px;
  font-size:11px;font-family:'Archivo',sans-serif;color:var(--text);background:var(--surface);
}
.endiv-sim-info{font-size:11px;color:var(--accent-text);font-family:'JetBrains Mono',monospace;font-style:italic}

.endiv-kpis{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:10px;margin-bottom:14px}
.endiv-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.endiv-kpi-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:6px}
.endiv-kpi-value{font-size:20px;font-weight:800;font-family:'Archivo',sans-serif;font-variant-numeric:tabular-nums;line-height:1.1}

.endiv-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}
.endiv-block-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);gap:10px;flex-wrap:wrap}
.endiv-block-title{font-size:13px;font-weight:700;color:var(--text);font-family:'Archivo',sans-serif}
.endiv-block-sub{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace}
.endiv-block-body{padding:16px 18px}
.endiv-chart-wrap{position:relative;height:340px;width:100%}
.endiv-loading{padding:24px;text-align:center;color:var(--text-dim);font-size:12px;font-style:italic}

.endiv-dists{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:14px;margin-bottom:14px}
.endiv-dists .endiv-block{margin-bottom:0}
.endiv-dist-tbl{width:100%;border-collapse:collapse;font-size:11px;font-family:'Archivo',sans-serif}
.endiv-dist-tbl thead th{background:var(--dark);color:#fff;padding:6px 8px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:'JetBrains Mono',monospace}
.endiv-dist-tbl thead th.num{text-align:right}
.endiv-dist-tbl tbody td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text)}
.endiv-dist-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums}
.endiv-dist-tbl tbody tr.total-row td{background:var(--gray1);font-weight:700;border-top:1.5px solid var(--border-strong)}

.endiv-tbl{width:100%;border-collapse:collapse;font-size:11px;font-family:'Archivo',sans-serif}
.endiv-tbl thead th{background:var(--dark);color:#fff;padding:8px 10px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.endiv-tbl thead th.num{text-align:right}
.endiv-tbl tbody td{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}
.endiv-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums}
.endiv-tbl tbody tr:hover td{background:var(--gray1)}
.endiv-tbl tbody tr.total-row td{background:var(--gray1);font-weight:700;border-top:1.5px solid var(--border-strong)}
.endiv-tag{display:inline-block;padding:2px 7px;border-radius:8px;font-size:9px;font-weight:700;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.endiv-tag.bacen{background:rgba(46,71,111,.12);color:var(--navy)}
.endiv-tag.terc{background:rgba(251,146,60,.15);color:#9a3412}
/* ===================== FIM ENDIVIDAMENTO ===================== */

/* ===== Endividamento — CRUD manual (v6.1) ===== */
.endiv-action-btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}
.endiv-action-btn.primary:hover{background:var(--navy2);border-color:var(--navy2)}
.endiv-action-btn.danger{background:#fee2e0;color:#991b1b;border-color:#fecaca}
.endiv-action-btn.danger:hover{background:#fecaca;color:#7f1d1d}
.endiv-row-edit{background:transparent;border:none;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;transition:background .12s}
.endiv-row-edit:hover{background:var(--accent-bg)}

.endiv-op-modal{
  position:fixed;inset:0;background:rgba(15,23,42,.55);
  display:none;align-items:center;justify-content:center;
  z-index:9000;padding:20px;
}
.endiv-op-modal.open{display:flex}
.endiv-op-box{
  background:#fff;border-radius:12px;width:100%;max-width:880px;
  max-height:92vh;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.endiv-op-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border);background:var(--dark);color:#fff;
}
.endiv-op-title{font-size:16px;font-weight:800;font-family:'Archivo',sans-serif}
.endiv-op-close{
  background:none;border:none;color:#fff;font-size:22px;cursor:pointer;
  line-height:1;padding:0 4px;opacity:.8;
}
.endiv-op-close:hover{opacity:1}
.endiv-op-body{padding:18px 20px;overflow-y:auto;flex:1}
.endiv-op-grid{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:14px 16px;margin-top:14px;
}
.endiv-op-field{display:flex;flex-direction:column;gap:5px}
.endiv-op-label{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--text-dim);font-family:'JetBrains Mono',monospace;
}
.endiv-op-field input,.endiv-op-field select{
  border:1px solid var(--border);border-radius:6px;padding:8px 10px;
  font-size:12px;font-family:'Archivo',sans-serif;background:#fff;color:var(--text);
  transition:border-color .15s,box-shadow .15s;
}
.endiv-op-field input:focus,.endiv-op-field select:focus{
  outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(46,71,111,.12);
}
.endiv-op-hint{
  font-size:10px;color:var(--text-muted);font-style:italic;
  font-family:'JetBrains Mono',monospace;margin-top:2px;
}
.endiv-op-computed{
  font-size:13px;font-weight:700;color:var(--navy);
  background:var(--accent-bg);border:1px dashed var(--border);
  padding:8px 10px;border-radius:6px;font-family:'Archivo',sans-serif;
  font-variant-numeric:tabular-nums;
}
.endiv-op-footer{
  display:flex;align-items:center;gap:8px;
  padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);
}

/* ===== Endividamento — mobile (v6.5) ===== */
@media (max-width:768px){
  .endiv-wrap{padding:14px 12px 40px}
  .endiv-header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}
  .endiv-title{font-size:22px}
  .endiv-subtitle{font-size:10px;line-height:1.4}
  .endiv-header-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
  .endiv-action-btn{font-size:10px;padding:8px 10px;text-align:center;white-space:normal}
  .endiv-action-btn.primary{grid-column:1/-1}

  .endiv-filterbar{padding:10px 12px;gap:8px}
  .endiv-fb-row{flex-direction:column;align-items:stretch;gap:8px}
  .endiv-fb-tipo{align-self:stretch}
  .endiv-fb-tipo-btn{flex:1;padding:7px 8px;font-size:11px}
  .endiv-fb-selects{flex-direction:column;gap:8px}
  .endiv-fb-multi-sel{min-width:0;width:100%}
  .endiv-fb-sim-row{flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}
  .endiv-fb-sim-row input[type=month]{flex:1;min-width:140px}
  .endiv-sim-info{flex-basis:100%;font-size:10px}

  .endiv-kpis{grid-template-columns:repeat(2,1fr);gap:8px}
  .endiv-kpi{padding:10px 12px}
  .endiv-kpi-label{font-size:9px;margin-bottom:4px}
  .endiv-kpi-value{font-size:16px}

  .endiv-block{margin-bottom:10px;border-radius:8px}
  .endiv-block-head{padding:10px 12px;flex-wrap:wrap;gap:6px}
  .endiv-block-title{font-size:12px}
  .endiv-block-sub{font-size:9px;width:100%}
  .endiv-block-body{padding:12px}
  .endiv-chart-wrap{height:240px}

  .endiv-dists{grid-template-columns:1fr;gap:10px;margin-bottom:10px}
  .endiv-dist-tbl thead th{padding:4px 6px;font-size:8px}
  .endiv-dist-tbl tbody td{padding:4px 6px;font-size:10px}

  .endiv-tbl thead th{padding:6px 8px;font-size:8px}
  .endiv-tbl tbody td{padding:5px 8px;font-size:10px}
  .endiv-tag{padding:1px 5px;font-size:8px}

  /* Modal de cadastro ocupando tela toda */
  .endiv-op-modal{padding:0;align-items:stretch}
  .endiv-op-box{max-width:none;max-height:none;height:100vh;border-radius:0}
  .endiv-op-header{padding:14px 16px}
  .endiv-op-title{font-size:14px}
  .endiv-op-body{padding:14px 16px}
  .endiv-op-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}
  .endiv-op-field input,.endiv-op-field select{font-size:13px;padding:9px 10px}
  .endiv-op-footer{padding:10px 14px;flex-wrap:wrap}
  .endiv-op-footer .endiv-action-btn{flex:1;min-width:80px}
}

@media (max-width:480px){
  .endiv-wrap{padding:10px 8px 32px}
  .endiv-title{font-size:18px}
  .endiv-header-actions{grid-template-columns:1fr 1fr}
  .endiv-kpis{grid-template-columns:1fr 1fr}
  .endiv-kpi-value{font-size:14px}
  .endiv-chart-wrap{height:200px}
  .endiv-tbl thead th{font-size:7px;padding:4px 5px}
  .endiv-tbl tbody td{font-size:9px;padding:4px 5px}
  .endiv-row-edit{font-size:12px;padding:1px 4px}
  .endiv-op-footer{flex-direction:column;align-items:stretch}
  .endiv-op-footer .endiv-action-btn{width:100%}
  .endiv-op-footer .endiv-action-btn.danger{order:99}
}

/* ===== Endividamento — botões export da tabela (v6.6) ===== */
.endiv-table-titlebox{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.endiv-table-actions{display:flex;gap:5px;flex-wrap:wrap}
.endiv-tbl-export-btn{
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  font-size:10px;font-weight:700;padding:5px 10px;border-radius:6px;
  cursor:pointer;font-family:'Archivo',sans-serif;transition:all .15s;white-space:nowrap;
}
.endiv-tbl-export-btn:hover{background:var(--dark);color:#fff;border-color:var(--dark)}

@media (max-width:768px){
  .endiv-table-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
  .endiv-tbl-export-btn{font-size:10px;padding:6px 4px;text-align:center}
}

/* ===== Endividamento — Sort + Filtros tabela (v6.7) ===== */
.endiv-tbl-toolbar{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;
}
.endiv-tbl-search{
  flex:1;min-width:180px;padding:7px 12px;font-size:12px;
  border:1px solid var(--border);border-radius:6px;
  font-family:'Archivo',sans-serif;background:var(--surface);
}
.endiv-tbl-search:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(46,71,111,.12)}
.endiv-tbl-clear{
  background:#fee2e0;border:1px solid #fecaca;color:#991b1b;
  font-size:11px;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer;
  font-family:'Archivo',sans-serif;transition:all .15s;
}
.endiv-tbl-clear:hover{background:#fecaca}

.endiv-tbl thead th.endiv-th{
  position:sticky;top:0;background:var(--dark);color:#fff;
  user-select:none;padding:8px 10px;text-align:left;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-family:'JetBrains Mono',monospace;white-space:nowrap;
}
.endiv-tbl thead th.endiv-th.num{text-align:right}
.endiv-th-label{cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.endiv-th-label:hover{opacity:.85}
.endiv-sort{font-size:10px;opacity:.5;transition:opacity .15s}
.endiv-sort.active{opacity:1;color:#fb923c}
.endiv-th-filt{
  background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;
  font-size:9px;padding:1px 5px;border-radius:3px;cursor:pointer;margin-left:4px;
  transition:all .15s;line-height:1;
}
.endiv-th-filt:hover{background:rgba(255,255,255,.18);border-color:#fff}
.endiv-th-filt.active{background:#fb923c;border-color:#fb923c;color:#fff}

.endiv-filt-popup{
  position:absolute;background:#fff;border:1px solid var(--border);
  border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.18);
  min-width:240px;max-width:320px;z-index:9500;
  display:flex;flex-direction:column;overflow:hidden;
}
.endiv-filt-head{
  display:flex;align-items:center;gap:4px;padding:8px;
  border-bottom:1px solid var(--border);background:var(--surface-2);
}
.endiv-filt-search{
  flex:1;border:1px solid var(--border);border-radius:5px;padding:5px 8px;
  font-size:11px;font-family:'Archivo',sans-serif;min-width:0;
}
.endiv-filt-search:focus{outline:none;border-color:var(--navy)}
.endiv-filt-action{
  background:#fff;border:1px solid var(--border);font-size:10px;
  padding:5px 8px;border-radius:4px;cursor:pointer;font-weight:600;
  font-family:'Archivo',sans-serif;color:var(--text);
}
.endiv-filt-action:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.endiv-filt-list{
  max-height:260px;overflow-y:auto;padding:6px 0;
}
.endiv-filt-item{
  display:flex;align-items:center;gap:7px;padding:5px 12px;font-size:12px;
  cursor:pointer;font-family:'Archivo',sans-serif;color:var(--text);
}
.endiv-filt-item:hover{background:var(--accent-bg)}
.endiv-filt-item input{cursor:pointer;accent-color:#fb923c}
.endiv-filt-foot{
  padding:8px;border-top:1px solid var(--border);background:var(--surface-2);
  display:flex;justify-content:flex-end;
}
.endiv-filt-foot .endiv-action-btn{font-size:10px;padding:5px 12px}

@media (max-width:768px){
  .endiv-tbl-toolbar{flex-direction:column;align-items:stretch}
  .endiv-tbl-search{min-width:0}
  .endiv-filt-popup{min-width:220px;max-width:90vw}
}

/* ===== Endividamento — chips de filtros ativos (v6.8) ===== */
.endiv-filt-chips{
  display:flex;flex-wrap:wrap;gap:5px;width:100%;margin-top:6px;
}
.endiv-filt-chip{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(251,146,60,.14);border:1px solid rgba(251,146,60,.4);
  color:#9a3412;font-size:10px;font-weight:600;
  padding:3px 8px;border-radius:12px;font-family:'Archivo',sans-serif;
}
.endiv-filt-chip b{font-weight:800;color:#7c2d12}
.endiv-filt-chip-x{
  background:transparent;border:none;color:#9a3412;font-size:13px;line-height:1;
  cursor:pointer;padding:0 0 0 2px;font-weight:700;opacity:.7;
}
.endiv-filt-chip-x:hover{opacity:1;color:#7c2d12}

/* ===== Endividamento — caixa alta nas células categóricas (v6.9) ===== */
.endiv-tbl tbody td:not(.num):not(:last-child){
  text-transform:uppercase;
}
.endiv-tbl tbody td .endiv-tag{text-transform:uppercase}
/* Popup de filtro: valores em caps */
.endiv-filt-item{text-transform:uppercase;letter-spacing:.02em}
.endiv-filt-chip b{text-transform:uppercase}

/* ===== Endividamento — tabela "Por Credor" + mobile reforçado (v7.0) ===== */
.endiv-cred-tbl thead th.endiv-th{cursor:pointer}
.endiv-cred-tbl tbody td{padding:7px 10px}

/* Mobile reforçado: bloco-head com filtros internos empilha melhor */
@media (max-width:768px){
  .endiv-block-head{flex-direction:column;align-items:stretch;gap:8px}
  .endiv-block-head .endiv-fb-tipo{align-self:stretch;width:100%}
  .endiv-block-head .endiv-fb-tipo-btn{flex:1;font-size:10px;padding:6px 4px}

  /* Coluna SISTEMA: garante visibilidade — tabela rola horizontal */
  .endiv-tbl{min-width:900px}
  .endiv-cred-tbl{min-width:640px}

  /* Chips menores no mobile */
  .endiv-filt-chip{font-size:9px;padding:2px 6px}
  .endiv-filt-chip-x{font-size:12px}

  /* Toolbar */
  .endiv-tbl-toolbar .endiv-tbl-clear{align-self:flex-start}

  /* Sort/filter no header: botão filt mais clicável */
  .endiv-th-filt{padding:2px 7px;font-size:10px}

  /* Popup centrado e mais compacto */
  .endiv-filt-popup{
    position:fixed!important;left:5vw!important;right:5vw!important;
    top:10vh!important;max-width:none!important;width:auto;
    max-height:70vh;
  }
  .endiv-filt-list{max-height:50vh}
}

@media (max-width:480px){
  .endiv-tbl{min-width:780px}
  .endiv-cred-tbl{min-width:560px}
  .endiv-block-head .endiv-fb-tipo-btn{font-size:9px}
}

/* ===== Endividamento — aviso de duplicatas (v7.1) ===== */
.endiv-dup-warn{
  display:inline-block;background:#fee2e0;color:#991b1b;
  border:1px solid #fecaca;padding:2px 8px;border-radius:6px;
  font-size:11px;font-weight:700;margin-left:6px;
}
.endiv-dup-btn{
  background:#991b1b;color:#fff;border:none;border-radius:4px;
  font-size:10px;font-weight:700;padding:2px 8px;cursor:pointer;
  margin-left:4px;font-family:'Archivo',sans-serif;
}
.endiv-dup-btn:hover{background:#7f1d1d}
