:root{
  --color-azul:#2563eb;
  --color-gris:#f3f4f6;
  --color-blanco:#ffffff;
}
body{font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif; background-color: var(--color-gris);} 
.bg-primary{ background-color: var(--color-azul) !important; }
.card{ border-radius: .75rem; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.sidebar .nav-link{ color:#333; }
.sidebar .nav-link:hover{ background:#e5e7eb; border-radius:.5rem; }
.login-wrapper{ min-height:100vh; display:flex; align-items:center; justify-content:center; }
.login-card{ background:var(--color-blanco); padding:2rem; border-radius:1rem; width:100%; max-width:420px; }

/* Estilos de impresión unificados */
@media print {
  @page { size: A4; margin: 12mm; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body { background: #ffffff !important; margin: 0; }
  /* Ocultar navegación y elementos interactivos */
  .topbar, .sidebar, .footer, .navbar, .no-print,
  .btn, .btn-group,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_paginate,
  .dataTables_wrapper .dataTables_info { display: none !important; }
  /* Limpieza de contenedores y tarjetas */
  .card, .container, .container-fluid { box-shadow: none !important; background: #fff !important; }
  /* Tablas legibles al imprimir */
  table { border-collapse: collapse !important; page-break-inside: auto; }
  th, td { border: 1px solid #d1d5db; padding: 6px; }
  tr, img { page-break-inside: avoid; page-break-after: auto; }
}