@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --gov-navy: #0f243e;
  --gov-navy-dark: #0a192c;
  --gov-navy-light: #163a63;
  --gov-blue: #1b4965;
  --gov-slate: #334155;
  --gov-border: #cbd5e1;
  --gov-gold: #b45309;
  --gov-emerald: #065f46;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  background-color: #f1f5f9;
}

/* Tablas Institucionales de Alta Densidad */
.gov-table th {
  background-color: #0f243e;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 10px 14px;
  border-bottom: 2px solid #0a192c;
}

.gov-table td {
  padding: 10px 14px;
  border-bottom: 1px solid #e2e8f0;
}

/* Modo Claro */
.gov-table tbody tr:nth-child(even) {
  background-color: #f8fafc;
}

.gov-table tbody tr:hover {
  background-color: #edf2f7;
}

/* Modo Oscuro: Eliminación de franjas blancas en selección y hover */
html.dark .gov-table th {
  background-color: #081525;
  color: #f8fafc;
  border-bottom: 2px solid #163a63;
}

html.dark .gov-table td {
  border-bottom: 1px solid #1a2f4c;
  color: #e2e8f0;
}

html.dark .gov-table tbody tr {
  background-color: #0a192c;
  color: #e2e8f0;
}

html.dark .gov-table tbody tr:nth-child(even) {
  background-color: #0d2138;
}

html.dark .gov-table tbody tr:hover,
html.dark .gov-table tbody tr:focus,
html.dark .gov-table tbody tr.selected {
  background-color: #163a63 !important;
  color: #ffffff !important;
}

html.dark .gov-table tbody tr:hover td,
html.dark .gov-table tbody tr.selected td {
  color: #ffffff !important;
}

/* Barra Tricolor Institucional */
.gov-tricolor {
  height: 3px;
  background: linear-gradient(90deg, #ffcc00 0%, #ffcc00 35%, #00247d 35%, #00247d 70%, #cf142b 70%, #cf142b 100%);
  width: 100%;
}

/* Scrollbar Sobrio de Oficina */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* Modales Institucionales */
.gov-modal-header {
  background-color: #0f243e;
  color: #ffffff;
  border-bottom: 2px solid #163a63;
}

/* Animaciones Sutiles sin rebotes de IA */
.animate-fade-in {
  animation: fadeIn 0.15s ease-out forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ESTILOS DE IMPRESIÓN PARA TICKET TÉRMICO (58mm y 80mm) Y OFICIOS */
@media print {
  body * {
    visibility: hidden;
  }
  #printable-receipt, #printable-receipt * {
    visibility: visible;
  }
  #printable-receipt {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 15px;
    font-size: 12px;
    color: #000 !important;
    background: #fff !important;
  }
}
