#calendarSection {
    margin:             5px;
    width:              calc(100% - 12px);
}

#eventsTable {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

#eventsTable th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #555;
}

.month-header td {
    background-color: #4a4a4a;
    color: #ffffff;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 10px;
    text-align: left;
}

#eventsTable tr:hover {
    background-color:   #cacaca;
}

.cat-cell {
    position:           relative;
    text-align:         center;
    cursor:             default;
}

.cat-cell .cat-tooltip {
    visibility:         hidden;
    opacity:            0;
    background:         #333333;
    color:              white;
    border-radius:      6px;
    padding:            6px 10px;
    position:           fixed;
    white-space:        nowrap;
    font-family:        'Nunito', sans-serif;
    font-size:          11px;
    z-index:            9999;
    transition:         opacity 0.1s;
    pointer-events:     none;
    top:                auto;
    left:               auto;
    transform:          none;
}

.cat-cell:hover .cat-tooltip {
    visibility:         visible;
    opacity:            1;
}

.event-row {
    border-left: 4px solid transparent;
    transition: background-color 0.15s;
}

.event-row:hover {
    filter: brightness(0.97);
}

.status-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.status-confirmed { background-color: #2e7d32; }
.status-pending   { background-color: #f9a825; }