* {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
}

body.login-page {
    margin: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
}

.login-page .fecha-hora {
    font-size: 14px;
    margin-bottom: 20px;
    text-transform: capitalize;
    color: #333;
}

.login-page .contenedor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.login-page input[type="text"] {
    padding: 10px;
    font-size: 16px;
    width: 200px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.login-page button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.login-page button:hover {
    background-color: #45a049;
}

.login-page .footer {
    font-size: 12px;
    color: #666;
    margin-top: 20px;
}

.login-page #mensaje {
    color: red;
    margin-top: 10px;
    font-weight: bold;
    min-height: 20px;
}

body.supercaptura-page {
    font-family: Arial, Helvetica, sans-serif;
    margin: 15px;
    background-color: #fff;
}

.supercaptura-page .header {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #4CAF50;
}

.supercaptura-page #fechaHora {
    font-weight: bold;
    color: #333;
}

.supercaptura-page #rangoSemana {
    font-style: italic;
    color: #666;
}

.supercaptura-page .info-top {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 6px;
}

.supercaptura-page .info-top > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.supercaptura-page .info-top label {
    font-weight: bold;
    color: #333;
}

.supercaptura-page select {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    min-width: 150px;
}

.supercaptura-page #porcentaje {
    font-weight: bold;
    color: #4CAF50;
    font-size: 24px;
    min-width: 40px;
    text-align: center;
    background-color: #f0f9f0;
    padding: 4px 12px;
    border-radius: 4px;
    border: 1px solid #c8e6c9;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.supercaptura-page .info-top > div:last-child {
    font-size: 14px;
    color: #666;
    font-weight: normal;
}

.supercaptura-page .body {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
    gap: 20px;
}

.supercaptura-page .left-panel,
.supercaptura-page .right-panel {
    width: 48%;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #ddd;
}

.supercaptura-page .fila {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.supercaptura-page .fila label {
    min-width: 120px;
    font-weight: bold;
}

.supercaptura-page input[type="text"],
.supercaptura-page input[type="number"] {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    flex: 1;
}

.supercaptura-page #cajasDisplay {
    font-size: 22px;
    font-weight: bold;
    color: #e74c3c;
    margin-left: 10px;
}

.supercaptura-page .status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 10px;
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.supercaptura-page #statusCircle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: red;
    transition: background-color 0.3s;
}

.supercaptura-page button {
    padding: 8px 16px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s;
}

.supercaptura-page button:hover {
    background-color: #45a049;
}

.supercaptura-page button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

.supercaptura-page .grid {
    display: none;
    margin-top: 20px;
}

.supercaptura-page table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.supercaptura-page th {
    background-color: #4CAF50;
    color: white;
    padding: 12px;
    text-align: center;
    border: 1px solid #ddd;
}

.supercaptura-page td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
}

.supercaptura-page td[contenteditable="true"] {
    background-color: #f9f9f9;
    cursor: text;
}

.supercaptura-page td[contenteditable="true"]:focus {
    background-color: #fff;
    outline: 2px solid #4CAF50;
}

.supercaptura-page .grid-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding: 10px;
    background-color: #f8f9fa;
    border-radius: 4px;
}
.supercaptura-page #selectCosechador {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background-color: white;
    cursor: pointer;
    transition: border-color 0.3s;
}

.supercaptura-page #selectCosechador:hover {
    border-color: #4CAF50;
}

.supercaptura-page #selectCosechador:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}

.supercaptura-page #selectCosechador:disabled {
    background-color: #f5f5f5;
    cursor: not-allowed;
    color: #999;
}

.supercaptura-page #selectCosechador option {
    padding: 8px;
}

.supercaptura-page #selectCosechador option[value=""] {
    color: #999;
    font-style: italic;
}

.supercaptura-page .vuelta {
    display: flex;
    gap: 15px;
    margin-top: 10px;
}

.supercaptura-page input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.supercaptura-page .vuelta label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    height: 40px;
}

.supercaptura-page .vuelta label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 50%;
    background-color: white;
    transition: all 0.3s;
}

.supercaptura-page .vuelta label::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #007bff;
    transition: transform 0.3s;
}

.supercaptura-page input[type="radio"]:checked + label::before {
    border-color: #007bff;
}

.supercaptura-page input[type="radio"]:checked + label::after {
    transform: translateY(-50%) scale(1);
}

.supercaptura-page .vuelta label:hover::before {
    border-color: #999;
}

.supercaptura-page .vuelta {
    margin-left: 0;
}

.supercaptura-page .status + .vuelta {
    margin-top: 15px;
}

