:root {
    --font-family: Arial, Helvetica, sans-serif;
}

@font-face {
    font-family: 'mifuente';
    src: url(../fonts/akaPosse.ttf);
}
label{
    color: #fff;
}
img{
    width: 330px;
    height: 110px;
}
h1{
    font-family: 'mifuente';
    text-align: center; 
    margin-top: 15%; 
    color: #fff; 
    font-size: 4.5em; /* Tamaño de fuente, ajusta según sea necesario */
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

h2{
    font-weight: bold;
    font-size: 25px;  
}

body {
    background-image: url(../img/frentecootransfusa.jpg);
    background-repeat: repeat;
    background-size: cover;
    position: relative;
    padding-bottom: 120px;
    min-height: 100vh;
}

@font-face {
    font-family: 'MiFuente';
    src: url('../fonts/VarsityTeam-Bold.otf');
}

.bienvenida{
    color: azure;
    text-shadow: 5px 5px 5px black;
    position: relative;
    bottom: 3em;
    font-size: 100%;
    font-family: 'MiFuente';
    text-align: center;
}

/* .login-box {
    position: relative;
    top: 50%;
    width: 400px;
    padding: 40px;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, .5);
    box-sizing: border-box;
    box-shadow: 0 15px 25px rgba(0, 0, 0, .6);
    border-radius: 10px;
} */

.login-box h2 {
    margin: 0 0 30px;
    padding: 0;
    color: #fff;
    text-align: center;
    font-weight: bold; 
}

.user-box {
    position: relative;
    margin-bottom: 30px; 
}

.user-box input,
.user-box select {
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    color: #bab9b9;
    border: none;
    border-bottom: 1px solid #ffffff;
    outline: none;
    background: transparent;
}

.user-box label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    pointer-events: none;
    transition: .5s;
}

.user-box input:focus ~ label,
.user-box input:valid ~ label {
    top: -20px;
    left: 0;
    color: #03e9f4;
    font-size: 12px;
}

.user-box select {
    text-align: center; 
}

input[type="submit"] {
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    background: transparent;
    border: 2px solid #03e9f4;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.5s, color 0.5s;
}

input[type="submit"]:hover {
    background: #03e9f4;
    color: #000;
}

.error {
    color: red;
    text-align: center;
    margin-top: 10px;
}

  .login-box {
    margin-top: 20%;
    margin-left: 50%;
    width: 400px;
    padding: 40px;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.281);
    box-sizing: border-box;
    box-shadow: 0 15px 25px rgba(0,0,0,.6);
    border-radius: 10px;
  }
  
  .login-box h2 {
    margin: 0 0 30px;
    padding: 0;
    color: #fff;
    text-align: center;
  }
  
  .login-box .user-box {
    position: relative;
  }
  
  .login-box .user-box input {
    text-align: center;
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    margin-bottom: 30px;
    border: none;
    border-bottom: 1px solid #fff;
    outline: none;
    background: transparent;
  }
  .login-box .user-box label {
    position: absolute;
    top:0;
    left: 0;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    pointer-events: none;
    transition: .5s;
  }
  
  .login-box .user-box input:focus ~ label,
  .login-box .user-box input:valid ~ label {
    top: -20px;
    left: 0;
    color: #03e9f4;
    font-size: 12px;
  }
  
  .login-box form a {
    position: relative;
    display: inline-block;
    padding: 10px 20px;
    color: #03e9f4;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    overflow: hidden;
    transition: .5s;
    margin-top: 40px;
    letter-spacing: 4px
  }
  .login-box input[type="submit"],
  .login-box button {
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    background: transparent;
    border: 2px solid #03e9f4;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.5s, color 0.5s;
}

.login-box input[type="submit"]:hover,
.login-box button:hover {
    background: #03e9f4;
    color: #000;
}
.navbar {
    background-color: rgba(0, 0, 0, 0.653); 
    padding: 15px; 
    border-radius: 10px; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 
    text-align: center; 
}

.navbar-list {
    list-style: none; 
    padding: 0; 
    margin: 0; 
    display: flex; 
    justify-content: center;
}

