.calendar-modal__backdrop[data-v-a28c63cd]{position:fixed;top:0;left:0;width:100%;height:100%;background:#2b2621a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn-a28c63cd .2s ease-out}.calendar-modal[data-v-a28c63cd]{background:#f8f6f2;border:1px solid #d7d1c8;border-radius:1.25rem;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #2b26212e,0 10px 10px -5px #2b262114;display:flex;flex-direction:column;animation:slideUp-a28c63cd .3s cubic-bezier(.16,1,.3,1)}.calendar-modal__header[data-v-a28c63cd]{padding:1.5rem 1.75rem;border-bottom:1px solid #e3dbcf;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;position:sticky;top:0;background:#f8f6f2;z-index:10}.calendar-modal__title[data-v-a28c63cd]{font-size:1.25rem;font-weight:700;color:#2b2621;line-height:1.2;margin-bottom:.25rem}.calendar-modal__subtitle[data-v-a28c63cd]{font-size:.9rem;color:#7b7266;margin:0}.calendar-modal__close[data-v-a28c63cd]{width:32px;height:32px;border-radius:9999px;background:#ede5da;color:#7b7266;display:flex;align-items:center;justify-content:center;transition:all .2s;border:none;cursor:pointer;flex-shrink:0}.calendar-modal__close[data-v-a28c63cd]:hover{background:#e3d6c3;color:#5a4330}.calendar-modal__content[data-v-a28c63cd]{padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.calendar-modal__actions[data-v-a28c63cd]{padding:1.25rem 1.75rem;background:#f3eee6;border-top:1px solid #e3dbcf;display:flex;justify-content:flex-end;gap:.75rem;border-bottom-left-radius:1.25rem;border-bottom-right-radius:1.25rem}@keyframes fadeIn-a28c63cd{0%{opacity:0}to{opacity:1}}@keyframes slideUp-a28c63cd{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-shell[data-v-398227d7]{display:flex;flex-direction:column;gap:1.5rem}.calendar-toolbar[data-v-398227d7]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center}.calendar-toolbar__primary[data-v-398227d7]{display:flex;align-items:center;gap:1rem;min-width:0}.calendar-toolbar__group[data-v-398227d7]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.calendar-toolbar__group--nav[data-v-398227d7]{flex-wrap:nowrap}.calendar-toolbar__group--actions[data-v-398227d7]{justify-content:flex-end}.calendar-toolbar__range[data-v-398227d7]{min-width:0;display:flex;flex-direction:column;gap:.1rem}.calendar-toolbar__label[data-v-398227d7]{margin:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#84796b}.calendar-toolbar__title[data-v-398227d7]{margin:0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.2;color:#2b2621;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-toolbar__view-switch[data-v-398227d7]{display:inline-flex;align-items:center;gap:.2rem;border:1px solid #d7d1c8;background:#fcfaf6;border-radius:999px;padding:.2rem}.calendar-layout[data-v-398227d7]{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:1.5rem;align-items:start}.calendar-layout.is-collapsed[data-v-398227d7]{grid-template-columns:1fr}.calendar-panel[data-v-398227d7]{height:100%}.calendar-panel__rail[data-v-398227d7]{display:none}.calendar-card__quick-toggle[data-v-398227d7]{display:flex;justify-content:flex-start;padding:.25rem 0 .75rem .25rem}.calendar-panel__rail-button[data-v-398227d7]{width:40px;height:40px;border-radius:999px;border:1px solid #d7d1c8;background:#fcfaf6;color:#574f45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;transition:all .2s ease;box-shadow:0 12px 24px #32271b1f}.calendar-panel__rail-button[data-v-398227d7]:hover{background:#f4ece0;border-color:#d7c3a4}.calendar-panel__rail-icon[data-v-398227d7]{width:18px;height:18px}.calendar-panel__card[data-v-398227d7]{background:#f8f6f2;border-radius:1rem;padding:1.25rem;border:1px solid #d7d1c8;box-shadow:0 8px 18px #32271b0f;display:flex;flex-direction:column;gap:1rem}.calendar-panel__header[data-v-398227d7]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.calendar-panel__collapse[data-v-398227d7]{border:1px solid #d7d1c8;background:#fcfaf6;color:#84796b;border-radius:999px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-panel__collapse[data-v-398227d7]:hover{border-color:#d7c3a4;color:#2b2621}.calendar-panel__collapse-icon[data-v-398227d7]{width:18px;height:18px}.calendar-panel__title[data-v-398227d7]{font-size:1rem;font-weight:700;color:#2b2621}.calendar-panel__subtitle[data-v-398227d7]{font-size:.85rem;color:#7b7266}.calendar-panel__label[data-v-398227d7]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#938779;margin-bottom:.4rem}.calendar-panel__section[data-v-398227d7]{display:flex;flex-direction:column;gap:.6rem}.calendar-panel__empty[data-v-398227d7]{font-size:.85rem;color:#938779}.calendar-card[data-v-398227d7]{background:#f8f6f2;border-radius:1rem;border:1px solid #d7d1c8;padding:1rem;box-shadow:0 8px 18px #32271b0f;display:flex;flex-direction:column;height:clamp(520px,72vh,860px)}.calendar-card[data-v-398227d7] .fc{flex:1 1 auto;min-height:0}.student-list[data-v-398227d7]{display:flex;flex-direction:column;gap:.5rem;max-height:420px;overflow-y:auto;padding-right:.25rem}.student-chip[data-v-398227d7]{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;border-radius:.9rem;border:1px solid #d7d1c8;padding:.75rem .9rem;background:#fcfaf6;cursor:grab;text-align:left;transition:all .2s ease}.student-chip[data-v-398227d7]:hover{border-color:#d7c3a4;background:#f4ece0}.student-chip[data-v-398227d7]:active{cursor:grabbing}.student-chip__name[data-v-398227d7]{font-weight:600;color:#2b2621}.student-chip__meta[data-v-398227d7]{font-size:.75rem;color:#7b7266}.pill-group[data-v-398227d7]{display:flex;flex-wrap:wrap;gap:.5rem}.pill[data-v-398227d7]{border-radius:999px;border:1px solid #d7d1c8;background:#fcfaf6;padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:#2b2621;transition:all .2s ease}.pill[data-v-398227d7]:hover{border-color:#bfa98a}.pill.is-active[data-v-398227d7]{background:#bb842e;color:#fff;border-color:#a8762a}.calendar-input[data-v-398227d7]{width:100%;border-radius:.75rem;border:1px solid #d7d1c8;padding:.55rem .75rem;font-size:.9rem;color:#2b2621;background:#fcfaf6}.calendar-input[data-v-398227d7]:focus{outline:none;border-color:#bb842e;box-shadow:0 0 0 3px #bb842e33}.calendar-input--compact[data-v-398227d7]{max-width:130px}.calendar-readonly[data-v-398227d7]{width:100%;border-radius:.75rem;border:1px solid #d7d1c8;padding:.55rem .75rem;font-size:.9rem;color:#2b2621;background:#f3eee6}.btn[data-v-398227d7]{border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s ease;border:1px solid transparent}.btn-icon[data-v-398227d7]{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-icon svg[data-v-398227d7]{width:18px;height:18px}.btn-primary[data-v-398227d7]{background:#bb842e;color:#fff}.btn-primary[data-v-398227d7]:hover{background:#a8762a}.btn-secondary[data-v-398227d7]{background:#f3eee6;color:#2b2621;border-color:#d7d1c8}.btn-secondary[data-v-398227d7]:hover{background:#e8dfd2}.btn-secondary.is-active[data-v-398227d7]{background:#bb842e;color:#fff}.btn-segment[data-v-398227d7]{background:transparent;border:none;color:#554c41;padding:.45rem .85rem}.btn-segment[data-v-398227d7]:hover{background:#f3eee6}.btn-segment.is-active[data-v-398227d7]{background:#bb842e;color:#fff;box-shadow:0 6px 14px #593d1633}.calendar-modal__error[data-v-398227d7]{padding:.75rem 1rem;border-radius:.75rem;background:#fee2e2;color:#991b1b;font-size:.85rem;font-weight:600}.calendar-modal__loading[data-v-398227d7]{padding:.6rem .9rem;border-radius:.75rem;background:#f3eee6;color:#675f55;font-size:.85rem;font-weight:600}.form-group[data-v-398227d7]{display:flex;flex-direction:column;gap:.4rem}.form-row[data-v-398227d7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.form-label[data-v-398227d7]{font-size:.85rem;font-weight:600;color:#2b2621}.form-help[data-v-398227d7]{font-size:.75rem;color:#938779}.duration-custom[data-v-398227d7]{display:flex;align-items:center;gap:.4rem}.duration-custom__label[data-v-398227d7]{font-size:.75rem;color:#84796b}.calendar-scope-options[data-v-398227d7]{display:flex;flex-direction:column;gap:.75rem}.scope-option[data-v-398227d7]{display:flex;align-items:flex-start;gap:1rem;width:100%;padding:1rem;border:1px solid #d7d1c8;border-radius:.75rem;background:#fcfaf6;text-align:left;transition:all .2s ease}.scope-option[data-v-398227d7]:hover{border-color:#d7c3a4;background:#f4ece0}.scope-option__icon[data-v-398227d7]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;background:#f3e6cf;color:#bb842e;flex-shrink:0}.scope-option__content[data-v-398227d7]{display:flex;flex-direction:column;gap:.25rem}.scope-option__title[data-v-398227d7]{font-weight:600;color:#2b2621;font-size:.95rem}.scope-option__desc[data-v-398227d7]{font-size:.85rem;color:#7b7266;line-height:1.4}[data-v-398227d7] .calendar-event--unlinked{border-left:4px solid #f97316!important}[data-v-398227d7] .calendar-event--cancelled{opacity:.6;text-decoration:line-through}[data-v-398227d7] .calendar-event--locked{border-style:dashed!important;border-color:#f59e0b!important}[data-v-398227d7] .calendar-event-lock{display:inline-flex;align-items:center;gap:.3rem;font-weight:600}@media(max-width:900px){.calendar-toolbar[data-v-398227d7]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"primary actions" "views views";align-items:start}.calendar-toolbar__primary[data-v-398227d7]{grid-area:primary}.calendar-toolbar__group--actions[data-v-398227d7]{grid-area:actions}.calendar-toolbar__view-switch[data-v-398227d7]{grid-area:views;justify-self:start}.calendar-layout[data-v-398227d7]{grid-template-columns:1fr}}@media(max-width:640px){.calendar-toolbar[data-v-398227d7]{grid-template-columns:1fr;grid-template-areas:"primary" "views" "actions"}.calendar-toolbar__primary[data-v-398227d7]{flex-direction:column;align-items:flex-start}.calendar-toolbar__view-switch[data-v-398227d7]{width:100%;justify-content:space-between}.btn-segment[data-v-398227d7]{flex:1 1 auto;text-align:center}.calendar-toolbar__group--actions[data-v-398227d7]{width:100%}.calendar-toolbar__group--actions .btn-primary[data-v-398227d7]{width:100%;justify-content:center}}.fade-enter-active[data-v-2f4a5e89],.fade-leave-active[data-v-2f4a5e89]{transition:opacity .2s ease}.fade-enter-from[data-v-2f4a5e89],.fade-leave-to[data-v-2f4a5e89]{opacity:0}
