<style type="text/css">
    /* ✅ Fuentes embebidas (inyectadas desde Python) */
    /* Activar en linux */
    
      /* @font-face {
        font-family: 'Roboto';
        src: url('/usr/share/fonts/Roboto-Regular.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
      }

      @font-face {
        font-family: 'Roboto';
        src: url('/usr/share/fonts/Roboto-Bold.ttf') format('truetype');
        font-weight: bold;
        font-style: normal;
      } */


    /* Tus estilos existentes */
    body {
      margin: 0px 0px 0px 0px;
      /* font-family ya NO va aquí — viene de font_css */
    }
 
    /* Estilo para el div contenedor principal */
 
    * {
      box-sizing: border-box;
    }
 
    table {
      width: 100%;
    }
 
    .celda-d {
      padding: 2px 20px 5px 10px;
    }
 
    .celda-c {
      padding: 2px 10px 5px 10px;
    }
 
    .celda-i {
      padding: 2px 10px 5px 20px;
    }
 
    .celda-u {
      padding: 2px 20px 5px 20px;
    }
 
    .subtitulo {
      margin: 10px 0px 15px 20px;
    }
 
    .subtitulo i,
    .subtitulo p {
      display: inline-block;
      vertical-align: middle;
    }
 
    .subtitulo i {
      margin-right: 5px;
      margin-bottom: 1px;
    }
 
    .especial {
      width: 96%;
      font-size: 12px;
      margin: 7px 20px 12px 20px;
      border: 1px solid #ccc;
      border-radius: 5px;
    }
 
    .especial-dos {
      width: 96%;
      font-size: 12px;
      margin: 7px 20px 0px 20px;
      border: 1px solid #ccc;
      border-radius: 5px;
      padding: 10px 0px 10px 0px
    }
 
    .especial p {
      margin: 6px 0px 6px 0px;
      color: #002857;
    }
 
    .texto p {
      font-size: 14px;
      margin: 0px 0px 8px 0px;
    }
 
    label {
      display: block;
      font-weight: 500;
      margin: 0px 0px 6px 0px;
      color: #002857;
      font-size: 16px;
    }
 
    input,
    textarea {
      font-family: 'Roboto', sans-serif;
      display: block;
      width: 100%;
      border: 0px solid #ccc;
      margin: 0px 0px 0px 0px;
      padding: 0px 5px 0px 5px;
      background-color: #CCCCCD;
      min-height: 35px;
      font-size: 16px;
      color: rgb(49, 49, 49);
      border-radius: 3px;
    }
 
    .encabezado {
      position: relative;
      margin: 5px 20px;
    }
 
    .img-derecha {
      position: absolute;
      right: 0;
      top: 0;
      width: 90px;
      margin: 0px 0px 0px 0px;
    }
 
    .img-izquierda {
      position: absolute;
      left: 0;
      top: 0;
      width: 105px;
      margin: 5px 0px 5px 0px;
    }
 
    .instructivo {
      margin-top: -20px;
    }
 
 
    .instructivo-dos {
      margin-top: 0px;
    }
 
    .instructivo table {
      border: none;
      margin: 0px;
    }
 
    .instructivo table .campo-tabla {
      border-top: 1px solid #303d50;
      border-right: 1px solid #303d50;
      min-width: 250px;
      max-width: 250px;
      padding-left: 5px;
    }
 
    .instructivo table .info-tabla {
      border-top: 1px solid #303d50;
    }
 
    .instructivo table p {
      margin: 5px 5px 5px 5px;
    }
 
    .version table {
      border-collapse: collapse;
      width: 100%;
    }
 
    .version table .v-inicial {
      border: 1px solid #303d50;
      padding-left: 10px;
      min-width: 150px;
      max-width: 150px;
    }
 
    .version table .v-descripcion {
      border: 1px solid #303d50;
      padding: 10px;
    }
 
    .version table p {
      margin: 0;
    }
 
    /* Oficialización */
 
    .ofi table {
      border-collapse: collapse;
      width: 100%;
    }
 
    .ofi table .v-inicial {
      border: 1px solid #303d50;
      padding-left: 10px;
      min-width: 480px;
      max-width: 480px;
    }
 
    .ofi table .v-descripcion {
      border: 1px solid #303d50;
      padding: 10px;
    }
 
    .ofi table p {
      margin: 0;
      font-size: 12px;
    }
  </style>
 