/* =========================================================
   VENVAS • GLOBAL THEME (Dashboard Style)
   - Alterar cores aqui muda o site inteiro (tokens)
   - Fundo global "aurora + grid" (sem rastro do mouse)
   - Cards / Inputs / Buttons / Tables / Modals / DataTables
   ========================================================= */

/* Evita scroll horizontal (fundo preto vazando) */
html, body { overflow-x: hidden; }

body.venvas-theme{
  /* ===== TOKENS (mude aqui) ===== */
  --vv-primary: #7c3aed;   /* Roxo */
  --vv-secondary: #38bdf8; /* Azul claro */
  --vv-accent: #a855f7;

  --vv-bg: #070a16;

  /* superfícies "glass" */
  --vv-surface: rgba(255,255,255,.055);
  --vv-surface-2: rgba(255,255,255,.040);

  --vv-border: rgba(255,255,255,.14);
  --vv-border-2: rgba(255,255,255,.10);

  --vv-text: rgba(255,255,255,.92);
  --vv-muted: rgba(255,255,255,.66);

  --vv-radius: 18px;
  --vv-radius-lg: 22px;
  --vv-shadow: 0 18px 46px rgba(0,0,0,.45);

  background: var(--vv-bg) !important;
  color: var(--vv-text);

  /* importante: cria stacking context pro fundo */
  position: relative;
  z-index: 0;
}

/* ===== FUNDO GLOBAL (2 camadas) ===== */
body.venvas-theme::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .10;
  mask-image: radial-gradient(closest-side at 50% 20%, black 28%, transparent 90%);
}
body.venvas-theme::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(900px 560px at 18% 12%, rgba(124,58,237,.20), transparent 60%),
    radial-gradient(900px 560px at 82% 22%, rgba(56,189,248,.16), transparent 62%),
    radial-gradient(900px 560px at 60% 92%, rgba(168,85,247,.12), transparent 62%),
    linear-gradient(180deg, #070a16 0%, #060817 55%, #070a16 100%);
  filter: saturate(1.05);
}

/* ===== wrappers principais sempre transparentes (para o fundo aparecer) ===== */
body.venvas-theme .layout-wrapper,
body.venvas-theme .layout-container,
body.venvas-theme .layout-page,
body.venvas-theme .content-wrapper,
body.venvas-theme .content-wrapper > *,
body.venvas-theme .container-xxl,
body.venvas-theme .container-fluid{
  background: transparent !important;
}

/* ===== NAVBAR / TOPBAR ===== */
body.venvas-theme #layout-navbar,
body.venvas-theme .navbar.bg-navbar-theme{
  background: var(--vv-surface) !important;
  border: 1px solid var(--vv-border) !important;
  border-radius: var(--vv-radius-lg);
  backdrop-filter: blur(12px);
  box-shadow: var(--vv-shadow);
}

/* ===== MENU / SIDEBAR ===== */
body.venvas-theme #layout-menu,
body.venvas-theme .layout-menu.bg-menu-theme{
  background: rgba(255,255,255,.04) !important;
  border-right: 1px solid rgba(255,255,255,.10) !important;
  backdrop-filter: blur(12px);
}

/* ===== CARDS ===== */
body.venvas-theme .card{
  border-radius: var(--vv-radius-lg) !important;
  border: 1px solid var(--vv-border) !important;
  background: var(--vv-surface) !important;
  box-shadow: var(--vv-shadow) !important;
  backdrop-filter: blur(12px);
}
body.venvas-theme .card .card{
  background: var(--vv-surface-2) !important;
  border-color: var(--vv-border-2) !important;
  box-shadow: none !important;
}
body.venvas-theme .card-header,
body.venvas-theme .card-footer{
  background: transparent !important;
  border-color: var(--vv-border-2) !important;
}
body.venvas-theme .card-header{
  font-weight: 900;
}

/* ===== BOTÕES ===== */
body.venvas-theme .btn{
  border-radius: 14px !important;
  font-weight: 900;
}
body.venvas-theme .btn-primary{
  border: 1px solid rgba(255,255,255,.14) !important;
  background: linear-gradient(135deg, rgba(124,58,237,.95), rgba(56,189,248,.80)) !important;
  color: #0b1020 !important;
}
body.venvas-theme .btn-outline-primary,
body.venvas-theme .btn-label-secondary{
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.05) !important;
  color: var(--vv-text) !important;
}

/* ===== INPUTS / SELECTS ===== */
body.venvas-theme .form-control,
body.venvas-theme .form-select,
body.venvas-theme input,
body.venvas-theme textarea{
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--vv-border-2) !important;
  color: var(--vv-text) !important;
  border-radius: 14px !important;
}
body.venvas-theme .form-control::placeholder,
body.venvas-theme textarea::placeholder{
  color: rgba(255,255,255,.45) !important;
}
body.venvas-theme .form-control:focus,
body.venvas-theme .form-select:focus{
  box-shadow: 0 0 0 .25rem rgba(56,189,248,.12) !important;
  border-color: rgba(56,189,248,.22) !important;
}

/* ===== DROPDOWNS (perfil / ações) ===== */
body.venvas-theme .dropdown-menu{
  background: rgba(16, 18, 32, .92) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(12px);
  box-shadow: var(--vv-shadow);
}
body.venvas-theme .dropdown-item{ color: rgba(255,255,255,.86) !important; }
body.venvas-theme .dropdown-item:hover{
  background: rgba(255,255,255,.06) !important;
}

/* ===== TABELAS ===== */
body.venvas-theme .table-responsive{
  background: transparent !important;
  max-width: 100%;
  overflow-x: auto; /* somente a tabela rola */
}
body.venvas-theme .table{
  color: rgba(255,255,255,.88) !important;
  background: transparent !important;
  width: 100% !important;
}
body.venvas-theme .table thead th{
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.70) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: .75rem;
  border-color: rgba(255,255,255,.10) !important;
}
body.venvas-theme .table td{
  border-color: rgba(255,255,255,.08) !important;
}

/* DataTables wrappers: geralmente o culpado pelo "pretão" */
body.venvas-theme .dataTables_wrapper,
body.venvas-theme .dt-container,
body.venvas-theme .dt-layout-row,
body.venvas-theme .card-datatable{
  background: transparent !important;
}

/* ===== MODAIS ===== */
body.venvas-theme .modal-content{
  background: rgba(15,18,34,.92) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  backdrop-filter: blur(12px);
}
body.venvas-theme .modal-header,
body.venvas-theme .modal-footer{
  border-color: rgba(255,255,255,.10) !important;
}

/* ===== Corrige “faixa preta” em alguns containers do template ===== */
body.venvas-theme .bg-body,
body.venvas-theme .bg-white,
body.venvas-theme .bg-light,
body.venvas-theme .bg-dark{
  background: transparent !important;
}

/* Acessibilidade: reduz animações quando usuário pede */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}
