/* Estilos utilitários que complementam o Tailwind v4 (browser CDN). */

:root { color-scheme: light; }

html, body { scroll-behavior: smooth; }

/* Scrollbar discreta */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
*::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
*::-webkit-scrollbar-track { background: transparent; }

/* Animações */
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes slideInRight { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@keyframes pop { 0% { transform: scale(.96); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

.animate-fade-in { animation: fadeIn .25s ease both; }
.animate-slide-in { animation: slideInRight .3s cubic-bezier(.2,.8,.2,1) both; }
.animate-pop { animation: pop .18s ease both; }

/* Área de conteúdo principal */
#view { animation: fadeIn .2s ease both; }

/* Item de menu ativo (usa as variáveis do tema) */
.nav-item.active {
  background: linear-gradient(90deg, color-mix(in srgb, var(--color-brand-500) 22%, transparent), transparent);
  color: var(--color-brand-200);
  box-shadow: inset 3px 0 0 0 var(--color-brand-500);
}

/* Tabela: linhas com hover */
.data-table tbody tr:hover { background: #f1f5f9; }

/* Impede seleção de texto ao clicar duas vezes em botões */
button, .no-select { user-select: none; }

/* Loader */
.spinner {
  width: 20px; height: 20px; border-radius: 9999px;
  border: 2.5px solid #cbd5e1; border-top-color: var(--color-brand-600, #1f7ff5);
  animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Impressão de PDF/relatórios */
@media print {
  #sidebar, #topbar, #toast-root, .no-print { display: none !important; }
  #view { padding: 0 !important; }
  body { background: white !important; }
}
