/* CheckPoints */

/*#CheckPointsTable  input.form-control.inputCheckPointTable{background:black !important; padding: 9px 2px 8px 4px; font-size: 14px}*/
#CheckPointsTable  .main-toggle {width: 50px;  height: 17px; margin-top:6px}
#CheckPointsTable  .main-toggle.on span{left:26px}
#CheckPointsTable  .main-toggle span::before{left:-20px}
#CheckPointsTable  .main-toggle span::after{right:-21px}
#CheckPointsTable  .main-toggle span::before, #CheckPointsTable .main-toggle span::after{font-size:8px; line-height:1}
#CheckPointsTable  th, #CheckPointsTable td{padding-left:10px}
#CheckPointsTable .thumb a img {width:30px; margin-left:5px}
#CheckPointsTable .thumb i {float:right;cursor:pointer; margin:8px 11px 0px 0px}
#CheckPointsTable .thumb form{position: relative;  width: 100%; margin-top:20px}
#CheckPointsTable .image a img {height:32px}
#CheckPointsTable .image i {cursor:pointer; margin-right:10px; color:#bcc0c6}
#CheckPointsTable .qr-view {font-size: 12px;}
#CheckPointsTable .qr-view i {cursor:pointer; margin-right:10px; color:#bcc0c6; font-size: 25px;}
#CheckPointsTable .lang i {cursor: pointer;  margin-right: 10px;  margin-top: 8px;}
#CheckPointsTable .tag {margin:3px 0px 0px 0px}
#CheckPointsTable .image form{position: relative;  width: 100%; margin-top:20px}
#CheckPointsTable td.p13{padding:13px}
#CheckPointsTable th.noarrow.sorting_asc::after,#CheckPointsTable th.noarrow.sorting::after,#CheckPointsTable th.noarrow.sorting_desc::after{content:""}
#CheckPointsTable .UpdateWorker input, #CheckPointsTable .UpdateWorker label {margin-top:10px; margin-bottom:1px; font-size:15px }
#CheckPointsTable img.flag {width: 20px; margin-left: 10px;  margin-top: 3px;}
#CheckPointsTable .TitleThumb {width: 30px; margin-right: 10px;}
#CheckPointsTable td.button{padding:10px ​0px 0px 0p}
#CheckPointsTable td.delete i{margin-top: 7px}
#CheckPointsTable i.fa.fa-trash.deleteCheckPointTable {cursor:pointer}
#CheckPointsTable  td i.fa.fa-trash, #CheckPointsTable  td i.fa.fa-envelope {font-size : 20px; margin: 3px 0px 3px 0px; cursor:pointer }
#CheckPointsTable .dp-table-checkpoint {display: flex; justify-content: space-around;}
#CheckPointsTable .dp-table-checkpoint a {width: auto;}
/* Botón Registros en tabla CheckPoints */
#CheckPointsTable .btn-outline-success i { font-size: 13px;  padding: 0px 11px 0px 0px;  width: 10px;}


/* DataTable Column Min-Width Styles */
#CheckPointsTable td:nth-child(1) { min-width: 50px; }
#CheckPointsTable td:nth-child(2) { min-width: 100px; }
#CheckPointsTable td:nth-child(3) { min-width: 300px; }
#CheckPointsTable td:nth-child(4) { min-width: 160px; }
#CheckPointsTable td:nth-child(5) { min-width: 200px; }
#CheckPointsTable td:nth-child(6) { min-width: 150px; text-align: center;}
#CheckPointsTable td:nth-child(7) { min-width: 200px; text-align: center;}
#CheckPointsTable td:nth-child(8) { min-width: 150px; text-align: center;}


/* ========================================
   CheckPoints Stats Table
   ======================================== */


/*Link ID COMPARTIDO*/

.checkpoint-stats-link i {
    color: #22c03c;
}



/* Estado sin datos */
.checkpoint-stats-no-data {
    text-align: center;
    padding: 60px 20px;
    color: #fff;
}

