@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;0,14..32,900;1,14..32,400&display=swap');/* ════════════════════════════════════════════════════════════════
   Nacional Vision — Design Tokens (Etapa 1)
   Fonte única de verdade para o redesign visual.
   Tokens com prefixo --nv-* para não colidir com os tokens legados.
   Aditivo: não remove nem sobrescreve estilos antigos.
   Objetivo visual: Stripe Dashboard + Power BI moderno + Nacional Vision.
════════════════════════════════════════════════════════════════ */

:root {
  /* ─── FUNDOS ─── */
  --nv-bg: #f8fafc;
  --nv-surface: #ffffff;
  --nv-surface-subtle: #f1f5f9;
  --nv-surface-muted: #f8fafc;

  /* ─── TEXTO ─── */
  --nv-text: #0f172a;
  --nv-text-muted: #64748b;
  --nv-text-soft: #94a3b8;
  --nv-text-inverse: #ffffff;

  /* ─── BORDAS ─── */
  --nv-border: #e2e8f0;
  --nv-border-strong: #cbd5e1;

  /* ─── MARCA — Nacional Vision (azul corporativo) ─── */
  --nv-blue: #2563eb;
  --nv-blue-strong: #1e40af;
  --nv-blue-soft: #eff6ff;
  --nv-blue-border: rgba(37, 99, 235, 0.28);

  /* ─── MARCA — Nacional Carnes (vinho) ─── */
  --nv-brand: #8b1d18;
  --nv-brand-soft: #fef2f2;
  --nv-brand-border: rgba(139, 29, 24, 0.22);

  /* ─── SEMÂNTICAS ─── */
  --nv-success: #16a34a;
  --nv-success-soft: #f0fdf4;
  --nv-success-border: rgba(22, 163, 74, 0.24);

  --nv-warning: #f59e0b;
  --nv-warning-soft: #fffbeb;
  --nv-warning-border: rgba(245, 158, 11, 0.26);

  --nv-danger: #dc2626;
  --nv-danger-soft: #fef2f2;
  --nv-danger-border: rgba(220, 38, 38, 0.24);

  /* ─── RAIOS ─── */
  --nv-radius-sm: 8px;
  --nv-radius-md: 12px;
  --nv-radius-lg: 16px;
  --nv-radius-card: 18px;
  --nv-radius-pill: 999px;

  /* ─── ESPAÇAMENTO (escala fixa 4/8/12/16/24/32) ─── */
  --nv-space-1: 4px;
  --nv-space-2: 8px;
  --nv-space-3: 12px;
  --nv-space-4: 16px;
  --nv-space-5: 20px;
  --nv-space-6: 24px;
  --nv-space-8: 32px;

  /* ─── TIPOGRAFIA ─── */
  --nv-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --nv-text-page-title: clamp(24px, 2.2vw, 30px);
  --nv-text-section: clamp(16px, 1.4vw, 20px);
  --nv-text-value: clamp(22px, 1.9vw, 30px);
  --nv-text-body: 14px;
  --nv-text-table: 13px;
  --nv-text-label: 11px;

  /* ─── SOMBRAS ─── */
  --nv-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
  --nv-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --nv-shadow-card: 0 8px 24px rgba(15, 23, 42, 0.06);
  --nv-shadow-md: 0 12px 32px rgba(15, 23, 42, 0.08);

  /* ─── TRANSIÇÕES ─── */
  --nv-transition: 0.18s ease;

  /* ─── LAYOUT ─── */
  --nv-sidebar-width: 236px;
  --nv-content-max: 1720px;

  /* ─── GRAFICOS ─── */
  --nv-chart-blue: #2563eb;
  --nv-chart-blue-2: #60a5fa;
  --nv-chart-green: #16a34a;
  --nv-chart-amber: #f59e0b;
  --nv-chart-red: #ef4444;
  --nv-chart-grid: rgba(148, 163, 184, 0.22);
  --nv-chart-axis: #94a3b8;
}

/* ─── DARK THEME (quando data-theme='dark') ───
   Espelha apenas os tokens de superfície/texto para que componentes
   novos (--nv-*) acompanhem o tema sem depender de !important. */
:root[data-theme='dark'] {
  --nv-bg: #0d1220;
  --nv-surface: #111827;
  --nv-surface-subtle: #161f32;
  --nv-surface-muted: #0d1220;

  --nv-text: #f0f6ff;
  --nv-text-muted: #8ba3c0;
  --nv-text-soft: #4a607a;

  --nv-border: rgba(255, 255, 255, 0.08);
  --nv-border-strong: rgba(255, 255, 255, 0.14);

  --nv-blue-soft: rgba(37, 99, 235, 0.16);
  --nv-brand-soft: rgba(139, 29, 24, 0.16);
  --nv-success-soft: rgba(22, 163, 74, 0.14);
  --nv-warning-soft: rgba(245, 158, 11, 0.14);
  --nv-danger-soft: rgba(220, 38, 38, 0.14);

  --nv-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.4);
  --nv-shadow-md: 0 12px 32px rgba(0, 0, 0, 0.45);

  --nv-chart-grid: rgba(148, 163, 184, 0.16);
}
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — colors.css (camada aditiva)
   ─────────────────────────────────────────────────────────────────
   NÃO redefine os tokens --nv-* do tokens.css. Apenas:
     • documenta a paleta oficial (referência rápida);
     • adiciona uma SEQUÊNCIA categórica para gráficos (--nv-seq-*);
     • expõe a paleta como classes utilitárias de cor (texto/fundo/borda).
   Carregado DEPOIS de tokens.css (ver main.tsx).
═══════════════════════════════════════════════════════════════════

   PALETA OFICIAL (definida em tokens.css — não mexer aqui):
   ┌──────────────────────────────┬──────────────────────────────────┐
   │ MARCA — Nacional Vision      │ --nv-blue / --nv-blue-strong      │
   │ MARCA — Nacional Carnes      │ --nv-brand (vinho #8b1d18)        │
   │ Sucesso                      │ --nv-success (#16a34a)            │
   │ Aviso                        │ --nv-warning (#f59e0b)            │
   │ Perigo                       │ --nv-danger  (#dc2626)            │
   │ Fundo / superfície / sutil   │ --nv-bg / --nv-surface / *-subtle │
   │ Texto / muted / soft         │ --nv-text / *-muted / *-soft      │
   │ Borda / borda forte          │ --nv-border / --nv-border-strong  │
   └──────────────────────────────┴──────────────────────────────────┘
═══════════════════════════════════════════════════════════════════ */

:root {
  /* ─── SEQUÊNCIA CATEGÓRICA PARA GRÁFICOS ───
     Use em ordem: série 1 = --nv-seq-1, série 2 = --nv-seq-2, ...
     Acompanha o tema (gráficos sempre legíveis em dark/light). */
  --nv-seq-1: #2563eb;
  --nv-seq-2: #16a34a;
  --nv-seq-3: #f59e0b;
  --nv-seq-4: #8b1d18;
  --nv-seq-5: #0ea5e9;
  --nv-seq-6: #9333ea;
  --nv-seq-7: #db2777;
  --nv-seq-8: #475569;
}

/* ─── UTILITÁRIOS DE COR DE TEXTO ───
   (nv-muted / nv-text-success / nv-text-warning / nv-text-danger já
    existem em base.css; estes completam a série.) */
.nv-text-blue { color: var(--nv-blue); }
.nv-text-brand { color: var(--nv-brand); }
.nv-text-soft { color: var(--nv-text-soft); }
.nv-text-inverse { color: var(--nv-text-inverse); }

/* ─── UTILITÁRIOS DE COR DE FUNDO (suaves) ─── */
.nv-bg-base { background: var(--nv-bg); }
.nv-bg-surface { background: var(--nv-surface); }
.nv-bg-subtle { background: var(--nv-surface-subtle); }
.nv-bg-muted { background: var(--nv-surface-muted); }
.nv-bg-blue-soft { background: var(--nv-blue-soft); }
.nv-bg-brand-soft { background: var(--nv-brand-soft); }
.nv-bg-success-soft { background: var(--nv-success-soft); }
.nv-bg-warning-soft { background: var(--nv-warning-soft); }
.nv-bg-danger-soft { background: var(--nv-danger-soft); }

/* ─── UTILITÁRIOS DE BORDA ─── */
.nv-border-default { border: 1px solid var(--nv-border); }
.nv-border-strong { border: 1px solid var(--nv-border-strong); }
.nv-border-blue { border: 1px solid var(--nv-blue-border); }
.nv-border-bottom { border-bottom: 1px solid var(--nv-border); }
.nv-border-top { border-top: 1px solid var(--nv-border); }
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — typography.css (camada aditiva)
   ─────────────────────────────────────────────────────────────────
   Escala tipográfica (tokens definidos em tokens.css):
     --nv-text-page-title  clamp(24,2.2vw,30)   título de página
     --nv-text-section     clamp(16,1.4vw,20)   título de seção
     --nv-text-value       clamp(22,1.9vw,30)   valor de KPI
     --nv-text-body        14px                  corpo padrão
     --nv-text-table       13px                  células de tabela
     --nv-text-label       11px                  rótulos/eyebrows
   Aqui apenas EXPOMOS a escala como classes utilitárias reutilizáveis.
═══════════════════════════════════════════════════════════════════ */

.nv-h1 {
  margin: 0;
  font-size: var(--nv-text-page-title);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.nv-h2 {
  margin: 0;
  font-size: var(--nv-text-section);
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.nv-value {
  font-size: var(--nv-text-value);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
  font-variant-numeric: tabular-nums;
}

.nv-lead {
  font-size: 16px;
  line-height: 1.5;
  color: var(--nv-text-muted);
}

.nv-body {
  font-size: var(--nv-text-body);
  line-height: 1.5;
  color: var(--nv-text);
}

.nv-table-text {
  font-size: var(--nv-text-table);
  line-height: 1.4;
}

.nv-label {
  color: var(--nv-text-muted);
  font-size: var(--nv-text-label);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

/* Números sempre tabulares (alinhamento de colunas) */
.nv-mono { font-variant-numeric: tabular-nums; }

/* Trunca texto em uma linha com reticências */
.nv-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Limita a N linhas (classe utilitária: .nv-clamp-2) */
.nv-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — spacing.css (camada aditiva)
   ─────────────────────────────────────────────────────────────────
   Escala de espaçamento fixa (definida em tokens.css):
     --nv-space-1 = 4px     --nv-space-4 = 16px
     --nv-space-2 = 8px     --nv-space-5 = 20px
     --nv-space-3 = 12px    --nv-space-6 = 24px
                           --nv-space-8 = 32px
   Aqui apenas EXPOMOS essa escala como utilitários de padding,
   margin e gap. Não cria nem altera tokens.
═══════════════════════════════════════════════════════════════════ */

/* ─── GAP (flex/grid) ─── */
.nv-gap-1 { gap: var(--nv-space-1); }
.nv-gap-2 { gap: var(--nv-space-2); }
.nv-gap-3 { gap: var(--nv-space-3); }
.nv-gap-4 { gap: var(--nv-space-4); }
.nv-gap-5 { gap: var(--nv-space-5); }
.nv-gap-6 { gap: var(--nv-space-6); }
.nv-gap-8 { gap: var(--nv-space-8); }

/* ─── PADDING (4 lados) ─── */
.nv-p-1 { padding: var(--nv-space-1); }
.nv-p-2 { padding: var(--nv-space-2); }
.nv-p-3 { padding: var(--nv-space-3); }
.nv-p-4 { padding: var(--nv-space-4); }
.nv-p-5 { padding: var(--nv-space-5); }
.nv-p-6 { padding: var(--nv-space-6); }
.nv-p-8 { padding: var(--nv-space-8); }

/* ─── PADDING HORIZONTAL / VERTICAL ─── */
.nv-px-2 { padding-left: var(--nv-space-2); padding-right: var(--nv-space-2); }
.nv-px-3 { padding-left: var(--nv-space-3); padding-right: var(--nv-space-3); }
.nv-px-4 { padding-left: var(--nv-space-4); padding-right: var(--nv-space-4); }
.nv-px-5 { padding-left: var(--nv-space-5); padding-right: var(--nv-space-5); }
.nv-px-6 { padding-left: var(--nv-space-6); padding-right: var(--nv-space-6); }
.nv-py-2 { padding-top: var(--nv-space-2); padding-bottom: var(--nv-space-2); }
.nv-py-3 { padding-top: var(--nv-space-3); padding-bottom: var(--nv-space-3); }
.nv-py-4 { padding-top: var(--nv-space-4); padding-bottom: var(--nv-space-4); }
.nv-py-5 { padding-top: var(--nv-space-5); padding-bottom: var(--nv-space-5); }
.nv-py-6 { padding-top: var(--nv-space-6); padding-bottom: var(--nv-space-6); }

/* ─── MARGIN (top/bottom — os mais usados) ─── */
.nv-mt-2 { margin-top: var(--nv-space-2); }
.nv-mt-3 { margin-top: var(--nv-space-3); }
.nv-mt-4 { margin-top: var(--nv-space-4); }
.nv-mt-6 { margin-top: var(--nv-space-6); }
.nv-mt-8 { margin-top: var(--nv-space-8); }
.nv-mb-2 { margin-bottom: var(--nv-space-2); }
.nv-mb-3 { margin-bottom: var(--nv-space-3); }
.nv-mb-4 { margin-bottom: var(--nv-space-4); }
.nv-mb-6 { margin-bottom: var(--nv-space-6); }
.nv-mb-8 { margin-bottom: var(--nv-space-8); }
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — Base utilities (Etapa 1)
   Classes utilitárias que consomem os tokens --nv-*.
   Aditivo: não altera estilos legados; apenas oferece primitivas
   para os novos componentes do redesign.
════════════════════════════════════════════════════════════════ */

.nv-surface {
  background: var(--nv-surface);
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-card);
  box-shadow: var(--nv-shadow-card);
  color: var(--nv-text);
}

.nv-stack {
  display: grid;
  gap: var(--nv-space-4);
}

.nv-row {
  display: flex;
  align-items: center;
  gap: var(--nv-space-3);
  flex-wrap: wrap;
}

.nv-kicker {
  margin: 0 0 var(--nv-space-2);
  color: var(--nv-blue);
  font-size: var(--nv-text-label);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nv-muted { color: var(--nv-text-muted); }
.nv-text-success { color: var(--nv-success); }
.nv-text-warning { color: var(--nv-warning); }
.nv-text-danger { color: var(--nv-danger); }
.nv-mono { font-variant-numeric: tabular-nums; }
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — layout.css (camada aditiva)
   ─────────────────────────────────────────────────────────────────
   Primitivas de layout de página/seção/grid. Complementa (não
   substitui) os utilitários de base.css (.nv-surface, .nv-stack,
   .nv-row, .nv-kicker). Tudo consome tokens --nv-*.
═══════════════════════════════════════════════════════════════════ */

/* ─── Página (container centralizada + espaçamento padrão) ─── */
.nv-page {
  display: flex;
  flex-direction: column;
  gap: var(--nv-space-5);
  width: 100%;
  max-width: var(--nv-content-max);
  margin: 0 auto;
  min-width: 0;
}

.nv-page-body {
  padding: var(--nv-space-4) var(--nv-space-6) var(--nv-space-8);
}

/* ─── Grids ─── */
.nv-grid {
  display: grid;
  gap: var(--nv-space-4);
  min-width: 0;
}

.nv-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nv-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nv-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Auto-fit para KPIs e cards (encolhe gracefully em telas estreitas) */
.nv-grid-auto-kpi {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}
.nv-grid-auto-card {
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

/* Variações de stack mais justas que .nv-stack (gap 16) */
.nv-stack-tight { display: grid; gap: var(--nv-space-2); }
.nv-stack-sm { display: grid; gap: var(--nv-space-3); }

/* Span de coluna (use dentro de um .nv-grid-cols-N) */
.nv-col-span-2 { grid-column: span 2; }

/* ─── Responsivo ─── */
@media (max-width: 980px) {
  .nv-grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nv-grid-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .nv-page-body { padding: var(--nv-space-3); }
  .nv-grid-cols-2,
  .nv-grid-cols-3,
  .nv-grid-cols-4 { grid-template-columns: 1fr; }
  .nv-col-span-2 { grid-column: auto; }
}
/* Nacional Vision — UI primitives (Etapa 2)
   Componentes novos com prefixo nv-* para coexistir com o CSS legado. */

.nv-card {
  min-width: 0;
  background: var(--nv-surface);
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-card);
  box-shadow: var(--nv-shadow-card);
  color: var(--nv-text);
}

.nv-kpi-card {
  position: relative;
  display: grid;
  gap: var(--nv-space-3);
  align-content: start;
  min-height: 132px;
  padding: var(--nv-space-5);
  overflow: hidden;
}

.nv-kpi-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--nv-blue);
}

.nv-kpi-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--nv-space-3);
}

.nv-kpi-title {
  display: flex;
  align-items: center;
  gap: var(--nv-space-2);
  min-width: 0;
}

.nv-kpi-title > span:last-child {
  color: var(--nv-text-muted);
  font-size: var(--nv-text-label);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.nv-kpi-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: var(--nv-radius-pill);
  color: var(--nv-blue);
  background: var(--nv-blue-soft);
}

.nv-kpi-card strong {
  color: var(--nv-text);
  font-size: var(--nv-text-value);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.nv-kpi-card p,
.nv-kpi-card small {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.nv-kpi-success::before { background: var(--nv-success); }
.nv-kpi-warning::before { background: var(--nv-warning); }
.nv-kpi-danger::before { background: var(--nv-danger); }
.nv-kpi-brand::before { background: var(--nv-brand); }
.nv-kpi-blue::before { background: var(--nv-blue); }
.nv-kpi-success .nv-kpi-icon { color: var(--nv-success); background: var(--nv-success-soft); }
.nv-kpi-warning .nv-kpi-icon { color: var(--nv-warning); background: var(--nv-warning-soft); }
.nv-kpi-danger .nv-kpi-icon { color: var(--nv-danger); background: var(--nv-danger-soft); }
.nv-kpi-brand .nv-kpi-icon { color: var(--nv-brand); background: var(--nv-brand-soft); }

.nv-filter-bar {
  display: grid;
  gap: var(--nv-space-4);
  padding: var(--nv-space-4);
}

.nv-filter-bar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--nv-space-4);
  padding-bottom: var(--nv-space-3);
  border-bottom: 1px solid var(--nv-border);
}

.nv-filter-bar-head strong {
  display: block;
  color: var(--nv-text);
  font-size: 14px;
  line-height: 1.2;
}

.nv-filter-bar-head span,
.nv-filter-bar-head small {
  color: var(--nv-text-muted);
  font-size: 12px;
  line-height: 1.35;
}

.nv-active-filters {
  display: flex;
  justify-content: flex-end;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
}

.nv-active-filters span,
.nv-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: var(--nv-radius-pill);
  border: 1px solid var(--nv-border);
  background: var(--nv-surface-subtle);
  color: var(--nv-text-muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.nv-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: var(--nv-space-3);
  align-items: end;
}

.nv-filter-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.nv-filter-field > span {
  color: var(--nv-text-muted);
  font-size: var(--nv-text-label);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nv-filter-actions {
  display: flex;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
  align-items: end;
}

.nv-status-success { color: #047857; background: var(--nv-success-soft); border-color: var(--nv-success-border); }
.nv-status-warning { color: #b45309; background: var(--nv-warning-soft); border-color: var(--nv-warning-border); }
.nv-status-danger { color: #b91c1c; background: var(--nv-danger-soft); border-color: var(--nv-danger-border); }
.nv-status-blue { color: var(--nv-blue-strong); background: var(--nv-blue-soft); border-color: var(--nv-blue-border); }
.nv-status-brand { color: var(--nv-brand); background: var(--nv-brand-soft); border-color: var(--nv-brand-border); }

.nv-empty-state {
  display: grid;
  gap: var(--nv-space-2);
  padding: var(--nv-space-6);
  border: 1px dashed var(--nv-border-strong);
  border-radius: var(--nv-radius-card);
  background: var(--nv-surface-muted);
  color: var(--nv-text-muted);
  text-align: center;
}

.nv-empty-state strong { color: var(--nv-text); }
.nv-empty-state p { margin: 0; }

.nv-skeleton-block {
  display: grid;
  gap: var(--nv-space-3);
  width: 100%;
  padding: var(--nv-space-5);
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-card);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow-card);
}

.nv-skeleton-line {
  display: block;
  height: 12px;
  border-radius: var(--nv-radius-pill);
  background: linear-gradient(90deg, var(--nv-surface-subtle) 25%, var(--nv-border) 37%, var(--nv-surface-muted) 63%);
  background-size: 420% 100%;
  animation: nvUiSkeleton 1.35s ease infinite;
}

.nv-skeleton-line-1 { width: 92%; }
.nv-skeleton-line-2 { width: 68%; }
.nv-skeleton-line-3 { width: 45%; }

@keyframes nvUiSkeleton {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

.nv-data-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-card);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow-card);
}

.nv-data-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--nv-text);
  font-size: var(--nv-text-table);
}

.nv-data-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 13px 14px;
  border-bottom: 1px solid var(--nv-border);
  background: var(--nv-surface-subtle);
  color: var(--nv-text-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

.nv-data-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--nv-border);
  vertical-align: middle;
}

.nv-data-table tr:last-child td { border-bottom: 0; }
.nv-data-table tbody tr:hover { background: var(--nv-blue-soft); }
.nv-data-table .is-numeric { text-align: right; font-variant-numeric: tabular-nums; }
.nv-data-table td.is-primary { font-weight: 800; color: var(--nv-text); }

@media (max-width: 720px) {
  .nv-filter-bar-head { display: grid; }
  .nv-active-filters { justify-content: flex-start; }
  .nv-filter-actions > * { flex: 1 1 100%; }
  .nv-data-table { min-width: 0 !important; }
  .nv-data-table,
  .nv-data-table thead,
  .nv-data-table tbody,
  .nv-data-table th,
  .nv-data-table td,
  .nv-data-table tr { display: block; }
  .nv-data-table thead { display: none; }
  .nv-data-table tbody { display: grid; gap: 10px; padding: 10px; }
  .nv-data-table tr { border: 1px solid var(--nv-border); border-radius: 14px; background: var(--nv-surface); overflow: hidden; }
  .nv-data-table td { display: flex; justify-content: space-between; gap: 12px; border-bottom: 0; padding: 8px 10px; text-align: right; }
  .nv-data-table td::before { content: attr(data-label); color: var(--nv-text-muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-align: left; }
  .nv-data-table td.is-primary { display: grid; text-align: left; }
}
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — components.css (camada aditiva)
   ─────────────────────────────────────────────────────────────────
   Estilos dos NOVOS componentes do Design System. É o companheiro
   aditivo de components/ui/ui.css (que cobre Card, KpiCard, FilterBar,
   DataTable, etc.). Aqui ficam: PageHeader, SectionHeader, ChartCard,
   ActionButton. Tudo consome tokens --nv-* (nenhuma cor crua).
═══════════════════════════════════════════════════════════════════ */

/* ══════════════ PageHeader ══════════════ */
.nv-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--nv-space-4);
  flex-wrap: wrap;
  padding: var(--nv-space-4) 0 var(--nv-space-5);
}

.nv-page-header-main {
  display: grid;
  gap: var(--nv-space-2);
  min-width: 0;
}

.nv-page-header-kicker {
  display: inline-block;
  width: fit-content;
  color: var(--nv-blue);
  font-size: var(--nv-text-label);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nv-page-header-title {
  margin: 0;
  color: var(--nv-text);
  font-size: var(--nv-text-page-title);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.nv-page-header-subtitle {
  margin: 0;
  max-width: 72ch;
  color: var(--nv-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

.nv-page-header-meta {
  display: flex;
  gap: var(--nv-space-3);
  flex-wrap: wrap;
  color: var(--nv-text-soft);
  font-size: 12px;
  font-weight: 700;
}

.nv-page-header-actions {
  display: flex;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
  align-items: center;
}

/* ══════════════ SectionHeader ══════════════ */
.nv-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--nv-space-3);
  flex-wrap: wrap;
}

.nv-section-header.is-divided {
  padding-bottom: var(--nv-space-3);
  border-bottom: 1px solid var(--nv-border);
  margin-bottom: var(--nv-space-4);
}

.nv-section-header-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.nv-section-header-title {
  margin: 0;
  color: var(--nv-text);
  font-size: var(--nv-text-section);
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.nv-section-header-subtitle {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

.nv-section-header-actions {
  display: flex;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
  align-items: center;
}

/* ══════════════ ChartCard ══════════════ */
.nv-chart-card {
  display: grid;
  gap: var(--nv-space-3);
  padding: var(--nv-space-5);
}

.nv-chart-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--nv-space-3);
  min-width: 0;
}

.nv-chart-card-text {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.nv-chart-card-title {
  margin: 0;
  color: var(--nv-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
}

.nv-chart-card-subtitle {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 12px;
  line-height: 1.35;
}

.nv-chart-card-actions {
  display: flex;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}

/* Corpo do gráfico: casulo seguro para ResponsiveContainer.
   position:relative + min-width:0 evitam o bug de largura zero. */
.nv-chart-card-body {
  position: relative;
  min-width: 0;
  width: 100%;
}

.nv-chart-card-footer {
  display: flex;
  align-items: center;
  gap: var(--nv-space-2);
  flex-wrap: wrap;
  padding-top: var(--nv-space-2);
  border-top: 1px solid var(--nv-border);
  color: var(--nv-text-soft);
  font-size: 11px;
  font-weight: 700;
}

/* Acento de borda superior por tom (Card renderiza nv-card junto) */
.nv-chart-blue.nv-card { border-top: 3px solid var(--nv-blue); }
.nv-chart-brand.nv-card { border-top: 3px solid var(--nv-brand); }
.nv-chart-success.nv-card { border-top: 3px solid var(--nv-success); }
.nv-chart-warning.nv-card { border-top: 3px solid var(--nv-warning); }
.nv-chart-danger.nv-card { border-top: 3px solid var(--nv-danger); }

/* ══════════════ ActionButton ══════════════ */
.nv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nv-space-2);
  border: 1px solid transparent;
  border-radius: var(--nv-radius-md);
  font-family: inherit;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  transition:
    background var(--nv-transition),
    border-color var(--nv-transition),
    color var(--nv-transition),
    box-shadow var(--nv-transition),
    transform var(--nv-transition);
}

.nv-btn:focus-visible {
  outline: 2px solid var(--nv-blue);
  outline-offset: 2px;
}

.nv-btn:active {
  transform: translateY(1px);
}

.nv-btn:disabled,
.nv-btn.is-loading {
  opacity: .6;
  cursor: not-allowed;
}

/* Tamanhos */
.nv-btn-sm { height: 32px; padding: 0 12px; font-size: 12px; }
.nv-btn-md { height: 40px; padding: 0 16px; font-size: 13px; }
.nv-btn-lg { height: 48px; padding: 0 22px; font-size: 15px; }

.nv-btn.is-full { width: 100%; }

.nv-btn-label { display: inline-block; }
.nv-btn-icon { display: inline-flex; align-items: center; }
.nv-btn-icon svg { width: 16px; height: 16px; }

/* Variantes */
.nv-btn-primary {
  background: var(--nv-blue);
  color: var(--nv-text-inverse);
  border-color: var(--nv-blue);
  box-shadow: 0 4px 14px rgba(37, 99, 235, .24);
}
.nv-btn-primary:hover:not(:disabled):not(.is-loading) {
  background: var(--nv-blue-strong);
  border-color: var(--nv-blue-strong);
}

.nv-btn-secondary {
  background: var(--nv-surface);
  color: var(--nv-text);
  border-color: var(--nv-border-strong);
}
.nv-btn-secondary:hover:not(:disabled):not(.is-loading) {
  background: var(--nv-surface-subtle);
  border-color: var(--nv-blue);
  color: var(--nv-blue);
}

.nv-btn-ghost {
  background: transparent;
  color: var(--nv-text-muted);
  border-color: transparent;
}
.nv-btn-ghost:hover:not(:disabled):not(.is-loading) {
  background: var(--nv-surface-subtle);
  color: var(--nv-text);
}

.nv-btn-danger {
  background: var(--nv-danger);
  color: var(--nv-text-inverse);
  border-color: var(--nv-danger);
}
.nv-btn-danger:hover:not(:disabled):not(.is-loading) { filter: brightness(.92); }

.nv-btn-success {
  background: var(--nv-success);
  color: var(--nv-text-inverse);
  border-color: var(--nv-success);
}
.nv-btn-success:hover:not(:disabled):not(.is-loading) { filter: brightness(.92); }

/* Spinner (estado loading) */
.nv-btn-spinner {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: nvBtnSpin .7s linear infinite;
}

@keyframes nvBtnSpin {
  to { transform: rotate(360deg); }
}

/* ══════════════ Responsivo (cabeçalhos/botões) ══════════════ */
@media (max-width: 560px) {
  .nv-page-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .nv-page-header-actions {
    width: 100%;
  }
}
/* Nacional Vision — Charts (Etapa 4) */

.nv-chart-shell {
  width: 100%;
  min-width: 0;
}

.nv-chart-tooltip {
  display: grid;
  gap: 4px;
  min-width: 170px;
  padding: 10px 12px;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-md);
  background: var(--nv-surface);
  color: var(--nv-text-muted);
  box-shadow: var(--nv-shadow-md);
  font-size: 12px;
}

.nv-chart-tooltip strong {
  color: var(--nv-text);
  font-size: 12px;
}

.nv-chart-tooltip span,
.nv-chart-tooltip small {
  color: var(--nv-text-muted);
}

.nv-chart-tooltip b {
  color: var(--nv-text);
  font-variant-numeric: tabular-nums;
}

.recharts-cartesian-axis-tick-value {
  font-family: var(--nv-font);
}


/* ═══════════════════════════════════════════════════
   NACIONAL VISION — Enterprise Design System v3
   Paleta: Azul Corporativo (SAP · Totvs · Salesforce)
═══════════════════════════════════════════════════ */

:root {
  /* ─── FUNDOS ─── */
  --bg-base:        #F8FAFC;
  --bg-surface:     #FFFFFF;
  --bg-elevated:    #FFFFFF;
  --bg-subtle:      #F1F5F9;
  --bg-hover:       #F1F5F9;
  --bg-active:      #EFF6FF;

  /* ─── SIDEBAR ─── */
  --sidebar-bg:     #0F172A;
  --sidebar-bg2:    #1E293B;
  --sidebar-active: rgba(37,99,235,0.22);
  --sidebar-glow:   rgba(37,99,235,0.40);

  /* ─── BORDAS ─── */
  --border:         #E2E8F0;
  --border-strong:  #CBD5E1;
  --border-accent:  rgba(37,99,235,0.28);

  /* ─── TEXTO ─── */
  --text-primary:   #0F172A;
  --text-secondary: #64748B;
  --text-muted:     #94A3B8;
  --text-inverse:   #FFFFFF;

  /* ─── MARCA — Azul Corporativo Nacional Vision ─── */
  --accent:         #2563EB;
  --accent-dim:     #1E40AF;
  --accent-light:   #3B82F6;
  --accent-soft:    rgba(37,99,235,0.08);
  --accent-glow:    rgba(37,99,235,0.22);

  /* ─── RW COMMAND TOKENS ─── */
  --color-bg:             var(--bg-base);
  --color-surface:        var(--bg-surface);
  --color-ink:            var(--text-primary);
  --color-muted:          var(--text-secondary);
  --color-brand:          #2563EB;
  --color-brand-strong:   #1E40AF;
  --color-national:       #8B1D18;
  --color-sale:           #16A34A;
  --color-alert:          #F59E0B;
  --radius-card:          22px;
  --radius-control:       12px;
  --shadow-command:       0 18px 48px rgba(15,23,42,0.10);

  /* ─── SEMÂNTICAS ─── */
  --success:        #10B981;
  --success-soft:   rgba(16,185,129,0.10);
  --success-border: rgba(16,185,129,0.28);
  --warning:        #F59E0B;
  --warning-soft:   rgba(245,158,11,0.10);
  --warning-border: rgba(245,158,11,0.28);
  --danger:         #EF4444;
  --danger-soft:    rgba(239,68,68,0.08);
  --danger-border:  rgba(239,68,68,0.28);
  --info:           #0EA5E9;
  --info-soft:      rgba(14,165,233,0.10);
  --info-border:    rgba(14,165,233,0.28);

  /* ─── RAIOS ─── */
  --radius-xl:   24px;
  --radius-lg:   16px;
  --radius-md:   12px;
  --radius-sm:   8px;
  --radius-xs:   6px;
  --radius-pill: 999px;

  /* ─── SOMBRAS ─── */
  --shadow-xs:       0 1px 2px rgba(15,23,42,0.05);
  --shadow-sm:       0 2px 8px rgba(15,23,42,0.06);
  --shadow-card:     0 4px 16px rgba(15,23,42,0.07), 0 1px 4px rgba(15,23,42,0.04);
  --shadow-md:       0 8px 24px rgba(15,23,42,0.08);
  --shadow-soft:     0 12px 40px rgba(15,23,42,0.10);
  --shadow-btn:      0 4px 14px rgba(37,99,235,0.24);
  --shadow-btn-hover:0 8px 28px rgba(37,99,235,0.34);
  --shadow-premium:  0 20px 60px rgba(15,23,42,0.12), 0 4px 16px rgba(15,23,42,0.06);

  /* ─── TRANSIÇÕES ─── */
  --transition:      all 0.20s ease;
  --transition-fast: all 0.12s ease;

  /* ─── TIPOGRAFIA ─── */
  line-height: 1.5;
  font-weight: 400;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--text-primary);
  background-color: var(--bg-base);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* aliases legados */
  --bg-primary:       var(--bg-base);
  --bg-secondary:     var(--bg-subtle);
  --bg-tertiary:      var(--bg-elevated);
  --surface:          var(--bg-elevated);
  --surface-soft:     var(--bg-subtle);
  --surface-muted:    var(--bg-subtle);
  --surface-elevated: var(--bg-surface);
}

/* ─── DARK THEME ─── */

:root[data-theme='dark'] {
  --bg-base:        #060A14;
  --bg-surface:     #0D1220;
  --bg-elevated:    #111827;
  --bg-subtle:      #161F32;
  --bg-hover:       #1C2840;
  --bg-active:      #1E3A5F;

  --sidebar-bg:     #050810;
  --sidebar-bg2:    #0D1220;

  --border:         rgba(255,255,255,0.08);
  --border-strong:  rgba(255,255,255,0.14);

  --text-primary:   #F0F6FF;
  --text-secondary: #8BA3C0;
  --text-muted:     #4A607A;
  --text-inverse:   #0F172A;

  --shadow-card:    0 4px 16px rgba(0,0,0,0.4), 0 1px 4px rgba(0,0,0,0.3);
  --shadow-soft:    0 12px 40px rgba(0,0,0,0.5);
  --shadow-premium: 0 20px 60px rgba(0,0,0,0.5), 0 4px 16px rgba(0,0,0,0.4);

  --color-bg:       var(--bg-base);
  --color-surface:  var(--bg-surface);
  --color-ink:      var(--text-primary);
  --color-muted:    var(--text-secondary);
  --shadow-command: 0 22px 58px rgba(0,0,0,0.42);
}

a { color: inherit; text-decoration: none; }

/* Catálogo Nacional Carnes - adaptado do esboço Lovable */

.catalogo-page { min-height: calc(100vh - 120px); background: #faf9f6; color: #251a17; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 60px rgba(35, 18, 12, .08); }

.catalogo-hero { position: sticky; top: 0; z-index: 10; background: linear-gradient(135deg, #7b1f17 0%, #4b120e 100%); color: #fff; box-shadow: 0 10px 28px rgba(75, 18, 14, .25); }

.catalogo-hero-inner { max-width: none; margin: 0; padding: 16px 18px 14px; display: grid; grid-template-columns: auto minmax(320px, 520px); align-items: center; gap: 18px; }

.catalogo-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }

.catalogo-logo { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); font-size: 27px; flex: 0 0 auto; }

.catalogo-logo-image { width: 118px; height: 52px; padding: 6px 8px; background: #fff; border-radius: 14px; }

.catalogo-logo-image img { width: 100%; height: 100%; object-fit: contain; display: block; }

.catalogo-brand h1 { margin: 0; font-size: clamp(24px, 4vw, 36px); letter-spacing: -.04em; color: #fff; }

.catalogo-brand p { margin: 3px 0 0; color: rgba(255,255,255,.78); }

.catalogo-admin-link { position: absolute; right: 34px; top: 28px; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 9px 13px; background: rgba(255,255,255,.1); font-weight: 800; font-size: 13px; }

.catalogo-search { display: flex; align-items: center; gap: 10px; margin-top: 0; background: #fff; color: #251a17; border-radius: 14px; padding: 0 10px 0 14px; box-shadow: 0 12px 26px rgba(0,0,0,.14); }

.catalogo-search-icon { width: 18px; height: 18px; color: #1e40af; display: inline-flex; flex: 0 0 auto; }

.catalogo-search-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.catalogo-search input { width: 100%; border: 0; outline: 0; padding: 14px 4px; font-size: 15px; background: transparent; color: inherit; }

.catalogo-search button { border: 1px solid rgba(30,64,175,.16); border-radius: 999px; padding: 7px 12px; background: #eff6ff; color: #1e40af; font-weight: 800; white-space: nowrap; cursor: pointer; transition: .2s ease; }

.catalogo-search button:hover { background: #dbeafe; transform: translateY(-1px); }

.catalogo-chips { display: flex; gap: 9px; overflow-x: auto; padding: 14px 0 2px; }

.catalogo-chips button { border: 0; border-radius: 999px; padding: 8px 14px; background: rgba(255,255,255,.12); color: #fff; font-weight: 800; white-space: nowrap; cursor: pointer; }

.catalogo-chips button.active { background: #fff; color: #7b1f17; }

.catalogo-content { max-width: 1180px; margin: 0 auto; padding: 26px 22px 34px; }

.catalogo-selection-bar { position: sticky; top: 0; z-index: 20; max-width: 1180px; margin: 12px auto 0; border: 1px solid #ead9cf; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-radius: 18px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; box-shadow: 0 12px 28px rgba(62,30,20,.12); }

.catalogo-selection-bar div { display: grid; gap: 2px; margin-right: auto; }

.catalogo-selection-bar strong { color: #251a17; }

.catalogo-selection-bar span { color: #806b62; font-size: 12px; font-weight: 700; }

.catalogo-selected-pill { width: fit-content; border-radius: 999px; background: #dcfce7; color: #166534; padding: 4px 8px; font-size: 11px; font-weight: 900; }

@media (max-width: 760px) { .catalogo-selection-bar { left: 10px; right: 10px; margin: 10px; flex-wrap: wrap; } .catalogo-selection-bar .catalogo-whatsapp { width: 100%; } }

.catalogo-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }

.catalogo-card { border: 1px solid #ece5df; background: #fff; border-radius: 14px; overflow: hidden; text-align: left; cursor: pointer; box-shadow: 0 2px 7px rgba(0,0,0,.045); transition: transform .18s ease, box-shadow .18s ease; color: inherit; }

.catalogo-card:hover { transform: translateY(-2px); box-shadow: 0 14px 26px rgba(62, 30, 20, .12); }

.catalogo-photo { aspect-ratio: 1.16/1; background: #f1ece6; display: grid; place-items: center; color: #7b1f17; font-size: 28px; overflow: hidden; }

.catalogo-photo-placeholder { width: 100%; height: 100%; display: grid; place-items: center; align-content: center; padding: 10px; background: radial-gradient(circle at 30% 20%, #fff6ef, #e8ddd5); text-align: center; }

.catalogo-photo-placeholder strong { font-size: 11px; word-break: break-word; }

.catalogo-photo-placeholder small { color: #806b62; margin-top: 3px; font-size: 10px; }

.catalogo-card-body { padding: 8px; display: flex; flex-direction: column; gap: 5px; }

.catalogo-category { width: fit-content; max-width: 100%; border-radius: 999px; padding: 3px 7px; background: #f2e8e2; color: #7b1f17; font-size: 9px; line-height: 1; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.catalogo-card h2 { margin: 0; min-height: 30px; font-size: 12px; line-height: 1.18; letter-spacing: -.025em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.catalogo-meta-item { display: inline-flex; align-items: center; gap: 5px; }

.catalogo-meta-item svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

.catalogo-card-body > strong { color: #7b1f17; font-size: 22px; letter-spacing: -.04em; }

.catalogo-price-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }

.catalogo-price-stack span { border: 1px solid #f0dfd4; background: #fff7f1; border-radius: 9px; padding: 5px 6px; color: #7b1f17; font-size: 12px; line-height: 1.05; font-weight: 950; letter-spacing: -.035em; }

.catalogo-price-stack b { display: block; margin-bottom: 1px; color: #806b62; font-size: 8px; line-height: 1; letter-spacing: .08em; }

.catalogo-modal-prices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.catalogo-modal-prices p { margin: 0; border: 1px solid #efd7ca; background: linear-gradient(180deg, #fff8f3, #fff); border-radius: 16px; padding: 14px; }

.catalogo-modal-prices span { display: block; color: #806b62; font-size: 12px; font-weight: 800; margin-bottom: 4px; }

.catalogo-modal-prices strong { color: #7b1f17; font-size: 28px; font-weight: 950; letter-spacing: -.05em; }

.catalogo-share-editor { border: 1px solid #efdfd4; background: #fff8f3; border-radius: 14px; padding: 9px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }

.catalogo-share-editor label { display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid #ead9cf; background: #fff; border-radius: 10px; padding: 8px; font-size: 13px; font-weight: 900; cursor: pointer; }

.catalogo-share-editor label.active { border-color: #7b1f17; box-shadow: 0 0 0 2px rgba(123,31,23,.08); color: #7b1f17; }

.catalogo-share-editor label small { margin-left: auto; color: #806b62; font-weight: 850; }

.catalogo-price-edit { grid-column: 1 / -1; display: grid; gap: 4px; }

.catalogo-price-edit span { color: #806b62; font-size: 10px; font-weight: 850; }

.catalogo-price-edit input { width: 100%; border: 1px solid #e7d5ca; border-radius: 10px; padding: 8px 9px; font-size: 15px; font-weight: 950; color: #7b1f17; outline: 0; }

.catalogo-price-edit input:focus { border-color: #7b1f17; box-shadow: 0 0 0 3px rgba(123,31,23,.1); }

.catalogo-share-actions { margin-top: 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }

.catalogo-share-image { border: 0; border-radius: 12px; background: #7b1f17; color: #fff; text-align: center; padding: 10px 12px; font-weight: 900; box-shadow: 0 10px 20px rgba(123,31,23,.2); cursor: pointer; }

.catalogo-share-image:hover, .catalogo-whatsapp:hover { transform: translateY(-1px); filter: brightness(1.03); }

.catalogo-meta { display: flex; gap: 5px; flex-wrap: wrap; color: #76665f; font-size: 10px; line-height: 1.1; }

.catalogo-empty { border: 1px dashed #d9ccc3; background: #fff; border-radius: 18px; padding: 50px; text-align: center; color: #806b62; }

.catalogo-footer { border-top: 1px solid #ede5df; padding: 20px; text-align: center; color: #806b62; font-size: 12px; background: #fff; }

.catalogo-modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(24, 12, 8, .55); display: grid; place-items: center; padding: 20px; }

.catalogo-modal { position: relative; width: min(920px, 100%); background: #fff; border-radius: 24px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; box-shadow: 0 30px 80px rgba(0,0,0,.35); }

.catalogo-close { position: absolute; right: 14px; top: 14px; z-index: 2; border: 0; background: rgba(0,0,0,.08); width: 36px; height: 36px; border-radius: 999px; font-size: 22px; cursor: pointer; }

.catalogo-modal-photo { min-height: 390px; background: #f1ece6; display: grid; place-items: center; color: #7b1f17; font-size: 46px; padding: 26px; text-align: center; }

.catalogo-modal-photo strong { display: block; font-size: 22px; word-break: break-word; }

.catalogo-modal-photo small { display: block; margin-top: 10px; color: #806b62; font-size: 12px; word-break: break-word; }

.catalogo-modal-info { padding: 34px; display: flex; flex-direction: column; gap: 16px; }

.catalogo-modal-info h2 { margin: 0; font-size: clamp(24px, 4vw, 36px); line-height: 1.05; letter-spacing: -.05em; }

.catalogo-price { margin: 0; color: #7b1f17; font-size: 34px; font-weight: 950; letter-spacing: -.05em; }

.catalogo-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.catalogo-detail-grid div { background: #faf7f4; border: 1px solid #efe5de; border-radius: 14px; padding: 12px; }

.catalogo-detail-grid small { display: block; color: #806b62; font-weight: 700; margin-bottom: 4px; }

.catalogo-detail-grid strong { font-size: 16px; }

.catalogo-whatsapp { margin-top: auto; border-radius: 12px; background: #22a45a; color: #fff; text-decoration: none; text-align: center; padding: 10px 12px; font-weight: 900; box-shadow: 0 10px 20px rgba(34,164,90,.22); }

.skeleton-card { padding: 18px; min-height: 280px; }

@media (max-width: 1100px) { .catalogo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

@media (max-width: 760px) { .catalogo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .catalogo-admin-link { position: static; display: inline-block; margin-top: 14px; } .catalogo-modal { grid-template-columns: 1fr; max-height: 92vh; overflow: auto; } .catalogo-modal-photo { min-height: 260px; } }

.catalogo-code { color: #806b62; font-size: 10px; font-weight: 800; }

.catalogo-page .catalogo-hero { top: 0; }

.product-image { width: 100%; height: 100%; object-fit: cover; display: block; background: #f1ece6; }

.product-image-fallback { width: 100%; height: 100%; min-height: 72px; display: grid; place-items: center; align-content: center; gap: 4px; background: radial-gradient(circle at 30% 20%, #fff6ef, #e8ddd5); color: #7b1f17; text-align: center; }

.product-image-fallback span { font-size: 28px; line-height: 1; }

.product-image-fallback small { color: #806b62; font-size: 11px; font-weight: 800; }

.product-thumb { width: 58px; height: 58px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(123,31,23,.14); background: #f1ece6; }

.catalogo-modal-photo .product-image, .catalogo-modal-photo .product-image-fallback { min-height: 390px; }

@media (max-width: 760px) { .catalogo-modal-photo .product-image, .catalogo-modal-photo .product-image-fallback { min-height: 260px; } }

.catalogo-model-code { color: #5f5752; font-size: 18px; font-weight: 900; letter-spacing: .04em; }

.catalogo-model-table { margin: 18px 0 12px; display: grid; grid-template-columns: 1.15fr 1fr .75fr 1.25fr; gap: 10px; align-items: stretch; }

.catalogo-model-table > div { border: 1px solid #eadfd8; border-radius: 16px; padding: 13px 10px; text-align: center; background: #fffdfc; display: grid; gap: 8px; }

.catalogo-model-table small { color: #7b1f17; font-size: 11px; font-weight: 950; letter-spacing: .04em; }

.catalogo-model-table strong { color: #211915; font-size: 23px; font-weight: 950; white-space: nowrap; }

.catalogo-model-table span { color: #766760; font-size: 12px; font-weight: 850; }

.catalogo-model-rule { margin: 4px 0 0; border: 1px solid #7b1f17; border-radius: 20px; padding: 18px 18px; color: #fff; background: linear-gradient(135deg, #7b1f17 0%, #4b120e 100%); text-align: center; font-weight: 950; letter-spacing: .02em; display: grid; place-items: center; gap: 6px; min-height: 132px; box-shadow: 0 14px 28px rgba(123,31,23,.22); position: relative; }

.catalogo-model-rule > span { font-size: 12px; text-transform: uppercase; opacity: .86; }

.catalogo-model-rule > strong { font-size: clamp(42px, 5.4vw, 72px); line-height: .9; letter-spacing: -.06em; }

.catalogo-box-price { position: absolute; right: 12px; top: 12px; border-radius: 14px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.18); padding: 8px 10px; min-width: 116px; text-align: right; }

.catalogo-box-price span { display: block; color: rgba(255,255,255,.76); font-size: 9px; text-transform: uppercase; font-weight: 900; line-height: 1; }

.catalogo-box-price strong { display: block; color: #fff; font-size: 18px; line-height: 1.05; letter-spacing: -.04em; white-space: nowrap; }

.catalogo-model-editor-title { margin: 0 0 8px; display: grid; gap: 3px; }

.catalogo-model-editor-title span { width: fit-content; border-radius: 999px; background: #eef7ff; color: #13628a; padding: 3px 7px; font-size: 10px; font-weight: 900; text-transform: uppercase; }

.catalogo-model-editor-title strong { color: #251a17; font-size: 14px; font-weight: 950; }

.catalogo-model-editor { grid-template-columns: .55fr .55fr 1.1fr .7fr .9fr 1fr; gap: 8px; align-items: end; }

.catalogo-model-editor .catalogo-price-edit { grid-column: auto; }

.catalogo-model-editor select { border: 0; background: transparent; color: #251a17; font-size: 15px; font-weight: 900; outline: none; width: 100%; }

.catalogo-negotiation-note { margin: 6px 0 0; color: #8a7a72; font-size: 11px; font-weight: 750; }

@media (max-width: 760px) { .catalogo-model-table { grid-template-columns: repeat(2, minmax(0, 1fr)); } .catalogo-model-editor { grid-template-columns: 1fr; } }

.catalogo-shell { max-width: none; margin: 0; padding: 16px 14px 24px 0; display: grid; grid-template-columns: 178px minmax(0, 1fr); gap: 12px; align-items: start; }

.catalogo-sidebar { position: sticky; top: 104px; border: 1px solid #ead9cf; border-left: 0; background: #fffdfc; border-radius: 0 18px 18px 0; padding: 12px 10px 12px 8px; display: grid; gap: 6px; box-shadow: 8px 14px 30px rgba(62,30,20,.08); max-height: calc(100vh - 120px); overflow: auto; }

.catalogo-sidebar strong { color: #251a17; font-size: 13px; font-weight: 950; margin-bottom: 2px; padding-left: 4px; }

.catalogo-sidebar button { border: 0; border-radius: 11px; background: #faf4ef; color: #5b453d; padding: 8px 9px; text-align: left; font-size: 12px; line-height: 1.08; font-weight: 850; cursor: pointer; }

.catalogo-sidebar button.active, .catalogo-sidebar button:hover { background: #7b1f17; color: white; }

.catalogo-sidebar small { margin-top: 6px; color: #8a7a72; font-size: 11px; font-weight: 700; line-height: 1.25; padding-left: 4px; }

.catalogo-shell .catalogo-content { padding: 0; max-width: none; margin: 0; }

.catalogo-product-detail-modal { width: min(1180px, calc(100vw - 22px)); height: min(760px, calc(100vh - 22px)); max-height: calc(100vh - 22px); overflow: hidden; display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto; padding: 0; background: #f7f2ee; }

.catalogo-product-detail-modal .catalogo-close { z-index: 5; }

.catalogo-client-block { min-height: 0; display: grid; grid-template-columns: 43% 57%; gap: 0; background: #fff; border-radius: 22px 22px 0 0; overflow: hidden; }

.catalogo-client-photo { background: #f7f1ed; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 14px; }

.catalogo-client-photo .product-image { width: 100%; height: 100%; max-height: 100%; object-fit: contain; border-radius: 18px; background: #fff; }

.catalogo-client-photo .product-image-fallback { width: 100%; height: 100%; min-height: 260px; }

.catalogo-client-info { min-height: 0; padding: 26px 32px 18px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }

.catalogo-client-info h2 { margin: 0; color: #1f1714; font-size: clamp(24px, 3vw, 40px); line-height: .98; letter-spacing: -.055em; font-weight: 950; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.catalogo-client-block .catalogo-model-table { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 8px 0 6px; }

.catalogo-client-block .catalogo-model-table > div { border-radius: 16px; padding: 10px 8px; box-shadow: 0 8px 18px rgba(80,42,26,.06); }

.catalogo-client-block .catalogo-model-table small { font-size: 10px; line-height: 1.05; white-space: nowrap; }

.catalogo-client-block .catalogo-model-table strong { font-size: clamp(18px, 2vw, 28px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.catalogo-client-block .catalogo-model-table span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.catalogo-model-table-compact > div { min-height: 74px; display: grid; align-content: center; min-width: 0; }

.catalogo-seller-block { border-top: 1px solid #ead9cf; padding: 12px 18px 14px; background: #fbf7f4; }

.catalogo-seller-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }

.catalogo-seller-head span { color: #7b1f17; font-size: 10px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }

.catalogo-seller-head strong { color: #251a17; font-size: 16px; font-weight: 950; }

.catalogo-stepper { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; gap: 4px; }

.catalogo-stepper button { border: 0; border-radius: 9px; background: #7b1f17; color: white; height: 32px; font-size: 18px; font-weight: 950; cursor: pointer; }

.catalogo-stepper input { text-align: center; }

@media (max-width: 980px) { .catalogo-client-block { grid-template-columns: 1fr; } .catalogo-product-detail-modal { height: min(880px, calc(100vh - 18px)); overflow: auto; } .catalogo-client-photo { min-height: 260px; max-height: 38vh; } .catalogo-client-info { padding: 22px 18px; } .catalogo-model-editor { grid-template-columns: repeat(2, minmax(0, 1fr)); } .catalogo-share-actions { grid-template-columns: 1fr; } }

/* Design System cycle: safer responsive containment for dense catalog layouts */

.catalogo-product-detail-modal,
.catalogo-selection-bar,
.catalogo-sidebar,
.catalogo-card,
.catalogo-client-info,
.catalogo-seller-block {
  min-width: 0;
}

.catalogo-product-detail-modal {
  overscroll-behavior: contain;
}

.catalogo-selection-bar {
  top: 12px;
}

.catalogo-client-info h2,
.catalogo-card h2,
.catalogo-sidebar button,
.catalogo-model-table strong {
  overflow-wrap: anywhere;
}

.catalogo-client-block .catalogo-model-table > div {
  min-width: 0;
}

.catalogo-model-table strong {
  white-space: normal;
  line-height: 1.05;
}

@media (max-width: 1240px) {
  .catalogo-shell {
    grid-template-columns: 158px minmax(0, 1fr);
    gap: 10px;
    padding-right: 10px;
  }

  .catalogo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .catalogo-sidebar button {
    font-size: 11px;
    padding: 7px 8px;
  }
}

@media (max-width: 900px) {
  .catalogo-shell {
    grid-template-columns: 1fr;
    padding: 12px 12px 24px;
  }

  .catalogo-sidebar {
    position: static;
    display: flex;
    overflow-x: auto;
    border-left: 1px solid #ead9cf;
    border-radius: 16px;
    padding: 10px;
    max-height: none;
  }

  .catalogo-sidebar strong, .catalogo-sidebar small { display: none; }
  .catalogo-sidebar button { white-space: nowrap; }
  .catalogo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .catalogo-selection-bar {
    position: relative;
    top: auto;
  }

  .catalogo-client-block {
    min-height: auto;
  }

  .catalogo-client-photo {
    min-height: 320px;
  }

  .catalogo-client-info h2 {
    font-size: clamp(28px, 8vw, 42px);
  }
}

@media (max-width: 560px) {
  .catalogo-page {
    min-height: 100vh;
    border-radius: 0;
    box-shadow: none;
    overflow-x: hidden;
  }

  .catalogo-hero {
    position: relative;
  }

  .catalogo-hero-inner {
    padding: 16px 12px 14px;
    display: block;
  }

  .catalogo-brand {
    gap: 10px;
  }

  .catalogo-logo {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 22px;
  }

  .catalogo-logo-image {
    width: 96px;
    height: 42px;
    padding: 5px 7px;
  }

  .catalogo-brand h1 {
    font-size: 25px;
  }

  .catalogo-brand p {
    font-size: 13px;
  }

  .catalogo-search {
    margin-top: 14px;
    padding-left: 12px;
    gap: 8px;
  }

  .catalogo-hero-actions {
    grid-column: auto;
    margin-top: 12px;
  }

  .catalogo-search input {
    min-width: 0;
    font-size: 14px;
    padding: 12px 0;
  }

  .catalogo-search button {
    padding: 6px 9px;
    font-size: 12px;
  }

  .catalogo-shell {
    width: 100%;
    max-width: 100%;
    padding: 10px 10px 22px;
    gap: 10px;
  }

  .catalogo-sidebar {
    position: sticky;
    top: 0;
    z-index: 9;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-left: 1px solid #ead9cf;
    border-radius: 14px;
    padding: 8px;
    display: flex;
    gap: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: 0 8px 22px rgba(62,30,20,.08);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .catalogo-sidebar::-webkit-scrollbar {
    display: none;
  }

  .catalogo-sidebar button {
    flex: 0 0 auto;
    max-width: 72vw;
    white-space: nowrap;
    font-size: 12px;
    padding: 9px 11px;
  }

  .catalogo-shell .catalogo-content {
    width: 100%;
    max-width: 100%;
  }

  .catalogo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .catalogo-card {
    border-radius: 12px;
  }

  .catalogo-card-body {
    padding: 7px;
    gap: 4px;
  }

  .catalogo-card h2 {
    min-height: 34px;
    font-size: 11.5px;
  }

  .catalogo-price-stack {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .catalogo-price-stack span {
    padding: 5px;
    font-size: 11px;
  }

  .catalogo-selection-bar {
    align-items: stretch;
  }

  .catalogo-selection-bar .outline-btn,
  .catalogo-selection-bar .catalogo-share-image,
  .catalogo-selection-bar .catalogo-whatsapp {
    width: 100%;
  }

  .catalogo-modal-backdrop {
    padding: 6px;
    overflow: hidden;
  }

  .catalogo-product-detail-modal {
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
    border-radius: 18px;
    overflow: hidden;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .catalogo-client-block {
    min-height: 0;
    overflow: hidden;
    grid-template-rows: 25vh minmax(0, 1fr);
  }

  .catalogo-client-photo {
    min-height: 0;
    max-height: none;
    padding: 8px;
  }

  .catalogo-client-info {
    min-height: 0;
    padding: 12px 12px 8px;
    gap: 6px;
    justify-content: start;
  }

  .catalogo-client-info h2 {
    font-size: clamp(19px, 5.8vw, 26px);
    -webkit-line-clamp: 2;
  }

  .catalogo-client-block .catalogo-model-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 4px 0;
  }

  .catalogo-client-block .catalogo-model-table > div {
    border-radius: 12px;
    padding: 7px 6px;
    gap: 4px;
  }

  .catalogo-client-block .catalogo-model-table small {
    font-size: 8px;
  }

  .catalogo-client-block .catalogo-model-table strong {
    font-size: 16px;
  }

  .catalogo-client-block .catalogo-model-table span {
    font-size: 10px;
  }

  .catalogo-model-code {
    font-size: 13px;
  }

  .catalogo-model-rule {
    padding: 5px 4px;
    font-size: 9px;
  }

  .catalogo-seller-block {
    padding: 8px;
  }

  .catalogo-seller-head {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
  }

  .catalogo-seller-head span {
    font-size: 8px;
  }

  .catalogo-seller-head strong {
    font-size: 12px;
  }

  .catalogo-share-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  .catalogo-share-editor label,
  .catalogo-price-edit input,
  .catalogo-model-editor select {
    font-size: 12px;
    padding: 6px;
  }

  .catalogo-price-edit span {
    font-size: 8px;
  }

  .catalogo-stepper {
    grid-template-columns: 27px 1fr 27px;
  }

  .catalogo-stepper button {
    height: 28px;
    border-radius: 8px;
  }

  .catalogo-negotiation-note {
    display: none;
  }

  .catalogo-share-actions {
    margin-top: 6px;
    gap: 5px;
  }

  .catalogo-share-image,
  .catalogo-whatsapp,
  .catalogo-share-actions .outline-btn {
    padding: 8px;
    font-size: 12px;
    border-radius: 10px;
  }
}

.catalogo-hero-actions { grid-column: 2; margin-top: -8px; display: flex; justify-content: flex-end; }

.catalogo-offer-btn, .catalogo-offer-secondary { border: 0; border-radius: 999px; background: #ffd166; color: #5b120f; padding: 10px 15px; font-weight: 950; cursor: pointer; box-shadow: 0 12px 24px rgba(0,0,0,.16); }

.catalogo-offer-secondary { border-radius: 12px; padding: 10px 12px; box-shadow: none; }

.catalogo-offer-backdrop { z-index: 130; }

.catalogo-offer-modal { position: relative; width: min(1120px, calc(100vw - 18px)); height: min(760px, calc(100vh - 18px)); background: #fff8f1; border-radius: 24px; overflow: hidden; display: grid; grid-template-columns: 390px minmax(0, 1fr); box-shadow: 0 30px 80px rgba(0,0,0,.36); }

.catalogo-offer-form { min-width: 0; padding: 26px; background: #fff; border-right: 1px solid #edd9cc; display: flex; flex-direction: column; gap: 14px; overflow: auto; }

.catalogo-offer-kicker { width: fit-content; border-radius: 999px; background: #fff0cc; color: #7b1f17; padding: 5px 9px; font-size: 11px; font-weight: 950; text-transform: uppercase; }

.catalogo-offer-form h2 { margin: 8px 0 3px; color: #251a17; font-size: 30px; letter-spacing: -.04em; }

.catalogo-offer-form p { margin: 0; color: #806b62; font-weight: 700; }

.catalogo-offer-form label { display: grid; gap: 6px; color: #5b453d; font-size: 12px; font-weight: 900; }

.catalogo-offer-form input { width: 100%; border: 1px solid #e7d5ca; border-radius: 12px; padding: 11px 12px; color: #251a17; font-size: 15px; font-weight: 850; outline: 0; }

.catalogo-offer-code-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }

.catalogo-offer-code-row button { border: 0; border-radius: 12px; background: #7b1f17; color: white; padding: 0 14px; font-weight: 900; cursor: pointer; }

.catalogo-offer-product-mini { border: 1px solid #ead9cf; background: #fffaf6; border-radius: 16px; padding: 10px; display: flex; gap: 10px; align-items: center; }

.catalogo-offer-product-mini div:last-child { min-width: 0; display: grid; gap: 3px; }

.catalogo-offer-product-mini strong { color: #251a17; font-size: 13px; line-height: 1.15; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.catalogo-offer-product-mini span, .catalogo-offer-empty { color: #806b62; font-size: 12px; font-weight: 800; }

.catalogo-offer-empty { border: 1px dashed #dfcabe; border-radius: 14px; padding: 14px; text-align: center; }

.catalogo-offer-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.catalogo-offer-actions { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.catalogo-offer-actions button:disabled { opacity: .55; cursor: not-allowed; }

.catalogo-offer-preview { min-width: 0; padding: 24px; display: grid; place-items: center; background: radial-gradient(circle at 50% 0%, #fff5ed, #ecd6c8); overflow: hidden; }

.card-oferta {
  width: min(520px, 100%);
  aspect-ratio: 520 / 650;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 28px 70px rgba(80, 20, 15, .35);
  font-family: Arial, Helvetica, sans-serif;
  color: #171717;
}

.card-oferta .topo {
  height: 28%;
  background: radial-gradient(circle at top left, #e63225, #8b1712 65%);
  color: #fff;
  text-align: center;
  padding-top: 4.6%;
  position: relative;
}

.card-oferta .topo::after {
  content: "";
  position: absolute;
  bottom: -45px;
  left: -10%;
  width: 120%;
  height: 90px;
  background: #fff;
  border-radius: 50% 50% 0 0;
}

.card-oferta .selo {
  display: inline-block;
  background: #ffcc22;
  color: #300;
  padding: 9px 28px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 22px;
  margin-bottom: 10px;
}

.card-oferta .titulo {
  font-size: 72px;
  font-weight: 1000;
  letter-spacing: -4px;
  line-height: .85;
  text-shadow: 0 5px 0 rgba(0,0,0,.22);
}

.card-oferta .subtitulo {
  background: #5d100d;
  display: inline-block;
  padding: 8px 20px;
  border-radius: 8px;
  margin-top: 12px;
  font-weight: 900;
  font-size: 18px;
}

.card-oferta .corpo {
  position: relative;
  z-index: 2;
  padding: 8px 24px 0;
}

.card-oferta .produto {
  display: grid;
  grid-template-columns: 48% 52%;
  gap: 10px;
  align-items: center;
}

.card-oferta .foto-box {
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transform: translateX(-8px);
}

.card-oferta .foto-box img,
.card-oferta .foto-box .product-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 18px rgba(0,0,0,.18));
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.card-oferta .foto-placeholder {
  font-size: 90px;
}

.card-oferta .info h2 {
  font-size: 23px;
  line-height: 1.02;
  font-weight: 1000;
  color: #171717;
  margin-bottom: 7px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-oferta .codigo {
  font-size: 15px;
  color: #555;
  margin-bottom: 14px;
}

.card-oferta .de {
  font-size: 22px;
  font-weight: 900;
  color: #2b2b2b;
}

.card-oferta .de span {
  text-decoration: line-through;
  color: #222;
}

.card-oferta .preco {
  margin-top: 8px;
  background: linear-gradient(135deg, #8c1712, #df1f1a);
  border-radius: 18px 18px 0 0;
  padding: 12px 14px;
  color: white;
  box-shadow: 0 14px 28px rgba(140,23,18,.3);
}

.card-oferta .preco .label {
  font-size: 24px;
  font-weight: 1000;
}

.card-oferta .preco .valor {
  font-size: clamp(44px, 10.5vw, 58px);
  font-weight: 1000;
  line-height: .9;
  letter-spacing: -3px;
  white-space: nowrap;
}

.card-oferta .regra {
  margin-top: 0;
  background: #ffcc22;
  color: #290000;
  padding: 10px;
  text-align: center;
  font-weight: 1000;
  font-size: 18px;
  border-radius: 0 0 14px 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-oferta .rodape {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(135deg, #5e0e0b, #8c1712);
  color: white;
  padding: 14px 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  font-weight: 900;
  min-height: 78px;
  border-top: 5px solid #ffcc22;
}

.card-oferta .rodape small {
  display: block;
  opacity: .85;
  font-size: 12px;
  margin-top: 4px;
}

.card-oferta .marca {
  font-size: 26px;
  font-weight: 1000;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 760px) { .catalogo-hero-actions { justify-content: stretch; } .catalogo-offer-btn { width: 100%; } .catalogo-offer-modal { height: calc(100dvh - 12px); grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; } .catalogo-offer-form { padding: 14px; border-right: 0; border-bottom: 1px solid #edd9cc; gap: 9px; overflow: visible; } .catalogo-offer-form h2 { font-size: 23px; margin: 4px 0 0; } .catalogo-offer-form p, .catalogo-offer-kicker { display: none; } .catalogo-offer-form input { padding: 8px 10px; font-size: 13px; } .catalogo-offer-product-mini { padding: 7px; } .catalogo-offer-actions { margin-top: 0; } .catalogo-offer-preview { padding: 8px; align-items: start; } .card-oferta { width: min(300px, 100%); border-radius: 18px; } .card-oferta .topo { height: 26%; padding-top: 9px; } .card-oferta .topo::after { bottom: -28px; height: 58px; } .card-oferta .selo { font-size: 14px; padding: 6px 18px; margin-bottom: 7px; } .card-oferta .titulo { font-size: 44px; letter-spacing: -2px; } .card-oferta .subtitulo { font-size: 12px; margin-top: 8px; padding: 6px 12px; } .card-oferta .corpo { padding: 5px 14px 0; } .card-oferta .produto { grid-template-columns: 49% 51%; gap: 7px; } .card-oferta .foto-box { height: 185px; transform: translateX(-5px); } .card-oferta .info h2 { font-size: 14px; margin-bottom: 5px; } .card-oferta .codigo { font-size: 10px; margin-bottom: 6px; } .card-oferta .de { font-size: 14px; } .card-oferta .preco { margin-top: 5px; border-radius: 12px; padding: 8px 10px; } .card-oferta .preco .label { font-size: 14px; } .card-oferta .preco .valor { font-size: 28px; letter-spacing: -2px; } .card-oferta .regra { padding: 6px; font-size: 10px; border-radius: 0 0 10px 10px; } .card-oferta .rodape { padding: 10px 14px; font-size: 11px; } .card-oferta .rodape small { font-size: 9px; } .card-oferta .marca { font-size: 14px; } }

.catalogo-mode-toggle { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.catalogo-mode-toggle button { border: 1px solid #ead9cf; background: #fff; color: #7b1f17; border-radius: 10px; padding: 9px; font-weight: 950; cursor: pointer; }

.catalogo-mode-toggle button.active { background: #7b1f17; color: #fff; border-color: #7b1f17; box-shadow: 0 8px 18px rgba(123,31,23,.18); }

/* Catálogo: seleção editável mais compacta e clara */

.catalogo-selection-bar {
  align-items: stretch;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.catalogo-selection-bar div { margin-right: 0; }

.catalogo-selection-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.catalogo-selection-head > div:first-child { display: grid; gap: 2px; }

.catalogo-selection-total {
  min-width: 132px;
  border-radius: 14px;
  padding: 8px 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  text-align: right;
}

.catalogo-selection-total small { display: block; color: #9a3412; font-size: 10px; font-weight: 900; text-transform: uppercase; }

.catalogo-selection-total b { color: #7c2d12; font-size: 16px; }

.catalogo-selection-items {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px !important;
}

.catalogo-selection-chip {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px !important;
  border: 1px solid #f0e2da;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fffaf7);
  padding: 10px;
}

.catalogo-selection-chip-main { min-width: 0; display: grid !important; gap: 2px !important; }

.catalogo-selection-chip-main strong {
  font-size: 13px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.catalogo-selection-chip-main span { font-size: 10px; color: #9b8175; }

.catalogo-selection-qty {
  display: flex !important;
  align-items: center;
  gap: 6px !important;
}

.catalogo-selection-qty em {
  font-style: normal;
  border-radius: 999px;
  padding: 5px 8px;
  background: #f7f1ec;
  color: #7b1f17;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.catalogo-selection-qty em.total { background: #dcfce7; color: #166534; }

.catalogo-selection-chip-actions {
  display: flex !important;
  gap: 6px !important;
}

.catalogo-selection-chip-actions button {
  border: 0;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.catalogo-selection-chip-actions button:first-child { background: #7b1f17; color: #fff; }

.catalogo-selection-chip-actions button:last-child { background: #fee2e2; color: #991b1b; }

.catalogo-selection-actions {
  display: flex !important;
  justify-content: flex-end;
  gap: 8px !important;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  .catalogo-selection-head { align-items: stretch; flex-direction: column; }
  .catalogo-selection-total { text-align: left; }
  .catalogo-selection-chip { grid-template-columns: 1fr; }
  .catalogo-selection-qty { flex-wrap: wrap; }
  .catalogo-selection-chip-actions button { flex: 1; }
}

/* Catálogo por segmento */

.catalogo-segment-panel {
  border: 1px solid #ead9cf;
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #fff8f4);
  padding: 14px;
  margin-bottom: 18px;
  box-shadow: 0 10px 24px rgba(62,30,20,.08);
}

.catalogo-segment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.catalogo-segment-head div { display: grid; gap: 2px; }

.catalogo-segment-head strong { color: #251a17; font-size: 16px; }

.catalogo-segment-head span { color: #806b62; font-size: 12px; font-weight: 700; }

.catalogo-segment-head button {
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: #7b1f17;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.catalogo-segment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}

.catalogo-segment-grid button {
  border: 1px solid #f0e2da;
  border-radius: 14px;
  padding: 10px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: .18s ease;
}

.catalogo-segment-grid button:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(62,30,20,.1); }

.catalogo-segment-grid button.active { border-color: #7b1f17; background: #fff1ed; box-shadow: inset 0 0 0 1px #7b1f17; }

.catalogo-segment-grid strong { display: block; color: #251a17; font-size: 13px; margin-bottom: 4px; }

.catalogo-segment-grid span { display: block; color: #806b62; font-size: 11px; line-height: 1.25; }

.catalogo-segment-note { margin: 10px 2px 0; color: #7b1f17; font-size: 12px; font-weight: 800; }

@media (max-width: 760px) {
  .catalogo-segment-head { align-items: stretch; flex-direction: column; }
  .catalogo-segment-head button { width: 100%; }
}

.catalogo-segment-actions { display: flex !important; align-items: center; gap: 8px !important; }

.catalogo-segment-actions label { display: flex; align-items: center; gap: 6px; border: 1px solid #ead9cf; border-radius: 999px; padding: 6px 8px; background: #fff; }

.catalogo-segment-actions label span { color: #806b62; font-size: 11px; font-weight: 900; }

.catalogo-segment-actions select { border: 0; outline: 0; background: transparent; color: #7b1f17; font-weight: 900; }

@media (max-width: 760px) { .catalogo-segment-actions { flex-direction: column; align-items: stretch; } .catalogo-segment-actions label { justify-content: space-between; border-radius: 14px; } }

.catalogo-stock-item { color: #166534; background: #dcfce7; border-radius: 999px; padding: 3px 7px; font-weight: 900; }

.catalogo1-page{min-height:100vh;background:#fbfaf9;color:#251a17}

.catalogo1-top{background:linear-gradient(135deg,#7b1f17,#2f0d0a);color:#fff;padding:24px;display:grid;grid-template-columns:1fr minmax(320px,520px);gap:20px}

.catalogo1-top h1{margin:0;font-size:34px}

.catalogo1-top p{margin:4px 0 0;color:#ffe4dc}

.catalogo1-client{position:relative}

.catalogo1-client label{display:grid;gap:6px;font-weight:900}

.catalogo1-client label div{display:flex;gap:8px}

.catalogo1-client input,.catalogo1-context input,.catalogo1-context select,.catalogo1-search input{width:100%;border:1px solid #ead9cf;border-radius:12px;padding:11px;background:#fff;color:#251a17}

.catalogo1-client button,.catalogo1-card-actions button,.catalogo1-finish,.catalogo1-whatsapp{border:0;border-radius:12px;padding:11px 13px;background:#7b1f17;color:#fff;font-weight:900;cursor:pointer;text-decoration:none;text-align:center}

.catalogo1-client-results{position:absolute;z-index:30;left:0;right:0;top:72px;background:#fff;border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.2);overflow:hidden}

.catalogo1-client-results button{display:grid;width:100%;text-align:left;background:#fff;color:#251a17;border-radius:0;border-bottom:1px solid #f0e2da}

.catalogo1-client-results small{color:#806b62}

.catalogo1-context{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 22px;background:#fff;border-bottom:1px solid #ead9cf}

.catalogo1-context label{display:flex;align-items:center;gap:6px;font-weight:900}

.catalogo1-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;padding:18px 22px}

.catalogo1-search{display:flex;align-items:center;gap:12px;margin-bottom:14px}

.catalogo1-search span{font-size:12px;color:#806b62;font-weight:900;white-space:nowrap}

.catalogo1-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}

.catalogo1-card{background:#fff;border:1px solid #ead9cf;border-radius:16px;padding:10px;box-shadow:0 8px 20px rgba(62,30,20,.07)}

.catalogo1-photo{aspect-ratio:1.15/1;background:#f6f1ed;border-radius:12px;display:grid;place-items:center;overflow:hidden}

.catalogo1-card h2{font-size:13px;line-height:1.2;min-height:32px;margin:8px 0 4px}

.catalogo1-card small{display:block;color:#806b62;font-size:11px;font-weight:800}

.catalogo1-card strong{display:block;margin:7px 0;color:#7b1f17;font-size:18px}

.catalogo1-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}

.catalogo1-card-actions button:last-child{background:#1e40af}

.catalogo1-cart{position:sticky;top:12px;align-self:start;background:#fff;border:1px solid #ead9cf;border-radius:18px;padding:14px;box-shadow:0 12px 30px rgba(62,30,20,.12);display:grid;gap:10px}

.catalogo1-cart-head{display:flex;justify-content:space-between;align-items:center}

.catalogo1-cart-head>div{display:grid;gap:2px}

.catalogo1-cart-head span{font-size:11px;color:#806b62;font-weight:900}

.catalogo1-cart-actions-top{position:sticky;top:0;z-index:5;background:#fff;padding:0 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-bottom:1px solid #f0e2da}

.catalogo1-cart h2{margin:0}

.catalogo1-cart-item{border:1px solid #f0e2da;border-radius:14px;padding:10px;display:grid;gap:7px}

.catalogo1-cart-item strong{font-size:13px}

.catalogo1-cart-item small{color:#166534;font-weight:900}

.catalogo1-cart-item div{display:grid;grid-template-columns:1fr 1fr 1.15fr auto;gap:6px;align-items:end}

.catalogo1-cart-item label{font-size:10px;font-weight:900;color:#806b62}

.catalogo1-cart-item input{width:100%;border:1px solid #ead9cf;border-radius:10px;padding:7px}

.catalogo1-cart-item button{border:0;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:900;padding:8px}

.catalogo1-whatsapp{background:#16a34a}

.catalogo1-whatsapp.disabled{opacity:.45;pointer-events:none}

.catalogo1-finish:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:900px){.catalogo1-top,.catalogo1-layout{grid-template-columns:1fr}.catalogo1-cart{position:static}.catalogo1-context{align-items:stretch}.catalogo1-context label{width:100%}}

.catalogo1-client-panel{margin:14px 22px 0;background:#fff;border:1px solid #ead9cf;border-radius:20px;padding:16px;box-shadow:0 12px 30px rgba(62,30,20,.08);display:grid;gap:14px}

.catalogo1-client-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}

.catalogo1-client-panel-head span{font-size:11px;font-weight:900;text-transform:uppercase;color:#7b1f17}

.catalogo1-client-panel-head h2{margin:2px 0;font-size:22px}

.catalogo1-client-panel-head p{margin:0;color:#806b62;font-weight:800}

.catalogo1-credit-badge{border-radius:999px;padding:9px 12px;font-weight:900;font-size:12px;white-space:nowrap}

.catalogo1-credit-badge.ok{background:#dcfce7;color:#166534}

.catalogo1-credit-badge.warn{background:#fee2e2;color:#991b1b}

.catalogo1-client-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}

.catalogo1-client-kpis div{background:#fbfaf9;border:1px solid #f0e2da;border-radius:14px;padding:10px;display:grid;gap:3px}

.catalogo1-client-kpis span{font-size:11px;text-transform:uppercase;color:#806b62;font-weight:900}

.catalogo1-client-kpis strong{font-size:17px;color:#251a17}

.catalogo1-client-kpis small{color:#806b62;font-weight:800}

.catalogo1-client-lists{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.catalogo1-client-lists>div{border:1px solid #f0e2da;border-radius:16px;padding:12px;display:grid;gap:8px}

.catalogo1-client-lists h3{margin:0;font-size:15px}

.catalogo1-client-lists button{border:1px solid #ead9cf;background:#fff;border-radius:12px;padding:9px;text-align:left;cursor:pointer;display:grid;gap:3px}

.catalogo1-client-lists button:hover{border-color:#7b1f17;background:#fff7f4}

.catalogo1-client-lists button strong{font-size:13px}

.catalogo1-client-lists button span,.catalogo1-client-lists p{font-size:11px;color:#806b62;font-weight:800;margin:0}

@media(max-width:900px){.catalogo1-client-panel-head,.catalogo1-client-lists{grid-template-columns:1fr;display:grid}.catalogo1-client-kpis{grid-template-columns:1fr 1fr}.catalogo1-credit-badge{justify-self:start}}

.catalogo1-client-panel.collapsed{padding:12px 16px}

.catalogo1-client-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.catalogo1-client-panel-actions button{border:1px solid #ead9cf;border-radius:999px;background:#fff;color:#7b1f17;font-weight:900;padding:9px 12px;cursor:pointer}

.catalogo1-client-compact{display:flex;gap:12px;flex-wrap:wrap;color:#806b62;font-weight:900;font-size:12px}

.catalogo1-client-panel:not(.collapsed) .catalogo1-client-compact{border-top:1px solid #f0e2da;padding-top:10px}

.catalogo1-cart-product{display:grid!important;grid-template-columns:52px 1fr!important;gap:8px!important;align-items:center!important}

.catalogo1-cart-photo{width:52px;height:52px;border-radius:12px;background:#f6f1ed;overflow:hidden;display:grid;place-items:center}

.catalogo1-cart-photo img{width:100%;height:100%;object-fit:cover}

.catalogo1-cart-summary {
  display: grid;
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.38);
}

.catalogo1-cart-summary div {
  display: grid;
  gap: 3px;
}

.catalogo1-cart-summary span {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted-text, #94a3b8);
  font-weight: 800;
}

.catalogo1-cart-summary strong {
  color: var(--text-color, #f8fafc);
  font-size: 0.92rem;
  line-height: 1.2;
}

.catalogo1-cart-summary div:last-child {
  padding-top: 8px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.catalogo1-cart-summary div:last-child strong {
  font-size: 1.25rem;
  color: #22c55e;
}

.catalogo-standalone-shell {
  min-height: 100vh;
  background: var(--page-bg, #050816);
  padding: 18px;
}

.catalogo-standalone-inner {
  width: min(1800px, 100%);
  margin: 0 auto;
}

.catalogo-standalone-shell .catalogo1-page {
  margin: 0;
}

@media (max-width: 760px) {
  .catalogo-standalone-shell {
    padding: 10px;
  }
}

.catalogo1-card h2 {
  min-height: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.catalogo1-cart-head h2 {
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #7b1f17;
  color: #fff;
  font-size: 20px;
}

.catalogo1-context select {
  min-width: 150px;
}

/* Ajustes para o catálogo de vendas ficar integrado, sem aparência de tela flutuante */

.catalogo-standalone-shell {
  background: #fbfaf9 !important;
  padding: 0 !important;
}

.catalogo-standalone-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.catalogo-standalone-shell .catalogo1-page {
  min-height: 100vh;
  border-radius: 0;
  box-shadow: none;
}

.catalogo1-top {
  background: linear-gradient(135deg, #7b1f17 0%, #5e0e0b 48%, #2f0d0a 100%) !important;
}

.catalogo1-brand-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.catalogo1-logo {
  width: 172px;
  min-height: 72px;
  border-radius: 18px;
  background: #fff;
  padding: 10px 14px;
  display: grid;
  place-items: center;
  box-shadow: 0 18px 35px rgba(0,0,0,.18);
}

.catalogo1-logo img {
  max-width: 100%;
  max-height: 58px;
  object-fit: contain;
  display: block;
}

.catalogo1-cat-link {
  align-self: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  padding: 8px 11px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  transition: .18s ease;
}

.catalogo1-cat-link:hover {
  background: #fff;
  color: #7b1f17;
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .catalogo1-brand-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .catalogo1-logo {
    width: 148px;
    min-height: 60px;
  }
}

/* Carrinho sem quadro duplicado de cliente/prazo/total */

.catalogo1-cart-summary { display: none !important; }

/* Catalogo-1 v2 — painel de venda inteligente */

.catalogo1-page{background:#F7F8FA!important}

.catalogo1-top.compact{padding:14px 22px!important;grid-template-columns:minmax(0,1fr) minmax(320px,480px)!important;align-items:center}

.catalogo1-top.compact h1{font-size:24px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-top.compact p{font-size:13px}

.catalogo1-context-compact{position:sticky;top:0;z-index:20;padding:10px 22px!important;box-shadow:0 10px 26px rgba(15,23,42,.06);border-bottom:0!important}

.catalogo1-context-compact span{font-size:12px;color:#64748b;font-weight:900}

.catalogo1-ai-strip{margin:14px 22px 0;background:#fff;border:1px solid #ECECEC;border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto;align-items:center;gap:16px;box-shadow:0 12px 30px rgba(15,23,42,.07)}

.catalogo1-ai-strip span{font-size:12px;color:#7b1f17;text-transform:uppercase;font-weight:900}

.catalogo1-ai-strip strong{display:block;font-size:20px;color:#111827}

.catalogo1-ai-strip p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:800}

.catalogo1-ai-strip>b{color:#166534}

.catalogo1-ai-strip button{border:0;border-radius:12px;background:#7b1f17;color:#fff;font-weight:900;height:44px;padding:0 18px;cursor:pointer}

.catalogo1-ai-meter{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}

.catalogo1-ai-meter i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px}

.catalogo1-client-panel{border-color:#ECECEC!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}

.catalogo1-card{border-color:#ECECEC!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;transition:transform .2s ease,box-shadow .2s ease}

.catalogo1-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.12)!important}

.catalogo1-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}

.catalogo1-badges span{font-size:10px;font-weight:900;border-radius:999px;background:#fff7ed;color:#c2410c;padding:4px 6px}

.catalogo1-badges .ok{background:#dcfce7;color:#166534}

.catalogo1-badges .warn{background:#fee2e2;color:#991b1b}

.catalogo1-margin{display:block;color:#166534;font-style:normal;font-size:11px;font-weight:900;margin:-3px 0 7px}

.catalogo1-cart{border-color:#ECECEC!important;box-shadow:0 16px 40px rgba(15,23,42,.1)!important}

.catalogo1-cart-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}

.catalogo1-cart-kpis span{background:#F7F8FA;border-radius:12px;padding:8px;color:#64748b;font-size:11px;font-weight:900}

.catalogo1-cart-kpis b{display:block;color:#111827;font-size:13px}

.catalogo1-progress{display:grid;gap:6px;background:#F7F8FA;border-radius:12px;padding:9px;overflow:hidden}

.catalogo1-progress:before{content:"";display:none}

.catalogo1-progress i{height:8px;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:999px}

.catalogo1-progress small{color:#64748b;font-weight:900;font-size:11px}

@media(max-width:900px){.catalogo1-ai-strip{grid-template-columns:1fr}.catalogo1-top.compact{grid-template-columns:1fr!important}}

/* Catalogo-1 — cards de recomendação comercial */

.catalogo1-last-order{display:grid;grid-template-columns:220px 1fr;gap:14px;background:#F7F8FA;border-radius:18px;padding:14px}

.catalogo1-last-order h3,.catalogo1-client-lists h3{margin:0;color:#111827}

.catalogo1-last-order p{margin:4px 0 0;color:#64748b;font-size:12px;font-weight:800}

.catalogo1-last-order-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}

.catalogo1-last-order-list button{border:1px solid #fee2e2;background:#fff;border-radius:14px;padding:10px;text-align:left;display:grid;gap:3px;cursor:pointer}

.catalogo1-last-order-list button.added{border-color:#bbf7d0;background:#f0fdf4}

.catalogo1-last-order-list span{font-size:18px}

.catalogo1-last-order-list strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-last-order-list small{color:#64748b;font-weight:900}

.catalogo1-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

.catalogo1-opportunity-grid>div{background:#fff;border:1px solid #ECECEC!important;box-shadow:0 8px 24px rgba(15,23,42,.05)}

.catalogo1-suggestion-card{border:1px solid #ECECEC;background:#fff;border-radius:16px;padding:10px;display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:center;transition:transform .2s ease,box-shadow .2s ease}

.catalogo1-suggestion-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.1)}

.catalogo1-suggestion-photo{width:66px;height:66px;border-radius:14px;background:#F7F8FA;overflow:hidden;display:grid;place-items:center}

.catalogo1-suggestion-photo img{width:100%;height:100%;object-fit:cover}

.catalogo1-segment-score{width:66px;height:66px;border-radius:14px;background:#fff7ed;color:#c2410c;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:900}

.catalogo1-suggestion-body{display:grid;gap:5px}

.catalogo1-suggestion-body strong{font-size:14px;color:#111827}

.catalogo1-suggestion-meta{display:flex;gap:6px;flex-wrap:wrap}

.catalogo1-suggestion-meta span{border-radius:999px;background:#F7F8FA;color:#64748b;padding:4px 7px;font-size:10px;font-weight:900}

.catalogo1-suggestion-body p{margin:0;color:#64748b;font-size:11px;font-weight:800}

.catalogo1-suggestion-body button{justify-self:start;border:0;border-radius:10px;background:#7b1f17;color:#fff;font-weight:900;padding:8px 12px;cursor:pointer}

.catalogo1-suggestion-card.premium .catalogo1-segment-score{background:#dcfce7;color:#166534}

.catalogo1-suggestion-card.promo .catalogo1-suggestion-meta span:first-child{background:#ffedd5;color:#c2410c}

@media(max-width:900px){.catalogo1-last-order,.catalogo1-opportunity-grid{grid-template-columns:1fr!important}}

/* Carrinho: remover métricas confusas e manter só explicação útil da IA */

.catalogo1-cart-kpis,.catalogo1-progress{display:none!important}

.catalogo1-smart-note{border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;padding:10px;display:grid;gap:4px}

.catalogo1-smart-note strong{font-size:12px;color:#7b1f17}

.catalogo1-smart-note span{font-size:12px;color:#475569;font-weight:800;line-height:1.35}

/* Atalhos e IA mais objetiva */

.catalogo1-shortcuts{color:#94a3b8;font-size:11px;font-weight:900;white-space:nowrap}

.catalogo1-ai-actions{display:grid;gap:3px}

.catalogo1-ai-actions b{color:#166534}

.catalogo1-ai-actions small{color:#64748b;font-size:11px;font-weight:900}

.catalogo1-search{flex-wrap:wrap}

.catalogo1-search input:focus{outline:3px solid rgba(123,31,23,.16);border-color:#7b1f17!important}

/* Compactação dos nomes de produto: sempre uma linha com reticências */

.catalogo1-card h2,.catalogo1-suggestion-body strong,.catalogo1-last-order-list strong,.catalogo1-cart-product strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-card{min-width:0}

.catalogo1-card h2{font-size:15px;line-height:1.2;min-height:auto}

.catalogo1-suggestion-body,.catalogo1-cart-product>div{min-width:0}

.catalogo1-margin{display:none!important}

/* Carrinho: foto menos espremida e mais limpa */

.catalogo1-cart-product{grid-template-columns:1fr!important;gap:6px!important}

.catalogo1-cart-photo{display:none!important}

.catalogo1-cart-item{padding:9px}

.catalogo1-cart-item strong{font-size:12px;line-height:1.2}

.catalogo1-cart-item small{font-size:12px}

.catalogo1-cart-item>div:last-child{grid-template-columns:.72fr .72fr 1fr auto;gap:5px}

.catalogo1-cart-item input{padding:6px 7px}

.catalogo1-cart-item button{padding:7px 8px;font-size:11px}

/* Selos comerciais mais honestos */

.catalogo1-badges span:first-child{max-width:94px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(62,30,20,.12);border-color:#e4c8bd}

.catalogo1-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}

/* Carrinho: foto voltou, mas sem ficar espremida */

.catalogo1-cart-product{grid-template-columns:46px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}

.catalogo1-cart-photo{display:grid!important;width:46px!important;height:46px!important;min-width:46px!important;border-radius:12px;background:#fff7ed;border:1px solid #f1e2d8;overflow:hidden;place-items:center!important}

.catalogo1-cart-photo img{width:100%!important;height:100%!important;object-fit:contain!important;padding:3px;box-sizing:border-box}

.catalogo1-cart-product>div:last-child{display:block!important;min-width:0!important}

.catalogo1-cart-product strong{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-cart-product small{display:block;margin-top:2px}

/* Catalogo-1 UX premium compacta — sem alterar regra de negócio */

.catalogo1-page{background:#F7F8FA!important;color:#1f2933!important}

.catalogo1-top.compact{padding:12px 18px!important;grid-template-columns:minmax(0,1fr) minmax(300px,440px)!important;gap:14px!important;background:linear-gradient(135deg,#7b1f17,#43110d)!important}

.catalogo1-brand-head{align-items:center!important;gap:14px!important}

.catalogo1-logo{width:132px!important;height:44px!important;border-radius:12px!important}

.catalogo1-top h1{font-size:23px!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:780px}

.catalogo1-top p{font-size:12px!important;margin-top:3px!important}

.catalogo1-client label{gap:4px!important}

.catalogo1-client input{padding:9px 10px!important}

.catalogo1-client button{padding:9px 12px!important}

.catalogo1-context-compact{padding:8px 18px!important;gap:8px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px);border-bottom:1px solid #EAEAEA!important}

.catalogo1-context-compact strong{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalogo1-context-compact span,.catalogo1-context-compact label{font-size:12px!important}

.catalogo1-context select{padding:7px 9px!important;border-radius:10px!important}

.catalogo1-ai-strip{margin:10px 18px!important;padding:12px 14px!important;border:1px solid #EAEAEA!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#fff7f3)!important;box-shadow:0 12px 30px rgba(17,24,39,.07)!important;grid-template-columns:minmax(0,1.35fr) 130px minmax(210px,.8fr) auto!important;gap:12px!important;align-items:center!important}

.catalogo1-ai-strip>div:first-child{display:grid;gap:2px}

.catalogo1-ai-strip span{font-size:11px!important;color:#7b1f17!important;font-weight:950}

.catalogo1-ai-strip strong{font-size:18px!important;letter-spacing:-.02em}

.catalogo1-ai-strip p{margin:0!important;font-size:12px!important;line-height:1.25!important;color:#64748b!important}

.catalogo1-ai-meter{height:9px!important;border-radius:999px;background:#f1e7e1!important;overflow:hidden}

.catalogo1-ai-meter i{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,#16a34a,#f59e0b,#7b1f17)}

.catalogo1-ai-strip button{height:42px!important;border-radius:12px!important;border:0!important;background:#7b1f17!important;color:#fff!important;font-weight:950!important;padding:0 16px!important;box-shadow:0 10px 22px rgba(123,31,23,.2)}

.catalogo1-client-panel{margin:0 18px 10px!important;padding:10px 12px!important;border:1px solid #EAEAEA!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 24px rgba(17,24,39,.05)!important}

.catalogo1-client-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}

.catalogo1-client-panel-head h2{font-size:17px!important;margin:1px 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}

.catalogo1-client-panel-head p{margin:0!important;font-size:12px!important;color:#64748b}

.catalogo1-client-panel-head span{font-size:11px!important;color:#7b1f17;font-weight:950}

.catalogo1-client-panel-actions button,.catalogo1-credit-badge{padding:7px 10px!important;font-size:11px!important}

.catalogo1-client-compact{padding-top:7px!important;gap:10px!important;font-size:12px!important}

.catalogo1-client-kpis{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}

.catalogo1-client-kpis>div{padding:8px 10px!important;border-radius:14px!important;background:#F7F8FA!important;border:1px solid #EAEAEA!important}

.catalogo1-client-kpis span{font-size:10px!important;color:#64748b!important}

.catalogo1-client-kpis strong{font-size:13px!important}

.catalogo1-last-order{margin-top:8px!important;padding:10px!important;border-radius:14px!important;background:#fff!important;border:1px solid #EAEAEA!important}

.catalogo1-last-order h3{margin:0!important;font-size:14px!important}

.catalogo1-last-order p{display:none}

.catalogo1-last-order-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}

.catalogo1-last-order-list button{min-height:42px!important;padding:7px!important;border-radius:12px!important}

.catalogo1-opportunity-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}

.catalogo1-opportunity-grid>div{padding:10px!important;border:1px solid #EAEAEA!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 20px rgba(17,24,39,.04)!important}

.catalogo1-opportunity-grid h3{margin:0 0 8px!important;font-size:14px!important}

.catalogo1-suggestion-card{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:8px!important;padding:8px!important;border:0!important;border-radius:14px!important;background:#F7F8FA!important;box-shadow:none!important;margin-bottom:7px!important;align-items:center!important}

.catalogo1-suggestion-photo{width:44px!important;height:44px!important;border-radius:12px!important;background:#fff!important}

.catalogo1-suggestion-photo img{object-fit:contain!important;padding:3px!important}

.catalogo1-segment-score{width:44px!important;height:44px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#fff3e8!important;color:#92400e!important;font-size:12px!important}

.catalogo1-suggestion-body{gap:4px!important;display:grid!important}

.catalogo1-suggestion-body strong{font-size:12px!important}

.catalogo1-suggestion-meta{display:flex!important;gap:6px!important;flex-wrap:wrap!important}

.catalogo1-suggestion-meta span{font-size:10px!important;color:#64748b!important;background:#fff!important;border-radius:999px!important;padding:2px 6px!important}

.catalogo1-suggestion-body p{display:none!important}

.catalogo1-suggestion-body button{justify-self:start!important;border:0!important;border-radius:10px!important;background:#7b1f17!important;color:#fff!important;font-size:11px!important;font-weight:950!important;padding:6px 9px!important}

.catalogo1-layout{grid-template-columns:minmax(0,1fr) 370px!important;gap:14px!important;padding:0 18px 18px!important}

.catalogo1-search{background:#fff!important;border:1px solid #EAEAEA!important;border-radius:16px!important;padding:9px!important;margin-bottom:10px!important;box-shadow:0 8px 22px rgba(17,24,39,.04)!important}

.catalogo1-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))!important;gap:11px!important}

.catalogo1-card{border:1px solid #EAEAEA!important;border-radius:16px!important;background:#fff!important;padding:10px!important;box-shadow:0 8px 22px rgba(17,24,39,.05)!important}

.catalogo1-photo{aspect-ratio:1.28/1!important;border-radius:14px!important;background:#F7F8FA!important}

.catalogo1-photo img{object-fit:contain!important;padding:4px!important}

.catalogo1-card h2{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px!important;font-size:13px!important;line-height:1.25!important}

.catalogo1-badges{display:flex!important;gap:5px!important;align-items:center!important;margin-top:7px!important}

.catalogo1-badges span{font-size:10px!important;border-radius:999px!important;padding:4px 6px!important;background:#f8fafc!important;color:#475569!important;font-weight:950!important}

.catalogo1-badges .ok{background:#dcfce7!important;color:#166534!important}

.catalogo1-badges .warn{background:#fff7ed!important;color:#c2410c!important}

.catalogo1-card>strong{font-size:20px!important;color:#7b1f17!important;letter-spacing:-.03em!important;margin:6px 0!important}

.catalogo1-card-actions button{height:36px!important;padding:0!important;border-radius:11px!important}

.catalogo1-cart{top:10px!important;border:1px solid #EAEAEA!important;border-radius:16px!important;background:#fff!important;box-shadow:0 14px 32px rgba(17,24,39,.09)!important;padding:12px!important;max-height:calc(100vh - 20px)!important;overflow:auto!important}

.catalogo1-cart-head{position:sticky;top:-12px;z-index:6;background:#fff;padding:2px 0 8px;border-bottom:1px solid #EAEAEA}

.catalogo1-cart-head b{font-size:20px;color:#7b1f17}

.catalogo1-cart-actions-top{top:43px!important;padding:8px 0!important}

.catalogo1-cart-actions-top a,.catalogo1-cart-actions-top button{height:40px!important;display:grid!important;place-items:center!important;border-radius:12px!important}

.catalogo1-smart-note{border:0!important;background:#f8fafc!important}

.catalogo1-cart-item{border:1px solid #EAEAEA!important;border-radius:14px!important;background:#fff!important;box-shadow:0 6px 14px rgba(17,24,39,.04)!important}

.catalogo1-cart-photo{background:#F7F8FA!important;border-color:#EAEAEA!important}

@media(max-width:1200px){.catalogo1-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.catalogo1-ai-strip{grid-template-columns:1fr!important}.catalogo1-last-order-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

@media(max-width:900px){.catalogo1-top.compact,.catalogo1-layout{grid-template-columns:1fr!important}.catalogo1-opportunity-grid{grid-template-columns:1fr!important}}

/* Catalogo-1: alinhar conteúdo dos quadros sempre de cima para baixo */

.catalogo1-opportunity-grid{align-items:start!important}

.catalogo1-opportunity-grid>div{align-self:start!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-content:flex-start!important;min-height:0!important}

.catalogo1-opportunity-grid>div>*{flex:0 0 auto}

.catalogo1-client-lists{align-items:start!important}

.catalogo1-suggestion-card{align-self:stretch!important}

.catalogo1-last-order{align-self:start!important}

.catalogo1-layout{align-items:start!important}

.catalogo1-client-panel{align-self:start!important}

/* Busca operacional rápida */

.catalogo1-clear-search{border:0;border-radius:10px;background:#f1f5f9;color:#475569;font-weight:950;padding:8px 10px;cursor:pointer}

.catalogo1-quick-filters{display:flex;gap:6px;flex-wrap:wrap;width:100%;padding-top:2px}

.catalogo1-quick-filters button{border:1px solid #EAEAEA;background:#fff;color:#475569;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950;cursor:pointer}

.catalogo1-quick-filters button:hover{border-color:#7b1f17;color:#7b1f17;background:#fff7f3}

/* Correção definitiva: foto visível no carrinho */

.catalogo1-cart .catalogo1-cart-product{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:9px!important;align-items:center!important}

.catalogo1-cart .catalogo1-cart-photo{display:block!important;width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;border-radius:13px!important;background:#F7F8FA!important;border:1px solid #EAEAEA!important;overflow:hidden!important}

.catalogo1-cart .catalogo1-cart-photo img,.catalogo1-cart .catalogo1-cart-photo .product-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important;box-sizing:border-box!important}

.catalogo1-cart .catalogo1-cart-photo .product-image-fallback{display:grid!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;box-sizing:border-box!important}

.catalogo1-cart .catalogo1-cart-photo .product-image-fallback span{font-size:18px!important}

.catalogo1-cart .catalogo1-cart-photo .product-image-fallback small{display:none!important}

.catalogo-back-cat-link { text-decoration: none; display: inline-grid; place-items: center; min-width: 48px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.32); font-weight: 950; letter-spacing: .06em; }

.catalogo-back-cat-link:hover { background: rgba(255,255,255,.22); transform: translateY(-1px); }

.catalogo-hero-actions { gap: 8px; align-items: center; }

@media (max-width: 760px) { .catalogo-back-cat-link { width: 100%; } }

/* Equaliza a barra superior do /catalogo-1 com o vermelho do /catalogo */

.catalogo1-top,
.catalogo1-top.compact {
  background: linear-gradient(135deg, #7b1f17 0%, #4b120e 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(75, 18, 14, .25) !important;
}

.catalogo1-top p,
.catalogo1-top.compact p {
  color: #ffe4dc !important;
}

/* /catalogo-1: a barra fixa abaixo do topo também deve usar o mesmo vermelho do catálogo */

.catalogo1-context.catalogo1-context-compact {
  background: linear-gradient(135deg, #7b1f17 0%, #4b120e 100%) !important;
  color: #fff !important;
  border-bottom: 0 !important;
  box-shadow: 0 10px 28px rgba(75, 18, 14, .25) !important;
  backdrop-filter: none !important;
}

.catalogo1-context.catalogo1-context-compact strong,
.catalogo1-context.catalogo1-context-compact span,
.catalogo1-context.catalogo1-context-compact label {
  color: #fff !important;
}

.catalogo1-context.catalogo1-context-compact select {
  background: rgba(255,255,255,.96) !important;
  color: #251a17 !important;
  border-color: rgba(255,255,255,.35) !important;
}

/* Botão de sair nas telas do catálogo */

.catalogo-logout-bar{position:fixed;right:14px;bottom:14px;z-index:90;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.96);border:1px solid #ead9cf;border-radius:999px;padding:7px 8px 7px 12px;box-shadow:0 12px 30px rgba(17,24,39,.16);color:#251a17;font-size:12px;font-weight:900}

.catalogo-logout-btn{border:0;border-radius:999px;background:#7b1f17;color:#fff;font-weight:950;padding:9px 12px;cursor:pointer;white-space:nowrap}

.catalogo-logout-btn:hover{background:#4b120e}

.catalogo-user-mini{color:#fff;font-size:12px;font-weight:900;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.95}

@media(max-width:760px){.catalogo-logout-bar{right:10px;bottom:10px}.catalogo-logout-bar span{display:none}.catalogo-user-mini{display:none}.catalogo-hero-actions .catalogo-logout-btn{width:100%}}

/* Política comercial do carrinho */

.catalogo1-price-policy-range{display:block;margin-top:3px;color:#888;font-size:10px;font-weight:700;line-height:1.2}

.catalogo1-price-policy-warn{display:block;margin-top:2px;color:#c0392b;font-size:10px;font-weight:900;line-height:1.2}

.catalogo1-cart-item label:has(.catalogo1-price-policy-range){min-width:150px}

/* Catálogo público */

.catalogo-publico-page .catalogo-hero{min-height:auto}

.catalogo-publico-page .catalogo-hero-inner{padding-bottom:28px}

.catalogo-publico-shell{align-items:start}

.catalogo-publico-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 18px;border:1px solid #ead9cf;border-radius:18px;background:#fff}

.catalogo-publico-head strong{font-size:18px;color:#4b120e}

.catalogo-publico-head span{color:#806b62;font-weight:700}

.catalogo-publico-card{cursor:default;text-align:left}

.catalogo-publico-card:hover{transform:translateY(-2px)}

.catalogo-publico-card .catalogo-card-body{min-height:118px}

.catalogo-publico-card .catalogo-code{margin-top:auto}

.catalogo-publico-page .catalogo-sidebar small{line-height:1.35}

/* Preço promocional no catálogo operacional */

.catalogo1-promo-price{display:flex;flex-direction:column;gap:2px;margin-top:4px}

.catalogo1-promo-price span{width:max-content;padding:3px 7px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:10px;font-weight:900;text-transform:uppercase}

.catalogo1-promo-price del{color:#9ca3af;font-size:12px;font-weight:800}

.catalogo1-promo-price strong{color:#b91c1c;font-size:20px;font-weight:950}

/* Visão Comercial BI */

.visao-comercial-page{display:flex;flex-direction:column;gap:18px}

.visao-hero{background:linear-gradient(135deg,#062f2a 0%,#0f766e 48%,#22c55e 100%)}

.visao-tabs{display:flex;gap:8px;overflow:auto;padding:4px}

.visao-tabs button{border:1px solid var(--border-color,#dbe3ef);background:rgba(255,255,255,.82);color:var(--text-color,#0f172a);border-radius:999px;padding:9px 14px;font-weight:800;white-space:nowrap}

.visao-tabs button.active{background:#0f766e;color:#fff;border-color:#0f766e}

.visao-filters{display:grid;grid-template-columns:repeat(8,minmax(130px,1fr));gap:12px;align-items:end}

.visao-card-grid{grid-template-columns:repeat(5,minmax(160px,1fr))}

.visao-kpi{position:relative;overflow:hidden}

.visao-kpi::after{content:'';position:absolute;inset:auto 14px 10px 14px;height:4px;border-radius:999px;background:#94a3b8}

.visao-kpi.ok::after{background:#22c55e}

.visao-kpi.warn::after{background:#f59e0b}

.visao-kpi.bad::after{background:#ef4444}

.visao-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:16px;align-items:start}

.visao-table-panel{min-width:0}

.radar-list{display:flex;flex-direction:column;gap:10px;max-height:620px;overflow:auto}

.radar-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}

.radar-item span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f59e0b;color:#fff;font-weight:950}

.radar-item.critical span{background:#ef4444}

.radar-item strong{display:block;font-size:13px;color:#0f172a}

.radar-item p{margin:2px 0 0;color:#64748b;font-size:12px;line-height:1.35}

.daily-chart{height:270px;display:flex;align-items:stretch;gap:8px;padding:10px 4px 0;overflow:auto}

.daily-bar{min-width:34px;display:grid;grid-template-rows:22px 1fr 32px;gap:6px;text-align:center;color:#64748b;font-size:11px;font-weight:800}

.daily-bar>div{position:relative;border-radius:14px;background:linear-gradient(180deg,#f8fafc,#e2e8f0);overflow:hidden;border:1px solid #e2e8f0}

.daily-bar i{position:absolute;left:6px;right:6px;bottom:0;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#22c55e,#0f766e)}

.daily-bar em{position:absolute;left:0;right:0;height:2px;background:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.2)}

.daily-bar small{font-size:9px;color:#475569;writing-mode:vertical-rl;justify-self:center;max-height:32px;overflow:hidden}

@media(max-width:1200px){.visao-filters{grid-template-columns:repeat(3,1fr)}.visao-card-grid{grid-template-columns:repeat(2,1fr)}.visao-main-grid{grid-template-columns:1fr}}

@media(max-width:700px){.visao-filters,.visao-card-grid{grid-template-columns:1fr}.daily-chart{height:220px}.daily-bar{min-width:28px}}

/* Ajuste Visão Comercial: cards reais e seções sem sobreposição */

.visao-comercial-page .visao-card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100% !important;
}

.visao-comercial-page .visao-kpi{
  min-height:118px !important;
  border-radius:22px !important;
  padding:18px 18px 22px !important;
  background:var(--surface-color,#fff) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  box-shadow:0 18px 45px rgba(15,23,42,.08) !important;
}

.visao-comercial-page .visao-kpi span{display:block;font-size:12px;font-weight:850;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}

.visao-comercial-page .visao-kpi strong{display:block;font-size:clamp(22px,2.2vw,32px);line-height:1.05;color:var(--text-color,#0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.visao-comercial-page .visao-kpi small{display:block;margin-top:8px;color:#64748b;font-weight:750}

.visao-comercial-page .visao-main-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 360px !important;
  gap:18px !important;
  align-items:start !important;
  position:relative !important;
  clear:both !important;
  width:100% !important;
}

.visao-comercial-page .visao-table-panel,
.visao-comercial-page .radar-panel,
.visao-comercial-page .daily-chart-panel{
  position:relative !important;
  z-index:1 !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.visao-comercial-page .table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  display:block !important;
}

.visao-comercial-page table{min-width:1500px !important;border-collapse:separate !important;border-spacing:0 !important}

.visao-comercial-page .radar-panel{grid-column:auto !important;max-height:none !important}

.visao-comercial-page .daily-chart-panel{margin-top:18px !important;clear:both !important;width:100% !important}

.visao-comercial-page .daily-chart{height:300px !important;min-height:300px !important;overflow-x:auto !important;overflow-y:hidden !important}

.visao-comercial-page .panel-shell{box-sizing:border-box !important}

@media(max-width:1280px){
  .visao-comercial-page .visao-main-grid{grid-template-columns:1fr !important}
  .visao-comercial-page .radar-panel{grid-column:1 !important}
}

@media(max-width:760px){
  .visao-comercial-page .visao-card-grid{grid-template-columns:1fr !important}
  .visao-comercial-page .daily-chart{height:230px !important;min-height:230px !important}
}

/* Visão Comercial - layout solicitado: cards no topo, 6 por linha, tabela full e radar abaixo */

.visao-compact-page{gap:12px !important;padding-top:0 !important}

.visao-compact-page .visao-hero{display:none !important}

.visao-compact-page .visao-card-grid-top{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:0 !important;
  order:0 !important;
}

.visao-compact-page .visao-kpi{
  min-height:104px !important;
  padding:14px 14px 20px !important;
  border-radius:18px !important;
}

.visao-compact-page .visao-kpi span{font-size:10.5px !important;margin-bottom:6px !important}

.visao-compact-page .visao-kpi strong{font-size:clamp(17px,1.45vw,24px) !important;letter-spacing:-.04em !important}

.visao-compact-page .visao-kpi small{font-size:11px !important;margin-top:6px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.visao-compact-page .visao-filters-compact{grid-template-columns:repeat(8,minmax(110px,1fr)) !important;padding:12px !important;gap:10px !important}

.visao-compact-page .visao-tabs-compact{padding:0 !important;margin:0 !important}

.visao-content-stack{display:flex !important;flex-direction:column !important;gap:14px !important;width:100% !important;min-width:0 !important}

.visao-table-full{width:100% !important;min-height:calc(100vh - 390px) !important;display:flex !important;flex-direction:column !important}

.visao-table-full .table-wrap{flex:1 !important;min-height:420px !important;overflow:auto !important}

.visao-table-full table{min-width:1500px !important;width:100% !important}

.radar-panel-bottom{width:100% !important;max-height:none !important;overflow:visible !important}

.radar-panel-bottom .radar-list-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;max-height:none !important;overflow:visible !important}

.radar-panel-bottom .radar-item{min-height:82px !important}

@media(max-width:1500px){.visao-compact-page .visao-card-grid-top{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.radar-panel-bottom .radar-list-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

@media(max-width:900px){.visao-compact-page .visao-card-grid-top{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.visao-compact-page .visao-filters-compact{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.radar-panel-bottom .radar-list-grid{grid-template-columns:1fr !important}.visao-table-full{min-height:auto !important}}

@media(max-width:560px){.visao-compact-page .visao-card-grid-top,.visao-compact-page .visao-filters-compact{grid-template-columns:1fr !important}}

/* Catalogo-1: equaliza altura/alinhamento dos cards de produto */

.catalogo1-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
}

.catalogo1-grid .catalogo1-card{
  height:100% !important;
  min-height:294px !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

.catalogo1-grid .catalogo1-photo{
  height:132px !important;
  aspect-ratio:auto !important;
  flex:0 0 132px !important;
}

.catalogo1-grid .catalogo1-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.catalogo1-grid .catalogo1-badges{
  min-height:24px !important;
  flex:0 0 auto !important;
  overflow:hidden !important;
}

.catalogo1-grid .catalogo1-card h2{
  min-height:34px !important;
  max-height:34px !important;
  margin:8px 0 4px !important;
  overflow:hidden !important;
}

.catalogo1-grid .catalogo1-card small{
  min-height:15px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.catalogo1-grid .catalogo1-card > strong,
.catalogo1-grid .catalogo1-promo-price{
  min-height:32px !important;
  display:flex !important;
  align-items:center !important;
  margin:6px 0 !important;
}

.catalogo1-grid .catalogo1-card-actions{
  margin-top:auto !important;
}

@media(max-width:760px){
  .catalogo1-grid .catalogo1-card{min-height:282px !important}
  .catalogo1-grid .catalogo1-photo{height:120px !important;flex-basis:120px !important}
}

/* Catalogo-1: preço compacto e sempre alinhado no card */

.catalogo1-grid .catalogo1-card > strong{
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  display:flex !important;
  align-items:center !important;
  margin:6px 0 8px !important;
  font-size:20px !important;
  line-height:1 !important;
}

.catalogo1-grid .catalogo1-promo-price{
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  margin:6px 0 8px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  grid-template-rows:14px 20px !important;
  column-gap:6px !important;
  row-gap:1px !important;
  align-items:center !important;
  overflow:hidden !important;
}

.catalogo1-grid .catalogo1-promo-price span{
  grid-column:1 / 2 !important;
  grid-row:1 / 2 !important;
  max-width:62px !important;
  padding:2px 5px !important;
  font-size:8.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.catalogo1-grid .catalogo1-promo-price del{
  grid-column:2 / 3 !important;
  grid-row:1 / 2 !important;
  font-size:10px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.catalogo1-grid .catalogo1-promo-price strong{
  grid-column:1 / 3 !important;
  grid-row:2 / 3 !important;
  margin:0 !important;
  font-size:20px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Design System cycle 2026-07-21: corporate blue hero cleanup for Compras routes */

.compras-page .compras-hero,
.leadtime-page .leadtime-hero {
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, .18), transparent 36%),
    linear-gradient(135deg, #0f172a 0%, #1e40af 62%, #2563eb 100%);
}

/* Design System cycle 2026-07-29: catalogo operacional blue token cleanup */

.catalogo1-top,
.catalogo1-top.compact,
.catalogo1-context.catalogo1-context-compact {
  background: linear-gradient(135deg, #0f172a 0%, #1e40af 58%, #2563eb 100%) !important;
  box-shadow: 0 14px 34px rgba(30, 64, 175, .22) !important;
}

.catalogo1-top p,
.catalogo1-top.compact p,
.catalogo1-context.catalogo1-context-compact strong,
.catalogo1-context.catalogo1-context-compact span,
.catalogo1-context.catalogo1-context-compact label {
  color: rgba(255, 255, 255, .9) !important;
}

.catalogo1-context.catalogo1-context-compact select {
  color: #0f172a !important;
  border-color: rgba(226, 232, 240, .95) !important;
}

.catalogo1-cart-head h2,
.catalogo1-client button,
.catalogo1-card-actions button:first-child,
.catalogo1-ai-strip button,
.catalogo1-suggestion-body button,
.catalogo1-segment-head button,
.catalogo1-client-panel-actions button:hover,
.catalogo1-clear-search:hover,
.catalogo-logout-btn {
  background: #1e40af !important;
  color: #ffffff !important;
  border-color: #1e40af !important;
  box-shadow: 0 10px 24px rgba(30, 64, 175, .18) !important;
}

.catalogo1-cat-link:hover,
.catalogo1-client-panel-head span,
.catalogo1-ai-strip span,
.catalogo1-smart-note strong,
.catalogo1-card > strong,
.catalogo1-cart-head b,
.catalogo1-client-panel-actions button,
.catalogo1-quick-filters button:hover,
.catalogo-publico-head strong,
.catalogo-mode-toggle button,
.catalogo-selection-total b,
.catalogo-segment-note,
.catalogo-segment-actions select {
  color: #1e40af !important;
}

.catalogo-mode-toggle button.active,
.catalogo-selection-chip-actions button:first-child {
  background: #1e40af !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(30, 64, 175, .18) !important;
}

.catalogo-mode-toggle button,
.catalogo-selection-chip,
.catalogo-selection-total,
.catalogo-segment-panel,
.catalogo-segment-grid button,
.catalogo-segment-actions label,
.catalogo-logout-bar,
.catalogo-publico-head {
  border-color: #e2e8f0 !important;
}

.catalogo-selection-total,
.catalogo-segment-panel,
.catalogo1-ai-strip,
.catalogo1-photo,
.catalogo1-cart-photo,
.catalogo1-segment-score {
  background: #f8fafc !important;
}

.catalogo-segment-grid button.active {
  border-color: #1e40af !important;
  background: #eff6ff !important;
  box-shadow: inset 0 0 0 1px #1e40af !important;
}

.catalogo1-search input:focus {
  outline-color: rgba(37, 99, 235, .18) !important;
  border-color: #2563eb !important;
}

/* Design System cycle 2026-07-29: Catalogo-1 corporate blue cleanup */

.catalogo1-top,
.catalogo1-top.compact,
.catalogo1-context.catalogo1-context-compact {
  background: linear-gradient(135deg, #0F172A 0%, #1E40AF 100%) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(30, 64, 175, .20) !important;
}

.catalogo1-top p,
.catalogo1-top.compact p,
.catalogo1-brand-head p,
.catalogo1-context.catalogo1-context-compact strong,
.catalogo1-context.catalogo1-context-compact span,
.catalogo1-context.catalogo1-context-compact label {
  color: #DBEAFE !important;
}

.catalogo1-ai-strip {
  background: linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 100%) !important;
  border-color: #E2E8F0 !important;
}

.catalogo1-ai-strip span,
.catalogo1-client-panel-head span,
.catalogo1-smart-note strong,
.catalogo1-card > strong,
.catalogo1-cart-head b,
.catalogo1-grid .catalogo1-card > strong,
.catalogo1-grid .catalogo1-promo-price strong {
  color: #1E40AF !important;
}

.catalogo1-client button,
.catalogo1-ai-strip button,
.catalogo1-suggestion-body button,
.catalogo1-quick-filters button:hover,
.catalogo-logout-btn {
  background: #1E40AF !important;
  border-color: #1E40AF !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(30, 64, 175, .18) !important;
}

.catalogo1-search input:focus,
.catalogo1-client-lists button:hover {
  border-color: #2563EB !important;
  outline-color: rgba(37, 99, 235, .16) !important;
  background: #EFF6FF !important;
}

.catalogo1-card:hover {
  border-color: #BFDBFE !important;
  box-shadow: 0 16px 34px rgba(30, 64, 175, .12) !important;
}

.catalogo-back-cat-link,
.catalogo1-clear-search,
.catalogo1-quick-filters button {
  border-color: #E2E8F0 !important;
  color: #1E40AF !important;
}

/* Design System cycle 2026-07-30: neutraliza resíduos quentes do Catálogo operacional sem alterar fluxo */

.catalogo1-top,
.catalogo1-top.compact,
.catalogo1-context.catalogo1-context-compact {
  background: linear-gradient(135deg, #0F172A 0%, #1E40AF 100%) !important;
  box-shadow: 0 14px 32px rgba(30, 64, 175, .22) !important;
}

.catalogo1-top p,
.catalogo1-top.compact p {
  color: #DBEAFE !important;
}

.catalogo1-ai-strip {
  background: linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 100%) !important;
  border-color: #DBEAFE !important;
}

.catalogo1-ai-strip span,
.catalogo1-client-panel-head span,
.catalogo1-card > strong,
.catalogo1-cart-head b,
.catalogo1-quick-filters button:hover {
  color: #1E40AF !important;
}

.catalogo1-ai-meter {
  background: #DBEAFE !important;
}

.catalogo1-ai-meter i {
  background: linear-gradient(90deg, #10B981, #2563EB) !important;
}

.catalogo1-ai-strip button,
.catalogo1-suggestion-body button,
.catalogo1-logout-btn,
.catalogo1-client button,
.catalogo1-card-actions button,
.catalogo1-finish,
.catalogo1-whatsapp:not(.disabled) {
  background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%) !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .20) !important;
}

.catalogo1-logout-btn:hover {
  background: #1E3A8A !important;
}

.catalogo1-quick-filters button:hover {
  border-color: #2563EB !important;
  background: #EFF6FF !important;
}

.catalogo1-cart-photo,
.catalogo1-photo,
.catalogo1-client-kpis > div,
.catalogo1-smart-note {
  background: #F8FAFC !important;
  border-color: #E2E8F0 !important;
}

.catalogo1-segment-score,
.catalogo1-promo-price span {
  background: #EFF6FF !important;
  color: #1E40AF !important;
}

.catalogo1-promo-price strong {
  color: #1E40AF !important;
}

/* Design System cycle 2026-07-30 03:04 UTC: alinha Catálogo público aos tokens SaaS Enterprise */

.catalogo-page {
  background: #F8FAFC !important;
  color: #0F172A !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .08) !important;
}

.catalogo-page .catalogo-hero,
.catalogo-page .catalogo-model-rule {
  background: linear-gradient(135deg, #0F172A 0%, #1E40AF 100%) !important;
  border-color: rgba(37, 99, 235, .36) !important;
  box-shadow: 0 14px 32px rgba(30, 64, 175, .22) !important;
}

.catalogo-page .catalogo-chips button.active,
.catalogo-page .catalogo-category,
.catalogo-page .catalogo-card-body > strong,
.catalogo-page .catalogo-modal-prices strong,
.catalogo-page .catalogo-price,
.catalogo-page .catalogo-price-edit input,
.catalogo-page .catalogo-model-table small,
.catalogo-page .catalogo-model-editor-title strong {
  color: #1E40AF !important;
}

.catalogo-page .catalogo-card,
.catalogo-page .catalogo-selection-bar,
.catalogo-page .catalogo-modal,
.catalogo-page .catalogo-detail-grid div,
.catalogo-page .catalogo-model-table > div,
.catalogo-page .catalogo-share-editor,
.catalogo-page .catalogo-share-editor label,
.catalogo-page .product-thumb {
  border-color: #E2E8F0 !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06) !important;
}

.catalogo-page .catalogo-photo,
.catalogo-page .catalogo-modal-photo,
.catalogo-page .product-image,
.catalogo-page .product-image-fallback,
.catalogo-page .catalogo-detail-grid div,
.catalogo-page .catalogo-price-stack span,
.catalogo-page .catalogo-modal-prices p,
.catalogo-page .catalogo-share-editor,
.catalogo-page .catalogo-model-table > div {
  background: #F8FAFC !important;
}

.catalogo-page .catalogo-photo-placeholder,
.catalogo-page .product-image-fallback {
  background: linear-gradient(135deg, #EFF6FF 0%, #F8FAFC 100%) !important;
  color: #1E40AF !important;
}

.catalogo-page .catalogo-category,
.catalogo-page .catalogo-price-stack span,
.catalogo-page .catalogo-model-editor-title span {
  background: #EFF6FF !important;
  border-color: #DBEAFE !important;
}

.catalogo-page .catalogo-search button,
.catalogo-page .catalogo-share-image {
  background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .20) !important;
}

.catalogo-page .catalogo-share-editor label.active,
.catalogo-page .catalogo-price-edit input:focus {
  border-color: #2563EB !important;
  color: #1E40AF !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
}

.catalogo-page .catalogo-meta,
.catalogo-page .catalogo-code,
.catalogo-page .catalogo-selection-bar span,
.catalogo-page .catalogo-modal-prices span,
.catalogo-page .catalogo-detail-grid small,
.catalogo-page .catalogo-price-stack b,
.catalogo-page .product-image-fallback small,
.catalogo-page .catalogo-modal-photo small,
.catalogo-page .catalogo-negotiation-note,
.catalogo-page .catalogo-footer {
  color: #64748B !important;
}

/* Design System cycle 2026-07-31 12:04 UTC: refinamento mobile do Catálogo público */

.catalogo-page .catalogo-modal-backdrop {
  background: rgba(15, 23, 42, .52) !important;
  backdrop-filter: blur(10px);
}

.catalogo-page .catalogo-modal {
  max-height: min(92vh, 820px);
  overflow: auto;
  overscroll-behavior: contain;
}

.catalogo-page .catalogo-modal-info,
.catalogo-page .catalogo-client-info {
  min-width: 0;
}

.catalogo-page .catalogo-modal-info h2,
.catalogo-page .catalogo-card h2,
.catalogo-page .catalogo-card-body strong,
.catalogo-page .catalogo-detail-grid strong,
.catalogo-page .catalogo-selection-bar strong {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

@media (max-width: 640px) {
  .catalogo-page .catalogo-modal-backdrop {
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
    align-items: start;
  }

  .catalogo-page .catalogo-modal {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 18px !important;
    grid-template-columns: 1fr !important;
  }

  .catalogo-page .catalogo-modal-info {
    padding: 22px 18px 20px !important;
    gap: 14px;
  }

  .catalogo-page .catalogo-modal-prices,
  .catalogo-page .catalogo-share-editor {
    grid-template-columns: 1fr !important;
  }

  .catalogo-page .catalogo-modal-prices strong,
  .catalogo-page .catalogo-price {
    font-size: clamp(24px, 9vw, 30px) !important;
  }

  .catalogo-page .catalogo-selection-bar {
    align-items: stretch;
  }
}

/* Design System cycle 2026-07-31 18:04 UTC: neutralização fina de resíduos quentes no Catálogo operacional */

.catalogo1-page .catalogo1-ai-strip {
  background: linear-gradient(135deg, #FFFFFF, #EFF6FF) !important;
  border-color: #BFDBFE !important;
}

.catalogo1-page .catalogo1-ai-strip span,
.catalogo1-page .catalogo1-client-panel-head span {
  color: #1E40AF !important;
}

.catalogo1-page .catalogo1-ai-meter {
  background: #DBEAFE !important;
}

.catalogo1-page .catalogo1-ai-meter i {
  background: linear-gradient(90deg, #10B981, #0EA5E9, #1E40AF) !important;
}

.catalogo1-page .catalogo1-ai-strip button,
.catalogo1-page .catalogo1-suggestion-body button {
  background: linear-gradient(135deg, #1E40AF, #2563EB) !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .18) !important;
}

.catalogo1-page .catalogo1-segment-score {
  background: #EFF6FF !important;
  color: #1E40AF !important;
}

.catalogo1-page .catalogo1-card > strong,
.catalogo1-page .catalogo1-cart-head b {
  color: #1E40AF !important;
}

.catalogo1-page .catalogo1-badges .warn {
  background: #FEF3C7 !important;
  color: #92400E !important;
}

/* Design System cycle 2026-07-31 21:04 UTC — neutralize legacy public catalog warm surfaces */

.catalogo-page .catalogo-hero,
.catalogo-page .catalogo-model-rule {
  background: linear-gradient(135deg, #0F172A 0%, #1E40AF 58%, #2563EB 100%) !important;
  border-color: rgba(191, 219, 254, .42) !important;
  box-shadow: 0 18px 42px rgba(30, 64, 175, .22) !important;
}

.catalogo-page .catalogo-hero p,
.catalogo-page .catalogo-model-rule small {
  color: #DBEAFE !important;
}

.catalogo-page .catalogo-photo-placeholder,
.catalogo-page .product-image-fallback,
.catalogo-page .catalogo-offer-preview {
  background: radial-gradient(circle at 30% 20%, #FFFFFF 0%, #EFF6FF 54%, #DBEAFE 100%) !important;
  color: #1E40AF !important;
}

.catalogo-page .catalogo-modal-prices p {
  border-color: #BFDBFE !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #EFF6FF 100%) !important;
}

/* Enterprise DS polish: neutralize warm catalog selection bar residues */

.catalogo-selection-bar {
  background: #FFFFFF !important;
  border: 1px solid #DBEAFE !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10) !important;
}

.catalogo-selection-total,
.catalogo-selection-total b {
  color: #1E40AF !important;
}

.catalogo-selection-bar .catalogo-selection-actions button,
.catalogo-selection-bar .catalogo-selection-actions a {
  border-color: #BFDBFE !important;
}

.catalogo-selection-bar .catalogo-selection-actions button:hover,
.catalogo-selection-bar .catalogo-selection-actions a:hover {
  background: #EFF6FF !important;
  border-color: #2563EB !important;
  color: #1E40AF !important;
}

/* Design System cycle 2026-08-02 12:04 UTC — refine public catalog operational warm residues */

.catalogo1-ai-strip {
  background: linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 100%) !important;
  border-color: #DBEAFE !important;
  box-shadow: 0 12px 30px rgba(30, 64, 175, .08) !important;
}

.catalogo1-ai-strip span,
.catalogo1-client-panel-head span,
.catalogo1-page .catalogo1-cart-head b,
.catalogo1-page .catalogo1-card > strong {
  color: #1E40AF !important;
}

.catalogo1-ai-meter {
  background: #DBEAFE !important;
}

.catalogo1-ai-strip button,
.catalogo1-suggestion-body button {
  background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%) !important;
  box-shadow: 0 10px 22px rgba(30, 64, 175, .18) !important;
}

.catalogo1-segment-score,
.catalogo1-badges span,
.catalogo1-page .catalogo1-badges .warn,
.catalogo1-suggestion-card.promo .catalogo1-suggestion-meta span:first-child,
.catalogo1-promo-price span,
.catalogo1-cart-photo {
  background: #EFF6FF !important;
  border-color: #BFDBFE !important;
  color: #1E40AF !important;
}

/* RW Command Polish — Catálogo / Televendas */

.sales-workbench-page {
  background:
    linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%) !important;
  color: var(--color-ink, #0f172a) !important;
}

.sales-workbench-page .catalogo1-top.compact {
  background:
    radial-gradient(circle at 92% 10%, rgba(139,29,24,.22), transparent 26%),
    linear-gradient(135deg, #0F172A 0%, #1E40AF 68%, #2563EB 100%) !important;
  box-shadow: 0 18px 42px rgba(30,64,175,.22) !important;
}

.sales-workbench-page .catalogo1-top h1 {
  letter-spacing: -.055em !important;
}

.sales-client-bar {
  background: rgba(15,23,42,.92) !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(191,219,254,.24) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.16) !important;
}

.sales-client-bar strong,
.sales-client-bar span,
.sales-client-bar label { color: rgba(255,255,255,.9) !important; }

.sales-client-bar select { border-color: rgba(191,219,254,.52) !important; }

.sales-next-action {
  border: 1px solid #BFDBFE !important;
  background:
    linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 62%, #F8FAFC 100%) !important;
  box-shadow: 0 16px 36px rgba(30,64,175,.10) !important;
}

.sales-next-action span {
  color: var(--color-national, #8b1d18) !important;
  letter-spacing: .12em !important;
}

.sales-next-action strong {
  color: #0F172A !important;
  font-size: clamp(18px, 2vw, 24px) !important;
}

.sales-next-action button {
  background: linear-gradient(135deg, var(--color-national, #8b1d18), #B91C1C) !important;
  box-shadow: 0 12px 26px rgba(139,29,24,.22) !important;
}

.sales-layout {
  grid-template-columns: minmax(0, 1fr) 390px !important;
  align-items: start !important;
}

.sales-workbench-page .catalogo1-search {
  border-color: #DBEAFE !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.05) !important;
}

.sales-workbench-page .catalogo1-card {
  border-color: #E2E8F0 !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.06) !important;
}

.sales-workbench-page .catalogo1-card:hover {
  border-color: #93C5FD !important;
  box-shadow: 0 18px 40px rgba(30,64,175,.13) !important;
}

.sales-product-price {
  min-height: 34px;
  display: flex;
  align-items: center;
  color: var(--color-brand-strong, #1E40AF) !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

.sales-workbench-page .catalogo1-card-actions button:first-child {
  background: linear-gradient(135deg, var(--color-brand-strong, #1e40af), var(--color-brand, #2563eb)) !important;
}

.sales-workbench-page .catalogo1-card-actions button:last-child {
  background: #EEF2FF !important;
  color: var(--color-brand-strong, #1E40AF) !important;
  border: 1px solid #BFDBFE !important;
  box-shadow: none !important;
}

.sales-cart-board {
  top: 12px !important;
  border: 1px solid #BFDBFE !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 54px rgba(15,23,42,.13) !important;
}

.sales-cart-board .catalogo1-cart-head {
  border-bottom-color: #DBEAFE !important;
}

.sales-cart-board .catalogo1-cart-head b {
  color: var(--color-national, #8B1D18) !important;
  font-size: 24px !important;
}

.sales-cart-board .catalogo1-cart-head h2 {
  background: linear-gradient(135deg, var(--color-national, #8b1d18), #B91C1C) !important;
  box-shadow: 0 10px 24px rgba(139,29,24,.20) !important;
}

.sales-cart-board .catalogo1-cart-actions-top {
  grid-template-columns: .88fr 1.12fr !important;
}

.sales-cart-board .primary-close {
  background: linear-gradient(135deg, #16A34A, #22C55E) !important;
  box-shadow: 0 12px 26px rgba(22,163,74,.22) !important;
}

.sales-cart-board .secondary-close {
  background: #F8FAFC !important;
  color: #1E40AF !important;
  border: 1px solid #BFDBFE !important;
  box-shadow: none !important;
}

.sales-cart-empty {
  border-color: #BFDBFE !important;
  background: #EFF6FF !important;
  color: #1E40AF !important;
  font-weight: 850;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .sales-layout { grid-template-columns: 1fr !important; }
  .sales-cart-board { position: static !important; max-height: none !important; }
}

@media (max-width: 760px) {
  .sales-next-action { margin: 10px !important; }
  .sales-workbench-page .catalogo1-client-panel { margin-inline: 10px !important; }
  .sales-layout { padding-inline: 10px !important; }
}
/* Nacional Vision — Dashboard executivo v2 (Etapa 3) */

.nv-dashboard-page {
  gap: 16px !important;
}

.nv-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: var(--nv-space-4);
  align-items: stretch;
  padding: clamp(18px, 2.2vw, 26px);
  border-radius: 24px;
  border: 1px solid rgba(191, 219, 254, .46);
  background:
    radial-gradient(circle at 14% 18%, rgba(37,99,235,.18), transparent 28%),
    linear-gradient(135deg, #0f172a 0%, #1e40af 68%, #2563eb 100%);
  color: #fff;
  box-shadow: var(--nv-shadow-md);
  overflow: hidden;
}

.nv-dashboard-hero > div {
  display: grid;
  gap: 8px;
  align-content: center;
}

.nv-dashboard-hero span,
.nv-dashboard-hero small {
  color: #bfdbfe;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.nv-dashboard-hero h1 {
  margin: 0;
  max-width: 680px;
  color: #fff;
  font-size: clamp(30px, 4vw, 48px);
  line-height: .98;
  letter-spacing: -.06em;
}

.nv-dashboard-hero p {
  max-width: 68ch;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 650;
}

.nv-dashboard-hero aside {
  display: grid;
  gap: 7px;
  align-content: center;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.nv-dashboard-hero aside strong {
  color: #fff;
  font-size: clamp(26px, 3.4vw, 40px);
  line-height: 1;
  letter-spacing: -.055em;
  font-variant-numeric: tabular-nums;
}

.nv-dashboard-hero aside span {
  color: rgba(255,255,255,.82);
  letter-spacing: 0;
  text-transform: none;
}

.nv-dashboard-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-color: var(--nv-danger-border);
  background: var(--nv-danger-soft);
}

.nv-dashboard-error p { margin: 0; color: var(--nv-text-muted); }

.nv-dashboard-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.nv-action-card {
  position: relative;
  min-height: 132px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 16px;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-card);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow-card);
  overflow: hidden;
  transition: transform var(--nv-transition), box-shadow var(--nv-transition), border-color var(--nv-transition);
}

.nv-action-card:hover {
  transform: translateY(-1px);
  border-color: var(--nv-blue-border);
  box-shadow: var(--nv-shadow-md);
}

.nv-action-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--nv-blue);
}

.nv-action-danger::before { background: var(--nv-brand); }
.nv-action-warning::before { background: var(--nv-warning); }
.nv-action-success::before,
.nv-action-sale::before { background: var(--nv-success); }

.nv-action-card span {
  color: var(--nv-text-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nv-action-card strong {
  color: var(--nv-text);
  font-size: clamp(17px, 1.5vw, 23px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.nv-action-card p {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 650;
}

.nv-action-card em {
  margin-top: auto;
  color: var(--nv-blue-strong);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.nv-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 12px;
}

.nv-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: 14px;
  align-items: start;
}

.nv-dashboard-side {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.nv-dashboard-panel {
  padding: 16px;
}

.nv-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--nv-border);
}

.nv-panel-head.compact { margin-bottom: 8px; }
.nv-panel-head h2 { margin: 0; color: var(--nv-text); font-size: 17px; letter-spacing: -.03em; }
.nv-panel-head p { margin: 4px 0 0; color: var(--nv-text-muted); font-size: 12px; line-height: 1.35; }

.nv-ranking-table {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.nv-ranking-head,
.nv-ranking-row {
  display: grid;
  grid-template-columns: 32px minmax(150px, 1.5fr) minmax(120px, 1fr) 72px 110px;
  gap: 10px;
  align-items: center;
}

.nv-ranking-head {
  color: var(--nv-text-soft);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.nv-ranking-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--nv-border);
  color: var(--nv-text);
  font-size: 12px;
}

.nv-ranking-row:last-child { border-bottom: 0; }
.nv-rank-text { color: var(--nv-text); font-weight: 900; }
.nv-seller-cell { display: flex; align-items: center; gap: 8px; min-width: 0; }
.nv-seller-cell span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 999px; background: var(--nv-blue-soft); color: var(--nv-blue-strong); font-size: 10px; font-weight: 900; }
.nv-seller-cell strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.nv-progress-cell { display: grid; gap: 4px; }
.nv-progress-cell strong { font-size: 12px; }
.nv-progress-cell div { height: 6px; border-radius: 999px; background: var(--nv-surface-subtle); overflow: hidden; }
.nv-progress-cell i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--nv-blue), var(--nv-success)); }

.nv-radar-list,
.nv-city-bars,
.nv-mix-list { display: grid; gap: 8px; }

.nv-radar-item {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--nv-border);
  border-radius: 14px;
  background: var(--nv-surface-subtle);
}

.nv-radar-item > span { color: var(--nv-blue); font-size: 12px; padding-top: 3px; }
.nv-radar-item.critical > span { color: var(--nv-danger); }
.nv-radar-item.warning > span { color: var(--nv-warning); }
.nv-radar-item.success > span { color: var(--nv-success); }
.nv-radar-item strong { display: block; color: var(--nv-text); font-size: 13px; }
.nv-radar-item p { margin: 2px 0 0; color: var(--nv-text-muted); font-size: 12px; line-height: 1.35; }
.nv-radar-item small { color: var(--nv-text-soft); font-size: 11px; font-weight: 800; }

.nv-city-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) minmax(92px, auto) 42px;
  gap: 8px;
  align-items: center;
  color: var(--nv-text);
  font-size: 11px;
}

.nv-city-row div { height: 8px; border-radius: 999px; background: var(--nv-surface-subtle); overflow: hidden; }
.nv-city-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--nv-blue), #0ea5e9); }
.nv-city-row small { color: var(--nv-text-muted); text-align: right; }

.nv-mix-list { margin-top: 12px; }
.nv-mix-list div { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; color: var(--nv-text-muted); font-size: 12px; }
.nv-mix-list span { width: 10px; height: 10px; border-radius: 999px; }
.nv-mix-list em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; }
.nv-mix-list strong { color: var(--nv-text); }

.nv-dashboard-footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

@media (min-width: 1280px) {
  .nv-dashboard-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (max-width: 1280px) {
  .nv-dashboard-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nv-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .nv-dashboard-hero,
  .nv-dashboard-actions { grid-template-columns: 1fr; }
  .nv-action-card { min-height: auto; }
  .nv-ranking-head,
  .nv-ranking-row { grid-template-columns: 32px minmax(0, 1fr); }
  .nv-ranking-head span:nth-child(n+3),
  .nv-ranking-row > :nth-child(n+3) { grid-column: 2; }
  .nv-dashboard-footer-actions > * { width: 100%; }
  .nv-dashboard-error { display: grid; }
}
:root {
  color: var(--text-primary);
  background: #f8fafc;
}
* { box-sizing: border-box; }
html { background: #f8fafc; min-height: 100%; overflow-x: hidden; overflow-y: auto; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  background: #f8fafc;
  color: #0f172a;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(148,163,184,0.05), transparent 24%);
  opacity: .7;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
#root { min-height: 100vh; height: auto; overflow: visible; }
a { color: inherit; text-decoration: none; }

::selection {
  background: rgba(37, 99, 235, 0.24);
  color: #fff;
}

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(37, 99, 235, 0.18), transparent 30%),
    linear-gradient(180deg, #0f172a, #020617);
}
.login-card {
  width: min(480px, 100%);
  background: rgba(18, 25, 43, 0.92);
  border: 1px solid var(--border-strong);
  border-radius: 28px;
  padding: 34px;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(12px);
}
.section-kicker { margin: 0 0 8px; color: var(--info); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1,h2,h3,p { margin-top: 0; }
h1 { font-size: 28px; margin-bottom: 10px; letter-spacing: -.03em; }
h2 { font-size: 20px; margin-bottom: 10px; letter-spacing: -.02em; }
.section-subtitle, .panel-subtitle, .plain-text { color: var(--text-secondary); line-height: 1.7; }
.credential-box {
  display: grid;
  gap: 6px;
  margin: 20px 0 0;
  padding: 16px;
  border: 1px solid rgba(96, 165, 250, 0.18);
  background: rgba(31, 46, 74, 0.76);
  border-radius: var(--radius-md);
}
.form-grid { display: grid; gap: 16px; margin-top: 24px; }
.form-grid label { display: grid; gap: 8px; color: var(--text-secondary); font-size: 14px; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--border);
  background: rgba(13, 19, 33, 0.84);
  color: var(--text-primary);
  border-radius: 14px;
  padding: 13px 14px;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
input::placeholder,
textarea::placeholder { color: var(--text-muted); }
input:focus, select:focus, textarea:focus {
  border-color: rgba(96, 165, 250, 0.45);
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.12);
  background: rgba(18, 26, 45, 0.96);
}
.input-like {
  width: 100%;
  border: 1px solid var(--border);
  background: rgba(13, 19, 33, 0.84);
  color: var(--text-primary);
  border-radius: 14px;
  padding: 13px 14px;
}
.input-like.disabled { background: rgba(31, 46, 74, 0.55); color: var(--text-secondary); }
.primary-btn, .outline-btn, .icon-btn, .tab { border-radius: 14px; border: 1px solid transparent; transition: all .18s ease; }
.primary-btn {
  background: linear-gradient(135deg, #1E40AF, #2563EB 55%, #0EA5E9);
  color: #fff;
  padding: 13px 18px;
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.24);
  font-weight: 700;
}
.primary-btn:hover { transform: translateY(-1px); filter: brightness(1.05); box-shadow: 0 18px 34px rgba(37, 99, 235, 0.30); }
.outline-btn {
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-primary);
  border-color: var(--border);
  padding: 12px 18px;
}
.outline-btn:hover { background: rgba(255,255,255,0.06); border-color: var(--border-strong); }
.danger-btn { color: #ffd7dd; border-color: rgba(234, 102, 125, 0.28); background: rgba(234, 102, 125, 0.08); }
.icon-btn {
  background: rgba(255,255,255,0.03);
  border-color: var(--border);
  width: 42px;
  height: 42px;
  color: var(--text-secondary);
}
.error-text { margin: 0; color: #ff8b9c; }
.success-text { margin-top: 16px; color: #7ce8b7; }
.empty-state-cell { text-align: center; color: var(--text-secondary); padding: 28px 14px; }

.light-shell { min-height: 100vh; background: transparent; }
.enterprise-shell {
  --sidebar-width: 168px;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
  height: 100vh;
  position: relative;
  transition: grid-template-columns .24s ease;
  overflow: hidden;
}
.enterprise-shell.sidebar-collapsed {
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}
.side-nav {
  background: #ffffff;
  border-right: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 12px 8px;
  gap: 10px;
  width: 168px;
  overflow: hidden;
  backdrop-filter: none;
  position: sticky;
  top: 0;
  height: 100vh;
  transform: translateX(0);
  transition: transform .24s ease, opacity .2s ease;
  box-shadow: none;
}
.side-nav.is-hidden {
  transform: translateX(-100%);
  pointer-events: none;
  opacity: 0;
}
.shell-main {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
}
.main-panel-shell {
  min-width: 0;
}
.top-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(248, 250, 252, 0.98);
  backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: none;
}
.header-user-chip {
  display: grid;
  gap: 2px;
  padding: 10px 14px;
  min-width: 160px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: #ffffff;
}
.header-user-chip strong {
  font-size: 13px;
}
.header-user-label,
.top-header-copy small,
.side-nav-section-label {
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.top-header-copy strong {
  font-size: 18px;
  letter-spacing: -.03em;
}
.page-inner {
  width: 100%;
  max-width: 1720px;
  height: 100%;
  margin: 0 auto;
}
.shell-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(6, 11, 23, 0.52);
  backdrop-filter: blur(3px);
  z-index: 35;
}
@media (min-width: 901px) {
  .shell-backdrop {
    display: none;
  }
}
.top-header-left,
.top-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.top-header-copy {
  display: grid;
  gap: 2px;
}
.top-header-copy.compact {
  gap: 0;
}
.top-header-copy span {
  color: var(--text-secondary);
  font-size: 12px;
}
.top-header-toggle {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
}
.theme-toggle-btn {
  min-height: 34px;
  padding: 7px 12px;
}
.side-nav-top { display: flex; align-items: center; gap: 10px; }
.side-brand { display: grid; gap: 4px; min-width: 0; }
.side-nav-section-label {
  padding: 0 12px;
}
.side-brand strong { font-size: 16px; line-height: 1.1; color: #0f172a; letter-spacing: -.02em; }
.side-brand small { color: #64748b; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.side-nav-links { display: grid; align-content: start; gap: 8px; overflow: visible; }
.side-nav-links a {
  padding: 10px 10px;
  color: #475569;
  border-radius: 10px;
  font-size: 13px;
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
}
.nav-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #2563eb;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(37, 99, 235, 0.10);
  font-size: 13px;
}
.side-nav-links a:hover { background: #f8fafc; color: #0f172a; transform: none; }
.side-nav-links a.active {
  color: #0f172a;
  background: #eff6ff;
  border-color: rgba(37, 99, 235, 0.18);
  font-weight: 700;
  box-shadow: none;
}
.side-nav-links a.active .nav-icon {
  background: rgba(37, 99, 235, 0.14);
  color: #1e40af;
}
.side-user-area { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #64748b; border-top: 1px solid rgba(148, 163, 184, 0.16); padding: 16px 4px 0; }
.side-user-meta { display: grid; gap: 4px; min-width: 0; }
.side-user-meta strong { font-size: 13px; color: var(--text-primary); }
.side-user-area span { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-toggle { flex-shrink: 0; }
.page-container { padding: 0; overflow: hidden; min-width: 0; min-height: 0; height: 100%; background: #f8fafc; }
.screen-block { display: grid; gap: 10px; min-height: 100%; height: 100%; align-content: start; padding: 10px; overflow: hidden; min-width: 0; }
.hero-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; min-width: 0; padding-bottom: 2px; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.title-area { display: grid; gap: 10px; max-width: 900px; }
.title-area h1 { font-size: 34px; margin-bottom: 0; font-weight: 800; letter-spacing: -.05em; line-height: 1.02; }
.title-area p { color: var(--text-secondary); font-size: 15px; margin-bottom: 0; max-width: 72ch; }
.tab-strip { display: inline-flex; gap: 8px; padding: 6px; background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 18px; width: fit-content; }
.tab { padding: 11px 18px; background: transparent; color: var(--text-secondary); }
.tab.active { background: rgba(255,255,255,0.08); color: #fff; box-shadow: none; font-weight: 700; border-color: rgba(255,255,255,0.04); }
.summary-grid { display: grid; grid-template-columns: repeat(6, minmax(180px, 1fr)); gap: 18px; }
.dashboard-summary-grid { align-items: stretch; }
.summary-tile, .panel-shell {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  backdrop-filter: none;
}
.panel-shell {
  position: relative;
  overflow: hidden;
}
.panel-shell::before {
  content: none;
}
.panel-shell > * {
  position: relative;
  z-index: 1;
}
.summary-tile { padding: 22px; min-height: 152px; }
.summary-tile span { display: block; color: var(--text-secondary); font-size: 12px; margin-bottom: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.summary-tile strong { display: block; font-size: 30px; margin-bottom: 6px; letter-spacing: -.05em; }
.summary-tile small { color: var(--text-muted); }
.summary-tile.danger,
.summary-tile.warning {
  background: #FFFFFF;
  box-shadow: var(--shadow-sm);
}
.summary-tile.danger {
  border-color: rgba(239, 68, 68, 0.22);
  border-top: 4px solid #EF4444;
}
.summary-tile.warning {
  border-color: rgba(245, 158, 11, 0.24);
  border-top: 4px solid #F59E0B;
}
.panel-shell { padding: 24px; }
.main-panel { padding-top: 20px; }
.hero-highlight-panel {
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.14), transparent 42%),
    linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.96));
  border-color: rgba(37, 99, 235, 0.18);
}
.hero-highlight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 18px;
  align-items: center;
}
.hero-highlight-grid h2 {
  font-size: 26px;
  margin-bottom: 10px;
  letter-spacing: -.04em;
}
.hero-highlight-aside {
  display: flex;
  justify-content: flex-end;
}
.soft-metric-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #FFFFFF, #F8FAFC);
  border: 1px solid #E2E8F0;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.soft-metric-card span {
  font-size: 11px;
  color: var(--info);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
}
.soft-metric-card strong {
  font-size: 20px;
  letter-spacing: -.03em;
}
.soft-metric-card small {
  color: var(--text-secondary);
  line-height: 1.6;
}
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.compact-head { margin-bottom: 14px; }
.head-badges { display: flex; gap: 10px; flex-wrap: wrap; }
.soft-badge { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,0.06); color: var(--text-secondary); font-size: 12px; font-weight: 700; border: 1px solid rgba(255,255,255,0.04); }
.soft-badge.active { background: rgba(57, 194, 138, 0.12); color: #aef2d2; border-color: rgba(57, 194, 138, 0.2); }
.webhook-info-row { display: grid; gap: 12px; }
.webhook-url {
  display: block;
  padding: 14px 16px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid var(--border);
  border-radius: 14px;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.toolbar-grid { display: grid; gap: 12px; margin-bottom: 18px; }
.toolbar-grid > * {
  min-width: 0;
}
.toolbar-grid.refined { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.source-hint-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.source-hint { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--border); background: rgba(11, 16, 32, 0.56); border-radius: 16px; }
.source-hint strong { font-size: 14px; color: var(--text-primary); }
.source-hint span { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; color: var(--info); }
.source-hint small { color: var(--text-secondary); line-height: 1.5; }
.pdf-hint { margin-bottom: 16px; }
.inline-link { color: #8ec5ff; font-weight: 600; }
.table-wrap { overflow-x: auto; overflow-y: visible; width: 100%; min-width: 0; }
.refined-wrap { border: 1px solid var(--border); border-radius: 18px; overflow-x: auto; overflow-y: visible; width: 100%; min-width: 0; background: rgba(11, 16, 32, 0.4); }
.modern-table { width: 100%; max-width: 100%; border-collapse: collapse; background: transparent; table-layout: fixed; }
.refined-table thead { background: rgba(255,255,255,0.04); }
.modern-table th { text-align: left; color: var(--text-secondary); font-weight: 700; font-size: 12px; padding: 16px; border-bottom: 1px solid var(--border); white-space: nowrap; text-transform: uppercase; letter-spacing: .08em; }
.modern-table td { padding: 18px 16px; border-bottom: 1px solid rgba(148,163,184,.08); vertical-align: middle; color: var(--text-primary); }
.refined-table td,
.refined-table th {
  min-width: 120px;
}
.refined-table td:first-child,
.refined-table th:first-child {
  min-width: 180px;
}
.modern-table tbody tr {
  transition: background .16s ease, transform .16s ease;
}
.modern-table tbody tr:hover {
  background: rgba(255,255,255,0.03);
}
.no-wrap-table th, .no-wrap-table td { white-space: nowrap; }
.no-wrap-table .cell-title { white-space: nowrap; }
.modern-table td, .modern-table th { overflow-wrap: anywhere; word-break: break-word; }
.no-wrap-table td, .no-wrap-table th { overflow-wrap: normal; word-break: normal; }
.cell-title { font-weight: 700; color: var(--text-primary); }
.cell-sub { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.negative { color: #ff8b9c; }
.strong { font-weight: 800; }
.status-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 94px; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; border: 1px solid transparent; }
.status-pill.lost { color: #ffd7dd; background: rgba(234, 102, 125, 0.12); border-color: rgba(234, 102, 125, 0.22); }
.status-pill.ok { color: #b8f5d7; background: rgba(57, 194, 138, 0.12); border-color: rgba(57, 194, 138, 0.2); }
.sync-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 11, 23, 0.68);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 60;
}
.sync-modal {
  width: min(1200px, 100%);
  max-height: 85vh;
  overflow: auto;
  background: rgba(18, 25, 43, 0.98);
  border: 1px solid var(--border-strong);
  border-radius: 24px;
  padding: 20px;
  box-shadow: var(--shadow-soft);
}
.bottom-grid { display: grid; gap: 20px; }
.dashboard-overview-grid { grid-template-columns: 1.1fr .9fr; }
.portfolio-layout-grid { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: start; }
.stack-panel-group { display: grid; gap: 20px; align-content: start; }
.refined-bottom { grid-template-columns: 1.05fr .95fr; }
.campaign-layout { grid-template-columns: .95fr 1.05fr; }
.billing-layout { grid-template-columns: 1.1fr .9fr; }
.overview-list {
  display: grid;
  gap: 14px;
}
.overview-item {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(11, 16, 32, 0.44);
}
.overview-item:hover,
.summary-tile:hover,
.panel-shell:hover {
  border-color: var(--border-strong);
}
.dashboard-summary-grid .summary-tile,
.hero-highlight-panel,
.main-panel,
.preview-shell {
  min-width: 0;
}
.command-home { gap: 20px; }
.bi-home { gap: 12px; }
.bi-home-reference {
  gap: 10px;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.bi-home-header-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}
.reference-header-row { align-items: center; }
.single-row-toolbar { justify-content: flex-start; }
.top-kpi-row { margin-top: 0; }
.bi-title-area h1 { color: #0f172a; }
.reference-title-area { gap: 4px; }
.reference-title-area h1 { font-size: 18px; margin-bottom: 0; }
.reference-title-area p { font-size: 12px; color: #64748b; }
.bi-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.reference-toolbar { flex-wrap: nowrap; gap: 8px; }
.reference-header-row .reference-toolbar { width: 100%; }
.bi-search {
  min-width: 280px;
  background: #ffffff;
}
.search-shell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
  padding: 0 10px;
  border: 1px solid rgba(148,163,184,0.18);
  border-radius: 12px;
  background: #fff;
  height: 40px;
}
.search-shell input {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.search-shell kbd {
  font-size: 11px;
  color: #94a3b8;
  border: 1px solid rgba(148,163,184,0.2);
  border-radius: 6px;
  padding: 2px 6px;
}
.date-filter-btn { white-space: nowrap; }
.icon-only-btn {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
}
.reference-user-chip { min-width: 132px; }
.reference-user-chip span { font-size: 12px; color: #64748b; }
.bi-kpi-grid { margin-top: 0; }
.reference-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}
.bi-kpi-card { min-height: 178px; }
.reference-kpi-card {
  min-height: 144px;
  padding: 16px;
  gap: 10px;
  border-radius: 14px;
  min-width: 0;
}
.bi-kpi-header { align-items: start; }
.bi-kpi-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bi-kpi-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  flex-shrink: 0;
}
.reference-kpi-icon { width: 28px; height: 28px; border-radius: 8px; font-size: 12px; }
.reference-kpi-svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.2;
}
.reference-kpi-card strong { font-size: clamp(18px, 1.1vw, 24px); }
.reference-kpi-card p { font-size: 12px; }
.reference-kpi-card .sparkline-row.subtle { height: 22px; }
.reference-kpi-card .bi-kpi-title span:last-child {
  font-size: clamp(11px, .78vw, 13px);
  line-height: 1.2;
}
.reference-kpi-card .sparkline-row.subtle span { width: auto; }
.reference-kpi-card .sparkline-row.bars span { border-radius: 3px 3px 0 0; }
.bi-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr);
  gap: 18px;
}
.reference-main-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  position: relative;
  z-index: 2;
}
.reference-chart-panel { grid-column: span 2; min-height: 420px; }
.reference-ranking-panel { grid-column: span 2; min-height: 420px; }
.bi-chart-panel,
.bi-ranking-panel { min-width: 0; }
.reference-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.reference-panel-head > div { min-width: 0; }
.reference-panel-head h2 { white-space: normal; font-size: 16px; margin-bottom: 0; }
.bi-chart-clean { height: 340px; }
.reference-chart-panel { padding: 12px; min-width: 0; }
.reference-ranking-panel { min-width: 0; padding: 12px; }
.reference-chart-topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 8px;
}
.reference-chart-topline strong { display: block; font-size: 21px; margin: 4px 0 2px; color: #0f172a; letter-spacing: -.03em; }
.reference-chart-legend.compact { display: flex; gap: 10px; color: #64748b; font-size: 11px; }
.reference-chart-tooltip {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid rgba(148,163,184,0.14);
  border-radius: 12px;
  background: #fff;
  font-size: 11px;
  color: #475569;
}
.line-chart-reference-shell {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 6px;
  min-height: 220px;
}
.reference-y-axis {
  display: grid;
  align-content: stretch;
  color: #94a3b8;
  font-size: 10px;
}
.reference-y-axis span { display: flex; align-items: flex-end; justify-content: flex-end; }
.reference-lines-area {
  position: relative;
  min-height: 150px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fcfdff);
}
.reference-grid { border-radius: 14px; }
.reference-line-svg {
  position: absolute;
  inset: 0 0 20px;
  width: 100%;
  height: calc(100% - 20px);
}
.reference-x-axis {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding-top: 6px;
  color: #94a3b8;
  font-size: 10px;
}
.text-link-btn {
  border: 0;
  background: transparent;
  color: #2563eb;
  font-weight: 600;
  padding: 0;
  text-align: left;
}
.small-link { font-size: 12px; }
.bi-ranking-head,
.bi-ranking-row {
  grid-template-columns: 44px minmax(160px, 1.4fr) minmax(120px, 1fr) minmax(110px, .9fr) 82px minmax(120px, .8fr);
}
.reference-ranking-table { display: grid; gap: 8px; align-content: start; min-height: 320px; }
.reference-ranking-head { grid-template-columns: 32px minmax(150px, 1.4fr) minmax(110px, 1fr) 72px 96px; padding-bottom: 4px; font-size: 10px; }
.reference-ranking-row { grid-template-columns: 32px minmax(150px, 1.4fr) minmax(110px, 1fr) 72px 96px; padding: 4px 0; border: 0; border-bottom: 1px solid #eef2f7; border-radius: 0; background: transparent; font-size: 11px; }
.reference-ranking-row .ranking-seller-cell strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.rank-text { color: #0f172a; font-weight: 700; }
.ranking-seller-cell { display: flex; align-items: center; gap: 8px; min-width: 0; }
.seller-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  color: #1d4ed8;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 800;
  flex-shrink: 0;
}
.ranking-progress-cell { display: grid; gap: 4px; }
.ranking-bar.compact.colored { height: 5px; background: #edf2f7; }
.ranking-bar.compact.colored i.is-good { background: linear-gradient(90deg, #22c55e, #86efac); }
.ranking-bar.compact.colored i.is-mid { background: linear-gradient(90deg, #f59e0b, #facc15); }
.ranking-bar.compact.colored i.is-low { background: linear-gradient(90deg, #ef4444, #f87171); }
.bi-bottom-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.reference-bottom-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  margin-top: 16px;
  position: relative;
  z-index: 1;
}
.reference-bottom-card { min-width: 0; min-height: 280px; padding: 14px; overflow: hidden; }
.simple-home-grid > :first-child { grid-column: span 2; }
.simple-home-grid > :not(:first-child) { grid-column: span 1; }
.city-bars { display: grid; gap: 10px; }
.reference-city-bars { gap: 8px; }
.city-bar-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 48px;
  gap: 10px;
  align-items: center;
}
.reference-city-row { grid-template-columns: 60px minmax(0, 1fr) 68px 38px; }
.city-bar-row span,
.city-bar-row strong { font-size: 11px; }
.reference-city-row small { color: #64748b; font-size: 10px; text-align: right; }
.city-bar-track {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.city-bar-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #0ea5e9);
}
.goal-ring-shell {
  display: grid;
  place-items: center;
  text-align: center;
  gap: 6px;
  min-height: 146px;
}
.goal-ring {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.goal-ring-hole {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  text-align: center;
}
.goal-ring-hole strong { font-size: 19px; color: #0f172a; }
.goal-ring-hole span { font-size: 9px; color: #64748b; }
.donut-shell {
  display: grid;
  place-items: center;
  min-height: 180px;
}
.reference-donut-shell { min-height: 112px; }
.fake-donut {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.fake-donut-hole {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  text-align: center;
}
.fake-donut-hole strong { font-size: 11px; color: #0f172a; }
.fake-donut-hole span { font-size: 9px; color: #64748b; }
.mix-legend-list { display: grid; gap: 6px; margin-top: 6px; }
.mix-legend-item { display: grid; grid-template-columns: auto 1fr auto; gap: 6px; align-items: center; font-size: 11px; color: #475569; }
.mix-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.bi-alert-list { gap: 10px; }
.bi-alert-card { gap: 10px; }
.reference-alert-list { gap: 6px; }
.reference-alert-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 6px;
  align-items: start;
  padding: 6px 0;
  border-bottom: 1px solid #eef2f7;
}
.reference-alert-item:last-child { border-bottom: 0; }
.reference-alert-item p { margin: 2px 0 0; color: #64748b; font-size: 10px; line-height: 1.3; }
.reference-alert-item small { color: #94a3b8; font-size: 10px; }
.severity-icon { font-size: 9px; line-height: 1.5; }
.severity-icon.critical { color: #ef4444; }
.severity-icon.warning { color: #f59e0b; }
.severity-icon.neutral { color: #3b82f6; }
.severity-icon.success { color: #10b981; }
.severity-badge.neutral { color: #334155; background: #e2e8f0; }
.command-hero,
.command-grid-top,
.command-content-grid { display: grid; gap: 18px; }
.command-hero { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.command-title-area { max-width: none; }
.command-title-area h1 { font-size: 42px; line-height: 1.04; max-width: 14ch; color: #0f172a; }
.command-hero-actions { justify-content: flex-end; align-self: start; }
.command-meta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.command-meta-row-top { margin-top: 0; }
.status-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(148,163,184,0.18);
  color: #64748b;
  background: #ffffff;
}
.status-chip.success { color: #15803d; background: rgba(34,197,94,0.08); border-color: rgba(34,197,94,0.18); }
.status-chip.neutral { color: #475569; }
.command-grid-top { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: stretch; }
.command-insight-card,
.command-chart-card,
.ranking-compact-panel,
.alerts-clean-panel { min-width: 0; }
.command-insight-card,
.command-chart-card,
.ranking-compact-panel,
.alerts-clean-panel,
.kpi-compact-card { border-radius: 18px; }
.insight-card-body { display: grid; gap: 12px; }
.insight-card-body strong { font-size: 30px; line-height: 1.15; letter-spacing: -.04em; color: #0f172a; }
.insight-card-body p { margin: 0; color: #64748b; line-height: 1.7; max-width: 62ch; }
.command-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.command-kpi-grid-top { margin-top: 0; }
.kpi-compact-card { padding: 18px; display: grid; gap: 12px; min-height: 172px; }
.kpi-card-header { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.kpi-card-header span { font-size: 12px; color: #64748b; font-weight: 700; letter-spacing: .04em; line-height: 1.4; }
.kpi-compact-card strong { font-size: 28px; letter-spacing: -.04em; line-height: 1.05; color: #0f172a; }
.kpi-compact-card p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; }
.sparkline-row.subtle { height: 36px; gap: 5px; margin-top: auto; }
.sparkline-row.subtle span { background: rgba(99, 102, 241, 0.72); box-shadow: none; }
.command-content-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; }
.ranking-table { display: grid; gap: 10px; min-width: 0; }
.ranking-table-head,
.ranking-table-row {
  display: grid;
  grid-template-columns: 44px minmax(160px, 1.4fr) minmax(120px, 1fr) 100px 110px 82px minmax(120px, .9fr);
  gap: 12px;
  align-items: center;
}
.ranking-table-head {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 0 4px 8px;
}
.ranking-table-row {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,0.14);
  background: #ffffff;
  min-width: 0;
}
.ranking-table-row strong,
.ranking-table-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rank-badge {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(37, 99, 235, 0.10);
  color: #1e40af;
  font-weight: 800;
}
.ranking-bar.compact { height: 8px; }
.alert-group-list { display: grid; gap: 12px; }
.alert-group-card {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,0.14);
  background: #ffffff;
  display: grid;
  gap: 12px;
}
.alert-group-head { display: flex; align-items: center; justify-content: flex-start; }
.severity-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.severity-badge.critical { color: #fecaca; background: rgba(239,68,68,0.12); }
.severity-badge.warning { color: #fde68a; background: rgba(245,158,11,0.12); }
.severity-badge.success { color: #bbf7d0; background: rgba(34,197,94,0.12); }
.alert-item-list { display: grid; gap: 8px; }
.alert-clean-item {
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  color: #475569;
  line-height: 1.55;
}
.clean-top-header { padding: 12px 18px; background: rgba(248, 250, 252, 0.92); box-shadow: none; }
.top-header-copy.compact strong { font-size: 14px; color: #0f172a; }
.top-header-copy.compact span { font-size: 11px; color: #64748b; }
.top-header-copy.compact small { font-size: 10px; }
.header-user-chip.compact { min-width: 142px; padding: 8px 12px; }
.text-success { color: #22c55e; }
.text-warning { color: #f59e0b; }
.text-danger { color: #ef4444; }
.executive-home { gap: 22px; }
.executive-hero-row { align-items: end; }
.executive-title-area h1 { font-size: 42px; line-height: .98; }
.executive-hero-panel {
  background:
    radial-gradient(circle at top right, rgba(33, 211, 146, 0.14), transparent 28%),
    radial-gradient(circle at top left, rgba(79, 124, 255, 0.2), transparent 30%),
    linear-gradient(135deg, rgba(12, 20, 36, 0.96), rgba(18, 28, 50, 0.92));
  border-color: rgba(96, 165, 250, 0.22);
  box-shadow: 0 22px 50px rgba(8, 15, 30, 0.28);
}
.executive-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 22px; align-items: stretch; }
.executive-hero-copy { display: grid; gap: 12px; }
.executive-hero-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.executive-hero-side { display: flex; align-items: stretch; justify-content: flex-end; }
.executive-priority-card {
  width: min(360px, 100%);
  display: grid;
  gap: 10px;
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(8, 14, 28, 0.74), rgba(12, 20, 36, 0.9));
  border: 1px solid rgba(57, 194, 138, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
.executive-priority-card span,
.executive-opportunity-card span,
.executive-footer-grid span,
.executive-kpi-top span { font-size: 11px; text-transform: uppercase; letter-spacing: .14em; color: var(--text-muted); font-weight: 800; }
.executive-priority-card strong { font-size: 24px; line-height: 1.2; letter-spacing: -.03em; }
.executive-priority-card small { color: var(--text-secondary); line-height: 1.6; }
.executive-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.executive-kpi-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 16px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(10, 16, 30, 0.96));
  box-shadow: 0 16px 34px rgba(3, 8, 20, 0.22);
}
.executive-kpi-card::after {
  content: '';
  position: absolute;
  inset: auto -10% -45% auto;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(79,124,255,0.18), transparent 60%);
  pointer-events: none;
}
.executive-kpi-card.danger::after { background: radial-gradient(circle, rgba(234,102,125,0.16), transparent 60%); }
.executive-kpi-top,
.executive-kpi-bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.executive-kpi-top { align-items: start; flex-direction: column; }
.executive-kpi-top strong { font-size: 28px; letter-spacing: -.04em; }
.executive-kpi-delta { font-size: 13px; font-weight: 800; }
.executive-kpi-delta.positive { color: #86efac; }
.executive-kpi-delta.negative { color: #fda4af; }
.sparkline-row { display: flex; align-items: end; gap: 6px; height: 48px; }
.sparkline-row span { flex: 1; border-radius: 999px; background: linear-gradient(180deg, rgba(96, 165, 250, 0.42), rgba(37, 99, 235, 0.95)); box-shadow: 0 0 14px rgba(37, 99, 235, 0.18); }
.executive-kpi-card.danger .sparkline-row span { background: linear-gradient(180deg, rgba(244,114,182,0.42), rgba(239,68,68,0.92)); box-shadow: 0 0 14px rgba(239,68,68,0.15); }
.executive-main-grid,
.executive-secondary-grid { display: grid; gap: 20px; }
.executive-main-grid { grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); }
.executive-secondary-grid { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); }
.executive-chart-panel,
.executive-map-panel,
.executive-alerts-panel,
.executive-footer-panel { min-width: 0; }
.executive-line-chart {
  position: relative;
  height: 320px;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(7, 12, 24, 0.9), rgba(12, 20, 36, 0.8));
  border: 1px solid rgba(148, 163, 184, 0.1);
}
.line-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(148,163,184,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(148,163,184,0.06) 1px, transparent 1px);
  background-size: 100% 25%, 8.33% 100%;
}
.line-series { position: absolute; inset: 18px 18px 24px; }
.line-series span {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transform: translate(-50%, 50%);
}
.line-series.current span { background: #60a5fa; box-shadow: 0 0 0 6px rgba(96,165,250,0.14); }
.line-series.previous span { background: #34d399; box-shadow: 0 0 0 6px rgba(52,211,153,0.12); }
.executive-chart-legend { display: flex; gap: 18px; margin-top: 14px; color: var(--text-secondary); font-size: 13px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-right: 8px; }
.legend-dot.current { background: #60a5fa; }
.legend-dot.previous { background: #34d399; }
.executive-map-grid,
.executive-opportunities-grid,
.executive-footer-grid { display: grid; gap: 14px; }
.executive-map-grid { grid-template-columns: 1fr; }
.state-card,
.executive-opportunity-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(11, 16, 32, 0.52);
}
.state-card.high { border-color: rgba(57,194,138,0.24); box-shadow: inset 0 0 0 1px rgba(57,194,138,0.08); }
.state-card.medium { border-color: rgba(96,165,250,0.24); box-shadow: inset 0 0 0 1px rgba(96,165,250,0.08); }
.state-card.alert { border-color: rgba(242,185,75,0.24); box-shadow: inset 0 0 0 1px rgba(242,185,75,0.08); }
.state-card strong { font-size: 20px; }
.state-card span { font-size: 16px; font-weight: 800; }
.state-card small { color: var(--text-secondary); }
.executive-ranking-list { display: grid; gap: 12px; }
.ranking-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1.2fr) auto minmax(140px, .8fr);
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,0.1);
  background: rgba(11, 16, 32, 0.44);
}
.ranking-medal {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: rgba(255,255,255,0.06);
}
.ranking-medal.ouro { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #221308; }
.ranking-medal.prata { background: linear-gradient(135deg, #dbe4f0, #94a3b8); color: #122033; }
.ranking-medal.bronze { background: linear-gradient(135deg, #fdba74, #c2410c); color: #2a1205; }
.ranking-copy { min-width: 0; display: grid; gap: 4px; }
.ranking-copy small,
.ranking-metrics span:last-child { color: var(--text-secondary); }
.ranking-metrics { display: grid; gap: 4px; text-align: right; }
.ranking-metrics span:first-child { color: #86efac; font-weight: 800; }
.ranking-bar {
  height: 10px;
  border-radius: 999px;
  background: rgba(148,163,184,0.12);
  overflow: hidden;
}
.ranking-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #60a5fa, #2563eb, #34d399);
}
.executive-alert-item strong { color: #fbbf24; }
.executive-opportunities-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.executive-opportunity-card strong { font-size: 22px; letter-spacing: -.03em; }
.executive-opportunity-card small { color: var(--text-secondary); }
.executive-footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.executive-footer-grid div {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(11, 16, 32, 0.46);
  border: 1px solid rgba(148,163,184,0.1);
}
.executive-footer-grid strong { font-size: 18px; }
.row-actions {
  align-items: center;
}
.overview-item strong {
  font-size: 14px;
  color: var(--text-primary);
}
.overview-item span {
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 13px;
}
.compact-overview-list .overview-item {
  padding: 14px 16px;
}
.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.quick-action-btn {
  justify-content: flex-start;
  min-height: 52px;
  font-weight: 700;
}
.refined-schedule { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.group-member-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.billing-filters-grid { grid-template-columns: 150px 150px 1fr 1fr 1.3fr 160px; }
.campaign-dashboard-filters { grid-template-columns: 150px 150px 1fr 1.4fr 160px; }
.member-actions, .row-actions, .pagination-row { display: flex; gap: 8px; flex-wrap: wrap; }
.small-btn { padding: 8px 12px; border-radius: 10px; }
.no-margin { margin: 0; }
.message-preview.light { margin: 0; white-space: pre-wrap; color: var(--text-secondary); line-height: 1.7; font-family: inherit; }
.refined-preview { background: rgba(11, 16, 32, 0.68); border: 1px solid var(--border); border-radius: 16px; padding: 16px; min-height: 260px; }
.preview-shell { align-self: start; }
.selected-row { background: rgba(96, 165, 250, 0.08); }
.selected-row td { font-weight: 700; }
.pagination-row { justify-content: flex-end; align-items: center; margin-top: 14px; color: var(--text-secondary); }
.chat-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr) 300px; gap: 0; height: 100%; min-height: 0; overflow: hidden; min-width: 0; }
.chat-sidebar, .chat-main { display: grid; min-height: 0; min-width: 0; }
.chat-sidebar { border-right: 1px solid #e5e7eb; padding-right: 0; }
.chat-conversation-list { display: grid; gap: 0; overflow-y: auto; overflow-x: hidden; max-height: calc(100vh - 220px); background: #f7f8fa; }
.chat-conversation-item { width: 100%; min-height: 62px; text-align: left; border: 0; background: transparent; border-radius: 0; padding: 7px 10px; display: grid; gap: 1px; }
.chat-conversation-item.active { background: #e6f0ff; box-shadow: inset 3px 0 0 #2563eb; }
.chat-conversation-top, .chat-conversation-bottom { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.chat-conversation-top strong { font-size: 13px; font-weight: 600; color: #111827; letter-spacing: -.01em; }
.chat-conversation-top span { font-size: 10px; color: #6b7280; flex-shrink: 0; }
.chat-conversation-bottom span:first-child { color: #6b7280; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; }
.chat-main { grid-template-rows: auto 1fr auto; gap: 0; }
.chat-header { display: grid; gap: 0; padding: 6px 10px; padding-bottom: 0; border-bottom: 1px solid #e5e7eb; }
.chat-header span { color: #6b7280; font-size: 12px; }
.chat-messages { display: flex; flex-direction: column; gap: 3px; padding: 8px 4px; overflow: auto; max-height: none; }
.chat-bubble { max-width: 58%; padding: 8px 10px; border-radius: 12px; display: grid; gap: 1px; line-height: 1.34; font-size: 12.5px; box-shadow: 0 1px .5px rgba(11,20,26,.10); }
.chat-bubble.in { background: #fff; justify-self: start; }
.chat-bubble.out { background: #dcf8c6; justify-self: end; }
.chat-bubble small { color: #6b7280; font-size: 9.5px; justify-self: end; }
.chat-input-row { display: grid; grid-template-columns: auto auto 1fr auto auto; gap: 8px; align-items: center; }
.whatsapp-shell { padding: 0; overflow: hidden; gap: 0; border-radius: 12px; width: 100%; height: 100%; background: #fff; border: 1px solid #e9edf2; box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06); }
.whatsapp-sidebar { background: #f7f8fa; padding: 0; border-right: 1px solid #e5e7eb; grid-template-rows: auto 1fr; }
.chat-sidebar-top { padding: 12px; display: grid; gap: 8px; border-bottom: 1px solid #e9edf2; background: #f7f8fa; }
.chat-sidebar-toolbar { display: flex; justify-content: space-between; align-items: center; }
.chat-sidebar-toolbar strong { font-size: 18px; font-weight: 700; color: #111827; }
.sidebar-actions { display: flex; gap: 8px; }
.chat-search-box input { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 10px 12px; font-size: 13px; box-shadow: none; }
.chat-new-conversation-box { display: grid; gap: 8px; background: #fff; border: 1px solid #e9edf2; border-radius: 12px; padding: 10px; }
.chat-new-actions { display: flex; gap: 8px; justify-content: flex-end; }
.whatsapp-conversation-item { border: none; border-bottom: 1px solid #edf1f5; border-radius: 0; padding: 8px 12px; grid-template-columns: 40px 1fr; align-items: center; gap: 10px; }
.whatsapp-conversation-item.active { background: #eef4ff; border-color: #edf1f5; }
.whatsapp-conversation-item.unread { background: #f7f8fa; }
.whatsapp-conversation-item.unread .chat-conversation-top strong { font-weight: 700; }
.chat-conversation-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; border-bottom: 1px solid #edf1f5; background: #fff; }
.chat-conversation-row.active { background: #eef4ff; }
.chat-conversation-row.unread { background: #f7f8fa; }
.chat-conversation-row .whatsapp-conversation-item { border-bottom: 0; }
.clear-conversation-btn { border: 0; border-left: 1px solid #edf1f5; background: transparent; color: #6b7280; font-size: 12px; font-weight: 600; padding: 0 12px; cursor: pointer; }
.clear-conversation-btn:hover { background: #fff7ed; color: #c2410c; }
.conversation-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #9fb3c8, #7f93ab); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 700; letter-spacing: .03em; box-shadow: none; }
.conversation-avatar.large { width: 40px; height: 40px; font-size: 12px; }
.conversation-content { min-width: 0; display: grid; gap: 2px; }
.conversation-number { color: #6b7280; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-empty-state { padding: 20px 16px; color: #6b7280; font-size: 13px; }
.whatsapp-main { background: #efeae2; grid-template-rows: 60px 1fr auto; height: 100%; min-height: 0; min-width: 0; overflow: hidden; }
.whatsapp-header { background: #fff; padding: 10px 14px; border-bottom: 1px solid #e5e7eb; }
.chat-header-profile { display: flex; align-items: center; gap: 10px; height: 100%; }
.chat-header-meta { display: grid; gap: 1px; }
.chat-header-meta strong { font-size: 14px; font-weight: 600; color: #111827; }
.whatsapp-messages { padding: 14px 22px; min-height: 0; height: 100%; max-height: calc(100vh - 188px); overflow-y: auto; overflow-x: hidden; background: #efeae2; background-image: radial-gradient(rgba(215,205,190,.22) .8px, transparent .8px); background-size: 24px 24px; }
.whatsapp-bubble.in { background: #fff; }
.whatsapp-bubble.out { background: #dcf8c6; }
.whatsapp-input-row { background: #fff; padding: 10px 14px; border-top: 1px solid #e5e7eb; }
.whatsapp-input-row input { border-radius: 999px; border: 1px solid #e5e7eb; padding: 11px 14px; background: #fff; font-size: 14px; box-shadow: none; min-height: 42px; }
.composer-side-btn { width: 34px; height: 34px; border: 0; background: transparent; color: #6b7280; font-size: 18px; line-height: 1; border-radius: 50%; }
.send-icon-btn { width: 36px; height: 36px; border: none; border-radius: 50%; background: #22c55e; color: #fff; display: grid; place-items: center; font-size: 13px; box-shadow: 0 6px 14px rgba(34, 197, 94, .24); }
.send-icon-btn:disabled { opacity: .5; cursor: not-allowed; }
.icon-btn { width: 32px; height: 32px; border: 0; background: transparent; color: #6b7280; }
.soft-badge.active { background: #dbeafe; color: #1d4ed8; }

.copilot-panel { background: #fff; border-left: 1px solid #e9edf2; display: grid; grid-template-rows: auto minmax(0, 42%) minmax(0, 58%); align-content: start; gap: 8px; padding: 10px 12px; overflow: hidden; height: 100%; min-height: 0; min-width: 0; }
.copilot-header { display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid #e9edf2; }
.copilot-header h3 { margin: 0; font-size: 16px; font-weight: 700; color: #111827; }
.copilot-header span { font-size: 11px; color: #6b7280; }
.executive-copilot .copilot-header h3 { font-size: 15px; }
.executive-copilot .copilot-header span { font-size: 10.5px; }
.copilot-section { background: transparent; border: 0; border-bottom: 1px solid #e9edf2; border-radius: 0; padding: 6px 0 8px; display: grid; gap: 6px; box-shadow: none; align-content: start; min-width: 0; }
.copilot-section:last-child { border-bottom: 0; }
.copilot-section strong { color: #111827; }
.copilot-section-head { display: grid; gap: 6px; }
.copilot-actions { display: flex; gap: 6px; flex-wrap: nowrap; }
.copilot-actions .outline-btn.small-btn { padding: 6px 10px; border-radius: 8px; font-size: 12px; line-height: 1.2; border-color: #e5e7eb; }
.copilot-text { margin: 0; color: #374151; line-height: 1.45; font-size: 12.5px; }
.copilot-list { margin: 0; padding-left: 16px; display: grid; gap: 6px; color: #374151; font-size: 12.5px; }
.copilot-list.alerts li { color: #92400e; }
.copilot-meta-grid { display: grid; gap: 6px; font-size: 12px; color: #374151; }
.copilot-meta-grid span strong { color: #111827; }
.copilot-meta-grid.compact { gap: 8px; }
.copilot-meta-grid.compact span { display: grid; gap: 2px; }
.copilot-meta-grid.compact em { font-style: normal; color: #111827; font-size: 12.5px; }
.copilot-top-sections { min-height: 0; max-height: 100%; overflow-y: auto; overflow-x: hidden; display: grid; align-content: start; gap: 0; padding-right: 2px; }
.emphasis-section { background: #f8fbff; border-bottom-color: #dbeafe; padding: 10px; border-radius: 10px; }
.actionable-list { padding-left: 18px; }
.actionable-list li { display: flex; gap: 8px; align-items: flex-start; }
.actionable-list li::marker { color: #2563eb; }
.compact-list { gap: 4px; }
.compact-list li { line-height: 1.3; }
.alerts-section { background: #fffaf5; border-bottom-color: #fed7aa; padding: 10px; border-radius: 10px; }
.alert-icon { color: #f59e0b; font-size: 12px; line-height: 1.4; margin-top: 1px; }
.executive-summary { background: #f9fafb; border-radius: 10px; padding: 10px; border-bottom-color: #e5e7eb; }
.executive-chat { border-top: 1px solid #eef2f7; padding-top: 10px; min-height: 0; }
.copiloto-chat-section { min-height: 0; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
.copilot-chat-log { min-height: 0; height: 100%; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; gap: 8px; padding-right: 2px; }
.copilot-chat-bubble { max-width: 100%; padding: 7px 9px; border-radius: 10px; font-size: 12px; line-height: 1.4; }
.copilot-chat-bubble.assistant { background: #f3f4f6; color: #111827; align-self: flex-start; }
.copilot-chat-bubble.user { background: #eff6ff; color: #1e3a8a; align-self: flex-end; }
.copilot-chat-input { display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: center; padding-top: 4px; }
.copilot-chat-input input { width: 100%; border: 1px solid #e5e7eb; border-radius: 999px; padding: 8px 10px; font-size: 12px; min-width: 0; }

@media (max-width: 1380px) {
  .chat-layout { grid-template-columns: 250px minmax(0, 1fr) 280px; }
}

@media (max-width: 1120px) {
  .chat-layout { grid-template-columns: 220px minmax(0, 1fr) 260px; }
  .copilot-panel { padding: 8px 10px; gap: 4px; }
  .copilot-header h3 { font-size: 14px; }
  .copilot-section strong { font-size: 13px; }
  .copilot-text,
  .copilot-list,
  .copilot-meta-grid,
  .copilot-chat-bubble,
  .copilot-chat-input input { font-size: 11.5px; }
}

@media (max-width: 860px) {
  .chat-layout { grid-template-columns: 1fr; }
  .chat-sidebar { border-right: 0; border-bottom: 1px solid #dfe5ea; }
  .copilot-panel { grid-column: auto; height: auto; }
}

.chat-conversation-list::-webkit-scrollbar,
.whatsapp-messages::-webkit-scrollbar,
.copilot-panel::-webkit-scrollbar { width: 0; height: 0; }
.chat-conversation-list,
.whatsapp-messages,
.copilot-panel { scrollbar-width: none; }

@media (max-width: 1540px) {
  .reference-kpi-grid,
  .top-kpi-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reference-bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1280px) {
  .enterprise-shell { grid-template-columns: 168px minmax(0, 1fr); }
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-highlight-grid,
  .dashboard-overview-grid,
  .portfolio-layout-grid,
  .toolbar-grid.refined,
  .refined-schedule,
  .refined-bottom,
  .source-hint-grid,
  .campaign-layout,
  .billing-layout,
  .executive-main-grid,
  .executive-secondary-grid,
  .executive-hero-grid,
  .command-grid-top,
  .command-content-grid,
  .bi-main-grid { grid-template-columns: 1fr; }
  .bi-bottom-grid,
  .reference-bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .command-kpi-grid,
  .reference-kpi-grid,
  .top-kpi-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .executive-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .executive-opportunities-grid,
  .executive-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .screen-block { padding: 14px; gap: 14px; }
  .title-area h1 { font-size: 30px; }
  .hero-row { flex-direction: column; }
  .hero-actions { justify-content: flex-start; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-highlight-grid,
  .dashboard-overview-grid,
  .portfolio-layout-grid,
  .quick-actions-grid,
  .toolbar-grid.refined,
  .refined-schedule,
  .refined-bottom,
  .source-hint-grid,
  .campaign-layout,
  .billing-layout,
  .group-member-grid,
  .billing-filters-grid,
  .campaign-dashboard-filters,
  .executive-main-grid,
  .executive-secondary-grid,
  .executive-hero-grid,
  .executive-opportunities-grid,
  .executive-footer-grid,
  .command-grid-top,
  .command-content-grid,
  .command-hero,
  .bi-home-header-row { grid-template-columns: 1fr; }
  .command-title-area h1,
  .executive-title-area h1,
  .bi-title-area h1,
  .reference-title-area h1 { font-size: 22px; }
  .command-kpi-grid,
  .executive-kpi-grid,
  .bi-bottom-grid,
  .reference-bottom-grid,
  .reference-kpi-grid,
  .top-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-toolbar,
  .reference-toolbar { justify-content: flex-start; flex-wrap: wrap; }
  .bi-search { min-width: 0; }
  .search-shell { min-width: min(100%, 260px); }
  .ranking-row { grid-template-columns: auto minmax(0, 1fr); }
  .ranking-metrics,
  .ranking-bar { grid-column: 2; }
  .ranking-metrics { text-align: left; }
  .ranking-table-head,
  .ranking-table-row,
  .bi-ranking-head,
  .bi-ranking-row,
  .reference-ranking-head,
  .reference-ranking-row { grid-template-columns: 40px minmax(0, 1fr); }
  .ranking-table-head span:nth-child(n+3),
  .ranking-table-row > :nth-child(n+3),
  .bi-ranking-head span:nth-child(n+3),
  .bi-ranking-row > :nth-child(n+3),
  .reference-ranking-head span:nth-child(n+3),
  .reference-ranking-row > :nth-child(n+3) { grid-column: 2; }
  .panel-shell,
  .summary-tile { min-width: 0; }
}
@media (max-width: 900px) {
  .enterprise-shell,
  .enterprise-shell.sidebar-collapsed { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 100vh; overflow: visible; }
  .side-nav {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 40;
    box-shadow: var(--shadow-soft);
  }
  .side-nav.is-hidden { transform: translateX(-100%); }
  .top-header {
    padding: 10px 12px;
  }
  .top-header-actions { margin-left: auto; }
  .shell-main,
  .page-container,
  .screen-block,
  .page-inner { height: auto; overflow: visible; }
  .screen-block { padding: 14px; }
  .summary-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .screen-block { padding: 12px; gap: 12px; }
  .title-area h1 { font-size: 26px; }
  .command-title-area h1,
  .executive-title-area h1,
  .bi-title-area h1,
  .reference-title-area h1 { font-size: 18px; }
  .title-area p { font-size: 14px; }
  .panel-shell { padding: 16px; border-radius: 18px; }
  .summary-tile { padding: 16px; min-height: 0; }
  .summary-tile strong { font-size: 24px; }
  .toolbar-grid,
  .hero-actions,
  .row-actions,
  .member-actions,
  .chat-new-actions,
  .pagination-row,
  .reference-toolbar { width: 100%; }
  .toolbar-grid { grid-template-columns: 1fr !important; }
  .reference-kpi-grid,
  .top-kpi-row,
  .bi-bottom-grid,
  .reference-bottom-grid { grid-template-columns: 1fr; }
  .hero-actions > *,
  .member-actions > *,
  .row-actions > * { flex: 1 1 100%; }
  .modern-table,
  .modern-table thead,
  .modern-table tbody,
  .modern-table th,
  .modern-table td,
  .modern-table tr {
    display: block;
  }
  .modern-table thead {
    display: none;
  }
  .refined-wrap,
  .table-wrap {
    border: 0;
    background: transparent;
    overflow: visible;
  }
  .modern-table,
  .no-wrap-table {
    table-layout: auto;
  }
  .modern-table tbody {
    display: grid;
    gap: 12px;
  }
  .modern-table tr {
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 10px 12px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, white 8%), var(--surface));
    box-shadow: var(--shadow-card);
  }
  .modern-table td,
  .no-wrap-table td,
  .no-wrap-table th {
    border-bottom: 0;
    padding: 8px 0;
    min-width: 0 !important;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .modern-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .modern-table td:not([data-label])::before {
    display: none;
  }
  .empty-state-cell {
    text-align: left;
  }
  .top-header {
    align-items: flex-start;
  }
  .top-header-left,
  .top-header-actions {
    width: 100%;
  }
  .top-header-actions { justify-content: space-between; }
  .header-user-chip {
    min-width: 0;
    flex: 1;
  }
  .tab-strip {
    width: 100%;
    overflow: auto;
  }
}

/* ═══════════════════════════════════════════════════
   Nacional Vision — SaaS Enterprise Visual Upgrade
   Escopo: somente UI/UX/CSS. Sem alteração de fluxo/backend.
═══════════════════════════════════════════════════ */
:root {
  --bg-base: #F8FAFC;
  --bg-surface: #FFFFFF;
  --text-primary: #0F172A;
  --text-secondary: #64748B;
  --text-muted: #94A3B8;
  --border: #E2E8F0;
  --border-strong: #CBD5E1;
  --accent: #2563EB;
  --accent-dim: #1E40AF;
  --accent-hover: #1D4ED8;
  --accent-soft: rgba(37,99,235,.09);
  --success: #10B981;
  --warning: #F59E0B;
  --danger: #EF4444;
  --info: #0EA5E9;
  --shadow-card: 0 8px 24px rgba(15,23,42,.06);
  --shadow-premium: 0 18px 55px rgba(15,23,42,.10), 0 2px 8px rgba(15,23,42,.04);
}

html, body, #root {
  background: #F8FAFC !important;
  color: #0F172A;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
body::before {
  background:
    radial-gradient(circle at 20% 0%, rgba(37,99,235,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.70), transparent 34%);
}

/* Tipografia executiva */
h1 { font-size: clamp(34px, 3.1vw, 48px); font-weight: 700; letter-spacing: -.055em; line-height: .98; color: #0F172A; }
h2 { font-size: 24px; font-weight: 700; letter-spacing: -.035em; color: #0F172A; }
h3 { color: #0F172A; }
.title-area p, .section-subtitle, .panel-subtitle, .plain-text { color: #64748B; font-size: 16px; line-height: 1.75; }
.section-kicker { color: #2563EB; font-size: 12px; font-weight: 800; letter-spacing: .18em; }

/* Shell e sidebar premium */
.enterprise-shell { --sidebar-width: 236px; grid-template-columns: var(--sidebar-width) minmax(0,1fr); background: #F8FAFC; }
.enterprise-shell.sidebar-collapsed { grid-template-columns: var(--sidebar-width) minmax(0,1fr); }
.side-nav {
  width: 236px;
  padding: 22px 16px;
  gap: 22px;
  background:
    radial-gradient(circle at 30% 0%, rgba(37,99,235,.32), transparent 34%),
    linear-gradient(180deg, #0F172A 0%, #111C33 48%, #08111F 100%) !important;
  border-right: 1px solid rgba(255,255,255,.08);
  box-shadow: 12px 0 40px rgba(15,23,42,.16);
}
.side-nav-top { padding: 4px 6px 18px; border-bottom: 1px solid rgba(226,232,240,.12); }
.side-brand strong { color: #FFF !important; font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.side-brand small, .side-nav-section-label { color: rgba(226,232,240,.58) !important; }
.side-nav-section-label { padding: 0 8px; }
.side-nav-links { gap: 8px; }
.side-nav-links a {
  min-height: 46px;
  padding: 11px 12px;
  border-radius: 14px;
  color: rgba(226,232,240,.74) !important;
  font-weight: 600;
  transition: all .2s ease;
}
.nav-icon {
  width: 32px; height: 32px; border-radius: 11px;
  color: #93C5FD !important;
  background: rgba(255,255,255,.08) !important;
}
.side-nav-links a:hover {
  background: rgba(255,255,255,.08) !important;
  color: #FFF !important;
  transform: translateX(3px);
}
.side-nav-links a.active {
  color: #FFF !important;
  background: linear-gradient(135deg, rgba(37,99,235,.32), rgba(14,165,233,.16)) !important;
  border-color: rgba(96,165,250,.26) !important;
  box-shadow: 0 0 0 1px rgba(96,165,250,.10), 0 14px 38px rgba(37,99,235,.28) !important;
}
.side-nav-links a.active .nav-icon { background: rgba(37,99,235,.38) !important; color: #FFF !important; }
.side-user-area { border-top: 1px solid rgba(226,232,240,.12); color: rgba(226,232,240,.70); }
.side-user-meta strong { color: #FFF; }

/* Header e área de conteúdo */
.top-header, .clean-top-header {
  padding: 16px 24px;
  background: rgba(248,250,252,.86) !important;
  border-bottom: 1px solid rgba(226,232,240,.82);
  backdrop-filter: blur(18px);
}
.top-header-copy strong, .top-header-copy.compact strong { color: #0F172A; font-size: 18px; }
.header-user-chip { background: #FFF; border: 1px solid #E2E8F0; box-shadow: 0 6px 18px rgba(15,23,42,.04); }
.page-container { background: #F8FAFC !important; }
.screen-block { padding: 28px; gap: 24px; overflow: auto; }
.hero-row { padding: 6px 0 4px; }

/* Cards / painéis */
.panel-shell, .summary-tile, .kpi-compact-card, .reference-kpi-card, .alert-group-card, .ranking-table-row, .overview-item, .state-card, .executive-opportunity-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 24px !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.06) !important;
  color: #0F172A;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.panel-shell { padding: 24px; }
.panel-shell:hover, .summary-tile:hover, .kpi-compact-card:hover, .reference-kpi-card:hover {
  transform: translateY(-2px) scale(1.01);
  border-color: rgba(37,99,235,.24) !important;
  box-shadow: 0 16px 40px rgba(15,23,42,.10) !important;
}
.summary-tile.danger, .summary-tile.warning { background: #FFF !important; }
.summary-tile.danger { border-top: 4px solid #EF4444 !important; }
.summary-tile.warning { border-top: 4px solid #F59E0B !important; }
.summary-tile strong { font-size: 36px; font-weight: 700; color: #0F172A; }
.summary-tile span { color: #64748B; font-size: 13px; font-weight: 700; }
.summary-tile small { color: #94A3B8; }
.executive-priority-card {
  background: linear-gradient(180deg, #FFFFFF, #F8FAFC) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.06) !important;
  color: #0F172A;
}
.executive-priority-card span { color: #64748B !important; }
.executive-priority-card strong { color: #0F172A; }
.executive-priority-card small { color: #64748B; }

/* KPI cards */
.bi-kpi-icon, .reference-kpi-icon {
  width: 42px !important; height: 42px !important; border-radius: 999px !important;
  background: rgba(37,99,235,.10) !important; color: #2563EB !important;
  font-weight: 800;
}
.reference-kpi-card, .kpi-compact-card { min-height: 168px; padding: 24px !important; }
.reference-kpi-card strong, .kpi-compact-card strong { font-size: clamp(26px, 2vw, 36px); font-weight: 700; color: #0F172A; }
.reference-kpi-card p, .kpi-compact-card p { color: #64748B; font-size: 14px; }
.kpi-card-header span, .bi-kpi-title span:last-child { color: #64748B; font-size: 13px; font-weight: 700; }
.sparkline-row.subtle span { background: linear-gradient(180deg, #60A5FA, #2563EB) !important; }
.text-success { color: #10B981 !important; }
.text-warning { color: #F59E0B !important; }
.text-danger, .negative { color: #EF4444 !important; }

/* Botões */
.primary-btn, .outline-btn, .tab, .small-btn, .icon-btn, .theme-toggle-btn {
  min-height: 48px;
  border-radius: 14px !important;
  font-weight: 700;
  transition: all .2s ease;
}
.primary-btn {
  background: linear-gradient(135deg, #1E40AF, #2563EB 55%, #3B82F6) !important;
  color: #FFF !important;
  border-color: transparent !important;
  box-shadow: 0 10px 30px rgba(37,99,235,.25) !important;
}
.primary-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 36px rgba(37,99,235,.34) !important; filter: none; }
.outline-btn, .tab, .icon-btn, .theme-toggle-btn {
  background: #FFF !important;
  border: 1px solid #E2E8F0 !important;
  color: #0F172A !important;
}
.outline-btn:hover, .tab:hover, .icon-btn:hover { border-color: rgba(37,99,235,.32) !important; box-shadow: 0 8px 22px rgba(15,23,42,.07); }

/* Inputs / filtros como toolbar premium */
input, select, textarea, .input-like, .search-shell {
  background: #FFF !important;
  color: #0F172A !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  min-height: 48px;
  box-shadow: 0 1px 2px rgba(15,23,42,.03);
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(37,99,235,.52) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.12) !important;
}
.search-input,
.catalogo-search input,
.chat-search-box input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 14px center !important;
  padding-left: 44px !important;
}
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E40AF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-position: calc(100% - 14px) center !important;
  background-size: 16px 16px !important;
  background-repeat: no-repeat !important;
  padding-right: 40px !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
}
select:hover:not(:disabled) {
  border-color: rgba(37, 99, 235, .35) !important;
}
select:focus {
  border-color: #1E40AF !important;
  box-shadow: 0 0 0 3px rgba(30, 64, 175, .12) !important;
}
.toolbar-grid.refined, .billing-filters-grid, .campaign-dashboard-filters, .refined-schedule {
  background: #FFF;
  border: 1px solid #E2E8F0;
  border-radius: 24px;
  padding: 14px;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}

/* Tabelas enterprise */
.refined-wrap, .table-wrap {
  background: #FFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.modern-table th {
  position: sticky; top: 0; z-index: 2;
  background: #F8FAFC !important;
  color: #64748B !important;
  font-size: 12px; font-weight: 800;
  border-bottom: 1px solid #E2E8F0 !important;
}
.modern-table td { color: #0F172A !important; border-bottom: 1px solid #EEF2F7 !important; }
.modern-table tbody tr:nth-child(even) { background: #FBFDFF; }
.modern-table tbody tr:hover { background: #EFF6FF !important; }
.cell-title, .rank-text { color: #0F172A !important; }
.cell-sub { color: #64748B !important; }
.status-pill, .soft-badge, .status-chip, .severity-badge {
  border-radius: 999px !important;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  color: #334155;
}
.status-pill.ok, .soft-badge.active, .status-chip.success { background: rgba(16,185,129,.10) !important; color: #047857 !important; border-color: rgba(16,185,129,.25) !important; }
.status-pill.lost, .severity-badge.critical { background: rgba(239,68,68,.09) !important; color: #DC2626 !important; border-color: rgba(239,68,68,.24) !important; }
.severity-badge.warning { background: rgba(245,158,11,.10) !important; color: #B45309 !important; }

/* Login premium */
.login-page { background: radial-gradient(circle at top, rgba(37,99,235,.22), transparent 32%), linear-gradient(180deg, #0F172A, #07101F) !important; }
.login-card { background: rgba(255,255,255,.96) !important; color: #0F172A; border-color: rgba(226,232,240,.9); box-shadow: 0 30px 80px rgba(2,6,23,.28); }
.credential-box { background: #F8FAFC !important; border-color: #E2E8F0 !important; color: #0F172A; }
.error-text { color: #EF4444; }
.success-text { color: #10B981; }

/* Skeleton/fade genérico para estados de carregamento existentes */
.plain-text:only-child { animation: nvFade .28s ease both; }
@keyframes nvFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1280px) {
  .enterprise-shell, .enterprise-shell.sidebar-collapsed { grid-template-columns: 236px minmax(0,1fr); }
}
@media (max-width: 900px) {
  .enterprise-shell, .enterprise-shell.sidebar-collapsed { grid-template-columns: minmax(0,1fr); }
  .side-nav { width: 236px; }
  .screen-block { padding: 16px; }
}

/* ═══════════════════════════════════════════════════
   Passada 2 — execução do plano aprovado por Rafael
   Foco: KPI iconográfico, badges, paginação, toolbars e remoção de resíduos MVP
═══════════════════════════════════════════════════ */
.kpi-tile {
  position: relative;
  display: grid;
  align-content: start;
  gap: 8px;
  padding-top: 24px !important;
  overflow: hidden;
}
.kpi-tile::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: transparent;
}
.kpi-tile.kpi-danger::before, .summary-tile.warning::before, .summary-tile.danger::before { background: #EF4444; }
.kpi-tile.kpi-info::before { background: #2563EB; }
.kpi-tile-icon {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  margin-bottom: 4px;
  letter-spacing: -.03em;
}
.kpi-blue .kpi-tile-icon { background: rgba(37,99,235,.10); color: #2563EB; }
.kpi-danger .kpi-tile-icon { background: rgba(239,68,68,.10); color: #EF4444; }
.kpi-success .kpi-tile-icon { background: rgba(16,185,129,.12); color: #059669; }
.kpi-info .kpi-tile-icon { background: rgba(14,165,233,.12); color: #0284C7; }

/* Badges com leitura executiva */
.head-badges { align-items: center; }
.soft-badge,
.status-chip,
.status-pill {
  min-height: 30px;
  padding: 7px 12px;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}
.soft-badge.active::before,
.status-chip.success::before,
.status-pill.ok::before {
  content: '↑';
  margin-right: 6px;
  font-weight: 900;
}
.status-pill.lost::before,
.severity-badge.critical::before {
  content: '↓';
  margin-right: 6px;
  font-weight: 900;
}

/* Toolbars mais parecidas com Salesforce/Stripe */
.panel-head.compact-head {
  padding-bottom: 14px;
  border-bottom: 1px solid #EEF2F7;
}
.toolbar-grid.refined,
.toolbar-grid.refined-schedule,
.toolbar-grid.campaign-dashboard-filters,
.billing-filters-grid,
.campaign-dashboard-filters {
  align-items: center;
  margin-bottom: 0;
}
.toolbar-grid.refined::before,
.toolbar-grid.refined-schedule::before,
.campaign-dashboard-filters::before {
  content: 'Filtros ativos';
  display: none;
}

/* Paginação moderna */
.pagination-row {
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  background: #F8FAFC;
  color: #64748B;
  font-weight: 700;
}
.pagination-row span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  color: #0F172A;
}

/* Skeleton loaders / loading messages */
.empty-state-cell,
.chat-empty-state,
.plain-text {
  border-radius: 16px;
}
.plain-text:has(+ *) { animation: none; }
.plain-text,
.chat-empty-state,
.empty-state-cell {
  color: #64748B !important;
}
.plain-text.no-margin,
.chat-empty-state {
  background: linear-gradient(90deg, #F8FAFC 25%, #EEF2F7 37%, #F8FAFC 63%);
  background-size: 400% 100%;
  animation: nvSkeleton 1.4s ease infinite;
}
@keyframes nvSkeleton {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

/* Remove resíduos escuros em hints, previews e cards auxiliares */
.source-hint,
.webhook-url,
.refined-preview,
.message-preview.light,
.overview-item,
.soft-metric-card,
.state-card,
.executive-footer-grid div,
.executive-opportunity-card {
  background: #FFFFFF !important;
  border-color: #E2E8F0 !important;
  color: #0F172A !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.source-hint span,
.webhook-url,
.message-preview.light { color: #2563EB !important; }
.source-hint small,
.overview-item span,
.soft-metric-card small { color: #64748B !important; }

/* Tabelas: coluna principal com hierarquia e status mais claro */
.modern-table tbody tr { transition: background .2s ease, box-shadow .2s ease; }
.modern-table tbody tr:hover { box-shadow: inset 3px 0 0 #2563EB; }
.modern-table th:first-child,
.modern-table td:first-child { padding-left: 20px; }

/* Atendimento: manter fluxo WhatsApp, mas com acabamento enterprise */
.whatsapp-shell {
  border-radius: 24px !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 55px rgba(15,23,42,.10) !important;
}
.whatsapp-sidebar,
.chat-sidebar-top,
.chat-conversation-list { background: #F8FAFC !important; }
.whatsapp-main,
.whatsapp-messages {
  background-color: #F8FAFC !important;
  background-image: radial-gradient(rgba(37,99,235,.06) .8px, transparent .8px) !important;
}
.whatsapp-header,
.whatsapp-input-row,
.copilot-panel { background: #FFFFFF !important; border-color: #E2E8F0 !important; }
.whatsapp-conversation-item.active,
.chat-conversation-row.active { background: #EFF6FF !important; }
.chat-conversation-row { border-color: #E2E8F0 !important; }
.conversation-avatar { background: linear-gradient(135deg, #1E40AF, #2563EB) !important; }
.whatsapp-bubble.out { background: #DBEAFE !important; color: #0F172A; }
.whatsapp-bubble.in { background: #FFFFFF !important; color: #0F172A; border: 1px solid #E2E8F0; }
.send-icon-btn { background: linear-gradient(135deg, #10B981, #34D399) !important; box-shadow: 0 10px 24px rgba(16,185,129,.25) !important; }

/* Danger/secondary actions */
.danger-btn {
  color: #DC2626 !important;
  border-color: rgba(239,68,68,.24) !important;
  background: rgba(239,68,68,.06) !important;
}
.danger-btn:hover { background: rgba(239,68,68,.10) !important; box-shadow: 0 8px 22px rgba(239,68,68,.12) !important; }

/* ═══════════════════════════════════════════════════
   Passada 3 — Responsividade real para zoom e telas variadas
   Objetivo: elementos encaixarem com zoom alto/baixo sem quebrar fluxo
═══════════════════════════════════════════════════ */
html {
  overflow-x: hidden;
}
body,
#root {
  width: 100%;
  max-width: 100vw;
}
img, svg, canvas, video {
  max-width: 100%;
}

/* Shell flexível: evita cortes quando o zoom altera viewport efetiva */
.enterprise-shell {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
}
.shell-main,
.page-container,
.page-inner {
  min-width: 0;
  width: 100%;
}
.shell-main {
  height: auto !important;
  min-height: 100vh;
  overflow: visible !important;
}
.page-container {
  height: auto !important;
  min-height: 0;
  overflow: visible !important;
}
.page-inner {
  max-width: min(1720px, 100%);
  height: auto !important;
}
.screen-block {
  height: auto !important;
  min-height: calc(100vh - 76px);
  overflow: visible !important;
}

/* Grids fluidos: deixam de depender de colunas rígidas */
.summary-grid,
.command-kpi-grid,
.reference-kpi-grid,
.top-kpi-row,
.executive-kpi-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)) !important;
}
.bi-bottom-grid,
.reference-bottom-grid,
.bottom-grid,
.executive-opportunities-grid,
.executive-footer-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)) !important;
}
.simple-home-grid > :first-child,
.simple-home-grid > :not(:first-child),
.reference-chart-panel,
.reference-ranking-panel {
  grid-column: auto !important;
}
.dashboard-overview-grid,
.portfolio-layout-grid,
.refined-bottom,
.campaign-layout,
.billing-layout,
.executive-main-grid,
.executive-secondary-grid,
.executive-hero-grid,
.command-grid-top,
.command-content-grid,
.bi-main-grid,
.reference-main-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)) !important;
}

/* Toolbars responsivas: inputs quebram linha sem estourar */
.toolbar-grid.refined,
.toolbar-grid.refined-schedule,
.toolbar-grid.campaign-dashboard-filters,
.billing-filters-grid,
.campaign-dashboard-filters,
.group-member-grid,
.refined-schedule {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
  gap: 12px;
}
.toolbar-grid > *,
.hero-actions > *,
.row-actions > *,
.member-actions > * {
  min-width: 0;
}
.hero-row,
.panel-head,
.top-header,
.top-header-left,
.top-header-actions,
.hero-actions,
.row-actions,
.member-actions,
.pagination-row {
  flex-wrap: wrap;
}
.title-area,
.panel-head > div,
.top-header-copy,
.header-user-chip {
  min-width: 0;
}
.title-area h1,
.panel-head h2,
.top-header-copy strong {
  overflow-wrap: anywhere;
}

/* Cards e painéis não devem forçar largura */
.panel-shell,
.summary-tile,
.kpi-compact-card,
.reference-kpi-card,
.reference-bottom-card,
.main-panel,
.preview-shell {
  min-width: 0 !important;
  max-width: 100%;
}
.reference-kpi-card,
.kpi-compact-card,
.summary-tile {
  min-height: auto;
}

/* Tabelas: scroll horizontal controlado em desktop/zoom alto */
.table-wrap,
.refined-wrap {
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
.modern-table {
  min-width: 760px;
}
.no-wrap-table {
  min-width: 920px;
}
.table-wrap::-webkit-scrollbar,
.refined-wrap::-webkit-scrollbar {
  height: 10px;
}
.table-wrap::-webkit-scrollbar-track,
.refined-wrap::-webkit-scrollbar-track {
  background: #F1F5F9;
  border-radius: 999px;
}
.table-wrap::-webkit-scrollbar-thumb,
.refined-wrap::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 999px;
  border: 2px solid #F1F5F9;
}
.table-wrap::-webkit-scrollbar-thumb:hover,
.refined-wrap::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

/* Ranking e cards internos quebram melhor */
.ranking-table-head,
.ranking-table-row,
.bi-ranking-head,
.bi-ranking-row,
.reference-ranking-head,
.reference-ranking-row {
  min-width: 0;
  overflow-x: auto;
}
.city-bar-row,
.reference-city-row,
.mix-legend-item {
  grid-template-columns: minmax(80px, .8fr) minmax(120px, 1fr) auto auto;
}

/* Atendimento: deixa encaixar quando zoom aumenta */
.chat-layout {
  grid-template-columns: minmax(240px, 300px) minmax(360px, 1fr) minmax(260px, 320px);
  min-height: min(760px, calc(100vh - 140px));
}
.whatsapp-shell {
  height: min(820px, calc(100vh - 128px)) !important;
  min-height: 560px;
}
.whatsapp-messages {
  max-height: none !important;
}
.chat-conversation-list {
  max-height: none !important;
}
.copilot-panel {
  min-width: 0;
}

/* Zoom alto / notebooks: reduz densidade antes de virar mobile */
@media (max-width: 1400px) {
  .enterprise-shell { --sidebar-width: 216px; grid-template-columns: var(--sidebar-width) minmax(0,1fr) !important; }
  .side-nav { width: 216px; padding: 18px 12px; }
  .screen-block { padding: 22px; gap: 20px; }
  .panel-shell { padding: 20px; }
  .summary-tile strong,
  .reference-kpi-card strong,
  .kpi-compact-card strong { font-size: clamp(24px, 2.2vw, 34px); }
}

@media (max-width: 1180px) {
  .enterprise-shell { --sidebar-width: 196px; grid-template-columns: var(--sidebar-width) minmax(0,1fr) !important; }
  .side-nav { width: 196px; }
  .side-brand strong { font-size: 18px; }
  .side-nav-links a { font-size: 12px; gap: 8px; }
  .nav-icon { width: 28px; height: 28px; }
  .chat-layout { grid-template-columns: minmax(220px, 280px) minmax(360px, 1fr); }
  .copilot-panel { grid-column: 1 / -1; height: auto !important; max-height: none; }
}

@media (max-width: 980px) {
  .enterprise-shell,
  .enterprise-shell.sidebar-collapsed {
    display: block;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .side-nav {
    position: fixed;
    width: min(280px, 86vw);
    height: 100vh;
    z-index: 40;
  }
  .top-header { position: sticky; top: 0; z-index: 30; }
  .screen-block { padding: 16px; gap: 16px; }
  .hero-row,
  .panel-head {
    align-items: stretch;
  }
  .hero-actions,
  .top-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .hero-actions > button,
  .hero-actions > a,
  .top-header-actions > button {
    flex: 1 1 180px;
  }
  .chat-layout {
    grid-template-columns: 1fr;
    height: auto !important;
    min-height: 0;
  }
  .whatsapp-shell {
    height: auto !important;
    min-height: 0;
  }
  .whatsapp-main {
    min-height: 620px;
  }
}

@media (max-width: 720px) {
  h1 { font-size: clamp(28px, 10vw, 38px); }
  h2 { font-size: 20px; }
  .title-area p,
  .section-subtitle,
  .panel-subtitle,
  .plain-text { font-size: 14px; }
  .top-header { padding: 12px; }
  .screen-block { padding: 12px; }
  .panel-shell { padding: 16px; border-radius: 18px !important; }
  .summary-grid,
  .command-kpi-grid,
  .reference-kpi-grid,
  .top-kpi-row,
  .bi-bottom-grid,
  .reference-bottom-grid,
  .bottom-grid {
    grid-template-columns: 1fr !important;
  }
  .toolbar-grid.refined,
  .toolbar-grid.refined-schedule,
  .toolbar-grid.campaign-dashboard-filters,
  .billing-filters-grid,
  .campaign-dashboard-filters,
  .group-member-grid,
  .refined-schedule {
    grid-template-columns: 1fr !important;
    padding: 12px;
  }
  .primary-btn,
  .outline-btn,
  .tab,
  .small-btn,
  .icon-btn,
  .theme-toggle-btn {
    width: 100%;
  }
  .modern-table,
  .no-wrap-table {
    min-width: 0;
  }
  .pagination-row {
    justify-content: center;
  }
  .pagination-row > * {
    flex: 1 1 100%;
    justify-content: center;
    text-align: center;
  }
  .whatsapp-main { min-height: 560px; }
  .chat-bubble { max-width: 86%; }
}

/* Lucide-style inline icons — sem dependência nova */
.lucide-svg {
  width: 18px;
  height: 18px;
  display: block;
  flex-shrink: 0;
}
.side-nav-links a:hover .lucide-svg,
.side-nav-links a.active .lucide-svg {
  filter: drop-shadow(0 0 8px rgba(147,197,253,.34));
}

/* KPI Lucide-style icons */
.kpi-svg {
  width: 20px;
  height: 20px;
  display: block;
}
.kpi-tile:hover .kpi-svg {
  filter: drop-shadow(0 4px 10px currentColor);
}

/* ═══════════════════════════════════════════════════
   Passada 4 — KPI density: 6 cards por linha em desktop/100% zoom
═══════════════════════════════════════════════════ */
@media (min-width: 1280px) {
  .summary-grid,
  .dashboard-summary-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .dashboard-summary-grid .summary-tile,
  .summary-grid .summary-tile {
    min-height: 132px;
    padding: 18px !important;
    border-radius: 20px !important;
  }
  .summary-grid .kpi-tile {
    gap: 6px;
  }
  .summary-grid .kpi-tile-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 2px;
  }
  .summary-grid .kpi-svg {
    width: 17px;
    height: 17px;
  }
  .summary-grid .summary-tile span {
    font-size: 11px !important;
    line-height: 1.2;
    letter-spacing: .06em;
    margin-bottom: 4px;
  }
  .summary-grid .summary-tile strong {
    font-size: clamp(20px, 1.45vw, 28px) !important;
    line-height: 1.03;
    margin-bottom: 2px;
    overflow-wrap: anywhere;
  }
  .summary-grid .summary-tile small {
    font-size: 11px;
    line-height: 1.25;
  }
}

@media (min-width: 980px) and (max-width: 1279px) {
  .summary-grid,
  .dashboard-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 720px) and (max-width: 979px) {
  .summary-grid,
  .dashboard-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ═══════════════════════════════════════════════════
   Fix — Sidebar com rolagem própria em qualquer zoom
═══════════════════════════════════════════════════ */
.side-nav {
  min-height: 0;
  overflow: hidden !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
}
.side-nav-links {
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(148,163,184,.55) transparent;
}
.side-nav-links::-webkit-scrollbar { width: 8px; }
.side-nav-links::-webkit-scrollbar-track { background: transparent; }
.side-nav-links::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,.42);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.side-nav-links::-webkit-scrollbar-thumb:hover { background: rgba(148,163,184,.72); background-clip: padding-box; }
.side-nav-top,
.side-nav-section-label,
.side-user-area {
  flex-shrink: 0;
}
.side-user-area {
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, rgba(15,23,42,.92), #0F172A 45%);
  margin: 0 -4px -4px;
  padding: 14px 8px 4px;
  z-index: 2;
}

@media (max-height: 820px) {
  .side-nav { gap: 8px; padding-top: 10px; padding-bottom: 8px; }
  .side-nav-top { gap: 8px; }
  .side-nav-top { padding-bottom: 10px !important; }
  .side-nav-section-label { font-size: 9px; }
  .side-nav-links { gap: 6px; }
  .side-nav-links a { padding: 8px 9px; min-height: 40px; }
  .nav-icon { width: 26px; height: 26px; }
  .side-brand small { display: none; }
  .side-user-area { padding-top: 10px; }
}

@media (max-height: 700px) {
  .side-nav-links a { padding: 7px 8px; min-height: 36px; font-size: 12px; }
  .nav-icon { width: 24px; height: 24px; }
  .lucide-svg { width: 16px; height: 16px; }
  .side-user-meta span { display: none; }
}

/* ═══════════════════════════════════════════════════
   Passada 5 — Action icons nos botões principais
   Ícones visuais via CSS, sem alterar componentes/fluxos
═══════════════════════════════════════════════════ */
.primary-btn,
.outline-btn,
.small-btn,
.icon-btn,
.send-icon-btn,
.theme-toggle-btn,
.clear-conversation-btn,
.inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.primary-btn::before,
.outline-btn::before,
.inline-link::before {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  opacity: .92;
}
.primary-btn::before {
  content: '↗';
  background: rgba(255,255,255,.18);
  color: #FFFFFF;
}
.outline-btn::before,
.inline-link::before {
  content: '•';
  background: rgba(37,99,235,.10);
  color: #2563EB;
}
.outline-btn.danger-btn::before,
.danger-btn::before {
  content: '!';
  background: rgba(239,68,68,.12);
  color: #DC2626;
}
.theme-toggle-btn::before { content: '◐'; }
.inline-link::before { content: '↗'; }
.small-btn::before {
  width: 16px;
  height: 16px;
  font-size: 11px;
}
.icon-btn::before,
.send-icon-btn::before,
.composer-side-btn::before,
.clear-conversation-btn::before,
.tab::before,
.nav-icon::before,
.side-toggle::before,
.top-header-toggle::before {
  content: none !important;
}
.primary-btn:empty::before,
.outline-btn:empty::before { content: none; }

/* Mapeamento visual por intenção usando classes existentes */
.hero-actions .primary-btn::before { content: '✓'; }
.hero-actions .outline-btn::before { content: '↻'; }
.row-actions .outline-btn::before,
.member-actions .outline-btn::before { content: '✎'; }
.row-actions .danger-btn::before { content: '×'; }
.toolbar-grid .primary-btn::before { content: '✓'; }
.toolbar-grid .outline-btn::before { content: '↺'; }
.pagination-row .outline-btn::before { content: '‹'; }
.pagination-row .outline-btn + span + .outline-btn::before { content: '›'; }

@media (max-width: 720px) {
  .primary-btn::before,
  .outline-btn::before,
  .inline-link::before {
    width: 16px;
    height: 16px;
    font-size: 11px;
  }
}

/* Skeleton panels específicos — dashboard, tabelas e atendimento */
.skeleton-panel {
  display: grid;
  gap: 12px;
  width: 100%;
  padding: 18px;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.summary-grid > .skeleton-panel {
  min-height: 132px;
}
.skeleton-line {
  display: block;
  height: 13px;
  border-radius: 999px;
  background: linear-gradient(90deg, #F1F5F9 25%, #E2E8F0 37%, #F8FAFC 63%);
  background-size: 420% 100%;
  animation: nvSkeleton 1.35s ease infinite;
}
.skeleton-line-1 { width: 92%; }
.skeleton-line-2 { width: 68%; }
.skeleton-line-3 { width: 45%; }
.whatsapp-messages .skeleton-panel {
  max-width: 72%;
  margin: auto 0;
  align-self: flex-start;
}

.chat-list-skeleton {
  padding: 12px;
}
.chat-list-skeleton .skeleton-panel {
  min-height: 184px;
  border-radius: 16px;
  box-shadow: none;
}

/* ═══════════════════════════════════════════════════
   Fix — sidebar recolhida libera 100% da área útil
═══════════════════════════════════════════════════ */
.enterprise-shell.sidebar-collapsed {
  grid-template-columns: minmax(0, 1fr) !important;
}
.enterprise-shell.sidebar-collapsed .shell-main {
  grid-column: 1 / -1;
  width: 100%;
}
.enterprise-shell.sidebar-collapsed .side-nav.is-hidden {
  position: fixed;
  left: 0;
  top: 0;
  width: var(--sidebar-width, 236px);
  z-index: 50;
}
@media (min-width: 981px) {
  .enterprise-shell.sidebar-collapsed .page-inner {
    max-width: min(1880px, 100%);
  }
}

/* Fix definitivo — collapse desktop também altera a estrutura do shell */
.enterprise-shell.sidebar-collapsed {
  --sidebar-width: 0px;
  grid-template-columns: minmax(0, 1fr) !important;
}
.enterprise-shell.sidebar-collapsed > .side-nav.is-hidden {
  position: fixed !important;
  transform: translateX(-110%) !important;
  width: 236px !important;
  pointer-events: none;
}
.enterprise-shell.sidebar-collapsed > .shell-main {
  grid-column: 1 !important;
  min-width: 0;
  width: 100vw;
}

/* Cockpit — vínculo manual conversa x cliente */
.customer-link-card {
  border-color: rgba(37,99,235,.18) !important;
  background: linear-gradient(180deg, #FFFFFF, #F8FAFC) !important;
}
.customer-link-card input {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  padding: 0 12px;
  font-size: 13px;
}
.customer-link-results {
  display: grid;
  gap: 8px;
  max-height: 210px;
  overflow-y: auto;
  padding-top: 8px;
}
.customer-link-option {
  display: grid;
  gap: 3px;
  width: 100%;
  text-align: left;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #FFFFFF;
  padding: 10px;
  color: #0F172A;
  cursor: pointer;
  transition: all .2s ease;
}
.customer-link-option:hover {
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 8px 18px rgba(15,23,42,.08);
  transform: translateY(-1px);
}
.customer-link-option span,
.compact-source small {
  color: #64748B;
  font-size: 12px;
}
.compact-source {
  gap: 8px;
}
.compact-source .outline-btn {
  justify-self: start;
  min-height: 34px;
}

/* Correção estrutural do chat/cockpit após adicionar vínculo de cliente */
.whatsapp-shell.chat-layout {
  height: calc(100vh - 150px);
  min-height: 640px;
  max-height: calc(100vh - 112px);
}
.executive-copilot.copilot-panel {
  grid-template-rows: auto auto minmax(0, 1fr) minmax(150px, 32%);
  align-content: stretch;
  overflow: hidden;
}
.executive-copilot .customer-link-card {
  min-height: 0;
  max-height: 240px;
  overflow: hidden;
}
.executive-copilot .customer-link-card:has(.customer-link-results) {
  overflow-y: auto;
}
.executive-copilot .copilot-top-sections {
  min-height: 0;
  overflow-y: auto;
}
.executive-copilot .copiloto-chat-section {
  min-height: 150px;
  overflow: hidden;
}
.chat-main.whatsapp-main,
.chat-sidebar.whatsapp-sidebar,
.executive-copilot {
  min-height: 0;
}

@media (max-width: 1120px) {
  .whatsapp-shell.chat-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    grid-template-rows: minmax(520px, 1fr) auto;
    height: auto;
    max-height: none;
  }
  .executive-copilot.copilot-panel {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid #e9edf2;
    grid-template-rows: auto auto auto minmax(160px, auto);
    max-height: none;
  }
}

/* Fix definitivo: atendimento não pode ocupar a topbar */
.shell-main {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
}
.page-container {
  height: 100% !important;
  min-height: 0 !important;
  overflow: auto !important;
}
.page-inner:has(.whatsapp-shell) {
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.screen-block:has(.whatsapp-shell) {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 14px !important;
}
.screen-block:has(.whatsapp-shell) .whatsapp-shell.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}
.screen-block:has(.whatsapp-shell) .chat-conversation-list,
.screen-block:has(.whatsapp-shell) .whatsapp-messages {
  max-height: none !important;
}
.top-header {
  position: relative !important;
  z-index: 50 !important;
  flex-shrink: 0 !important;
}

@media (max-width: 1120px) {
  .screen-block:has(.whatsapp-shell) {
    overflow: auto !important;
  }
  .screen-block:has(.whatsapp-shell) .whatsapp-shell.chat-layout {
    height: auto !important;
  }
}

/* Atendimento deve caber inteiro na viewport: sem scroll externo */
.page-inner:has(.atendimento-screen) {
  height: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.page-container:has(.atendimento-screen) {
  overflow: hidden !important;
}
.atendimento-screen {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  overflow: hidden !important;
  align-content: stretch !important;
}
.atendimento-screen .atendimento-status {
  padding: 10px 14px !important;
  border-radius: 12px !important;
}
.atendimento-screen > .whatsapp-shell.chat-layout {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.atendimento-screen .chat-sidebar,
.atendimento-screen .chat-main,
.atendimento-screen .copilot-panel {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.atendimento-screen .chat-conversation-list,
.atendimento-screen .whatsapp-messages,
.atendimento-screen .copilot-top-sections,
.atendimento-screen .copilot-chat-log {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}
.atendimento-screen .whatsapp-main {
  grid-template-rows: 60px minmax(0, 1fr) 64px !important;
}
.atendimento-screen .whatsapp-input-row {
  min-height: 64px !important;
}

@media (max-width: 1120px) {
  .page-container:has(.atendimento-screen),
  .page-inner:has(.atendimento-screen),
  .atendimento-screen {
    overflow: auto !important;
    height: auto !important;
  }
}

/* Atendimento em modo app real: sem scroll de página */
.enterprise-shell.route-atendimento {
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
}
.enterprise-shell.route-atendimento .shell-main {
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}
.enterprise-shell.route-atendimento .page-container,
.enterprise-shell.route-atendimento .page-inner,
.enterprise-shell.route-atendimento .atendimento-screen {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.enterprise-shell.route-atendimento .page-inner {
  max-width: none !important;
}
.enterprise-shell.route-atendimento .atendimento-screen {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  padding: 8px 10px !important;
  gap: 8px !important;
}
.enterprise-shell.route-atendimento .atendimento-screen:not(:has(.atendimento-status)) {
  grid-template-rows: minmax(0, 1fr) !important;
}
.enterprise-shell.route-atendimento .whatsapp-shell.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.enterprise-shell.route-atendimento .whatsapp-main,
.enterprise-shell.route-atendimento .whatsapp-sidebar,
.enterprise-shell.route-atendimento .executive-copilot {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.enterprise-shell.route-atendimento .chat-conversation-list,
.enterprise-shell.route-atendimento .whatsapp-messages,
.enterprise-shell.route-atendimento .copilot-top-sections,
.enterprise-shell.route-atendimento .copilot-chat-log {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}

/* ===== Atendimento: topbar minimalista ===== */
.enterprise-shell.route-atendimento .top-header,
.enterprise-shell.route-atendimento .clean-top-header {
  padding: 4px 10px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  align-items: center !important;
  gap: 8px !important;
}
.enterprise-shell.route-atendimento .top-header-copy.compact {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.enterprise-shell.route-atendimento .top-header-copy.compact small,
.enterprise-shell.route-atendimento .top-header-copy.compact span {
  display: none !important;
}
.enterprise-shell.route-atendimento .top-header-copy.compact strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text-primary, #0f172a) !important;
  white-space: nowrap !important;
}
.enterprise-shell.route-atendimento .top-header-toggle {
  padding: 2px 6px !important;
  font-size: 16px !important;
}
.enterprise-shell.route-atendimento .top-header-actions {
  gap: 6px !important;
}
.enterprise-shell.route-atendimento .header-user-chip.compact {
  padding: 3px 8px !important;
  min-width: auto !important;
  font-size: 12px !important;
}
.enterprise-shell.route-atendimento .header-user-chip.compact strong {
  font-size: 12px !important;
}
.enterprise-shell.route-atendimento .header-user-chip .header-user-label,
.enterprise-shell.route-atendimento .theme-toggle-btn {
  font-size: 11px !important;
  padding: 3px 8px !important;
}
.enterprise-shell.route-atendimento .shell-main {
  grid-template-rows: 40px minmax(0, 1fr) !important;
}
.enterprise-shell.route-atendimento .atendimento-screen {
  padding: 6px 8px !important;
  gap: 6px !important;
}

/* ===== Atendimento inspirado em CRM moderno ===== */
.enterprise-shell.route-atendimento {
  background: #eef2f7 !important;
}
.enterprise-shell.route-atendimento .whatsapp-shell {
  border-radius: 18px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  box-shadow: 0 18px 60px rgba(15, 23, 42, .10) !important;
  background: #ffffff !important;
}
.enterprise-shell.route-atendimento .whatsapp-sidebar {
  background: linear-gradient(180deg, #fbfdff 0%, #f5f7fb 100%) !important;
  border-right: 1px solid rgba(148, 163, 184, .28) !important;
}
.enterprise-shell.route-atendimento .panel-header,
.enterprise-shell.route-atendimento .whatsapp-header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(148, 163, 184, .24) !important;
  backdrop-filter: blur(12px) !important;
}
.enterprise-shell.route-atendimento .chat-conversation-list {
  background: transparent !important;
  padding: 8px !important;
  gap: 6px !important;
}
.enterprise-shell.route-atendimento .chat-conversation-row {
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: transparent !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
.enterprise-shell.route-atendimento .chat-conversation-row:hover {
  background: #ffffff !important;
  border-color: rgba(148, 163, 184, .24) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .07) !important;
  transform: translateY(-1px) !important;
}
.enterprise-shell.route-atendimento .chat-conversation-row.active {
  background: linear-gradient(135deg, #eef6ff 0%, #ffffff 100%) !important;
  border-color: rgba(37, 99, 235, .28) !important;
  box-shadow: 0 12px 30px rgba(37, 99, 235, .12) !important;
}
.enterprise-shell.route-atendimento .whatsapp-conversation-item {
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 14px !important;
}
.enterprise-shell.route-atendimento .chat-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .24) !important;
}
.enterprise-shell.route-atendimento .chat-conversation-top strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.enterprise-shell.route-atendimento .chat-conversation-top span,
.enterprise-shell.route-atendimento .chat-conversation-bottom span:first-child {
  color: #64748b !important;
}
.enterprise-shell.route-atendimento .unread-badge,
.enterprise-shell.route-atendimento .pill,
.enterprise-shell.route-atendimento .status-pill {
  border-radius: 999px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .08) !important;
}
.enterprise-shell.route-atendimento .whatsapp-main {
  background: #f3f6fb !important;
}
.enterprise-shell.route-atendimento .whatsapp-messages {
  background: radial-gradient(circle at 10% 10%, rgba(37,99,235,.06), transparent 24%), radial-gradient(circle at 90% 0%, rgba(6,182,212,.08), transparent 26%), #f3f6fb !important;
  padding: 18px 26px !important;
}
.enterprise-shell.route-atendimento .whatsapp-bubble {
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .07) !important;
}
.enterprise-shell.route-atendimento .whatsapp-bubble.out {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #fff !important;
  border: 0 !important;
}
.enterprise-shell.route-atendimento .whatsapp-bubble.in {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
}
.enterprise-shell.route-atendimento .whatsapp-input-row {
  background: rgba(255,255,255,.96) !important;
  border-top: 1px solid rgba(148, 163, 184, .24) !important;
  padding: 10px 14px !important;
}
.enterprise-shell.route-atendimento .whatsapp-input-row input {
  border-radius: 14px !important;
  background: #f8fafc !important;
  border-color: rgba(148, 163, 184, .35) !important;
}
.enterprise-shell.route-atendimento .copilot-panel,
.enterprise-shell.route-atendimento .executive-copilot {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border-left: 1px solid rgba(148, 163, 184, .24) !important;
}

/* ===== Atendimento standalone app shell ===== */
.atendimento-app-shell {
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  display: grid;
  grid-template-rows: 44px minmax(0, 1fr);
  background: #eef2f7;
  color: #0f172a;
}
.atendimento-app-topbar {
  height: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 12px;
  background: #ffffff;
  border-bottom: 1px solid #dbe3ef;
  color: #0f172a;
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
}
.atendimento-app-brand,
.atendimento-app-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.atendimento-app-brand strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
}
.atendimento-app-brand span {
  color: #64748b;
  font-size: 12px;
}
.ghost-link {
  color: #2563eb;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.ghost-link:hover { background: #dbeafe; }
.atendimento-app-main {
  min-height: 0;
  overflow: hidden;
  padding: 8px;
}
.atendimento-app-main .atendimento-screen {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}
.atendimento-app-main .screen-block,
.atendimento-app-main .whatsapp-shell.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.atendimento-app-main .whatsapp-shell {
  border-radius: 18px !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.10) !important;
}
.atendimento-app-main .whatsapp-sidebar,
.atendimento-app-main .chat-conversation-list,
.atendimento-app-main .copilot-panel,
.atendimento-app-main .executive-copilot {
  background: #f8fafc !important;
  color: #0f172a !important;
}
.atendimento-app-main .whatsapp-main {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  grid-template-rows: 58px minmax(0, 1fr) 64px !important;
}
.atendimento-app-main .whatsapp-header,
.atendimento-app-main .whatsapp-input-row,
.atendimento-app-main .panel-header {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #dbe3ef !important;
}
.atendimento-app-main .whatsapp-messages {
  min-height: 0 !important;
  overflow-y: auto !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
.atendimento-app-main .chat-conversation-list,
.atendimento-app-main .copilot-top-sections,
.atendimento-app-main .copilot-chat-log {
  min-height: 0 !important;
  overflow-y: auto !important;
}
.atendimento-app-main .chat-conversation-top strong,
.atendimento-app-main .panel-title,
.atendimento-app-main h1,
.atendimento-app-main h2,
.atendimento-app-main h3,
.atendimento-app-main strong,
.atendimento-app-main label {
  color: #0f172a !important;
}
.atendimento-app-main .chat-conversation-top span,
.atendimento-app-main .chat-conversation-bottom span,
.atendimento-app-main .section-subtitle,
.atendimento-app-main small,
.atendimento-app-main p {
  color: #475569 !important;
}
.atendimento-app-main input,
.atendimento-app-main textarea,
.atendimento-app-main select {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
.atendimento-app-main input::placeholder,
.atendimento-app-main textarea::placeholder {
  color: #94a3b8 !important;
}
.atendimento-app-main .whatsapp-bubble.out,
.atendimento-app-main .whatsapp-bubble.out p,
.atendimento-app-main .whatsapp-bubble.out span,
.atendimento-app-main .whatsapp-bubble.out small {
  color: #ffffff !important;
}
.atendimento-app-main .whatsapp-bubble.in,
.atendimento-app-main .whatsapp-bubble.in p,
.atendimento-app-main .whatsapp-bubble.in span {
  color: #0f172a !important;
}
.atendimento-app-main button.primary-btn,
.atendimento-app-main .primary-btn {
  color: #ffffff !important;
}

/* Ajuste fino: Atendimento ainda mais limpo e compacto */
.atendimento-app-shell {
  grid-template-rows: 38px minmax(0, 1fr) !important;
}
.atendimento-app-topbar {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 10px !important;
}
.atendimento-app-brand span { display: none !important; }
.atendimento-app-brand strong { font-size: 13px !important; }
.atendimento-app-actions .header-user-chip.compact {
  padding: 3px 8px !important;
  min-width: auto !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
}
.atendimento-app-actions .header-user-chip.compact strong { color: #0f172a !important; }
.atendimento-app-actions .outline-btn.small-btn,
.atendimento-app-actions .icon-btn {
  min-height: 28px !important;
  padding: 4px 8px !important;
  color: #0f172a !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
}
.atendimento-app-main { padding: 4px !important; }
.atendimento-app-main .atendimento-screen { height: 100% !important; }
.atendimento-app-main .whatsapp-shell { border-radius: 14px !important; }
.atendimento-app-main .whatsapp-main { grid-template-rows: 52px minmax(0, 1fr) 60px !important; }
.atendimento-app-main .whatsapp-header { padding: 8px 12px !important; }
.atendimento-app-main .whatsapp-input-row { min-height: 60px !important; height: 60px !important; padding: 8px 12px !important; }
.atendimento-app-main .whatsapp-input-row input { min-height: 40px !important; }

/* Correção: listas de busca não devem esticar 1 resultado até ocupar a coluna toda */
.atendimento-app-main .chat-conversation-list,
.atendimento-app-main .customer-link-results,
.chat-conversation-list,
.customer-link-results {
  align-content: start !important;
  align-items: start !important;
  grid-auto-rows: max-content !important;
}
.atendimento-app-main .chat-conversation-row,
.atendimento-app-main .customer-link-option,
.chat-conversation-row,
.customer-link-option {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}
.atendimento-app-main .customer-link-results {
  max-height: 220px !important;
  overflow-y: auto !important;
}
.atendimento-app-main .customer-link-option {
  width: 100% !important;
  min-height: 48px !important;
  padding: 8px 10px !important;
}
.atendimento-app-main .chat-conversation-row {
  min-height: 58px !important;
}

/* ===== Redesign Atendimento - Nacional Carnes / WhatsApp Business ===== */
.atendimento-app-shell {
  background: #F0F2F5 !important;
}
.whatsapp-business-redesign .whatsapp-shell.chat-layout {
  grid-template-columns: 25% 45% 30% !important;
  background: #F0F2F5 !important;
  border: 1px solid #d9dee5 !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 22px rgba(11, 20, 26, .08) !important;
}
.whatsapp-business-redesign .whatsapp-sidebar,
.whatsapp-business-redesign .crm-smart-panel {
  background: #FFFFFF !important;
}
.whatsapp-business-redesign .chat-sidebar-top {
  background: #F0F2F5 !important;
  border-bottom: 1px solid #d9dee5 !important;
  padding: 10px !important;
  gap: 8px !important;
}
.whatsapp-business-redesign .chat-sidebar-toolbar strong {
  font-size: 17px !important;
  color: #111B21 !important;
}
.whatsapp-business-redesign .chat-sidebar-toolbar span {
  display: block;
  font-size: 11px;
  color: #667781;
  margin-top: 1px;
}
.whatsapp-business-redesign .new-conversation-btn {
  border: 0 !important;
  background: #25D366 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.whatsapp-business-redesign .chat-search-box input {
  height: 36px !important;
  border-radius: 8px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: #111B21 !important;
  padding: 0 12px !important;
  box-shadow: inset 0 0 0 1px #e5e7eb !important;
}
.conversation-filter-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.conversation-filter-tabs button {
  border: 0;
  background: #ffffff;
  color: #54656f;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.conversation-filter-tabs button.active {
  background: #D9FDD3;
  color: #128C7E;
}
.whatsapp-business-redesign .chat-conversation-list {
  background: #ffffff !important;
  padding: 0 !important;
  gap: 0 !important;
}
.whatsapp-business-redesign .chat-conversation-row {
  border: 0 !important;
  border-bottom: 1px solid #f0f2f5 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  min-height: 72px !important;
  box-shadow: none !important;
  transform: none !important;
}
.whatsapp-business-redesign .chat-conversation-row:hover,
.whatsapp-business-redesign .chat-conversation-row.active {
  background: #F0F2F5 !important;
  box-shadow: none !important;
  transform: none !important;
  border-color: #f0f2f5 !important;
}
.whatsapp-business-redesign .whatsapp-conversation-item {
  grid-template-columns: 48px minmax(0,1fr) !important;
  padding: 10px 12px !important;
  border-radius: 0 !important;
  min-height: 72px !important;
}
.whatsapp-business-redesign .conversation-avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #dfe5e7 !important;
  color: #54656f !important;
  box-shadow: none !important;
}
.whatsapp-business-redesign .conversation-avatar.large {
  width: 42px !important;
  height: 42px !important;
  background: #dfe5e7 !important;
}
.whatsapp-business-redesign .chat-conversation-top strong {
  font-size: 14px !important;
  color: #111B21 !important;
  font-weight: 700 !important;
}
.whatsapp-business-redesign .chat-conversation-top span {
  font-size: 11px !important;
  color: #667781 !important;
}
.whatsapp-business-redesign .chat-conversation-bottom span:first-child {
  font-size: 12px !important;
  color: #667781 !important;
}
.whatsapp-unread-badge {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #25D366;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
}
.whatsapp-business-redesign .clear-conversation-btn {
  width: 28px !important;
  padding: 0 !important;
  color: #94a3b8 !important;
  border-left: 0 !important;
  opacity: .35;
}
.whatsapp-business-redesign .chat-conversation-row:hover .clear-conversation-btn { opacity: 1; }
.whatsapp-business-redesign .whatsapp-main {
  background: #EFEAE2 !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.whatsapp-business-redesign .whatsapp-header {
  background: #F0F2F5 !important;
  border-bottom: 1px solid #d9dee5 !important;
  padding: 9px 14px !important;
}
.whatsapp-business-redesign .chat-header-meta strong {
  color: #111B21 !important;
  font-size: 14px !important;
}
.whatsapp-business-redesign .chat-header-meta span,
.customer-context-line span {
  color: #667781 !important;
}
.customer-context-line {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  margin-top: 2px;
}
.customer-context-line span {
  background: rgba(18, 140, 126, .08);
  color: #128C7E !important;
  border-radius: 999px;
  padding: 2px 7px;
}
.whatsapp-business-redesign .whatsapp-messages {
  background-color: #EFEAE2 !important;
  background-image: radial-gradient(rgba(17,27,33,.06) 1px, transparent 1px), linear-gradient(rgba(239,234,226,.82), rgba(239,234,226,.82)) !important;
  background-size: 18px 18px, auto !important;
  padding: 18px 28px !important;
  gap: 6px !important;
}
.whatsapp-business-redesign .whatsapp-bubble {
  max-width: 68% !important;
  border-radius: 8px !important;
  box-shadow: 0 1px .5px rgba(11,20,26,.13) !important;
  padding: 7px 9px 5px !important;
  font-size: 13px !important;
}
.whatsapp-business-redesign .whatsapp-bubble.in {
  background: #ffffff !important;
  color: #111B21 !important;
  border: 0 !important;
  border-top-left-radius: 0 !important;
}
.whatsapp-business-redesign .whatsapp-bubble.out {
  background: #D9FDD3 !important;
  color: #111B21 !important;
  border: 0 !important;
  border-top-right-radius: 0 !important;
}
.whatsapp-business-redesign .whatsapp-bubble.out * { color: #111B21 !important; }
.whatsapp-business-redesign .whatsapp-bubble small {
  color: #667781 !important;
  font-size: 10px !important;
}
.whatsapp-business-redesign .whatsapp-input-row {
  background: #F0F2F5 !important;
  border-top: 1px solid #d9dee5 !important;
  padding: 9px 12px !important;
}
.whatsapp-business-redesign .whatsapp-input-row input {
  border: 0 !important;
  border-radius: 8px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  color: #111B21 !important;
}
.whatsapp-business-redesign .composer-side-btn {
  color: #54656f !important;
  font-size: 18px !important;
}
.whatsapp-business-redesign .quick-reply-btn {
  color: #128C7E !important;
}
.whatsapp-business-redesign .send-icon-btn {
  background: #25D366 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.crm-smart-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px !important;
  overflow-y: auto !important;
  border-left: 1px solid #d9dee5 !important;
  color: #111B21 !important;
}
.crm-panel-header {
  display: grid;
  gap: 2px;
  padding: 2px 2px 4px;
}
.crm-panel-header strong { font-size: 16px; color: #111B21; }
.crm-panel-header span { font-size: 12px; color: #667781; }
.crm-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 9px;
  box-shadow: 0 1px 2px rgba(11,20,26,.05);
}
.crm-card-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  color: #667781;
  font-size: 12px;
  font-weight: 800;
}
.crm-card-title strong {
  color: #128C7E;
  background: #D9FDD3;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
}
.crm-card h3 {
  margin: 0;
  color: #111B21;
  font-size: 15px;
  line-height: 1.25;
}
.crm-kv {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #667781;
  font-size: 12px;
}
.crm-kv strong { color: #111B21; text-align: right; }
.crm-full-btn {
  border: 0;
  border-radius: 8px;
  background: #128C7E;
  color: #ffffff;
  min-height: 36px;
  font-weight: 800;
  cursor: pointer;
}
.crm-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}
.crm-metric {
  background: #F0F2F5;
  border-radius: 8px;
  padding: 9px;
  display: grid;
  gap: 4px;
  min-height: 58px;
}
.crm-metric.wide { grid-column: 1 / -1; }
.crm-metric span { color: #667781; font-size: 11px; }
.crm-metric strong { color: #111B21; font-size: 13px; }
.crm-alert-list { display: grid; gap: 7px; }
.crm-alert-item {
  border-radius: 8px;
  padding: 8px 9px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
  font-weight: 700;
}
.crm-no-alerts {
  border-radius: 8px;
  padding: 10px;
  background: #ecfdf3;
  color: #128C7E;
  font-weight: 800;
  font-size: 12px;
}
.ai-card p,
.ai-last-note {
  margin: 0;
  color: #334155;
  font-size: 12px;
  line-height: 1.45;
}
.crm-card-actions { display: flex; gap: 6px; }
.crm-card-actions button,
.crm-card-title button {
  border: 0;
  background: #D9FDD3;
  color: #128C7E;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
}
.customer-link-mini { display: grid; gap: 6px; }
.customer-link-mini input,
.crm-smart-panel .copilot-chat-input input {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #111B21 !important;
  min-height: 34px !important;
}
@media (max-width: 1180px) {
  .whatsapp-business-redesign .whatsapp-shell.chat-layout { grid-template-columns: 32% 68% !important; }
  .whatsapp-business-redesign .crm-smart-panel { display: none !important; }
}

/* ===== Painel direito: Assistente, não cardão de CRM ===== */
.whatsapp-business-redesign .assistant-panel.whatsapp-assistant-panel {
  background: #F0F2F5 !important;
  border-left: 1px solid #d9dee5 !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
  color: #111B21 !important;
}
.assistant-header {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border-radius: 8px;
  padding: 10px;
  border: 1px solid #e5e7eb;
}
.assistant-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #ffffff;
  font-weight: 900;
}
.assistant-header strong { display: block; color: #111B21; font-size: 14px; }
.assistant-header span { display: block; color: #667781; font-size: 11px; margin-top: 1px; }
.assistant-customer-strip,
.assistant-insight-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.assistant-insight-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.assistant-customer-strip > div,
.assistant-insight-row > div {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px;
  min-width: 0;
}
.assistant-customer-strip span,
.assistant-insight-row span {
  display: block;
  color: #667781;
  font-size: 10px;
  margin-bottom: 3px;
}
.assistant-customer-strip strong,
.assistant-insight-row strong {
  display: block;
  color: #111B21;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.assistant-link-card,
.assistant-alert-box,
.assistant-chat-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 10px;
}
.assistant-link-card {
  display: grid;
  gap: 7px;
}
.assistant-link-card strong { color: #111B21; font-size: 13px; }
.assistant-link-card p { margin: 0; color: #667781; font-size: 11px; line-height: 1.35; }
.assistant-link-card input {
  min-height: 34px !important;
  border-radius: 8px !important;
  border: 1px solid #d9dee5 !important;
  background: #ffffff !important;
  color: #111B21 !important;
}
.assistant-link-results {
  max-height: 145px !important;
}
.assistant-alert-box {
  padding: 8px 10px;
}
.assistant-alert,
.assistant-ok {
  color: #111B21;
  font-size: 12px;
  font-weight: 700;
}
.assistant-ok { color: #128C7E; }
.assistant-chat-card {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  gap: 8px;
  overflow: hidden;
}
.assistant-chat-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.assistant-chat-title strong { color: #111B21; font-size: 13px; }
.assistant-chat-title button,
.assistant-suggestion button,
.assistant-quick-actions button {
  border: 0;
  border-radius: 999px;
  background: #D9FDD3;
  color: #128C7E;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.assistant-chat-log {
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #F7F8FA;
  border-radius: 8px;
  padding: 8px;
}
.assistant-message {
  max-width: 92%;
  border-radius: 8px;
  padding: 8px 9px;
  font-size: 12px;
  line-height: 1.38;
  box-shadow: 0 1px .5px rgba(11,20,26,.08);
}
.assistant-message.assistant {
  align-self: flex-start;
  background: #ffffff;
  color: #111B21;
  border-top-left-radius: 0;
}
.assistant-message.user {
  align-self: flex-end;
  background: #D9FDD3;
  color: #111B21;
  border-top-right-radius: 0;
}
.assistant-suggestion {
  background: #F8FAFC;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px;
  display: grid;
  gap: 6px;
}
.assistant-suggestion span { color: #667781; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.assistant-suggestion p { margin: 0; color: #111B21; font-size: 12px; line-height: 1.35; }
.assistant-suggestion div,
.assistant-quick-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.assistant-quick-actions button { background: #ffffff; border: 1px solid #d9dee5; color: #54656f; }
.assistant-input-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px;
  gap: 7px;
}
.assistant-input-row input {
  min-height: 36px !important;
  border: 1px solid #d9dee5 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #111B21 !important;
  padding: 0 10px !important;
}
.assistant-input-row button {
  border: 0;
  border-radius: 50%;
  background: #25D366;
  color: #ffffff;
  font-weight: 900;
}
@media (max-width: 1180px) {
  .whatsapp-business-redesign .assistant-panel.whatsapp-assistant-panel { display: none !important; }
}

.assistant-db-status {
  color: #128C7E;
  background: #D9FDD3;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.assistant-quick-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.assistant-quick-actions button {
  border-radius: 8px !important;
  min-height: 32px;
}

/* Barra de conversa mais limpa e textarea sem linhas fantasmas */
.whatsapp-business-redesign .whatsapp-input-row {
  grid-template-columns: 36px 36px minmax(0, 1fr) 36px 40px !important;
  align-items: end !important;
  gap: 7px !important;
  padding: 7px 10px !important;
  min-height: 56px !important;
}
.whatsapp-business-redesign .whatsapp-input-row textarea {
  width: 100% !important;
  min-height: 38px !important;
  max-height: 96px !important;
  resize: none !important;
  overflow-y: auto !important;
  border: 0 !important;
  outline: none !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #111B21 !important;
  padding: 10px 12px !important;
  font: inherit !important;
  line-height: 18px !important;
  box-shadow: none !important;
}
.whatsapp-business-redesign .whatsapp-input-row textarea::placeholder { color: #8696a0 !important; }
.whatsapp-business-redesign .whatsapp-input-row .composer-side-btn,
.whatsapp-business-redesign .whatsapp-input-row .send-icon-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  align-self: end !important;
}
.whatsapp-business-redesign .whatsapp-bubble div {
  white-space: pre-wrap;
  word-break: break-word;
}

/* Correção de estabilidade da barra de mensagem: sem pulsar ao digitar */
.whatsapp-business-redesign .chat-main,
.whatsapp-business-redesign .whatsapp-main {
  min-height: 0 !important;
  overflow: hidden !important;
}
.whatsapp-business-redesign .whatsapp-messages {
  min-height: 0 !important;
  overflow-y: auto !important;
}
.whatsapp-business-redesign .whatsapp-input-row {
  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;
  grid-template-columns: 38px 38px minmax(0, 1fr) 38px 42px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.whatsapp-business-redesign .whatsapp-input-row textarea {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  overflow-y: auto !important;
  resize: none !important;
  line-height: 20px !important;
  padding: 12px 14px !important;
  align-self: center !important;
}
.whatsapp-business-redesign .whatsapp-input-row .composer-side-btn,
.whatsapp-business-redesign .whatsapp-input-row .send-icon-btn {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  align-self: center !important;
}
.whatsapp-business-redesign .whatsapp-input-row .send-icon-btn {
  width: 42px !important;
  min-width: 42px !important;
  border-radius: 50% !important;
}

/* Correção definitiva: a composer row tem 6 itens (emoji, anexo, resposta, campo, áudio, enviar) */
.whatsapp-business-redesign .whatsapp-input-row {
  grid-template-columns: 38px 38px 38px minmax(0, 1fr) 38px 42px !important;
}

/* Página paralela de teste inspirada na referência CRM Tendix */
.atendimento-test-shell {
  background: radial-gradient(circle at top left, rgba(37,211,102,.18), transparent 28%), #eef2f5 !important;
}
.atendimento-test-topbar {
  background: #111b21 !important;
  color: #f0f2f5 !important;
  border-bottom: 0 !important;
}
.atendimento-test-topbar .ghost-link,
.atendimento-test-topbar strong,
.atendimento-test-topbar span { color: #f0f2f5 !important; }
.atendimento-test-main .whatsapp-shell {
  border: 1px solid rgba(17,27,33,.12) !important;
  box-shadow: 0 18px 50px rgba(17,27,33,.16) !important;
}
.atendimento-test-main .whatsapp-sidebar {
  border-right: 1px solid #d1d7db !important;
}
.atendimento-test-main .whatsapp-conversation-item.active {
  border-left: 4px solid #25D366 !important;
}
.atendimento-test-main .assistant-header {
  background: linear-gradient(135deg, #ffffff, #e9fff2) !important;
}
.atendimento-test-main .assistant-chat-log {
  background-image: linear-gradient(135deg, rgba(18,140,126,.06) 25%, transparent 25%), linear-gradient(225deg, rgba(18,140,126,.06) 25%, transparent 25%) !important;
  background-size: 18px 18px !important;
}

/* Atendimento V2 - camada de tickets na página /atendimento-teste */
.atendimento-test-main .ticket-inbox-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 12px; }
.atendimento-test-main .ticket-inbox-metrics > div { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 9px 10px; box-shadow: 0 4px 14px rgba(15, 23, 42, .04); }
.atendimento-test-main .ticket-inbox-metrics strong { display: block; color: #111b21; font-size: 17px; line-height: 1; }
.atendimento-test-main .ticket-inbox-metrics span { color: #667781; font-size: 11px; }
.atendimento-test-main .ticket-row-meta { display: flex; align-items: center; gap: 6px; margin-top: 7px; color: #667781; font-size: 10.5px; white-space: nowrap; overflow: hidden; }
.atendimento-test-main .ticket-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 7px; font-size: 10.5px; font-weight: 800; line-height: 1; border: 1px solid transparent; }
.atendimento-test-main .ticket-chip.new { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.atendimento-test-main .ticket-chip.open, .atendimento-test-main .ticket-chip.ok { background: #e0f2fe; color: #075985; border-color: #bae6fd; }
.atendimento-test-main .ticket-chip.group { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.atendimento-test-main .ticket-chip.late, .atendimento-test-main .ticket-chip.danger { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.atendimento-test-main .ticket-chip.warning { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.atendimento-test-main .ticket-chip.neutral { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
.atendimento-test-main .ticket-header-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 7px; color: #667781; font-size: 11.5px; }
.atendimento-test-main .assistant-ticket-brief { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 12px; }
.atendimento-test-main .assistant-ticket-brief > div { border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; padding: 10px; min-width: 0; }
.atendimento-test-main .assistant-ticket-brief span { display: block; color: #64748b; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.atendimento-test-main .assistant-ticket-brief strong { display: block; color: #0f172a; font-size: 12px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.atendimento-test-main .whatsapp-conversation-item { padding-bottom: 12px !important; }

/* Atendimento V2 - correção de sobreposição/hover: nada deve suspender ao passar o mouse */
.atendimento-test-main,
.atendimento-test-main * {
  transition-property: background-color, color, border-color, opacity, box-shadow !important;
}
.atendimento-test-main .chat-conversation-row,
.atendimento-test-main .chat-conversation-row:hover,
.atendimento-test-main .chat-conversation-row.active,
.atendimento-test-main .whatsapp-shell,
.atendimento-test-main .whatsapp-shell:hover,
.atendimento-test-main .panel-shell,
.atendimento-test-main .panel-shell:hover,
.atendimento-test-main .whatsapp-bubble,
.atendimento-test-main .whatsapp-bubble:hover,
.atendimento-test-main .assistant-chat-card,
.atendimento-test-main .assistant-chat-card:hover {
  transform: none !important;
  translate: none !important;
  scale: none !important;
}
.atendimento-test-main .chat-conversation-row:hover {
  box-shadow: inset 3px 0 0 rgba(37, 211, 102, .55) !important;
}
.atendimento-test-main .whatsapp-messages {
  align-content: end !important;
}

/* Atendimento V2 - limpeza operacional e performance visual */
.atendimento-test-main .ticket-inbox-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.atendimento-test-main .ticket-inbox-metrics div {
  min-width: 0 !important;
  padding: 8px 6px !important;
}
.atendimento-test-main .ticket-inbox-metrics strong {
  font-size: 15px !important;
}
.atendimento-test-main .ticket-inbox-metrics span {
  font-size: 9.5px !important;
  white-space: nowrap;
}
.atendimento-test-main .conversation-filter-tabs {
  overflow-x: auto;
  scrollbar-width: none;
}
.atendimento-test-main .conversation-filter-tabs::-webkit-scrollbar { display: none; }
.chat-list-limit-hint {
  padding: 10px 12px;
  font-size: 11px;
  color: #64748b;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}
.atendimento-test-main .whatsapp-main {
  grid-template-rows: 72px minmax(0, 1fr) 58px !important;
}
.atendimento-test-main .whatsapp-messages {
  padding: 14px 22px !important;
  gap: 4px !important;
}
.atendimento-test-main .whatsapp-bubble {
  max-width: 62% !important;
  padding: 6px 8px 4px !important;
  line-height: 1.32 !important;
}
.atendimento-test-main .whatsapp-bubble div {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.atendimento-test-main .chat-header-meta {
  min-width: 0;
}
.atendimento-test-main .chat-header-meta strong,
.atendimento-test-main .chat-conversation-top strong,
.atendimento-test-main .chat-conversation-bottom span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.atendimento-test-main .ticket-header-meta {
  gap: 5px !important;
  margin-top: 2px !important;
  font-size: 10.5px !important;
}
.atendimento-test-main .ticket-header-meta span:not(.ticket-chip) {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .atendimento-test-main .ticket-inbox-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .atendimento-test-main .whatsapp-bubble { max-width: 76% !important; }
}

/* Design System ciclo 2026-06-24: densidade visual e legibilidade em zoom alto */
.panel-subtitle,
.section-subtitle,
.plain-text,
.cell-sub,
.form-grid label,
.input-like.disabled,
.header-user-label,
.top-header-copy small,
.side-nav-section-label {
  text-wrap: pretty;
}

.panel-subtitle,
.section-subtitle,
.plain-text {
  max-width: 78ch;
}

.panel-head.compact-head,
.hero-row {
  row-gap: 10px;
}

.toolbar-grid.refined input,
.toolbar-grid.refined select,
.toolbar-grid.refined textarea,
.toolbar-grid.refined-schedule input,
.toolbar-grid.refined-schedule select,
.campaign-dashboard-filters input,
.campaign-dashboard-filters select,
.billing-filters-grid input,
.billing-filters-grid select {
  min-height: 48px;
}

.cell-title,
.cell-sub,
.modern-table td,
.summary-tile small,
.kpi-compact-card small,
.reference-kpi-card small {
  overflow-wrap: anywhere;
}

@media (max-width: 1500px) {
  .modern-table th {
    font-size: 11px !important;
    letter-spacing: .06em !important;
    padding-inline: 14px !important;
  }

  .modern-table td {
    padding-inline: 14px !important;
  }
}

@media (max-width: 1100px) {
  .panel-head.compact-head,
  .hero-row {
    align-items: flex-start;
  }

  .hero-actions,
  .row-actions,
  .member-actions {
    width: 100%;
  }

  .hero-actions > button,
  .hero-actions > a,
  .row-actions > button,
  .member-actions > button {
    flex: 1 1 180px;
  }
}

/* Atendimento teste - ficha do contato inspirada no CRM legado */
.atendimento-test-main .contact-drawer-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px;
  display: grid;
  gap: 9px;
  min-height: 0;
}
.atendimento-test-main .contact-drawer-cover {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef2f7;
}
.atendimento-test-main .contact-drawer-cover strong {
  display: block;
  color: #111b21;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atendimento-test-main .contact-drawer-cover span {
  display: block;
  color: #667781;
  font-size: 11px;
  margin-top: 2px;
}
.atendimento-test-main .contact-drawer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.atendimento-test-main .contact-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.atendimento-test-main .contact-drawer-grid > div,
.atendimento-test-main .contact-drawer-media > div {
  min-width: 0;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px;
}
.atendimento-test-main .contact-drawer-grid span,
.atendimento-test-main .contact-drawer-media span {
  display: block;
  color: #64748b;
  font-size: 10px;
}
.atendimento-test-main .contact-drawer-grid strong,
.atendimento-test-main .contact-drawer-media strong {
  display: block;
  color: #0f172a;
  font-size: 11.5px;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atendimento-test-main .contact-drawer-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
.atendimento-test-main .contact-drawer-tabs button {
  color: #128c7e;
  background: #e9fff2;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  padding: 6px 7px;
  font-size: 10.5px;
  font-weight: 800;
}
.atendimento-test-main .contact-drawer-media {
  display: grid;
  gap: 5px;
}

/* Atendimento teste - recursos de conversa inspirados no CRM legado */
.atendimento-test-main .chat-date-separator {
  align-self: center;
  color: #54656f;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 4px 10px;
  margin: 8px 0 6px;
  font-size: 11px;
  font-weight: 800;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
}
.atendimento-test-main .message-quick-actions {
  display: none;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 5px;
}
.atendimento-test-main .whatsapp-bubble:hover .message-quick-actions {
  display: flex;
}
.atendimento-test-main .message-quick-actions button {
  cursor: pointer;
  color: #128c7e;
  background: rgba(255, 255, 255, .74);
  border: 1px solid rgba(18, 140, 126, .18);
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 800;
}
.atendimento-test-main .replying-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #111b21;
  background: #f0f2f5;
  border-top: 1px solid #d9dee5;
  padding: 8px 12px;
}
.atendimento-test-main .replying-preview div {
  min-width: 0;
  border-left: 4px solid #25d366;
  padding-left: 9px;
}
.atendimento-test-main .replying-preview span {
  display: block;
  color: #128c7e;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.atendimento-test-main .replying-preview strong {
  display: block;
  color: #54656f;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atendimento-test-main .replying-preview button {
  color: #54656f;
  background: #fff;
  border: 1px solid #d9dee5;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  font-weight: 900;
}

.atendimento-test-main .message-with-date { display: contents; }
.atendimento-test-main .quick-template-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  background: #f0f2f5;
  border-top: 1px solid #d9dee5;
  padding: 7px 12px;
}
.atendimento-test-main .quick-template-strip button {
  flex: 0 0 auto;
  max-width: 260px;
  color: #128c7e;
  background: #fff;
  border: 1px solid #d9dee5;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atendimento-test-main .contact-drawer-tabs button.active {
  color: #fff;
  background: #128c7e;
  border-color: #128c7e;
}
.atendimento-test-main .contact-drawer-history {
  display: grid;
  gap: 5px;
}
.atendimento-test-main .contact-drawer-history > div,
.atendimento-test-main .contact-drawer-history > p {
  margin: 0;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px;
}
.atendimento-test-main .contact-drawer-history strong {
  display: block;
  color: #128c7e;
  font-size: 10px;
  text-transform: uppercase;
}
.atendimento-test-main .contact-drawer-history span,
.atendimento-test-main .contact-drawer-history p {
  color: #475569;
  font-size: 11px;
  line-height: 1.35;
}

.atendimento-test-main .hidden-attachment-input { display: none; }
.atendimento-test-main .attachment-preview-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #111b21;
  background: #f0f2f5;
  border-top: 1px solid #d9dee5;
  padding: 8px 12px;
}
.atendimento-test-main .attachment-preview-bar > div {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.atendimento-test-main .attachment-preview-bar img,
.atendimento-test-main .attachment-file-icon {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  object-fit: cover;
  background: #fff;
  border: 1px solid #d9dee5;
  display: grid;
  place-items: center;
}
.atendimento-test-main .attachment-preview-bar strong {
  max-width: 220px;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atendimento-test-main .attachment-preview-bar small {
  color: #667781;
  font-size: 10px;
}
.atendimento-test-main .attachment-preview-bar button {
  color: #54656f;
  background: #fff;
  border: 1px solid #d9dee5;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  font-weight: 900;
}

/* Atendimento teste - correção de sobreposição em tela cheia e painel do assistente
   A área do composer agora pode ter templates, resposta e anexo; não pode ficar presa em 58/62px. */
.atendimento-test-main .whatsapp-shell.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  grid-template-columns: minmax(260px, 320px) minmax(420px, 1fr) minmax(300px, 360px) !important;
}
.atendimento-test-main .whatsapp-main {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.atendimento-test-main .whatsapp-header,
.atendimento-test-main .whatsapp-input-row,
.atendimento-test-main .replying-preview,
.atendimento-test-main .attachment-preview-bar,
.atendimento-test-main .quick-template-strip {
  flex-shrink: 0 !important;
}
.atendimento-test-main .whatsapp-messages {
  min-height: 0 !important;
  overflow-y: auto !important;
  align-content: start !important;
  padding-bottom: 18px !important;
}
.atendimento-test-main .whatsapp-input-row {
  min-height: 58px !important;
  height: auto !important;
  align-items: center !important;
}
.atendimento-test-main .quick-template-strip,
.atendimento-test-main .replying-preview,
.atendimento-test-main .attachment-preview-bar {
  position: static !important;
  z-index: 1 !important;
}
.atendimento-test-main .assistant-panel.whatsapp-assistant-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  grid-template-rows: none !important;
  align-content: start !important;
}
.atendimento-test-main .assistant-chat-card,
.atendimento-test-main .contact-drawer-card,
.atendimento-test-main .assistant-link-card,
.atendimento-test-main .assistant-alert-box {
  min-width: 0 !important;
  overflow: visible !important;
}
.atendimento-test-main .assistant-ticket-brief,
.atendimento-test-main .contact-drawer-grid,
.atendimento-test-main .contact-drawer-media {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.atendimento-test-main .assistant-ticket-brief > div,
.atendimento-test-main .contact-drawer-grid > div,
.atendimento-test-main .contact-drawer-media > div {
  overflow: hidden !important;
}
.atendimento-test-main .assistant-input-row {
  position: sticky !important;
  bottom: 0 !important;
  background: #ffffff !important;
  padding-top: 6px !important;
  z-index: 2 !important;
}

@media (max-width: 1360px) {
  .atendimento-test-main .whatsapp-shell.chat-layout {
    grid-template-columns: minmax(240px, 300px) minmax(360px, 1fr) minmax(280px, 320px) !important;
  }
  .atendimento-test-main .assistant-ticket-brief { grid-template-columns: 1fr !important; }
}

@media (max-width: 1180px) {
  .atendimento-test-main .whatsapp-shell.chat-layout {
    grid-template-columns: minmax(260px, 34%) minmax(0, 1fr) !important;
  }
  .atendimento-test-main .assistant-panel.whatsapp-assistant-panel {
    display: none !important;
  }
}

/* Atendimento teste - respostas rápidas recolhíveis para não sobrepor composer/anexos */
.atendimento-test-main .quick-template-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  max-height: 118px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.atendimento-test-main .quick-template-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #111b21;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.atendimento-test-main .quick-template-title button {
  max-width: none !important;
  width: 24px;
  height: 24px;
  padding: 0 !important;
  border-radius: 999px;
}
.atendimento-test-main .quick-template-strip > button {
  max-width: none !important;
  width: 100%;
  text-align: left;
}
.atendimento-test-main .quick-reply-btn.active {
  background: #d9fdd3 !important;
  color: #128c7e !important;
  border-radius: 999px !important;
}
@media (max-width: 1360px) {
  .atendimento-test-main .quick-template-strip { grid-template-columns: 1fr !important; max-height: 150px !important; }
}

/* Atendimento teste - composer empilhado de verdade; evita camadas uma sobre a outra */
.atendimento-test-main .composer-stack {
  display: grid !important;
  grid-template-rows: auto auto auto auto !important;
  min-height: 0 !important;
  background: #f0f2f5 !important;
  border-top: 1px solid #d9dee5 !important;
  position: relative !important;
  z-index: 3 !important;
}
.atendimento-test-main .composer-stack .quick-template-strip,
.atendimento-test-main .composer-stack .replying-preview,
.atendimento-test-main .composer-stack .attachment-preview-bar,
.atendimento-test-main .composer-stack .whatsapp-input-row {
  border-top: 0 !important;
  border-bottom: 1px solid rgba(217, 222, 229, .75) !important;
}
.atendimento-test-main .composer-stack .whatsapp-input-row {
  border-bottom: 0 !important;
}
.atendimento-test-main .whatsapp-main > .replying-preview,
.atendimento-test-main .whatsapp-main > .quick-template-strip,
.atendimento-test-main .whatsapp-main > .attachment-preview-bar,
.atendimento-test-main .whatsapp-main > .whatsapp-input-row {
  position: static !important;
}

/* Atendimento teste - painel direito dividido para ficha e assistente não se sobreporem */
.atendimento-test-main .assistant-panel.whatsapp-assistant-panel {
  display: grid !important;
  grid-template-rows: minmax(170px, auto) minmax(0, 1fr) !important;
  gap: 10px !important;
  overflow: hidden !important;
}
.atendimento-test-main .assistant-contact-zone,
.atendimento-test-main .assistant-commercial-zone {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
}
.atendimento-test-main .assistant-contact-zone {
  max-height: 42vh !important;
  overflow-y: auto !important;
  padding-right: 2px !important;
}
.atendimento-test-main .assistant-commercial-zone {
  display: grid !important;
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow-y: auto !important;
  padding-right: 2px !important;
}
.atendimento-test-main .assistant-commercial-zone .assistant-chat-card {
  min-height: 0 !important;
}
.atendimento-test-main .assistant-commercial-zone .assistant-chat-log {
  max-height: 180px !important;
  min-height: 84px !important;
  overflow-y: auto !important;
}
.atendimento-test-main .contact-drawer-card {
  height: auto !important;
}
@media (max-height: 760px) {
  .atendimento-test-main .assistant-contact-zone { max-height: 34vh !important; }
  .atendimento-test-main .assistant-commercial-zone .assistant-chat-log { max-height: 120px !important; }
}

/* Atendimento teste - ações operacionais de ticket */
.atendimento-test-main .ticket-action-bar {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.atendimento-test-main .ticket-action-bar button,
.atendimento-test-main .ticket-action-bar select {
  border: 1px solid #d9dee5;
  background: #ffffff;
  color: #128c7e;
  border-radius: 6px;
  min-height: 24px;
  padding: 2px 8px;
  font-size: 10.5px;
  font-weight: 700;
}
.atendimento-test-main .ticket-action-bar button:first-child {
  background: #25d366;
  border-color: #25d366;
  color: #ffffff;
}
.atendimento-test-main .message-media-pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 5px;
  margin-bottom: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(18, 140, 126, .10);
  color: #128c7e !important;
  font-size: 11px;
  font-weight: 900;
}
.atendimento-test-main .whatsapp-bubble.out .message-media-pill {
  background: rgba(17, 27, 33, .08);
  color: #075e54 !important;
}

/* Atendimento teste - tags operacionais */
.atendimento-test-main .tag-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.atendimento-test-main .tag-pill {
  border: 1px solid #d9dee5;
  background: #ffffff;
  color: #54656f;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .15s, color .15s, border-color .15s;
}
.atendimento-test-main .tag-pill.active {
  background: #128c7e;
  color: #ffffff;
  border-color: #128c7e;
}
.atendimento-test-main .tag-active-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.atendimento-test-main .tag-active-list .ticket-chip { cursor: pointer; }

/* Atendimento teste - prioridade/SLA */
.atendimento-test-main .priority-picker {
  display: inline-flex;
  gap: 2px;
  margin-left: 2px;
}
.atendimento-test-main .priority-picker .ticket-chip {
  cursor: pointer;
  opacity: .5;
  padding: 2px 5px;
  font-size: 9.5px;
  border-radius: 4px;
}
.atendimento-test-main .priority-picker .ticket-chip.danger,
.atendimento-test-main .priority-picker .ticket-chip.warning,
.atendimento-test-main .priority-picker .ticket-chip.ok,
.atendimento-test-main .priority-picker .ticket-chip.neutral {
  opacity: 1;
}

/* Atendimento teste - chip de prioridade na lista */
.atendimento-test-main .ticket-row-meta .ticket-chip.danger {
  animation: pulse-urgent 1.8s ease-in-out infinite;
}
@keyframes pulse-urgent {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .35); }
  50% { box-shadow: 0 0 0 4px rgba(239, 68, 68, 0); }
}

/* Atendimento teste - botão toggle Ver contato */
.atendimento-test-main .toggle-contact-btn {
  width: 100%;
  background: #f0f2f5;
  border: none;
  border-bottom: 1px solid #e0e0e0;
  color: #54656f;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 12px;
  cursor: pointer;
  text-align: left;
  transition: background-color .15s;
}
.atendimento-test-main .toggle-contact-btn:hover {
  background: #e9ecef;
}

/* Atendimento teste - cabeçalho minimal */
.atendimento-test-main .chat-header.whatsapp-header {
  padding: 6px 12px;
  border-bottom: 1px solid #e5e7eb;
  min-height: 0;
}
.atendimento-test-main .chat-header-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100%;
}
.atendimento-test-main .chat-header-tags {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.atendimento-test-main .chat-header-tags .ticket-chip {
  font-size: 10px;
  padding: 2px 7px;
}
.atendimento-test-main .chat-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
}
.atendimento-test-main .chat-header-actions button,
.atendimento-test-main .chat-header-actions select {
  border: 1px solid #d9dee5;
  background: #ffffff;
  color: #128c7e;
  border-radius: 6px;
  min-height: 24px;
  padding: 2px 7px;
  font-size: 10.5px;
  font-weight: 700;
  cursor: pointer;
}
.atendimento-test-main .chat-header-actions button:first-child {
  background: #25d366;
  border-color: #25d366;
  color: #ffffff;
}
.atendimento-test-main .chat-header-actions .priority-picker {
  display: inline-flex;
  gap: 2px;
}
.atendimento-test-main .chat-header-actions .priority-picker .ticket-chip {
  font-size: 9.5px;
  padding: 2px 5px;
  border-radius: 4px;
  cursor: pointer;
  opacity: .5;
}
.atendimento-test-main .chat-header-actions .priority-picker .ticket-chip.danger,
.atendimento-test-main .chat-header-actions .priority-picker .ticket-chip.warning,
.atendimento-test-main .chat-header-actions .priority-picker .ticket-chip.ok {
  opacity: 1;
}

/* Atendimento teste - assistant compacto */
.atendimento-test-main .assistant-header {
  padding: 6px 10px;
  min-height: 0;
}
.atendimento-test-main .assistant-header .assistant-avatar {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
.atendimento-test-main .assistant-customer-strip.compact {
  display: flex;
  gap: 10px;
  padding: 4px 10px;
  font-size: 11px;
  border-bottom: 1px solid #f0f0f0;
}
.atendimento-test-main .assistant-customer-strip.compact span {
  font-size: 9px;
  color: #999;
}
.atendimento-test-main .assistant-customer-strip.compact strong {
  font-size: 11px;
}
.atendimento-test-main .assistant-link-card {
  padding: 8px 10px;
}
.atendimento-test-main .assistant-link-card strong {
  font-size: 12px;
}
.atendimento-test-main .assistant-link-card p {
  font-size: 10.5px;
  margin: 2px 0 4px;
}
.atendimento-test-main .assistant-link-card input {
  font-size: 11.5px;
  padding: 5px 8px;
}


/* Atendimento teste - fix sobreposicao final */
.atendimento-test-main .whatsapp-main {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden;
}
.atendimento-test-main .chat-header.whatsapp-header {
  padding: 6px 12px;
  overflow: visible;
}
.atendimento-test-main .whatsapp-messages {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.atendimento-test-main .composer-stack {
  flex-shrink: 0;
  position: relative;
  z-index: 5;
}
.atendimento-test-main .chat-input-row.whatsapp-input-row {
  flex-shrink: 0;
}
.atendimento-test-main .whatsapp-assistant-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.atendimento-test-main .assistant-commercial-zone {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.atendimento-test-main .assistant-contact-zone {
  flex-shrink: 0;
  max-height: 50%;
  overflow-y: auto;
}

/* Atendimento teste - modulos recolhiveis */
.atendimento-test-main .whatsapp-assistant-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
}
.atendimento-test-main .right-module {
  border-bottom: 1px solid #e9ecef;
  flex-shrink: 0;
}
.atendimento-test-main .right-module.open {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.atendimento-test-main .right-module.open .right-module-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}
.atendimento-test-main .right-module-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #f0f2f5;
  border: none;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  color: #34404a;
  cursor: pointer;
  text-align: left;
  transition: background-color .15s;
}
.atendimento-test-main .right-module-header:hover {
  background: #e9ecef;
}
.atendimento-test-main .right-module-header .chevron {
  font-size: 11px;
  color: #999;
}
.atendimento-test-main .right-module-body {
  padding: 10px 12px;
  overflow: visible;
}
.atendimento-test-main .right-module.open .right-module-body {
  max-height: none;
}
.atendimento-test-main .toggle-contact-btn { display: none !important; }

/* Atendimento teste - override definitivo dos modulos recolhiveis */
.atendimento-test-main.whatsapp-business-redesign .assistant-panel.whatsapp-assistant-panel,
.atendimento-test-main .assistant-panel.whatsapp-assistant-panel,
.atendimento-test-main .whatsapp-assistant-panel {
  display: flex !important;
  grid-template-rows: none !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100% !important;
  padding: 0 !important;
}
.atendimento-test-main .right-module {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
.atendimento-test-main .right-module:not(.open) .right-module-body {
  display: none !important;
}
.atendimento-test-main .right-module.open {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.atendimento-test-main .right-module.open .right-module-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}

/* Atendimento teste - aproveitar campo da conversa */
.atendimento-test-main.whatsapp-business-redesign .whatsapp-shell.chat-layout {
  grid-template-columns: 24% minmax(0, 52%) 24% !important;
}
.atendimento-test-main .chat-main.whatsapp-main,
.atendimento-test-main.whatsapp-business-redesign .whatsapp-main {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .chat-messages.whatsapp-messages {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .composer-stack {
  align-self: end !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
}
.atendimento-test-main .composer-stack .chat-input-row.whatsapp-input-row {
  margin: 0 !important;
  border-top: 1px solid #d9dee5 !important;
}


/* Atendimento teste - ocupar tela toda sem respiro morto */
.page-inner:has(.atendimento-test-main),
.page-container:has(.atendimento-test-main),
.screen-block.atendimento-test-main {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.screen-block.atendimento-test-main {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-content: stretch !important;
}
.screen-block.atendimento-test-main > .whatsapp-shell.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .chat-messages.whatsapp-messages {
  padding-bottom: 6px !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .composer-stack > .chat-input-row.whatsapp-input-row {
  min-height: 54px !important;
}

/* Atendimento teste - composer fixado no rodape SEM flutuar */
.atendimento-test-main .chat-main.whatsapp-main {
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  grid-template-areas: none !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .chat-header.whatsapp-header {
  flex: 0 0 auto !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .chat-messages.whatsapp-messages {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow-y: auto !important;
}
.atendimento-test-main .chat-main.whatsapp-main > .composer-stack {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Atendimento teste - RESET definitivo whatsapp-messages */
.atendimento-test-main .chat-messages.whatsapp-messages,
.atendimento-test-main .whatsapp-business-redesign .chat-messages.whatsapp-messages,
.atendimento-test-main .chat-main.whatsapp-main > .chat-messages.whatsapp-messages {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  flex: 1 1 0 !important;
  overflow-y: auto !important;
}

/* Atendimento teste - painel IA ocupando toda a tela */
.atendimento-test-main .ia-only-panel,
.atendimento-test-main .ia-full-panel {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  padding: 12px !important;
  gap: 10px !important;
  background: #F0F2F5 !important;
  border-left: 1px solid #d9dee5 !important;
}
.ia-full-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}
.ia-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff; font-weight: 900;
}
.ia-full-header strong { font-size: 14px; color: #111B21; display: block; }
.ia-full-header span { font-size: 11px; color: #667781; }
.ia-customer-strip {
  display: flex; flex-wrap: wrap; gap: 12px;
  background: #fff; border-radius: 8px; padding: 10px 12px;
  border: 1px solid #e5e7eb;
}
.ia-customer-strip > div { display: flex; flex-direction: column; }
.ia-customer-strip span { font-size: 10px; color: #999; }
.ia-customer-strip strong { font-size: 13px; color: #111B21; }
.ia-insight-row {
  display: flex; gap: 12px;
  background: #fff; border-radius: 8px; padding: 10px 12px;
  border: 1px solid #e5e7eb;
}
.ia-insight-row > div { display: flex; flex-direction: column; }
.ia-insight-row span { font-size: 10px; color: #999; }
.ia-insight-row strong { font-size: 13px; color: #111B21; }
.ia-chat-card {
  background: #fff; border-radius: 8px; padding: 12px;
  border: 1px solid #e5e7eb;
  display: flex; flex-direction: column; gap: 8px;
}
.ia-chat-title {
  display: flex; align-items: center; gap: 8px;
}
.ia-chat-title strong { font-size: 13px; }
.ia-chat-title button {
  margin-left: auto; font-size: 11px; border: 1px solid #e5e7eb;
  background: #fff; border-radius: 6px; padding: 4px 8px; cursor: pointer;
}
.ia-chat-log {
  display: flex; flex-direction: column; gap: 6px;
  max-height: 240px; overflow-y: auto;
}
.ia-suggestion {
  background: #fff; border-radius: 8px; padding: 10px 12px;
  border: 1px solid #e5e7eb;
}
.ia-suggestion > span { font-size: 10px; color: #999; }
.ia-suggestion > p { font-size: 13px; color: #111B21; margin: 4px 0; }
.ia-suggestion-actions { display: flex; gap: 8px; }
.ia-suggestion-actions button {
  font-size: 11px; border: 1px solid #25D366; color: #128C7E;
  background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer;
}
.ia-quick-actions {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.ia-quick-actions button {
  font-size: 11px; border: 1px solid #e5e7eb;
  background: #fff; border-radius: 999px; padding: 6px 12px; cursor: pointer;
  color: #34404a;
}
.ia-quick-actions button:hover { background: #f0f2f5; }
.ia-input-row {
  display: flex; gap: 8px; padding: 8px 0;
}
.ia-input-row input {
  flex: 1; border: 1px solid #e5e7eb; border-radius: 8px;
  padding: 10px 12px; font-size: 13px; background: #fff;
}
.ia-input-row button {
  border: 0; background: #25D366; color: #fff; border-radius: 8px;
  padding: 0 16px; font-size: 16px; cursor: pointer; font-weight: 700;
}

/* Ciclo DS — buscas com ação de limpeza integrada */
.whatsapp-business-redesign .chat-search-box,
.inline-search-action,
.inline-filter-action,
.inline-date-action {
  position: relative;
}
.whatsapp-business-redesign .chat-search-box::before,
.inline-search-action::before,
.inline-filter-action::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .72;
  background: #1e40af;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.inline-filter-action {
  min-width: min(100%, 360px);
}
.whatsapp-business-redesign .chat-search-box input,
.inline-search-action input,
.inline-filter-action input {
  width: 100%;
  padding-left: 42px !important;
}
.whatsapp-business-redesign .chat-search-box:has(button) input,
.inline-search-action:has(button) input,
.inline-filter-action:has(button) input {
  padding-right: 74px !important;
}
.whatsapp-business-redesign .chat-search-box:not(:has(button)) input,
.inline-search-action:not(:has(button)) input,
.inline-filter-action:not(:has(button)) input {
  padding-right: 16px !important;
}
.whatsapp-business-redesign .chat-search-box:focus-within::before,
.inline-search-action:focus-within::before,
.inline-filter-action:focus-within::before {
  opacity: 1;
  background: #2563eb;
}
.whatsapp-business-redesign .chat-search-box button,
.inline-search-action button,
.inline-filter-action button,
.inline-date-action button {
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  height: 24px;
  border: 0;
  border-radius: 999px;
  padding: 0 10px;
  background: #eff6ff;
  color: #1e40af;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.16);
}
.whatsapp-business-redesign .chat-search-box button:hover,
.inline-search-action button:hover,
.inline-filter-action button:hover,
.inline-date-action button:hover {
  background: #dbeafe;
  color: #1d4ed8;
}
.inline-search-action button:disabled,
.inline-filter-action button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.inline-date-action input {
  width: 100%;
}
.inline-date-action:has(button) input {
  padding-right: 64px !important;
}
.inline-date-action:not(:has(button)) input {
  padding-right: 16px !important;
}

/* Ciclo DS — filtros com label contextual em toolbars densas */
.filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: min(100%, 180px);
}
.filter-field span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}
.filter-field input,
.filter-field select {
  width: 100%;
}
.sync-log-filters {
  grid-template-columns: minmax(150px, .75fr) minmax(220px, 1.35fr) minmax(170px, .85fr) minmax(170px, .85fr) auto auto;
  align-items: end;
}
.sync-log-filters .sync-table-select {
  min-width: min(100%, 240px);
}
.sync-log-filters button {
  align-self: end;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .sync-log-filters {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
}
@media (max-width: 760px) {
  .sync-log-filters {
    grid-template-columns: 1fr;
  }
  .filter-field {
    min-width: 100%;
  }
  .sync-log-filters button {
    width: 100%;
  }
}

/* Ciclo DS — Central de Relatórios mais legível em filtros densos */
.report-filter-toolbar {
  grid-template-columns: minmax(220px, 1.25fr) minmax(220px, 1fr) minmax(170px, .74fr) auto auto;
  align-items: stretch;
}
.report-filter-toolbar > .filter-field,
.report-filter-toolbar > button {
  min-width: 0;
}
.report-filter-toolbar .report-type-field {
  min-width: min(100%, 220px);
}
.report-filter-toolbar .report-type-select {
  font-weight: 800;
  color: #1e40af !important;
  background-color: #f8fbff !important;
  border-color: rgba(37, 99, 235, 0.22) !important;
}
.report-filter-toolbar .report-type-select:focus {
  background-color: #fff !important;
}
@media (max-width: 1180px) {
  .report-filter-toolbar {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
  .report-filter-toolbar > button {
    width: 100%;
  }
}
@media (max-width: 680px) {
  .report-filter-toolbar {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 20px;
  }
}

/* Ciclo DS — Central de Contatos com tabs e busca menos comprimidos */
.segmented-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  padding: 6px;
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.segmented-tabs .tab {
  min-height: 38px;
  padding: 9px 14px;
  color: #475569;
  background: transparent;
  border-color: transparent;
  white-space: nowrap;
}
.segmented-tabs .tab.active {
  color: #1e40af;
  background: #ffffff;
  border-color: rgba(37, 99, 235, 0.18);
  box-shadow: 0 8px 22px rgba(30, 64, 175, 0.10);
}
.contacts-filter-toolbar {
  grid-template-columns: minmax(280px, 1fr);
  align-items: end;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 20px;
}
.contacts-filter-toolbar .contacts-search-field {
  max-width: 720px;
}
@media (max-width: 900px) {
  .panel-head .segmented-tabs {
    width: 100%;
    justify-content: stretch;
  }
  .segmented-tabs .tab {
    flex: 1 1 180px;
  }
  .contacts-filter-toolbar .contacts-search-field {
    max-width: none;
  }
}
@media (max-width: 560px) {
  .segmented-tabs {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .segmented-tabs .tab {
    width: 100%;
    white-space: normal;
  }
}

/* Ciclo DS — Campanhas com formulário de criação menos comprimido */
.campaign-form-toolbar {
  grid-template-columns: minmax(220px, 1.15fr) minmax(140px, .62fr) minmax(220px, 1.05fr) minmax(220px, 1fr) minmax(130px, .55fr) minmax(130px, .55fr);
  align-items: stretch;
}
.campaign-form-toolbar > .filter-field,
.campaign-form-toolbar > button {
  min-width: 0;
}
.campaign-form-toolbar .campaign-name-field,
.campaign-form-toolbar .campaign-report-field,
.campaign-form-toolbar .campaign-target-field {
  min-width: min(100%, 220px);
}
.campaign-form-toolbar button {
  align-self: end;
  white-space: nowrap;
}
@media (max-width: 1320px) {
  .campaign-form-toolbar {
    grid-template-columns: repeat(3, minmax(210px, 1fr));
  }
  .campaign-form-toolbar > button {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .campaign-form-toolbar {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 20px;
  }
}

/* Ciclo DS — Inteligência de Carteira com toolbar mais estável em zoom */
.portfolio-filter-toolbar {
  grid-template-columns: minmax(240px, 1.45fr) minmax(210px, 1fr) minmax(210px, 1fr) minmax(160px, .72fr) minmax(140px, .62fr) auto auto;
  align-items: stretch;
}
.portfolio-filter-toolbar > .filter-field,
.portfolio-filter-toolbar > button {
  min-width: 0;
}
.portfolio-filter-toolbar .inline-filter-action input {
  min-width: 0;
}
.portfolio-filter-toolbar button {
  align-self: end;
  white-space: nowrap;
}
@media (max-width: 1320px) {
  .portfolio-filter-toolbar {
    grid-template-columns: repeat(3, minmax(210px, 1fr));
  }
  .portfolio-filter-toolbar > button {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .portfolio-filter-toolbar {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 20px;
  }
}

/* Gestão Inteligente de Preços */
.price-intel-page { display: grid; gap: 20px; }
.price-hero { display:flex; justify-content:space-between; gap:24px; align-items:stretch; padding:28px; border-radius:28px; background:linear-gradient(135deg, rgba(37,99,235,.18), rgba(16,185,129,.10)), var(--bg-elevated); border:1px solid var(--border); box-shadow:var(--shadow-card); }
.price-hero h1 { font-size:34px; margin-bottom:8px; }
.price-hero p { max-width:880px; color:var(--text-secondary); line-height:1.7; margin:0; }
.price-hero-badge { min-width:220px; display:grid; place-content:center; gap:6px; padding:18px; border-radius:20px; background:var(--accent-soft); border:1px solid var(--border-accent); text-align:center; }
.price-hero-badge span { color:var(--text-secondary); font-size:13px; }
.price-layout { display:block; }
.price-filters { display:grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap:12px; align-items:end; margin-bottom:18px; }
.price-filters > div { grid-column: span 2; min-width:0; }
.price-filters .filter-field { min-width:0; }
.price-filters .primary-btn { min-height:44px; width:100%; }
.price-content { display:grid; gap:18px; min-width:0; }
.price-products-table { min-width: 1320px; table-layout:auto; }
.price-products-table th, .price-products-table td { white-space:nowrap !important; word-break:normal !important; overflow-wrap:normal !important; }
.price-products-table td:nth-child(2) { max-width:420px; overflow:hidden; text-overflow:ellipsis; }
.price-card-grid { grid-template-columns:repeat(5, minmax(150px, 1fr)); }
.price-main-grid { display:grid; grid-template-columns:1.25fr .85fr; gap:18px; }
.price-bars { display:grid; gap:10px; }
.price-bar-row { display:grid; grid-template-columns:64px 1fr 48px; gap:10px; align-items:center; font-size:13px; }
.price-bar-row div { height:12px; background:var(--bg-subtle); border-radius:999px; overflow:hidden; border:1px solid var(--border); }
.price-bar-row i { display:block; height:100%; min-width:6px; border-radius:999px; background:linear-gradient(90deg, var(--danger), var(--warning), var(--success)); }
.price-bar-row b { color:var(--text-secondary); }
.category-margin-row { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:14px 0; border-bottom:1px solid var(--border); }
.category-margin-row:last-child { border-bottom:0; }
.category-margin-row div { display:grid; gap:4px; }
.category-margin-row span { color:var(--text-secondary); font-size:13px; }
.category-margin-row b { color:var(--success); font-size:20px; }
.heatmap-grid { display:grid; grid-template-columns:110px repeat(7, 1fr); gap:8px; align-items:stretch; }
.heatmap-grid span, .heatmap-grid strong { padding:10px; border-radius:10px; background:var(--accent); color:white; font-size:12px; text-align:center; }
.heatmap-grid strong { background:var(--bg-subtle); color:var(--text-primary); text-align:left; }
.simulator-card { display:grid; gap:16px; }
.simulator-results { display:grid; gap:10px; }
.simulator-results div { padding:14px; border-radius:14px; background:var(--bg-subtle); border:1px solid var(--border); display:grid; gap:4px; }
.simulator-results span { color:var(--text-secondary); font-size:13px; }
.simulator-results strong { font-size:22px; }
.ai-insights { border-color:var(--accent); background:linear-gradient(135deg, var(--accent-soft), transparent), var(--bg-elevated); }
.insight-list { display:grid; gap:10px; color:var(--text-secondary); line-height:1.7; }
.insight-list p { margin:0; }
@media (max-width: 1100px) { .price-main-grid { grid-template-columns:1fr; } .price-filters { grid-template-columns: repeat(2, minmax(0,1fr)); } .price-filters > div { grid-column: 1 / -1; } .price-card-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .price-hero { flex-direction:column; padding:20px; } .price-filters { grid-template-columns:1fr; } .price-card-grid { grid-template-columns:1fr; } .heatmap-grid { grid-template-columns:1fr 1fr; } }
.clickable-row { cursor: pointer; }
.clickable-row:hover { box-shadow: inset 3px 0 0 #2563EB; }
.price-opportunity-modal { width: min(1440px, 97vw); max-height: 90vh; overflow: auto; }
.price-opportunity-modal .compact-head { align-items:flex-start; gap:16px; }
.price-opportunity-modal .compact-filter { min-width:220px; max-width:280px; margin-left:auto; }
.price-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.price-detail-grid h3, .analysis-section h3 { margin:0 0 10px; font-size:15px; color:#0f172a; }
.commercial-analysis { display:flex; flex-direction:column; gap:18px; }
.analysis-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.analysis-kpi-grid div { min-width:0; border:1px solid rgba(148,163,184,.24); background:linear-gradient(180deg,#fff,#f8fafc); border-radius:16px; padding:14px; }
.analysis-kpi-grid span { display:block; font-size:12px; color:#64748b; margin-bottom:6px; }
.analysis-kpi-grid strong { display:block; font-size:20px; color:#0f172a; line-height:1.15; overflow-wrap:anywhere; }
.analysis-callout, .analysis-action-box { border:1px solid rgba(37,99,235,.18); background:#eff6ff; border-radius:18px; padding:16px; color:#1e3a8a; }
.analysis-callout p, .analysis-action-box p { margin:6px 0 0; color:#1e40af; }
.analysis-callout small { display:block; margin-top:8px; color:#475569; }
.analysis-section { display:flex; flex-direction:column; gap:10px; }
.price-opportunity-modal .analysis-section {
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(248, 250, 252, .72), rgba(255, 255, 255, .96));
}
.price-opportunity-modal .analysis-section .table-wrap {
  max-height: 420px;
  border-radius: 16px;
}
.price-opportunity-modal .analysis-section .modern-table th:first-child,
.price-opportunity-modal .analysis-section .modern-table td:first-child { padding-left: 14px; }
.opportunity-summary { display:flex; flex-wrap:wrap; gap:10px; }
.opportunity-summary span { background:#f8fafc; border:1px solid rgba(148,163,184,.22); border-radius:999px; padding:8px 12px; font-size:13px; color:#475569; }
.opportunity-summary b { color:#0f172a; }
.suggested-message { font-weight:700; }
@media (max-width: 1280px) { .analysis-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 1100px) { .price-detail-grid { grid-template-columns:1fr; } .price-opportunity-modal .compact-filter { width:100%; max-width:none; margin-left:0; } }
@media (max-width: 720px) { .price-opportunity-modal { width: min(100vw - 16px, 100%); padding:16px; } .price-opportunity-modal .compact-head { flex-direction:column; } .analysis-kpi-grid { grid-template-columns:1fr; } .opportunity-summary { display:grid; grid-template-columns:1fr; } .price-opportunity-modal .table-wrap { margin-inline:-4px; max-height: 360px; } .price-opportunity-modal .analysis-section { padding: 12px; border-radius: 16px; } }
@media (max-width: 760px) {
  .price-products-table { min-width: 0; }
  .price-products-table th,
  .price-products-table td { white-space: normal !important; }
  .price-products-table td:nth-child(2) { max-width: none; }
  .price-intel-page .price-products-table tr {
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  }
  .price-intel-page .price-products-table td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    text-align: right;
  }
  .price-intel-page .price-products-table td:nth-child(2) {
    flex-direction: column;
    text-align: left;
    gap: 4px;
  }
  .price-intel-page .price-products-table td::before {
    content: attr(data-label);
  }
}

/* Ciclo DS — Visão Comercial responsiva sem alterar fluxo */
.visao-filters-compact {
  grid-template-columns: repeat(4, minmax(170px, 1fr)) auto auto;
  align-items: end;
}
.visao-filters-compact .filter-field {
  min-width: min(100%, 160px);
}
.visao-filters-compact button {
  align-self: end;
  white-space: nowrap;
}
@media (max-width: 1420px) {
  .visao-filters-compact {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
  .visao-filters-compact button {
    width: 100%;
  }
}
@media (max-width: 900px) {
  .visao-filters-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .visao-filters-compact {
    grid-template-columns: 1fr;
  }
}
.visao-comercial-page .visao-table-panel .modern-table td {
  vertical-align: top;
}
@media (max-width: 760px) {
  .visao-comercial-page .visao-table-panel .modern-table tr {
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  }
  .visao-comercial-page .visao-table-panel .modern-table td {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    text-align: right;
  }
  .visao-comercial-page .visao-table-panel .modern-table td[data-label="Vendedor"] {
    flex-direction: column;
    text-align: left;
    gap: 4px;
  }
}

/* Ciclo DS — QA responsivo da Gestão de Preços sem alterar fluxo */
.price-intel-page .price-filters {
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(160px, 1fr));
  align-items: stretch;
}
.price-intel-page .price-filters > div {
  align-self: center;
}
.price-intel-page .price-filters .filter-field,
.price-intel-page .price-filters select,
.price-intel-page .price-filters button {
  min-width: 0;
}
.price-intel-page .price-filters select:disabled {
  color: #94A3B8 !important;
  background-color: #F8FAFC !important;
  border-style: dashed !important;
  cursor: not-allowed;
  opacity: 1;
}
.price-intel-page .metric-card,
.price-intel-page .analysis-kpi-grid div,
.price-intel-page .category-margin-row,
.price-intel-page .opportunity-summary span {
  overflow-wrap: anywhere;
}
.price-intel-page .price-bars,
.price-intel-page .category-margin-row,
.price-intel-page .simulator-results div {
  min-width: 0;
}
.price-opportunity-modal .panel-head.compact-head {
  position: sticky;
  top: 0;
  z-index: 6;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}
.price-opportunity-modal .analysis-section .table-wrap {
  overflow: auto;
}
.price-opportunity-modal .analysis-section .modern-table {
  min-width: 860px;
}
@media (max-width: 1420px) {
  .price-intel-page .price-filters {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
  }
  .price-intel-page .price-filters > div,
  .price-intel-page .price-filters .primary-btn {
    grid-column: 1 / -1;
  }
}
@media (max-width: 900px) {
  .price-hero {
    display: grid;
    grid-template-columns: 1fr;
  }
  .price-hero-badge {
    min-width: 0;
    place-content: start;
    text-align: left;
  }
  .price-intel-page .price-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .price-opportunity-modal .panel-head.compact-head {
    position: static;
    backdrop-filter: none;
  }
}
@media (max-width: 620px) {
  .price-intel-page .price-filters {
    grid-template-columns: 1fr;
  }
  .price-hero h1 {
    font-size: clamp(26px, 9vw, 34px);
  }
  .price-opportunity-modal .analysis-section .modern-table {
    min-width: 720px;
  }
}

/* Recompra Inteligente */
.recompra-page .recompra-hero {
  background: linear-gradient(135deg, rgba(92, 12, 11, .96), rgba(164, 30, 24, .92)), radial-gradient(circle at top right, rgba(255, 214, 102, .28), transparent 34%);
}
.recompra-filters {
  grid-template-columns: 1.2fr minmax(180px, .7fr) minmax(180px, .7fr) minmax(220px, 1fr) auto;
}
.score-pill {
  display: inline-flex;
  min-width: 42px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 900;
  color: #334155;
  background: #e2e8f0;
}
.score-pill.warm { color: #92400e; background: #fef3c7; }
.score-pill.hot { color: #7f1d1d; background: #fecaca; }
.recompra-table .recompra-reason {
  max-width: 420px;
  white-space: normal;
  line-height: 1.35;
  color: var(--muted-text);
}
.recompra-table .status-pill + .cell-sub {
  display: block;
  margin-top: 6px;
}
@media (max-width: 1100px) {
  .recompra-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .recompra-filters { grid-template-columns: 1fr; }
}

/* Recompra Inteligente - ajuste de layout/tabela sem texto estourando */
.recompra-page .price-content,
.recompra-page .panel-shell,
.recompra-page .table-wrap {
  min-width: 0;
}
.recompra-page .refined-wrap {
  overflow-x: auto;
}
.recompra-table {
  table-layout: fixed;
  width: 100%;
  min-width: 1280px;
}
.recompra-table th:nth-child(1),
.recompra-table td:nth-child(1) { width: 64px; }
.recompra-table th:nth-child(2),
.recompra-table td:nth-child(2) { width: 190px; }
.recompra-table th:nth-child(3),
.recompra-table td:nth-child(3) { width: 220px; }
.recompra-table th:nth-child(4),
.recompra-table td:nth-child(4) { width: 150px; }
.recompra-table th:nth-child(5),
.recompra-table td:nth-child(5) { width: 150px; }
.recompra-table th:nth-child(6),
.recompra-table td:nth-child(6) { width: 110px; }
.recompra-table th:nth-child(7),
.recompra-table td:nth-child(7) { width: 74px; }
.recompra-table th:nth-child(8),
.recompra-table td:nth-child(8) { width: 74px; }
.recompra-table th:nth-child(9),
.recompra-table td:nth-child(9) { width: 130px; }
.recompra-table th:nth-child(10),
.recompra-table td:nth-child(10) { width: 110px; }
.recompra-table th:nth-child(11),
.recompra-table td:nth-child(11) { width: 300px; }
.recompra-table td,
.recompra-table th {
  overflow: hidden;
  vertical-align: middle;
}
.recompra-table .cell-title,
.recompra-table .cell-sub,
.recompra-table td[data-label="Vendedor"],
.recompra-table td[data-label="Status"],
.recompra-table td[data-label="Financeiro"] {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.recompra-table .recompra-reason {
  max-width: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Compras - setor de compras / estoque */
.compras-page .compras-hero {
  background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(30, 64, 175, .94)), radial-gradient(circle at top right, rgba(37, 99, 235, .22), transparent 36%);
}
.compras-filters {
  grid-template-columns: 1.2fr minmax(190px, .8fr) minmax(160px, .7fr) minmax(130px, .55fr) minmax(220px, 1fr) auto;
}
.compras-table {
  table-layout: fixed;
  width: 100%;
  min-width: 1540px;
}
.compras-table th:nth-child(1), .compras-table td:nth-child(1) { width: 140px; }
.compras-table th:nth-child(2), .compras-table td:nth-child(2) { width: 74px; }
.compras-table th:nth-child(3), .compras-table td:nth-child(3) { width: 260px; }
.compras-table th:nth-child(4), .compras-table td:nth-child(4) { width: 190px; }
.compras-table th:nth-child(5), .compras-table td:nth-child(5),
.compras-table th:nth-child(6), .compras-table td:nth-child(6),
.compras-table th:nth-child(7), .compras-table td:nth-child(7),
.compras-table th:nth-child(8), .compras-table td:nth-child(8),
.compras-table th:nth-child(9), .compras-table td:nth-child(9) { width: 105px; }
.compras-table th:nth-child(10), .compras-table td:nth-child(10),
.compras-table th:nth-child(11), .compras-table td:nth-child(11),
.compras-table th:nth-child(12), .compras-table td:nth-child(12) { width: 86px; }
.compras-table th:nth-child(13), .compras-table td:nth-child(13) { width: 106px; }
.compras-table th:nth-child(14), .compras-table td:nth-child(14) { width: 124px; }
.compras-table th:nth-child(15), .compras-table td:nth-child(15) { width: 120px; }
.compras-table .cell-title,
.compras-table .cell-sub,
.compras-table .ellipsis-cell {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.status-pill.warning { color: #92400e; background: #fef3c7; }
.status-pill.danger { color: #7f1d1d; background: #fecaca; }
.status-pill.muted { color: #475569; background: #e2e8f0; }
@media (max-width: 1180px) { .compras-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .compras-filters { grid-template-columns: 1fr; } }

/* Correção de esquadro - Compras */
.compras-page,
.compras-page .price-layout,
.compras-page .price-content,
.compras-page .panel-shell,
.compras-page .table-wrap,
.compras-page .refined-wrap {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.compras-page .price-layout {
  overflow: hidden;
}
.compras-page .price-content {
  width: 100%;
  overflow: hidden;
}
.compras-page .price-hero {
  max-width: 100%;
  overflow: hidden;
}
.compras-page .price-hero h1,
.compras-page .price-hero p,
.compras-page .price-hero-badge,
.compras-page .price-hero-badge span,
.compras-page .price-hero-badge small {
  min-width: 0;
  overflow-wrap: anywhere;
}
.compras-page .compras-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 210px) minmax(140px, 190px) minmax(110px, 150px) minmax(190px, 260px) auto;
  align-items: end;
  gap: 14px;
  overflow: hidden;
}
.compras-page .compras-filters > div,
.compras-page .compras-filters .filter-field,
.compras-page .compras-filters input,
.compras-page .compras-filters select {
  min-width: 0;
  max-width: 100%;
}
.compras-page .price-main-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.compras-page .refined-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 18px;
  -webkit-overflow-scrolling: touch;
}
.compras-page .compras-table {
  width: max-content;
  min-width: 1480px;
  max-width: none;
}
.compras-page .compras-table th,
.compras-page .compras-table td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.compras-page .compras-table .status-pill {
  max-width: 126px;
  display: inline-flex;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compras-page .metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.compras-page .metric-card {
  min-width: 0;
}
.compras-page .metric-card strong,
.compras-page .metric-card small,
.compras-page .metric-card span {
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1280px) {
  .compras-page .compras-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compras-page .price-main-grid { grid-template-columns: 1fr; }
  .compras-page .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .compras-page .compras-filters,
  .compras-page .metric-grid { grid-template-columns: 1fr; }
}

/* Lead time fornecedores */
.leadtime-page .leadtime-hero {
  background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(30, 64, 175, .94)), radial-gradient(circle at top right, rgba(14, 165, 233, .22), transparent 36%);
}
.leadtime-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px) auto auto;
  gap: 14px;
  align-items: end;
}
.leadtime-toolbar .filter-field {
  min-width: 0;
}
.leadtime-toolbar .outline-btn,
.leadtime-toolbar .primary-btn {
  min-width: 132px;
  justify-content: center;
}
.leadtime-table {
  table-layout: fixed;
  min-width: 1120px;
  width: max-content;
}
.leadtime-table th:nth-child(1), .leadtime-table td:nth-child(1) { width: 80px; }
.leadtime-table th:nth-child(2), .leadtime-table td:nth-child(2) { width: 280px; }
.leadtime-table th:nth-child(3), .leadtime-table td:nth-child(3) { width: 220px; }
.leadtime-table th:nth-child(4), .leadtime-table td:nth-child(4) { width: 92px; }
.leadtime-table th:nth-child(5), .leadtime-table td:nth-child(5) { width: 110px; }
.leadtime-table th:nth-child(6), .leadtime-table td:nth-child(6) { width: 130px; }
.leadtime-table th:nth-child(7), .leadtime-table td:nth-child(7) { width: 260px; }
.leadtime-table th:nth-child(8), .leadtime-table td:nth-child(8) { width: 120px; }
.mini-input {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, .4);
  border-radius: 12px;
  padding: 9px 10px;
  font-weight: 700;
  color: #0f172a;
  background: #fff;
}
.mini-input.note { font-weight: 600; }
.secondary-btn.small {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: .82rem;
}
@media (max-width: 1100px) {
  .leadtime-toolbar { grid-template-columns: minmax(0, 1fr) minmax(240px, 360px); }
  .leadtime-toolbar .outline-btn,
  .leadtime-toolbar .primary-btn { width: 100%; }
}
@media (max-width: 900px) { .leadtime-toolbar { grid-template-columns: 1fr; } }

.leadtime-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 4px 2px;
  color: #475569;
  font-weight: 700;
}
.leadtime-pagination > div {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.leadtime-pagination strong {
  color: #0f172a;
  min-width: 70px;
  text-align: center;
}
@media (max-width: 720px) {
  .leadtime-pagination { align-items: stretch; flex-direction: column; }
  .leadtime-pagination > div { justify-content: space-between; }
}

/* Atendimento/Vendas - cockpit comercial inspirado no CRM de tickets */
.atendimento-vendas-shell{
  min-height:100vh;
  background:#0b141a;
  color:#111b21;
}
.atendimento-vendas-topbar{
  height:64px !important;
  padding:10px 18px !important;
  background:linear-gradient(90deg,#111b21 0%,#12342f 52%,#0b7b5b 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.1) !important;
  color:#fff !important;
}
.atendimento-vendas-topbar .ghost-link,
.atendimento-vendas-topbar strong,
.atendimento-vendas-topbar span{color:#fff !important}
.atendimento-vendas-topbar .atendimento-app-brand span{opacity:.74;font-weight:700}
.atendimento-vendas-kpis{display:flex;gap:8px;align-items:center;margin-left:auto;margin-right:14px}
.atendimento-vendas-kpis span{display:flex;flex-direction:column;gap:1px;min-width:82px;padding:7px 10px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.68)!important}
.atendimento-vendas-kpis b{font-size:12px;color:#fff;font-weight:950;text-transform:none;letter-spacing:0}
.atendimento-vendas-main{height:calc(100vh - 64px) !important;padding:12px !important;background:#dfe5e7 !important;overflow:hidden !important}
.atendimento-vendas-main .atendimento-screen{height:100% !important;padding:0 !important;max-width:none !important}
.atendimento-vendas-main .whatsapp-shell.chat-layout{
  height:100% !important;
  max-height:none !important;
  min-height:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:330px minmax(430px,1fr) 390px !important;
  border:1px solid rgba(17,27,33,.14) !important;
  box-shadow:0 22px 60px rgba(17,27,33,.18) !important;
  background:#fff !important;
}
.atendimento-vendas-main .whatsapp-sidebar{background:#f7f8fa !important;border-right:1px solid #d9dee2 !important;min-height:0 !important}
.atendimento-vendas-main .chat-sidebar-top{padding:14px !important;background:#fff !important;border-bottom:1px solid #e5e7eb !important}
.atendimento-vendas-main .chat-sidebar-toolbar strong{font-size:18px !important;color:#111b21 !important}
.atendimento-vendas-main .chat-sidebar-toolbar span{font-size:12px !important;color:#667781 !important}
.atendimento-vendas-main .new-conversation-btn{background:#00a884 !important;color:#fff !important;border:0 !important;border-radius:999px !important;padding:8px 12px !important;font-weight:900 !important}
.atendimento-vendas-main .conversation-filter-tabs{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:6px !important;margin:12px 0 !important;background:#eef2f4 !important;padding:5px !important;border-radius:999px !important;overflow:visible !important}
.atendimento-vendas-main .conversation-filter-tabs button{border:0 !important;border-radius:999px !important;background:transparent !important;color:#54656f !important;font-size:11px !important;font-weight:900 !important;padding:7px 6px !important;white-space:nowrap !important}
.atendimento-vendas-main .conversation-filter-tabs button.active{background:#fff !important;color:#008069 !important;box-shadow:0 4px 12px rgba(17,27,33,.08) !important}
.atendimento-vendas-main .chat-search-box{background:#f0f2f5 !important;border:1px solid #e5e7eb !important;border-radius:14px !important;height:40px !important;padding:0 10px !important}
.atendimento-vendas-main .chat-search-box input{font-size:13px !important}
.atendimento-vendas-main .chat-conversation-list{background:#fff !important;overflow:auto !important;padding:0 !important}
.atendimento-vendas-main .chat-conversation-row{position:relative !important;border-bottom:1px solid #eef1f3 !important;background:#fff !important}
.atendimento-vendas-main .chat-conversation-row:hover{background:#f5f6f6 !important}
.atendimento-vendas-main .chat-conversation-row.active{background:#e7f7f2 !important}
.atendimento-vendas-main .whatsapp-conversation-item{padding:12px 34px 12px 12px !important;gap:10px !important;text-align:left !important}
.atendimento-vendas-main .conversation-avatar{background:#dfe5e7 !important;color:#54656f !important;font-weight:950 !important}
.atendimento-vendas-main .chat-conversation-top strong{font-size:13.5px !important;color:#111b21 !important;max-width:155px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}
.atendimento-vendas-main .chat-conversation-bottom span:first-child{font-size:12px !important;color:#667781 !important;line-height:1.25 !important}
.atendimento-vendas-main .whatsapp-unread-badge{background:#25d366 !important;color:#053b2f !important;font-weight:950 !important}
.atendimento-vendas-main .whatsapp-main{background:#efeae2 !important;grid-template-rows:64px minmax(0,1fr) auto !important;min-height:0 !important;overflow:hidden !important}
.atendimento-vendas-main .whatsapp-header{height:64px !important;background:#f0f2f5 !important;border-bottom:1px solid #d9dee2 !important;padding:10px 16px !important}
.atendimento-vendas-main .chat-header-meta strong{font-size:16px !important;color:#111b21 !important}
.atendimento-vendas-main .chat-header-meta span{font-size:12px !important;color:#667781 !important}
.atendimento-vendas-main .whatsapp-messages{padding:18px 24px !important;background-color:#efeae2 !important;background-image:radial-gradient(rgba(17,27,33,.05) 1px, transparent 1px) !important;background-size:18px 18px !important;overflow:auto !important}
.atendimento-vendas-main .whatsapp-bubble{border-radius:10px !important;box-shadow:0 1px 2px rgba(17,27,33,.1) !important;max-width:74% !important;font-size:14px !important;line-height:1.35 !important}
.atendimento-vendas-main .whatsapp-bubble.in{background:#fff !important;color:#111b21 !important}
.atendimento-vendas-main .whatsapp-bubble.out{background:#d9fdd3 !important;color:#111b21 !important}
.atendimento-vendas-main .composer-stack{background:#f0f2f5 !important;border-top:1px solid #d9dee2 !important;padding:9px 12px !important}
.atendimento-vendas-main .whatsapp-input-row{background:transparent !important;gap:8px !important}
.atendimento-vendas-main .whatsapp-input-row textarea{min-height:42px !important;max-height:120px !important;border-radius:14px !important;background:#fff !important;border:1px solid #e5e7eb !important;padding:11px 14px !important;font-size:14px !important}
.atendimento-vendas-main .composer-side-btn{width:38px !important;height:38px !important;border-radius:999px !important;background:transparent !important;color:#54656f !important;border:0 !important}
.atendimento-vendas-main .send-icon-btn{width:42px !important;height:42px !important;border-radius:999px !important;background:#00a884 !important;color:#fff !important;border:0 !important;font-weight:950 !important}
.atendimento-vendas-main .assistant-panel.whatsapp-assistant-panel{display:block !important;background:#f7f8fa !important;border-left:1px solid #d9dee2 !important;overflow:auto !important;min-width:0 !important}
.atendimento-vendas-main .ia-full-panel{padding:14px !important;display:flex !important;flex-direction:column !important;gap:12px !important}
.atendimento-vendas-main .ia-full-header{background:linear-gradient(135deg,#0b7b5b,#00a884) !important;color:#fff !important;border-radius:18px !important;padding:14px !important;box-shadow:0 12px 28px rgba(0,128,105,.22) !important}
.atendimento-vendas-main .ia-avatar{background:#fff !important;color:#008069 !important}
.atendimento-vendas-main .ia-full-header span{color:rgba(255,255,255,.78) !important}
.atendimento-vendas-main .assistant-link-card,
.atendimento-vendas-main .ia-chat-card,
.atendimento-vendas-main .ia-suggestion,
.atendimento-vendas-main .ia-alert-box,
.atendimento-vendas-main .ia-customer-strip,
.atendimento-vendas-main .ia-insight-row > div{
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:16px !important;
  box-shadow:0 8px 22px rgba(17,27,33,.05) !important;
}
.atendimento-vendas-main .ia-customer-strip{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;padding:10px !important}
.atendimento-vendas-main .ia-customer-strip div{min-width:0 !important}
.atendimento-vendas-main .ia-customer-strip span,
.atendimento-vendas-main .ia-insight-row span{font-size:10px !important;color:#667781 !important;text-transform:uppercase !important;font-weight:900 !important;letter-spacing:.04em !important}
.atendimento-vendas-main .ia-customer-strip strong,
.atendimento-vendas-main .ia-insight-row strong{font-size:12px !important;color:#111b21 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}
.atendimento-vendas-main .ia-insight-row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}
.atendimento-vendas-main .ia-insight-row > div{padding:10px !important}
.atendimento-vendas-main .ia-chat-title{gap:8px !important;align-items:center !important}
.atendimento-vendas-main .assistant-db-status{background:#dcfce7 !important;color:#166534 !important;border-radius:999px !important;padding:4px 7px !important;font-size:10px !important;font-weight:900 !important}
.atendimento-vendas-main .ia-suggestion{padding:12px !important;border-color:#bbf7d0 !important;background:#f0fdf4 !important}
.atendimento-vendas-main .ia-suggestion span{color:#008069 !important;font-weight:950 !important;text-transform:uppercase !important;font-size:10px !important;letter-spacing:.05em !important}
.atendimento-vendas-main .ia-suggestion p{font-size:13px !important;color:#111b21 !important;line-height:1.35 !important}
.atendimento-vendas-main .ia-suggestion-actions,
.atendimento-vendas-main .ia-quick-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}
.atendimento-vendas-main .ia-suggestion-actions button,
.atendimento-vendas-main .ia-quick-actions button{border:0 !important;border-radius:12px !important;background:#e7f7f2 !important;color:#008069 !important;font-weight:900 !important;padding:9px !important;font-size:12px !important}
.atendimento-vendas-main .ia-input-row{background:#fff !important;border:1px solid #e5e7eb !important;border-radius:14px !important;padding:6px !important}
.atendimento-vendas-main .ia-input-row input{font-size:13px !important}
.atendimento-vendas-main .ia-input-row button{background:#00a884 !important;color:#fff !important;border-radius:10px !important}
@media(max-width:1280px){
  .atendimento-vendas-main .whatsapp-shell.chat-layout{grid-template-columns:300px minmax(380px,1fr) 330px !important}
  .atendimento-vendas-kpis{display:none !important}
}
@media(max-width:1020px){
  .atendimento-vendas-main{overflow:auto !important;height:auto !important;min-height:calc(100vh - 64px) !important}
  .atendimento-vendas-main .whatsapp-shell.chat-layout{grid-template-columns:1fr !important;height:auto !important;min-height:900px !important}
  .atendimento-vendas-main .assistant-panel.whatsapp-assistant-panel{display:block !important;min-height:420px !important}
}

/* Atendimento/Vendas - refinamento visual 2: menos poluição, mais foco operacional */
.atendimento-vendas-shell .atendimento-app-topbar{
  position:relative !important;
  z-index:5 !important;
}
.atendimento-vendas-topbar{
  height:56px !important;
  padding:8px 14px !important;
  background:#111b21 !important;
}
.atendimento-vendas-topbar::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,#00a884,#25d366,#f59e0b);
}
.atendimento-vendas-topbar .atendimento-app-brand{
  min-width:260px !important;
  gap:8px !important;
}
.atendimento-vendas-topbar .atendimento-app-brand .ghost-link{
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  border-radius:10px !important;
  padding:0 10px !important;
  font-size:12px !important;
}
.atendimento-vendas-topbar .atendimento-app-brand strong{
  font-size:16px !important;
  letter-spacing:-.02em !important;
}
.atendimento-vendas-topbar .atendimento-app-brand span{
  font-size:11px !important;
}
.atendimento-vendas-topbar .atendimento-vendas-kpis{
  margin-left:10px !important;
  margin-right:auto !important;
}
.atendimento-vendas-topbar .atendimento-vendas-kpis span{
  min-width:auto !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:5px !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  font-size:9px !important;
}
.atendimento-vendas-topbar .atendimento-vendas-kpis b{font-size:11px !important}
.atendimento-vendas-topbar .atendimento-app-actions{
  gap:7px !important;
}
.atendimento-vendas-topbar .outline-btn.small-btn,
.atendimento-vendas-topbar .primary-btn.small-btn,
.atendimento-vendas-topbar .icon-btn{
  min-height:34px !important;
  height:34px !important;
  padding:0 10px !important;
  border-radius:10px !important;
  font-size:12px !important;
}
.atendimento-vendas-main{
  height:calc(100vh - 56px) !important;
  padding:8px !important;
  background:linear-gradient(135deg,#dbe3e6,#eef3f4) !important;
}
.atendimento-vendas-main .whatsapp-shell.chat-layout{
  border-radius:12px !important;
  grid-template-columns:355px minmax(460px,1fr) 410px !important;
  box-shadow:0 14px 38px rgba(17,27,33,.16) !important;
}
.atendimento-vendas-main .whatsapp-sidebar{
  background:#fff !important;
}
.atendimento-vendas-main .chat-sidebar-top{
  padding:12px !important;
  background:#f8fafb !important;
}
.atendimento-vendas-main .chat-sidebar-toolbar{
  align-items:center !important;
}
.atendimento-vendas-main .chat-sidebar-toolbar strong::before{
  content:'●';
  color:#25d366;
  margin-right:6px;
  font-size:12px;
}
.atendimento-vendas-main .conversation-filter-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-radius:12px !important;
  margin:10px 0 !important;
}
.atendimento-vendas-main .chat-search-box{
  height:36px !important;
  border-radius:10px !important;
  background:#fff !important;
}
.atendimento-vendas-main .chat-new-conversation-box{
  margin-top:10px !important;
  padding:10px !important;
  border-radius:12px !important;
  background:#ecfdf5 !important;
  border:1px solid #bbf7d0 !important;
}
.atendimento-vendas-main .chat-conversation-row.active::before{
  content:'';
  position:absolute;
  left:0;top:8px;bottom:8px;width:4px;
  border-radius:0 999px 999px 0;
  background:#00a884;
}
.atendimento-vendas-main .whatsapp-conversation-item{
  min-height:74px !important;
}
.atendimento-vendas-main .conversation-avatar{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  background:linear-gradient(135deg,#d9fdd3,#b7f7d0) !important;
  color:#075e54 !important;
}
.atendimento-vendas-main .chat-conversation-top span{
  color:#8696a0 !important;
  font-size:10.5px !important;
}
.atendimento-vendas-main .clear-conversation-btn{
  top:50% !important;
  transform:translateY(-50%) !important;
  right:7px !important;
  opacity:.42 !important;
}
.atendimento-vendas-main .clear-conversation-btn:hover{opacity:1 !important;background:#fee2e2 !important;color:#991b1b !important}
.atendimento-vendas-main .whatsapp-header{
  height:58px !important;
  background:#fff !important;
  padding:8px 14px !important;
}
.atendimento-vendas-main .whatsapp-header::after{
  content:'Atendimento comercial';
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  font-size:11px;
  font-weight:900;
  border:1px solid #bbf7d0;
}
.atendimento-vendas-main .whatsapp-messages{
  padding:20px 28px !important;
  background-color:#e6ddd4 !important;
  background-image:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.45)),radial-gradient(rgba(17,27,33,.08) 1px,transparent 1px) !important;
  background-size:auto,20px 20px !important;
}
.atendimento-vendas-main .chat-date-separator span{
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  box-shadow:0 2px 8px rgba(17,27,33,.05) !important;
}
.atendimento-vendas-main .whatsapp-bubble{
  padding:8px 10px 6px !important;
  border-radius:9px !important;
}
.atendimento-vendas-main .whatsapp-bubble small{
  opacity:.68 !important;
  font-size:10px !important;
}
.atendimento-vendas-main .composer-stack{
  padding:8px 10px !important;
  min-height:58px !important;
}
.atendimento-vendas-main .whatsapp-input-row textarea{
  min-height:40px !important;
  border-radius:999px !important;
  padding:10px 16px !important;
}
.atendimento-vendas-main .assistant-panel.whatsapp-assistant-panel{
  background:#f4f6f7 !important;
}
.atendimento-vendas-main .ia-full-panel{
  padding:12px !important;
  gap:10px !important;
}
.atendimento-vendas-main .ia-full-header{
  border-radius:14px !important;
  padding:12px !important;
  min-height:68px !important;
}
.atendimento-vendas-main .ia-full-header strong::after{
  content:' comercial';
  font-weight:700;
  opacity:.78;
}
.atendimento-vendas-main .assistant-link-card{
  padding:12px !important;
  border-radius:14px !important;
  background:#fff7ed !important;
  border-color:#fed7aa !important;
}
.atendimento-vendas-main .assistant-link-card strong{color:#9a3412 !important}
.atendimento-vendas-main .assistant-link-card p{font-size:12px !important;line-height:1.35 !important;color:#7c2d12 !important;margin:4px 0 10px !important}
.atendimento-vendas-main .ia-customer-strip{
  border-radius:14px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
}
.atendimento-vendas-main .ia-customer-strip div{
  padding:7px !important;
  border-radius:10px !important;
  background:#f8fafc !important;
}
.atendimento-vendas-main .ia-insight-row > div{
  border-radius:14px !important;
  background:#fff !important;
}
.atendimento-vendas-main .ia-alert-box{
  padding:8px !important;
  border-radius:14px !important;
}
.atendimento-vendas-main .assistant-alert,
.atendimento-vendas-main .assistant-ok{
  border-radius:10px !important;
  padding:8px !important;
  font-size:12px !important;
}
.atendimento-vendas-main .ia-chat-card{
  border-radius:14px !important;
  padding:10px !important;
}
.atendimento-vendas-main .ia-chat-log{
  max-height:170px !important;
  overflow:auto !important;
  padding-right:2px !important;
}
.atendimento-vendas-main .assistant-message span{
  font-size:12px !important;
  line-height:1.35 !important;
}
.atendimento-vendas-main .ia-suggestion{
  border-radius:14px !important;
  padding:10px !important;
}
.atendimento-vendas-main .ia-suggestion p{
  margin:6px 0 10px !important;
  max-height:74px !important;
  overflow:auto !important;
}
.atendimento-vendas-main .ia-suggestion-actions button,
.atendimento-vendas-main .ia-quick-actions button{
  min-height:34px !important;
  padding:7px 8px !important;
  border-radius:10px !important;
}
.atendimento-vendas-main .ia-quick-actions{
  position:sticky !important;
  bottom:58px !important;
  background:#f4f6f7 !important;
  padding-top:2px !important;
}
.atendimento-vendas-main .ia-input-row{
  position:sticky !important;
  bottom:0 !important;
  box-shadow:0 -8px 18px rgba(17,27,33,.06) !important;
}
@media(max-width:1360px){
  .atendimento-vendas-main .whatsapp-shell.chat-layout{grid-template-columns:320px minmax(420px,1fr) 360px !important}
}
@media(max-width:1180px){
  .atendimento-vendas-main .whatsapp-shell.chat-layout{grid-template-columns:300px minmax(420px,1fr) !important}
  .atendimento-vendas-main .assistant-panel.whatsapp-assistant-panel{display:none !important}
}

/* Atendimento/Vendas - painel comercial Cliente/Venda/IA */
.atendimento-vendas-main .sales-command-panel{
  background:#f6f8fa !important;
  border-left:1px solid #d9dee2 !important;
  overflow:hidden !important;
}
.sales-panel-shell{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:12px;
  gap:10px;
  overflow:hidden;
}
.sales-panel-header{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  padding:14px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,#075e54,#00a884 70%,#25d366);
  box-shadow:0 14px 30px rgba(0,128,105,.22);
}
.sales-panel-header div{min-width:0;display:flex;flex-direction:column;gap:2px}
.sales-panel-header span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.72)}
.sales-panel-header strong{font-size:16px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.sales-panel-header small{font-size:11px;color:rgba(255,255,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sales-panel-header button{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.16);color:#fff;border-radius:12px;height:34px;padding:0 12px;font-weight:950;cursor:pointer}
.sales-panel-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border-radius:14px;background:#e9eef1;border:1px solid #dfe5e7}
.sales-panel-tabs button{border:0;background:transparent;color:#54656f;border-radius:10px;height:34px;font-weight:950;cursor:pointer}
.sales-panel-tabs button.active{background:#fff;color:#008069;box-shadow:0 5px 14px rgba(17,27,33,.08)}
.sales-link-card{padding:12px;border-radius:16px;background:#EFF6FF;border:1px solid #fed7aa;box-shadow:0 8px 20px rgba(154,52,18,.06)}
.sales-link-card strong{display:block;color:#9a3412;font-size:14px;margin-bottom:4px}
.sales-link-card p{margin:0 0 10px;color:#7c2d12;font-size:12px;line-height:1.35}
.sales-tab-body{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}
.sales-tab-body::-webkit-scrollbar{width:6px}.sales-tab-body::-webkit-scrollbar-thumb{background:#cbd5dc;border-radius:999px}
.sales-opportunity-card,.sales-product-search,.sales-suggestions-list,.sales-cart-card,.sales-customer-card,.sales-alert-list,.sales-next-actions,.sales-metric-grid>div{
  background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 20px rgba(17,27,33,.045)
}
.sales-opportunity-card{padding:13px;border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff)}
.sales-opportunity-card span,.sales-cart-card span,.sales-metric-grid span,.sales-section-title strong{font-size:10px;color:#008069;text-transform:uppercase;letter-spacing:.07em;font-weight:950}
.sales-opportunity-card strong{display:block;margin-top:3px;color:#111b21;font-size:15px;line-height:1.2}
.sales-opportunity-card p{font-size:12.5px;color:#3b4a54;line-height:1.38;margin:7px 0 11px}
.sales-opportunity-card div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sales-opportunity-card button,.sales-product-search button,.sales-suggestion-item button,.sales-cart-card button,.sales-next-actions button{border:0;border-radius:11px;background:#e7f7f2;color:#008069;font-weight:950;min-height:34px;padding:7px 9px;cursor:pointer}
.sales-opportunity-card button:first-child,.sales-cart-card button{background:#00a884;color:#fff}
.sales-product-search{padding:12px}
.sales-product-search label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:#54656f;margin-bottom:7px}
.sales-product-search div{display:flex;gap:7px}
.sales-product-search input{min-width:0;flex:1;border:1px solid #d9dee2;background:#f8fafc;border-radius:12px;padding:0 11px;height:38px;outline:none;color:#111b21}
.sales-product-search input:focus{border-color:#00a884;background:#fff;box-shadow:0 0 0 3px rgba(0,168,132,.12)}
.sales-suggestions-list{padding:12px;display:flex;flex-direction:column;gap:8px}
.sales-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sales-section-title a{font-size:11px;color:#008069;text-decoration:none;font-weight:950;background:#e7f7f2;border-radius:999px;padding:5px 8px}
.sales-suggestion-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f4}
.sales-suggestion-item span{font-size:12px;line-height:1.25;color:#111b21;min-width:0}
.sales-suggestion-item button{min-height:30px;padding:0 9px;background:#fff;color:#008069;border:1px solid #bbf7d0}
.sales-cart-card{padding:12px;background:#fffaf0;border-color:#fde68a}
.sales-cart-card div{display:flex;flex-direction:column;gap:2px}
.sales-cart-card strong{font-size:14px;color:#92400e}
.sales-cart-card p{font-size:12px;line-height:1.34;color:#78350f;margin:7px 0 10px}
.sales-customer-card{padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;background:#fff}
.sales-customer-card div{min-width:0;display:flex;flex-direction:column;gap:2px}
.sales-customer-card span{font-size:10px;text-transform:uppercase;color:#667781;font-weight:950;letter-spacing:.06em}
.sales-customer-card strong{font-size:15px;color:#111b21;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sales-customer-card small{font-size:11px;color:#667781}
.sales-customer-card button{border:1px solid #fee2e2;background:#fff1f2;color:#991b1b;border-radius:10px;height:32px;padding:0 9px;font-size:11px;font-weight:900;cursor:pointer}
.sales-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sales-metric-grid>div{padding:10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.sales-metric-grid strong{font-size:13px;color:#111b21;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sales-alert-list{padding:10px;display:flex;flex-direction:column;gap:7px;background:#fff}
.sales-alert-list div{font-size:12px;line-height:1.34;color:#3b4a54;background:#f8fafc;border-radius:10px;padding:8px;border:1px solid #edf2f4}
.sales-next-actions{padding:12px;display:flex;flex-direction:column;gap:8px}
.sales-next-actions strong{font-size:12px;color:#111b21;text-transform:uppercase;letter-spacing:.05em}
.sales-next-actions button{text-align:left;background:#f0fdf4;border:1px solid #bbf7d0;color:#047857}
.sales-ia-body .ia-chat-card,.sales-ia-body .ia-suggestion{box-shadow:0 8px 20px rgba(17,27,33,.045) !important;border-radius:16px !important}
.sales-ia-body .ia-chat-log{max-height:260px !important}
.sales-ia-body .ia-quick-actions{position:static !important;background:transparent !important;padding:0 !important}
.sales-ia-body .ia-input-row{position:sticky !important;bottom:0 !important}
@media(max-width:1360px){
  .sales-panel-shell{padding:10px;gap:8px}
  .sales-panel-header{padding:12px;border-radius:15px}
  .sales-opportunity-card,.sales-product-search,.sales-suggestions-list,.sales-cart-card,.sales-customer-card,.sales-alert-list,.sales-next-actions{border-radius:14px}
}
@media(max-width:1180px){
  .atendimento-vendas-main .sales-command-panel{display:none !important}
}

/* Televendas /catalogo-2 - workspace fixo catálogo + atendimento */
.televendas-shell,
.televendas-shell *{
  box-sizing:border-box;
}
.televendas-shell{
  height:100dvh;
  overflow:hidden;
  padding:10px;
  background:#F1F5F9;
  color:#0F172A;
}
.televendas-workspace{
  height:calc(100dvh - 20px);
  min-height:0;
  display:grid;
  grid-template-columns:minmax(760px,1.8fr) minmax(460px,1fr);
  gap:10px;
  align-items:stretch;
  overflow:hidden;
}
.televendas-left,
.televendas-right{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
  border:1px solid #E2E8F0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(62,30,20,.10);
}
.televendas-left{position:relative;}
.televendas-right{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.televendas-conversation-toggle,
.televendas-cart-toggle{
  height:30px;
  border:1px solid #E2E8F0;
  border-radius:999px;
  background:#fff;
  color:#1E40AF;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(15,23,42,.08);
}
.televendas-conversation-toggle{
  position:absolute;
  top:9px;
  right:10px;
  z-index:15;
  padding:0 12px;
}
.televendas-cart-toggle{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:15;
  padding:0 14px;
  background:#1E40AF;
  color:#fff;
  border-color:#1E40AF;
}

.televendas-left .catalogo1-page{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  overflow:hidden;
  background:#F8FAFC;
}
.televendas-left .catalogo1-top{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);
  gap:10px;
  align-items:center;
  min-height:84px;
  margin:0;
  padding:10px;
  border:0;
  border-radius:22px 22px 0 0;
  background:linear-gradient(135deg,#0F172A,#1E40AF);
  box-shadow:none;
  overflow:visible;
}
.televendas-left .catalogo1-brand-head{
  min-width:0;
  height:62px;
  padding:8px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  overflow:hidden;
}
.televendas-left .catalogo1-logo{width:100px;height:36px;border-radius:10px;background:#fff;}
.televendas-left .catalogo1-brand-head h1{margin:0;font-size:15px;color:#fff;line-height:18px;}
.televendas-left .catalogo1-brand-head p{margin:2px 0 0;font-size:10.5px;color:#DBEAFE;line-height:13px;}
.televendas-left .catalogo1-cat-link{display:none;}
.televendas-left .catalogo1-client{
  position:relative;
  z-index:12;
  min-width:0;
  width:auto;
  max-width:none;
  padding:8px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
  overflow:visible;
}
.televendas-left .catalogo1-client label{display:grid;gap:5px;}
.televendas-left .catalogo1-client label > span{color:#DBEAFE;font-size:10px;font-weight:950;}
.televendas-left .catalogo1-client label > div{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px;}
.televendas-left .catalogo1-client input{min-width:0;height:36px;border-radius:12px;background:#fff;border:1px solid #E2E8F0;color:#0F172A;}
.televendas-left .catalogo1-client button{height:36px;border-radius:12px;background:#fff;color:#1E40AF;font-weight:950;}
.televendas-left .catalogo1-client-results{
  position:absolute;
  z-index:40;
  top:62px;
  left:0;
  right:0;
  max-height:320px;
  overflow:auto;
  border:1px solid #E2E8F0;
  box-shadow:0 22px 50px rgba(15,23,42,.20);
}
.televendas-left .catalogo1-context{
  height:38px;
  max-height:38px;
  margin:0;
  padding:5px 8px;
  display:flex;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#EFF6FF;
  border-bottom:1px solid #ead9cf;
  box-shadow:none;
}
.televendas-left .catalogo1-context strong,
.televendas-left .catalogo1-context span,
.televendas-left .catalogo1-context label{
  flex:0 0 auto;
  height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid #E2E8F0;
  color:#0F172A;
  font-size:10px;
  white-space:nowrap;
}
.televendas-left .catalogo1-ai-strip{display:none;}
.televendas-left .catalogo1-client-panel{
  margin:8px;
  max-height:118px;
  min-height:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid #E2E8F0;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.televendas-left .catalogo1-last-order,
.televendas-left .catalogo1-opportunity-grid{display:none;}
.televendas-left .catalogo1-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  margin:0 8px 8px;
  overflow:hidden;
}
.televendas-left .catalogo1-layout > section{
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.televendas-left .catalogo1-search{
  margin:0 0 8px;
  padding:8px;
  border-radius:14px;
  background:#fff;
  border:1px solid #E2E8F0;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.televendas-left .catalogo1-search input{min-width:0;height:34px;border-radius:11px;}
.televendas-left .catalogo1-shortcuts{display:none;}
.televendas-left .catalogo1-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:2px;
}
.televendas-left .catalogo1-card{
  height:246px;
  min-height:246px;
  max-height:246px;
  display:grid;
  grid-template-rows:70px 24px 30px 14px 22px 32px;
  gap:5px;
  padding:7px;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  border:1px solid #E2E8F0;
  box-shadow:0 7px 18px rgba(15,23,42,.06);
}
.televendas-left .catalogo1-photo{height:70px;min-height:70px;max-height:70px;border-radius:12px;overflow:hidden;background:#F1F5F9;}
.televendas-left .catalogo1-photo img{width:100%;height:100%;object-fit:cover;}
.televendas-left .catalogo1-card h2{margin:0;min-height:28px;max-height:28px;overflow:hidden;font-size:11px;line-height:14px;color:#0F172A;}
.televendas-left .catalogo1-card small{margin:0;max-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:14px;color:#64748B;}
.televendas-left .catalogo1-card > strong,
.televendas-left .catalogo1-promo-price{height:22px;margin:0;line-height:22px;color:#1E40AF;}
.televendas-left .catalogo1-card > strong,
.televendas-left .catalogo1-promo-price strong{font-size:14px;line-height:22px;color:#1E40AF;}
.televendas-left .catalogo1-promo-price span,
.televendas-left .catalogo1-promo-price del{display:none;}
.televendas-left .catalogo1-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;}
.televendas-left .catalogo1-card-actions button{min-width:0;height:30px;border-radius:10px;padding:0;font-size:10px;}
.televendas-left .catalogo1-card-actions button:first-child{background:#1E40AF;color:#fff;}
.televendas-left .catalogo1-card-actions button:last-child{background:#EFF6FF;color:#1E40AF;border:1px solid #E2E8F0;}
.televendas-left .catalogo1-cart{
  position:absolute;
  right:14px;
  top:112px;
  bottom:56px;
  z-index:14;
  width:min(390px,calc(100% - 28px));
  max-height:none;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border-radius:18px;
  border:1px solid #E2E8F0;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  transform:translateX(calc(100% + 24px));
  transition:transform .22s ease;
}
.televendas-shell.televendas-cart-open .televendas-left .catalogo1-cart{transform:translateX(0);}
.televendas-left .catalogo1-cart-head{padding:10px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#0F172A,#1E40AF);color:#fff;}
.televendas-left .catalogo1-cart-head *{color:#fff;}
.televendas-left .catalogo1-cart > :not(.catalogo1-cart-head){overflow:auto;}

.televendas-right .atendimento-screen,
.televendas-right .whatsapp-business-redesign{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:0;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
}
.televendas-right .catalogo2-ai-suggestion-top{display:none;}
.televendas-right .whatsapp-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:76px minmax(0,1fr);
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:none;
}
.televendas-right .whatsapp-sidebar{
  grid-column:1;
  grid-row:1;
  width:100%;
  height:76px;
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  overflow:hidden;
  border-right:0;
  border-bottom:1px solid #ead9cf;
  background:#EFF6FF;
}
.televendas-right .chat-sidebar-top{min-width:0;height:76px;padding:8px;display:grid;align-content:center;overflow:hidden;background:#fff;border-right:1px solid #ead9cf;}
.televendas-right .conversation-filter-tabs,
.televendas-right .chat-search-box,
.televendas-right .chat-new-conversation-box,
.televendas-right .sidebar-actions{display:none;}
.televendas-right .chat-sidebar-toolbar strong{font-size:13px;color:#0F172A;}
.televendas-right .chat-sidebar-toolbar span{display:block;font-size:10px;color:#64748B;}
.televendas-right .chat-conversation-list{min-width:0;height:76px;padding:8px;display:flex;gap:6px;align-items:center;overflow-x:auto;overflow-y:hidden;background:#EFF6FF;}
.televendas-right .chat-conversation-row{position:relative;flex:0 0 160px;width:160px;height:48px;min-height:48px;max-height:48px;margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #E2E8F0;}
.televendas-right .whatsapp-conversation-item{width:100%;height:48px;min-height:48px;max-height:48px;padding:6px 22px 6px 7px;}
.televendas-right .conversation-avatar{width:28px;height:28px;min-width:28px;flex:0 0 28px;font-size:9px;background:linear-gradient(135deg,#0F172A,#1E40AF);}
.televendas-right .chat-conversation-top strong{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;}
.televendas-right .chat-conversation-bottom{display:none;}
.televendas-right .whatsapp-main{grid-column:1;grid-row:2;width:100%;min-width:0;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) auto;overflow:hidden;background:#F8FAFC;}
.televendas-right .whatsapp-header{width:100%;min-width:0;height:48px;padding:7px 104px 7px 10px;display:flex;align-items:center;overflow:hidden;background:#fff;border-bottom:1px solid #ead9cf;}
.televendas-right .whatsapp-messages{width:100%;min-width:0;min-height:0;padding:10px;overflow-y:auto;overflow-x:hidden;background:#F8FAFC;}
.televendas-right .composer-stack{width:100%;min-width:0;max-width:100%;padding:8px;display:grid;overflow:hidden;background:#fff;border-top:1px solid #ead9cf;}
.televendas-right .chat-input-row{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto auto;gap:6px;align-items:end;}
.televendas-right textarea,
.televendas-right input{min-width:0;max-width:100%;}
.televendas-right .whatsapp-assistant-panel,
.televendas-right .assistant-panel,
.televendas-right .ia-only-panel,
.televendas-right .sales-command-panel{display:none;}

.televendas-shell.televendas-conversations-open .televendas-right .whatsapp-sidebar{
  position:absolute;
  inset:0 0 0 auto;
  z-index:12;
  width:min(420px,100%);
  height:100%;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr);
  border-left:1px solid #ead9cf;
  border-bottom:0;
  box-shadow:-24px 0 70px rgba(37,26,23,.20);
}
.televendas-shell.televendas-conversations-open .televendas-right .chat-sidebar-top{
  height:auto;
  min-height:122px;
  border-right:0;
  border-bottom:1px solid #ead9cf;
  align-content:start;
}
.televendas-shell.televendas-conversations-open .televendas-right .conversation-filter-tabs,
.televendas-shell.televendas-conversations-open .televendas-right .chat-search-box,
.televendas-shell.televendas-conversations-open .televendas-right .chat-new-conversation-box,
.televendas-shell.televendas-conversations-open .televendas-right .sidebar-actions{display:flex;}
.televendas-shell.televendas-conversations-open .televendas-right .chat-conversation-list{
  height:auto;
  min-height:0;
  display:block;
  overflow-y:auto;
  overflow-x:hidden;
}
.televendas-shell.televendas-conversations-open .televendas-right .chat-conversation-row{
  width:100%;
  height:62px;
  max-height:62px;
  margin:0 0 8px;
  flex:none;
}
.televendas-shell.televendas-conversations-open .televendas-right .whatsapp-conversation-item{height:62px;max-height:62px;}
.televendas-shell.televendas-conversations-open .televendas-right .chat-conversation-bottom{display:flex;}
.televendas-shell.televendas-conversations-open .televendas-right .chat-conversation-top strong{max-width:210px;font-size:12px;}

@media(max-width:1260px){
  .televendas-workspace{grid-template-columns:minmax(760px,1.8fr) minmax(460px,1fr);}
  .televendas-left .catalogo1-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));}
}


/* Televendas /catalogo-2 - referência João Supermercado: catálogo + chat + pedido fixos */
.televendas-workspace{
  grid-template-columns:minmax(760px,1.55fr) minmax(430px,.9fr) minmax(340px,380px);
  gap:12px;
}
.televendas-center,
.televendas-order-board{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
  border:1px solid #E2E8F0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(62,30,20,.10);
}
.televendas-center{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr)}
.televendas-order-board{display:flex;flex-direction:column;gap:10px;padding:12px;background:#fbfaf9}
.televendas-right{display:none;}
.televendas-left .catalogo1-cart{
  position:static;
  width:100%;
  height:auto;
  max-height:112px;
  transform:none;
  display:block;
  margin:0 8px 8px;
  border-radius:16px;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.televendas-left .catalogo1-cart-head{border-radius:16px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.televendas-left .catalogo1-cart-head h2{font-size:0;margin:0}.televendas-left .catalogo1-cart-head h2::after{content:'Carrinho';font-size:13px}
.televendas-left .catalogo1-cart-head span{font-size:11px}.televendas-left .catalogo1-cart-head b{font-size:15px}
.televendas-left .catalogo1-cart-actions-top,.televendas-left .catalogo1-cart-item,.televendas-left .catalogo1-smart-note,.televendas-left .catalogo1-cart .catalogo-empty{display:none}
.televendas-cart-toggle{display:none}
.televendas-center .atendimento-screen,
.televendas-center .whatsapp-business-redesign{width:100%;height:100%;min-width:0;min-height:0;padding:0;overflow:hidden;border-radius:22px;background:#fff}
.televendas-center .catalogo2-ai-suggestion-top{display:none}
.televendas-center .whatsapp-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:76px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:0;border-radius:22px;background:#fff;box-shadow:none}
.televendas-center .whatsapp-sidebar{grid-column:1;grid-row:1;width:100%;height:76px;display:grid;grid-template-columns:118px minmax(0,1fr);overflow:hidden;border-right:0;border-bottom:1px solid #ead9cf;background:#fff7ed}
.televendas-center .chat-sidebar-top{min-width:0;height:76px;padding:8px;display:grid;align-content:center;overflow:hidden;background:#fff;border-right:1px solid #ead9cf}
.televendas-center .conversation-filter-tabs,.televendas-center .chat-search-box,.televendas-center .chat-new-conversation-box,.televendas-center .sidebar-actions{display:none}
.televendas-center .chat-sidebar-toolbar strong{font-size:13px;color:#251a17}.televendas-center .chat-sidebar-toolbar span{display:block;font-size:10px;color:#806b62}
.televendas-center .chat-conversation-list{min-width:0;height:76px;padding:8px;display:flex;gap:6px;align-items:center;overflow-x:auto;overflow-y:hidden;background:#fff7ed}
.televendas-center .chat-conversation-row{position:relative;flex:0 0 148px;width:148px;height:48px;min-height:48px;max-height:48px;margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #ead9cf}
.televendas-center .whatsapp-conversation-item{width:100%;height:48px;min-height:48px;max-height:48px;padding:6px 22px 6px 7px}.televendas-center .conversation-avatar{width:28px;height:28px;min-width:28px;flex:0 0 28px;font-size:9px;background:linear-gradient(135deg,#7b1f17,#4b120e)}
.televendas-center .chat-conversation-top strong{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.televendas-center .chat-conversation-bottom{display:none}
.televendas-center .whatsapp-main{grid-column:1;grid-row:2;width:100%;min-width:0;min-height:0;display:grid;grid-template-rows:52px minmax(0,1fr) auto;overflow:hidden;background:#fbfaf9}.televendas-center .whatsapp-header{width:100%;min-width:0;height:52px;padding:7px 104px 7px 10px;display:flex;align-items:center;overflow:hidden;background:#fff;border-bottom:1px solid #ead9cf}.televendas-center .whatsapp-messages{width:100%;min-width:0;min-height:0;padding:12px;overflow-y:auto;overflow-x:hidden;background:#fbfaf9}.televendas-center .composer-stack{width:100%;min-width:0;max-width:100%;padding:8px;display:grid;overflow:hidden;background:#fff;border-top:1px solid #ead9cf}.televendas-center .chat-input-row{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto auto;gap:6px;align-items:end}.televendas-center textarea,.televendas-center input{min-width:0;max-width:100%}.televendas-center .whatsapp-assistant-panel,.televendas-center .assistant-panel,.televendas-center .ia-only-panel,.televendas-center .sales-command-panel{display:none}
.televendas-shell.televendas-conversations-open .televendas-center .whatsapp-sidebar{position:absolute;inset:0 0 0 auto;z-index:12;width:min(420px,100%);height:100%;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);border-left:1px solid #ead9cf;border-bottom:0;box-shadow:-24px 0 70px rgba(37,26,23,.20)}
.televendas-shell.televendas-conversations-open .televendas-center .chat-sidebar-top{height:auto;min-height:122px;border-right:0;border-bottom:1px solid #ead9cf;align-content:start}.televendas-shell.televendas-conversations-open .televendas-center .conversation-filter-tabs,.televendas-shell.televendas-conversations-open .televendas-center .chat-search-box,.televendas-shell.televendas-conversations-open .televendas-center .chat-new-conversation-box,.televendas-shell.televendas-conversations-open .televendas-center .sidebar-actions{display:flex}.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-list{height:auto;min-height:0;display:block;overflow-y:auto;overflow-x:hidden}.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-row{width:100%;height:62px;max-height:62px;margin:0 0 8px;flex:none}.televendas-shell.televendas-conversations-open .televendas-center .whatsapp-conversation-item{height:62px;max-height:62px}.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-bottom{display:flex}.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-top strong{max-width:210px;font-size:12px}
.televendas-board-head{padding:14px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0F172A,#1E40AF);display:flex;flex-direction:column;gap:3px}.televendas-board-head span,.televendas-client-card span,.televendas-order-title span,.televendas-insight-card span,.televendas-board-metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;opacity:.72}.televendas-board-head strong{font-size:18px;line-height:1.1}.televendas-board-head small{font-size:11px;color:#ffe4dc}.televendas-client-card,.televendas-order-card,.televendas-insight-card,.televendas-board-metrics>div{background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 8px 18px rgba(62,30,20,.06)}.televendas-client-card{padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.televendas-client-card div{min-width:0;display:flex;flex-direction:column;gap:2px}.televendas-client-card strong{font-size:14px;color:#0F172A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.televendas-client-card small{font-size:11px;color:#806b62}.televendas-client-card button,.televendas-insight-card button{border:1px solid #E2E8F0;background:#EFF6FF;color:#1E40AF;border-radius:11px;height:32px;padding:0 10px;font-size:11px;font-weight:950;cursor:pointer}.televendas-order-card{padding:12px;background:#fffaf0;border-color:#fde68a}.televendas-order-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.televendas-order-title strong{display:block;color:#0F172A;font-size:14px}.televendas-order-title b{color:#1E40AF;font-size:18px}.televendas-order-items{display:flex;flex-direction:column;gap:7px;margin:12px 0}.televendas-order-items div{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:12px;background:#fff;border:1px solid #f3e1b8}.televendas-order-items strong{font-size:12px;color:#251a17}.televendas-order-items span{font-size:11px;color:#64748B;white-space:nowrap}.televendas-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.televendas-order-actions button{border:0;border-radius:12px;height:36px;font-weight:950;cursor:pointer}.televendas-order-actions button:first-child{background:#16a34a;color:#fff}.televendas-order-actions button:last-child{background:#1E40AF;color:#fff}.televendas-insight-card{padding:12px;background:#f0fdf4;border-color:#bbf7d0}.televendas-insight-card strong{display:block;margin:4px 0;color:#14532d;font-size:14px}.televendas-insight-card p{margin:0 0 10px;color:#166534;font-size:12px;line-height:1.38}.televendas-board-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.televendas-board-metrics>div{padding:10px}.televendas-board-metrics strong{display:block;margin-top:3px;font-size:13px;color:#251a17}
@media(max-width:1420px){.televendas-workspace{grid-template-columns:minmax(700px,1.4fr) minmax(390px,.8fr) minmax(310px,340px)}.televendas-left .catalogo1-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr))}.televendas-order-board{padding:10px}}

/* /catalogo-2 - cliente pertence ao quadro de trabalho, não ao filtro do catálogo */
.televendas-shell .televendas-left .catalogo1-client{
  display:none;
}
.televendas-shell .televendas-left .catalogo1-top.compact{
  grid-template-columns:minmax(0,1fr);
  align-items:center;
}
.televendas-client-search-card{
  padding:12px;
  border:1px solid #f3d7b6;
  border-radius:16px;
  background:linear-gradient(180deg,#fff7ed,#fff);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.televendas-client-search-card label{
  display:grid;
  gap:7px;
}
.televendas-client-search-card label > span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  color:#1E40AF;
}
.televendas-client-search-card label > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 76px;
  gap:7px;
}
.televendas-client-search-card input{
  min-width:0;
  height:36px;
  border:1px solid #E2E8F0;
  border-radius:12px;
  padding:0 10px;
  background:#fff;
  color:#0F172A;
  font-size:12px;
  outline:none;
}
.televendas-client-search-card input:focus{
  border-color:#1E40AF;
  box-shadow:0 0 0 3px rgba(123,31,23,.10);
}
.televendas-client-search-card button{
  height:36px;
  border:0;
  border-radius:12px;
  background:#1E40AF;
  color:#fff;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}
.televendas-client-search-card small{
  display:block;
  margin-top:7px;
  color:#64748B;
  font-size:11px;
  line-height:1.35;
}

/* /catalogo-2 - correção de sobreposição no chat central */
.televendas-center .whatsapp-main{
  position:relative;
  height:100%;
  max-height:100%;
}
.televendas-center .whatsapp-header,
.televendas-center .composer-stack{
  position:relative;
  z-index:2;
  flex-shrink:0;
}
.televendas-center .whatsapp-messages{
  position:relative;
  z-index:1;
  height:100%;
  max-height:100%;
  padding-top:14px;
  padding-bottom:16px;
  scroll-padding-top:14px;
  scroll-padding-bottom:16px;
}
.televendas-center .message-bubble,
.televendas-center .whatsapp-message,
.televendas-center .chat-message{
  max-width:min(86%, 420px);
}
.televendas-center .message-row:first-child,
.televendas-center .whatsapp-message-row:first-child,
.televendas-center .chat-message-row:first-child{
  margin-top:4px;
}

/* /catalogo-2 - coordenação final: operação real em 1366x768 */
.televendas-shell{
  background:#f4eee9;
}
.televendas-workspace{
  width:100%;
  max-width:100vw;
  height:100dvh;
  padding:8px;
  gap:8px;
  grid-template-columns:minmax(560px,1.25fr) minmax(390px,.9fr) minmax(286px,320px);
  overflow:hidden;
}
.televendas-left,
.televendas-center,
.televendas-order-board{
  min-width:0;
  min-height:0;
  max-height:calc(100dvh - 16px);
  box-sizing:border-box;
}
.televendas-left .catalogo1-page{
  height:100%;
  overflow:hidden;
}
.televendas-left .catalogo1-top.compact{
  min-height:66px;
  padding:8px 10px;
}
.televendas-left .catalogo1-brand-head h1{
  font-size:18px;
}
.televendas-left .catalogo1-brand-head p{
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:460px;
}
.televendas-left .catalogo1-context,
.televendas-left .catalogo1-ai-strip,
.televendas-left .catalogo1-client-panel{
  display:none;
}
.televendas-left .catalogo1-layout{
  height:calc(100% - 74px);
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  overflow:hidden;
}
.televendas-left .catalogo1-layout > section{
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.televendas-left .catalogo1-search{
  position:sticky;
  top:0;
  z-index:4;
  padding:8px;
  margin:0 8px 8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
.televendas-left .catalogo1-search input{
  height:38px;
}
.televendas-left .catalogo1-search > span,
.televendas-left .catalogo1-shortcuts{
  display:none;
}
.televendas-left .catalogo1-quick-filters{
  grid-column:1 / -1;
  display:flex;
  gap:5px;
  overflow-x:auto;
  padding-bottom:1px;
}
.televendas-left .catalogo1-quick-filters button{
  flex:0 0 auto;
  height:28px;
  padding:0 9px;
  font-size:11px;
}
.televendas-left .catalogo1-grid{
  min-height:0;
  overflow-y:auto;
  padding:0 8px 120px;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:8px;
}
.televendas-left .catalogo1-card{
  min-height:188px;
  padding:8px;
  gap:5px;
}
.televendas-left .catalogo1-photo{
  height:58px;
}
.televendas-left .catalogo1-card h2{
  font-size:12px;
  line-height:1.2;
  min-height:30px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.televendas-left .catalogo1-card small,
.televendas-left .catalogo1-badges span{
  font-size:10px;
}
.televendas-left .catalogo1-card-actions{
  gap:5px;
}
.televendas-left .catalogo1-card-actions button{
  height:30px;
  font-size:11px;
}
.televendas-left .catalogo1-cart{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  width:auto;
  max-height:76px;
  margin:0;
  z-index:8;
  backdrop-filter:blur(10px);
}
.televendas-left .catalogo1-cart-head{
  padding:8px 10px;
}
.televendas-left .catalogo1-cart-head b{
  font-size:16px;
}
.televendas-center .whatsapp-shell{
  grid-template-rows:50px minmax(0,1fr);
}
.televendas-center .whatsapp-sidebar{
  height:50px;
  grid-template-columns:94px minmax(0,1fr);
}
.televendas-center .chat-sidebar-top{
  height:50px;
  padding:6px;
}
.televendas-center .chat-sidebar-toolbar strong{
  font-size:11px;
}
.televendas-center .chat-sidebar-toolbar span{
  display:none;
}
.televendas-center .chat-conversation-list{
  height:50px;
  padding:6px 86px 6px 6px;
}
.televendas-center .chat-conversation-row,
.televendas-center .whatsapp-conversation-item{
  height:36px;
  min-height:36px;
  max-height:36px;
}
.televendas-center .chat-conversation-row{
  flex-basis:118px;
  width:118px;
}
.televendas-center .conversation-avatar{
  width:24px;
  height:24px;
  min-width:24px;
  flex-basis:24px;
}
.televendas-center .whatsapp-main{
  grid-template-rows:48px minmax(0,1fr) auto;
}
.televendas-center .whatsapp-header{
  height:48px;
  padding:6px 96px 6px 9px;
}
.televendas-center .whatsapp-messages{
  padding:10px 10px 12px;
}
.televendas-center .composer-stack{
  padding:7px;
}
.televendas-center .chat-input-row{
  gap:5px;
}
.televendas-conversation-toggle{
  top:8px;
  right:8px;
  height:32px;
  padding:0 10px;
  z-index:20;
}
.televendas-order-board{
  padding:8px;
  gap:8px;
  overflow-y:auto;
  overflow-x:hidden;
}
.televendas-board-head{
  padding:11px;
  border-radius:16px;
}
.televendas-board-head strong{
  font-size:16px;
}
.televendas-board-head small{
  font-size:10px;
  line-height:1.25;
}
.televendas-client-search-card,
.televendas-client-card,
.televendas-order-card,
.televendas-insight-card{
  border-radius:14px;
  padding:10px;
}
.televendas-client-search-card small{
  display:none;
}
.televendas-client-search-card label > div{
  grid-template-columns:minmax(0,1fr) 64px;
}
.televendas-client-search-card input,
.televendas-client-search-card button{
  height:34px;
}
.televendas-client-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}
.televendas-client-card strong{
  font-size:13px;
}
.televendas-client-card small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.televendas-order-title b{
  font-size:17px;
}
.televendas-order-items{
  max-height:150px;
  overflow-y:auto;
  margin:10px 0;
}
.televendas-order-items div{
  padding:7px;
}
.televendas-order-actions{
  grid-template-columns:1.35fr .65fr;
}
.televendas-copy-order{
  width:100%;
  height:34px;
  margin-top:7px;
  border:1px solid #E2E8F0;
  border-radius:12px;
  background:#fff;
  color:#1E40AF;
  font-weight:950;
  cursor:pointer;
}
.televendas-insight-card{
  background:#f8fff9;
}
.televendas-insight-card summary{
  list-style:none;
  cursor:pointer;
}
.televendas-insight-card summary::-webkit-details-marker{
  display:none;
}
.televendas-insight-card summary strong{
  display:block;
  margin-top:3px;
}
.televendas-insight-card:not([open]) p,
.televendas-insight-card:not([open]) button{
  display:none;
}
.televendas-board-metrics{
  display:none;
}
@media(max-width:1366px){
  .televendas-workspace{
    grid-template-columns:minmax(520px,1.15fr) minmax(372px,.9fr) minmax(274px,300px);
    gap:6px;
    padding:6px;
  }
  .televendas-left,.televendas-center,.televendas-order-board{
    max-height:calc(100dvh - 12px);
    border-radius:18px;
  }
  .televendas-left .catalogo1-grid{
    grid-template-columns:repeat(auto-fill,minmax(122px,1fr));
    gap:7px;
  }
  .televendas-left .catalogo1-photo{height:50px;}
  .televendas-left .catalogo1-card{min-height:176px;}
  .televendas-order-board{padding:7px;gap:7px;}
}

/* /catalogo-2 - QA 1366: carrinho não cobre produtos e cards não estouram */
.televendas-left .catalogo1-grid{
  padding-bottom:96px;
}
.televendas-left .catalogo1-cart{
  max-height:64px;
}
.televendas-left .catalogo1-card{
  overflow:hidden;
}
.televendas-left .catalogo1-badges{
  min-width:0;
  overflow:hidden;
}
.televendas-left .catalogo1-badges span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.televendas-left .catalogo1-card > strong,
.televendas-left .catalogo1-card small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.televendas-left .catalogo1-card-actions{
  min-width:0;
}
.televendas-left .catalogo1-card-actions button{
  min-width:0;
  padding:0 4px;
  overflow:hidden;
}
@media(max-width:1366px){
  .televendas-left .catalogo1-grid{
    padding-bottom:88px;
    grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  }
  .televendas-left .catalogo1-card{
    min-height:164px;
    padding:7px;
  }
  .televendas-left .catalogo1-badges span:nth-child(2){
    display:none;
  }
  .televendas-left .catalogo1-card h2{
    font-size:11px;
    min-height:28px;
  }
  .televendas-left .catalogo1-card-actions button{
    height:28px;
    font-size:10px;
  }
}

/* /catalogo-2 - carrinho acessível sem sobrepor produtos */
.televendas-left .catalogo1-layout{
  grid-template-rows:minmax(0,1fr) auto;
}
.televendas-left .catalogo1-cart{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  width:auto;
  max-height:62px;
  margin:0 8px 8px;
  z-index:auto;
}
.televendas-left .catalogo1-grid{
  padding-bottom:10px;
}
@media(max-width:1366px){
  .televendas-left .catalogo1-grid{
    padding-bottom:8px;
  }
  .televendas-left .catalogo1-cart{
    max-height:58px;
    margin:0 7px 7px;
  }
}

/* /catalogo-2 - busca real de cliente no quadro direito */
.televendas-client-results{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:8px;
  max-height:150px;
  overflow-y:auto;
}
.televendas-client-results button{
  height:auto;
  min-height:42px;
  padding:7px 8px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  border:1px solid #E2E8F0;
  border-radius:11px;
  background:#fff;
  color:#0F172A;
  text-align:left;
}
.televendas-client-results button strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.televendas-client-results button span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#64748B;
  font-size:10px;
}
@media(max-width:1366px){
  .televendas-workspace{height:100vh;max-height:768px;}
  .televendas-order-board{max-height:calc(100vh - 14px);padding:6px;gap:6px;}
  .televendas-board-head{padding:9px;}
  .televendas-client-search-card,.televendas-client-card,.televendas-order-card,.televendas-insight-card{padding:8px;}
  .televendas-client-results{max-height:108px;}
  .televendas-order-items{max-height:118px;margin:8px 0;}
}

/* /catalogo-2 - refinamento modelo referência: 3 zonas dentro da viewport */
.televendas-shell{padding:0;}
.televendas-workspace{height:100vh;max-height:100vh;padding:6px;gap:6px;grid-template-columns:minmax(520px,1.2fr) minmax(390px,.9fr) minmax(286px,300px);}
.televendas-left,.televendas-center,.televendas-order-board{height:calc(100vh - 12px);max-height:calc(100vh - 12px);}
.televendas-left .catalogo1-top.compact{min-height:56px;height:56px;padding:6px 8px;grid-template-columns:minmax(0,1fr);}
.televendas-left .catalogo1-brand-head{height:44px;padding:5px 8px;}
.televendas-left .catalogo1-brand-head h1{font-size:15px;line-height:17px;}
.televendas-left .catalogo1-brand-head p{font-size:10px;line-height:12px;}
.televendas-left .catalogo1-client{display:none!important;}
.televendas-left .catalogo1-layout{height:calc(100% - 56px);margin:0 6px 6px;grid-template-rows:minmax(0,1fr) auto;}
.televendas-left .catalogo1-layout > section{grid-template-rows:auto minmax(0,1fr);}
.televendas-left .catalogo1-search{margin:0 0 6px;padding:6px;grid-template-columns:minmax(0,1fr);}
.televendas-left .catalogo1-search input{height:34px;font-size:12px;}
.televendas-left .catalogo1-search .catalogo1-clear-search{position:absolute;right:10px;top:10px;height:26px;}
.televendas-left .catalogo1-quick-filters button{height:25px;font-size:10px;padding:0 8px;}
.televendas-left .catalogo1-grid{padding:0 1px 6px;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;}
.televendas-left .catalogo1-card{height:158px;min-height:158px;max-height:158px;padding:6px;gap:4px;grid-template-rows:44px 18px 28px 13px 20px 24px;}
.televendas-left .catalogo1-photo{height:44px;min-height:44px;max-height:44px;}
.televendas-left .catalogo1-badges{height:18px;}
.televendas-left .catalogo1-badges span{font-size:9px;padding:0 5px;height:17px;}
.televendas-left .catalogo1-card h2{font-size:10px;line-height:14px;min-height:28px;max-height:28px;}
.televendas-left .catalogo1-card small{font-size:8.5px;height:13px;line-height:13px;}
.televendas-left .catalogo1-card > strong,.televendas-left .catalogo1-promo-price,.televendas-left .catalogo1-promo-price strong{height:20px;line-height:20px;font-size:12px;}
.televendas-left .catalogo1-card-actions button{height:24px;font-size:9px;border-radius:8px;}
.televendas-left .catalogo1-cart{position:static;width:auto;max-height:54px;margin:0;border-radius:14px;box-shadow:0 6px 16px rgba(62,30,20,.08);}
.televendas-left .catalogo1-cart-head{padding:6px 8px;}
.televendas-left .catalogo1-cart-head span{font-size:10px;}.televendas-left .catalogo1-cart-head b{font-size:14px;}
.televendas-center .whatsapp-shell{grid-template-rows:46px minmax(0,1fr);}
.televendas-center .whatsapp-sidebar{height:46px;grid-template-columns:86px minmax(0,1fr);}
.televendas-center .chat-sidebar-top{height:46px;padding:5px;}
.televendas-center .chat-conversation-list{height:46px;padding:5px 82px 5px 5px;}
.televendas-center .chat-conversation-row,.televendas-center .whatsapp-conversation-item{height:34px;min-height:34px;max-height:34px;}
.televendas-center .whatsapp-main{grid-template-rows:44px minmax(0,1fr) auto;}
.televendas-center .whatsapp-header{height:44px;padding:5px 90px 5px 8px;}
.televendas-center .whatsapp-messages{padding:8px;}
.televendas-center .composer-stack{padding:6px;}
.televendas-order-board{padding:6px;gap:6px;overflow:hidden;}
.televendas-board-head{padding:8px;border-radius:14px;}
.televendas-board-head strong{font-size:15px;}.televendas-board-head small{font-size:9.5px;}
.televendas-client-search-card,.televendas-client-card,.televendas-order-card,.televendas-insight-card{padding:8px;border-radius:13px;}
.televendas-client-search-card input,.televendas-client-search-card button{height:32px;font-size:11px;}
.televendas-client-results{max-height:94px;}
.televendas-client-card strong{font-size:12px;}.televendas-client-card small{font-size:10px;}
.televendas-order-items{max-height:128px;margin:7px 0;}
.televendas-order-items p{margin:0;color:#64748B;font-size:11px;line-height:1.35;}
.televendas-order-items div{padding:6px;}
.televendas-order-actions a,.televendas-order-actions button,.televendas-copy-order{height:32px;font-size:11px;}
.televendas-order-actions a.disabled{pointer-events:none;opacity:.45;}
.televendas-insight-card{font-size:11px;}
@media(max-width:1366px){
  .televendas-workspace{grid-template-columns:minmax(560px,1.22fr) minmax(445px,.98fr) 300px;}
  .televendas-left .catalogo1-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));}
}

/* /catalogo-2 - correção de cascata final: remover herança de grids antigos */
.televendas-left .catalogo1-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;width:auto!important;height:calc(100% - 56px)!important;}
.televendas-left .catalogo1-layout > section{width:100%!important;height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;}
.televendas-left .catalogo1-search{width:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
.televendas-left .catalogo1-grid{width:100%!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(112px,1fr))!important;grid-auto-rows:158px!important;overflow-y:auto!important;}
.televendas-left .catalogo1-cart{width:auto!important;height:auto!important;overflow:hidden!important;}
.televendas-center .whatsapp-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:46px minmax(0,1fr)!important;width:100%!important;height:100%!important;}
.televendas-center .whatsapp-sidebar{grid-column:1!important;grid-row:1!important;width:100%!important;height:46px!important;display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;}
.televendas-center .whatsapp-main{grid-column:1!important;grid-row:2!important;width:100%!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:44px minmax(0,1fr) auto!important;}
.televendas-center .whatsapp-messages{width:100%!important;height:auto!important;min-height:0!important;}
.televendas-center .whatsapp-assistant-panel,.televendas-center .assistant-panel,.televendas-center .ia-only-panel,.televendas-center .sales-command-panel{display:none!important;}

/* /catalogo-2 - estabilidade clique cards e chat largura cheia */
.televendas-left .catalogo1-card{position:relative;pointer-events:auto;}
.televendas-left .catalogo1-card-actions{position:relative;z-index:3;pointer-events:auto;}
.televendas-left .catalogo1-card-actions button{position:relative;z-index:4;pointer-events:auto;}
.televendas-center .whatsapp-shell > *{min-width:0!important;max-width:100%!important;}
.televendas-center .whatsapp-main{justify-self:stretch!important;align-self:stretch!important;}
.televendas-center .whatsapp-header,.televendas-center .whatsapp-messages,.televendas-center .composer-stack{grid-column:1!important;width:100%!important;max-width:100%!important;}

/* /catalogo-2 - vencer estilos do atendimento-vendas dentro do embed */
.televendas-center .atendimento-vendas-main .assistant-panel.whatsapp-assistant-panel,
.televendas-center .whatsapp-business-redesign .assistant-panel.whatsapp-assistant-panel,
.televendas-center aside.assistant-panel.whatsapp-assistant-panel.ia-only-panel.sales-command-panel{display:none!important;width:0!important;height:0!important;min-width:0!important;overflow:hidden!important;}
.televendas-center .atendimento-vendas-main .whatsapp-shell,
.televendas-center .whatsapp-business-redesign .whatsapp-shell,
.televendas-center .whatsapp-shell.chat-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:46px minmax(0,1fr)!important;width:100%!important;height:100%!important;}
.televendas-center .atendimento-vendas-main .whatsapp-main,
.televendas-center .whatsapp-business-redesign .whatsapp-main,
.televendas-center .chat-main.whatsapp-main{grid-column:1!important;grid-row:2!important;width:100%!important;height:100%!important;}

/* /catalogo-2 - atendimento ocupa altura inteira da coluna central */
.televendas-center .atendimento-app-shell,
.televendas-center .atendimento-vendas-shell,
.televendas-center .atendimento-app-main,
.televendas-center .atendimento-vendas-main,
.televendas-center .atendimento-screen,
.televendas-center .whatsapp-business-redesign{height:100%!important;min-height:0!important;max-height:100%!important;display:block!important;overflow:hidden!important;}
.televendas-center .whatsapp-shell{height:100%!important;min-height:0!important;}

/* /catalogo-2 - reconstrução da coluna central: botão flutuante não pode virar célula do grid */
.televendas-center{display:block!important;position:relative!important;padding:0!important;}
.televendas-center > .atendimento-screen,
.televendas-center > .whatsapp-business-redesign{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;}
.televendas-center .screen-block{padding:0!important;}
.televendas-center .whatsapp-shell{position:absolute!important;inset:0!important;border-radius:18px!important;}
.televendas-center .whatsapp-sidebar{position:relative!important;}
.televendas-center .whatsapp-main{min-height:0!important;overflow:hidden!important;}
.televendas-center .composer-stack{min-height:54px!important;}
.televendas-center .whatsapp-input-row textarea{min-height:36px!important;max-height:74px!important;}

/* /catalogo-2 - QA visual: chat central funcional e composer legível */
.televendas-center .whatsapp-shell.chat-layout,
.televendas-center .whatsapp-shell{
  grid-template-rows:112px minmax(0,1fr)!important;
  gap:0!important;
}
.televendas-center .whatsapp-sidebar,
.televendas-center .chat-sidebar.whatsapp-sidebar{
  height:112px!important;
  min-height:112px!important;
  grid-template-columns:1fr!important;
  grid-template-rows:34px minmax(0,1fr)!important;
  padding:0!important;
  overflow:hidden!important;
}
.televendas-center .chat-sidebar-top{
  height:34px!important;
  min-height:34px!important;
  padding:5px 86px 5px 8px!important;
  border-right:0!important;
  border-bottom:1px solid #ead9cf!important;
  display:flex!important;
  align-items:center!important;
}
.televendas-center .chat-sidebar-toolbar{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;}
.televendas-center .chat-sidebar-toolbar strong{font-size:12px!important;white-space:nowrap!important;}
.televendas-center .chat-sidebar-toolbar span{display:block!important;font-size:9px!important;white-space:nowrap!important;}
.televendas-center .chat-conversation-list{
  height:78px!important;
  min-height:78px!important;
  padding:6px!important;
  display:flex!important;
  gap:6px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.televendas-center .chat-conversation-row,
.televendas-center .whatsapp-conversation-item{
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
}
.televendas-center .chat-conversation-row{flex:0 0 168px!important;width:168px!important;}
.televendas-center .chat-conversation-bottom{display:flex!important;}
.televendas-center .chat-conversation-top strong{max-width:86px!important;font-size:11px!important;}
.televendas-center .whatsapp-main,
.televendas-center .chat-main.whatsapp-main{
  grid-row:2!important;
  grid-template-rows:48px minmax(0,1fr) 64px!important;
  height:100%!important;
  min-height:0!important;
}
.televendas-center .whatsapp-header{height:48px!important;min-height:48px!important;padding:6px 10px!important;}
.televendas-center .whatsapp-header::after{display:none!important;}
.televendas-center .whatsapp-messages{min-height:0!important;height:auto!important;padding:10px 12px!important;}
.televendas-center .composer-stack{
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  padding:7px!important;
  overflow:hidden!important;
}
.televendas-center .chat-input-row,
.televendas-center .whatsapp-input-row{
  width:100%!important;
  height:50px!important;
  display:grid!important;
  grid-template-columns:30px 30px 30px minmax(180px,1fr) 30px 36px!important;
  gap:5px!important;
  align-items:center!important;
}
.televendas-center .chat-input-row textarea,
.televendas-center .whatsapp-input-row textarea{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:10px 12px!important;
  border-radius:20px!important;
  resize:none!important;
  box-sizing:border-box!important;
}
.televendas-center .composer-side-btn,
.televendas-center .send-icon-btn{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;}
.televendas-center .send-icon-btn{width:36px!important;min-width:36px!important;}
.televendas-conversation-toggle{top:9px!important;right:9px!important;height:26px!important;z-index:35!important;font-size:10px!important;padding:0 8px!important;}
.televendas-order-board{overflow-y:auto!important;overflow-x:hidden!important;}
.televendas-left .catalogo1-layout{grid-template-rows:minmax(0,1fr) 64px!important;}
.televendas-left .catalogo1-grid{padding-bottom:12px!important;}
.televendas-left .catalogo1-cart{height:58px!important;max-height:58px!important;}

/* /catalogo-2 - input file oculto não entra no grid do composer */
.televendas-center .chat-input-row .hidden-attachment-input,
.televendas-center .whatsapp-input-row .hidden-attachment-input{display:none!important;position:absolute!important;width:0!important;height:0!important;min-width:0!important;padding:0!important;border:0!important;opacity:0!important;}
.televendas-center .chat-input-row textarea,
.televendas-center .whatsapp-input-row textarea{grid-column:4!important;}

/* /catalogo-2 - QA final: cards, imagens e botões sem sobreposição */
.televendas-left .catalogo1-grid{
  grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;
  grid-auto-rows:186px!important;
  gap:8px!important;
}
.televendas-left .catalogo1-card{
  height:186px!important;
  min-height:186px!important;
  max-height:186px!important;
  grid-template-rows:56px 18px 34px 14px 22px 28px!important;
  gap:5px!important;
  align-content:start!important;
}
.televendas-left .catalogo1-photo{
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
}
.televendas-left .catalogo1-photo img,
.televendas-left .catalogo1-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.televendas-left .catalogo1-card h2{
  min-height:34px!important;
  max-height:34px!important;
  font-size:11px!important;
  line-height:17px!important;
}
.televendas-left .catalogo1-card-actions{
  align-self:end!important;
}
.televendas-left .catalogo1-card-actions button{
  height:28px!important;
  min-height:28px!important;
  line-height:1!important;
}
.televendas-center .whatsapp-main,
.televendas-center .chat-main.whatsapp-main{
  grid-template-rows:48px minmax(0,1fr) 78px!important;
}
.televendas-center .composer-stack{
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  overflow:hidden!important;
}
.televendas-center .chat-input-row,
.televendas-center .whatsapp-input-row{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  align-items:center!important;
}
.televendas-center .chat-input-row textarea,
.televendas-center .whatsapp-input-row textarea{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
}
.televendas-order-actions a,
.televendas-order-actions button,
.televendas-copy-order{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  border:0!important;
  border-radius:12px!important;
  height:34px!important;
  font-size:11px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.televendas-order-actions a{background:#16a34a!important;color:#fff!important;}
.televendas-order-actions button{background:#7b1f17!important;color:#fff!important;}
.televendas-order-actions a.disabled,
.televendas-order-actions button:disabled,
.televendas-copy-order:disabled{opacity:.45!important;pointer-events:none!important;}
@media(max-width:1366px){
  .televendas-left .catalogo1-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))!important;grid-auto-rows:186px!important;}
}

/* /catalogo-2 - etapa 2: três blocos fixos e legíveis */
.televendas-workspace{
  grid-template-columns:minmax(500px,42%) minmax(390px,34%) minmax(300px,24%)!important;
}
.televendas-left .catalogo1-layout{
  grid-template-rows:minmax(0,1fr) 104px!important;
}
.televendas-left .catalogo1-cart{
  height:98px!important;
  max-height:98px!important;
  border:2px solid #7b1f17!important;
  box-shadow:0 12px 28px rgba(123,31,23,.16)!important;
}
.televendas-left .catalogo1-cart-head{
  height:54px!important;
  min-height:54px!important;
  padding:9px 12px!important;
}
.televendas-left .catalogo1-cart-actions-top{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:7px 10px 9px!important;
  background:#fffaf0!important;
}
.televendas-left .catalogo1-cart-actions-top .catalogo1-finish,
.televendas-left .catalogo1-cart-actions-top .catalogo1-whatsapp{
  display:inline-flex!important;
  height:30px!important;
  min-height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.televendas-left .catalogo1-cart-actions-top .catalogo1-finish{background:#7b1f17!important;color:#fff!important;border:0!important;}
.televendas-left .catalogo1-cart-actions-top .catalogo1-whatsapp{background:#16a34a!important;color:#fff!important;}
.televendas-left .catalogo1-grid{
  padding-bottom:8px!important;
}
.televendas-left .catalogo1-card{
  border-color:#e8d4c4!important;
}
.televendas-left .catalogo1-card-actions button:first-child::after{content:' Adicionar';}
.televendas-left .catalogo1-card-actions button:last-child::after{content:' Adicionar';}
.televendas-center .whatsapp-shell.chat-layout,
.televendas-center .whatsapp-shell{
  position:static!important;
  inset:auto!important;
  height:100%!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:132px minmax(0,1fr)!important;
}
.televendas-center .whatsapp-sidebar,
.televendas-center .chat-sidebar.whatsapp-sidebar{
  position:relative!important;
  z-index:3!important;
  height:132px!important;
  min-height:132px!important;
  transform:none!important;
  box-shadow:none!important;
  border-bottom:1px solid #ead9cf!important;
}
.televendas-shell.televendas-conversations-open .televendas-center .whatsapp-sidebar{
  position:absolute!important;
  z-index:80!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100%!important;
  height:74%!important;
  min-height:420px!important;
  grid-template-rows:96px minmax(0,1fr)!important;
  border:2px solid #7b1f17!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 28px 90px rgba(37,26,23,.35)!important;
}
.televendas-shell.televendas-conversations-open .televendas-center .chat-sidebar-top{
  height:96px!important;
  min-height:96px!important;
  display:grid!important;
  align-content:start!important;
  padding:12px!important;
}
.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-list{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  padding:10px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.televendas-shell.televendas-conversations-open .televendas-center .chat-conversation-row,
.televendas-shell.televendas-conversations-open .televendas-center .whatsapp-conversation-item{
  width:100%!important;
  height:66px!important;
  min-height:66px!important;
  max-height:66px!important;
  flex:none!important;
}
.televendas-shell.televendas-conversations-open .televendas-center::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:70;
  background:rgba(37,26,23,.24);
  border-radius:18px;
}
.televendas-conversation-toggle{z-index:90!important;background:#7b1f17!important;color:#fff!important;border-color:#7b1f17!important;}
.televendas-client-search-card{position:relative!important;overflow:visible!important;}
.televendas-client-results{max-height:210px!important;border:1px solid #ead9cf!important;border-radius:12px!important;background:#fff!important;padding:6px!important;box-shadow:0 12px 30px rgba(62,30,20,.14)!important;}
.televendas-client-card,.televendas-order-card{border-width:2px!important;}
@media(max-width:1100px){
  .televendas-shell{height:auto!important;min-height:100vh!important;overflow:auto!important;}
  .televendas-workspace{height:auto!important;max-height:none!important;grid-template-columns:1fr!important;grid-auto-rows:auto!important;overflow:visible!important;}
  .televendas-left,.televendas-center,.televendas-order-board{height:auto!important;max-height:none!important;min-height:520px!important;overflow:hidden!important;}
  .televendas-center{min-height:620px!important;}
  .televendas-order-board{min-height:auto!important;overflow:visible!important;}
}

/* /catalogo-2 - reset operacional: catálogo + carrinho lateral + conversa estável */
.televendas-workspace{
  grid-template-columns:minmax(620px,56%) minmax(0,44%)!important;
  gap:8px!important;
  padding:8px!important;
  height:100vh!important;
  max-height:100vh!important;
}
.televendas-order-board{display:none!important;}
.televendas-left .catalogo1-layout{
  height:calc(100% - 56px)!important;
  margin:0 6px 6px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 238px!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:8px!important;
}
.televendas-left .catalogo1-layout > section{
  grid-column:1!important;
  min-width:0!important;
  height:100%!important;
}
.televendas-left .catalogo1-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:206px!important;
  gap:8px!important;
  padding:0 2px 8px!important;
}
.televendas-left .catalogo1-card{
  height:206px!important;
  min-height:206px!important;
  max-height:206px!important;
  grid-template-rows:64px 20px 38px 15px 24px 30px!important;
  padding:7px!important;
  gap:5px!important;
}
.televendas-left .catalogo1-photo{height:64px!important;min-height:64px!important;max-height:64px!important;}
.televendas-left .catalogo1-card h2{font-size:11px!important;line-height:19px!important;min-height:38px!important;max-height:38px!important;}
.televendas-left .catalogo1-card-actions button{height:30px!important;font-size:10px!important;}
.televendas-left .catalogo1-cart{
  grid-column:2!important;
  grid-row:1!important;
  position:relative!important;
  align-self:stretch!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  border:2px solid #7b1f17!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(123,31,23,.13)!important;
}
.televendas-left .catalogo1-cart-head{height:auto!important;min-height:64px!important;padding:10px!important;}
.televendas-left .catalogo1-cart-actions-top{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;border-bottom:1px solid #ead9cf!important;}
.televendas-left .catalogo1-cart > :not(.catalogo1-cart-head):not(.catalogo1-cart-actions-top){overflow-y:auto!important;}
.televendas-left .catalogo1-cart-item{padding:8px!important;border-bottom:1px solid #f1e3d8!important;}
.televendas-left .catalogo1-cart-item > div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
.televendas-left .catalogo1-cart-item input{width:100%!important;min-width:0!important;}
.televendas-left .catalogo1-cart-item button{grid-column:1 / -1!important;height:28px!important;}
.televendas-left .catalogo-empty{padding:12px!important;}
.televendas-center .whatsapp-shell.chat-layout,
.televendas-center .whatsapp-shell{
  position:static!important;
  inset:auto!important;
  height:100%!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(160px,34%) minmax(0,66%)!important;
  grid-template-rows:minmax(0,1fr)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.televendas-center .whatsapp-sidebar,
.televendas-center .chat-sidebar.whatsapp-sidebar{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  border-right:1px solid #ead9cf!important;
  border-bottom:0!important;
  background:#fff7ed!important;
}
.televendas-center .chat-sidebar-top{height:auto!important;min-height:86px!important;padding:8px!important;display:block!important;}
.televendas-center .chat-conversation-list{height:auto!important;min-height:0!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px!important;}
.televendas-center .chat-conversation-row,
.televendas-center .whatsapp-conversation-item{width:100%!important;height:58px!important;min-height:58px!important;max-height:58px!important;flex:none!important;margin:0 0 7px!important;}
.televendas-center .whatsapp-main,
.televendas-center .chat-main.whatsapp-main{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:52px minmax(0,1fr) 76px!important;
}
.televendas-center .whatsapp-header{height:52px!important;min-height:52px!important;padding:8px 10px!important;}
.televendas-center .whatsapp-messages{min-height:0!important;overflow-y:auto!important;padding:12px!important;}
.televendas-center .composer-stack{height:76px!important;min-height:76px!important;max-height:76px!important;padding:8px!important;}
.televendas-center .chat-input-row,
.televendas-center .whatsapp-input-row{height:58px!important;grid-template-columns:30px 30px 30px minmax(0,1fr) 30px 38px!important;gap:5px!important;}
.televendas-center .chat-input-row textarea,
.televendas-center .whatsapp-input-row textarea{height:44px!important;min-height:44px!important;max-height:44px!important;}
.televendas-conversation-toggle{display:none!important;}
@media(max-width:1366px){
  .televendas-workspace{grid-template-columns:minmax(590px,55%) minmax(0,45%)!important;gap:6px!important;padding:6px!important;}
  .televendas-left .catalogo1-layout{grid-template-columns:minmax(0,1fr) 220px!important;gap:6px!important;}
  .televendas-left .catalogo1-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:198px!important;gap:7px!important;}
  .televendas-left .catalogo1-card{height:198px!important;min-height:198px!important;max-height:198px!important;grid-template-rows:58px 18px 36px 14px 22px 28px!important;}
  .televendas-left .catalogo1-photo{height:58px!important;min-height:58px!important;max-height:58px!important;}
  .televendas-center .whatsapp-shell.chat-layout,.televendas-center .whatsapp-shell{grid-template-columns:150px minmax(0,1fr)!important;}
}

/* /catalogo-2 - mostrar controles de quantidade dentro dos cards */
.televendas-left .catalogo1-card{
  position:relative!important;
  padding-bottom:43px!important;
  display:block!important;
  height:216px!important;
  min-height:216px!important;
  max-height:216px!important;
}
.televendas-left .catalogo1-photo{
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  margin-bottom:5px!important;
}
.televendas-left .catalogo1-badges{
  height:20px!important;
  margin-bottom:4px!important;
  display:flex!important;
  gap:4px!important;
  overflow:hidden!important;
}
.televendas-left .catalogo1-card h2{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0 0 3px!important;
  overflow:hidden!important;
}
.televendas-left .catalogo1-card small{
  display:block!important;
  height:15px!important;
  line-height:15px!important;
  margin:0 0 3px!important;
}
.televendas-left .catalogo1-card > strong,
.televendas-left .catalogo1-promo-price,
.televendas-left .catalogo1-promo-price strong{
  display:block!important;
  height:22px!important;
  line-height:22px!important;
  margin:0!important;
}
.televendas-left .catalogo1-card-actions{
  position:absolute!important;
  left:7px!important;
  right:7px!important;
  bottom:7px!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  height:32px!important;
  min-height:32px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.televendas-left .catalogo1-card-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 4px!important;
  border-radius:9px!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.televendas-left .catalogo1-card-actions button:first-child{background:#7b1f17!important;color:#fff!important;border:1px solid #7b1f17!important;}
.televendas-left .catalogo1-card-actions button:last-child{background:#fff7ed!important;color:#7b1f17!important;border:1px solid #ead9cf!important;}
.televendas-left .catalogo1-card-actions button:first-child::after,
.televendas-left .catalogo1-card-actions button:last-child::after{content:''!important;}
@media(max-width:1366px){
  .televendas-left .catalogo1-grid{grid-auto-rows:216px!important;}
  .televendas-left .catalogo1-card{height:216px!important;min-height:216px!important;max-height:216px!important;}
}

/* /catalogo-2 - referência visual supermercado/televendas */
.catalogo2-reference.televendas-shell{
  padding:0!important;
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  background:#eef2f4!important;
  color:#172026!important;
}
.catalogo2-reference .televendas-workspace{
  height:100vh!important;
  max-height:100vh!important;
  width:100vw!important;
  padding:12px!important;
  gap:12px!important;
  display:grid!important;
  grid-template-columns:72px minmax(500px,1.22fr) minmax(360px,.86fr) minmax(280px,.62fr)!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-side-nav{
  min-width:0;
  min-height:0;
  height:calc(100vh - 24px);
  border-radius:24px;
  background:linear-gradient(180deg,#0F172A,#1E40AF);
  box-shadow:0 18px 46px rgba(30,64,175,.22);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:12px 8px;
  color:#fff;
}
.catalogo2-reference .televendas-nav-logo{
  width:46px;
  height:46px;
  border-radius:16px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  margin-bottom:8px;
}
.catalogo2-reference .televendas-nav-logo img{width:100%;height:100%;object-fit:contain;}
.catalogo2-reference .televendas-side-nav button{
  width:54px;
  min-height:54px;
  border:0;
  border-radius:17px;
  background:rgba(255,255,255,.10);
  color:#DBEAFE;
  display:grid;
  place-items:center;
  gap:2px;
  font-size:18px;
  cursor:pointer;
}
.catalogo2-reference .televendas-side-nav button span{font-size:8px;font-weight:900;line-height:1;color:inherit;}
.catalogo2-reference .televendas-side-nav button.active{background:#fff;color:#1E40AF;box-shadow:0 10px 22px rgba(15,23,42,.16);}
.catalogo2-reference .televendas-nav-user{margin-top:auto;width:42px;height:42px;border-radius:50%;background:#f59e0b;color:#fff;display:grid;place-items:center;font-weight:950;}
.catalogo2-reference .televendas-left,
.catalogo2-reference .televendas-center,
.catalogo2-reference .televendas-order-board{
  height:calc(100vh - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  min-height:0!important;
  border:0!important;
  border-radius:26px!important;
  box-shadow:0 18px 48px rgba(15,23,42,.10)!important;
  background:#fff!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left .catalogo1-page{background:#fff!important;height:100%!important;grid-template-rows:76px minmax(0,1fr)!important;}
.catalogo2-reference .televendas-left .catalogo1-top.compact{
  height:76px!important;
  min-height:76px!important;
  padding:12px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #edf0f2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head{
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.catalogo2-reference .televendas-left .catalogo1-logo{width:108px!important;height:42px!important;background:#fff!important;border:1px solid #f1e8e0!important;}
.catalogo2-reference .televendas-left .catalogo1-brand-head h1{font-size:20px!important;line-height:24px!important;color:#172026!important;}
.catalogo2-reference .televendas-left .catalogo1-brand-head p{font-size:12px!important;color:#68737d!important;max-width:none!important;}
.catalogo2-reference .televendas-left .catalogo1-client,
.catalogo2-reference .televendas-left .catalogo1-context,
.catalogo2-reference .televendas-left .catalogo1-ai-strip,
.catalogo2-reference .televendas-left .catalogo1-client-panel{display:none!important;}
.catalogo2-reference .televendas-left .catalogo1-layout{
  height:calc(100% - 76px)!important;
  margin:0!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-left .catalogo1-layout > section{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;}
.catalogo2-reference .televendas-left .catalogo1-search{
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-left .catalogo1-search input{
  height:46px!important;
  border:1px solid #e4e9ed!important;
  border-radius:16px!important;
  background:#f7f9fa!important;
  padding:0 16px!important;
  font-size:14px!important;
}
.catalogo2-reference .televendas-left .catalogo1-quick-filters{display:flex!important;gap:8px!important;overflow-x:auto!important;}
.catalogo2-reference .televendas-left .catalogo1-quick-filters button{
  height:32px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#9a3412!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.catalogo2-reference .televendas-left .catalogo1-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:214px!important;
  gap:12px!important;
  padding:0 4px 8px!important;
  overflow-y:auto!important;
}
.catalogo2-reference .televendas-left .catalogo1-card{
  height:214px!important;
  min-height:214px!important;
  max-height:214px!important;
  padding:10px!important;
  padding-bottom:48px!important;
  border:1px solid #eef1f3!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.07)!important;
  display:block!important;
}
.catalogo2-reference .televendas-left .catalogo1-photo{height:70px!important;min-height:70px!important;max-height:70px!important;border-radius:16px!important;background:#f4f6f7!important;}
.catalogo2-reference .televendas-left .catalogo1-badges{height:20px!important;margin:7px 0 4px!important;}
.catalogo2-reference .televendas-left .catalogo1-badges span{height:20px!important;border-radius:999px!important;font-size:9px!important;background:#ecfdf5!important;color:#15803d!important;}
.catalogo2-reference .televendas-left .catalogo1-card h2{height:34px!important;min-height:34px!important;max-height:34px!important;font-size:12px!important;line-height:17px!important;color:#172026!important;margin:0 0 3px!important;}
.catalogo2-reference .televendas-left .catalogo1-card small{height:15px!important;font-size:10px!important;color:#68737d!important;}
.catalogo2-reference .televendas-left .catalogo1-card > strong,
.catalogo2-reference .televendas-left .catalogo1-promo-price strong{height:22px!important;line-height:22px!important;font-size:15px!important;color:#7b1f17!important;}
.catalogo2-reference .televendas-left .catalogo1-card-actions{left:10px!important;right:10px!important;bottom:10px!important;height:32px!important;gap:8px!important;}
.catalogo2-reference .televendas-left .catalogo1-card-actions button{height:32px!important;border-radius:12px!important;font-size:11px!important;}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:first-child{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important;}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:last-child{background:#fff!important;border:1px solid #16a34a!important;color:#15803d!important;}
.catalogo2-reference .televendas-left .catalogo1-cart{display:none!important;}
.catalogo2-reference .televendas-center{display:block!important;position:relative!important;background:#f8fafb!important;}
.catalogo2-reference .televendas-center .whatsapp-shell.chat-layout,
.catalogo2-reference .televendas-center .whatsapp-shell{
  position:static!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:92px minmax(0,1fr)!important;
  border-radius:26px!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .whatsapp-sidebar{height:92px!important;min-height:92px!important;grid-template-columns:1fr!important;grid-template-rows:34px 58px!important;background:#fff!important;border-bottom:1px solid #edf0f2!important;}
.catalogo2-reference .televendas-center .chat-sidebar-top{height:34px!important;min-height:34px!important;padding:8px 12px!important;border:0!important;display:flex!important;align-items:center!important;}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar strong{font-size:13px!important;color:#172026!important;}
.catalogo2-reference .televendas-center .chat-conversation-list{height:58px!important;min-height:58px!important;padding:6px 12px!important;display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;}
.catalogo2-reference .televendas-center .chat-conversation-row{flex:0 0 150px!important;width:150px!important;height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:15px!important;}
.catalogo2-reference .televendas-center .whatsapp-conversation-item{height:44px!important;min-height:44px!important;max-height:44px!important;padding:7px!important;}
.catalogo2-reference .televendas-center .chat-conversation-bottom{display:none!important;}
.catalogo2-reference .televendas-center .whatsapp-main{grid-row:2!important;grid-column:1!important;grid-template-rows:58px minmax(0,1fr) 82px!important;background:#f8fafb!important;}
.catalogo2-reference .televendas-center .whatsapp-header{height:58px!important;min-height:58px!important;background:#fff!important;padding:10px 14px!important;border-bottom:1px solid #edf0f2!important;}
.catalogo2-reference .televendas-center .whatsapp-messages{padding:16px!important;background:#f8fafb!important;}
.catalogo2-reference .televendas-center .whatsapp-bubble{border-radius:18px!important;box-shadow:0 8px 20px rgba(15,23,42,.07)!important;}
.catalogo2-reference .televendas-center .whatsapp-bubble.out{background:#16a34a!important;color:#fff!important;}
.catalogo2-reference .televendas-center .composer-stack{height:82px!important;min-height:82px!important;max-height:82px!important;padding:12px!important;background:#fff!important;border-top:1px solid #edf0f2!important;}
.catalogo2-reference .televendas-center .chat-input-row{height:56px!important;grid-template-columns:34px 34px 34px minmax(0,1fr) 34px 42px!important;gap:7px!important;}
.catalogo2-reference .televendas-center textarea{height:46px!important;min-height:46px!important;max-height:46px!important;border-radius:18px!important;background:#f7f9fa!important;border:1px solid #e4e9ed!important;}
.catalogo2-reference .televendas-center .composer-side-btn,
.catalogo2-reference .televendas-center .send-icon-btn{border-radius:14px!important;background:#f1f5f7!important;color:#45515b!important;}
.catalogo2-reference .televendas-center .send-icon-btn{background:#16a34a!important;color:#fff!important;}
.catalogo2-reference .televendas-conversation-toggle{display:none!important;}
.catalogo2-reference .televendas-order-board{display:flex!important;flex-direction:column!important;padding:14px!important;gap:12px!important;background:#fff!important;overflow:hidden!important;}
.catalogo2-reference .televendas-board-head{padding:14px!important;border-radius:20px!important;background:linear-gradient(135deg,#0F172A,#1E40AF)!important;color:#fff!important;}
.catalogo2-reference .televendas-board-head strong{font-size:18px!important;}.catalogo2-reference .televendas-board-head small{color:#DBEAFE!important;}
.catalogo2-reference .televendas-client-search-card,
.catalogo2-reference .televendas-client-card,
.catalogo2-reference .televendas-order-card,
.catalogo2-reference .televendas-insight-card{border:1px solid #eef1f3!important;border-radius:20px!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important;background:#fff!important;padding:12px!important;}
.catalogo2-reference .televendas-client-search-card label > div{display:grid!important;grid-template-columns:minmax(0,1fr) 70px!important;gap:8px!important;}
.catalogo2-reference .televendas-client-search-card input,
.catalogo2-reference .televendas-client-search-card button{height:38px!important;border-radius:13px!important;}
.catalogo2-reference .televendas-client-search-card button{background:#7b1f17!important;color:#fff!important;border:0!important;font-weight:950!important;}
.catalogo2-reference .televendas-client-results{max-height:160px!important;}
.catalogo2-reference .televendas-order-card{flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!important;background:#fffaf0!important;border-color:#fde68a!important;}
.catalogo2-reference .televendas-order-items{flex:1!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;}
.catalogo2-reference .televendas-order-items div{border-radius:14px!important;border:1px solid #f3e1b8!important;background:#fff!important;}
.catalogo2-reference .televendas-order-actions{grid-template-columns:1fr!important;}
.catalogo2-reference .televendas-order-actions a,
.catalogo2-reference .televendas-order-actions button,
.catalogo2-reference .televendas-copy-order{height:38px!important;border-radius:14px!important;}
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{grid-template-columns:64px minmax(470px,1.18fr) minmax(330px,.83fr) minmax(260px,.58fr)!important;gap:8px!important;padding:8px!important;}
  .catalogo2-reference .televendas-side-nav,.catalogo2-reference .televendas-left,.catalogo2-reference .televendas-center,.catalogo2-reference .televendas-order-board{height:calc(100vh - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:20px!important;}
  .catalogo2-reference .televendas-left .catalogo1-grid{grid-auto-rows:202px!important;gap:8px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card{height:202px!important;min-height:202px!important;max-height:202px!important;}
  .catalogo2-reference .televendas-left .catalogo1-photo{height:58px!important;min-height:58px!important;max-height:58px!important;}
}

/* /catalogo-2 - Ciclo #2: pedido lateral operacional */
.catalogo2-reference .televendas-order-item{
  display:grid!important;
  gap:7px!important;
  padding:10px!important;
}
.catalogo2-reference .televendas-order-item > strong{
  color:#172026!important;
  font-size:12px!important;
  line-height:15px!important;
  max-height:30px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-order-item > span{
  color:#7b1f17!important;
  font-size:12px!important;
  font-weight:950!important;
}
.catalogo2-reference .televendas-order-qty{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  align-items:center!important;
}
.catalogo2-reference .televendas-order-qty label{
  display:grid!important;
  grid-template-columns:auto 24px minmax(20px,1fr) 24px!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  height:30px!important;
  border:1px solid #f0d9ac!important;
  border-radius:12px!important;
  background:#fffaf0!important;
  padding:3px 5px!important;
  color:#7c4a03!important;
  font-size:9px!important;
  font-weight:950!important;
}
.catalogo2-reference .televendas-order-qty label button{
  width:24px!important;
  height:24px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#92400e!important;
  font-size:14px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.catalogo2-reference .televendas-order-qty label b{
  text-align:center!important;
  color:#172026!important;
  font-size:12px!important;
}
.catalogo2-reference .televendas-remove-item{
  grid-column:1 / -1!important;
  height:28px!important;
  border:1px solid #fecaca!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#b91c1c!important;
  font-size:10px!important;
  font-weight:950!important;
  cursor:pointer!important;
}

/* /catalogo-2 - Ciclo #3: chat central limpo e estável */
.catalogo2-reference .televendas-center .assistant-panel,
.catalogo2-reference .televendas-center .whatsapp-assistant-panel,
.catalogo2-reference .televendas-center .sales-command-panel,
.catalogo2-reference .televendas-center .catalogo2-ai-suggestion-top{
  display:none!important;
}
.catalogo2-reference .televendas-center .screen-block,
.catalogo2-reference .televendas-center .atendimento-screen,
.catalogo2-reference .televendas-center .whatsapp-business-redesign{
  padding:0!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:104px minmax(0,1fr)!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar{
  grid-row:1!important;
  grid-column:1!important;
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  display:grid!important;
  grid-template-rows:42px 62px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar span,
.catalogo2-reference .televendas-center .conversation-filter-tabs,
.catalogo2-reference .televendas-center .chat-search-box,
.catalogo2-reference .televendas-center .chat-new-conversation-box,
.catalogo2-reference .televendas-center .chat-list-limit-hint,
.catalogo2-reference .televendas-center .clear-conversation-btn{
  display:none!important;
}
.catalogo2-reference .televendas-center .new-conversation-btn{
  height:28px!important;
  min-height:28px!important;
  border-radius:12px!important;
  padding:0 10px!important;
  font-size:11px!important;
  background:#16a34a!important;
  color:#fff!important;
  border:0!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list{
  grid-row:2!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  padding:8px 12px!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-conversation-row{
  flex:0 0 164px!important;
  width:164px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:7px!important;
  padding:8px!important;
  border:1px solid #eef1f3!important;
  border-radius:16px!important;
  background:#f8fafb!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.active{
  background:#fff7ed!important;
  border-color:#fdba74!important;
}
.catalogo2-reference .televendas-center .conversation-avatar{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  font-size:11px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-top strong{
  max-width:86px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-top span{font-size:9px!important;color:#8a949e!important;}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main{
  grid-row:2!important;
  grid-column:1!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:58px minmax(0,1fr) 78px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .chat-header.whatsapp-header{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:10px 14px!important;
  background:#fff!important;
  border-top:1px solid #edf0f2!important;
}
.catalogo2-reference .televendas-center .chat-messages.whatsapp-messages{
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  padding:14px!important;
  background:linear-gradient(180deg,#f8fafb,#f4f7f7)!important;
}
.catalogo2-reference .televendas-center .message-with-date{margin:0 0 8px!important;}
.catalogo2-reference .televendas-center .chat-bubble.whatsapp-bubble{
  max-width:min(88%,420px)!important;
  padding:9px 11px!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.catalogo2-reference .televendas-center .chat-bubble small{font-size:9px!important;opacity:.72!important;}
.catalogo2-reference .televendas-center .composer-stack{
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  overflow:hidden!important;
  padding:10px 12px!important;
}
.catalogo2-reference .televendas-center .chat-input-row.whatsapp-input-row{
  height:56px!important;
  min-height:56px!important;
  display:grid!important;
  grid-template-columns:32px 32px minmax(0,1fr) 38px!important;
  gap:7px!important;
  align-items:center!important;
}
.catalogo2-reference .televendas-center .quick-reply-btn,
.catalogo2-reference .televendas-center .chat-input-row .composer-side-btn[title="Emoji"],
.catalogo2-reference .televendas-center .chat-input-row .composer-side-btn[title="Áudio"]{
  display:none!important;
}
.catalogo2-reference .televendas-center .chat-input-row textarea{
  grid-column:auto!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:12px 14px!important;
}
.catalogo2-reference .televendas-center .send-icon-btn{width:38px!important;height:38px!important;}

/* /catalogo-2 - Ciclo #4: catálogo mais fiel e legível em 1366x768 */
.catalogo2-reference .televendas-left .catalogo1-brand-head{
  position:relative!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head::after{
  content:'Catálogo de produtos';
  margin-left:auto;
  height:30px;
  padding:0 11px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  background:#ecfdf5;
  color:#15803d;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.catalogo2-reference .televendas-left .catalogo1-search{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
}
.catalogo2-reference .televendas-left .catalogo1-search input{grid-column:1 / -1!important;}
.catalogo2-reference .televendas-left .catalogo1-search > span{
  grid-column:1!important;
  color:#64707a!important;
  font-size:11px!important;
  font-weight:900!important;
}
.catalogo2-reference .televendas-left .catalogo1-clear-search{
  grid-column:2!important;
  grid-row:2!important;
  height:28px!important;
  border-radius:999px!important;
  border:1px solid #e4e9ed!important;
  background:#fff!important;
  color:#7b1f17!important;
  padding:0 10px!important;
  font-size:11px!important;
  font-weight:950!important;
}
.catalogo2-reference .televendas-left .catalogo1-grid{
  scrollbar-width:thin!important;
  scrollbar-color:#d9c7ba transparent!important;
}
.catalogo2-reference .televendas-left .catalogo1-card{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
.catalogo2-reference .televendas-left .catalogo1-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 30px rgba(15,23,42,.11)!important;
  border-color:#fed7aa!important;
}
.catalogo2-reference .televendas-left .catalogo1-photo img{
  object-fit:contain!important;
  padding:5px!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button{
  box-shadow:0 6px 12px rgba(22,163,74,.14)!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:hover{
  filter:brightness(.97)!important;
  transform:translateY(-1px)!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:active{
  transform:translateY(0)!important;
}
.catalogo2-reference .televendas-left .catalogo1-card small,
.catalogo2-reference .televendas-left .catalogo1-card > strong,
.catalogo2-reference .televendas-left .catalogo1-promo-price{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:58px minmax(450px,1.2fr) minmax(315px,.84fr) minmax(248px,.58fr)!important;
  }
  .catalogo2-reference .televendas-side-nav{padding:10px 6px!important;gap:8px!important;}
  .catalogo2-reference .televendas-side-nav button{width:46px!important;min-height:48px!important;border-radius:15px!important;font-size:16px!important;}
  .catalogo2-reference .televendas-side-nav button span{font-size:7px!important;}
  .catalogo2-reference .televendas-nav-logo{width:42px!important;height:42px!important;}
  .catalogo2-reference .televendas-left .catalogo1-top.compact{height:68px!important;min-height:68px!important;padding:10px 12px!important;}
  .catalogo2-reference .televendas-left .catalogo1-logo{width:94px!important;height:36px!important;}
  .catalogo2-reference .televendas-left .catalogo1-brand-head h1{font-size:17px!important;line-height:20px!important;}
  .catalogo2-reference .televendas-left .catalogo1-brand-head p{font-size:10px!important;}
  .catalogo2-reference .televendas-left .catalogo1-layout{height:calc(100% - 68px)!important;padding:10px!important;}
  .catalogo2-reference .televendas-left .catalogo1-search{margin-bottom:8px!important;}
  .catalogo2-reference .televendas-left .catalogo1-search input{height:40px!important;border-radius:14px!important;font-size:12px!important;}
  .catalogo2-reference .televendas-left .catalogo1-quick-filters button{height:28px!important;font-size:10px!important;padding:0 9px!important;}
  .catalogo2-reference .televendas-left .catalogo1-grid{grid-auto-rows:188px!important;gap:8px!important;padding-right:2px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card{height:188px!important;min-height:188px!important;max-height:188px!important;padding:8px!important;padding-bottom:42px!important;border-radius:17px!important;}
  .catalogo2-reference .televendas-left .catalogo1-photo{height:52px!important;min-height:52px!important;max-height:52px!important;border-radius:13px!important;}
  .catalogo2-reference .televendas-left .catalogo1-badges{height:18px!important;margin:5px 0 3px!important;}
  .catalogo2-reference .televendas-left .catalogo1-badges span{height:18px!important;font-size:8px!important;padding:0 5px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card h2{height:31px!important;min-height:31px!important;max-height:31px!important;font-size:11px!important;line-height:15px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card small{height:13px!important;font-size:9px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card > strong,
  .catalogo2-reference .televendas-left .catalogo1-promo-price strong{height:20px!important;line-height:20px!important;font-size:13px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card-actions{left:8px!important;right:8px!important;bottom:8px!important;height:29px!important;gap:6px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card-actions button{height:29px!important;border-radius:10px!important;font-size:10px!important;}
  .catalogo2-reference .televendas-order-board{padding:10px!important;gap:9px!important;}
  .catalogo2-reference .televendas-board-head{padding:11px!important;border-radius:17px!important;}
  .catalogo2-reference .televendas-board-head strong{font-size:15px!important;}
  .catalogo2-reference .televendas-client-search-card,
  .catalogo2-reference .televendas-client-card,
  .catalogo2-reference .televendas-order-card,
  .catalogo2-reference .televendas-insight-card{padding:9px!important;border-radius:17px!important;}
  .catalogo2-reference .televendas-insight-card{display:none!important;}
}

/* /catalogo-2 - Ciclo #5: conversa funcional sem perder o layout compacto */
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar{
  position:relative!important;
  overflow:visible!important;
  z-index:4!important;
}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main{
  position:relative!important;
  z-index:1!important;
}
.catalogo2-reference .televendas-center .chat-search-box{
  display:flex!important;
  position:absolute!important;
  top:8px!important;
  left:126px!important;
  right:92px!important;
  height:28px!important;
  z-index:5!important;
}
.catalogo2-reference .televendas-center .chat-search-box input{
  width:100%!important;
  height:28px!important;
  border:1px solid #e4e9ed!important;
  border-radius:999px!important;
  background:#f8fafb!important;
  padding:0 10px!important;
  font-size:11px!important;
  color:#172026!important;
}
.catalogo2-reference .televendas-center .chat-search-box button{
  display:none!important;
}
.catalogo2-reference .televendas-center .chat-new-conversation-box{
  display:grid!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  top:42px!important;
  z-index:8!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px!important;
  border:1px solid #fdba74!important;
  border-radius:16px!important;
  background:#fff7ed!important;
  box-shadow:0 18px 40px rgba(15,23,42,.16)!important;
}
.catalogo2-reference .televendas-center .chat-new-conversation-box input{
  height:34px!important;
  border:1px solid #fed7aa!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:0 10px!important;
  font-size:12px!important;
}
.catalogo2-reference .televendas-center .chat-new-actions{
  display:flex!important;
  gap:6px!important;
}
.catalogo2-reference .televendas-center .chat-new-actions button{
  height:34px!important;
  min-height:34px!important;
  border-radius:12px!important;
  padding:0 10px!important;
  font-size:11px!important;
  font-weight:950!important;
}
.catalogo2-reference .televendas-center .chat-new-actions .primary-btn{
  background:#16a34a!important;
  color:#fff!important;
  border-color:#16a34a!important;
}
.catalogo2-reference .televendas-center .chat-new-actions .outline-btn{
  background:#fff!important;
  color:#7b1f17!important;
  border-color:#fed7aa!important;
}
.catalogo2-reference .televendas-center .attachment-preview-bar,
.catalogo2-reference .televendas-center .replying-preview{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:76px!important;
  z-index:7!important;
  max-height:54px!important;
  border-radius:14px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.12)!important;
}
.catalogo2-reference .televendas-center .hidden-attachment-input{
  display:none!important;
}
.catalogo2-reference .televendas-center .chat-input-row .composer-side-btn[title="Anexar"]{
  display:inline-flex!important;
  width:32px!important;
  height:32px!important;
  align-items:center!important;
  justify-content:center!important;
}
.catalogo2-reference .televendas-center .chat-empty-state{
  border-radius:18px!important;
  background:#fff!important;
  border:1px dashed #d8e0e5!important;
  color:#64707a!important;
}
.catalogo2-reference .televendas-center .whatsapp-unread-badge{
  display:inline-flex!important;
  min-width:18px!important;
  height:18px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#16a34a!important;
  color:#fff!important;
  font-size:9px!important;
}

/* /catalogo-2 - imagens de produto sempre visíveis */
.catalogo2-reference .televendas-left .catalogo1-photo,
.catalogo2-reference .televendas-left .catalogo1-suggestion-photo,
.catalogo2-reference .televendas-left .product-thumb{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#f8fafb,#eef2f4)!important;
}
.catalogo2-reference .televendas-left .catalogo1-photo img,
.catalogo2-reference .televendas-left .catalogo1-suggestion-photo img,
.catalogo2-reference .televendas-left .product-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}
.catalogo2-reference .televendas-left .catalogo1-photo:empty::before{
  content:'🥩';
  font-size:28px;
}
@media(max-width:1366px){
  .catalogo2-reference .televendas-center .chat-search-box{left:112px!important;right:82px!important;}
  .catalogo2-reference .televendas-center .chat-search-box input{font-size:10px!important;}
  .catalogo2-reference .televendas-center .chat-new-conversation-box{grid-template-columns:1fr!important;top:40px!important;}
  .catalogo2-reference .televendas-center .chat-new-actions{justify-content:flex-end!important;}
}

/* /catalogo-2 - Ciclo #7: remover menu lateral e reconstruir espaço útil */
.catalogo2-reference .televendas-workspace{
  grid-template-columns:minmax(520px,1.22fr) minmax(390px,.92fr) minmax(270px,.58fr)!important;
  gap:10px!important;
  padding:10px!important;
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-side-nav{
  display:none!important;
}
.catalogo2-reference .televendas-left,
.catalogo2-reference .televendas-center,
.catalogo2-reference .televendas-order-board{
  height:calc(100vh - 20px)!important;
  max-height:calc(100vh - 20px)!important;
  min-height:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left{
  min-width:0!important;
}
.catalogo2-reference .televendas-center{
  display:block!important;
  min-width:0!important;
  position:relative!important;
}
.catalogo2-reference .televendas-conversation-toggle{
  display:none!important;
}

/* Chat reconstruído: topo contatos + mensagens + composer sempre visível */
.catalogo2-reference .televendas-center .atendimento-screen,
.catalogo2-reference .televendas-center .whatsapp-business-redesign,
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:92px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  display:grid!important;
  grid-template-columns:100px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  overflow:hidden!important;
  position:relative!important;
  background:#fff7ed!important;
  border:0!important;
  border-bottom:1px solid #ead9cf!important;
  z-index:2!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-top{
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  padding:10px 8px!important;
  display:grid!important;
  align-content:center!important;
  background:#fff!important;
  border-right:1px solid #ead9cf!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar{
  display:grid!important;
  gap:6px!important;
  align-content:center!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar strong{
  display:block!important;
  font-size:13px!important;
  line-height:16px!important;
  color:#251a17!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar span{
  display:block!important;
  font-size:10px!important;
  line-height:12px!important;
  color:#806b62!important;
}
.catalogo2-reference .televendas-center .new-conversation-btn{
  width:100%!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  font-size:10px!important;
  border-radius:10px!important;
}
.catalogo2-reference .televendas-center .chat-search-box,
.catalogo2-reference .televendas-center .conversation-filter-tabs,
.catalogo2-reference .televendas-center .sidebar-actions,
.catalogo2-reference .televendas-center .clear-conversation-btn{
  display:none!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list{
  grid-column:2!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  padding:10px!important;
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#fff7ed!important;
}
.catalogo2-reference .televendas-center .chat-conversation-row{
  flex:0 0 156px!important;
  width:156px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:15px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item{
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px!important;
  border-radius:15px!important;
  border:1px solid #ead9cf!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.active,
.catalogo2-reference .televendas-center .whatsapp-conversation-item.active{
  border-color:#f97316!important;
  box-shadow:0 8px 18px rgba(249,115,22,.14)!important;
}
.catalogo2-reference .televendas-center .conversation-avatar{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  font-size:10px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-top strong{
  max-width:88px!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .televendas-center .chat-conversation-bottom{
  display:block!important;
  max-width:88px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:9px!important;
  color:#806b62!important;
}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main,
.catalogo2-reference .televendas-center .whatsapp-main{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:58px minmax(0,1fr) 76px!important;
  overflow:hidden!important;
  background:#fbfaf9!important;
}
.catalogo2-reference .televendas-center .chat-header.whatsapp-header,
.catalogo2-reference .televendas-center .whatsapp-header{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:9px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-bottom:1px solid #ead9cf!important;
}
.catalogo2-reference .televendas-center .chat-header-actions{display:none!important;}
.catalogo2-reference .televendas-center .chat-messages.whatsapp-messages,
.catalogo2-reference .televendas-center .whatsapp-messages{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:12px!important;
  background:#f6f3ef!important;
}
.catalogo2-reference .televendas-center .composer-stack{
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  padding:10px!important;
  display:block!important;
  overflow:visible!important;
  background:#fff!important;
  border-top:1px solid #ead9cf!important;
  position:relative!important;
  z-index:3!important;
}
.catalogo2-reference .televendas-center .chat-input-row.whatsapp-input-row,
.catalogo2-reference .televendas-center .chat-input-row{
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 40px!important;
  gap:8px!important;
  align-items:center!important;
}
.catalogo2-reference .televendas-center .composer-side-btn,
.catalogo2-reference .televendas-center .quick-reply-btn{
  display:none!important;
}
.catalogo2-reference .televendas-center .composer-side-btn[title="Anexar"]{
  display:inline-flex!important;
  width:34px!important;
  height:34px!important;
  grid-column:1!important;
  align-items:center!important;
  justify-content:center!important;
}
.catalogo2-reference .televendas-center .chat-input-row textarea{
  display:block!important;
  grid-column:2!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  resize:none!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  font-size:13px!important;
  line-height:18px!important;
  background:#f8fafb!important;
  border:1px solid #e4e9ed!important;
  color:#172026!important;
  visibility:visible!important;
  opacity:1!important;
}
.catalogo2-reference .televendas-center .send-icon-btn{
  display:inline-flex!important;
  grid-column:3!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
}
.catalogo2-reference .televendas-center .chat-new-conversation-box{
  top:94px!important;
  left:10px!important;
  right:10px!important;
  z-index:10!important;
}

/* Pedido lateral: aproveitar altura e manter ações visíveis */
.catalogo2-reference .televendas-order-board{
  padding:10px!important;
  gap:8px!important;
  background:#fbfaf9!important;
}
.catalogo2-reference .televendas-insight-card{display:none!important;}
.catalogo2-reference .televendas-board-head,
.catalogo2-reference .televendas-client-search-card,
.catalogo2-reference .televendas-client-card,
.catalogo2-reference .televendas-order-card{
  border-radius:17px!important;
}
.catalogo2-reference .televendas-order-card{
  min-height:0!important;
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
}
.catalogo2-reference .televendas-order-items{
  min-height:0!important;
  overflow-y:auto!important;
}

@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(510px,1.25fr) minmax(380px,.92fr) minmax(260px,.56fr)!important;
    gap:8px!important;
    padding:8px!important;
  }
  .catalogo2-reference .televendas-left,
  .catalogo2-reference .televendas-center,
  .catalogo2-reference .televendas-order-board{
    height:calc(100vh - 16px)!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:18px!important;
  }
  .catalogo2-reference .televendas-center .chat-main.whatsapp-main,
  .catalogo2-reference .televendas-center .whatsapp-main{
    grid-template-rows:52px minmax(0,1fr) 74px!important;
  }
  .catalogo2-reference .televendas-center .chat-header.whatsapp-header,
  .catalogo2-reference .televendas-center .whatsapp-header{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
  .catalogo2-reference .televendas-center .composer-stack{
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    padding:9px!important;
  }
}

/* /catalogo-2 - Ciclo #8: ergonomia real para uso humano */
.catalogo2-reference .televendas-workspace{
  grid-template-columns:minmax(585px,1.34fr) minmax(430px,.98fr) minmax(300px,.68fr)!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  grid-template-rows:72px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  height:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  grid-template-columns:78px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-top{
  height:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  padding:7px!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar strong{
  font-size:12px!important;
  line-height:14px!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar span{
  display:none!important;
}
.catalogo2-reference .televendas-center .new-conversation-btn{
  height:32px!important;
  min-height:32px!important;
  font-size:0!important;
  background:#16a34a!important;
  color:#fff!important;
}
.catalogo2-reference .televendas-center .new-conversation-btn::after{
  content:'+ Nova';
  font-size:11px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list{
  height:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  padding:7px!important;
  gap:7px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-row{
  flex:0 0 170px!important;
  width:170px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  cursor:pointer!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item{
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item:hover,
.catalogo2-reference .televendas-center .whatsapp-conversation-item:hover{
  transform:translateY(-1px)!important;
  border-color:#fb923c!important;
  background:#fffaf5!important;
  box-shadow:0 10px 20px rgba(249,115,22,.12)!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.active,
.catalogo2-reference .televendas-center .whatsapp-conversation-item.active{
  background:#7b1f17!important;
  color:#fff!important;
  border-color:#7b1f17!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.active *,
.catalogo2-reference .televendas-center .whatsapp-conversation-item.active *{
  color:#fff!important;
}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main,
.catalogo2-reference .televendas-center .whatsapp-main{
  grid-template-rows:52px minmax(0,1fr) 78px!important;
}
.catalogo2-reference .televendas-center .chat-input-row.whatsapp-input-row,
.catalogo2-reference .televendas-center .chat-input-row{
  grid-template-columns:34px minmax(0,1fr) 42px!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-center .composer-side-btn:not([title="Anexar"]),
.catalogo2-reference .televendas-center .chat-input-row .composer-side-btn[title="Emoji"],
.catalogo2-reference .televendas-center .chat-input-row .composer-side-btn[title="Áudio"],
.catalogo2-reference .televendas-center .chat-input-row .quick-reply-btn{
  display:none!important;
  width:0!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}
.catalogo2-reference .televendas-center .chat-input-row textarea{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  font-size:14px!important;
  border:2px solid #dbe3e8!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-input-row textarea:focus{
  border-color:#16a34a!important;
  box-shadow:0 0 0 3px rgba(22,163,74,.12)!important;
  outline:none!important;
}
.catalogo2-reference .televendas-left .catalogo1-card > strong,
.catalogo2-reference .televendas-left .catalogo1-promo-price strong{
  display:flex!important;
  align-items:center!important;
  height:24px!important;
  min-height:24px!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:1000!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  border-radius:10px!important;
  padding:0 7px!important;
  width:max-content!important;
  max-width:100%!important;
}
.catalogo2-reference .televendas-left .catalogo1-card > strong:empty::after,
.catalogo2-reference .televendas-left .catalogo1-promo-price strong:empty::after{
  content:'Consultar preço';
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:first-child{
  background:#16a34a!important;
  color:#fff!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button:last-child{
  background:#7b1f17!important;
  color:#fff!important;
  border-color:#7b1f17!important;
}
.catalogo2-reference .televendas-client-search-card{
  position:relative!important;
  overflow:visible!important;
  z-index:20!important;
}
.catalogo2-reference .televendas-client-search-card label > div{
  grid-template-columns:minmax(0,1fr) 78px!important;
  gap:7px!important;
}
.catalogo2-reference .televendas-client-search-card input{
  height:42px!important;
  border:2px solid #dbe3e8!important;
  background:#fff!important;
  font-size:12px!important;
}
.catalogo2-reference .televendas-client-search-card input:focus{
  border-color:#16a34a!important;
  box-shadow:0 0 0 3px rgba(22,163,74,.12)!important;
  outline:none!important;
}
.catalogo2-reference .televendas-client-search-card button{
  height:42px!important;
  border-radius:13px!important;
  background:#16a34a!important;
  color:#fff!important;
  border:0!important;
}
.catalogo2-reference .televendas-client-helper{
  display:block!important;
  margin-top:5px!important;
  color:#64748b!important;
  font-size:10px!important;
  line-height:13px!important;
}
.catalogo2-reference .televendas-client-results{
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  top:calc(100% - 6px)!important;
  z-index:40!important;
  max-height:230px!important;
  overflow-y:auto!important;
  border:1px solid #dbe3e8!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 40px rgba(15,23,42,.18)!important;
  padding:6px!important;
}
.catalogo2-reference .televendas-client-results button{
  width:100%!important;
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  padding:9px!important;
  border-radius:11px!important;
  border:1px solid transparent!important;
  background:#fff!important;
  color:#111827!important;
}
.catalogo2-reference .televendas-client-results button:hover{
  background:#ecfdf5!important;
  border-color:#bbf7d0!important;
}
.catalogo2-reference .televendas-client-card strong{
  color:#111827!important;
  line-height:16px!important;
}
.catalogo2-reference .televendas-order-title b{
  color:#111827!important;
  font-size:16px!important;
}
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(560px,1.32fr) minmax(430px,1fr) minmax(300px,.70fr)!important;
  }
  .catalogo2-reference .televendas-left .catalogo1-grid{grid-auto-rows:194px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card{height:194px!important;max-height:194px!important;}
  .catalogo2-reference .televendas-left .catalogo1-photo{height:56px!important;min-height:56px!important;max-height:56px!important;}
}

/* /catalogo-2 - Ciclo #9: correção reprovada pelo print do Rafael */
.catalogo2-reference .televendas-workspace{
  grid-template-columns:minmax(610px,1.42fr) minmax(420px,.96fr) minmax(295px,.66fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  grid-template-columns:0 minmax(0,1fr) 74px!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  grid-template-rows:62px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-top{
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar strong,
.catalogo2-reference .televendas-center .chat-sidebar-toolbar span{
  display:none!important;
}
.catalogo2-reference .televendas-center .new-conversation-btn{
  position:absolute!important;
  top:12px!important;
  right:8px!important;
  width:66px!important;
  height:38px!important;
  z-index:4!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list{
  grid-column:2 / 4!important;
  width:100%!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  padding:6px 82px 6px 8px!important;
  gap:6px!important;
  background:#fff!important;
  border-bottom:1px solid #ead9cf!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list::before{
  content:'Conversas';
  flex:0 0 auto;
  height:48px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  border-radius:14px;
  background:#1E40AF;
  color:#fff;
  font-size:12px;
  font-weight:1000;
}
.catalogo2-reference .televendas-center .chat-conversation-row{
  flex:0 0 150px!important;
  width:150px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:7px!important;
  border:2px solid #e5e7eb!important;
}
.catalogo2-reference .televendas-center .conversation-avatar{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-bottom{display:none!important;}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main,
.catalogo2-reference .televendas-center .whatsapp-main{
  grid-template-rows:52px minmax(0,1fr) 78px!important;
}
.catalogo2-reference .televendas-left .catalogo1-card{
  position:relative!important;
  padding-bottom:76px!important;
}
.catalogo2-reference .televendas-left .catalogo2-product-price{
  position:absolute!important;
  left:8px!important;
  right:8px!important;
  bottom:42px!important;
  height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#fff!important;
  border:2px solid #16a34a!important;
  color:#065f46!important;
  font-size:15px!important;
  line-height:28px!important;
  font-weight:1000!important;
  z-index:3!important;
  box-shadow:0 4px 10px rgba(22,163,74,.12)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions{
  position:absolute!important;
  left:8px!important;
  right:8px!important;
  bottom:8px!important;
  height:30px!important;
  z-index:3!important;
}
.catalogo2-reference .televendas-left .catalogo1-card-actions button{
  height:30px!important;
  font-size:11px!important;
}
.catalogo2-reference .televendas-left .catalogo1-promo-price{
  display:none!important;
}
.catalogo2-reference .televendas-client-search-card{
  border:2px solid #16a34a!important;
  background:#f0fdf4!important;
  box-shadow:0 10px 22px rgba(22,163,74,.10)!important;
}
.catalogo2-reference .televendas-client-search-card label > span{
  color:#065f46!important;
  font-size:12px!important;
  letter-spacing:.04em!important;
}
.catalogo2-reference .televendas-client-search-card input{
  background:#fff!important;
  border-color:#16a34a!important;
  height:44px!important;
  font-size:13px!important;
}
.catalogo2-reference .televendas-client-search-card button{
  height:44px!important;
  font-size:12px!important;
  font-weight:1000!important;
}
.catalogo2-reference .televendas-client-helper{
  color:#166534!important;
  font-weight:800!important;
}
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(600px,1.45fr) minmax(420px,1fr) minmax(295px,.70fr)!important;
  }
  .catalogo2-reference .televendas-left .catalogo1-grid{grid-auto-rows:202px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card{height:202px!important;max-height:202px!important;padding-bottom:76px!important;}
  .catalogo2-reference .televendas-left .catalogo1-photo{height:58px!important;min-height:58px!important;max-height:58px!important;}
  .catalogo2-reference .televendas-left .catalogo1-card h2{height:34px!important;min-height:34px!important;max-height:34px!important;}
}

/* /catalogo-2 - Ciclo #10: chat estilo WhatsApp vertical + toggle */
.catalogo2-reference .televendas-workspace{
  grid-template-columns:minmax(610px,1.40fr) minmax(500px,1.12fr) minmax(285px,.62fr)!important;
}
.catalogo2-reference .televendas-center{
  position:relative!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-conversation-toggle{
  display:inline-flex!important;
  position:absolute!important;
  z-index:30!important;
  left:8px!important;
  top:8px!important;
  width:30px!important;
  height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:#7b1f17!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:1000!important;
  box-shadow:0 8px 20px rgba(37,26,23,.22)!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  display:grid!important;
  grid-template-columns:178px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  height:100%!important;
  width:100%!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#fff!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-shell{
  grid-template-columns:0 minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  grid-column:1!important;
  grid-row:1!important;
  width:178px!important;
  min-width:178px!important;
  max-width:178px!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:94px minmax(0,1fr)!important;
  overflow:hidden!important;
  border-right:1px solid #ead9cf!important;
  border-bottom:0!important;
  background:#fff!important;
  transition:width .18s ease,min-width .18s ease,max-width .18s ease!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-sidebar{
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  overflow:hidden!important;
  border-right:0!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-top{
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  height:94px!important;
  min-height:94px!important;
  max-height:94px!important;
  padding:10px 8px 8px 40px!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:6px!important;
  align-content:start!important;
  border:0!important;
  border-bottom:1px solid #ead9cf!important;
  background:#fff7ed!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar strong{
  display:block!important;
  color:#251a17!important;
  font-size:13px!important;
  line-height:16px!important;
}
.catalogo2-reference .televendas-center .chat-sidebar-toolbar span{display:none!important;}
.catalogo2-reference .televendas-center .new-conversation-btn{
  position:static!important;
  width:100%!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 8px!important;
  border-radius:11px!important;
  background:#16a34a!important;
  color:#fff!important;
}
.catalogo2-reference .televendas-center .chat-search-box{
  display:flex!important;
  position:absolute!important;
  left:8px!important;
  right:8px!important;
  top:54px!important;
  height:30px!important;
  z-index:3!important;
}
.catalogo2-reference .televendas-center .chat-search-box input{
  display:block!important;
  width:100%!important;
  height:30px!important;
  border-radius:999px!important;
  border:1px solid #ead9cf!important;
  background:#fff!important;
  padding:0 9px!important;
  font-size:11px!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list{
  grid-row:2!important;
  grid-column:1!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  padding:8px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border:0!important;
}
.catalogo2-reference .televendas-center .chat-conversation-list::before{content:none!important;}
.catalogo2-reference .televendas-center .chat-conversation-row{
  width:100%!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  margin:0 0 7px!important;
  flex:none!important;
  display:block!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item{
  width:100%!important;
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:7px!important;
  padding:8px!important;
  border-radius:15px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-conversation-bottom{
  display:block!important;
  max-width:88px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#64748b!important;
}
.catalogo2-reference .televendas-center .chat-main.whatsapp-main,
.catalogo2-reference .televendas-center .whatsapp-main{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:58px minmax(0,1fr) 80px!important;
  overflow:hidden!important;
  background:#fbfaf9!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-main.whatsapp-main,
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-main{
  grid-column:2!important;
}
.catalogo2-reference .televendas-center .chat-header.whatsapp-header,
.catalogo2-reference .televendas-center .whatsapp-header{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:10px 12px 10px 42px!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-messages.whatsapp-messages,
.catalogo2-reference .televendas-center .whatsapp-messages{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding:12px!important;
}
.catalogo2-reference .televendas-center .composer-stack{
  height:80px!important;
  min-height:80px!important;
  max-height:80px!important;
  padding:12px!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-center .chat-input-row.whatsapp-input-row,
.catalogo2-reference .televendas-center .chat-input-row{
  height:56px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 42px!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-center .chat-input-row textarea{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}

/* Terceiro bloco: cliente no topo, sem cabeçalho redundante */
.catalogo2-reference .televendas-order-board{
  display:flex!important;
  flex-direction:column!important;
  padding:10px!important;
  gap:8px!important;
}
.catalogo2-reference .televendas-board-head{display:none!important;}
.catalogo2-reference .televendas-client-search-card{
  order:1!important;
  flex:0 0 auto!important;
}
.catalogo2-reference .televendas-client-card{order:2!important;flex:0 0 auto!important;}
.catalogo2-reference .televendas-order-card{order:3!important;flex:1 1 auto!important;min-height:0!important;}
.catalogo2-reference .televendas-insight-card{display:none!important;}

@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(590px,1.40fr) minmax(490px,1.12fr) minmax(270px,.62fr)!important;
  }
  .catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
  .catalogo2-reference .televendas-center .whatsapp-shell{grid-template-columns:168px minmax(0,1fr)!important;}
  .catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
  .catalogo2-reference .televendas-center .whatsapp-sidebar{width:168px!important;min-width:168px!important;max-width:168px!important;}
}

/* /catalogo-2 - Ciclo #10 fix: toggle acima do chat e clicável */
.catalogo2-reference .televendas-center{
  isolation:isolate!important;
}
.catalogo2-reference .televendas-center .atendimento-screen,
.catalogo2-reference .televendas-center .whatsapp-business-redesign,
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  position:relative!important;
  z-index:1!important;
}
.catalogo2-reference .televendas-conversation-toggle{
  z-index:999!important;
  pointer-events:auto!important;
}

/* /catalogo-2 - Ciclo #11: ampliar atendimento mantendo catálogo e pedido úteis */
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(540px,1.16fr) minmax(560px,1.22fr) minmax(250px,.54fr)!important;
    gap:7px!important;
  }
  .catalogo2-reference .televendas-left .catalogo1-grid{
    grid-template-columns:repeat(auto-fill,minmax(156px,1fr))!important;
    grid-auto-rows:202px!important;
  }
  .catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
  .catalogo2-reference .televendas-center .whatsapp-shell{
    grid-template-columns:184px minmax(0,1fr)!important;
  }
  .catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
  .catalogo2-reference .televendas-center .whatsapp-sidebar{
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
  }
  .catalogo2-reference .televendas-client-search-card label > div{
    grid-template-columns:minmax(0,1fr) 68px!important;
  }
  .catalogo2-reference .televendas-client-search-card input{font-size:12px!important;padding:0 8px!important;}
  .catalogo2-reference .televendas-client-search-card button{font-size:11px!important;}
}

/* /catalogo-2 - Ciclo #12: compactação final de topo e cliente no topo absoluto */
.catalogo2-reference .televendas-left .catalogo1-top.compact{
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  padding:7px 10px!important;
}
.catalogo2-reference .televendas-left .catalogo1-logo{
  width:82px!important;
  height:30px!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head{
  gap:8px!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head h1{
  font-size:14px!important;
  line-height:16px!important;
  max-width:260px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head p{
  display:none!important;
}
.catalogo2-reference .televendas-left .catalogo1-brand-head::after{
  height:26px!important;
  padding:0 9px!important;
  font-size:10px!important;
}
.catalogo2-reference .televendas-left .catalogo1-layout{
  height:calc(100% - 52px)!important;
}
.catalogo2-reference .televendas-order-board{
  padding:8px!important;
  gap:7px!important;
}
.catalogo2-reference .televendas-client-search-card{
  margin:0!important;
  align-self:stretch!important;
  border-radius:16px!important;
}
.catalogo2-reference .televendas-client-card{
  margin:0!important;
}
@media(max-width:1366px){
  .catalogo2-reference .televendas-left .catalogo1-top.compact{
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:6px 9px!important;
  }
  .catalogo2-reference .televendas-left .catalogo1-logo{width:78px!important;height:28px!important;}
  .catalogo2-reference .televendas-left .catalogo1-layout{height:calc(100% - 50px)!important;}
}

/* /catalogo-2 - Ciclo #13: barra global completa + 4 blocos operacionais */
.catalogo2-reference{
  display:grid!important;
  grid-template-rows:64px minmax(0,1fr)!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#f4eee8!important;
  padding:0!important;
}
.catalogo2-reference .catalogo2-global-topbar{
  grid-row:1!important;
  height:64px!important;
  min-height:64px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:300px minmax(300px,430px) minmax(460px,1fr) 108px!important;
  gap:8px!important;
  align-items:center!important;
  padding:6px 10px!important;
  background:linear-gradient(90deg,#fff7ed 0%,#fff 52%,#f0fdf4 100%)!important;
  border-bottom:1px solid #e7d8cc!important;
  box-shadow:0 10px 26px rgba(37,26,23,.08)!important;
  z-index:80!important;
}
.catalogo2-reference .catalogo2-top-brand{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
.catalogo2-reference .catalogo2-top-brand img{
  width:86px!important;
  height:34px!important;
  object-fit:contain!important;
  border-radius:8px!important;
  background:#fff!important;
}
.catalogo2-reference .catalogo2-top-brand strong{
  display:block!important;
  font-size:14px!important;
  line-height:17px!important;
  color:#251a17!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:190px!important;
}
.catalogo2-reference .catalogo2-top-brand span{
  display:block!important;
  font-size:11px!important;
  line-height:13px!important;
  color:#7c665f!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:190px!important;
}
.catalogo2-reference .catalogo2-top-client-search{
  position:relative!important;
  min-width:0!important;
  z-index:100!important;
}
.catalogo2-reference .catalogo2-top-client-search label{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
}
.catalogo2-reference .catalogo2-top-client-search label > span{
  font-size:11px!important;
  font-weight:1000!important;
  color:#7b1f17!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.catalogo2-reference .catalogo2-top-client-search label > div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 70px!important;
  gap:5px!important;
}
.catalogo2-reference .catalogo2-top-client-search input{
  height:40px!important;
  border-radius:13px!important;
  border:1px solid #d6c2b8!important;
  background:#fff!important;
  padding:0 11px!important;
  font-size:12px!important;
  font-weight:700!important;
  outline:none!important;
}
.catalogo2-reference .catalogo2-top-client-search button{
  height:40px!important;
  border:0!important;
  border-radius:13px!important;
  background:#7b1f17!important;
  color:#fff!important;
  font-weight:900!important;
}
.catalogo2-reference .catalogo2-top-client-results{
  position:absolute!important;
  top:48px!important;
  left:58px!important;
  right:0!important;
  max-height:280px!important;
  overflow:auto!important;
  display:grid!important;
  gap:5px!important;
  padding:7px!important;
  background:#fff!important;
  border:1px solid #ead9cf!important;
  border-radius:16px!important;
  box-shadow:0 22px 46px rgba(37,26,23,.22)!important;
}
.catalogo2-reference .catalogo2-top-client-results button{
  height:auto!important;
  min-height:46px!important;
  text-align:left!important;
  background:#fff7ed!important;
  color:#251a17!important;
  border:1px solid #f1dfd3!important;
  padding:8px!important;
  display:grid!important;
}
.catalogo2-reference .catalogo2-top-client-results span{font-size:11px!important;color:#7c665f!important;}
.catalogo2-reference .catalogo2-top-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  min-width:0!important;
}
.catalogo2-reference .catalogo2-top-kpis span{
  min-width:0!important;
  height:48px!important;
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
  padding:5px 8px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e7d8cc!important;
}
.catalogo2-reference .catalogo2-top-kpis small{
  font-size:10px!important;
  text-transform:uppercase!important;
  color:#7c665f!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.catalogo2-reference .catalogo2-top-kpis b{
  font-size:12px!important;
  line-height:15px!important;
  color:#065f46!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .catalogo2-top-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
}
.catalogo2-reference .catalogo2-top-actions button{
  height:26px!important;
  border-radius:10px!important;
  border:1px solid #d6c2b8!important;
  background:#fff!important;
  font-weight:900!important;
  color:#5b2a22!important;
}
.catalogo2-reference .televendas-workspace{
  grid-row:2!important;
  height:100%!important;
  min-height:0!important;
  padding:7px!important;
  display:grid!important;
  grid-template-columns:minmax(540px,1.16fr) minmax(184px,.40fr) minmax(376px,.82fr) minmax(244px,.52fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:7px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left{grid-column:1!important;grid-row:1!important;}
.catalogo2-reference .televendas-center{grid-column:2 / span 2!important;grid-row:1!important;display:grid!important;grid-template-columns:184px minmax(0,1fr)!important;}
.catalogo2-reference .televendas-order-board{grid-column:4!important;grid-row:1!important;}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  grid-template-columns:184px minmax(0,1fr)!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-shell{
  grid-template-columns:0 minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
}
.catalogo2-reference .televendas-conversation-toggle{
  left:8px!important;
  top:8px!important;
}
.catalogo2-reference .televendas-client-search-card{display:none!important;}
.catalogo2-reference .catalogo2-order-client-mini{
  order:1!important;
  flex:0 0 auto!important;
  min-height:74px!important;
  max-height:90px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#fff7ed!important;
  border:1px solid #ead9cf!important;
}
.catalogo2-reference .televendas-order-card{order:2!important;}
.catalogo2-reference .televendas-left .catalogo1-top.compact{display:none!important;}
.catalogo2-reference .televendas-left .catalogo1-context-compact{display:none!important;}
.catalogo2-reference .televendas-left .catalogo1-layout{height:100%!important;}
@media(max-width:1366px){
  .catalogo2-reference .catalogo2-global-topbar{grid-template-columns:285px minmax(300px,390px) minmax(440px,1fr) 92px!important;height:62px!important;min-height:62px!important;padding:5px 8px!important;}
  .catalogo2-reference{grid-template-rows:62px minmax(0,1fr)!important;}
  .catalogo2-reference .televendas-workspace{grid-template-columns:minmax(540px,1.15fr) minmax(184px,.39fr) minmax(376px,.80fr) minmax(244px,.51fr)!important;}
  .catalogo2-reference .catalogo2-top-brand img{width:78px!important;height:30px!important;}
  .catalogo2-reference .catalogo2-top-brand strong,.catalogo2-reference .catalogo2-top-brand span{max-width:180px!important;}
  .catalogo2-reference .catalogo2-top-kpis span{height:46px!important;padding:4px 6px!important;}
  .catalogo2-reference .catalogo2-top-kpis b{font-size:11px!important;}
}

/* /catalogo-2 - Ciclo #13 fix: toggle abaixo da barra global, sem interceptação */
.catalogo2-reference .televendas-center{
  position:relative!important;
  isolation:isolate!important;
}
.catalogo2-reference .televendas-conversation-toggle{
  position:absolute!important;
  left:10px!important;
  top:10px!important;
  z-index:1200!important;
  pointer-events:auto!important;
}
.catalogo2-reference .catalogo2-top-client-results{
  z-index:900!important;
}

/* /catalogo-2 - Ciclo #13 fix 2: WhatsApp shell ocupa conversas + atendimento */
.catalogo2-reference .televendas-center > .atendimento-screen,
.catalogo2-reference .televendas-center > .whatsapp-business-redesign,
.catalogo2-reference .televendas-center > .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center > .whatsapp-shell,
.catalogo2-reference .televendas-center .atendimento-screen,
.catalogo2-reference .televendas-center .whatsapp-business-redesign{
  grid-column:1 / -1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  width:100%!important;
  min-width:0!important;
  grid-column:1 / -1!important;
}

/* /catalogo-2 - Ciclo #14: remover duplicações internas do catálogo para aproveitar espaço */
.catalogo2-reference .televendas-left .catalogo1-client,
.catalogo2-reference .televendas-left .catalogo1-client-results,
.catalogo2-reference .televendas-left .catalogo1-ai-strip,
.catalogo2-reference .televendas-left .catalogo1-client-panel{
  display:none!important;
}
.catalogo2-reference .televendas-left .catalogo1-page{
  padding:0!important;
  gap:0!important;
}
.catalogo2-reference .televendas-left .catalogo1-layout{
  margin:0!important;
  padding:0!important;
  height:100%!important;
}
.catalogo2-reference .televendas-left .catalogo1-search{
  min-height:48px!important;
  max-height:76px!important;
  padding:7px!important;
  margin:0 0 7px!important;
  border-radius:16px!important;
}
.catalogo2-reference .televendas-left .catalogo1-search input{
  height:34px!important;
}
.catalogo2-reference .televendas-left .catalogo1-shortcuts,
.catalogo2-reference .televendas-left .catalogo1-quick-filters{
  display:none!important;
}
.catalogo2-reference .televendas-left .catalogo1-grid{
  height:calc(100% - 83px)!important;
  overflow:auto!important;
}

/* /catalogo-2 - Ciclo #15: modelo operacional 1 barra / 2 atendimento / 3 catálogo / 4 carrinho IA */
.catalogo2-reference .televendas-workspace{
  grid-template-columns:minmax(500px,1.03fr) minmax(575px,1.18fr) minmax(270px,.56fr)!important;
  grid-template-areas:"chat catalog cart"!important;
  gap:7px!important;
}
.catalogo2-reference .televendas-center{
  grid-area:chat!important;
  grid-column:auto!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:176px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-left{
  grid-area:catalog!important;
  grid-column:auto!important;
  grid-row:1!important;
}
.catalogo2-reference .televendas-order-board{
  grid-area:cart!important;
  grid-column:auto!important;
  grid-row:1!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  grid-template-columns:176px minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
.catalogo2-reference .televendas-center .whatsapp-sidebar{
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-shell{
  grid-template-columns:0 minmax(0,1fr)!important;
}
.catalogo2-reference .televendas-left .catalogo1-grid{
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr))!important;
  grid-auto-rows:202px!important;
}
.catalogo2-reference .televendas-order-board::before{
  content:'🤖 IA analisando cliente';
  order:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:8px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#ecfdf5,#fff7ed)!important;
  border:1px solid #bbf7d0!important;
  color:#065f46!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.catalogo2-reference .catalogo2-order-client-mini{order:1!important;}
.catalogo2-reference .televendas-order-card{order:2!important;}
.catalogo2-reference .televendas-insight-card{
  display:block!important;
  order:3!important;
  flex:0 0 auto!important;
  border-radius:16px!important;
  border:1px solid #bbf7d0!important;
  background:#f0fdf4!important;
}
.catalogo2-reference .televendas-insight-card summary{
  cursor:pointer!important;
  display:grid!important;
  gap:2px!important;
  padding:10px!important;
}
.catalogo2-reference .televendas-insight-card p{padding:0 10px 8px!important;margin:0!important;font-size:12px!important;color:#166534!important;}
.catalogo2-reference .televendas-insight-card button{margin:0 10px 10px!important;height:32px!important;border-radius:11px!important;border:0!important;background:#16a34a!important;color:#fff!important;font-weight:900!important;}
@media(max-width:1366px){
  .catalogo2-reference .televendas-workspace{
    grid-template-columns:minmax(500px,1.03fr) minmax(575px,1.18fr) minmax(270px,.56fr)!important;
  }
  .catalogo2-reference .televendas-center{grid-template-columns:176px minmax(0,1fr)!important;}
  .catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
  .catalogo2-reference .televendas-center .whatsapp-shell{grid-template-columns:176px minmax(0,1fr)!important;}
  .catalogo2-reference .televendas-center .chat-sidebar.whatsapp-sidebar,
  .catalogo2-reference .televendas-center .whatsapp-sidebar{width:176px!important;min-width:176px!important;max-width:176px!important;}
}

/* /catalogo-2 - Ciclo #15 fix: forçar ordem final atendimento > catálogo > carrinho */
.catalogo2-reference .televendas-workspace{
  display:grid!important;
  grid-template-columns:minmax(500px,1.03fr) minmax(575px,1.18fr) minmax(270px,.56fr)!important;
  grid-template-areas:none!important;
}
.catalogo2-reference .televendas-center{
  grid-column:1!important;
  grid-row:1!important;
  grid-area:auto!important;
}
.catalogo2-reference .televendas-left{
  grid-column:2!important;
  grid-row:1!important;
  grid-area:auto!important;
}
.catalogo2-reference .televendas-order-board{
  grid-column:3!important;
  grid-row:1!important;
  grid-area:auto!important;
}
.catalogo2-reference .televendas-left .catalogo1-top,
.catalogo2-reference .televendas-left .catalogo1-top.compact,
.catalogo2-reference .televendas-left header.catalogo1-top,
.catalogo2-reference .televendas-left .catalogo1-client,
.catalogo2-reference .televendas-left .catalogo1-context,
.catalogo2-reference .televendas-left .catalogo1-context-compact,
.catalogo2-reference .televendas-left .catalogo1-ai-strip,
.catalogo2-reference .televendas-left .catalogo1-client-panel{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}

/* /catalogo-2 - Ciclo #15 fix 2: ordem visual via order no grid auto-placement */
.catalogo2-reference .televendas-center{order:1!important;}
.catalogo2-reference .televendas-left{order:2!important;}
.catalogo2-reference .televendas-order-board{order:3!important;}
.catalogo2-reference .televendas-side-nav{order:0!important;display:none!important;}

/* /catalogo-2 - Ciclo #15 fix 3: catálogo central com grid visível */
.catalogo2-reference .televendas-left .catalogo1-page{
  display:block!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left .catalogo1-layout{
  display:block!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left .catalogo1-layout > section{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-left .catalogo1-grid{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
}

/* /catalogo-2 - Ciclo #16: atendimento utilizável + Raio-X no bloco carrinho/IA */
.catalogo2-reference.televendas-shell{
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-workspace{
  height:calc(100vh - 62px)!important;
  max-height:calc(100vh - 62px)!important;
  min-height:0!important;
  padding:7px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.catalogo2-reference .televendas-left,
.catalogo2-reference .televendas-center,
.catalogo2-reference .televendas-order-board{
  height:calc(100vh - 76px)!important;
  max-height:calc(100vh - 76px)!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.catalogo2-reference .televendas-center .chat-layout.panel-shell.whatsapp-shell,
.catalogo2-reference .televendas-center .whatsapp-shell{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-center .whatsapp-main,
.catalogo2-reference .televendas-center .chat-main{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.catalogo2-reference .televendas-center .whatsapp-messages,
.catalogo2-reference .televendas-center .chat-messages{
  min-height:0!important;
  overflow:auto!important;
}
.catalogo2-reference .televendas-center .whatsapp-composer,
.catalogo2-reference .televendas-center .chat-composer,
.catalogo2-reference .televendas-center form{
  flex-shrink:0!important;
}
.catalogo2-reference .catalogo2-client-xray{
  order:1!important;
  display:grid!important;
  gap:7px!important;
  padding:9px!important;
  border-radius:16px!important;
  border:1px solid #bfdbfe!important;
  background:linear-gradient(135deg,#eff6ff,#f8fafc)!important;
  color:#0f172a!important;
  flex:0 0 auto!important;
}
.catalogo2-reference .catalogo2-client-xray > div:first-child span{
  display:block!important;
  font-size:10px!important;
  font-weight:1000!important;
  color:#2563eb!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.catalogo2-reference .catalogo2-client-xray > div:first-child strong{
  display:block!important;
  font-size:13px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .catalogo2-xray-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
}
.catalogo2-reference .catalogo2-xray-grid span{
  display:grid!important;
  gap:1px!important;
  padding:6px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
}
.catalogo2-reference .catalogo2-xray-grid small{
  font-size:9px!important;
  color:#64748b!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.catalogo2-reference .catalogo2-xray-grid b{
  font-size:11px!important;
  color:#0f172a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalogo2-reference .catalogo2-client-xray p{
  margin:0!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#1d4ed8!important;
}
.catalogo2-reference .catalogo2-order-client-mini{order:0!important;}
.catalogo2-reference .televendas-order-card{order:2!important;min-height:0!important;}
.catalogo2-reference .televendas-insight-card{order:3!important;}

/* /catalogo-2 - Ciclo #16 fix: compactar bloco 4 para caber carrinho + Raio-X + IA */
.catalogo2-reference .televendas-order-board{
  gap:6px!important;
  padding:7px!important;
  overflow:hidden!important;
}
.catalogo2-reference .catalogo2-order-client-mini{
  min-height:44px!important;
  padding:8px!important;
}
.catalogo2-reference .catalogo2-client-xray{
  gap:5px!important;
  padding:7px!important;
}
.catalogo2-reference .catalogo2-xray-grid{
  grid-template-columns:1fr 1fr 1fr!important;
  gap:4px!important;
}
.catalogo2-reference .catalogo2-xray-grid span{
  padding:5px!important;
}
.catalogo2-reference .catalogo2-xray-grid small{font-size:8px!important;}
.catalogo2-reference .catalogo2-xray-grid b{font-size:10px!important;}
.catalogo2-reference .catalogo2-client-xray p{font-size:10px!important;line-height:1.15!important;}
.catalogo2-reference .televendas-order-card{
  flex:1 1 auto!important;
  min-height:145px!important;
  overflow:hidden!important;
  padding:8px!important;
}
.catalogo2-reference .televendas-order-items{
  min-height:0!important;
  overflow:auto!important;
}
.catalogo2-reference .televendas-insight-card{
  flex:0 0 auto!important;
  min-height:76px!important;
  max-height:96px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-insight-card summary{padding:7px!important;}
.catalogo2-reference .televendas-insight-card p{font-size:10px!important;line-height:1.15!important;padding:0 8px 5px!important;}
.catalogo2-reference .televendas-insight-card button{height:26px!important;margin:0 8px 7px!important;font-size:10px!important;}

/* /catalogo-2 - Ciclo #17: prazo/tabela/IA do catálogo-1 + toggle sem escurecer chat */
.catalogo2-reference.televendas-conversations-open .televendas-center::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
  pointer-events:none!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-main,
.catalogo2-reference.televendas-conversations-open .televendas-center .chat-main.whatsapp-main{
  filter:none!important;
  opacity:1!important;
  background:#fbfaf9!important;
  pointer-events:auto!important;
}
.catalogo2-reference.televendas-conversations-open .televendas-center .whatsapp-sidebar{
  box-shadow:8px 0 26px rgba(15,23,42,.10)!important;
  background:#fff!important;
}
.catalogo2-reference .televendas-insight-card{display:none!important;}
.catalogo2-reference .catalogo2-client-xray{
  overflow:auto!important;
  max-height:360px!important;
  padding:7px!important;
}
.catalogo2-reference .catalogo2-xray-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:6px!important;
}
.catalogo2-reference .catalogo2-xray-head button,
.catalogo2-reference .catalogo2-ai-functions button{
  border:0!important;
  border-radius:10px!important;
  background:#1d4ed8!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  padding:6px 8px!important;
  cursor:pointer!important;
}
.catalogo2-reference .catalogo2-xray-controls{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
}
.catalogo2-reference .catalogo2-xray-controls label{
  display:grid!important;
  gap:2px!important;
  padding:5px!important;
  background:#fff!important;
  border:1px solid #dbeafe!important;
  border-radius:11px!important;
}
.catalogo2-reference .catalogo2-xray-controls small{
  font-size:8px!important;
  font-weight:1000!important;
  color:#2563eb!important;
  text-transform:uppercase!important;
}
.catalogo2-reference .catalogo2-xray-controls select{
  width:100%!important;
  border:0!important;
  background:#eff6ff!important;
  color:#0f172a!important;
  border-radius:8px!important;
  height:26px!important;
  font-size:11px!important;
  font-weight:800!important;
}
.catalogo2-reference .catalogo2-ai-functions{
  display:grid!important;
  gap:6px!important;
  padding:7px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#ecfdf5,#fff7ed)!important;
  border:1px solid #bbf7d0!important;
}
.catalogo2-reference .catalogo2-ai-functions span{
  color:#047857!important;
  font-size:9px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
}
.catalogo2-reference .catalogo2-ai-functions strong{font-size:12px!important;color:#064e3b!important;}
.catalogo2-reference .catalogo2-ai-functions p{font-size:10px!important;margin:0!important;color:#166534!important;line-height:1.2!important;}
.catalogo2-reference .catalogo2-suggestion-list{
  display:grid!important;
  gap:5px!important;
}
.catalogo2-reference .catalogo2-suggestion-list h3{
  margin:0!important;
  font-size:11px!important;
  color:#0f172a!important;
}
.catalogo2-reference .catalogo2-suggestion-list button{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:5px!important;
  text-align:left!important;
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  border-radius:11px!important;
  padding:6px!important;
  cursor:pointer!important;
}
.catalogo2-reference .catalogo2-suggestion-list button span{grid-row:1/3!important;align-self:center!important;}
.catalogo2-reference .catalogo2-suggestion-list button strong{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#0f172a!important;}
.catalogo2-reference .catalogo2-suggestion-list button small{font-size:9px!important;color:#64748b!important;}
.catalogo2-reference .televendas-order-card{min-height:165px!important;}

/* /catalogo-2 - Ciclo #17 fix: carrinho sem sobreposição de controles */
.catalogo2-reference .televendas-order-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  gap:6px!important;
  overflow:hidden!important;
}
.catalogo2-reference .televendas-order-items{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.catalogo2-reference .televendas-order-item{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  gap:5px!important;
  padding:7px!important;
  border-radius:12px!important;
}
.catalogo2-reference .televendas-order-qty{
  position:relative!important;
  z-index:5!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  align-items:center!important;
}
.catalogo2-reference .televendas-order-qty button,
.catalogo2-reference .televendas-remove-item{
  position:relative!important;
  z-index:10!important;
  pointer-events:auto!important;
}
.catalogo2-reference .televendas-order-actions,
.catalogo2-reference .televendas-copy-order{
  position:relative!important;
  z-index:1!important;
  flex-shrink:0!important;
}

/* /catalogo-2 - Ciclo #17 fix 2: reservar área real para itens do carrinho */
.catalogo2-reference .catalogo2-client-xray{
  max-height:270px!important;
  flex:0 0 270px!important;
}
.catalogo2-reference .catalogo2-suggestion-list{
  max-height:105px!important;
  overflow:auto!important;
}
.catalogo2-reference .televendas-order-card{
  flex:1 1 250px!important;
  min-height:245px!important;
  max-height:none!important;
  grid-template-rows:auto minmax(92px,1fr) auto auto!important;
}
.catalogo2-reference .televendas-order-items{
  min-height:92px!important;
  height:auto!important;
  overflow:auto!important;
}
.catalogo2-reference .televendas-order-actions{
  margin-top:0!important;
}
.catalogo2-reference .catalogo2-top-selectors{display:flex!important;gap:8px!important;align-items:center!important}
.catalogo2-reference .catalogo2-top-selectors label{height:46px!important;min-width:82px!important;border:1px solid #E2E8F0!important;border-radius:13px!important;background:#fff!important;padding:4px 8px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important}
.catalogo2-reference .catalogo2-top-selectors small{font-size:8px!important;text-transform:uppercase!important;font-weight:950!important;color:#64748B!important;line-height:1!important}
.catalogo2-reference .catalogo2-top-selectors select{border:0!important;background:transparent!important;font-size:11px!important;font-weight:950!important;color:#0F172A!important;outline:none!important;width:100%!important}
.catalogo2-reference .catalogo2-xray-controls,.catalogo2-reference .catalogo2-xray-grid,.catalogo2-reference .catalogo2-ai-functions,.catalogo2-reference .catalogo2-order-client-mini{display:none!important}
.catalogo2-reference .catalogo2-mount-order-btn{width:100%!important;height:38px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#1E40AF,#2563EB)!important;color:#fff!important;font-weight:950!important;cursor:pointer!important;margin-top:8px!important;box-shadow:0 14px 30px rgba(30,64,175,.22)!important}
.catalogo2-ficha-modal{position:fixed;inset:0;z-index:9999;background:rgba(20,10,6,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.catalogo2-ficha-modal>div{width:min(720px,94vw);background:#fff;border-radius:20px;border:1px solid #E2E8F0;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:18px}
.catalogo2-ficha-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.catalogo2-ficha-grid span{border:1px solid #E2E8F0;border-radius:14px;padding:10px;background:#fffaf7}.catalogo2-ficha-grid small{display:block;font-size:10px;text-transform:uppercase;font-weight:950;color:#8a6b60}.catalogo2-ficha-grid b{font-size:13px;color:#2b1914}
@media(max-width:1100px){.catalogo2-ficha-grid{grid-template-columns:repeat(2,1fr)}}
/* Ajuste Rafael 2026-07-12: limpar bloco IA residual e evitar botão Ficha solto no bloco direito */
.catalogo2-reference .televendas-center .catalogo2-ai-suggestion-top,
.catalogo2-reference .catalogo2-ai-suggestion-top{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;position:absolute!important;pointer-events:none!important}
.catalogo2-reference .catalogo2-client-xray{overflow:visible!important;max-height:none!important;padding:10px!important;display:block!important}
.catalogo2-reference .catalogo2-xray-head{display:block!important;margin-bottom:8px!important}
.catalogo2-reference .catalogo2-xray-head button{display:none!important}
.catalogo2-reference .catalogo2-suggestion-list{margin-top:0!important}


/* Ciclo DS 2026-07-24 09:04 — reforço azul corporativo em Compras */
.compras-page .compras-hero {
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, .18), transparent 38%),
    linear-gradient(135deg, #0f172a 0%, #1e40af 56%, #2563eb 100%);
  box-shadow: 0 22px 52px rgba(30, 64, 175, .18);
}
.leadtime-page .leadtime-hero {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, .20), transparent 38%),
    linear-gradient(135deg, #0f172a 0%, #1e40af 58%, #0ea5e9 100%);
  box-shadow: 0 22px 52px rgba(30, 64, 175, .18);
}

/* Design System cycle 2026-07-30: neutraliza acentos quentes no painel auxiliar de televendas sem alterar fluxo */
.sales-link-card,
.sales-cart-card {
  background: linear-gradient(180deg, #EFF6FF 0%, #FFFFFF 100%);
  border-color: #BFDBFE;
  box-shadow: 0 10px 24px rgba(30, 64, 175, 0.08);
}

.sales-link-card strong,
.sales-cart-card strong {
  color: #1E40AF;
}

.sales-link-card p,
.sales-cart-card p {
  color: #475569;
}

.sales-customer-card button {
  border-color: #BFDBFE;
  background: #EFF6FF;
  color: #1E40AF;
}

.sales-customer-card button:hover {
  background: #DBEAFE;
  color: #0F172A;
}

/* Design System cycle 2026-07-30 09:04 UTC: alinha modal de ficha do Catálogo/Televendas aos tokens SaaS Enterprise */
.catalogo2-ficha-modal {
  background: rgba(15, 23, 42, .48) !important;
  backdrop-filter: blur(6px) !important;
}

.catalogo2-ficha-modal > div {
  background: #FFFFFF !important;
  border-color: #E2E8F0 !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important;
}

.catalogo2-ficha-grid span {
  background: #F8FAFC !important;
  border-color: #E2E8F0 !important;
}

.catalogo2-ficha-grid small {
  color: #64748B !important;
}

.catalogo2-ficha-grid b {
  color: #0F172A !important;
}

/* Design System polish: neutraliza acentos quentes no card auxiliar da IA em Atendimento/Televendas. */
.atendimento-vendas-main .assistant-link-card {
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%) !important;
  border-color: #bfdbfe !important;
  box-shadow: 0 10px 24px rgba(30, 64, 175, 0.08) !important;
}

.atendimento-vendas-main .assistant-link-card strong {
  color: #1e40af !important;
}

.atendimento-vendas-main .assistant-link-card p {
  color: #475569 !important;
}

/* Design System cycle 2026-07-30 15:04 UTC: neutraliza acento quente residual no bloco de IA do Catálogo/Televendas. */
.catalogo2-reference .catalogo2-ai-functions {
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%) !important;
  border-color: #bfdbfe !important;
  box-shadow: 0 10px 24px rgba(30, 64, 175, 0.08) !important;
}

.catalogo2-reference .catalogo2-ai-functions span,
.catalogo2-reference .catalogo2-ai-functions strong {
  color: #1e40af !important;
}

.catalogo2-reference .catalogo2-ai-functions p {
  color: #475569 !important;
}

@media (max-width: 640px) {
  .catalogo2-ficha-modal {
    align-items: flex-start !important;
    padding: 12px !important;
    overflow: auto !important;
  }

  .catalogo2-ficha-modal > div {
    width: min(100%, 720px) !important;
    border-radius: 16px !important;
    padding: 14px !important;
  }

  .catalogo2-ficha-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Design System cycle 2026-07-31 06:04 UTC: focus-visible global corporativo e refinamento de scrollbar.
   Estende o padrao de acessibilidade/UX do Design System para todos os elementos interativos,
   garantindo feedback consistente em navegacao por teclado sem alterar fluxo, API, backend ou banco. */

/* Focus-visible corporativo: outline azul destaque com offset confortavel */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(30, 64, 175, .35) !important;
  outline-offset: 2px !important;
  border-radius: inherit;
}

@media (prefers-reduced-motion: reduce) {
  button:focus-visible,
  a:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  [role="button"]:focus-visible,
  [tabindex]:focus-visible {
    transition: none !important;
  }
}

/* Scrollbar corporativa refinada para area de conteudo principal */
.page-inner {
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, .3) transparent;
}

.page-inner::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.page-inner::-webkit-scrollbar-track {
  background: transparent;
}

.page-inner::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, .28);
  background-clip: padding-box;
  border: 2px solid transparent;
  border-radius: 8px;
}

.page-inner::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, .45);
  background-clip: padding-box;
}

/* Design System cycle 2026-08-01 09:04 UTC: neutraliza acentos laranja no atendimento/catalogo operacional sem alterar fluxo */
.catalogo2-reference .televendas-order-qty label {
  border-color: #BFDBFE !important;
  background: #EFF6FF !important;
  color: #1E40AF !important;
}

.catalogo2-reference .televendas-order-qty label button {
  color: #1E40AF !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(30, 64, 175, .08) !important;
}

.catalogo2-reference .televendas-order-qty label button:hover {
  background: #DBEAFE !important;
}

.catalogo2-reference .televendas-center .chat-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item {
  border-color: #E2E8F0 !important;
}

.catalogo2-reference .televendas-center .chat-conversation-item.active,
.catalogo2-reference .televendas-center .whatsapp-conversation-item.active {
  border-color: #2563EB !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .14) !important;
}

/* Design System cycle 2026-08-01 12:04 UTC — neutralize warm conversation hover accents */
.catalogo2-reference .televendas-center .chat-conversation-list{
  background:#F8FAFC!important;
  border-color:#E2E8F0!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item,
.catalogo2-reference .televendas-center .whatsapp-conversation-item{
  border-color:#E2E8F0!important;
  background:#FFFFFF!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.whatsapp-conversation-item:hover,
.catalogo2-reference .televendas-center .whatsapp-conversation-item:hover{
  border-color:#BFDBFE!important;
  background:#EFF6FF!important;
  box-shadow:0 10px 20px rgba(37,99,235,.12)!important;
}
.catalogo2-reference .televendas-center .chat-conversation-item.active,
.catalogo2-reference .televendas-center .whatsapp-conversation-item.active{
  background:linear-gradient(135deg,#1E40AF,#2563EB)!important;
  color:#FFFFFF!important;
  border-color:#2563EB!important;
  box-shadow:0 12px 24px rgba(37,99,235,.18)!important;
}

/* Ciclo DS — Televendas: busca de cliente alinhada ao padrão corporativo */
.catalogo1-page .catalogo1-client label > div {
  position: relative;
}
.catalogo1-page .catalogo1-client label > div::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .72;
  background: #1e40af;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.catalogo1-page .catalogo1-client label > div input {
  padding-left: 42px !important;
  border-color: #dbe3ef;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
}
.catalogo1-page .catalogo1-client label > div input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}
.catalogo1-page .catalogo1-client label > div button {
  border: 1px solid rgba(37, 99, 235, .18);
  box-shadow: 0 8px 18px rgba(30, 64, 175, .10);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.catalogo1-page .catalogo1-client label > div button:hover {
  background: #eff6ff;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(30, 64, 175, .14);
}
@media (max-width: 720px) {
  .catalogo1-page .catalogo1-client label > div {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .catalogo1-page .catalogo1-client label > div button {
    width: 100%;
  }
}

/* Ciclo DS — estados vazios compactos em painéis densos de compras */
.compras-page .compact-empty {
  margin-top: 14px;
  padding: 18px 16px;
  border: 1px dashed rgba(30, 64, 175, 0.22);
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

/* Ciclo DS — neutralização de acentos quentes em cards auxiliares do Atendimento */
.clear-conversation-btn:hover {
  background: #eff6ff !important;
  color: #1e40af !important;
}

.atendimento-vendas-main .assistant-link-card,
.sales-link-card {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  box-shadow: 0 8px 20px rgba(30, 64, 175, .08) !important;
}

.atendimento-vendas-main .assistant-link-card p,
.sales-link-card p {
  color: #475569 !important;
}

/* Ciclo DS — neutralização fina de badges quentes no Atendimento */
.alerts-section,
.atendimento-test-main .ticket-chip.warning {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1e40af !important;
}

.atendimento-vendas-main .assistant-link-card strong,
.sales-link-card strong {
  color: #1e40af !important;
}

/* Design System cycle 2026-08-02 15:04 UTC: neutralize warm AI helper panel residue in atendimento/catalogo operational shell */
.catalogo2-reference .catalogo2-ai-functions{
  background:linear-gradient(135deg,#EFF6FF,#FFFFFF)!important;
  border-color:#BFDBFE!important;
  box-shadow:0 10px 24px rgba(30,64,175,.08)!important;
}
.catalogo2-reference .catalogo2-ai-functions span{
  color:#1E40AF!important;
}
.catalogo2-reference .catalogo2-ai-functions strong{
  color:#0F172A!important;
}
.catalogo2-reference .catalogo2-ai-functions p{
  color:#475569!important;
}

/* Design System cycle - responsive purchasing tables */
@media (max-width: 760px) {
  .compras-page .refined-wrap,
  .leadtime-page .refined-wrap {
    overflow-x: visible;
  }

  .compras-page .compras-table,
  .leadtime-page .leadtime-table {
    width: 100%;
    min-width: 0;
  }

  .compras-page .compras-table tr,
  .leadtime-page .leadtime-table tr {
    padding: 12px 14px;
  }

  .compras-page .compras-table td,
  .leadtime-page .leadtime-table td {
    display: grid;
    grid-template-columns: minmax(96px, .42fr) minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .compras-page .compras-table td::before,
  .leadtime-page .leadtime-table td::before {
    margin: 2px 0 0;
    line-height: 1.25;
  }

  .compras-page .compras-table .cell-title,
  .compras-page .compras-table .cell-sub,
  .compras-page .compras-table .ellipsis-cell,
  .leadtime-page .leadtime-table .cell-title,
  .leadtime-page .leadtime-table .cell-sub,
  .leadtime-page .leadtime-table .ellipsis-cell {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  .compras-page .compras-table .status-pill {
    max-width: 100%;
    justify-self: start;
    white-space: normal;
  }

  .leadtime-page .leadtime-table .mini-input,
  .leadtime-page .leadtime-table .secondary-btn.small {
    min-height: 40px;
  }
}

/* Design System cycle 2026-08-03 00:04 UTC: responsive QA guardrails for dense enterprise routes.
   Visual/CSS only: improves wrapping, hit areas and overflow safety without changing flows, API, backend or data. */
.route-dashboard .panel-head,
.route-dashboard-cobranca .panel-head,
.route-campanhas-cobranca .panel-head,
.route-atendimento .panel-head,
.route-relatorios .panel-head,
.route-relatorios-pdf .panel-head,
.route-usuarios .panel-head,
.route-grupos .panel-head,
.route-sincronizacao .panel-head,
.route-whatsapp-config .panel-head,
.route-contatos .panel-head {
  gap: 14px;
}

.route-dashboard .panel-head > *,
.route-dashboard-cobranca .panel-head > *,
.route-campanhas-cobranca .panel-head > *,
.route-atendimento .panel-head > *,
.route-relatorios .panel-head > *,
.route-relatorios-pdf .panel-head > *,
.route-usuarios .panel-head > *,
.route-grupos .panel-head > *,
.route-sincronizacao .panel-head > *,
.route-whatsapp-config .panel-head > *,
.route-contatos .panel-head > * {
  min-width: 0;
}

.route-dashboard .panel-head h2,
.route-dashboard-cobranca .panel-head h2,
.route-campanhas-cobranca .panel-head h2,
.route-atendimento .panel-head h2,
.route-relatorios .panel-head h2,
.route-relatorios-pdf .panel-head h2,
.route-usuarios .panel-head h2,
.route-grupos .panel-head h2,
.route-sincronizacao .panel-head h2,
.route-whatsapp-config .panel-head h2,
.route-contatos .panel-head h2,
.route-dashboard .panel-subtitle,
.route-dashboard-cobranca .panel-subtitle,
.route-campanhas-cobranca .panel-subtitle,
.route-atendimento .panel-subtitle,
.route-relatorios .panel-subtitle,
.route-relatorios-pdf .panel-subtitle,
.route-usuarios .panel-subtitle,
.route-grupos .panel-subtitle,
.route-sincronizacao .panel-subtitle,
.route-whatsapp-config .panel-subtitle,
.route-contatos .panel-subtitle {
  overflow-wrap: anywhere;
}

.route-dashboard .table-wrap,
.route-dashboard-cobranca .table-wrap,
.route-campanhas-cobranca .table-wrap,
.route-atendimento .table-wrap,
.route-relatorios .table-wrap,
.route-relatorios-pdf .table-wrap,
.route-usuarios .table-wrap,
.route-grupos .table-wrap,
.route-sincronizacao .table-wrap,
.route-whatsapp-config .table-wrap,
.route-contatos .table-wrap {
  scrollbar-width: thin;
  scrollbar-color: rgba(30, 64, 175, .28) transparent;
}

@media (max-width: 900px) {
  .route-dashboard .hero-row,
  .route-dashboard-cobranca .hero-row,
  .route-campanhas-cobranca .hero-row,
  .route-atendimento .hero-row,
  .route-relatorios .hero-row,
  .route-relatorios-pdf .hero-row,
  .route-usuarios .hero-row,
  .route-grupos .hero-row,
  .route-sincronizacao .hero-row,
  .route-whatsapp-config .hero-row,
  .route-contatos .hero-row,
  .route-dashboard .panel-head,
  .route-dashboard-cobranca .panel-head,
  .route-campanhas-cobranca .panel-head,
  .route-atendimento .panel-head,
  .route-relatorios .panel-head,
  .route-relatorios-pdf .panel-head,
  .route-usuarios .panel-head,
  .route-grupos .panel-head,
  .route-sincronizacao .panel-head,
  .route-whatsapp-config .panel-head,
  .route-contatos .panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .route-dashboard .hero-actions,
  .route-dashboard-cobranca .hero-actions,
  .route-campanhas-cobranca .hero-actions,
  .route-atendimento .hero-actions,
  .route-relatorios .hero-actions,
  .route-relatorios-pdf .hero-actions,
  .route-usuarios .hero-actions,
  .route-grupos .hero-actions,
  .route-sincronizacao .hero-actions,
  .route-whatsapp-config .hero-actions,
  .route-contatos .hero-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .route-dashboard .toolbar-grid,
  .route-dashboard-cobranca .toolbar-grid,
  .route-campanhas-cobranca .toolbar-grid,
  .route-atendimento .toolbar-grid,
  .route-relatorios .toolbar-grid,
  .route-relatorios-pdf .toolbar-grid,
  .route-usuarios .toolbar-grid,
  .route-grupos .toolbar-grid,
  .route-sincronizacao .toolbar-grid,
  .route-whatsapp-config .toolbar-grid,
  .route-contatos .toolbar-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
}

@media (max-width: 640px) {
  .route-dashboard .hero-actions > *,
  .route-dashboard-cobranca .hero-actions > *,
  .route-campanhas-cobranca .hero-actions > *,
  .route-atendimento .hero-actions > *,
  .route-relatorios .hero-actions > *,
  .route-relatorios-pdf .hero-actions > *,
  .route-usuarios .hero-actions > *,
  .route-grupos .hero-actions > *,
  .route-sincronizacao .hero-actions > *,
  .route-whatsapp-config .hero-actions > *,
  .route-contatos .hero-actions > *,
  .route-dashboard .panel-head button,
  .route-dashboard-cobranca .panel-head button,
  .route-campanhas-cobranca .panel-head button,
  .route-atendimento .panel-head button,
  .route-relatorios .panel-head button,
  .route-relatorios-pdf .panel-head button,
  .route-usuarios .panel-head button,
  .route-grupos .panel-head button,
  .route-sincronizacao .panel-head button,
  .route-whatsapp-config .panel-head button,
  .route-contatos .panel-head button {
    width: 100%;
  }

  .route-dashboard .filter-field,
  .route-dashboard-cobranca .filter-field,
  .route-campanhas-cobranca .filter-field,
  .route-atendimento .filter-field,
  .route-relatorios .filter-field,
  .route-relatorios-pdf .filter-field,
  .route-usuarios .filter-field,
  .route-grupos .filter-field,
  .route-sincronizacao .filter-field,
  .route-whatsapp-config .filter-field,
  .route-contatos .filter-field {
    min-width: 0;
  }
}

/* Bot resumo diário: camada visual/responsiva enterprise sem alterar fluxo */
.route-bot-resumo .toolbar-grid.refined-schedule {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  align-items: end;
  gap: 16px;
}
.route-bot-resumo .metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.route-bot-resumo .bottom-grid.refined-bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.route-bot-resumo .webhook-url {
  max-height: 340px;
  overflow: auto;
  line-height: 1.65;
  font-size: 13px;
}
.route-bot-resumo .modern-table th,
.route-bot-resumo .modern-table td {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .route-bot-resumo .bottom-grid.refined-bottom {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .route-bot-resumo .hero-actions,
  .route-bot-resumo .hero-actions > *,
  .route-bot-resumo .panel-head button,
  .route-bot-resumo .toolbar-grid.refined-schedule > button {
    width: 100%;
  }
  .route-bot-resumo .panel-head {
    flex-direction: column;
  }
  .route-bot-resumo .metric-grid {
    grid-template-columns: 1fr;
  }
}

/* Contatos: refinamento responsivo da central sem alterar fluxo */
.route-contatos .panel-head.compact-head {
  align-items: flex-start;
  gap: 16px;
}
.route-contatos .panel-head.compact-head > div:first-child {
  min-width: 0;
  max-width: 760px;
}
.route-contatos .contacts-filter-toolbar {
  grid-template-columns: minmax(min(100%, 320px), 1fr);
  gap: 14px;
}
.route-contatos .contacts-filter-toolbar .contacts-search-field {
  width: 100%;
  max-width: 860px;
}
.route-contatos .contacts-filter-toolbar .inline-filter-action input {
  min-height: 48px;
}
.route-contatos .modern-table th,
.route-contatos .modern-table td {
  vertical-align: top;
}
.route-contatos .modern-table td[data-label="Última mensagem"] {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .route-contatos .panel-head.compact-head {
    flex-direction: column;
  }
  .route-contatos .segmented-tabs {
    width: 100%;
  }
  .route-contatos .contacts-filter-toolbar {
    padding: 10px;
  }
}
@media (max-width: 640px) {
  .route-contatos .hero-actions,
  .route-contatos .hero-actions > *,
  .route-contatos .contacts-filter-toolbar .contacts-search-field,
  .route-contatos .contacts-filter-toolbar .inline-filter-action,
  .route-contatos .contacts-filter-toolbar .inline-filter-action input {
    width: 100%;
  }
  .route-contatos .modern-table tr {
    padding: 12px;
  }
  .route-contatos .modern-table td {
    display: grid;
    grid-template-columns: minmax(96px, .42fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
  }
  .route-contatos .modern-table td::before {
    margin-bottom: 0;
  }
  .route-contatos .modern-table td .cell-title,
  .route-contatos .modern-table td .cell-sub {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Campanhas de cobrança: refinamento responsivo/UX do builder sem alterar fluxo */
.route-campanhas-cobranca .webhook-info-row {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}
.route-campanhas-cobranca .webhook-url,
.route-campanhas-cobranca .message-preview.light,
.route-campanhas-cobranca .modern-table td[data-label="Mensagem"],
.route-campanhas-cobranca .modern-table td[data-label="Webhook"] {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.route-campanhas-cobranca .message-preview.light {
  width: 100%;
  min-height: 280px;
  resize: vertical;
  font-size: 14px;
  line-height: 1.7;
}
.route-campanhas-cobranca .row-actions {
  min-width: 0;
}
.route-campanhas-cobranca .row-actions .small-btn {
  min-height: 38px;
}
@media (max-width: 900px) {
  .route-campanhas-cobranca .webhook-info-row,
  .route-campanhas-cobranca .bottom-grid.campaign-layout {
    grid-template-columns: 1fr;
  }
  .route-campanhas-cobranca .head-badges,
  .route-campanhas-cobranca .row-actions {
    width: 100%;
  }
  .route-campanhas-cobranca .head-badges .soft-badge,
  .route-campanhas-cobranca .row-actions .small-btn {
    flex: 1 1 160px;
    justify-content: center;
  }
}
@media (max-width: 640px) {
  .route-campanhas-cobranca .message-preview.light {
    min-height: 220px;
  }
  .route-campanhas-cobranca .modern-table tr {
    padding: 12px;
  }
  .route-campanhas-cobranca .modern-table td {
    display: grid;
    grid-template-columns: minmax(96px, .42fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
  }
  .route-campanhas-cobranca .modern-table td::before {
    margin-bottom: 0;
  }
}

/* Ciclo DS 2026-08-04 00:04 UTC — Televendas: remove resíduos quentes mantendo somente camada visual */
.catalogo1-page .catalogo1-top.compact {
  background: linear-gradient(135deg, #0f172a 0%, #1e40af 58%, #2563eb 100%) !important;
}
.catalogo1-page .catalogo1-ai-strip {
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%) !important;
  border-color: #bfdbfe !important;
  box-shadow: 0 12px 30px rgba(30, 64, 175, .08) !important;
}
.catalogo1-page .catalogo1-ai-strip span,
.catalogo1-page .catalogo1-client-panel-head span {
  color: #1e40af !important;
}
.catalogo1-page .catalogo1-ai-strip button,
.catalogo1-page .catalogo1-suggestion-body button,
.catalogo1-page .catalogo1-card-actions button:first-child,
.catalogo1-page .catalogo1-finish,
.catalogo1-page .catalogo1-client button {
  background: linear-gradient(135deg, #1e40af, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(30, 64, 175, .18) !important;
}
.catalogo1-page .catalogo1-ai-meter {
  background: #dbeafe !important;
}
.catalogo1-page .catalogo1-ai-meter i {
  background: linear-gradient(90deg, #10b981, #0ea5e9, #1e40af) !important;
}
.catalogo1-page .catalogo1-card > strong,
.catalogo1-page .catalogo1-cart-head b,
.catalogo1-page .catalogo2-product-price {
  color: #1e40af !important;
}
.catalogo1-page .catalogo1-badges span {
  background: #eff6ff !important;
  color: #1e40af !important;
}

/* Ciclo DS — Relatórios PDF com tabela/card mais legível em mobile e zoom */
.route-relatorios-pdf .main-panel .modern-table td {
  vertical-align: top;
}
.route-relatorios-pdf .main-panel .cell-title,
.route-relatorios-pdf .main-panel .cell-sub {
  min-width: 0;
  overflow-wrap: anywhere;
}
.route-relatorios-pdf .main-panel td.negative.strong {
  color: #b91c1c;
  font-weight: 900;
}
@media (max-width: 760px) {
  .route-relatorios-pdf .main-panel .modern-table tr {
    padding: 12px;
  }
  .route-relatorios-pdf .main-panel .modern-table td {
    display: grid;
    grid-template-columns: minmax(104px, .42fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
  }
  .route-relatorios-pdf .main-panel .modern-table td::before {
    margin-bottom: 0;
  }
  .route-relatorios-pdf .main-panel .empty-state-cell {
    display: block;
  }
}

/* Ciclo DS — Relatórios PDF com deltas financeiros em badge compacto.
   Visual only: usa métricas reais já renderizadas e preserva API/fluxo/PDF/backend. */
.metric-delta-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  max-width: 100%;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  border: 1px solid transparent;
}
.metric-delta-pill.danger {
  color: #b91c1c;
  background: #fef2f2;
  border-color: #fecaca;
}
.route-relatorios-pdf .main-panel .metric-delta-pill {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}
@media (max-width: 760px) {
  .route-relatorios-pdf .main-panel .metric-delta-pill {
    justify-self: start;
    white-space: normal;
    text-align: left;
  }
}

/* Ciclo DS — Dashboard cobrança com tabelas/card mais legíveis em mobile e zoom.
   Visual only: preserva dados, API, backend, banco e fluxo existentes. */
.route-dashboard-cobranca .modern-table td {
  vertical-align: top;
}
.route-dashboard-cobranca .modern-table .cell-title,
.route-dashboard-cobranca .modern-table .cell-sub,
.route-dashboard-cobranca .modern-table td {
  min-width: 0;
  overflow-wrap: anywhere;
}
.route-dashboard-cobranca .metric-delta-pill {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}
@media (max-width: 760px) {
  .route-dashboard-cobranca .modern-table tr {
    padding: 12px;
  }
  .route-dashboard-cobranca .modern-table td {
    display: grid;
    grid-template-columns: minmax(108px, .42fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
  }
  .route-dashboard-cobranca .modern-table td::before {
    margin-bottom: 0;
  }
  .route-dashboard-cobranca .modern-table .metric-delta-pill,
  .route-dashboard-cobranca .modern-table .status-pill {
    justify-self: start;
    white-space: normal;
    text-align: left;
  }
  .route-dashboard-cobranca .pagination-row {
    align-items: stretch;
  }
  .route-dashboard-cobranca .pagination-row > span {
    text-align: center;
  }
  .route-dashboard-cobranca .empty-state-cell {
    display: block;
  }
}

/* Design System cycle 2026-08-04 18:04 UTC: dashboard cobrança filters density/zoom polish */
.route-dashboard-cobranca .campaign-dashboard-filters {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  align-items: end;
  gap: 16px;
}
.route-dashboard-cobranca .campaign-dashboard-filters .filter-field {
  min-width: 0;
}
.route-dashboard-cobranca .campaign-dashboard-filters .filter-field:has(.inline-filter-action) {
  grid-column: span 2;
}
.route-dashboard-cobranca .campaign-dashboard-filters > button {
  width: 100%;
  min-width: 0;
}
.route-dashboard-cobranca .inline-date-action,
.route-dashboard-cobranca .inline-filter-action {
  width: 100%;
}
.route-dashboard-cobranca .inline-date-action input,
.route-dashboard-cobranca .inline-filter-action input {
  min-width: 0;
}
@media (max-width: 900px) {
  .route-dashboard-cobranca .campaign-dashboard-filters .filter-field:has(.inline-filter-action) {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .route-dashboard-cobranca .campaign-dashboard-filters {
    grid-template-columns: 1fr;
  }
  .route-dashboard-cobranca .campaign-dashboard-filters .filter-field:has(.inline-filter-action),
  .route-dashboard-cobranca .campaign-dashboard-filters > button {
    grid-column: auto;
  }
}

/* RW Command Polish — menu agrupado e mesa comercial */
.side-nav-links.grouped {
  gap: 14px !important;
  overflow: auto !important;
  padding-right: 4px;
}
.side-nav-group {
  display: grid;
  gap: 6px;
}
.side-nav-group-title {
  padding: 0 10px 2px;
  color: rgba(226, 232, 240, .54);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.side-nav-links.grouped a {
  min-height: 38px;
  border-radius: 12px;
}
.side-nav-links.grouped a.active {
  background: linear-gradient(135deg, rgba(37,99,235,.32), rgba(30,64,175,.22)) !important;
  box-shadow: inset 3px 0 0 var(--color-brand, #2563eb), 0 10px 24px rgba(15,23,42,.18) !important;
}
.side-brand small { max-width: 132px; }

.dashboard-command-page {
  display: grid;
  gap: 18px;
}
.command-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 18px;
  align-items: stretch;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(191, 219, 254, .44);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(37,99,235,.22), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(16,185,129,.18), transparent 26%),
    linear-gradient(135deg, #0f172a 0%, #1e40af 62%, #2563eb 100%);
  color: #fff;
  box-shadow: var(--shadow-command, 0 18px 48px rgba(15,23,42,.10));
  overflow: hidden;
}
.command-hero-copy { display: grid; gap: 8px; align-content: center; }
.command-hero-copy span,
.command-hero-metric small {
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.command-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 5vw, 58px);
  line-height: .95;
  letter-spacing: -.065em;
}
.command-hero-copy p { max-width: 68ch; margin: 0; color: rgba(255,255,255,.78); font-weight: 750; }
.command-hero-metric {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.command-hero-metric strong { color: #fff; font-size: clamp(28px, 3.8vw, 44px); line-height: 1; letter-spacing: -.055em; }
.command-hero-metric span { color: rgba(255,255,255,.82); font-weight: 800; }
.command-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.command-priority-card {
  position: relative;
  min-height: 152px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 22px;
  background: var(--bg-surface, #fff);
  box-shadow: 0 12px 32px rgba(15,23,42,.07);
  overflow: hidden;
}
.command-priority-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--color-brand, #2563eb);
}
.command-priority-card.danger::before { background: var(--color-national, #8b1d18); }
.command-priority-card.warning::before { background: var(--color-alert, #f59e0b); }
.command-priority-card.success::before,
.command-priority-card.sale::before { background: var(--color-sale, #16a34a); }
.command-priority-card span { color: var(--text-secondary, #64748b); font-size: 11px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.command-priority-card strong { color: var(--text-primary, #0f172a); font-size: clamp(18px, 2vw, 25px); line-height: 1.05; letter-spacing: -.045em; }
.command-priority-card p { margin: 0; color: var(--text-secondary, #64748b); font-size: 13px; line-height: 1.35; font-weight: 700; }
.command-priority-card em { margin-top: auto; color: var(--color-brand-strong, #1e40af); font-style: normal; font-size: 12px; font-weight: 950; }
.command-board-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
  gap: 16px;
  align-items: start;
}
.command-panel { border-radius: 24px !important; box-shadow: 0 14px 36px rgba(15,23,42,.07) !important; }
.command-radar { display: grid; gap: 16px; min-width: 0; }
.command-radar-list { display: grid; gap: 10px; }
.command-radar-item {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: var(--bg-subtle, #f8fafc);
}
.command-radar-item > span { color: var(--color-brand, #2563eb); font-size: 12px; padding-top: 3px; }
.command-radar-item.critical > span,
.command-radar-item.danger > span { color: var(--color-national, #8b1d18); }
.command-radar-item.warning > span { color: var(--color-alert, #f59e0b); }
.command-radar-item.success > span { color: var(--color-sale, #16a34a); }
.command-radar-item strong { display: block; color: var(--text-primary, #0f172a); font-size: 13px; }
.command-radar-item p { margin: 2px 0 0; color: var(--text-secondary, #64748b); font-size: 12px; line-height: 1.35; }
.command-radar-item small { color: var(--text-muted, #94a3b8); font-weight: 800; }
.command-mix-list { margin-top: 14px; }
@media (max-width: 1280px) {
  .command-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .command-board-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .command-hero { grid-template-columns: 1fr; border-radius: 22px; }
  .command-action-grid { grid-template-columns: 1fr; }
  .command-priority-card { min-height: auto; }
}


/* BI Nacional - PBIX migration dashboard */
.bi-nacional-page { display: grid; gap: 18px; }
.bi-hero-row { align-items: stretch; }
.bi-warning-box { border-color: rgba(245, 158, 11, .32); background: rgba(245, 158, 11, .08); }
.bi-warning-box strong { display: block; margin-bottom: 6px; color: #b45309; }
.bi-warning-box p { margin-bottom: 6px; color: var(--text-primary); }
.bi-filter-panel { padding: 16px; }
.bi-filter-grid { grid-template-columns: repeat(5, minmax(150px, 1fr)) auto auto; align-items: end; }
.bi-exec-kpi { min-height: 132px; }
.bi-exec-kpi.success { border-color: rgba(22, 163, 74, .24); }
.bi-exec-kpi.warning { border-color: rgba(245, 158, 11, .32); }
.bi-exec-kpi.critical { border-color: rgba(220, 38, 38, .32); }
.bi-module-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.bi-module-card { display: grid; gap: 6px; padding: 16px; }
.bi-module-card span { color: var(--text-secondary); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bi-module-card strong { font-size: 20px; }
.bi-module-card.mvp { border-color: rgba(37, 99, 235, .22); }
.bi-module-card.aguardando_dados { border-color: rgba(245, 158, 11, .30); }
.bi-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr); gap: 16px; align-items: stretch; }
.bi-wide-panel { min-width: 0; }
.bi-daily-bars { height: 260px; display: flex; align-items: end; gap: 6px; padding-top: 18px; overflow-x: auto; }
.bi-daily-bar { min-width: 34px; height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 6px; text-align: center; color: var(--text-secondary); font-size: 11px; }
.bi-daily-bar div { position: relative; display: flex; align-items: end; justify-content: center; min-height: 120px; border-radius: 12px; background: rgba(148, 163, 184, .12); overflow: hidden; }
.bi-daily-bar i { width: 100%; display: block; border-radius: 12px 12px 0 0; background: linear-gradient(180deg, #2563eb, #0ea5e9); }
.bi-category-list, .bi-source-list { display: grid; gap: 10px; }
.bi-category-row { display: grid; gap: 8px; }
.bi-category-row div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.bi-category-row strong { font-size: 13px; }
.bi-category-row span { color: var(--text-secondary); font-size: 12px; }
.bi-category-row em { height: 8px; border-radius: 999px; background: rgba(148, 163, 184, .14); overflow: hidden; }
.bi-category-row em i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1e40af, #16a34a); }
.bi-bottom-grid { align-items: start; }
.bi-source-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 12px; border: 1px solid rgba(148, 163, 184, .16); border-radius: 14px; background: rgba(255,255,255,.03); }
.bi-source-row div { min-width: 0; }
.bi-source-row strong { display: block; font-size: 13px; }
.bi-source-row span:not(.status-pill), .bi-source-row small { color: var(--text-secondary); font-size: 11px; }
.bi-source-row small { grid-column: 1 / -1; }

@media (max-width: 1180px) {
  .bi-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .bi-filter-grid, .bi-module-grid { grid-template-columns: 1fr; }
  .bi-daily-bar { min-width: 28px; }
}


/* BI Nacional - corporate standard */
.bi-corporate-shell {
  gap: 16px;
  color: #0f172a;
}
.bi-command-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(135deg, rgba(30, 64, 175, .08), rgba(14, 165, 233, .04) 48%, rgba(255,255,255,.98)), #fff;
  box-shadow: 0 20px 40px rgba(15, 23, 42, .06);
}
.bi-command-copy { display: grid; gap: 8px; }
.bi-command-copy h1 { margin: 0; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.05em; color: #0f172a; }
.bi-command-copy p:not(.section-kicker) { max-width: 860px; margin: 0; color: #475569; line-height: 1.55; }
.bi-command-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.bi-command-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .05);
  color: #334155;
  font-size: 12px;
  font-weight: 700;
}
.bi-command-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.bi-health-chip {
  display: grid;
  gap: 2px;
  min-width: 154px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, .22);
  background: #f8fafc;
}
.bi-health-chip strong { font-size: 13px; }
.bi-health-chip small { color: #64748b; font-size: 11px; }
.bi-health-chip.success { background: #ecfdf5; border-color: rgba(16,185,129,.25); color: #047857; }
.bi-health-chip.warning { background: #fffbeb; border-color: rgba(245,158,11,.32); color: #92400e; }
.bi-health-chip.critical { background: #fef2f2; border-color: rgba(239,68,68,.26); color: #991b1b; }
.bi-health-chip.neutral { background: #eff6ff; border-color: rgba(37,99,235,.22); color: #1e40af; }
.bi-error-state { border-color: rgba(239,68,68,.25); background: #fff7f7; }
.bi-warning-box.corporate {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border-color: rgba(245, 158, 11, .28);
  background: #fffbeb;
}
.bi-warning-box.corporate strong { color: #92400e; }
.bi-warning-box.corporate p { margin-bottom: 4px; color: #334155; }
.bi-warning-box.corporate small { color: #64748b; }
.bi-filter-panel.corporate {
  position: sticky;
  top: 58px;
  z-index: 12;
  display: grid;
  gap: 14px;
  padding: 16px;
  border-color: rgba(15, 23, 42, .08);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
}
.bi-filter-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.bi-filter-head div { display: grid; gap: 2px; }
.bi-filter-head strong { color: #0f172a; }
.bi-filter-head span, .bi-filter-head small { color: #64748b; font-size: 12px; }
.bi-active-filters { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.bi-active-filters span {
  display: inline-flex;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1e40af;
  border: 1px solid rgba(37,99,235,.16);
  font-size: 11px;
  font-weight: 800;
}
.bi-filter-grid { grid-template-columns: repeat(5, minmax(135px, 1fr)) auto auto; align-items: end; }
.bi-loading-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bi-kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bi-kpi-group { display: grid; grid-template-rows: auto 1fr; gap: 10px; min-width: 0; }
.bi-kpi-group-head { display: flex; justify-content: space-between; align-items: end; gap: 8px; padding: 0 2px; }
.bi-kpi-group-head span { color: #0f172a; font-weight: 900; letter-spacing: -.02em; }
.bi-kpi-group-head small { color: #64748b; font-size: 11px; text-align: right; }
.bi-kpi-group-cards { display: grid; gap: 10px; }
.bi-kpi-card {
  display: grid;
  gap: 10px;
  min-height: 128px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .05);
}
.bi-kpi-card div { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.bi-kpi-card span { color: #64748b; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bi-kpi-card em { font-style: normal; font-size: 10px; font-weight: 900; padding: 4px 7px; border-radius: 999px; color: #475569; background: #f1f5f9; }
.bi-kpi-card strong { color: #0f172a; font-size: clamp(22px, 2vw, 31px); line-height: 1; letter-spacing: -.05em; }
.bi-kpi-card small { color: #64748b; line-height: 1.35; }
.bi-kpi-card.revenue { border-left: 4px solid #2563eb; }
.bi-kpi-card.profit { border-left: 4px solid #16a34a; }
.bi-kpi-card.activity { border-left: 4px solid #0ea5e9; }
.bi-kpi-card.risk { border-left: 4px solid #f59e0b; }
.bi-kpi-card.critical { border-color: rgba(220,38,38,.24); }
.bi-kpi-card.critical em { color: #991b1b; background: #fee2e2; }
.bi-kpi-card.warning em { color: #92400e; background: #fef3c7; }
.bi-kpi-card.success em { color: #047857; background: #d1fae5; }
.bi-module-grid.corporate { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.bi-module-grid.corporate .bi-module-card { gap: 4px; min-height: 112px; padding: 16px; background: #fff; }
.bi-module-grid.corporate .bi-module-card strong { color: #0f172a; font-size: 28px; letter-spacing: -.05em; }
.bi-module-grid.corporate .bi-module-card em { margin-top: 4px; color: #334155; font-style: normal; font-size: 12px; font-weight: 800; }
.bi-analysis-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .45fr); gap: 16px; align-items: stretch; }
.bi-chart-card { min-width: 0; background: #fff; }
.bi-main-chart { min-height: 356px; }
.bi-chart-legend { display: inline-flex; gap: 8px; align-items: center; color: #64748b; font-size: 12px; font-weight: 800; }
.bi-chart-legend i { width: 20px; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #1e40af, #0ea5e9); }
.bi-daily-bars.corporate { height: 270px; display: flex; align-items: end; gap: 7px; padding: 18px 2px 2px; overflow-x: auto; }
.bi-daily-bars.corporate .bi-daily-bar { min-width: 34px; height: 100%; display: grid; grid-template-rows: 18px minmax(120px, 1fr) 18px; gap: 6px; color: #64748b; font-size: 11px; text-align: center; }
.bi-daily-bars.corporate .bi-daily-bar div { position: relative; display: flex; align-items: end; justify-content: center; border-radius: 14px; background: linear-gradient(180deg, #f8fafc, #eef2ff); border: 1px solid rgba(148,163,184,.18); overflow: hidden; }
.bi-daily-bars.corporate .bi-daily-bar i { width: 100%; min-height: 5px; border-radius: 12px 12px 0 0; background: linear-gradient(180deg, #1d4ed8, #0ea5e9); }
.bi-horizontal-bars { display: grid; gap: 12px; max-height: 300px; overflow: auto; padding-right: 4px; }
.bi-category-row.corporate { display: grid; gap: 7px; }
.bi-category-row.corporate div { display: grid; gap: 2px; }
.bi-category-row.corporate strong { color: #0f172a; font-size: 13px; }
.bi-category-row.corporate span { color: #64748b; font-size: 11px; }
.bi-category-row.corporate em { height: 9px; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.bi-category-row.corporate em i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1e40af, #16a34a); }
.bi-empty-state { display: grid; place-items: center; min-height: 120px; color: #64748b; border: 1px dashed rgba(148,163,184,.35); border-radius: 16px; background: #f8fafc; font-weight: 700; }
.bi-table-section { display: grid; gap: 16px; background: #fff; }
.bi-table-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.bi-table-header h2 { margin-bottom: 4px; }
.bi-tab-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.bi-tab-list button { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(148,163,184,.24); background: #f8fafc; color: #334155; border-radius: 999px; padding: 9px 12px; font-weight: 850; }
.bi-tab-list button span { min-width: 24px; padding: 2px 6px; border-radius: 999px; background: #e2e8f0; font-size: 11px; }
.bi-tab-list button.active { color: #fff; background: #1e40af; border-color: #1e40af; }
.bi-tab-list button.active span { background: rgba(255,255,255,.2); }
.bi-corporate-table th { white-space: nowrap; }
.bi-corporate-table .num-cell { text-align: right; font-variant-numeric: tabular-nums; }
.bi-governance-panel { display: grid; gap: 14px; }
.bi-governance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bi-governance-summary span { display: grid; gap: 3px; padding: 14px; border-radius: 16px; background: #f8fafc; border: 1px solid rgba(148,163,184,.16); color: #64748b; font-size: 12px; font-weight: 800; }
.bi-governance-summary strong { color: #0f172a; font-size: 24px; letter-spacing: -.04em; }
.bi-source-list.corporate { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bi-source-list.corporate .bi-source-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; align-items: center; padding: 12px; border-radius: 14px; border: 1px solid rgba(148,163,184,.18); background: #fff; }
.bi-source-row div { min-width: 0; }
.bi-source-row strong { display: block; color: #0f172a; font-size: 13px; }
.bi-source-row span:not(.status-pill), .bi-source-row small { color: #64748b; font-size: 11px; }
.bi-source-row small { grid-column: 1 / -1; }
.bi-source-row .status-pill.warning { color: #92400e !important; background: #fef3c7 !important; border-color: rgba(245,158,11,.28) !important; }

@media (max-width: 1380px) {
  .bi-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-module-grid.corporate { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1120px) {
  .bi-command-header, .bi-analysis-grid, .bi-table-header { grid-template-columns: 1fr; }
  .bi-command-actions, .bi-tab-list { justify-content: flex-start; }
  .bi-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-filter-panel.corporate { position: static; }
}
@media (max-width: 760px) {
  .bi-kpi-strip, .bi-module-grid.corporate, .bi-filter-grid, .bi-governance-summary, .bi-source-list.corporate { grid-template-columns: 1fr; }
  .bi-warning-box.corporate, .bi-filter-head { align-items: stretch; flex-direction: column; }
  .bi-daily-bars.corporate .bi-daily-bar { min-width: 30px; }
}

/* Design System cycle 2026-08-11 21:04 UTC: dashboard cobrança KPI density polish */
.route-dashboard-cobranca .dashboard-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  align-items: stretch;
  gap: 16px;
}
.route-dashboard-cobranca .summary-tile {
  min-width: 0;
  overflow: hidden;
}
.route-dashboard-cobranca .summary-tile strong,
.route-dashboard-cobranca .summary-tile .summary-value {
  overflow-wrap: anywhere;
  line-height: .98;
}
.route-dashboard-cobranca .summary-tile span,
.route-dashboard-cobranca .summary-tile small,
.route-dashboard-cobranca .summary-tile p {
  text-wrap: pretty;
}
.route-dashboard-cobranca .table-wrap.refined-wrap {
  border-radius: 20px;
}
.route-dashboard-cobranca .modern-table td[data-label="Valor"],
.route-dashboard-cobranca .modern-table td[data-label="Eficiência"] {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@media (min-width: 1280px) {
  .route-dashboard-cobranca .dashboard-summary-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .route-dashboard-cobranca .dashboard-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .route-dashboard-cobranca .summary-tile {
    min-height: 132px;
  }
}
@media (max-width: 460px) {
  .route-dashboard-cobranca .dashboard-summary-grid {
    grid-template-columns: 1fr;
  }
}
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — BI layout fixes (BI primeiro)
   ─────────────────────────────────────────────────────────────────
   Correções localizadas para BI Nacional e Visão Comercial:
   - evita páginas/blocos sobrepostos;
   - compacta tipografia e KPIs;
   - torna grids fluidos;
   - mantém tabelas rolando dentro do bloco;
   - neutraliza hover com scale no escopo BI.

   Esta camada é intencionalmente escopada para não alterar Atendimento,
   Catálogo, Compras ou demais telas existentes.
════════════════════════════════════════════════════════════════ */

/* ─── Base de contenção: BI não deve herdar height:100% rígido ─── */
.bi-nacional-page,
.visao-comercial-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  align-content: start;
  overflow: visible;
  box-sizing: border-box;
}

.bi-nacional-page *,
.bi-nacional-page *::before,
.bi-nacional-page *::after,
.visao-comercial-page *,
.visao-comercial-page *::before,
.visao-comercial-page *::after {
  box-sizing: border-box;
}

.bi-nacional-page .panel-shell,
.visao-comercial-page .panel-shell,
.bi-nacional-page .nv-card,
.visao-comercial-page .nv-card {
  min-width: 0;
  max-width: 100%;
}

/* O hover global com scale cria sensação de página em cima de página. */
.bi-nacional-page .panel-shell:hover,
.visao-comercial-page .panel-shell:hover {
  transform: none !important;
  border-color: var(--nv-border-strong, #cbd5e1) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

/* ─── BI Nacional: header mais compacto e seguro ─── */
.bi-nacional-page .bi-command-header {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 20px;
  overflow: hidden;
}

.bi-nacional-page .bi-command-copy {
  min-width: 0;
}

.bi-nacional-page .bi-command-copy h1 {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.05;
  letter-spacing: -0.04em;
  max-width: 100%;
}

.bi-nacional-page .bi-command-copy p:not(.section-kicker) {
  max-width: 72ch;
  font-size: 14px;
  line-height: 1.45;
}

.bi-nacional-page .bi-command-meta {
  min-width: 0;
}

.bi-nacional-page .bi-command-meta span,
.bi-nacional-page .bi-health-chip,
.bi-nacional-page .bi-tab-list button,
.bi-nacional-page .bi-active-filters span,
.visao-comercial-page .visao-tabs button,
.visao-comercial-page .nv-active-filters span {
  min-width: 0;
  max-width: 100%;
}

.bi-nacional-page .bi-command-actions {
  min-width: min(360px, 100%);
}

.bi-nacional-page .bi-health-chip {
  min-width: 132px;
  padding: 8px 10px;
  border-radius: 14px;
}

.bi-nacional-page .bi-health-chip strong {
  font-size: 12px;
}

.bi-nacional-page .bi-health-chip small {
  font-size: 10px;
  line-height: 1.25;
}

/* ─── Filtros: mais baixos, sem toolbar gigante ─── */
.bi-nacional-page .bi-filter-panel.corporate,
.visao-comercial-page .visao-filters-compact {
  gap: 10px;
  padding: 12px !important;
  overflow: visible;
}

/* No BI Nacional o filtro NÃO deve acompanhar a rolagem.
   O sticky antigo ficava por cima dos KPIs/gráficos durante o scroll. */
.bi-nacional-page .bi-filter-panel.corporate {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none;
}

.bi-nacional-page .nv-filter-bar-head,
.visao-comercial-page .nv-filter-bar-head {
  gap: 10px;
  padding-bottom: 10px;
}

.bi-nacional-page .nv-filter-grid,
.visao-comercial-page .nv-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
  gap: 10px;
  min-width: 0;
}

.bi-nacional-page .nv-filter-field,
.visao-comercial-page .nv-filter-field {
  min-width: 0;
}

.bi-nacional-page input,
.bi-nacional-page select,
.bi-nacional-page button,
.visao-comercial-page input,
.visao-comercial-page select,
.visao-comercial-page button {
  min-height: 38px;
}

.bi-nacional-page .primary-btn,
.bi-nacional-page .outline-btn,
.visao-comercial-page .primary-btn,
.visao-comercial-page .outline-btn {
  min-height: 38px;
  padding-block: 8px;
  border-radius: 12px !important;
  line-height: 1.15;
}

.bi-nacional-page .nv-active-filters,
.visao-comercial-page .nv-active-filters {
  min-width: 0;
  justify-content: flex-start;
}

.bi-nacional-page .nv-active-filters span,
.visao-comercial-page .nv-active-filters span {
  min-height: 24px;
  padding-inline: 8px;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bi-nacional-page .bi-filter-command-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.bi-nacional-page .bi-filter-command-actions .bi-health-chip {
  min-height: 38px;
}

/* ─── BI Nacional: KPI strip fluido e cards sem estouro ─── */
.bi-nacional-page .bi-kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 12px;
  min-width: 0;
}

.bi-nacional-page .bi-kpi-group,
.bi-nacional-page .bi-kpi-group-cards {
  min-width: 0;
}

.bi-nacional-page .bi-kpi-group-head {
  min-width: 0;
  align-items: flex-start;
}

.bi-nacional-page .bi-kpi-group-head span,
.bi-nacional-page .bi-kpi-group-head small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bi-nacional-page .bi-kpi-card {
  min-width: 0;
  min-height: 108px;
  gap: 8px;
  padding: 13px 14px;
  border-radius: 16px;
  overflow: hidden;
}

.bi-nacional-page .bi-kpi-card > div {
  min-width: 0;
  align-items: flex-start;
}

.bi-nacional-page .bi-kpi-card span {
  min-width: 0;
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: 0.06em;
  overflow-wrap: anywhere;
}

.bi-nacional-page .bi-kpi-card em {
  flex: 0 0 auto;
  max-width: 88px;
  padding: 3px 6px;
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-nacional-page .bi-kpi-card strong {
  display: block;
  max-width: 100%;
  color: var(--nv-text, #0f172a);
  font-size: clamp(19px, 1.45vw, 25px) !important;
  line-height: 1.05;
  letter-spacing: -0.04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}

.bi-nacional-page .bi-kpi-card small {
  display: -webkit-box;
  min-width: 0;
  margin: 0;
  color: var(--nv-text-muted, #64748b);
  font-size: 11px;
  line-height: 1.3;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── BI Nacional: módulos e gráficos fluidos ─── */
.bi-nacional-page .bi-module-grid.corporate {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(155px, 100%), 1fr));
  gap: 10px;
  min-width: 0;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card {
  min-height: 92px;
  padding: 13px 14px;
  border-radius: 16px !important;
  overflow: hidden;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card span,
.bi-nacional-page .bi-module-grid.corporate .bi-module-card small,
.bi-nacional-page .bi-module-grid.corporate .bi-module-card em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card strong {
  font-size: 22px;
  line-height: 1;
}

.bi-nacional-page .bi-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
}

.bi-nacional-page .bi-chart-card {
  min-width: 0;
  overflow: hidden;
}

.bi-nacional-page .bi-main-chart {
  min-height: 320px;
}

.bi-nacional-page .panel-head.compact-head {
  min-width: 0;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.bi-nacional-page .panel-head.compact-head > div,
.visao-comercial-page .panel-head.compact-head > div {
  min-width: 0;
}

.bi-nacional-page .panel-head h2,
.visao-comercial-page .panel-head h2 {
  margin: 0 0 3px;
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.bi-nacional-page .panel-subtitle,
.visao-comercial-page .panel-subtitle {
  font-size: 12px;
  line-height: 1.35;
}

/* ─── BI Nacional: tabs e tabela ─── */
.bi-nacional-page .bi-table-section {
  gap: 12px;
  overflow: hidden;
}

.bi-nacional-page .bi-table-header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.bi-nacional-page .bi-tab-list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
}

.bi-nacional-page .bi-tab-list button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
  white-space: nowrap;
}

.bi-nacional-page .bi-tab-list button span {
  font-size: 10px;
}

.bi-nacional-page .nv-data-table-wrap,
.visao-comercial-page .nv-data-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.bi-nacional-page .nv-data-table,
.visao-comercial-page .nv-data-table {
  table-layout: auto;
}

.bi-nacional-page .nv-data-table th,
.bi-nacional-page .nv-data-table td,
.visao-comercial-page .nv-data-table th,
.visao-comercial-page .nv-data-table td {
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.3;
}

.bi-nacional-page .nv-data-table th,
.visao-comercial-page .nv-data-table th,
.bi-nacional-page .nv-data-table .is-numeric,
.visao-comercial-page .nv-data-table .is-numeric {
  white-space: nowrap;
}

.bi-nacional-page .nv-data-table td:not(.is-numeric),
.visao-comercial-page .nv-data-table td:not(.is-numeric) {
  max-width: 280px;
  overflow-wrap: anywhere;
}

/* ─── Visão Comercial: grid e KPIs mais estáveis ─── */
.visao-comercial-page.visao-compact-page {
  gap: 12px !important;
  padding-top: 0 !important;
}

.visao-comercial-page .visao-card-grid-top {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)) !important;
  gap: 10px !important;
  min-width: 0;
}

.visao-comercial-page .visao-kpi {
  min-width: 0;
  min-height: 92px !important;
  padding: 12px 12px 16px !important;
  border-radius: 16px !important;
  overflow: hidden;
}

.visao-comercial-page .visao-kpi span {
  display: block;
  min-width: 0;
  margin-bottom: 5px !important;
  font-size: 10px !important;
  line-height: 1.2;
  letter-spacing: 0.05em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.visao-comercial-page .visao-kpi strong {
  display: block;
  max-width: 100%;
  font-size: clamp(16px, 1.2vw, 22px) !important;
  line-height: 1.05;
  letter-spacing: -0.035em !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}

.visao-comercial-page .visao-kpi small {
  display: block;
  margin-top: 5px !important;
  max-width: 100%;
  font-size: 10px !important;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.visao-comercial-page .visao-kpi::after {
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 3px;
}

.visao-comercial-page .visao-tabs {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px !important;
}

.visao-comercial-page .visao-tabs button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 11px;
  font-size: 12px;
  white-space: nowrap;
}

.visao-comercial-page .visao-content-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.visao-comercial-page .visao-table-full {
  min-height: 0 !important;
  width: 100% !important;
}

.visao-comercial-page .visao-table-full .nv-data-table-wrap {
  min-height: 0 !important;
}

.visao-comercial-page .radar-panel-bottom {
  width: 100% !important;
  overflow: hidden !important;
}

.visao-comercial-page .radar-panel-bottom .radar-list-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important;
  gap: 10px !important;
  max-height: none !important;
  overflow: visible !important;
}

.visao-comercial-page .radar-item {
  min-width: 0;
  min-height: 74px !important;
  padding: 10px;
  border-radius: 14px;
}

.visao-comercial-page .radar-item > div {
  min-width: 0;
}

.visao-comercial-page .radar-item strong {
  display: block;
  min-width: 0;
  font-size: 12px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.visao-comercial-page .radar-item p {
  display: -webkit-box;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.3;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.visao-comercial-page .daily-chart-panel {
  min-width: 0;
  overflow: hidden !important;
}

.visao-comercial-page .daily-chart-panel .recharts-responsive-container,
.bi-nacional-page .bi-chart-card .recharts-responsive-container {
  min-width: 0;
}

/* ─── Breakpoints BI ─── */
@media (max-width: 1280px) {
  .bi-nacional-page .bi-analysis-grid,
  .bi-nacional-page .bi-command-header,
  .bi-nacional-page .bi-table-header {
    grid-template-columns: 1fr;
  }

  .bi-nacional-page .bi-command-actions,
  .bi-nacional-page .bi-tab-list {
    justify-content: flex-start;
  }

  .bi-nacional-page .bi-filter-panel.corporate {
    position: static;
  }
}

@media (max-width: 760px) {
  .bi-nacional-page,
  .visao-comercial-page {
    gap: 10px;
  }

  .bi-nacional-page .bi-command-header,
  .bi-nacional-page .panel-shell,
  .visao-comercial-page .panel-shell {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .bi-nacional-page .bi-kpi-strip,
  .bi-nacional-page .bi-module-grid.corporate,
  .visao-comercial-page .visao-card-grid-top {
    grid-template-columns: 1fr !important;
  }

  .bi-nacional-page .bi-command-actions {
    min-width: 0;
    width: 100%;
  }

  .bi-nacional-page .bi-command-actions > *,
  .visao-comercial-page .nv-filter-grid > button,
  .bi-nacional-page .nv-filter-grid > button {
    width: 100%;
  }
}

/* ════════════════════════════════════════════════════════════════
   Passada 2 — scroll/layout das rotas BI dentro do shell
   ─────────────────────────────────────────────────────────────────
   O shell antigo usa height:100% + overflow:hidden em alguns níveis.
   Nas rotas BI deixamos a página respirar e a rolagem acontecer no
   documento/área principal, evitando blocos empilhados visualmente.
════════════════════════════════════════════════════════════════ */
.route-bi-nacional .page-container,
.route-visao-comercial .page-container,
.route-bi-nacional .page-inner,
.route-visao-comercial .page-inner {
  min-width: 0;
  min-height: 0;
  height: auto !important;
  overflow: visible !important;
}

.route-bi-nacional .screen-block,
.route-visao-comercial .screen-block {
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 28px;
}

/* Evita que headers/tabelas virem camadas sobrepostas por z-index herdado. */
.bi-nacional-page .bi-command-header,
.bi-nacional-page .bi-table-section,
.bi-nacional-page .bi-analysis-grid,
.bi-nacional-page .bi-kpi-strip,
.bi-nacional-page .bi-module-grid,
.visao-comercial-page .visao-content-stack,
.visao-comercial-page .visao-table-panel,
.visao-comercial-page .daily-chart-panel,
.visao-comercial-page .radar-panel {
  position: relative;
  z-index: auto !important;
}

/* Filtros/tabs: linha única rolável, sem criar bloco alto demais. */
.bi-nacional-page .nv-filter-bar-head,
.visao-comercial-page .nv-filter-bar-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  align-items: start;
}

.bi-nacional-page .nv-filter-bar-head > div:first-child,
.visao-comercial-page .nv-filter-bar-head > div:first-child {
  min-width: 0;
}

.bi-nacional-page .nv-filter-bar-head strong,
.visao-comercial-page .nv-filter-bar-head strong {
  font-size: 13px;
  line-height: 1.2;
}

.bi-nacional-page .nv-filter-bar-head span,
.bi-nacional-page .nv-filter-bar-head small,
.visao-comercial-page .nv-filter-bar-head span,
.visao-comercial-page .nv-filter-bar-head small {
  font-size: 11px;
  line-height: 1.25;
}

.bi-nacional-page .nv-active-filters,
.visao-comercial-page .nv-active-filters {
  max-width: min(520px, 100%);
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: thin;
}

.bi-nacional-page .bi-command-meta,
.visao-comercial-page .visao-tabs {
  scrollbar-width: thin;
}

/* Tabelas: bloco controla rolagem horizontal sem inflar altura da página. */
.bi-nacional-page .bi-table-section .nv-data-table-wrap,
.visao-comercial-page .visao-table-panel .nv-data-table-wrap {
  width: 100%;
  max-width: 100%;
  border-radius: 16px;
  overflow-x: auto;
  overflow-y: auto;
  max-height: min(620px, calc(100vh - 230px));
}

.bi-nacional-page .nv-data-table th,
.visao-comercial-page .nv-data-table th {
  top: 0;
  z-index: 1;
}

.bi-nacional-page .cell-title,
.visao-comercial-page .cell-title {
  display: block;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-nacional-page .nv-data-table small,
.visao-comercial-page .nv-data-table small {
  display: block;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Gráficos: altura controlada para não empurrar painéis demais. */
.bi-nacional-page .bi-chart-card,
.visao-comercial-page .daily-chart-panel {
  display: flex;
  flex-direction: column;
}

.bi-nacional-page .bi-chart-card .recharts-wrapper,
.visao-comercial-page .daily-chart-panel .recharts-wrapper {
  max-width: 100%;
}

.bi-nacional-page .bi-main-chart .recharts-responsive-container,
.bi-nacional-page .bi-chart-card .recharts-responsive-container,
.visao-comercial-page .daily-chart-panel .recharts-responsive-container {
  min-height: 240px;
}

/* Notebook comum: ainda mais compacto para evitar quebra visual. */
@media (max-width: 1440px) {
  .bi-nacional-page .bi-kpi-strip {
    grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  }

  .bi-nacional-page .bi-kpi-card strong {
    font-size: clamp(18px, 1.25vw, 23px) !important;
  }

  .visao-comercial-page .visao-card-grid-top {
    grid-template-columns: repeat(auto-fit, minmax(min(165px, 100%), 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .bi-nacional-page .nv-filter-bar-head,
  .visao-comercial-page .nv-filter-bar-head,
  .bi-nacional-page .bi-table-header {
    grid-template-columns: 1fr;
  }

  .bi-nacional-page .nv-active-filters,
  .visao-comercial-page .nv-active-filters {
    max-width: 100%;
  }

  .bi-nacional-page .bi-table-section .nv-data-table-wrap,
  .visao-comercial-page .visao-table-panel .nv-data-table-wrap {
    max-height: none;
    overflow-y: visible;
  }
}

/* ════════════════════════════════════════════════════════════════
   Passada 3 — shell, topo e densidade executiva
   ─────────────────────────────────────────────────────────────────
   Deixa as rotas BI rolarem como páginas normais no desktop, remove
   a dependência de containers 100vh internos e compacta ainda mais
   blocos de leitura para evitar excesso de quebra de linha.
════════════════════════════════════════════════════════════════ */
.route-bi-nacional,
.route-visao-comercial {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
}

.route-bi-nacional .shell-main,
.route-visao-comercial .shell-main {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
  grid-template-rows: auto auto;
}

.route-bi-nacional .top-header,
.route-visao-comercial .top-header {
  position: sticky;
  top: 0;
  z-index: 8;
  min-height: 54px;
  padding-block: 10px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.route-bi-nacional .top-header-copy strong,
.route-visao-comercial .top-header-copy strong {
  font-size: 15px;
}

.route-bi-nacional .top-header-copy span,
.route-visao-comercial .top-header-copy span,
.route-bi-nacional .top-header-copy small,
.route-visao-comercial .top-header-copy small {
  font-size: 10px;
  line-height: 1.2;
}

.route-bi-nacional .header-user-chip,
.route-visao-comercial .header-user-chip {
  min-width: 128px;
  padding: 7px 10px;
  border-radius: 12px;
}

.route-bi-nacional .theme-toggle-btn,
.route-visao-comercial .theme-toggle-btn,
.route-bi-nacional .icon-btn,
.route-visao-comercial .icon-btn {
  min-height: 36px;
  height: 36px;
  border-radius: 11px !important;
}

/* BI Nacional: página mais densa, sem sensação de blocos gigantes. */
.bi-nacional-page.bi-corporate-shell {
  gap: 12px;
  padding-top: 18px;
}

.bi-nacional-page .bi-command-header {
  padding: 15px 18px;
  border-radius: 18px !important;
}

.bi-nacional-page .section-kicker {
  margin: 0;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.14em;
}

.bi-nacional-page .bi-command-copy h1 {
  margin: 0;
  font-size: clamp(22px, 1.65vw, 28px) !important;
}

.bi-nacional-page .bi-command-copy p:not(.section-kicker) {
  font-size: 13px;
  line-height: 1.35;
}

.bi-nacional-page .bi-command-meta {
  gap: 6px;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
}

.bi-nacional-page .bi-command-meta span {
  flex: 0 0 auto;
  min-height: 24px;
  padding: 4px 8px;
  font-size: 10px;
  white-space: nowrap;
}

.bi-nacional-page .bi-command-actions {
  gap: 8px;
}

.bi-nacional-page .bi-command-actions .primary-btn,
.bi-nacional-page .bi-command-actions .outline-btn {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 12px;
}

/* Menos linhas nos nomes/grupos dos KPIs. */
.bi-nacional-page .bi-kpi-group-head span {
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.bi-nacional-page .bi-kpi-group-head small {
  display: block;
  max-width: 170px;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}

.bi-nacional-page .bi-kpi-card {
  min-height: 96px;
  padding: 12px;
}

.bi-nacional-page .bi-kpi-card em {
  display: none;
}

.bi-nacional-page .bi-kpi-card > div {
  display: block;
}

.bi-nacional-page .bi-kpi-card span {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bi-nacional-page .bi-kpi-card strong {
  margin-top: 6px;
  font-size: clamp(17px, 1.1vw, 22px) !important;
}

/* Cartões de módulos mais discretos. */
.bi-nacional-page .bi-module-grid.corporate .bi-module-card {
  min-height: 78px;
  padding: 11px 12px;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card span {
  font-size: 9px;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card strong {
  font-size: 19px;
}

.bi-nacional-page .bi-module-grid.corporate .bi-module-card small,
.bi-nacional-page .bi-module-grid.corporate .bi-module-card em {
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}

/* Gráficos e cabeçalhos de painel com menos altura. */
.bi-nacional-page .bi-chart-card,
.visao-comercial-page .daily-chart-panel,
.visao-comercial-page .visao-table-panel,
.visao-comercial-page .radar-panel-bottom {
  padding: 16px !important;
  border-radius: 18px !important;
}

.bi-nacional-page .bi-main-chart {
  min-height: 285px;
}

.bi-nacional-page .bi-chart-card .recharts-responsive-container,
.visao-comercial-page .daily-chart-panel .recharts-responsive-container {
  min-height: 220px;
}

.bi-nacional-page .bi-empty-state,
.visao-comercial-page .bi-empty-state {
  min-height: 92px;
  font-size: 12px;
}

/* Visão Comercial: filtros/tabs menos altos e cards mais uniformes. */
.visao-comercial-page .visao-filters-compact {
  border-radius: 18px !important;
}

.visao-comercial-page .visao-card-grid-top {
  grid-template-columns: repeat(auto-fit, minmax(min(155px, 100%), 1fr)) !important;
  gap: 8px !important;
}

.visao-comercial-page .visao-kpi {
  min-height: 82px !important;
  padding: 10px 10px 14px !important;
  border-radius: 14px !important;
}

.visao-comercial-page .visao-kpi strong {
  font-size: clamp(15px, 1vw, 20px) !important;
}

.visao-comercial-page .visao-tabs {
  gap: 6px;
  padding: 0 !important;
}

.visao-comercial-page .visao-tabs button {
  min-height: 31px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
}

.visao-comercial-page .panel-head.compact-head {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

/* Scrollbars discretas nas áreas que rolam dentro do bloco. */
.bi-nacional-page .nv-data-table-wrap::-webkit-scrollbar,
.visao-comercial-page .nv-data-table-wrap::-webkit-scrollbar,
.bi-nacional-page .bi-tab-list::-webkit-scrollbar,
.bi-nacional-page .nv-active-filters::-webkit-scrollbar,
.visao-comercial-page .visao-tabs::-webkit-scrollbar,
.visao-comercial-page .nv-active-filters::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

.bi-nacional-page .nv-data-table-wrap::-webkit-scrollbar-thumb,
.visao-comercial-page .nv-data-table-wrap::-webkit-scrollbar-thumb,
.bi-nacional-page .bi-tab-list::-webkit-scrollbar-thumb,
.bi-nacional-page .nv-active-filters::-webkit-scrollbar-thumb,
.visao-comercial-page .visao-tabs::-webkit-scrollbar-thumb,
.visao-comercial-page .nv-active-filters::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.35);
}

@media (max-width: 1280px) {
  .route-bi-nacional .top-header,
  .route-visao-comercial .top-header {
    position: static;
  }

  .bi-nacional-page .bi-command-meta {
    flex-wrap: wrap;
  }

  .bi-nacional-page .bi-command-actions {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .bi-nacional-page.bi-corporate-shell,
  .visao-comercial-page.visao-compact-page {
    padding-inline: 10px;
  }

  .bi-nacional-page .bi-command-copy h1 {
    font-size: 22px !important;
  }

  .bi-nacional-page .bi-command-copy p:not(.section-kicker) {
    font-size: 12px;
  }

  .bi-nacional-page .bi-kpi-card,
  .visao-comercial-page .visao-kpi {
    min-height: 0 !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   Passada 4 — auditoria automática: KPIs e filtros remanescentes
   ─────────────────────────────────────────────────────────────────
   Playwright indicou cards KPI do BI Nacional com ~149px de altura por
   esticamento do grid, e filtros com controles mais largos que a célula.
════════════════════════════════════════════════════════════════ */
.bi-nacional-page .bi-kpi-strip {
  align-items: start;
}

.bi-nacional-page .bi-kpi-group {
  grid-template-rows: auto auto;
  align-content: start;
  align-self: start;
}

.bi-nacional-page .bi-kpi-group-cards {
  align-content: start;
  align-items: start;
  grid-auto-rows: auto;
}

.bi-nacional-page .bi-kpi-card {
  align-self: start;
  height: auto !important;
  min-height: 84px !important;
  max-height: 112px;
  padding: 10px 11px !important;
  gap: 5px;
}

.bi-nacional-page .bi-kpi-card small {
  -webkit-line-clamp: 1;
  font-size: 10px;
  line-height: 1.2;
}

.bi-nacional-page .bi-kpi-card strong {
  margin-top: 4px;
  font-size: clamp(16px, 1vw, 20px) !important;
}

.bi-nacional-page .bi-kpi-card span {
  font-size: 9.5px;
  letter-spacing: 0.045em;
}

.bi-nacional-page .nv-filter-field input,
.bi-nacional-page .nv-filter-field select,
.visao-comercial-page .nv-filter-field input,
.visao-comercial-page .nv-filter-field select {
  width: 100%;
  min-width: 0 !important;
  max-width: 100%;
  padding-left: 10px !important;
  padding-right: 30px !important;
  font-size: 12px;
}

.bi-nacional-page .nv-filter-field > span,
.visao-comercial-page .nv-filter-field > span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-nacional-page .nv-filter-grid > button,
.visao-comercial-page .nv-filter-grid > button,
.bi-nacional-page .nv-filter-actions > button,
.visao-comercial-page .nv-filter-actions > button {
  min-width: 0;
  max-width: 100%;
  padding-inline: 10px;
  font-size: 11.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Títulos longos da Visão Comercial: clamp de uma linha em cards/radar. */
.visao-comercial-page .radar-item strong,
.visao-comercial-page .panel-head h2,
.bi-nacional-page .panel-head h2 {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1440px) {
  .bi-nacional-page .bi-kpi-card {
    max-height: 106px;
  }
}

@media (max-width: 900px) {
  .bi-nacional-page .bi-kpi-card {
    max-height: none;
  }

  .bi-nacional-page .bi-kpi-card small {
    -webkit-line-clamp: 2;
  }
}

/* BI Nacional — Onda financeiro/PDD: bloco dedicado, compacto e legível. */
.bi-nacional-page .bi-finance-section {
  display: grid;
  gap: 14px;
  background: var(--nv-surface);
}

.bi-nacional-page .bi-finance-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.bi-nacional-page .bi-finance-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--nv-border);
  border-radius: 16px;
  background: var(--nv-surface-subtle);
  border-left: 4px solid var(--nv-blue);
}

.bi-nacional-page .bi-finance-card span {
  color: var(--nv-text-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bi-nacional-page .bi-finance-card strong {
  color: var(--nv-text);
  font-size: clamp(17px, 1.15vw, 22px);
  line-height: 1;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}

.bi-nacional-page .bi-finance-card small {
  color: var(--nv-text-muted);
  font-size: 11px;
  line-height: 1.25;
}

.bi-nacional-page .bi-finance-card.success { border-left-color: var(--nv-success); }
.bi-nacional-page .bi-finance-card.warning { border-left-color: var(--nv-warning); }
.bi-nacional-page .bi-finance-card.danger { border-left-color: var(--nv-danger); }
.bi-nacional-page .bi-finance-card.blue { border-left-color: var(--nv-blue); }

.bi-nacional-page .bi-finance-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  gap: 14px;
  align-items: stretch;
}

.bi-nacional-page .finance-aging-chart {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--nv-border);
  border-radius: 16px;
  background: var(--nv-surface-subtle);
}

.bi-nacional-page .finance-aging-chart h3 {
  margin: 0;
  color: var(--nv-text);
  font-size: 15px;
}

.bi-nacional-page .bi-finance-quick-list {
  display: grid;
  gap: 8px;
  align-content: start;
  max-height: 318px;
  overflow: auto;
}

.bi-nacional-page .bi-finance-quick-list > div {
  display: grid;
  grid-template-columns: minmax(62px, auto) minmax(0, 1fr);
  gap: 2px 10px;
  padding: 10px;
  border: 1px solid var(--nv-border);
  border-radius: 14px;
  background: var(--nv-surface-subtle);
}

.bi-nacional-page .bi-finance-quick-list span {
  color: var(--nv-text-muted);
  font-size: 11px;
  font-weight: 900;
}

.bi-nacional-page .bi-finance-quick-list strong {
  color: var(--nv-text);
  font-size: 13px;
  text-align: right;
}

.bi-nacional-page .bi-finance-quick-list small {
  grid-column: 1 / -1;
  color: var(--nv-text-muted);
  font-size: 10px;
}

@media (max-width: 1180px) {
  .bi-nacional-page .bi-finance-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-nacional-page .bi-finance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .bi-nacional-page .bi-finance-cards { grid-template-columns: 1fr; }
}

/* BI Nacional — Fases executivas: status do mês, alertas, rankings e comparação. */
.bi-nacional-page .bi-executive-section,
.bi-nacional-page .bi-alerts-panel,
.bi-nacional-page .bi-highlights-panel,
.bi-nacional-page .bi-comparison-section {
  display: grid;
  gap: 14px;
  background: var(--nv-surface);
}

.bi-nacional-page .bi-executive-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-pill, 999px);
  color: var(--nv-text-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bi-nacional-page .bi-executive-badge.success {
  color: var(--nv-success);
  background: var(--nv-success-soft);
  border-color: var(--nv-success-border);
}

.bi-nacional-page .bi-executive-badge.warning {
  color: var(--nv-warning);
  background: var(--nv-warning-soft);
  border-color: var(--nv-warning-border);
}

.bi-nacional-page .bi-executive-grid,
.bi-nacional-page .bi-comparison-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(165px, 100%), 1fr));
  gap: 10px;
  min-width: 0;
}

.bi-nacional-page .bi-executive-card,
.bi-nacional-page .bi-comparison-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 96px;
  padding: 12px;
  border: 1px solid var(--nv-border);
  border-left: 4px solid var(--nv-blue);
  border-radius: 16px;
  background: var(--nv-surface-subtle);
  overflow: hidden;
}

.bi-nacional-page .bi-executive-card.success { border-left-color: var(--nv-success); }
.bi-nacional-page .bi-executive-card.warning { border-left-color: var(--nv-warning); }
.bi-nacional-page .bi-executive-card.danger { border-left-color: var(--nv-danger); }
.bi-nacional-page .bi-executive-card.blue { border-left-color: var(--nv-blue); }

.bi-nacional-page .bi-executive-card span,
.bi-nacional-page .bi-comparison-card span {
  color: var(--nv-text-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bi-nacional-page .bi-executive-card strong,
.bi-nacional-page .bi-comparison-card strong {
  display: block;
  max-width: 100%;
  color: var(--nv-text);
  font-size: clamp(15px, 1.1vw, 20px);
  line-height: 1.05;
  letter-spacing: -.04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}

.bi-nacional-page .bi-executive-card small {
  color: var(--nv-text-muted);
  font-size: 11px;
  line-height: 1.25;
}

.bi-nacional-page .bi-decision-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
}

.bi-nacional-page .bi-alert-list,
.bi-nacional-page .bi-highlight-list {
  display: grid;
  gap: 8px;
}

.bi-nacional-page .bi-alert-card,
.bi-nacional-page .bi-highlight-list button {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 74px;
  padding: 10px 11px;
  border: 1px solid var(--nv-border);
  border-radius: 15px;
  background: var(--nv-surface-subtle);
  color: var(--nv-text);
  text-align: left;
  cursor: pointer;
}

.bi-nacional-page .bi-highlight-list button {
  grid-template-columns: 1fr;
  gap: 4px;
}

.bi-nacional-page .bi-alert-card:hover,
.bi-nacional-page .bi-highlight-list button:hover {
  border-color: var(--nv-border-strong);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .07);
}

.bi-nacional-page .bi-alert-card > span {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--nv-warning-soft);
  color: var(--nv-warning);
  font-size: 13px;
  font-weight: 950;
}

.bi-nacional-page .bi-alert-card.critical { border-color: var(--nv-danger-border); }
.bi-nacional-page .bi-alert-card.critical > span { background: var(--nv-danger-soft); color: var(--nv-danger); }
.bi-nacional-page .bi-alert-card.success { border-color: var(--nv-success-border); }
.bi-nacional-page .bi-alert-card.success > span { background: var(--nv-success-soft); color: var(--nv-success); }

.bi-nacional-page .bi-alert-card strong,
.bi-nacional-page .bi-highlight-list strong {
  display: block;
  max-width: 100%;
  color: var(--nv-text);
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bi-nacional-page .bi-alert-card p,
.bi-nacional-page .bi-alert-card small,
.bi-nacional-page .bi-highlight-list span,
.bi-nacional-page .bi-highlight-list small,
.bi-nacional-page .bi-positive-state span {
  margin: 0;
  color: var(--nv-text-muted);
  font-size: 11px;
  line-height: 1.25;
}

.bi-nacional-page .bi-alert-card small {
  display: inline-flex;
  margin-top: 5px;
  color: var(--nv-blue-strong);
  font-weight: 900;
}

.bi-nacional-page .bi-positive-state {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--nv-success-border);
  border-radius: 16px;
  background: var(--nv-success-soft);
}

.bi-nacional-page .bi-positive-state strong {
  color: var(--nv-success);
}

.bi-nacional-page .bi-comparison-card {
  min-height: 86px;
}

.bi-nacional-page .bi-comparison-card em {
  width: fit-content;
  padding: 4px 7px;
  border-radius: var(--nv-radius-pill, 999px);
  background: var(--nv-surface-muted);
  color: var(--nv-text-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.bi-nacional-page .bi-comparison-card em.success { color: var(--nv-success); background: var(--nv-success-soft); }
.bi-nacional-page .bi-comparison-card em.critical { color: var(--nv-danger); background: var(--nv-danger-soft); }
.bi-nacional-page .bi-comparison-card em.neutral { color: var(--nv-text-muted); }

@media (max-width: 1180px) {
  .bi-nacional-page .bi-decision-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .bi-nacional-page .bi-executive-card,
  .bi-nacional-page .bi-comparison-card { min-height: 0; }
}

/* BI Nacional — Seção "Venda dia": tabela diária + rodapé de totais + ritmo. */
.bi-nacional-page .bi-venda-dia-section { padding: 20px; }
.bi-nacional-page .bi-venda-dia-totais {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px;
  margin-top: 12px; padding: 12px 16px; border-top: 1px solid var(--nv-border, rgba(255,255,255,0.08));
}
.bi-nacional-page .bi-venda-dia-totais .rotulo { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.bi-nacional-page .bi-venda-dia-totais .valor { font-weight: 800; font-size: 18px; }
.bi-nacional-page .bi-venda-dia-totais .detalhe { font-size: 13px; opacity: .85; }
.bi-nacional-page .bi-ritmo { font-weight: 700; font-size: 12px; white-space: nowrap; }
.bi-nacional-page .bi-ritmo.positivo { color: var(--nv-success); }
.bi-nacional-page .bi-ritmo.negativo { color: var(--nv-warning); }
.bi-nacional-page .bi-ritmo.neutro { color: var(--nv-text-muted); }

/* BI Nacional — Navegação temática: Geral, Comercial, Financeiro e Carteira. */
.bi-nacional-page .bi-section-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.bi-nacional-page .bi-section-nav a {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 58px;
  padding: 11px 13px;
  border: 1px solid var(--nv-border);
  border-radius: 16px;
  background: var(--nv-surface);
  color: var(--nv-text-muted);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
  transition: border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}

.bi-nacional-page .bi-section-nav a:hover {
  color: var(--nv-text);
  border-color: var(--nv-border-strong);
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
}

.bi-nacional-page .bi-section-nav a.active {
  color: var(--nv-blue-strong);
  border-color: var(--nv-blue-border);
  background: var(--nv-blue-soft);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .12);
}

.bi-nacional-page .bi-section-nav strong,
.bi-nacional-page .bi-section-nav span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-nacional-page .bi-section-nav strong {
  color: inherit;
  font-size: 13px;
  line-height: 1.15;
}

.bi-nacional-page .bi-section-nav span {
  color: var(--nv-text-muted);
  font-size: 11px;
  line-height: 1.25;
}

.bi-nacional-page .bi-section-nav a.active span {
  color: var(--nv-blue-strong);
}

.bi-nacional-page .bi-thematic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 12px;
  min-width: 0;
}

@media (max-width: 900px) {
  .bi-nacional-page .bi-section-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .bi-nacional-page .bi-section-nav {
    grid-template-columns: 1fr;
  }
}
/* ════════════════════════════════════════════════════════════════
   Nacional Vision — Manager layout fixes (pós-BI)
   ─────────────────────────────────────────────────────────────────
   Correções localizadas para rotas do painel gerente, excluindo:
   - BI Nacional / Visão Comercial (já tratados em bi-layout-fixes.css)
   - Atendimento / Atendimento Teste / Atendimento Vendas
   - Catálogos de vendedor

   Objetivo: remover sensação de páginas/blocos sobrepostos, compactar
   filtros/cards/tabelas e controlar overflow horizontal.
════════════════════════════════════════════════════════════════ */

/* ─── Shell das rotas gerenciais ─── */
.route-dashboard,
.route-bot-resumo,
.route-relatorios,
.route-relatorios-pdf,
.route-dashboard-cobranca,
.route-gestao-precos,
.route-compras,
.route-compras-lead-times,
.route-recompra-inteligente,
.route-sincronizacao,
.route-campanhas-cobranca,
.route-contatos,
.route-produtos,
.route-whatsapp-config,
.route-campanhas,
.route-grupos,
.route-historico,
.route-usuarios {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
}

.route-dashboard .shell-main,
.route-bot-resumo .shell-main,
.route-relatorios .shell-main,
.route-relatorios-pdf .shell-main,
.route-dashboard-cobranca .shell-main,
.route-gestao-precos .shell-main,
.route-compras .shell-main,
.route-compras-lead-times .shell-main,
.route-recompra-inteligente .shell-main,
.route-sincronizacao .shell-main,
.route-campanhas-cobranca .shell-main,
.route-contatos .shell-main,
.route-produtos .shell-main,
.route-whatsapp-config .shell-main,
.route-campanhas .shell-main,
.route-grupos .shell-main,
.route-historico .shell-main,
.route-usuarios .shell-main {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
  grid-template-rows: auto auto;
}

.route-dashboard .page-container,
.route-dashboard .page-inner,
.route-bot-resumo .page-container,
.route-bot-resumo .page-inner,
.route-relatorios .page-container,
.route-relatorios .page-inner,
.route-relatorios-pdf .page-container,
.route-relatorios-pdf .page-inner,
.route-dashboard-cobranca .page-container,
.route-dashboard-cobranca .page-inner,
.route-gestao-precos .page-container,
.route-gestao-precos .page-inner,
.route-compras .page-container,
.route-compras .page-inner,
.route-compras-lead-times .page-container,
.route-compras-lead-times .page-inner,
.route-recompra-inteligente .page-container,
.route-recompra-inteligente .page-inner,
.route-sincronizacao .page-container,
.route-sincronizacao .page-inner,
.route-campanhas-cobranca .page-container,
.route-campanhas-cobranca .page-inner,
.route-contatos .page-container,
.route-contatos .page-inner,
.route-produtos .page-container,
.route-produtos .page-inner,
.route-whatsapp-config .page-container,
.route-whatsapp-config .page-inner,
.route-campanhas .page-container,
.route-campanhas .page-inner,
.route-grupos .page-container,
.route-grupos .page-inner,
.route-historico .page-container,
.route-historico .page-inner,
.route-usuarios .page-container,
.route-usuarios .page-inner {
  min-width: 0;
  min-height: 0;
  height: auto !important;
  overflow: visible !important;
}

.route-dashboard .screen-block,
.route-bot-resumo .screen-block,
.route-relatorios .screen-block,
.route-relatorios-pdf .screen-block,
.route-dashboard-cobranca .screen-block,
.route-gestao-precos .screen-block,
.route-compras .screen-block,
.route-compras-lead-times .screen-block,
.route-recompra-inteligente .screen-block,
.route-sincronizacao .screen-block,
.route-campanhas-cobranca .screen-block,
.route-contatos .screen-block,
.route-produtos .screen-block,
.route-whatsapp-config .screen-block,
.route-campanhas .screen-block,
.route-grupos .screen-block,
.route-historico .screen-block,
.route-usuarios .screen-block {
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  align-content: start;
  gap: 16px;
  padding: 20px;
  padding-bottom: 32px;
}

/* ─── Topbar compacta e sem camada agressiva ─── */
.route-dashboard .top-header,
.route-bot-resumo .top-header,
.route-relatorios .top-header,
.route-relatorios-pdf .top-header,
.route-dashboard-cobranca .top-header,
.route-gestao-precos .top-header,
.route-compras .top-header,
.route-compras-lead-times .top-header,
.route-recompra-inteligente .top-header,
.route-sincronizacao .top-header,
.route-campanhas-cobranca .top-header,
.route-contatos .top-header,
.route-produtos .top-header,
.route-whatsapp-config .top-header,
.route-campanhas .top-header,
.route-grupos .top-header,
.route-historico .top-header,
.route-usuarios .top-header {
  min-height: 54px;
  padding-block: 10px;
  z-index: 8;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.route-dashboard .top-header-copy strong,
.route-bot-resumo .top-header-copy strong,
.route-relatorios .top-header-copy strong,
.route-relatorios-pdf .top-header-copy strong,
.route-dashboard-cobranca .top-header-copy strong,
.route-gestao-precos .top-header-copy strong,
.route-compras .top-header-copy strong,
.route-compras-lead-times .top-header-copy strong,
.route-recompra-inteligente .top-header-copy strong,
.route-sincronizacao .top-header-copy strong,
.route-campanhas-cobranca .top-header-copy strong,
.route-contatos .top-header-copy strong,
.route-produtos .top-header-copy strong,
.route-whatsapp-config .top-header-copy strong,
.route-campanhas .top-header-copy strong,
.route-grupos .top-header-copy strong,
.route-historico .top-header-copy strong,
.route-usuarios .top-header-copy strong {
  font-size: 15px;
}

.route-dashboard .header-user-chip,
.route-bot-resumo .header-user-chip,
.route-relatorios .header-user-chip,
.route-relatorios-pdf .header-user-chip,
.route-dashboard-cobranca .header-user-chip,
.route-gestao-precos .header-user-chip,
.route-compras .header-user-chip,
.route-compras-lead-times .header-user-chip,
.route-recompra-inteligente .header-user-chip,
.route-sincronizacao .header-user-chip,
.route-campanhas-cobranca .header-user-chip,
.route-contatos .header-user-chip,
.route-produtos .header-user-chip,
.route-whatsapp-config .header-user-chip,
.route-campanhas .header-user-chip,
.route-grupos .header-user-chip,
.route-historico .header-user-chip,
.route-usuarios .header-user-chip {
  min-width: 128px;
  padding: 7px 10px;
  border-radius: 12px;
}

/* ─── Painéis/cards: sem hover com scale e com padding controlado ─── */
.route-dashboard .panel-shell,
.route-dashboard .summary-tile,
.route-dashboard .kpi-compact-card,
.route-bot-resumo .panel-shell,
.route-relatorios .panel-shell,
.route-relatorios-pdf .panel-shell,
.route-dashboard-cobranca .panel-shell,
.route-gestao-precos .panel-shell,
.route-compras .panel-shell,
.route-compras-lead-times .panel-shell,
.route-recompra-inteligente .panel-shell,
.route-sincronizacao .panel-shell,
.route-campanhas-cobranca .panel-shell,
.route-contatos .panel-shell,
.route-produtos .panel-shell,
.route-whatsapp-config .panel-shell,
.route-campanhas .panel-shell,
.route-grupos .panel-shell,
.route-historico .panel-shell,
.route-usuarios .panel-shell {
  min-width: 0;
  max-width: 100%;
  padding: 18px !important;
  border-radius: 18px !important;
  box-sizing: border-box;
}

.route-dashboard .panel-shell:hover,
.route-dashboard .summary-tile:hover,
.route-dashboard .kpi-compact-card:hover,
.route-bot-resumo .panel-shell:hover,
.route-relatorios .panel-shell:hover,
.route-relatorios-pdf .panel-shell:hover,
.route-dashboard-cobranca .panel-shell:hover,
.route-gestao-precos .panel-shell:hover,
.route-compras .panel-shell:hover,
.route-compras-lead-times .panel-shell:hover,
.route-recompra-inteligente .panel-shell:hover,
.route-sincronizacao .panel-shell:hover,
.route-campanhas-cobranca .panel-shell:hover,
.route-contatos .panel-shell:hover,
.route-produtos .panel-shell:hover,
.route-whatsapp-config .panel-shell:hover,
.route-campanhas .panel-shell:hover,
.route-grupos .panel-shell:hover,
.route-historico .panel-shell:hover,
.route-usuarios .panel-shell:hover {
  transform: none !important;
  border-color: var(--nv-border-strong, #cbd5e1) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

/* ─── Títulos e cabeçalhos ─── */
.route-dashboard .hero-row,
.route-bot-resumo .hero-row,
.route-relatorios .hero-row,
.route-relatorios-pdf .hero-row,
.route-dashboard-cobranca .hero-row,
.route-gestao-precos .hero-row,
.route-compras .hero-row,
.route-compras-lead-times .hero-row,
.route-recompra-inteligente .hero-row,
.route-sincronizacao .hero-row,
.route-campanhas-cobranca .hero-row,
.route-contatos .hero-row,
.route-produtos .hero-row,
.route-whatsapp-config .hero-row,
.route-campanhas .hero-row,
.route-grupos .hero-row,
.route-historico .hero-row,
.route-usuarios .hero-row,
.route-dashboard .panel-head,
.route-bot-resumo .panel-head,
.route-relatorios .panel-head,
.route-relatorios-pdf .panel-head,
.route-dashboard-cobranca .panel-head,
.route-gestao-precos .panel-head,
.route-compras .panel-head,
.route-compras-lead-times .panel-head,
.route-recompra-inteligente .panel-head,
.route-sincronizacao .panel-head,
.route-campanhas-cobranca .panel-head,
.route-contatos .panel-head,
.route-produtos .panel-head,
.route-whatsapp-config .panel-head,
.route-campanhas .panel-head,
.route-grupos .panel-head,
.route-historico .panel-head,
.route-usuarios .panel-head {
  min-width: 0;
  gap: 12px;
}

.route-dashboard .title-area h1,
.route-bot-resumo .title-area h1,
.route-relatorios .title-area h1,
.route-relatorios-pdf .title-area h1,
.route-dashboard-cobranca .title-area h1,
.route-gestao-precos .title-area h1,
.route-compras .title-area h1,
.route-compras-lead-times .title-area h1,
.route-recompra-inteligente .title-area h1,
.route-sincronizacao .title-area h1,
.route-campanhas-cobranca .title-area h1,
.route-contatos .title-area h1,
.route-produtos .title-area h1,
.route-whatsapp-config .title-area h1,
.route-campanhas .title-area h1,
.route-grupos .title-area h1,
.route-historico .title-area h1,
.route-usuarios .title-area h1 {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.05;
  max-width: 100%;
}

.route-dashboard .panel-head h2,
.route-bot-resumo .panel-head h2,
.route-relatorios .panel-head h2,
.route-relatorios-pdf .panel-head h2,
.route-dashboard-cobranca .panel-head h2,
.route-gestao-precos .panel-head h2,
.route-compras .panel-head h2,
.route-compras-lead-times .panel-head h2,
.route-recompra-inteligente .panel-head h2,
.route-sincronizacao .panel-head h2,
.route-campanhas-cobranca .panel-head h2,
.route-contatos .panel-head h2,
.route-produtos .panel-head h2,
.route-whatsapp-config .panel-head h2,
.route-campanhas .panel-head h2,
.route-grupos .panel-head h2,
.route-historico .panel-head h2,
.route-usuarios .panel-head h2 {
  margin: 0 0 3px;
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.route-dashboard .panel-subtitle,
.route-bot-resumo .panel-subtitle,
.route-relatorios .panel-subtitle,
.route-relatorios-pdf .panel-subtitle,
.route-dashboard-cobranca .panel-subtitle,
.route-gestao-precos .panel-subtitle,
.route-compras .panel-subtitle,
.route-compras-lead-times .panel-subtitle,
.route-recompra-inteligente .panel-subtitle,
.route-sincronizacao .panel-subtitle,
.route-campanhas-cobranca .panel-subtitle,
.route-contatos .panel-subtitle,
.route-produtos .panel-subtitle,
.route-whatsapp-config .panel-subtitle,
.route-campanhas .panel-subtitle,
.route-grupos .panel-subtitle,
.route-historico .panel-subtitle,
.route-usuarios .panel-subtitle {
  font-size: 12px;
  line-height: 1.35;
}

/* ─── Grids e cards de resumo ─── */
.route-dashboard .summary-grid,
.route-dashboard .dashboard-summary-grid,
.route-dashboard-cobranca .summary-grid,
.route-campanhas-cobranca .summary-grid,
.route-sincronizacao .summary-grid,
.route-produtos .summary-grid,
.route-usuarios .summary-grid,
.route-grupos .summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: 12px;
  align-items: start;
}

.route-dashboard .summary-tile,
.route-dashboard-cobranca .summary-tile,
.route-campanhas-cobranca .summary-tile,
.route-sincronizacao .summary-tile,
.route-produtos .summary-tile,
.route-usuarios .summary-tile,
.route-grupos .summary-tile {
  min-width: 0;
  min-height: 0;
  padding: 15px !important;
  border-radius: 16px !important;
}

.route-dashboard .summary-tile strong,
.route-dashboard-cobranca .summary-tile strong,
.route-campanhas-cobranca .summary-tile strong,
.route-sincronizacao .summary-tile strong,
.route-produtos .summary-tile strong,
.route-usuarios .summary-tile strong,
.route-grupos .summary-tile strong {
  display: block;
  max-width: 100%;
  font-size: clamp(20px, 1.6vw, 28px) !important;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ─── Toolbars e filtros ─── */
.route-dashboard .toolbar-grid,
.route-bot-resumo .toolbar-grid,
.route-relatorios .toolbar-grid,
.route-relatorios-pdf .toolbar-grid,
.route-dashboard-cobranca .toolbar-grid,
.route-dashboard-cobranca .campaign-dashboard-filters,
.route-gestao-precos .toolbar-grid,
.route-compras .toolbar-grid,
.route-compras .compras-filters,
.route-compras-lead-times .toolbar-grid,
.route-recompra-inteligente .toolbar-grid,
.route-recompra-inteligente .recompra-filters,
.route-sincronizacao .toolbar-grid,
.route-campanhas-cobranca .toolbar-grid,
.route-contatos .toolbar-grid,
.route-contatos .contacts-filter-toolbar,
.route-produtos .toolbar-grid,
.route-whatsapp-config .toolbar-grid,
.route-campanhas .toolbar-grid,
.route-grupos .toolbar-grid,
.route-historico .toolbar-grid,
.route-usuarios .toolbar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end;
  min-width: 0;
  padding: 12px !important;
}

.route-dashboard input,
.route-dashboard select,
.route-dashboard textarea,
.route-dashboard button,
.route-bot-resumo input,
.route-bot-resumo select,
.route-bot-resumo textarea,
.route-bot-resumo button,
.route-relatorios input,
.route-relatorios select,
.route-relatorios textarea,
.route-relatorios button,
.route-relatorios-pdf input,
.route-relatorios-pdf select,
.route-relatorios-pdf textarea,
.route-relatorios-pdf button,
.route-dashboard-cobranca input,
.route-dashboard-cobranca select,
.route-dashboard-cobranca textarea,
.route-dashboard-cobranca button,
.route-gestao-precos input,
.route-gestao-precos select,
.route-gestao-precos textarea,
.route-gestao-precos button,
.route-compras input,
.route-compras select,
.route-compras textarea,
.route-compras button,
.route-compras-lead-times input,
.route-compras-lead-times select,
.route-compras-lead-times textarea,
.route-compras-lead-times button,
.route-recompra-inteligente input,
.route-recompra-inteligente select,
.route-recompra-inteligente textarea,
.route-recompra-inteligente button,
.route-sincronizacao input,
.route-sincronizacao select,
.route-sincronizacao textarea,
.route-sincronizacao button,
.route-campanhas-cobranca input,
.route-campanhas-cobranca select,
.route-campanhas-cobranca textarea,
.route-campanhas-cobranca button,
.route-contatos input,
.route-contatos select,
.route-contatos textarea,
.route-contatos button,
.route-produtos input,
.route-produtos select,
.route-produtos textarea,
.route-produtos button,
.route-whatsapp-config input,
.route-whatsapp-config select,
.route-whatsapp-config textarea,
.route-whatsapp-config button,
.route-campanhas input,
.route-campanhas select,
.route-campanhas textarea,
.route-campanhas button,
.route-grupos input,
.route-grupos select,
.route-grupos textarea,
.route-grupos button,
.route-historico input,
.route-historico select,
.route-historico textarea,
.route-historico button,
.route-usuarios input,
.route-usuarios select,
.route-usuarios textarea,
.route-usuarios button {
  min-width: 0;
  max-width: 100%;
  min-height: 38px;
  font-size: 12px;
}

/* ─── Tabelas ─── */
.route-dashboard .table-wrap,
.route-dashboard .refined-wrap,
.route-bot-resumo .table-wrap,
.route-bot-resumo .refined-wrap,
.route-relatorios .table-wrap,
.route-relatorios .refined-wrap,
.route-relatorios-pdf .table-wrap,
.route-relatorios-pdf .refined-wrap,
.route-dashboard-cobranca .table-wrap,
.route-dashboard-cobranca .refined-wrap,
.route-gestao-precos .table-wrap,
.route-gestao-precos .refined-wrap,
.route-compras .table-wrap,
.route-compras .refined-wrap,
.route-compras-lead-times .table-wrap,
.route-compras-lead-times .refined-wrap,
.route-recompra-inteligente .table-wrap,
.route-recompra-inteligente .refined-wrap,
.route-sincronizacao .table-wrap,
.route-sincronizacao .refined-wrap,
.route-campanhas-cobranca .table-wrap,
.route-campanhas-cobranca .refined-wrap,
.route-contatos .table-wrap,
.route-contatos .refined-wrap,
.route-produtos .table-wrap,
.route-produtos .refined-wrap,
.route-whatsapp-config .table-wrap,
.route-whatsapp-config .refined-wrap,
.route-campanhas .table-wrap,
.route-campanhas .refined-wrap,
.route-grupos .table-wrap,
.route-grupos .refined-wrap,
.route-historico .table-wrap,
.route-historico .refined-wrap,
.route-usuarios .table-wrap,
.route-usuarios .refined-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: auto;
  max-height: min(640px, calc(100vh - 220px));
  border-radius: 16px !important;
}

.route-dashboard .modern-table th,
.route-dashboard .modern-table td,
.route-bot-resumo .modern-table th,
.route-bot-resumo .modern-table td,
.route-relatorios .modern-table th,
.route-relatorios .modern-table td,
.route-relatorios-pdf .modern-table th,
.route-relatorios-pdf .modern-table td,
.route-dashboard-cobranca .modern-table th,
.route-dashboard-cobranca .modern-table td,
.route-gestao-precos .modern-table th,
.route-gestao-precos .modern-table td,
.route-compras .modern-table th,
.route-compras .modern-table td,
.route-compras-lead-times .modern-table th,
.route-compras-lead-times .modern-table td,
.route-recompra-inteligente .modern-table th,
.route-recompra-inteligente .modern-table td,
.route-sincronizacao .modern-table th,
.route-sincronizacao .modern-table td,
.route-campanhas-cobranca .modern-table th,
.route-campanhas-cobranca .modern-table td,
.route-contatos .modern-table th,
.route-contatos .modern-table td,
.route-produtos .modern-table th,
.route-produtos .modern-table td,
.route-whatsapp-config .modern-table th,
.route-whatsapp-config .modern-table td,
.route-campanhas .modern-table th,
.route-campanhas .modern-table td,
.route-grupos .modern-table th,
.route-grupos .modern-table td,
.route-historico .modern-table th,
.route-historico .modern-table td,
.route-usuarios .modern-table th,
.route-usuarios .modern-table td {
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.3;
}

.route-dashboard .modern-table th,
.route-bot-resumo .modern-table th,
.route-relatorios .modern-table th,
.route-relatorios-pdf .modern-table th,
.route-dashboard-cobranca .modern-table th,
.route-gestao-precos .modern-table th,
.route-compras .modern-table th,
.route-compras-lead-times .modern-table th,
.route-recompra-inteligente .modern-table th,
.route-sincronizacao .modern-table th,
.route-campanhas-cobranca .modern-table th,
.route-contatos .modern-table th,
.route-produtos .modern-table th,
.route-whatsapp-config .modern-table th,
.route-campanhas .modern-table th,
.route-grupos .modern-table th,
.route-historico .modern-table th,
.route-usuarios .modern-table th {
  top: 0;
  z-index: 1;
  white-space: nowrap;
}

.route-dashboard .cell-title,
.route-dashboard .cell-sub,
.route-bot-resumo .cell-title,
.route-bot-resumo .cell-sub,
.route-relatorios .cell-title,
.route-relatorios .cell-sub,
.route-relatorios-pdf .cell-title,
.route-relatorios-pdf .cell-sub,
.route-dashboard-cobranca .cell-title,
.route-dashboard-cobranca .cell-sub,
.route-gestao-precos .cell-title,
.route-gestao-precos .cell-sub,
.route-compras .cell-title,
.route-compras .cell-sub,
.route-compras .ellipsis-cell,
.route-compras-lead-times .cell-title,
.route-compras-lead-times .cell-sub,
.route-recompra-inteligente .cell-title,
.route-recompra-inteligente .cell-sub,
.route-sincronizacao .cell-title,
.route-sincronizacao .cell-sub,
.route-campanhas-cobranca .cell-title,
.route-campanhas-cobranca .cell-sub,
.route-contatos .cell-title,
.route-contatos .cell-sub,
.route-produtos .cell-title,
.route-produtos .cell-sub,
.route-whatsapp-config .cell-title,
.route-whatsapp-config .cell-sub,
.route-campanhas .cell-title,
.route-campanhas .cell-sub,
.route-grupos .cell-title,
.route-grupos .cell-sub,
.route-historico .cell-title,
.route-historico .cell-sub,
.route-usuarios .cell-title,
.route-usuarios .cell-sub {
  display: block;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ─── Scrollbars discretas ─── */
.route-dashboard .table-wrap::-webkit-scrollbar,
.route-dashboard .refined-wrap::-webkit-scrollbar,
.route-bot-resumo .table-wrap::-webkit-scrollbar,
.route-relatorios .table-wrap::-webkit-scrollbar,
.route-relatorios-pdf .table-wrap::-webkit-scrollbar,
.route-dashboard-cobranca .table-wrap::-webkit-scrollbar,
.route-gestao-precos .table-wrap::-webkit-scrollbar,
.route-compras .table-wrap::-webkit-scrollbar,
.route-compras-lead-times .table-wrap::-webkit-scrollbar,
.route-recompra-inteligente .table-wrap::-webkit-scrollbar,
.route-sincronizacao .table-wrap::-webkit-scrollbar,
.route-campanhas-cobranca .table-wrap::-webkit-scrollbar,
.route-contatos .table-wrap::-webkit-scrollbar,
.route-produtos .table-wrap::-webkit-scrollbar,
.route-whatsapp-config .table-wrap::-webkit-scrollbar,
.route-campanhas .table-wrap::-webkit-scrollbar,
.route-grupos .table-wrap::-webkit-scrollbar,
.route-historico .table-wrap::-webkit-scrollbar,
.route-usuarios .table-wrap::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

.route-dashboard .table-wrap::-webkit-scrollbar-thumb,
.route-dashboard .refined-wrap::-webkit-scrollbar-thumb,
.route-bot-resumo .table-wrap::-webkit-scrollbar-thumb,
.route-relatorios .table-wrap::-webkit-scrollbar-thumb,
.route-relatorios-pdf .table-wrap::-webkit-scrollbar-thumb,
.route-dashboard-cobranca .table-wrap::-webkit-scrollbar-thumb,
.route-gestao-precos .table-wrap::-webkit-scrollbar-thumb,
.route-compras .table-wrap::-webkit-scrollbar-thumb,
.route-compras-lead-times .table-wrap::-webkit-scrollbar-thumb,
.route-recompra-inteligente .table-wrap::-webkit-scrollbar-thumb,
.route-sincronizacao .table-wrap::-webkit-scrollbar-thumb,
.route-campanhas-cobranca .table-wrap::-webkit-scrollbar-thumb,
.route-contatos .table-wrap::-webkit-scrollbar-thumb,
.route-produtos .table-wrap::-webkit-scrollbar-thumb,
.route-whatsapp-config .table-wrap::-webkit-scrollbar-thumb,
.route-campanhas .table-wrap::-webkit-scrollbar-thumb,
.route-grupos .table-wrap::-webkit-scrollbar-thumb,
.route-historico .table-wrap::-webkit-scrollbar-thumb,
.route-usuarios .table-wrap::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.35);
}

@media (max-width: 1280px) {
  .route-dashboard .top-header,
  .route-bot-resumo .top-header,
  .route-relatorios .top-header,
  .route-relatorios-pdf .top-header,
  .route-dashboard-cobranca .top-header,
  .route-gestao-precos .top-header,
  .route-compras .top-header,
  .route-compras-lead-times .top-header,
  .route-recompra-inteligente .top-header,
  .route-sincronizacao .top-header,
  .route-campanhas-cobranca .top-header,
  .route-contatos .top-header,
  .route-produtos .top-header,
  .route-whatsapp-config .top-header,
  .route-campanhas .top-header,
  .route-grupos .top-header,
  .route-historico .top-header,
  .route-usuarios .top-header {
    position: static;
  }
}

@media (max-width: 900px) {
  .route-dashboard .screen-block,
  .route-bot-resumo .screen-block,
  .route-relatorios .screen-block,
  .route-relatorios-pdf .screen-block,
  .route-dashboard-cobranca .screen-block,
  .route-gestao-precos .screen-block,
  .route-compras .screen-block,
  .route-compras-lead-times .screen-block,
  .route-recompra-inteligente .screen-block,
  .route-sincronizacao .screen-block,
  .route-campanhas-cobranca .screen-block,
  .route-contatos .screen-block,
  .route-produtos .screen-block,
  .route-whatsapp-config .screen-block,
  .route-campanhas .screen-block,
  .route-grupos .screen-block,
  .route-historico .screen-block,
  .route-usuarios .screen-block {
    padding: 12px;
    gap: 12px;
  }

  .route-dashboard .table-wrap,
  .route-dashboard .refined-wrap,
  .route-bot-resumo .table-wrap,
  .route-relatorios .table-wrap,
  .route-relatorios-pdf .table-wrap,
  .route-dashboard-cobranca .table-wrap,
  .route-gestao-precos .table-wrap,
  .route-compras .table-wrap,
  .route-compras-lead-times .table-wrap,
  .route-recompra-inteligente .table-wrap,
  .route-sincronizacao .table-wrap,
  .route-campanhas-cobranca .table-wrap,
  .route-contatos .table-wrap,
  .route-produtos .table-wrap,
  .route-whatsapp-config .table-wrap,
  .route-campanhas .table-wrap,
  .route-grupos .table-wrap,
  .route-historico .table-wrap,
  .route-usuarios .table-wrap {
    max-height: none;
    overflow-y: visible;
  }
}

/* ════════════════════════════════════════════════════════════════
   Passada 2 — correções pós-auditoria Playwright
   ─────────────────────────────────────────────────────────────────
   Auditoria confirmou ausência de overflow global, mas apontou
   estouros internos em KPIs, selects e tabelas densas. Esta seção
   corrige esses pontos sem afetar BI/Atendimento/Catálogo.
════════════════════════════════════════════════════════════════ */

/* Dashboard V2 usa componentes nv-*; compactar quando dentro da rota dashboard. */
.route-dashboard .nv-dashboard-kpis,
.route-dashboard .nv-grid-auto-kpi {
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 12px;
}

.route-dashboard .nv-kpi-card {
  min-width: 0;
  min-height: 104px;
  padding: 13px 14px;
  gap: 8px;
  overflow: hidden;
}

.route-dashboard .nv-kpi-head,
.route-dashboard .nv-kpi-title {
  min-width: 0;
}

.route-dashboard .nv-kpi-title > span:last-child {
  display: block;
  min-width: 0;
  max-width: 100%;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.route-dashboard .nv-kpi-card strong {
  max-width: 100%;
  font-size: clamp(18px, 1.3vw, 24px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.route-dashboard .nv-kpi-card p,
.route-dashboard .nv-kpi-card small {
  display: -webkit-box;
  max-width: 100%;
  font-size: 10.5px;
  line-height: 1.25;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.route-dashboard .nv-kpi-card span,
.route-dashboard .nv-kpi-card small,
.route-dashboard .nv-kpi-card p,
.route-dashboard .nv-dashboard-panel span,
.route-dashboard .nv-dashboard-panel small,
.route-dashboard .nv-dashboard-panel p {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Selects longos em relatórios/sync: conteúdo interno não deve inflar a célula. */
.route-relatorios select,
.route-relatorios-pdf select,
.route-sincronizacao select,
.route-dashboard-cobranca select,
.route-campanhas-cobranca select,
.route-compras select,
.route-recompra-inteligente select,
.route-produtos select,
.route-contatos select,
.route-usuarios select,
.route-grupos select {
  width: 100%;
  min-width: 0 !important;
  max-width: 100%;
  padding-left: 10px !important;
  padding-right: 32px !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tabelas densas: considerar estouro interno aceitável apenas no wrapper rolável. */
.route-relatorios .modern-table,
.route-relatorios-pdf .modern-table,
.route-dashboard-cobranca .modern-table,
.route-gestao-precos .modern-table,
.route-compras .modern-table,
.route-compras-lead-times .modern-table,
.route-recompra-inteligente .modern-table,
.route-sincronizacao .modern-table,
.route-campanhas-cobranca .modern-table,
.route-contatos .modern-table,
.route-produtos .modern-table,
.route-whatsapp-config .modern-table,
.route-campanhas .modern-table,
.route-grupos .modern-table,
.route-historico .modern-table,
.route-usuarios .modern-table {
  min-width: max-content;
  width: max-content;
  max-width: none;
  table-layout: auto;
}

.route-relatorios .modern-table th,
.route-relatorios .modern-table td,
.route-relatorios-pdf .modern-table th,
.route-relatorios-pdf .modern-table td,
.route-dashboard-cobranca .modern-table th,
.route-dashboard-cobranca .modern-table td,
.route-gestao-precos .modern-table th,
.route-gestao-precos .modern-table td,
.route-compras .modern-table th,
.route-compras .modern-table td,
.route-compras-lead-times .modern-table th,
.route-compras-lead-times .modern-table td,
.route-recompra-inteligente .modern-table th,
.route-recompra-inteligente .modern-table td,
.route-sincronizacao .modern-table th,
.route-sincronizacao .modern-table td,
.route-campanhas-cobranca .modern-table th,
.route-campanhas-cobranca .modern-table td,
.route-contatos .modern-table th,
.route-contatos .modern-table td,
.route-produtos .modern-table th,
.route-produtos .modern-table td,
.route-whatsapp-config .modern-table th,
.route-whatsapp-config .modern-table td,
.route-campanhas .modern-table th,
.route-campanhas .modern-table td,
.route-grupos .modern-table th,
.route-grupos .modern-table td,
.route-historico .modern-table th,
.route-historico .modern-table td,
.route-usuarios .modern-table th,
.route-usuarios .modern-table td {
  min-width: 96px;
  max-width: 280px;
  white-space: nowrap;
}

.route-compras .modern-table .cell-title,
.route-compras .modern-table .cell-sub,
.route-compras .modern-table .ellipsis-cell,
.route-recompra-inteligente .modern-table .cell-title,
.route-recompra-inteligente .modern-table .cell-sub,
.route-sincronizacao .modern-table .cell-title,
.route-sincronizacao .modern-table .cell-sub,
.route-produtos .modern-table .cell-title,
.route-produtos .modern-table .cell-sub,
.route-contatos .modern-table .cell-title,
.route-contatos .modern-table .cell-sub {
  max-width: 220px;
}

.route-recompra-inteligente .modern-table .recompra-reason {
  max-width: 320px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.route-sincronizacao .modern-table .row-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  min-width: max-content;
}

.route-sincronizacao .modern-table .row-actions .small-btn,
.route-sincronizacao .modern-table .row-actions button {
  flex: 0 0 auto;
  min-width: max-content;
  padding-inline: 8px;
}

.route-produtos .product-thumb,
.route-produtos .product-image-fallback {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
  overflow: hidden;
}

@media (max-width: 900px) {
  .route-dashboard .nv-dashboard-kpis,
  .route-dashboard .nv-grid-auto-kpi {
    grid-template-columns: 1fr;
  }

  .route-relatorios .modern-table,
  .route-relatorios-pdf .modern-table,
  .route-dashboard-cobranca .modern-table,
  .route-gestao-precos .modern-table,
  .route-compras .modern-table,
  .route-compras-lead-times .modern-table,
  .route-recompra-inteligente .modern-table,
  .route-sincronizacao .modern-table,
  .route-campanhas-cobranca .modern-table,
  .route-contatos .modern-table,
  .route-produtos .modern-table,
  .route-whatsapp-config .modern-table,
  .route-campanhas .modern-table,
  .route-grupos .modern-table,
  .route-historico .modern-table,
  .route-usuarios .modern-table {
    min-width: 0;
    width: 100%;
  }
}
html, body, #root {
  min-height: 100%;
}

.login-card,
.login-card * {
  box-sizing: border-box !important;
}

.login-page {
  min-height: 100vh !important;
  display: grid !important;
  place-items: center !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding:
    max(clamp(16px, 3vw, 32px), env(safe-area-inset-top))
    max(clamp(16px, 3vw, 32px), env(safe-area-inset-right))
    max(clamp(16px, 3vw, 32px), env(safe-area-inset-bottom))
    max(clamp(16px, 3vw, 32px), env(safe-area-inset-left)) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(37, 99, 235, .22) 0, transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(14, 165, 233, .16) 0, transparent 28%),
    linear-gradient(160deg, #0f172a 0%, #1e293b 45%, #1e40af 100%) !important;
  position: relative !important;
  z-index: 1000 !important;
}

.login-card {
  width: min(460px, 100%) !important;
  max-height: calc(100vh - 32px) !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable both-edges !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: clamp(20px, 3vw, 28px) !important;
  padding: clamp(24px, 4vw, 36px) !important;
  box-shadow: 0 30px 80px rgba(2, 6, 23, .35) !important;
  position: relative !important;
  isolation: isolate !important;
  z-index: 1001 !important;
  overflow: hidden !important;
}

.login-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 5px 0 auto !important;
  height: 96px !important;
  background: linear-gradient(180deg, rgba(37, 99, 235, .08), transparent) !important;
  pointer-events: none !important;
}

@supports (min-height: 100dvh) {
  .login-page {
    min-height: 100dvh !important;
  }

  .login-card {
    max-height: calc(100dvh - 32px) !important;
  }
}

.login-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 5px !important;
  background: linear-gradient(90deg, #1E40AF, #2563EB 52%, #0EA5E9) !important;
  pointer-events: none !important;
}

.login-card .section-kicker {
  color: #1E40AF !important;
  letter-spacing: .14em !important;
  text-wrap: balance !important;
}

.login-card h1 {
  margin-block: 8px 10px !important;
  color: #0f172a !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance !important;
}

.login-card .section-subtitle {
  color: #475569 !important;
  max-width: 34ch !important;
  line-height: 1.55 !important;
  text-wrap: pretty !important;
}

.login-card .form-grid {
  gap: clamp(14px, 2vw, 18px) !important;
  position: relative !important;
  z-index: 1002 !important;
}

.login-card label {
  color: #334155 !important;
  font-weight: 700 !important;
}

.login-card input {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  pointer-events: auto !important;
  user-select: text !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 1002 !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
}

@media (hover: hover) {
  .login-card input:not(:disabled):hover {
    border-color: #94a3b8 !important;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, .14) !important;
  }
}

.login-card input:focus {
  border-color: #1E40AF !important;
  box-shadow: 0 0 0 3px rgba(30, 64, 175, .16) !important;
}

.login-card .primary-btn {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1002 !important;
  min-height: 48px !important;
  width: 100% !important;
  box-shadow: 0 16px 34px rgba(30, 64, 175, .22) !important;
  transition: transform 200ms ease, box-shadow 200ms ease, filter 200ms ease !important;
}

@media (min-width: 900px) and (min-height: 760px) {
  .login-card {
    width: min(480px, 100%) !important;
  }

  .login-card .form-grid {
    gap: 18px !important;
  }
}

.login-card .primary-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 20px 42px rgba(30, 64, 175, .28) !important;
  filter: saturate(1.04) !important;
}

.login-card .primary-btn:active {
  transform: translateY(0) !important;
}

.login-card input:focus-visible,
.login-card .primary-btn:focus-visible {
  outline: 3px solid rgba(14, 165, 233, .28) !important;
  outline-offset: 3px !important;
}

.login-card input::placeholder {
  color: #94a3b8 !important;
}

.login-card input::selection,
.login-card label::selection,
.login-card .section-kicker::selection,
.login-card .error-text::selection,
.login-card h1::selection,
.login-card .section-subtitle::selection {
  color: #ffffff !important;
  background: #1E40AF !important;
}

.login-card input:autofill {
  color: #0f172a !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 3px rgba(30, 64, 175, .12) !important;
}

.login-card input:-webkit-autofill,
.login-card input:-webkit-autofill:hover,
.login-card input:-webkit-autofill:focus {
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 3px rgba(30, 64, 175, .12) !important;
  caret-color: #0f172a !important;
}

.login-card .error-text {
  margin: -2px 0 2px !important;
  padding: 12px 14px !important;
  color: #991b1b !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.login-card input:disabled,
.login-card .primary-btn:disabled {
  cursor: not-allowed !important;
  opacity: .68 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Spinner visual quando o botão está disabled (= loading de submit) */
.login-card .primary-btn:disabled {
  position: relative !important;
  color: transparent !important;
}

.login-card .primary-btn:disabled::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 22px !important;
  height: 22px !important;
  margin: -11px 0 0 -11px !important;
  border: 2.5px solid rgba(255, 255, 255, .35) !important;
  border-top-color: #ffffff !important;
  border-radius: 50% !important;
  animation: login-btn-spin 650ms linear infinite !important;
}

@keyframes login-btn-spin {
  to { transform: rotate(360deg); }
}

@media (max-height: 720px) and (min-width: 640px) {
  .login-page {
    align-items: start !important;
    padding-block: 18px !important;
  }

  .login-card {
    padding: 24px 30px !important;
  }

  .login-card h1 {
    font-size: clamp(1.9rem, 4vw, 2.5rem) !important;
  }

  .login-card .section-subtitle {
    margin-bottom: 2px !important;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .login-page {
    align-items: start !important;
    padding-block: 10px !important;
  }

  .login-card {
    padding: 18px 24px !important;
    border-radius: 18px !important;
  }

  .login-card::after {
    height: 56px !important;
  }

  .login-card h1 {
    margin-block: 4px 6px !important;
    font-size: clamp(1.65rem, 4vw, 2.15rem) !important;
  }

  .login-card .form-grid {
    gap: 10px !important;
  }

  .login-card .section-subtitle {
    line-height: 1.42 !important;
  }
}

@media (max-width: 520px) {
  .login-page {
    align-items: start !important;
    padding: 14px !important;
  }

  .login-card {
    max-height: calc(100vh - 28px) !important;
    border-radius: 20px !important;
    padding: 22px !important;
    box-shadow: 0 20px 54px rgba(2, 6, 23, .32) !important;
  }

  .login-card h1 {
    font-size: clamp(1.82rem, 12vw, 2.35rem) !important;
  }

  .login-card .section-subtitle {
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  .login-page {
    padding: 10px !important;
  }

  .login-card {
    border-radius: 18px !important;
    padding: 18px !important;
  }

  .login-card input,
  .login-card .primary-btn {
    min-height: 46px !important;
  }

  .login-card h1,
  .login-card .section-subtitle,
  .login-card label,
  .login-card .error-text {
    overflow-wrap: anywhere !important;
  }
}

@media (prefers-contrast: more) {
  .login-card {
    border-color: #94a3b8 !important;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .48) !important;
  }

  .login-card input {
    border-color: #64748b !important;
  }
}

@media (forced-colors: active) {
  .login-page,
  .login-card,
  .login-card::before,
  .login-card::after {
    background: Canvas !important;
  }

  .login-card,
  .login-card input,
  .login-card .primary-btn {
    border: 1px solid ButtonText !important;
  }

  .login-card input:focus-visible,
  .login-card .primary-btn:focus-visible {
    outline: 2px solid Highlight !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-card input,
  .login-card .primary-btn {
    transition: none !important;
  }

  .login-card .primary-btn:hover,
  .login-card .primary-btn:active {
    transform: none !important;
  }

  .login-card .primary-btn:disabled::after {
    animation-duration: 1200ms !important;
  }
}

/* Design System cycle: compact safe-area polish for small-height devices */
@media (max-height: 680px) {
  .login-page {
    align-items: start !important;
  }

  .login-card {
    margin-block: 0 !important;
    padding: clamp(20px, 3.5vw, 28px) !important;
  }

  .login-card h1 {
    font-size: clamp(1.8rem, 7vw, 2.55rem) !important;
  }

  .login-card .section-subtitle {
    font-size: .95rem !important;
  }
}

@media (max-width: 420px) {
  .login-card {
    border-radius: 20px !important;
  }

  .login-card input,
  .login-card .primary-btn {
    min-height: 52px !important;
  }
}
