.judging-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(85px, 1fr)); 
    gap: 15px; 
    padding: 20px; 
}
.contestant-card { 
    aspect-ratio: 1/1; 
    border: 3px solid #ccc; 
    border-radius: 12px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-weight: 900; 
    font-size: 28px; 
    background: #fff; 
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    transition: all 0.2s ease;
}
.contestant-card.active { 
    background: #2ecc71; 
    color: #fff; 
    border-color: #27ae60; 
    transform: scale(1.05);
}
.sticky-header { 
    position: sticky; 
    top: 0; 
    background: #fff; 
    z-index: 10; 
    padding: 15px; 
    border-bottom: 2px solid #eee; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); 
}
.sticky-header select { 
    width: 100%; 
    padding: 10px; 
    border-radius: 6px; 
    border: 1px solid #ddd; 
    font-size: 14px;
}