.grid-footer {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-horizontal {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    align-items: flex-end;
}

.footer-horizontal .campo {
    display: flex;
    flex-direction: column;
    min-width: 140px;
}

@media (max-width: 768px) {
    .supercaptura-page .body {
        flex-direction: column;
    }

    .supercaptura-page .left-panel,
    .supercaptura-page .right-panel {
        width: 100%;
    }

    .supercaptura-page .info-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .supercaptura-page .header {
        flex-direction: column;
        gap: 10px;
    }

    .supercaptura-page #porcentaje {
        font-size: 20px;
        padding: 3px 8px;
        min-width: 35px;
    }
    .supercaptura-page .vuelta {
        flex-direction: column;
        gap: 8px;
    }

    .supercaptura-page .vuelta label {
        width: 100%;
    }
}

        .hidden-column {
            display: none !important;
        }

        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }

        .modal-content {
            background-color: white;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
            width: 700px;
            max-width: 90%;
            max-height: 80vh;
            overflow-y: auto;
            padding: 20px;
        }

        .modal-header {
            border-bottom: 1px solid #ddd;
            padding-bottom: 10px;
            margin-bottom: 15px;
        }

        .modal-header h3 {
            margin: 0;
            color: #333;
            font-size: 18px;
        }

        .modal-body {
            padding: 10px 0;
        }

        .detalles-form {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            align-items: center;
        }

        .detalles-form input,
        .detalles-form select {
            padding: 8px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 14px;
        }

        .detalles-form input {
            width: 100px;
        }

        .detalles-form select {
            flex-grow: 1;
        }

        .detalles-form button {
            padding: 8px 15px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
        }

        .detalles-form button:hover {
            background-color: #45a049;
        }

        .detalles-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }

        .detalles-table th,
        .detalles-table td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }

        .detalles-table th {
            background-color: #4CAF50;
            font-weight: bold;
        }

        .modal-footer {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            padding-top: 15px;
            border-top: 1px solid #ddd;
        }

        .modal-footer button {
            padding: 8px 20px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
        }

        .btn-guardar {
            background-color: #2196F3;
            color: white;
        }

        .btn-guardar:hover {
            background-color: #0b7dda;
        }

        .btn-eliminar {
            background-color: #f44336;
            color: white;
        }

        .btn-eliminar:hover {
            background-color: #d32f2f;
        }

        .btn-cerrar {
            background-color: #757575;
            color: white;
        }

        .btn-cerrar:hover {
            background-color: #616161;
        }

        .btn-agregar-detalle {
            background-color: #4CAF50;
            color: white;
        }

        .btn-agregar-detalle:hover {
            background-color: #45a049;
        }

        .modal-content::-webkit-scrollbar {
            width: 8px;
        }

        .modal-content::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }

        .modal-content::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 4px;
        }

        .modal-content::-webkit-scrollbar-thumb:hover {
            background: #555;
        }

        <!-- Agregar estos estilos en la sección <style> del archivo SuperCaptura.php -->
            .clickeable-detalle, .clickeable-tipo {
                cursor: pointer;
                display: block;
                padding: 5px;
                border-radius: 3px;
                transition: background-color 0.2s;
            }

            .clickeable-detalle:hover, .clickeable-tipo:hover {
                background-color: #e8f4fd;
            }

            .clickeable-detalle:active, .clickeable-tipo:active {
                background-color: #d0e8fb;
            }

            .clickeable-tipo {
                white-space: pre-line;
                line-height: 1.4;
                text-align: left;
                font-size: 12px;
            }

        .btn-eliminar-fila-principal {
            background-color: #f44336;
            color: white;
            border: none;
            border-radius: 4px;
            padding: 5px 10px;
            cursor: pointer;
            font-size: 12px;
            transition: background-color 0.2s;
        }

        .btn-eliminar-fila-principal:hover {
            background-color: #d32f2f;
        }

        .footer-buttons {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 20px;
            flex-wrap: wrap;
        }

        #btnGuardarCambios {
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            padding: 10px 20px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.2s;
        }

        #btnGuardarCambios:hover:not(:disabled) {
            background-color: #45a049;
        }

        #btnGuardarCambios:disabled {
            background-color: #cccccc;
            cursor: not-allowed;
        }

        #btnReporte {
            background-color: #2196F3;
            color: white;
            border: none;
            border-radius: 4px;
            padding: 10px 20px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.2s;
        }

        #btnReporte:hover:not(:disabled) {
            background-color: #0b7dda;
        }

        #btnReporte:disabled {
            background-color: #cccccc;
            cursor: not-allowed;
        }
               .superreportes-page {
                   background-color: #f0f2f5;
               }

               .seccion-reporte {
                   background: white;
                   border-radius: 10px;
                   padding: 20px;
                   margin-bottom: 20px;
                   box-shadow: 0 2px 10px rgba(0,0,0,0.1);
               }

               .titulo-seccion {
                   background-color: #4CAF50;
                   color: white;
                   padding: 15px 20px;
                   border-radius: 8px 8px 0 0;
                   margin: -20px -20px 20px -20px;
                   font-size: 18px;
                   font-weight: bold;
               }

               .grid-reporte {
                   width: 100%;
                   border-collapse: collapse;
                   margin-top: 10px;
               }

               .grid-reporte th {
                   background-color: #4CAF50;
                   color: white;
                   padding: 12px;
                   text-align: center;
                   border: 1px solid #ddd;
               }

               .grid-reporte td {
                   padding: 10px;
                   border: 1px solid #ddd;
                   text-align: center;
               }

               .grid-reporte tr:nth-child(even) {
                   background-color: #f9f9f9;
               }

               .grid-reporte tr:hover {
                   background-color: #f1f1f1;
               }

               .valor-destacado {
                   font-weight: bold;
                   color: #2c5282;
                   font-size: 16px;
               }

               .contenedor-vueltas {
                   display: flex;
                   gap: 20px;
                   flex-wrap: wrap;
               }

               .vuelta-container {
                   flex: 1;
                   min-width: 300px;
               }

               .botones-accion {
                   display: flex;
                   justify-content: center;
                   gap: 20px;
                   margin-top: 30px;
                   padding-top: 20px;
                   border-top: 2px solid #e0e0e0;
               }

               .btn-guardar {
                   background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);
                   color: white;
                   padding: 12px 30px;
                   border: none;
                   border-radius: 25px;
                   font-size: 16px;
                   cursor: pointer;
                   transition: all 0.3s;
               }

               .btn-guardar:hover {
                   background: linear-gradient(135deg, #43A047 0%, #1B5E20 100%);
                   transform: translateY(-2px);
                   box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
               }

               .btn-liberar {
                   background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%);
                   color: white;
                   padding: 12px 30px;
                   border: none;
                   border-radius: 25px;
                   font-size: 16px;
                   cursor: pointer;
                   transition: all 0.3s;
               }

               .btn-liberar:hover {
                   background: linear-gradient(135deg, #FB8C00 0%, #EF6C00 100%);
                   transform: translateY(-2px);
                   box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3);
               }

               .info-invernadero {
                   display: flex;
                   justify-content: space-between;
                   background: white;
                   padding: 15px;
                   border-radius: 10px;
                   margin-bottom: 20px;
                   box-shadow: 0 2px 5px rgba(0,0,0,0.1);
               }

               .info-item {
                   text-align: center;
               }

               .info-label {
                   font-size: 12px;
                   color: #666;
                   margin-bottom: 5px;
               }

               .info-valor {
                   font-size: 18px;
                   font-weight: bold;
                   color: #2c5282;
               }

               .dia-semana {
                   font-weight: bold;
                   color: #2d3748;
                   text-transform: capitalize;
               }

               .sin-datos {
                   color: #999;
                   font-style: italic;
               }

               .resaltar-total {
                   background-color: #e8f5e9 !important;
                   font-weight: bold;
               }

               @media (max-width: 768px) {
                   .contenedor-vueltas {
                       flex-direction: column;
                   }

                   .vuelta-container {
                       min-width: 100%;
                   }

                   .info-invernadero {
                       flex-wrap: wrap;
                       gap: 15px;
                   }
               }
               * {
                   margin: 0;
                   padding: 0;
                   box-sizing: border-box;
                   font-family: Arial, sans-serif;
               }

               body {
                   background-color: #f0f2f5;
                   color: #333;
                   padding: 15px;
                   font-size: 14px;
               }

               .container {
                   max-width: 1300px;
                   margin: 0 auto;
                   background-color: white;
                   border-radius: 8px;
                   box-shadow: 0 2px 8px rgba(0,0,0,0.1);
                   padding: 20px;
               }

               .header {
                   display: flex;
                   justify-content: space-between;
                   align-items: center;
                   margin-bottom: 20px;
                   padding-bottom: 15px;
                   border-bottom: 2px solid #4CAF50;
               }

               .header h1 {
                   color: #2c3e50;
                   font-size: 22px;
               }

               .user-info {
                   text-align: right;
                   color: #555;
                   font-size: 13px;
               }

               .info-panel {
                   background-color: #f8f9fa;
                   border-left: 4px solid #3498db;
                   padding: 12px;
                   margin-bottom: 20px;
                   border-radius: 4px;
                   font-size: 13px;
               }

               .info-grid {
                   display: grid;
                   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
                   gap: 12px;
                   margin-bottom: 20px;
               }

               .info-item {
                   background-color: #e8f4fc;
                   padding: 10px;
                   border-radius: 4px;
                   border-left: 3px solid #3498db;
               }

               .info-item label {
                   display: block;
                   font-size: 11px;
                   color: #666;
                   margin-bottom: 3px;
               }

               .info-item .value {
                   font-size: 16px;
                   font-weight: bold;
                   color: #2c3e50;
               }

               .table-container {
                   overflow-x: auto;
                   margin-bottom: 25px;
                   border: 1px solid #ddd;
                   border-radius: 6px;
                   background-color: white;
               }

               table {
                   width: 100%;
                   border-collapse: collapse;
                   min-width: 900px;
               }

               thead {
                   background-color: #2c3e50;
                   color: white;
               }

               th {
                   padding: 12px 10px;
                   text-align: center;
                   font-weight: 600;
                   font-size: 13px;
                   border-right: 1px solid #34495e;
               }

               th:last-child {
                   border-right: none;
               }

               tbody tr {
                   border-bottom: 1px solid #eee;
               }

               tbody tr:nth-child(even) {
                   background-color: #f9f9f9;
               }

               td {
                   padding: 10px;
                   text-align: center;
                   color: #555;
                   font-size: 13px;
               }

               .totals-row {
                   background-color: #2c3e50 !important;
                   color: white !important;
                   font-weight: bold;
               }

               .totals-row td {
                   color: white !important;
                   font-size: 14px;
                   padding: 12px 10px;
               }

               .status-active {
                   display: inline-block;
                   padding: 4px 10px;
                   background-color: #27ae60;
                   color: white;
                   border-radius: 15px;
                   font-size: 11px;
                   font-weight: 600;
               }

               .btn-container {
                   display: flex;
                   justify-content: center;
                   gap: 15px;
                   margin-top: 25px;
               }

               .btn {
                   padding: 12px 25px;
                   border: none;
                   border-radius: 5px;
                   font-size: 14px;
                   font-weight: 600;
                   cursor: pointer;
                   transition: background-color 0.3s;
                   min-width: 180px;
               }

               .btn-consolidar {
                 background-color: #2196F3;
                 color: white;
                 border: none;
                 border-radius: 4px;
                 padding: 10px 20px;
                 cursor: pointer;
                 font-size: 14px;
                 transition: background-color 0.2s;
               }

               .btn-consolidar:hover {
                   background-color: #d35400;
               }

               .btn-volver {
                   background-color: #7f8c8d;
                   color: white;
               }

               .btn-volver:hover {
                   background-color: #636e72;
               }

               .no-data {
                   text-align: center;
                   padding: 40px 20px;
                   color: #7f8c8d;
                   font-size: 16px;
               }

               .search-info {
                   background-color: #e8f5e9;
                   padding: 10px;
                   border-radius: 4px;
                   margin-bottom: 15px;
                   border-left: 4px solid #4CAF50;
                   font-size: 13px;
               }

               .patron-info {
                   font-family: monospace;
                   background-color: #2c3e50;
                   color: #ecf0f1;
                   padding: 6px 10px;
                   border-radius: 3px;
                   display: inline-block;
                   margin-left: 8px;
                   font-size: 12px;
               }

               .error-message {
                   background-color: #ffeaea;
                   border-left: 4px solid #e74c3c;
                   padding: 12px;
                   margin-bottom: 20px;
                   border-radius: 4px;
                   color: #c0392b;
               }
               #btn-consolidar {
                   background-color: #2196F3;
                   color: white;
                   border: none;
                   border-radius: 4px;
                   padding: 10px 20px;
                   cursor: pointer;
                   font-size: 14px;
                   transition: background-color 0.2s;
               }
               .supercaptura-page .btn-consolidar,
               .btn.btn-consolidar,
               #btn-consolidar {
                   background-color: #2196F3;
                   color: #ffffff;
                   border: none;
                   border-radius: 4px;
                   padding: 10px 20px;
                   cursor: pointer;
                   font-size: 14px;
                   transition: background-color 0.2s, transform 0.12s;
               }

               .supercaptura-page .btn-consolidar:hover,
               .btn.btn-consolidar:hover,
               #btn-consolidar:hover {
                   background-color: #1976d2;
                   transform: translateY(-1px);
               }

               .supercaptura-page .btn-consolidar:disabled,
               .btn.btn-consolidar:disabled,
               #btn-consolidar:disabled {
                   background-color: #cccccc;
                   color: #666666;
                   cursor: not-allowed;
                   transform: none;
               }
