/* ======================================================================================
   TEMA SaaS (decisão de 05/11/2026: pegada UTMify, não ERP). Carregado depois do app.css e sobrescreve
   o visual: barra superior branca, menu azul-marinho, cartões arredondados com sombra suave,
   botões sem caixa alta. A marca continua NexusTrack (nenhum logo ou imagem de terceiros).
   ====================================================================================== */
:root, [data-bs-theme=light] { --nx-navy: #0b1437; --nx-navy-2: #111c4a; --nx-borda-suave: #eaecf0; }
body { background: #f4f6fb; color: #344054; }

/* barra superior */
.nx-navbar { background: #fff; border-bottom: 1px solid var(--nx-borda-suave); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.nx-navbar .nav-link, .nx-navbar .navbar-text { color: #344054; }
.nx-navbar .nav-link:hover { color: var(--nx-destaque); opacity: 1; }
.nx-navbar .navbar-nav.nx-direita > .nav-item { border-left: 0; box-shadow: none; }
.nx-seletor { height: 2.25rem; border-color: #e4e7ec; border-radius: 8px; background: #f9fafb; }
.nx-avatar { background: var(--nx-destaque); color: #fff; border-color: #fff; }
.nx-usuario-menu { border-radius: 10px; border-color: var(--nx-borda-suave); box-shadow: 0 12px 24px rgba(16, 24, 40, .12); }

/* menu lateral */
.nx-sidebar { background: var(--nx-navy); box-shadow: none; }
.nx-sidebar .sidebar-brand { background: var(--nx-navy); border-bottom: 1px solid rgba(255, 255, 255, .06); }
.nx-marca { border-radius: 9px; }
.nx-perfil { border-bottom: 1px solid rgba(255, 255, 255, .06); box-shadow: none; color: #aab2cf; }
.nx-perfil .nx-avatar { background: var(--nx-navy-2); border-color: rgba(255, 255, 255, .15); }
.nx-sidebar .sidebar-menu .nav-header { color: #6b7491; font-size: .66rem; padding: 1rem 1.2rem .35rem; }
.nx-sidebar .sidebar-menu > .nav-item > .nav-link {
  margin: 2px .65rem; padding: .62rem .8rem; border: 0; border-radius: 8px; background: transparent;
  color: #c7cde0; font-size: .86rem; font-weight: 500; letter-spacing: 0; text-transform: none;
}
.nx-sidebar .sidebar-menu > .nav-item > .nav-link:hover { background: rgba(255, 255, 255, .06); color: #fff; border: 0; }
.nx-sidebar .sidebar-menu > .nav-item > .nav-link.active {
  background: var(--nx-destaque) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(24, 119, 242, .35);
}
.nx-sidebar .sidebar-menu .nav-icon { color: #8a93b2; }
.nx-sidebar .sidebar-menu .nav-link.active > .nav-icon { color: #fff; }
.sidebar-mini.sidebar-collapse .nx-sidebar:not(:hover) .sidebar-menu > .nav-item > .nav-link { margin-inline: .5rem; }

/* faixa de título */
.nx-cabecalho { background: transparent; border-bottom: 0; padding: 1.4rem 1.5rem .2rem; }
.nx-cabecalho h1 { font-size: 1.35rem; font-weight: 600; color: #101828; }
.app-content { padding: 1rem 1.5rem 1.5rem; }

/* blocos e cartões */
.erp-widget, .nx-resumo, .nx-cartao {
  background: #fff; border: 1px solid var(--nx-borda-suave); border-radius: 12px; box-shadow: 0 1px 3px rgba(16, 24, 40, .06);
}
.erp-widget { overflow: hidden; }
.erp-widget-titulo { min-height: 3.1rem; background: #fff; border-bottom: 1px solid #f0f1f5; border-radius: 12px 12px 0 0; }
.erp-widget-icone { width: 2.9rem; border-right: 0; color: var(--nx-destaque); }
.erp-widget-titulo h2 { padding-left: 0; font-size: .95rem; font-weight: 600; color: #101828; }
.erp-widget-rodape { border-top-color: #f0f1f5; background: #fcfcfd; }
.nx-cartao-valor { color: #1d2939; }
.nx-cartao-titulo { color: #475467; }
.erp-indicadores { background: #fff; }

/* botões */
.erp-botao {
  height: 2.3rem; padding: 0 1rem; border-radius: 8px; box-shadow: none; text-transform: none;
  letter-spacing: 0; font-size: .82rem; font-weight: 600;
}
.erp-botao--azul { background: var(--nx-destaque); border-color: var(--nx-destaque); }
.erp-botao--azul:hover { background: var(--nx-destaque-escuro); filter: none; }
.erp-botao--verde { background: #12b76a; border-color: #12b76a; }
.erp-botao--vermelho { background: #f04438; border-color: #f04438; }
.erp-botao--cinza { background: #fff; border-color: #d0d5dd; color: #344054; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.erp-botao--cinza:hover { background: #f9fafb; color: #101828; filter: none; }
.erp-botao-mini { height: 1.95rem; padding: 0 .7rem; font-size: .76rem; }
.erp-icone-botao { border-radius: 8px; border-color: #e4e7ec; }

/* tabelas */
.erp-tabela { font-size: .84rem; }
.erp-tabela thead th {
  background: #f9fafb; border-bottom: 1px solid #eaecf0; color: #667085; font-size: .74rem; font-weight: 600; text-transform: none;
}
.erp-tabela tbody td { border-bottom: 1px solid #f2f4f7; color: #344054; padding: .7rem .85rem; }
.erp-tabela tbody tr:nth-child(even) td { background: #fff; }
.erp-tabela tbody tr:hover td { background: #f5f8ff; }
.erp-vazio { background: #fff; }

/* selos, segmentos, formulários, avisos, janela */
.erp-selo { border-radius: 999px; padding: .15rem .55rem; text-transform: none; letter-spacing: 0; font-size: .72rem; font-weight: 600; }
.erp-segmentos { border-color: #d0d5dd; border-radius: 8px; }
.erp-segmentos button { background: #fff; border-right-color: #e4e7ec; color: #344054; padding: .35rem .8rem; }
.erp-segmentos button.active { background: var(--nx-destaque-suave); color: var(--nx-destaque); }
.form-control, .form-select { border-radius: 8px; border-color: #d0d5dd; font-size: .85rem; }
.erp-form { background: #fff; }
.nx-aviso { border-radius: 10px; }
.nx-copiar { border-radius: 8px; border-color: #e4e7ec; background: #f9fafb; }
.nx-janela { background: #fff; border: 0; border-radius: 14px; overflow: hidden; }
.nx-janela-rodape { background: #fcfcfd; border-top-color: #f0f1f5; }
.nx-acesso { background: radial-gradient(1200px 600px at 10% 0%, #e8f0ff 0, #f4f6fb 60%); }
.nx-acesso .erp-widget { box-shadow: 0 12px 32px rgba(16, 24, 40, .08); }
.nx-mensagem { border-radius: 10px; }

/* ============================================================ catálogo de integrações */
.nx-catalogo-busca { display: flex; gap: .75rem; align-items: center; padding: 1rem 1rem 0; flex-wrap: wrap; }
.nx-catalogo-busca .form-control { max-width: 360px; }
.nx-catalogo { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .7rem; padding: 1rem; }
.nx-plataforma {
  display: flex; align-items: center; gap: .65rem; padding: .7rem .75rem; border: 1px solid #eaecf0; border-radius: 10px;
  background: #fff; text-align: left; cursor: pointer;
}
.nx-plataforma:hover { border-color: var(--nx-destaque); box-shadow: 0 4px 12px rgba(24, 119, 242, .12); }
.nx-plataforma-letra {
  width: 2.2rem; height: 2.2rem; flex-shrink: 0; display: grid; place-items: center; border-radius: 9px;
  color: #fff; font-weight: 700; font-size: .85rem; background: var(--cor, var(--nx-destaque));
}
.nx-plataforma strong { display: block; font-size: .84rem; color: #1d2939; }
.nx-plataforma small { color: #98a2b3; font-size: .7rem; }
.cor-0 { --cor: #1877F2; } .cor-1 { --cor: #7a5af8; } .cor-2 { --cor: #12b76a; } .cor-3 { --cor: #f79009; }
.cor-4 { --cor: #ee46bc; } .cor-5 { --cor: #0ba5ec; } .cor-6 { --cor: #f04438; } .cor-7 { --cor: #344054; }

/* ============================================================ mapa de vendas */
.nx-mapas { display: grid; grid-template-columns: 1.4fr 1fr; }
.nx-mapa-mundo { height: 320px; padding: .75rem; }
.nx-mapa-br { padding: 1rem; border-left: 1px solid #f0f1f5; }
@media (max-width: 991.98px) {
  .nx-mapas { grid-template-columns: 1fr; }
  .nx-mapa-br { border-left: 0; border-top: 1px solid #f0f1f5; }
}
.nx-ufs {
  display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(9, 1fr); gap: 4px;
  max-width: 300px; margin: 0 auto; aspect-ratio: 6 / 9;
}
.nx-uf { display: grid; place-items: center; border-radius: 6px; background: #eef2f6; color: #667085; font-size: .68rem; font-weight: 700; cursor: default; }
.nx-uf.n1 { background: #d6e6fd; color: #1d4f91; }
.nx-uf.n2 { background: #a9cbfb; color: #123a73; }
.nx-uf.n3 { background: #6aa6f8; color: #fff; }
.nx-uf.n4 { background: #3a8af5; color: #fff; }
.nx-uf.n5 { background: #1563d6; color: #fff; }
.uf-RR { grid-area: 1 / 2; } .uf-AP { grid-area: 1 / 4; }
.uf-AM { grid-area: 2 / 2; } .uf-PA { grid-area: 2 / 3; } .uf-MA { grid-area: 2 / 4; } .uf-CE { grid-area: 2 / 5; } .uf-RN { grid-area: 2 / 6; }
.uf-AC { grid-area: 3 / 1; } .uf-RO { grid-area: 3 / 2; } .uf-TO { grid-area: 3 / 3; } .uf-PI { grid-area: 3 / 4; } .uf-PE { grid-area: 3 / 5; } .uf-PB { grid-area: 3 / 6; }
.uf-MT { grid-area: 4 / 2; } .uf-GO { grid-area: 4 / 3; } .uf-DF { grid-area: 4 / 4; } .uf-BA { grid-area: 4 / 5; } .uf-AL { grid-area: 4 / 6; }
.uf-MS { grid-area: 5 / 2; } .uf-MG { grid-area: 5 / 4; } .uf-ES { grid-area: 5 / 5; } .uf-SE { grid-area: 5 / 6; }
.uf-SP { grid-area: 6 / 3; } .uf-RJ { grid-area: 6 / 4; }
.uf-PR { grid-area: 7 / 3; } .uf-SC { grid-area: 8 / 3; } .uf-RS { grid-area: 9 / 3; }
.nx-legenda-mapa { display: flex; align-items: center; justify-content: center; gap: .3rem; margin-top: .6rem; font-size: .7rem; color: #98a2b3; }
.nx-legenda-mapa i { display: inline-block; width: 1.1rem; height: .5rem; border-radius: 2px; }
.nx-legenda-mapa .n0 { background: #eef2f6; } .nx-legenda-mapa .n1 { background: #d6e6fd; } .nx-legenda-mapa .n3 { background: #6aa6f8; }
.nx-legenda-mapa .n5 { background: #1563d6; }
.jvm-tooltip { border-radius: 8px; background: #101828; font-family: var(--bs-body-font-family); font-size: .78rem; padding: .35rem .55rem; }
.jvm-zoom-btn { border-radius: 6px; background: #fff; color: #344054; border: 1px solid #d0d5dd; }
.nx-plataforma-logo { width: 2.2rem; height: 2.2rem; flex-shrink: 0; object-fit: contain; border-radius: 9px; background: #fff; border: 1px solid #eaecf0; padding: 3px; }
