/* CNEC Bolsas - refinamento seguro do Dashboard
   Sem alterações de grid, largura ou estrutura */

main.dashboard{
  --cnec-blue:#0b5ed7;
  --cnec-motion:cubic-bezier(.2,.8,.2,1);
  --cnec-shadow:0 8px 24px rgba(18,52,92,.07);
  --cnec-shadow-hover:0 14px 30px rgba(18,52,92,.12);
}

/* Cards de indicadores */
main.dashboard .dashboard-grid > .blue,
main.dashboard .dashboard-grid > .green,
main.dashboard .dashboard-grid > .orange,
main.dashboard .dashboard-grid > .purple,
main.dashboard .dashboard-grid > .red,
main.dashboard .dashboard-grid > .teal{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(20,55,100,.07);
  box-shadow:var(--cnec-shadow);
  transition:
    transform .22s var(--cnec-motion),
    box-shadow .22s var(--cnec-motion),
    border-color .22s var(--cnec-motion);
}

main.dashboard .dashboard-grid > .blue:hover,
main.dashboard .dashboard-grid > .green:hover,
main.dashboard .dashboard-grid > .orange:hover,
main.dashboard .dashboard-grid > .purple:hover,
main.dashboard .dashboard-grid > .red:hover,
main.dashboard .dashboard-grid > .teal:hover{
  transform:translateY(-4px);
  border-color:rgba(11,94,215,.14);
  box-shadow:var(--cnec-shadow-hover);
}

main.dashboard .dashboard-grid .number{
  letter-spacing:-.4px;
}

/* Painéis */
main.dashboard .panel{
  border:1px solid rgba(20,55,100,.07);
  box-shadow:0 8px 24px rgba(18,52,92,.055);
  transition:
    border-color .22s var(--cnec-motion),
    box-shadow .22s var(--cnec-motion);
}

main.dashboard .panel:hover{
  border-color:rgba(11,94,215,.11);
  box-shadow:0 12px 30px rgba(18,52,92,.075);
}

/* Cabeçalho da tabela */
main.dashboard table thead{
  background:#f7f9fc;
}

main.dashboard table th{
  color:#334a68;
  font-weight:700;
}

/* Linhas */
main.dashboard table tbody tr{
  transition:background-color .18s var(--cnec-motion);
}

main.dashboard table tbody tr:hover{
  background:rgba(11,94,215,.035);
}

/* Novo edital */
main.dashboard .btn.btn-primary{
  border:none;
  box-shadow:0 7px 16px rgba(11,94,215,.16);
  transition:
    transform .18s var(--cnec-motion),
    box-shadow .18s var(--cnec-motion),
    filter .18s var(--cnec-motion);
}

main.dashboard .btn.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(11,94,215,.23);
  filter:saturate(1.06);
}

main.dashboard .btn.btn-primary:active{
  transform:translateY(0) scale(.98);
}

/* Links/botões que ainda parecem nativos do navegador */
main.dashboard .panel-link{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  border-radius:9px;
  background:#edf5ff;
  color:var(--cnec-blue);
  padding:8px 11px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:
    background-color .18s var(--cnec-motion),
    transform .18s var(--cnec-motion);
}

main.dashboard .panel-link:hover{
  background:#e2efff;
  transform:translateX(3px);
}

/* Visão geral */
main.dashboard .activity{
  border-radius:12px;
  transition:
    background-color .18s var(--cnec-motion),
    transform .18s var(--cnec-motion),
    box-shadow .18s var(--cnec-motion);
}

main.dashboard .activity:hover{
  background:rgba(11,94,215,.025);
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(18,52,92,.055);
}

main.dashboard .activity-icon{
  transition:transform .2s var(--cnec-motion);
}

main.dashboard .activity:hover .activity-icon{
  transform:scale(1.06);
}

/* Acessibilidade */
main.dashboard :focus-visible{
  outline:3px solid rgba(11,94,215,.22);
  outline-offset:3px;
}

@media (prefers-reduced-motion:reduce){
  main.dashboard *,
  main.dashboard *::before,
  main.dashboard *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}
