.rbc-calendar{font-family:var(--theme-fontFamily,"Inter, -apple-system, BlinkMacSystemFont, sans-serif");background:transparent;color:var(--color-on-card);border-radius:0;border:none;overflow:hidden}.rbc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:1rem;background:var(--color-secondary);border-bottom:1px solid var(--color-border);gap:.5rem}.rbc-toolbar button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:var(--theme-fontSize-sm,14px);font-weight:var(--theme-fontWeight-medium,500);color:var(--color-on-surface);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:all .2s ease;cursor:pointer}.rbc-toolbar button:hover{background:var(--color-accent);color:var(--color-on-accent)}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.rbc-toolbar .rbc-btn-group .rbc-active{font-weight:var(--theme-fontWeight-semibold,600);box-shadow:0 0 0 1px var(--color-primary) inset}.rbc-toolbar .rbc-btn-group .rbc-active:hover{background:var(--color-primary);color:var(--color-on-primary)}.rbc-toolbar-label{font-size:var(--theme-fontSize-lg,18px);font-weight:var(--theme-fontWeight-semibold,600);color:var(--color-on-surface)}.rbc-month-view{border:1px solid var(--color-border);background:var(--color-card)}.rbc-month-header{background:var(--color-secondary);border-bottom:1px solid var(--color-border)}.rbc-header{padding:.75rem .5rem;font-size:var(--theme-fontSize-sm,14px);font-weight:var(--theme-fontWeight-medium,500);color:var(--color-on-surface-muted);text-align:center}.rbc-date-cell,.rbc-header{border-right:1px solid var(--color-border)}.rbc-date-cell{border-bottom:1px solid var(--color-border);min-height:2rem}.rbc-day-bg{background:var(--color-card)!important}.rbc-day-bg.rbc-off-range-bg{background:color-mix(in oklch,var(--color-primary),transparent 95%)!important}.rbc-day-bg.rbc-today{background:color-mix(in oklch,var(--color-primary),transparent 85%)!important}.rbc-day-bg.rbc-selected-cell{background:color-mix(in oklch,var(--color-primary),transparent 80%)!important}.rbc-date-cell button{width:100%;padding:.5rem;text-align:left;font-size:var(--theme-fontSize-sm,14px);color:var(--color-on-surface);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.rbc-date-cell button:hover{background:color-mix(in oklch,var(--color-accent),transparent 50%);color:var(--color-on-accent)}.rbc-date-cell.rbc-off-range button{color:var(--color-on-surface-muted)}.rbc-date-cell.rbc-now button{color:var(--color-on-surface);font-weight:var(--theme-fontWeight-semibold,600)}.rbc-date-cell.rbc-selected button{color:var(--color-on-surface)}.rbc-time-view{border:1px solid var(--color-border);background:var(--color-card)}.rbc-time-header{border-bottom:1px solid var(--color-border);background:var(--color-secondary)}.rbc-time-content{border-left:1px solid var(--color-border);background:var(--color-card)}.rbc-time-gutter{background:var(--color-secondary);color:var(--color-on-surface-muted)}.rbc-timeslot-group{border-bottom:1px solid var(--color-border)}.rbc-time-slot{border-right:1px solid var(--color-border);background:var(--color-card)}.rbc-current-time-indicator{background:var(--color-danger)}.rbc-day-bg.rbc-today,.rbc-time-view .rbc-day-slot.rbc-now{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--color-primary),transparent 10%)}.rbc-time-header .rbc-header.rbc-today{box-shadow:inset 0 -2px 0 0 color-mix(in oklch,var(--color-primary),transparent 10%)}.dark .rbc-time-slot{border-right-color:color-mix(in oklch,var(--color-border),transparent 65%)}.dark .rbc-time-header,.dark .rbc-timeslot-group{border-bottom-color:color-mix(in oklch,var(--color-border),transparent 65%)}.dark .rbc-time-content{border-left-color:color-mix(in oklch,var(--color-border),transparent 65%)}.dark .rbc-month-view{border-color:color-mix(in oklch,var(--color-border),transparent 75%)}.dark .rbc-month-view .rbc-month-header{border-bottom-color:color-mix(in oklch,var(--color-border),transparent 75%)}.dark .rbc-month-view .rbc-date-cell,.dark .rbc-month-view .rbc-header{border-right-color:color-mix(in oklch,var(--color-border),transparent 78%)}.dark .rbc-month-view .rbc-date-cell{border-bottom-color:color-mix(in oklch,var(--color-border),transparent 78%)}.dark .annual-month .rbc-date-cell,.dark .annual-month .rbc-header{border-right-color:color-mix(in oklch,var(--color-border),transparent 78%)}.dark .annual-month .rbc-date-cell{border-bottom-color:color-mix(in oklch,var(--color-border),transparent 78%)}.rbc-event{font-size:.75rem;font-weight:600;border-radius:var(--radius);border-left:3px solid var(--color-primary);padding:.25rem .5rem;background:var(--color-secondary);color:var(--color-on-surface);transition:all .2s ease}.rbc-event:focus{outline:none}.rbc-event.rbc-selected,.rbc-event:focus{box-shadow:0 0 0 2px var(--color-focus-ring)}.rbc-event.rbc-selected{background:color-mix(in oklch,var(--color-primary),transparent 80%)}.rbc-event-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-allday-cell{background:var(--color-secondary);border-bottom:1px solid var(--color-border);color:var(--color-on-surface-muted)}.rbc-row-content{position:relative}.rbc-agenda-view{border:1px solid var(--color-border);background:var(--color-card)}.rbc-agenda-view table{width:100%}.rbc-agenda-view .rbc-agenda-date-cell{font-weight:500;background:var(--color-secondary)}.rbc-agenda-view .rbc-agenda-date-cell,.rbc-agenda-view .rbc-agenda-time-cell{padding:.75rem;font-size:.875rem;color:var(--color-on-surface-muted);border-bottom:1px solid var(--color-border)}.rbc-agenda-view .rbc-agenda-event-cell{padding:.75rem;font-size:.875rem;color:var(--color-on-surface);border-bottom:1px solid var(--color-border)}.rbc-overlay{position:absolute;z-index:400;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 10px 15px -3px color-mix(in oklch,var(--color-on-surface),transparent 92%),0 4px 6px -2px color-mix(in oklch,var(--color-on-surface),transparent 96%);isolation:isolate;overflow:hidden}.rbc-overlay,.rbc-overlay>*{background:var(--color-card)!important}.rbc-overlay>*{position:relative;z-index:1}.rbc-overlay-header{padding:.75rem;border-bottom:1px solid var(--color-border);background:var(--color-card)!important;color:var(--color-on-surface)}.rbc-show-more{color:var(--color-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:color .2s ease}.rbc-show-more:hover{color:color-mix(in oklch,var(--color-primary),transparent 20%)}.rbc-addons-dnd .rbc-event{cursor:move}.rbc-addons-dnd .rbc-event:hover{opacity:.8}.rbc-addons-dnd-drag-preview{opacity:.5}.rbc-addons-dnd-over{background:color-mix(in oklch,var(--color-primary),transparent 90%)}.rbc-addons-dnd .rbc-event .rbc-addons-dnd-resize-ns-anchor{position:absolute;left:0;right:0;height:.25rem;cursor:ns-resize}.rbc-addons-dnd .rbc-event .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-event .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-calendar.loading{opacity:.5;pointer-events:none}.rbc-event.status-default{border-left-color:var(--color-primary)}.rbc-event.status-confirmed,.rbc-event.status-default{background:var(--color-secondary);color:var(--color-on-surface)}.rbc-event.status-confirmed{border-left-color:#3b82f6}.rbc-event.status-tentative{border-left-color:#eab308}.rbc-event.status-cancelled,.rbc-event.status-tentative{background:var(--color-secondary);color:var(--color-on-surface)}.rbc-event.status-cancelled{border-left-color:var(--color-danger)}.calendar-annual-widget{padding:1rem}.annual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.annual-title{font-size:2rem;font-weight:700;color:var(--color-on-surface);margin:0}.annual-navigation{display:flex;gap:.5rem}.annual-nav-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-on-surface);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:all .2s ease;cursor:pointer;text-decoration:none}.annual-nav-button:hover{background:var(--color-accent);color:var(--color-on-accent)}.annual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:100%}.annual-month{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:all .2s ease;cursor:pointer}.annual-month:hover{box-shadow:0 4px 6px -1px color-mix(in oklch,var(--color-on-surface),transparent 90%),0 2px 4px -1px color-mix(in oklch,var(--color-on-surface),transparent 94%);transform:translateY(-1px)}.annual-month-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-secondary);border-bottom:1px solid var(--color-border)}.annual-month-title{font-size:1rem;font-weight:600;color:var(--color-on-surface);margin:0}.annual-event-count{font-size:.75rem;color:var(--color-on-surface-muted);background:var(--color-surface);padding:.25rem .5rem;border-radius:calc(var(--radius) / 2);border:1px solid var(--color-border)}.annual-month-calendar{position:relative;height:240px}.annual-month-loading{display:flex;align-items:center;justify-content:center;height:100%}.loading-spinner-small{width:1rem;height:1rem;border-top:2px solid var(--color-secondary);border:2px solid var(--color-secondary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.annual-month .rbc-calendar{border:none;background:transparent}.annual-month .rbc-month-view{border:none;align-content:flex-start}.annual-month .rbc-month-row{flex:none;height:36px;min-height:36px;max-height:36px;overflow:hidden}.annual-month .rbc-header{padding:.25rem;font-size:.75rem;background:transparent;border-right:1px solid var(--color-border)}.annual-month .rbc-date-cell{min-height:1.5rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.annual-month .rbc-date-cell button{padding:.125rem;font-size:.75rem}.annual-month .rbc-event{margin:1px 0;border-radius:2px;line-height:1}.annual-month .rbc-event,.annual-month .rbc-show-more{font-size:.625rem;padding:1px 2px}.annual-month .rbc-event.status-default{background:var(--color-secondary);border-left-color:var(--color-primary);color:var(--color-on-surface)}.annual-month .rbc-event.status-confirmed{background:var(--color-secondary);border-left-color:#3b82f6;color:var(--color-on-surface)}.annual-month .rbc-event.status-tentative{background:var(--color-secondary);border-left-color:#eab308;color:var(--color-on-surface)}.annual-month .rbc-event.status-cancelled{background:var(--color-secondary);border-left-color:var(--color-danger);color:var(--color-on-surface)}@media (max-width:768px){.rbc-toolbar{flex-direction:column;gap:.5rem}.rbc-toolbar button{font-size:.75rem;padding:.5rem}.rbc-toolbar-label{font-size:1rem}.rbc-event{font-size:.75rem;padding:.125rem .25rem}.annual-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.annual-header{flex-direction:column;gap:1rem;text-align:center}.annual-title{font-size:1.5rem}.annual-month-calendar{height:180px}}.year-calendar-container{display:flex;flex-direction:column;height:100%;background:var(--color-card);border-radius:var(--radius);overflow:hidden}.year-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--color-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.year-title{font-size:1.5rem;font-weight:700;color:var(--color-on-surface);margin:0}.year-nav-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-on-surface-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.year-nav-button:hover{background:var(--color-accent);border-color:var(--color-border);color:var(--color-on-surface)}.year-calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:1rem;color:var(--color-on-surface-muted)}.year-calendar-table{flex:1;display:flex;flex-direction:column;overflow:auto}.year-table-header{display:grid;grid-template-columns:120px repeat(7,1fr);background:var(--color-secondary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.month-name-header,.weekday-header{padding:.75rem .5rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--color-on-surface);border-right:1px solid var(--color-border)}.month-name-header{text-align:left;padding-left:1rem}.weekday-header.weekend{background:color-mix(in oklch,var(--color-secondary),transparent 50%);color:var(--color-on-surface-muted)}.year-table-body{flex:1}.year-table-row{display:grid;grid-template-columns:120px repeat(7,1fr);border-bottom:1px solid var(--color-border);min-height:2.5rem}.month-name-cell{background:var(--color-secondary);padding:.5rem 1rem;font-weight:600;font-size:.875rem;color:var(--color-on-surface);display:flex;align-items:center;border-right:1px solid var(--color-border);position:sticky;left:0;z-index:5}.year-day-cell{background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;padding:.25rem;border-right:1px solid color-mix(in oklch,var(--color-border),transparent 50%);min-height:2.5rem}.year-day-cell:hover{background:var(--color-accent)}.year-day-cell.empty-day{background:color-mix(in oklch,var(--color-secondary),transparent 70%);cursor:default}.year-day-cell.today{background:color-mix(in oklch,var(--color-primary),transparent 90%);color:var(--color-primary);font-weight:600;box-shadow:inset 0 0 0 2px var(--color-primary)}.year-day-cell.weekend{background:color-mix(in oklch,var(--color-secondary),transparent 50%)}.year-day-cell.weekend.today{background:color-mix(in oklch,var(--color-primary),transparent 90%)}.year-day-cell.has-events{font-weight:500}.day-number{font-size:.875rem;line-height:1;margin-bottom:2px}.event-indicators{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;max-width:100%;margin-top:auto}.event-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);cursor:pointer;transition:transform .2s ease}.event-dot:hover{transform:scale(1.2)}.event-more{font-size:.625rem;color:var(--color-on-surface-muted);font-weight:500;margin-left:2px}@media (max-width:1024px){.year-table-header,.year-table-row{grid-template-columns:100px repeat(7,1fr)}.month-name-cell,.month-name-header{padding-left:.75rem;font-size:.8rem}}@media (max-width:768px){.year-table-header,.year-table-row{grid-template-columns:80px repeat(7,1fr)}.month-name-cell,.month-name-header{padding-left:.5rem;font-size:.75rem}.weekday-header{padding:.5rem .25rem;font-size:.75rem}.year-day-cell{min-height:2rem;padding:.125rem}.day-number{font-size:.75rem}.event-dot{width:4px;height:4px}}@media (max-width:640px){.year-calendar-header{padding:.75rem 1rem}.year-title{font-size:1.25rem}.year-nav-button{padding:.375rem .75rem;font-size:.8rem}.year-table-header,.year-table-row{grid-template-columns:70px repeat(7,1fr)}.month-name-cell,.month-name-header{padding:.375rem .25rem;font-size:.7rem}.weekday-header{padding:.375rem .125rem;font-size:.7rem}.year-day-cell{min-height:1.75rem;padding:.1rem}.day-number{font-size:.7rem}}.cal-view-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-muted);transition:background .15s ease,color .15s ease}.cal-view-btn:hover{color:var(--color-on-surface);background:var(--color-secondary)}.cal-view-btn[aria-pressed=true]{background:color-mix(in oklch,var(--color-primary),transparent 85%);color:var(--color-on-surface);font-weight:var(--font-weight-semibold)}