/* =========================================================================
   ADVANCED TABLE CALENDAR
   Visualizzazione Calendario (Mese, Settimana, Giorno)
   ========================================================================= */

.adv-cal-nav-bar { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 10px; 
    padding: 5px 0; 
}

.adv-cal-nav-group { 
    display: flex; 
    gap: 5px; 
    align-items: center; 
}

.adv-cal-view-group { 
    display: flex; 
    gap: 0; 
    border: 1px solid var(--border-color); 
    border-radius: 4px; 
    overflow: hidden; 
    align-items: center; 
}

.adv-cal-wrapper { 
    background: var(--bg-color); 
    border: 1px solid var(--border-color); 
    border-radius: 6px; 
    overflow: hidden; 
}

.adv-cal-month-grid { 
    display: grid; 
    grid-template-columns: repeat(7, 1fr); 
    grid-auto-rows: minmax(100px, auto); 
    background: var(--border-color); 
    gap: 1px; 
}

.adv-cal-month-header { 
    display: grid; 
    grid-template-columns: repeat(7, 1fr); 
    border-bottom: 1px solid var(--border-color); 
    background: var(--sidebar-bg); 
}

.adv-cal-month-header div { 
    padding: 8px; 
    text-align: center; 
    font-weight: bold; 
    font-size: 0.8rem; 
    color: var(--text-secondary); 
}

.adv-cal-day-cell { 
    padding: 5px; 
    display: flex; 
    flex-direction: column; 
    min-width: 0; 
    transition: box-shadow 0.2s; 
}

.adv-cal-day-label { 
    text-align: right; 
    font-size: 0.85rem; 
    margin-bottom: 5px; 
    pointer-events: none; 
}

.adv-cal-day-content { 
    flex: 1; 
    overflow-y: auto; 
    pointer-events: auto; 
}

.adv-cal-event-std { 
    font-size: 0.75rem; 
    padding: 4px 6px; 
    margin-bottom: 4px; 
    border-radius: 3px; 
    color: var(--text-primary); 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    transition: transform 0.1s; 
}

.adv-cal-event-abs { 
    position: absolute; 
    font-size: 0.7rem; 
    padding: 4px 6px; 
    border-radius: 4px; 
    overflow: hidden; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
    z-index: 10; 
    box-sizing: border-box; 
}

.adv-cal-abs-time { 
    font-weight: bold; 
    font-size: 0.65rem; 
    opacity: 0.8; 
    margin-bottom: 2px; 
    pointer-events: none; 
}

.adv-cal-abs-title { 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    pointer-events: none; 
}

.adv-cal-week-container { 
    display: flex; 
    flex-direction: column; 
    height: 600px; 
    border-top: 1px solid var(--border-color); 
}

.adv-cal-week-header { 
    display: flex; 
    border-bottom: 1px solid var(--border-color); 
    background: var(--sidebar-bg); 
    z-index: 20; 
}

.adv-cal-week-days { 
    display: grid; 
    grid-template-columns: repeat(7, 1fr); 
    flex: 1; 
    gap: 1px; 
    background: var(--border-color); 
}

.adv-cal-week-body { 
    display: grid; 
    grid-template-columns: repeat(7, 1fr); 
    background: var(--border-color); 
    gap: 1px; 
    flex: 1; 
    position: relative; 
}