  :root {
    --color-primario: #000000;
    --color-secundario: #FF9900;
    --color-fondo: #F5F5F5;
    --color-texto: #FFFFFF;
    --color-azul-acento: #263969;
  }

  body {
    background-color: var(--color-fondo);
    font-family: "Poppins", sans-serif;
    margin: 0;
    padding: 0;
  }

  /* BANNER */
  header img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* CONTENEDOR PRINCIPAL */
  .table-container {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
    padding: 15px;
    max-width: 1900px;
    margin: 0 auto 100px auto;
  }

  /* BARRA SUPERIOR */
  .top-bar {
    background: linear-gradient(90deg, var(--color-primario) 0%, var(--color-secundario) 50%, var(--color-azul-acento) 100%);
    color: var(--color-texto);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    flex-wrap: nowrap;
  }

  .social-icons {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
  }

  .social-icons a {
    color: #fff;
    font-size: 1.8rem;
    transition: transform 0.3s ease;
  }

  .social-icons a:hover {
    transform: scale(1.2);
    color: var(--color-secundario);
  }

  .texto-animado-container {
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
    min-width: 0;
  }

  .top-bar .texto-animado {
    white-space: nowrap;
    display: inline-block;
    font-weight: 600;
    font-size: 1.5rem;
    animation: moverTexto 12s linear infinite;
  }

  @keyframes moverTexto {
    0% {
      transform: translateX(100%);
    }

    100% {
      transform: translateX(-100%);
    }
  }

  /* BOTON INGRESAR */
  .btn-ingresar {
    background-color: var(--color-secundario);
    color: var(--color-primario);
    font-weight: 600;
    border: none;
    padding: 8px 18px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
  }

  .btn-ingresar:hover {
    background-color: #D57A2A;
    color: #fff;
  }

  /* TABLA RESPONSIVE */
  .table-wrapper {
    width: 100%;
    overflow-x: auto;
  }

  .table-wrapper table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
  }

  .table-wrapper th,
  .table-wrapper td {
    padding: 0.45rem 0.35rem;
    vertical-align: middle;
    text-align: center;
    word-wrap: break-word;
    white-space: normal;
  }

  .table-wrapper thead th {
    background-color: var(--color-azul-acento);
    color: var(--color-texto);
    font-weight: 600;
  }

  .table-wrapper tbody tr:nth-child(even) {
    background-color: #f8f9fa;
  }

  .table-wrapper tbody tr:hover {
    background-color: #fff3cd;
  }

  /* BANNER FLYER */
  .flyer-section {
    text-align: center;
    margin: 40px 0;
  }

  .carousel-item img {
    width: 400px;
    height: 400px;
    object-fit: contain;
    border-radius: 12px;
    filter: drop-shadow(0 4px 25px rgba(0, 0, 0, 0.3));
    margin: 0 auto;
  }

  /* 🔹 RESPONSIVE - MOVILES */
  @media (max-width: 768px) {
    .texto-animado-container {
      font-size: 1rem;
    }

    .table-container {
      padding: 10px;
      margin: 20px auto 50px auto;
      max-width: 100%;
    }

    /* 🔸 Tabla no compacta en móviles */
    .table-wrapper table {
      table-layout: auto;
    }

    .table-wrapper th,
    .table-wrapper td {
      padding: 0.6rem 0.4rem;
      font-size: 0.85rem;
    }

    .input-group {
      display: flex;
      gap: 5px;
      flex-wrap: nowrap;
    }

    .input-group .form-control {
      flex: 1;
    }

    .input-group .btn {
      flex-shrink: 0;
    }

    .table-container .d-flex.justify-content-center {
      flex-wrap: wrap;
      gap: 8px;
    }
  }

  @media (max-width: 576px) {
    .carousel-item img {
      width: 90%;
      height: auto;
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
      padding: 6px;
    }
  }