.ko-calendar.svelte-12c4iev{max-width:800px;margin:0 auto;padding:var(--ko-space-lg)}.ko-calendar__header.svelte-12c4iev{margin-bottom:var(--ko-space-lg)}.ko-calendar__header.svelte-12c4iev h1:where(.svelte-12c4iev){font-size:var(--ko-font-2xl);font-weight:700;margin:0}.ko-calendar__filters.svelte-12c4iev{display:flex;justify-content:space-between;align-items:center;gap:var(--ko-space-md);margin-bottom:var(--ko-space-xl);flex-wrap:wrap}.ko-calendar__filter-group.svelte-12c4iev{display:flex;gap:var(--ko-space-xs);background:var(--ko-bg);border-radius:var(--ko-radius-md);padding:2px}.ko-calendar__filter-btn.svelte-12c4iev{padding:var(--ko-space-xs) var(--ko-space-md);border:none;border-radius:var(--ko-radius-md);background:transparent;color:var(--ko-text-muted);font-size:var(--ko-font-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.ko-calendar__filter-btn.svelte-12c4iev:hover{color:var(--ko-text)}.ko-calendar__filter-btn--active.svelte-12c4iev{background:var(--ko-surface);color:var(--ko-text);box-shadow:var(--ko-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.ko-calendar__instructor-select.svelte-12c4iev{padding:var(--ko-space-xs) var(--ko-space-md);border:1px solid var(--ko-border);border-radius:var(--ko-radius-md);background:var(--ko-surface);color:var(--ko-text);font-size:var(--ko-font-sm);cursor:pointer}.ko-calendar__empty.svelte-12c4iev{text-align:center;padding:var(--ko-space-2xl) 0;color:var(--ko-text-muted)}.ko-calendar__empty.svelte-12c4iev p:where(.svelte-12c4iev){font-size:var(--ko-font-base)}.ko-calendar__list.svelte-12c4iev{display:flex;flex-direction:column;gap:var(--ko-space-sm)}.ko-calendar__month.svelte-12c4iev{font-size:var(--ko-font-lg);font-weight:600;margin:var(--ko-space-lg) 0 var(--ko-space-sm);color:var(--ko-text)}.ko-calendar__month.svelte-12c4iev:first-child{margin-top:0}.ko-calendar__month-entries.svelte-12c4iev{display:flex;flex-direction:column;gap:var(--ko-space-sm)}@media(max-width:640px){.ko-calendar.svelte-12c4iev{padding:var(--ko-space-md)}.ko-calendar__filters.svelte-12c4iev{flex-direction:column;align-items:stretch}}