.navbar-item {
    margin: 0 15px; 
}

.navbar-link {
    text-decoration: none; 
    color: #fff; 
    font-size: 16px; 
    padding: 10px 15px; 
    border-radius: 5px; 
    transition: background 0.3s, color 0.3s; 
}

.navbar-link:hover {
    background: #03e9f4; 
    color: #000; 
}
.factura-table {
    width: 100%;
    border-collapse: collapse; 
    margin-bottom: 20px; 
    background-color: rgba(0, 0, 0, 0.7); 
    border-radius: 10px; 
}

.factura-table th,
.factura-table td {
    padding: 12px; 
    text-align: left; 
    border-bottom: 1px solid #ccc; 
    color: #fff; 
}

.factura-table th,
.table-h {
    background-color: rgba(0, 0, 0, 0.9); 
    font-weight: bold; 
}

.factura-table tr:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.1); 
}

.total-table {
    width: 100%;
    border-collapse: collapse; 
    margin-top: 20px;
    background-color: rgba(0, 0, 0, 0.7); 
    border-radius: 10px; 
}

.total-table td {
    padding: 10px; 
    text-align: left;
    border: none;
    color: #fff; 
}

.total-table tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.5); 
}

#section{
    margin-top: -5rem;
}

.table-section{
    overflow-x: auto; /* si no hay espacio suficiente pone un scroll */
}

.resultados{
    width: 1100px;
    margin: 0 auto;
    font-family: var(--font-family);
}

td {
    text-align: center; /* Alineación horizontal centrada */
    vertical-align: middle; /* Alineación vertical centrada */
  }

table {
    border-collapse: collapse; /* Colapsar los bordes de las celdas */
}

/* Estilo para la cabecera de la tabla */
th,
.table-h,
caption {
    background-color: rgba(0, 0, 0, 0.85); /* Color más sólido para mejor contraste */
    color: white; /* Texto blanco para destacar */
    padding: 12px; /* Relleno más amplio */
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

th,
.table-h {
    text-align: left; /* Alinear texto a la izquierda para uniformidad */
}

caption {
    text-align: center;
}

/* Estilo para las celdas */
td {
    
    background-color: #f9f9f9; /* Color claro para un look limpio */
    color: #333; /* Texto oscuro para mejor legibilidad */
    padding: 12px; /* Relleno amplio */
    border-bottom: 1px solid #ddd; /* Línea separadora entre filas */
}

/* Estilo común para las celdas */
td, th {
    border-radius: 0px; /* Esquinas ligeramente redondeadas */
}

/* Estilo para las filas */
tr:nth-child(even) td:not(.table-h) {
    background-color: #bbbbbb; /* Alternar colores para filas pares */
}

/* Hover effect para filas */
tr:hover td {
    background-color: #e0e7ff; /* Cambiar el color al pasar el mouse */
    transition: background-color 0.3s ease; /* Suavizar la transición */
}
.tabla{
    position: absolute;
    margin-left: 50px;
}

/* Estilo para la tabla */
table {
    width: 100%; /* Usar todo el ancho disponible */
    border-collapse: collapse; /* Eliminar espacios entre celdas */
    margin: 20px 0; /* Espaciado alrededor de la tabla */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para resaltar */
    border-radius: 0px; /* Esquinas redondeadas de la tabla */
    overflow: hidden; /* Prevenir bordes sobresalientes */
}

/* Opcional: Centrar la tabla */
table {
    margin: 20px auto; /* Centrar la tabla en la página */
}

.totalizado{
    width: 20%;
    margin: 0 auto;
    font-family: var(--font-family);
}

.eds{
    background-color: rgba(0, 0, 0, 0.9);
    font-weight: bold;
    color: white;
}

.section-repo{
    width: 100%;
    overflow-y: scroll;
    overflow-x: scroll;
    margin: 0 auto;
    font-family: var(--font-family);
    border-collapse: collapse;
    border-spacing: 0px;
}

#fader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.fader-son{
    width: 100%;
    margin: 0 auto;
    position: relative;
    top: 12em;
}

.fader-son p{
    text-align: center;
    font-family: var(--font-family);
    font-weight: bold;
    font-size: 1.5rem;
    color: whitesmoke;
}

