/* RF-insights CSS v3 – tipografía moderna + header con mejor espaciado
   - Sin Tailwind real; utilidades + estilos globales
   - No requiere cambios en templates
*/

/* ============== RESET & BASE ============== */
*{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%}
/* Tipografía moderna usando stack del sistema (fallbacks amplios) */
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "SF Pro Text", Segoe UI, Roboto, Ubuntu, Cantarell, "Noto Sans", Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  color:#111827; /* gray-900 */
  background-color:#f3f4f6; /* gray-100 */
  font-size:16px;
}

/* Utilidades tipográficas */
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.uppercase{text-transform:uppercase}
.tracking-wide{letter-spacing:.04em}
.text-center{text-align:center}
.text-right{text-align:right}
.text-gray-500{color:#6b7280}
.text-gray-700{color:#374151}
.text-gray-900{color:#111827}
.text-white{color:#fff}
.text-\[\#1F2E74\]{color:#1F2E74}

/* ============== LAYOUT UTILITIES ============== */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-6{margin-top:1.5rem}
.mt-16{margin-top:4rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.my-2{margin-top:.5rem;margin-bottom:.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pt-24{padding-top:6rem}
.pb-8{padding-bottom:2rem}
.max-w-7xl{max-width:80rem}
.max-w-4xl{max-width:56rem}
.w-full{width:100%}
.grid{display:grid}
.gap-6{gap:1.5rem}
@media (min-width:768px){ .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.flex{display:flex}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.space-x-3 > :not([hidden]) ~ :not([hidden]){margin-left:.75rem}
.space-y-1 > :not([hidden]) ~ :not([hidden]){margin-top:.25rem}

/* Bordes / sombras / fondos */
.bg-white{background-color:#fff}
.bg-gray-100{background-color:#f3f4f6}
.bg-\[\#1F2E74\]{background-color:#1F2E74}
.border{border:1px solid #e5e7eb}
.border-b{border-bottom:1px solid #e5e7eb}
.rounded{border-radius:.25rem}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.shadow{box-shadow:0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.1)}

/* ============== HEADER / NAV ============== */
header{background:#fff;border-bottom:1px solid #e5e7eb}
/* Contenedor ya usa flex; aquí mejoramos el nav */
header nav{display:flex;gap:1rem;align-items:center}
header nav a{
  font-size:.9375rem;
  color:#374151;
  padding:.25rem .5rem;
  border-radius:.375rem;
  text-decoration:none;
}
header nav a:hover{background:#f3f4f6;color:#1F2E74;}

/* Marca */
header h1{letter-spacing:.06em}

/* Botón Salir (pill) */
header a[href$='logout/']{
  background:#1F2E74;
  color:#fff;
  border-radius:.5rem;
  padding:.375rem .625rem;
  border:0;
}
header a[href$='logout/']:hover{background:#17245a}

/* ============== BUTTONS ============== */
button, .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:.5rem;border:1px solid #e5e7eb;
  padding:.625rem 1rem;background:#fff;color:#111827;
}
.btn-primary, .bg-\[\#1F2E74\]{
  background:#1F2E74 !important;border-color:transparent;color:#fff;
}
.btn-primary:hover{background:#17245a}

/* ============== TABLES ============== */
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.625rem .75rem;border-bottom:1px solid #e5e7eb;text-align:left;font-size:.9375rem}
.table thead th{font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em;color:#374151}
