:root,.light{--cal-primary-color:#3b82f6;--cal-primary-hover:#2563eb;--cal-border-color:#e5e7eb;--cal-bg-color:#fff;--cal-text-color:#111827;--cal-event-bg:#3b82f6;--cal-event-text:#fff;--cal-selected-bg:#dbeafe;--cal-selected-text:#1e40af;--cal-hover-bg:#f3f4f6;--cal-slot-height:60px;--cal-time-column-width:80px;--cal-day-header-height:40px;--cal-toolbar-height:56px;transition:background-color .2s,color .2s,border-color .2s}.dark{--cal-primary-color:#60a5fa;--cal-primary-hover:#3b82f6;--cal-border-color:#475569;--cal-bg-color:#1e293b;--cal-text-color:#f1f5f9;--cal-event-bg:#3b82f6;--cal-event-text:#fff;--cal-selected-bg:#1e3a8a;--cal-selected-text:#93c5fd;--cal-hover-bg:#334155;--cal-slot-height:60px;--cal-time-column-width:80px;--cal-day-header-height:40px;--cal-toolbar-height:56px;transition:background-color .2s,color .2s,border-color .2s}.cal-root{width:100%;min-width:0;max-width:100%;height:100%;color:var(--cal-text-color);background-color:var(--cal-bg-color);flex-direction:column;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s,color .2s;display:flex}.cal-root[dir=rtl]{direction:rtl}.cal-toolbar{border-bottom:1px solid var(--cal-border-color);height:var(--cal-toolbar-height);background-color:var(--cal-bg-color);justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background-color .2s,border-color .2s;display:flex}.cal-toolbar-group{align-items:center;gap:.5rem;display:flex}.cal-toolbar-button{border:1px solid var(--cal-border-color);background-color:var(--cal-bg-color);color:var(--cal-text-color);cursor:pointer;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.cal-toolbar-button:hover{background-color:var(--cal-hover-bg);border-color:var(--cal-primary-color)}.cal-toolbar-button:active{transform:scale(.98)}.cal-toolbar-button:disabled{opacity:.5;cursor:not-allowed}.cal-view-switcher{border:1px solid var(--cal-border-color);background-color:var(--cal-bg-color);border-radius:.375rem;gap:.25rem;padding:.25rem;transition:background-color .2s,border-color .2s;display:flex}.cal-view-button{color:var(--cal-text-color);cursor:pointer;background-color:#0000;border:none;border-radius:.25rem;padding:.375rem .75rem;font-size:.875rem;transition:all .2s}.cal-view-button:hover{background-color:var(--cal-hover-bg)}.cal-view-button.active{background-color:var(--cal-primary-color);color:var(--cal-event-text);box-shadow:0 2px 4px #0000001a}.cal-view-container{flex:1;min-width:0;max-width:100%;position:relative;overflow:auto}.cal-time-column{z-index:10;background-color:var(--cal-bg-color);border-right:1px solid var(--cal-border-color);width:var(--cal-time-column-width);transition:background-color .2s,border-color .2s;position:sticky;left:0}.cal-time-slot{height:var(--cal-slot-height);color:var(--cal-text-color);opacity:.7;justify-content:flex-end;align-items:flex-start;padding:.25rem .5rem;font-size:.75rem;display:flex}.cal-time-slot-label{margin-top:-.5rem}.cal-grid-cell{min-height:var(--cal-slot-height);border-bottom:1px solid var(--cal-border-color);border-inline-end:1px solid var(--cal-border-color);cursor:pointer;transition:background-color .15s,border-color .2s;position:relative}.cal-grid-cell:hover{background-color:var(--cal-hover-bg)}.cal-grid-cell.cal-selected{background-color:var(--cal-selected-bg)}.cal-grid-cell.cal-focus{outline:2px solid var(--cal-primary-color);outline-offset:-2px}.cal-event-block{background-color:var(--cal-event-bg);color:var(--cal-event-text);cursor:pointer;z-index:5;border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.4;transition:all .2s;position:absolute;left:0;right:0;overflow:hidden}.cal-event-block:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.cal-now-indicator{z-index:6;pointer-events:none;border-top:2px solid #ef4444;height:0;position:absolute;left:0;right:0}.cal-now-indicator:before{content:"";background-color:#ef4444;border-radius:9999px;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.cal-event-block.cal-selected{outline:2px solid var(--cal-selected-text);outline-offset:2px}.cal-event-block.cal-dragging{opacity:.5;cursor:grabbing}.cal-event-block.cal-resizing{cursor:ns-resize}.cal-event-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.cal-event-time{opacity:.9;margin-top:.125rem;font-size:.75rem}.cal-multi-day-start{border-start-start-radius:.25rem;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:.25rem}.cal-multi-day-end{border-start-start-radius:0;border-start-end-radius:.25rem;border-end-end-radius:.25rem;border-end-start-radius:0}.cal-multi-day-middle{border-radius:0}.cal-all-day-row{border-bottom:2px solid var(--cal-border-color);background-color:var(--cal-bg-color);min-height:3rem;transition:background-color .2s,border-color .2s;display:flex;position:relative}.cal-all-day-label{z-index:10;width:var(--cal-time-column-width);border-right:1px solid var(--cal-border-color);background-color:var(--cal-bg-color);text-transform:uppercase;color:var(--cal-text-color);opacity:.7;padding:.5rem;font-size:.75rem;font-weight:500;position:sticky;left:0}.cal-all-day-events{flex:1;min-height:3rem;display:flex;position:relative}.cal-day-header{border-bottom:1px solid var(--cal-border-color);border-inline-end:1px solid var(--cal-border-color);background-color:var(--cal-bg-color);min-height:var(--cal-day-header-height);flex-direction:column;justify-content:center;align-items:center;padding:.5rem;font-size:.875rem;transition:background-color .2s,border-color .2s,color .2s;display:flex}.cal-day-name{opacity:.7;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem}.cal-day-number{font-size:1.125rem;font-weight:600}.cal-day-header.cal-today{background-color:var(--cal-primary-color);color:var(--cal-event-text)}.cal-day-header.cal-today .cal-day-name,.cal-day-header.cal-today .cal-day-number{color:var(--cal-event-text)}.cal-month-grid{flex:1;grid-template-columns:repeat(7,1fr);display:grid}.cal-month-cell{border-bottom:1px solid var(--cal-border-color);border-inline-end:1px solid var(--cal-border-color);background-color:var(--cal-bg-color);min-height:6rem;padding:.5rem;transition:background-color .2s,border-color .2s,opacity .2s;position:relative}.cal-month-cell.cal-other-month{opacity:.4;background-color:var(--cal-hover-bg)}.cal-month-cell.cal-today{background-color:var(--cal-selected-bg)}.cal-month-cell-number{margin-bottom:.25rem;font-weight:600}.cal-month-events{flex-direction:column;gap:.125rem;margin-top:.25rem;display:flex}.cal-month-event{background-color:var(--cal-event-bg);color:var(--cal-event-text);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:.125rem;padding:.125rem .25rem;font-size:.75rem;overflow:hidden}.cal-resize-handle{cursor:ns-resize;z-index:10;height:4px;position:absolute;left:0;right:0}.cal-resize-handle-top{top:0}.cal-resize-handle-bottom{bottom:0}.cal-resize-handle:hover{background-color:#ffffff80}.dark .cal-resize-handle:hover{background-color:#fff3}.cal-loading{min-height:400px;color:var(--cal-text-color);opacity:.7;justify-content:center;align-items:center;display:flex}.cal-empty{min-height:400px;color:var(--cal-text-color);opacity:.5;flex-direction:column;justify-content:center;align-items:center;display:flex}.cal-empty-message{margin-top:.5rem;font-size:.875rem}.cal-root[dir=rtl] .cal-time-column,.cal-root[dir=rtl] .cal-all-day-label{border-right:none;border-left:1px solid var(--cal-border-color);left:auto;right:0}@media (width<=767px){.cal-time-column,.cal-all-day-label{width:60px}.cal-toolbar{height:auto;min-height:var(--cal-toolbar-height);flex-wrap:wrap;gap:.5rem}.cal-toolbar-button,.cal-view-button{min-height:2.75rem}.cal-view-switcher{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.cal-week-view,.cal-work-week-view,.cal-timeline-view{min-width:42rem}.cal-month-cell{min-height:3.25rem;padding:.15rem}.cal-month-event,.cal-day-name{font-size:.65rem}}.cal-root:focus-within .cal-focus{outline:2px solid var(--cal-primary-color);outline-offset:-2px}@media print{.cal-toolbar{display:none}.cal-event-block{break-inside:avoid}}.cal-grid-cell.cal-slot-selected{background-color:#3b82f626!important;border-color:#3b82f680!important}.dark .cal-grid-cell.cal-slot-selected{background-color:#60a5fa33!important;border-color:#60a5fa99!important}.cal-grid-cell.cal-slot-selected:hover{background-color:#3b82f640!important}.dark .cal-grid-cell.cal-slot-selected:hover{background-color:#60a5fa4d!important}
