/* ══════════════════════════════════════════════════════════════
   VISUAL UNIFICADO — Pavi Transportes
   Carregado em TODAS as páginas pelo guard.js (e no HUB/login à mão),
   por último, pra valer por cima do CSS de cada módulo.

   1) FUNDO: sem as listras/grade. No lugar, um fundo liso com dois
      brilhos bem suaves na cor do sistema (azul no GR, laranja no
      Abastecimento, verde no RH, dourado no Pavi Geral) e um leve
      escurecimento nas bordas — mais limpo e profissional.
   2) PAINEL DE MÓDULOS (a tela de cartões de cada sistema): cartões
      mais sóbrios — ícone dentro de um quadrado com a cor do módulo,
      sombra suave, sem os "clarões" coloridos, seta discreta.
   ══════════════════════════════════════════════════════════════ */

:root {
  --pv-acento: 16, 69, 161;          /* azul Pavi (padrão / GR) */
  --pv-acento2: 10, 110, 92;
}
:root[data-pv-sistema="abastecimento"] { --pv-acento: 232, 121, 31; --pv-acento2: 16, 69, 161; }
:root[data-pv-sistema="rh"]            { --pv-acento: 21, 128, 61;  --pv-acento2: 16, 69, 161; }
:root[data-pv-sistema="pavigeral"]     { --pv-acento: 161, 98, 7;   --pv-acento2: 16, 69, 161; }
:root[data-pv-sistema="admin"]         { --pv-acento: 75, 85, 99;   --pv-acento2: 16, 69, 161; }

/* ── 1) FUNDO ──────────────────────────────────────────────── */
.bg-grid, .orb, .bg-noise { display: none !important; }
body::before {
  content: '' !important;
  position: fixed !important; inset: 0 !important;
  z-index: -1 !important;               /* sempre ATRÁS do conteúdo */
  pointer-events: none !important;
  opacity: 1 !important;
  background-size: auto !important;
  background-color: transparent !important;
  background-image:
    radial-gradient(1100px 620px at 8% -12%, rgba(var(--pv-acento), .20), transparent 62%),
    radial-gradient(900px 620px at 104% 112%, rgba(var(--pv-acento2), .14), transparent 60%),
    radial-gradient(1400px 900px at 50% 40%, transparent 55%, rgba(0, 0, 0, .28) 100%) !important;
}
:root[data-theme="light"] body::before {
  background-image:
    radial-gradient(1100px 620px at 8% -12%, rgba(var(--pv-acento), .10), transparent 62%),
    radial-gradient(900px 620px at 104% 112%, rgba(var(--pv-acento2), .07), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 420px) !important;
}

/* ── 2) PAINEL DE MÓDULOS (cartões que são links, dentro da grade) ── */
.grid > a.card {
  background: linear-gradient(180deg, rgba(var(--tint-rgb, 255,255,255), .055), rgba(var(--tint-rgb, 255,255,255), .022)) !important;
  border: 1px solid rgba(var(--tint-rgb, 255,255,255), .09) !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .18) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}
.grid > a.card::before { background: none !important; }
.grid > a.card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--card-accent, rgba(var(--pv-acento), .45)) !important;
  background: linear-gradient(180deg, rgba(var(--tint-rgb, 255,255,255), .075), rgba(var(--tint-rgb, 255,255,255), .03)) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 18px 40px rgba(0, 0, 0, .28) !important;
}
:root[data-theme="light"] .grid > a.card {
  background: rgba(255, 255, 255, .78) !important;
  border-color: rgba(16, 25, 43, .09) !important;
  box-shadow: 0 1px 2px rgba(16, 25, 43, .05), 0 8px 24px rgba(16, 25, 43, .06) !important;
}
:root[data-theme="light"] .grid > a.card:hover {
  /* contorno na cor do módulo no hover — igual ao tema escuro (antes a
     regra do claro, mais específica, deixava a borda cinza) */
  border-color: var(--card-accent, rgba(var(--pv-acento), .55)) !important;
  /* no fundo branco, a cor do módulo (que é meio transparente) ficava
     apagada: aqui ela vem quase OPACA (navegadores atuais); nos antigos
     fica a de cima */
  border-color: rgb(from var(--card-accent, rgb(var(--pv-acento))) r g b / .85) !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px rgb(from var(--card-accent, rgb(var(--pv-acento))) r g b / .85), 0 2px 4px rgba(16, 25, 43, .06), 0 18px 40px rgba(16, 25, 43, .10) !important;
}
/* sem o clarão colorido que aparecia no canto */
.grid > a.card .card-glow, .grid > a.card.card-hero::after { display: none !important; }

/* Ícone dentro de um quadrado arredondado na cor do módulo */
.grid > a.card .card-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 50px; height: 50px; border-radius: 14px;
  font-size: 24px !important; line-height: 1;
  background: color-mix(in srgb, var(--card-accent, rgba(var(--pv-acento), .5)) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--card-accent, rgba(var(--pv-acento), .5)) 45%, transparent);
  filter: none !important;
  flex-shrink: 0;
}
.grid > a.card.card-hero .card-icon { width: 76px; height: 76px; border-radius: 20px; font-size: 38px !important; }

.grid > a.card .card-title { letter-spacing: -.2px; }
.grid > a.card .card-desc { font-weight: 400 !important; opacity: .92; }

/* Seta discreta num círculo, que acende no hover */
.grid > a.card .card-arrow {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  font-size: 13px !important;
  border: 1px solid rgba(var(--tint-rgb, 255,255,255), .12);
  color: var(--sub) !important;
  transition: background .2s, color .2s, border-color .2s, transform .2s !important;
}
.grid > a.card:hover .card-arrow {
  transform: none !important;
  background: var(--card-accent, rgba(var(--pv-acento), .5));
  border-color: transparent; color: #fff !important;
}

/* Cartão principal (destaque) mais elegante */
.grid > a.card.card-hero {
  background: linear-gradient(135deg, rgba(var(--pv-acento), .16), rgba(var(--pv-acento), .04) 70%) !important;
  border-color: rgba(var(--pv-acento), .32) !important;
}
.grid > a.card.card-hero:hover,
:root[data-theme="light"] .grid > a.card.card-hero:hover { border-color: rgba(var(--pv-acento), .65) !important; }
:root[data-theme="light"] .grid > a.card.card-hero {
  background: linear-gradient(135deg, rgba(var(--pv-acento), .10), #fff 75%) !important;
}

/* Títulos de seção do painel ("Módulos principais"...) */
.section-label span { letter-spacing: 2px !important; font-weight: 600; }
.section-label::after { background: linear-gradient(90deg, rgba(var(--tint-rgb, 255,255,255), .14), transparent) !important; }

@media (prefers-reduced-motion: reduce) {
  .grid > a.card, .grid > a.card:hover { transition: none !important; transform: none !important; }
}
