/* Estilos customizados */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }

.tab-active { background: #4f46e5; color: white; }
.tab-active:hover { background: #4338ca; }

table.data-table { width: 100%; border-collapse: collapse; }
table.data-table th { background: #f1f5f9; text-align: left; padding: 8px 12px; font-size: 12px; text-transform: uppercase; color: #475569; border-bottom: 1px solid #e2e8f0; }
table.data-table td { padding: 8px 12px; border-bottom: 1px solid #f1f5f9; font-size: 14px; }
table.data-table tr:hover td { background: #f8fafc; }

.kpi-card { transition: transform .15s ease; }
.kpi-card:hover { transform: translateY(-2px); }

/* Toast */
.toast-item {
  min-width: 260px; padding: 12px 16px; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,.15);
  animation: slideIn .25s ease-out;
}
@keyframes slideIn { from { transform: translateX(20px); opacity:0; } to { transform: translateX(0); opacity:1; } }

/* Modal */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(15,23,42,.5); z-index: 40;
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.modal-body {
  background: white; border-radius: 12px; width: 100%; max-width: 640px;
  max-height: 90vh; overflow-y: auto; box-shadow: 0 25px 50px rgba(0,0,0,.25);
}

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

/* Print */
@media print {
  aside, nav, .no-print { display: none !important; }
  main { padding: 0 !important; }
}