.spinner {
    margin: 0 auto;
    width: 100%;
    width: 150px;
    height: 150px;
    border: 15px solid #ccc;
    border-top: 15px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

#divBtnXlsx{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 4rem;
}

.btnGenerarPDF {
    background-color: #4CAF50; /* Color de fondo */
    color: white; /* Color del texto */
    padding: 15px 20px; /* Espaciado interno */
    border: none; /* Sin borde */
    border-radius: 5px; /* Bordes redondeados */
    font-size: 16px; /* Tamaño del texto */
    cursor: pointer; /* Cambia el cursor al pasar por encima */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra */
    transition: background-color 0.3s ease, transform 0.2s ease; /* Transiciones suaves */
    margin-top: 20px; /* Espaciado superior */
}

/* Hover y activo */
#btnGenerarPDF:hover {
    background-color: #45a049; /* Color al pasar el mouse */
    transform: scale(1.05); /* Efecto de agrandamiento */
}

#btnGenerarPDF:active {
    background-color: #3e8e41; /* Color al hacer clic */
    transform: scale(0.95); /* Efecto de reducción */
}

.comic-sans-responsive {
    /* font-family: 'Comic Sans MS', cursive, sans-serif; */
    font-family: Arial, sans-serif;;
    font-size: 0.9167em; /* ≈11pt relativo al tamaño base */
}

.firma{
    width: 25%;
    z-index: 99;
}

#certificado{
    background-color: white;
    background-image: url(../img/logo-cootransfusa-degradado.png);
    background-size: contain; /* Mantiene proporciones, imagen completa visible */
    background-repeat: no-repeat;
    background-position: center 35%;
}

p.titulo,
p.parrafo{
    text-align: center;
}

p.titulo,
#cin {
    font-weight: bold;
    z-index: 99;
}

.firma-img--1,
.firma-img--2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    column-gap: 0;
}

.firma-img--1 > *,
.firma-img--3 > * {
    font-family: Arial, sans-serif;
}

.firma-img--1 > *,
.firma-img--3 > :last-child {
    margin-top: -10px;
}

.firma-img--1 > :first-child {
    color: #025ec0;
    font-weight: bold;
}

.firma-img--2 {
    background-image: url(../img/sello.png);
    background-size: 30% 60%;
    background-repeat: no-repeat;
    background-position: center top;
}

.firma-img--2 > :nth-child(2) {
    margin-top: -40px;
}

.firma-img--2 > :nth-child(3) {
    margin-top: -15px;
}

.firma-img--3 {
    text-align: center;
}

.cabecera{
    font-size: 0.85em;
}

.logo-empresa{
    width: 25%;
    height: 5em;
    margin-top: -25px;
}

#cin {
    text-align: right;
}

.qr-container {
    display: flex;
    justify-content: right;
    align-items: right;
    position: absolute;
    width: 130px;
    right: 0;
    z-index: 9999;
    pointer-events: none;
}

.qr-container img {
    /* La propiedad pointer-events: auto permite que el elemento reciba eventos del puntero (como clics).
     * Esto hace que la imagen del código QR sea interactiva, permitiendo que el usuario pueda hacer clic en ella.
     * El valor 'auto' es el comportamiento predeterminado que habilita la interacción normal con el elemento. */
    pointer-events: auto;
    width: 100%;
}

#lineas-footer{
    width: 100%;
    display: flex;
    flex-direction: column;
}

#lineas-footer > :first-child {
    margin-bottom: 0.4em;
}

#linea-elaborado{
    width: 33%;
    margin-left: 0;
    height: 1px;
    background-color: black;
}

.linea-azul,
.linea-verde{
    height: 0.2em;
}

.linea-azul{
    background-color: #003a77;
}

.linea-verde{
    background-color: #45a049;
}

footer{
    position: center;
    bottom: 0;
    height: 10%;
    width: 100%;
    color: rgb(255, 255, 255);
    background-color: #3333339d;
    font-family: var(--font-family);
    padding-bottom: 40px;
    padding-top: 40px;
    text-align: center;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}