.matrix-table th.matrix-row-header {
    background-color: #f8f9fa;
    width: 150px;
    vertical-align: middle;
    position: sticky;
    left: 0;
    z-index: 10; /* Aumentado para estar por encima de todo */
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
    color: #212529; /* Color de texto oscuro expl¨ªcito (casi negro) */
    font-weight: 600;
}

.matrix-table th {
    background-color: #198754;
    color: white;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    min-width: 150px;
    /* Asegurar que los headers de columnas no tapen la columna sticky */
    position: relative; 
    z-index: 1;
}

/* Fix espec¨ªfico para la intersecci¨®n de cabeceras sticky */
.matrix-table thead th:first-child {
    z-index: 11; /* La celda "Semana" (top-left) debe ser la m¨¢s alta */
    background-color: #198754; /* Mismo color que el resto del header */
    color: white;
}

.matrix-cell-owned {
    background-color: #d1e7dd; /* light green */
    text-align: center;
    vertical-align: middle;
    cursor: pointer; /* Clickable */
    transition: background-color 0.2s;
    min-width: 120px;
}
.matrix-cell-owned:hover {
    background-color: #a3cfbb; /* Darker green on hover */
}

.matrix-cell-missing {
    background-color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer; /* Clickable */
    transition: background-color 0.2s;
    min-width: 120px;
}
.matrix-cell-missing:hover {
    background-color: #f8d7da; /* Light red on hover */
}

.status-chip {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: bold;
}

.status-yes {
    background-color: #198754;
    color: white;
}

.status-no {
    background-color: #dc3545;
    color: white;
}

.badge-discipline {
    font-size: 0.7rem;
    position: absolute;
    top: 10px;
    right: 10px;
}

/* Scrollbar personalizado para listas */
.custom-scroll::-webkit-scrollbar {
    width: 8px;
}
.custom-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.custom-scroll::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}
.custom-scroll::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Mobile Tweaks */
@media (max-width: 768px) {
    .matrix-table th.matrix-row-header {
        width: 80px; /* Reducido para m¨®viles */
        min-width: 80px;
        font-size: 0.75rem;
        padding: 4px;
        white-space: normal; /* Permitir saltos de l¨ªnea */
        line-height: 1.2;
    }
    .status-chip {
        padding: 1px 6px;
        font-size: 0.7rem;
    }
    /* Ajuste para que la tabla no se rompa */
    .matrix-cell-owned, .matrix-cell-missing {
        min-width: 100px;
    }
}

.current-week-row {
    background-color: #fff3cd !important; /* Amarillo suave para resaltar */
    border: 2px solid #ffc107 !important;
}
.current-week-label {
    font-weight: bold;
    color: #856404;
}
