#calendar {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
}

#calendar th, #calendar td {
    padding: 0.75rem;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

#calendar th {
    background-color: var(--primary-color);
    color: white;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9rem;
}

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

.date-cell {
    background-color: #e6e6e6;
    font-weight: bold;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.impact-indicator {
    width: 12px;
    height: 12px;
    display: inline-block;
    margin-right: 5px;
    border-radius: 50%;
    border: 2px solid white;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
}

.impact-low { 
    background-color: var(--low-impact);
}
.impact-medium { 
    background-color: var(--medium-impact);
}
.impact-high { 
    background-color: var(--high-impact);
}

.event-title {
    cursor: pointer;
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.event-title:hover {
    color: #2a2a4c;
    text-decoration: underline;
}

@media (max-width: 768px) {
    #calendar {
        font-size: 0.9rem;
    }
    
    #calendar th, #calendar td {
        padding: 0.5rem;
    }
}