.checkpoint-stats-no-data-icon {
    font-size: 48px;
    margin-bottom: 15px;
    opacity: 0.5;
}

.checkpoint-stats-no-data p {
    font-size: 16px;
    margin: 0;
}

/* Tabla principal */
.checkpoint-stats-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.checkpoint-stats-table thead th {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 16px;
    border: none;
}

.checkpoint-stats-table thead th:first-child {
    border-radius: 8px 0 0 0;
}

.checkpoint-stats-table thead th:last-child {
    border-radius: 0 8px 0 0;
}

.checkpoint-stats-table tbody tr {
    transition: background-color 0.2s ease;
}

.checkpoint-stats-table tbody tr:hover {
    background-color: rgba(102, 126, 234, 0.08);
}

.checkpoint-stats-table tbody td {
    padding: 8px 15px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
    font-size: 14px;
}

/* Fila activa (sin salida) */
.checkpoint-stats-table tbody tr.checkpoint-row-active {
    background-color: rgba(255, 193, 7, 0.08);
}

/* Columna Fecha */
.checkpoint-stats-table .checkpoint-date {
    font-weight: 500;
    color: #cfdaec;
    white-space: nowrap;
}

/* Columna Punto de Control */
.checkpoint-stats-table .checkpoint-name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkpoint-stats-table .checkpoint-bullet {
    width: 8px;
    height: 8px;
    background-color: #28a745;
    border-radius: 50%;
    flex-shrink: 0;
}

.checkpoint-stats-table .checkpoint-info {
    display: flex;
    flex-direction: column;
}

.checkpoint-stats-table .checkpoint-info strong {
    color: #cfdaec;
    font-size: 14px;
}

.checkpoint-stats-table .checkpoint-info small {
    color: #ffffffa5;
    font-size: 14px;
}

/* Columna Personal */
.checkpoint-stats-table .checkpoint-worker {
    color: #cfdaec;
}

/* Columna Entrada */
.checkpoint-stats-table .checkpoint-entry {
    color: #28a745;
    font-weight: 600;
}

/* Columna Salida */
.checkpoint-stats-table .checkpoint-exit {
    color: #fd7e14;
    font-weight: 600;
}

.checkpoint-stats-table .checkpoint-exit.no-exit {
    color: #adb5bd;
}

/* Columna Horas */
.checkpoint-stats-table .checkpoint-hours {
    text-align: center;
}

.checkpoint-stats-table .checkpoint-badge-hours {
    padding: 6px 12px !important;
    font-size: 14px !important;
}

.checkpoint-stats-table .checkpoint-badge-active {
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: 500;
    animation: pulse-warning 2s infinite;
}

.checkpoint-stats-table .checkpoint-badge-no-exit {
    padding: 6px 12px !important;
    font-size: 12px !important;
}

@keyframes pulse-warning {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Paginación */
.checkpoint-stats-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    margin-top: 10px;
    border-top: 1px solid #cfdaec;
}

.checkpoint-stats-pagination .pagination-info {
    color: #cfdaec;
    font-size: 14px;
}

.checkpoint-stats-pagination .pagination-buttons {
    display: flex;
    gap: 8px;
}

.checkpoint-stats-pagination .btn {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #cfdaec;
    font-size: 14px;
}

/* Separador de tabla más gris */
.checkpoint-stats-table tbody td {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

/* ========================================
   CheckPoints Stats Cards
   ======================================== */

.checkpoint-stats-card {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.checkpoint-stats-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.checkpoint-stats-card .card-body {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
}

.checkpoint-stats-card-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.checkpoint-stats-card-icon i {
    font-size: 24px;
    color: #fff;
}

.checkpoint-stats-card-icon.bg-primary-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.checkpoint-stats-card-icon.bg-success-gradient {
    background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}

.checkpoint-stats-card-icon.bg-warning-gradient {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.checkpoint-stats-card-content h3 {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    color: #fff;
}

.checkpoint-stats-card-content p {
    font-size: 13px;
    margin: 4px 0 0 0;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}