.calendar-wrapper{background-color:hsl(var(--card));max-width:80rem;color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:1rem;margin:4rem auto;padding:2rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.calendar-title{font-size:1.5rem;font-weight:700}.nav-btn{cursor:pointer;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:.25rem;padding:.25rem .75rem;transition:opacity .2s}.nav-btn:hover{opacity:.85}.calendar-weekdays{text-align:center;border-bottom:1px solid hsl(var(--border));grid-template-columns:repeat(7,1fr);padding:.5rem 0;font-weight:600;display:grid}.calendar-grid{border-left:1px solid hsl(var(--border));border-top:1px solid hsl(var(--border));grid-template-columns:repeat(7,1fr);display:grid}.calendar-cell{border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));flex-direction:column;min-height:7rem;transition:background-color .2s;display:flex;position:relative}.calendar-day{margin-bottom:.25rem;padding:.25rem;font-size:.875rem;font-weight:600}.calendar-event{text-align:center;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:.25rem;margin:.25rem;padding:.1rem .25rem;font-size:.75rem;transition:opacity .2s;position:relative;overflow:hidden}.calendar-event:hover{opacity:.85}.calendar-cell-today{background-color:hsl(var(--primary) / .12);font-weight:700}
