    * {
      box-sizing: border-box;
      font-family: 'Roboto', sans-serif;
    }
    
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    
    body {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      background-image: url('../img/fondo.png');
      background-size: cover;
      background-attachment: fixed;
      background-position: center;
      background-repeat: no-repeat;
    }
   
    header {
      background-color: #fff;
      border-bottom: 3px solid #e0e0e0;
      padding: 10px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    header img {
      height: auto;
      max-height: 60px;
      width: auto;
    }
    
    .logos {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    strong{
      font-size: clamp(1rem, 1vw, 11.2rem);
    }

    .title {
      width: 693px;
      text-align: center;
      margin-top: 0rem;
      padding: 0rem 0;
      border-radius: 0 0 20px 20px;
      display: contents;
    }
    
    .title img {
      max-width: 30%;
      height: auto;
      margin: auto;
    }
    
    .search-box {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      padding: 1rem;
      justify-content: center;
      background-color: rgba(255, 255, 255, 0.9);
      margin: 0 auto;
      width: 90%;
      max-width: 1200px;
      border-radius: 10px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    
    .search-box input {
      padding: 0.5rem;
      border: 1px solid #ccc;
      border-radius: 5px;
      width: 200px;
    }
    
    .content {
      flex: 1;
      padding: 2rem 1rem;
      display: flex;
      justify-content: center;
      background-color: rgba(255, 255, 255, 0.85);
      border-radius: 15px;
      margin: 2rem auto;
      width: 90%;
      max-width: 1200px;
    }
    
    .table-wrapper {
      width: 100%;
    }
    
    .table-title {
      font-weight: bold;
      font-size: 1.2rem;
      color: #555;
      margin-bottom: 1rem;
    }
    
    .table-container {
      background-color: #ffffff;
      border-radius: 15px;
      overflow-x: auto;
      padding: 1rem;
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
      transition: opacity 0.3s ease;
    }
    
    table {
      width: 100%;
      border-collapse: collapse;
    }
    
    th, td {
      padding: 0.75rem;
      text-align: left;
      border-bottom: 1px solid #ccc;
    }
    
    th {
      background-color: #6A429F;
      color: white;
    }
    
    tr:hover {
      background-color: #f5f5f5;
    }
    
    .location-button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      font-size: 1.2rem;
      color: #6A429F;
    }
    
    .pagination {
      display: flex;
      justify-content: center;
      margin: 2rem 0 1.5rem;
      flex-wrap: wrap;
    }
    
    .pagination a, .pagination span {
      display: inline-block;
      background-color: #6A429F;
      color: white;
      border: none;
      padding: 0.5rem 1rem;
      margin: 0 5px;
      border-radius: 5px;
      cursor: pointer;
      transition: background-color 0.3s;
      text-decoration: none;
      font-size: 14px;
    }
    
    .pagination a:hover {
      background-color: #5a328f;
    }
    
    .pagination .current {
      background-color: #ccc;
      cursor: default;
    }

    footer {
      background-color: #fff;
      padding: 0px 0;
      text-align: center;
      border-top: 3px solid #e0e0e0;
      margin-top: auto;
    }
    
    .footer-image {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
    }
    
    /* Loading indicator */
    .loading-indicator {
      display: none;
      text-align: center;
      padding: 10px;
      color: #6A429F;
      font-weight: bold;
    }
    
    .searching .loading-indicator {
      display: block;
    }
    
    .searching .table-container {
      opacity: 0.7;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .content {
        padding: 1.5rem;
        width: 95%;
      }
      
      .title img {
        max-width: 250px;
      }
      
      .logos img {
        height: 40px;
      }
      
      .search-box input {
        width: 100%;
      }
      
      th, td {
        padding: 0.5rem;
        font-size: 0.9rem;
      }
    }

    @media (max-width: 480px) {
      .content {
        padding: 1.25rem;
      }
      
      .title img {
        max-width: 80%;
          }
        }
