/**
 * Dark Premium Neon — Override para modo escuro (data-bs-theme="dark")
 * Paleta: azul elétrico + violeta. Apenas dark; light não é alterado.
 */

/* -------------------------------------------------------------------------
   Tokens neon e variáveis do tema (apenas dark)
   ------------------------------------------------------------------------- */
:root[data-bs-theme="dark"] {
  /* Acentos neon */
  --neon-accent: #3b82f6;
  --neon-accent-2: #8b5cf6;
  --neon-glow: 0 0 20px rgba(59, 130, 246, 0.35);
  --neon-glow-violet: 0 0 20px rgba(139, 92, 246, 0.35);
  --neon-border: rgba(59, 130, 246, 0.4);
  --neon-border-violet: rgba(139, 92, 246, 0.4);

  /* Camadas e profundidade */
  --ins-body-bg: #0f1419;
  --ins-secondary-bg: #1a2332;
  --ins-tertiary-bg: #243044;
  --ins-border-color: rgba(59, 130, 246, 0.12);
  --ins-body-color: #e2e8f0;
  --ins-heading-color: #f1f5f9;
  --ins-secondary-color: #94a3b8;
  --ins-primary: #6366f1;
  --ins-primary-rgb: 99, 102, 241;
  --ins-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
  --ins-box-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* -------------------------------------------------------------------------
   Avatar & icon sizing (global)
   ------------------------------------------------------------------------- */
svg.lucide {
  width: 0.8em;
  height: 0.8em;
}

.avatar-sm {
  height: 2.3rem;
  width: 2.3rem;
  text-align: center;
  line-height: 29px;
}

/* Botão soft primary (global) */
.btn-soft-primary {
  --ins-btn-color: #a9aaf4;
  --ins-btn-bg: var(--ins-primary-bg-subtle);
  --ins-btn-border-color: transparent;
}

/* -------------------------------------------------------------------------
   Cards e superfícies — camadas com borda sutil e hover glow
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .card {
  background: linear-gradient(160deg, #1a23324a 0%, rgba(26, 35, 50, 0.98) 100%);
  border: 1px dashed #3266a8;
  box-shadow: var(--ins-box-shadow-sm);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

[data-bs-theme="dark"] .card:hover {
  border-color: rgba(59, 130, 246, 0.2);
  box-shadow: var(--ins-box-shadow-sm), 0 0 24px rgba(59, 130, 246, 0.08);
}

/* -------------------------------------------------------------------------
   Botões primários e outline — neon controlado
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, var(--neon-accent) 0%, var(--neon-accent-2) 100%);
  border-color: rgba(139, 92, 246, 0.5);
  color: #fff;
  box-shadow: 0 2px 12px rgba(99, 102, 241, 0.4);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

[data-bs-theme="dark"] .btn-primary:hover {
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.5), 0 0 30px rgba(59, 130, 246, 0.2);
}

[data-bs-theme="dark"] .btn-primary:focus,
[data-bs-theme="dark"] .btn-primary.focus {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.4), 0 4px 20px rgba(99, 102, 241, 0.4);
}

[data-bs-theme="dark"] .btn-outline-primary {
  border-color: #4b8efd;
  color: #86b4ff;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

[data-bs-theme="dark"] .btn-outline-primary:hover {
  background: rgba(75, 142, 253, 0.18);
  border-color: #4b8efd;
  box-shadow: 0 0 16px rgba(75, 142, 253, 0.25);
}

/* -------------------------------------------------------------------------
   Inputs e selects — foco com borda/glow neon
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  border-color: var(--neon-accent);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  border-color: rgba(179, 208, 255, 0.38);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: #253044;
}

[data-bs-theme="dark"] .topbar-search.form-control:focus {
  border-color: var(--neon-accent);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

/* Topbar search background no tema dark */
[data-bs-theme="dark"] .topbar-search {
  background-color: #294360 !important;
}

/* -------------------------------------------------------------------------
   Sidebar — fundo navy/indigo e item ativo com rail neon
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .sidenav-menu {
  border-right: 1px solid rgba(59, 130, 246, 0.1);
  border-right-color: rgba(59, 130, 246, 0.1);
  background: linear-gradient(135deg, #000613 0%, #182134 100%);
  border-color: rgb(31, 49, 78);
  color: #fff;
  box-shadow: 0 2px 12px rgba(42, 46, 229, 0.4);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}
/* Logo no sidebar (dark) — fundo transparente alinhado ao template */
html[data-bs-theme="dark"][data-menu-color="gray"] .sidenav-menu .logo,
html[data-bs-theme="dark"][data-menu-color="light"] .sidenav-menu .logo,
[data-bs-theme="dark"] .sidenav-menu .logo {
  background: #25263000;
  width: calc(100% + 1px);
}

[data-bs-theme="dark"] .side-nav-link {
  color: var(--ins-body-color);
  transition: color 0.2s ease, background 0.2s ease;
}

[data-bs-theme="dark"] .side-nav-link:hover {
  color: var(--neon-accent);
  background: rgba(59, 130, 246, 0.06);
}

[data-bs-theme="dark"] .side-nav-link.active {
  color: var(--neon-accent);
  background: rgba(59, 130, 246, 0.1);
  border-left: 3px solid var(--neon-accent);
  box-shadow: inset 0 0 20px rgba(59, 130, 246, 0.06);
}

[data-bs-theme="dark"] .side-nav-title {
  color: var(--ins-secondary-color);
}

[data-bs-theme="dark"] .menu-icon i,
[data-bs-theme="dark"] .menu-icon svg {
  color: inherit;
  transition: color 0.2s ease, filter 0.2s ease;
}

/* Ícones sidebar: mais vivos, cores mais claras, pouco neon */
[data-bs-theme="dark"] .side-nav-link .menu-icon i,
[data-bs-theme="dark"] .side-nav-link .menu-icon svg {
  color: #94a3b8;
}
[data-bs-theme="dark"] .side-nav-link .menu-icon svg {
  stroke: #94a3b8;
}
[data-bs-theme="dark"] .side-nav-link:hover .menu-icon i,
[data-bs-theme="dark"] .side-nav-link:hover .menu-icon svg {
  color: #93c5fd;
  filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.4));
}
[data-bs-theme="dark"] .side-nav-link:hover .menu-icon svg {
  stroke: #93c5fd;
}
[data-bs-theme="dark"] .side-nav-link.active .menu-icon i,
[data-bs-theme="dark"] .side-nav-link.active .menu-icon svg {
  color: #a5b4fc;
  filter: drop-shadow(0 0 8px rgba(139, 92, 246, 0.5));
}
[data-bs-theme="dark"] .side-nav-link.active .menu-icon svg {
  stroke: #a5b4fc;
}

