.appointment-calendar{--rbc-primary:hsl(var(--primary));--rbc-border:hsl(var(--border));--rbc-background:hsl(var(--background));--rbc-foreground:hsl(var(--foreground));--rbc-muted:hsl(var(--muted));--rbc-muted-foreground:hsl(var(--muted-foreground))}.appointment-calendar .rbc-calendar{font-family:inherit;color:var(--rbc-foreground)}.appointment-calendar .rbc-header{padding:.75rem .5rem;font-weight:600;font-size:.875rem;color:var(--rbc-foreground);border-bottom:1px solid var(--rbc-border);background-color:var(--rbc-muted);display:flex;align-items:center;justify-content:center}.appointment-calendar .rbc-header .rbc-button-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.appointment-calendar .rbc-header+.rbc-header{border-left:1px solid var(--rbc-border)}.appointment-calendar .rbc-toolbar{padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rbc-border)}.appointment-calendar .rbc-toolbar button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid var(--rbc-border);background-color:var(--rbc-background);color:var(--rbc-foreground);border-radius:.375rem;cursor:pointer;transition:all .2s}.appointment-calendar .rbc-toolbar button:hover{background-color:var(--rbc-muted)}.appointment-calendar .rbc-toolbar button.rbc-active,.appointment-calendar .rbc-toolbar button:active{background-color:var(--rbc-primary);color:white;border-color:var(--rbc-primary)}.appointment-calendar .rbc-toolbar-label{font-size:1.125rem;font-weight:600;color:var(--rbc-foreground)}.appointment-calendar .rbc-time-slot{border-top:1px solid var(--rbc-border);min-height:15px}.appointment-calendar .rbc-time-header-content{border-left:1px solid var(--rbc-border)}.appointment-calendar .rbc-time-content{border-top:1px solid var(--rbc-border)}.appointment-calendar .rbc-day-slot .rbc-time-slot{border-top:1px solid hsl(var(--border)/.3)}.appointment-calendar .rbc-time-gutter{font-size:.75rem;color:var(--rbc-muted-foreground)}.appointment-calendar .rbc-day-slot,.appointment-calendar .rbc-timeslot-group{border-left:1px solid var(--rbc-border)}.appointment-calendar .rbc-day-slot:first-child{border-left:none}.appointment-calendar .rbc-current-time-indicator{background-color:var(--rbc-primary);height:2px}.appointment-calendar .rbc-today{background-color:hsl(var(--primary)/.05)}.appointment-calendar .rbc-event{padding:.25rem .375rem;border-radius:.25rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.appointment-calendar .rbc-event:hover{opacity:.9;transform:scale(1.02)}.appointment-calendar .rbc-event-label{font-size:.75rem;font-weight:600}.appointment-calendar .rbc-event-content{line-height:1.3}.appointment-calendar .rbc-selected{box-shadow:0 0 0 2px var(--rbc-background),0 0 0 4px var(--rbc-primary)}.appointment-calendar .rbc-off-range{color:var(--rbc-muted-foreground)}.appointment-calendar .rbc-off-range-bg{background-color:hsl(var(--muted)/.3)}.appointment-calendar .rbc-month-view{border:1px solid var(--rbc-border);border-radius:.5rem;overflow:hidden}.appointment-calendar .rbc-month-row{border-top:1px solid var(--rbc-border);overflow:visible}.appointment-calendar .rbc-date-cell{padding:.5rem;text-align:right}.appointment-calendar .rbc-now .rbc-button-link{font-weight:700;color:var(--rbc-primary)}.appointment-calendar .rbc-show-more{font-size:.75rem;color:var(--rbc-primary);cursor:pointer;padding:.125rem .25rem;margin-top:.25rem}.appointment-calendar .rbc-show-more:hover{text-decoration:underline}@media (max-width:768px){.appointment-calendar .rbc-toolbar{flex-direction:column;align-items:stretch}.appointment-calendar .rbc-toolbar button{width:100%}.appointment-calendar .rbc-toolbar-label{text-align:center;margin:.5rem 0}}.appointment-calendar .rbc-agenda-view{border:1px solid var(--rbc-border);border-radius:.5rem;overflow:hidden}.appointment-calendar .rbc-agenda-table{border-spacing:0}.appointment-calendar .rbc-agenda-table tbody>tr>td{padding:.5rem 1rem;border-top:1px solid var(--rbc-border)}.appointment-calendar .rbc-agenda-table tbody>tr>td+td{border-left:1px solid var(--rbc-border)}.appointment-calendar .rbc-agenda-date-cell,.appointment-calendar .rbc-agenda-time-cell{white-space:nowrap;font-size:.875rem;color:var(--rbc-muted-foreground)}.appointment-calendar .rbc-agenda-event-cell{font-size:.875rem}.appointment-calendar .rbc-time-header{background-color:var(--rbc-background)}.appointment-calendar .rbc-time-header-gutter{border-right:1px solid var(--rbc-border)}.appointment-calendar .rbc-overlay{background-color:var(--rbc-background);border:1px solid var(--rbc-border);border-radius:.5rem;box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);padding:.5rem}.appointment-calendar .rbc-overlay-header{padding:.5rem;font-weight:600;border-bottom:1px solid var(--rbc-border);margin-bottom:.5rem}