@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Inter-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Inter-Italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/Inter-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/Inter-BoldItalic.ttf') format('truetype');
}

* {
  box-sizing: border-box;
}

*::before {
  box-sizing: border-box;
}

*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--gjv-fuente);
  font-size: var(--gjv-t-14);
  line-height: 1.5;
  color: var(--gjv-navy);
  background-color: var(--gjv-fondo);
  -webkit-font-smoothing: antialiased;
}

:focus-visible {
  outline: 2px solid var(--gjv-info);
  outline-offset: 2px;
  box-shadow: var(--gjv-foco);
}

input {
  font-family: inherit;
  font-size: var(--gjv-t-14);
}

select {
  font-family: inherit;
  font-size: var(--gjv-t-14);
}

textarea {
  font-family: inherit;
  font-size: var(--gjv-t-14);
}

button {
  font-family: inherit;
  font-size: var(--gjv-t-14);
  min-height: var(--gjv-alto-control);
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

input:disabled {
  cursor: not-allowed;
  opacity: .55;
}

select:disabled {
  cursor: not-allowed;
  opacity: .55;
}

textarea:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.gjv-solo-lectores {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gjv-tabla-desplazable {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.gjv-vacio {
  padding: var(--gjv-e-6) var(--gjv-e-4);
  text-align: center;
  color: var(--gjv-texto-2);
  font-size: var(--gjv-t-14);
}

@media print {
  body {
    background: var(--gjv-superficie);
    color: var(--gjv-navy);
  }
  
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
  }
  
  *::before {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
  }
  
  *::after {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
  }
  
  @page {
    size: Letter portrait;
    margin: 12mm 10mm;
  }
  
  tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  
  thead {
    display: table-header-group;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  
  tfoot {
    display: table-footer-group;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  
  .gjv-no-imprimir {
    display: none !important;
  }
}

:root {
  --gjv-transparente: transparent;
  --gjv-borde-alerta: #E8C87D;
  --gjv-navy: #0F172A;
  --gjv-texto-2: #64748B;
  --gjv-texto-3: #94A3B8;
  --gjv-borde: #E2E8F0;
  --gjv-borde-fuerte: #CBD5E1;
  --gjv-fondo: #F8FAFC;
  --gjv-superficie: #FFFFFF;
  --gjv-banda: #F1F5F9;
  --gjv-exito: #16A34A;
  --gjv-alerta: #F59E0B;
  --gjv-peligro: #DC2626;
  --gjv-info: #2563EB;
  --gjv-fuente: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --gjv-fuente-mono: Consolas, "Courier New", monospace;
  --gjv-t-11: 11px;
  --gjv-t-12: 12px;
  --gjv-t-14: 14px;
  --gjv-t-16: 16px;
  --gjv-t-20: 20px;
  --gjv-t-28: 28px;
  --gjv-t-36: 36px;
  --gjv-e-1: 4px;
  --gjv-e-2: 8px;
  --gjv-e-3: 12px;
  --gjv-e-4: 16px;
  --gjv-e-5: 24px;
  --gjv-e-6: 32px;
  --gjv-e-7: 48px;
  --gjv-e-8: 64px;
  --gjv-r-sm: 8px;
  --gjv-r-md: 12px;
  --gjv-r-lg: 16px;
  --gjv-sombra-sm: 0 1px 2px rgba(15, 23, 42, .05);
  --gjv-sombra-md: 0 8px 24px rgba(15, 23, 42, .08);
  --gjv-alto-control: 32px;
  --gjv-foco: 0 0 0 3px rgba(37, 99, 235, .35);
  --gjv-acento: #16A34A;
  --gjv-acento-oscuro: #15803D;
  --gjv-acento-tenue: #DCFCE7;
  --gjv-acento-profundo: #14532D;
  --gjv-sobre-acento: #FFFFFF;
  --gjv-cubo-panel: #FBFCF6;
  --gjv-cubo-panel-borde: #E1E8D7;
  --gjv-cubo-seleccion: #EAF5E5;
  --gjv-cubo-nodo: #F4F8EF;
  --gjv-cubo-sombra: 0 2px 6px rgba(20,83,45,.08);
  --gjv-cubo-canto: #C7DCC1;
  --gjv-cubo-canto-profundo: #0F4224;
  --gjv-cubo-relieve: 0 3px 0 var(--gjv-cubo-canto), 0 7px 13px rgba(20,83,45,.10), inset 0 1px 0 rgba(255,255,255,.9);
  --gjv-cubo-relieve-nodo: 0 3px 0 var(--gjv-cubo-canto-profundo), 0 5px 9px rgba(20,83,45,.12), inset 0 1px 0 rgba(255,255,255,.16);
  --gjv-cubo-relieve-neutro: 0 2px 0 var(--gjv-cubo-panel-borde), 0 4px 8px rgba(15,23,42,.04), inset 0 1px 0 var(--gjv-superficie);
  --gjv-cubo-texto-secundario: #59697E;
  --gjv-engine-verde-oscuro: #15803D;
  --gjv-engine-sombra: #0F172A26;
  --gjv-engine-texto: #00EDB3;
  --gjv-engine-fondo: #020617;
  --gjv-engine-aviso: #FACC15;
  --gjv-engine-error: #FB7185;
  --gjv-consola-info: #94A3B8;
  --gjv-consola-exito: #34D399;
  --gjv-consola-aviso: #FCD34D;
  --gjv-consola-abort: #C084FC;
  --gjv-consola-error: #FB7185;
  --gjv-consola-hora: #94A3B8;
  --gjv-semaforo-verde-texto: #047857;
  --gjv-semaforo-verde-fondo: #ECFDF5;
  --gjv-semaforo-verde-borde: #A7F3D0;
  --gjv-semaforo-rojo-texto: #BE123C;
  --gjv-semaforo-rojo-fondo: #FFF1F2;
  --gjv-semaforo-rojo-borde: #FDA4AF;
  --gjv-semaforo-ambar-texto: #92400E;
  --gjv-semaforo-ambar-fondo: #FFFBEB;
  --gjv-semaforo-ambar-borde: #FCD34D;
  --gjv-nota-negro: #000000;
  --gjv-dim-nacional-fondo: #DCEEDF;
  --gjv-dim-nacional-borde: #80AD8B;
  --gjv-dim-nacional-tinta: #225839;
  --gjv-dim-provincia-fondo: #DFEAF6;
  --gjv-dim-provincia-borde: #89A5C4;
  --gjv-dim-provincia-tinta: #294F78;
  --gjv-dim-canton-fondo: #D9EFEC;
  --gjv-dim-canton-borde: #7DAEA7;
  --gjv-dim-canton-tinta: #205E59;
  --gjv-dim-actividad-fondo: #E9E3F4;
  --gjv-dim-actividad-borde: #AD9BC9;
  --gjv-dim-actividad-tinta: #564074;
  --gjv-color-apoyo-1: rgba(15, 23, 42, .45);
  --gjv-color-apoyo-2: rgba(15, 23, 42, .5);
  --gjv-color-apoyo-3: rgba(22, 163, 74, .45);
  --gjv-color-apoyo-4: rgba(15,23,42,.03);
  --gjv-color-apoyo-5: rgba(15,23,42,.06);
  --gjv-color-apoyo-6: rgba(20,83,45,.10);
}