/* -------------------------------------------------------------------------
   Topbar — fundo alinhado e ícones com hover
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .app-topbar {
  background: linear-gradient(90deg, #0f172a 0%, #1e293b 100%);
  border-bottom: 1px solid rgba(59, 130, 246, 0.1);
}

[data-bs-theme="dark"] .topbar-link:hover {
  color: var(--neon-accent);
}

[data-bs-theme="dark"] .topbar-link i,
[data-bs-theme="dark"] .topbar-link svg {
  color: #cbd5e1;
  transition: color 0.2s ease, filter 0.2s ease;
}
[data-bs-theme="dark"] .topbar-link svg {
  stroke: #cbd5e1;
}
[data-bs-theme="dark"] .topbar-link:hover i,
[data-bs-theme="dark"] .topbar-link:hover svg {
  color: #93c5fd;
  filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.35));
}
[data-bs-theme="dark"] .topbar-link:hover svg {
  stroke: #93c5fd;
}

/* -------------------------------------------------------------------------
   Ícones dos cards (avatar-title) — mais vivos, cores claras, pouco neon
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .avatar-title.bg-primary-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-primary-subtle {
  background: rgba(99, 102, 241, 0.25) !important;
  color: #a5b4fc !important;
  box-shadow: 0 0 16px rgba(99, 102, 241, 0.3);
  border: 1px solid #4f46e5;
}
[data-bs-theme="dark"] .avatar-title.bg-primary-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-primary-subtle svg {
  color: #a5b4fc !important;
}
[data-bs-theme="dark"] .avatar-title.bg-primary-subtle svg {
  stroke: #a5b4fc !important;
}

[data-bs-theme="dark"] .avatar-title.bg-success-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-success-subtle {
  background: rgba(34, 197, 94, 0.25) !important;
  color: #86efac !important;
  box-shadow: 0 0 16px rgba(34, 197, 94, 0.3);
  border: 1px solid #15803d;
}
[data-bs-theme="dark"] .avatar-title.bg-success-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-success-subtle svg {
  color: #86efac !important;
}
[data-bs-theme="dark"] .avatar-title.bg-success-subtle svg {
  stroke: #86efac !important;
}

[data-bs-theme="dark"] .avatar-title.bg-danger-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-danger-subtle {
  background: rgba(239, 68, 68, 0.25) !important;
  color: #fca5a5 !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.3);
  border: 1px solid #b91c1c;
}
[data-bs-theme="dark"] .avatar-title.bg-danger-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-danger-subtle svg {
  color: #fca5a5 !important;
}
[data-bs-theme="dark"] .avatar-title.bg-danger-subtle svg {
  stroke: #fca5a5 !important;
}

[data-bs-theme="dark"] .avatar-title.bg-info-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-info-subtle {
  background: rgba(59, 130, 246, 0.25) !important;
  color: #93c5fd !important;
  box-shadow: 0 0 16px rgba(59, 130, 246, 0.3);
  border: 1px solid #4777ac;
}
[data-bs-theme="dark"] .avatar-title.bg-info-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-info-subtle svg {
  color: #93c5fd !important;
}
[data-bs-theme="dark"] .avatar-title.bg-info-subtle svg {
  stroke: #93c5fd !important;
}

[data-bs-theme="dark"] .avatar-title.bg-warning-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-warning-subtle {
  background: rgba(234, 179, 8, 0.25) !important;
  color: #fde047 !important;
  box-shadow: 0 0 16px rgba(234, 179, 8, 0.3);
  border: 1px solid #a16207;
}
[data-bs-theme="dark"] .avatar-title.bg-warning-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-warning-subtle svg {
  color: #fde047 !important;
}
[data-bs-theme="dark"] .avatar-title.bg-warning-subtle svg {
  stroke: #fde047 !important;
}

[data-bs-theme="dark"] .avatar-title.bg-secondary-subtle,
[data-bs-theme="dark"] .avatar-sm .avatar-title.bg-secondary-subtle {
  background: rgba(148, 163, 184, 0.2) !important;
  color: #cbd5e1 !important;
  box-shadow: 0 0 12px rgba(148, 163, 184, 0.25);
  border: 1px solid #475569;
}
[data-bs-theme="dark"] .avatar-title.bg-secondary-subtle i,
[data-bs-theme="dark"] .avatar-title.bg-secondary-subtle svg {
  color: #cbd5e1 !important;
}
[data-bs-theme="dark"] .avatar-title.bg-secondary-subtle svg {
  stroke: #cbd5e1 !important;
}

/* Avatar-sm com bg-*-subtle direto (ex.: blog, SEO) */
[data-bs-theme="dark"] .avatar-sm.bg-primary-subtle { background: rgba(99, 102, 241, 0.25) !important; box-shadow: 0 0 14px rgba(99, 102, 241, 0.28); border: 1px solid #4f46e5; }
[data-bs-theme="dark"] .avatar-sm.bg-success-subtle { background: rgba(34, 197, 94, 0.25) !important; box-shadow: 0 0 14px rgba(34, 197, 94, 0.28); border: 1px solid #15803d; }
[data-bs-theme="dark"] .avatar-sm.bg-danger-subtle { background: rgba(239, 68, 68, 0.25) !important; box-shadow: 0 0 14px rgba(239, 68, 68, 0.28); border: 1px solid #b91c1c; }
[data-bs-theme="dark"] .avatar-sm.bg-info-subtle { background: rgba(59, 130, 246, 0.25) !important; box-shadow: 0 0 14px rgba(59, 130, 246, 0.28); border: 1px solid #4777ac; }
[data-bs-theme="dark"] .avatar-sm.bg-warning-subtle { background: rgba(234, 179, 8, 0.25) !important; box-shadow: 0 0 14px rgba(234, 179, 8, 0.28); border: 1px solid #a16207; }
[data-bs-theme="dark"] .avatar-sm.bg-secondary-subtle { background: rgba(148, 163, 184, 0.2) !important; box-shadow: 0 0 12px rgba(148, 163, 184, 0.2); border: 1px solid #475569; }

/* Card com ícone: hover no círculo do ícone (pouco neon) */
[data-bs-theme="dark"] .dashboard-widget-card .avatar-title {
  transition: box-shadow 0.25s ease, background 0.25s ease;
}
[data-bs-theme="dark"] .card:hover .avatar-title.bg-primary-subtle,
[data-bs-theme="dark"] .card:hover .avatar-title.bg-info-subtle {
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}
[data-bs-theme="dark"] .card:hover .avatar-title.bg-success-subtle {
  box-shadow: 0 0 20px rgba(34, 197, 94, 0.4);
}
[data-bs-theme="dark"] .card:hover .avatar-title.bg-danger-subtle {
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
}
[data-bs-theme="dark"] .card:hover .avatar-title.bg-warning-subtle {
  box-shadow: 0 0 20px rgba(234, 179, 8, 0.4);
}

/* Ícone da busca no topbar — mais vivo */
[data-bs-theme="dark"] .app-search-icon {
  color: #94a3b8 !important;
  transition: color 0.2s ease, filter 0.2s ease;
}
[data-bs-theme="dark"] .app-search:focus-within .app-search-icon {
  color: #93c5fd !important;
  filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.4));
}

/* -------------------------------------------------------------------------
   Dropdowns e modais — separação de camadas
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .dropdown-menu {
  background: var(--ins-secondary-bg);
  border: 1px solid var(--ins-border-color);
  box-shadow: var(--ins-box-shadow), 0 0 30px rgba(0, 0, 0, 0.3);
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  background: rgba(59, 130, 246, 0.1);
  color: var(--neon-accent);
}

[data-bs-theme="dark"] .modal-content {
  background: var(--ins-secondary-bg);
  border: 1px solid var(--ins-border-color);
  box-shadow: var(--ins-box-shadow), 0 0 40px rgba(59, 130, 246, 0.06);
}

[data-bs-theme="dark"] .modal-header {
  border-bottom-color: var(--ins-border-color);
}

[data-bs-theme="dark"] .modal-footer {
  border-top-color: var(--ins-border-color);
}

/* Backdrop do Bootstrap modal — mais escuro no dark */
html[data-bs-theme="dark"] .modal-backdrop {
  background-color: #020617;
}

html[data-bs-theme="dark"] .modal-backdrop.show {
  opacity: 0.86;
}

/* -------------------------------------------------------------------------
   Tabelas — cabeçalho e linhas com contraste
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .table {
  --ins-table-bg: transparent;
  --ins-table-border-color: var(--ins-border-color);
}

[data-bs-theme="dark"] .table thead th {
  background: rgba(59, 130, 246, 0.08);
  color: var(--ins-heading-color);
  border-bottom-color: var(--neon-border);
}

[data-bs-theme="dark"] .table tbody tr:hover {
  background: rgba(59, 130, 246, 0.04);
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.02);
}

/* -------------------------------------------------------------------------
   Links e breadcrumb
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item) {
  color: #999;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}

[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item):hover {
  color: #99c5ff;
}

[data-bs-theme="dark"] .breadcrumb-item.active {
  color: var(--ins-secondary-color);
}

/* -------------------------------------------------------------------------
   Badges e pills (estados pipeline, status)
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .badge.bg-primary {
  background: linear-gradient(135deg, var(--neon-accent) 0%, var(--neon-accent-2) 100%) !important;
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.4);
}

[data-bs-theme="dark"] .bg-light {
  background: rgba(59, 130, 246, 0.08) !important;
  color: var(--neon-accent);
}

/* -------------------------------------------------------------------------
   Content area e footer
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .content-page {
  background: #0c1220;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0%, rgb(31, 51, 100) 50%, rgba(150, 148, 178, 0.21) 100%);
}

[data-bs-theme="dark"] .footer {
  border-top: 1px solid var(--ins-border-color);
  color: var(--ins-secondary-color);
}

/* -------------------------------------------------------------------------
   Settings — sidebar (tema dark)
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .settings-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  width: 251px;
  height: 100vh;
  background: var(--bs-sidebar-bg, #182234);
  border-right: 1px solid var(--bs-border-color, #3a84ce5e);
  z-index: 1001;
  transform: translateX(-100%);
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  overflow-y: auto;
  box-shadow: 2px 0 10px rgba(66, 127, 166, 0.5);
}

/* -------------------------------------------------------------------------
   Offcanvas (personalizador) e paginação
   ------------------------------------------------------------------------- */
[data-bs-theme="dark"] .offcanvas {
  background: var(--ins-secondary-bg);
  border-left: 1px solid var(--ins-border-color);
}

[data-bs-theme="dark"] .offcanvas-body {
  background: var(--ins-secondary-bg);
}

[data-bs-theme="dark"] .pagination .page-link {
  background: var(--ins-tertiary-bg);
  border-color: var(--ins-border-color);
  color: var(--ins-body-color);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

[data-bs-theme="dark"] .pagination .page-link:hover {
  background: rgba(59, 130, 246, 0.1);
  border-color: var(--neon-accent);
  color: var(--neon-accent);
}

[data-bs-theme="dark"] .pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--neon-accent) 0%, var(--neon-accent-2) 100%);
  border-color: var(--neon-accent-2);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.35);
}

[data-bs-theme="dark"] .wrapper {
  background: var(--ins-body-bg);
}

[data-bs-theme="dark"] .sidenav-user {
  border-bottom: 1px solid rgba(59, 130, 246, 0.1);
}


[data-bs-theme="dark"] .bg-opacity-10 {
  --ins-bg-opacity: 0.3;
  margin: 2px;
}

[data-bs-theme="dark"] .pipeline-list .card:hover {
  cursor: move;
  }

[data-bs-theme="dark"] .pipeline-list .card {
  background: linear-gradient(160deg, rgba(10, 18, 40, 0.18) 0%, rgba(0, 0, 0, 0.15) 100%);
  border: 1px solid rgba(220, 221, 221, 0.22);
  box-shadow: 0 0 0 1px rgba(255, 79, 216, 0.08), 0 10px 40px rgba(0, 0, 0, 0.45), 0 0 28px rgba(34, 211, 238, 0.12);
  backdrop-filter: blur(10px);
}
