.calendar-page[data-v-963b06e4]{height:var(--nfs-viewport-height,100dvh);background:var(--nfs-page-background), var(--nfs-bg-page);flex-direction:column;min-height:0;display:flex;overflow:hidden}.calendar-main[data-v-963b06e4]{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;padding:12px clamp(10px,3vw,24px) clamp(10px,2vw,18px);display:flex}.calendar-toolbar[data-v-963b06e4]{justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;display:flex}.term-select[data-v-963b06e4]{width:min(48vw,340px)}.term-select[data-v-963b06e4] .el-select__wrapper{border-radius:var(--nfs-radius-sm);background:var(--nfs-surface-elevated);min-height:40px;box-shadow:0 0 0 1px var(--nfs-border) inset, var(--nfs-shadow-sm);transition:background .2s,box-shadow .2s}.term-select[data-v-963b06e4]:not(.is-disabled):hover .el-select__wrapper,.term-select[data-v-963b06e4] .el-select__wrapper.is-focused{background:color-mix(in srgb, var(--el-color-primary) 8%, var(--nfs-surface-elevated));box-shadow:0 0 0 1px var(--el-color-primary) inset, var(--nfs-shadow-sm)}.icon-btn[data-v-963b06e4]{border:1px solid var(--nfs-border);border-radius:var(--nfs-radius-sm);background:var(--nfs-surface-elevated);height:40px;color:var(--el-text-color-primary);box-shadow:var(--nfs-shadow-sm);cursor:pointer;flex:0 0 40px;justify-content:center;align-items:center;width:40px;transition:border-color .2s,color .2s,transform .2s,background .2s,box-shadow .2s;display:inline-flex}.icon-btn[data-v-963b06e4]:hover:not(:disabled){border-color:var(--el-color-primary);color:var(--el-color-primary);background:color-mix(in srgb, var(--el-color-primary) 8%, var(--nfs-surface-elevated))}.icon-btn[data-v-963b06e4]:active:not(:disabled){transform:translateY(1px)}.icon-btn[data-v-963b06e4]:disabled{visibility:hidden;pointer-events:none}.calendar-viewer[data-v-963b06e4]{flex:1 1 0;width:100%;min-height:0;overflow:visible}.carousel-viewport[data-v-963b06e4]{-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow:clip visible}.carousel-track[data-v-963b06e4]{will-change:transform;height:100%;transition:transform .34s;display:flex}.calendar-slide[data-v-963b06e4]{flex:0 0 100%;justify-content:center;align-items:stretch;min-width:0;height:100%;display:flex}.image-shell[data-v-963b06e4]{width:100%;height:100%;min-height:0;box-shadow:none;background:0 0;border:0;overflow:visible}.image-fit[data-v-963b06e4]{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:clamp(8px,2vw,18px);display:flex}.calendar-preview-trigger[data-v-963b06e4]{cursor:zoom-in;background:0 0;border:0;outline:0;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:flex}.calendar-image[data-v-963b06e4]{object-fit:contain;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .25s,box-shadow .25s;display:block;box-shadow:0 10px 26px #1e40701f}.calendar-preview-trigger:hover .calendar-image[data-v-963b06e4],.calendar-preview-trigger:focus-visible .calendar-image[data-v-963b06e4]{transform:scale(1.018);box-shadow:0 16px 34px #1e40702e}.image-error[data-v-963b06e4]{height:100%;color:var(--el-text-color-secondary);justify-content:center;align-items:center;padding:24px;font-weight:700;display:flex}.preview-modal[data-v-963b06e4]{top:var(--nfs-viewport-offset-top,0px);left:var(--nfs-viewport-offset-left,0px);width:var(--nfs-viewport-width,100vw);height:var(--nfs-viewport-height,100dvh);z-index:3000;background:#000000bf;justify-content:center;align-items:center;padding:clamp(12px,3vw,28px);animation:.3s fadeIn-963b06e4;display:flex;position:fixed;bottom:auto;right:auto}.preview-modal--closing[data-v-963b06e4]{animation:.3s fadeOut-963b06e4}.preview-content[data-v-963b06e4]{-webkit-user-select:none;user-select:none;width:min(94vw,1280px,141.2dvh);max-width:100%;animation:.3s slideUp-963b06e4;position:relative;overflow:visible}.preview-modal--closing .preview-content[data-v-963b06e4]{animation:.3s slideDown-963b06e4}.preview-image-wrap[data-v-963b06e4]{aspect-ratio:1659/893;border-radius:var(--nfs-radius-lg);background:var(--nfs-surface-solid);width:100%;box-shadow:var(--nfs-shadow-lg);touch-action:none;overflow:hidden}.preview-image[data-v-963b06e4]{object-fit:contain;transform-origin:50%;will-change:transform;width:100%;height:100%;display:block}.preview-buttons[data-v-963b06e4]{margin-top:20px;display:flex}.preview-btn[data-v-963b06e4]{border-radius:var(--nfs-radius-sm);background:var(--el-color-info);min-height:46px;color:var(--el-color-white);border:0;flex:1;font-size:.94rem;font-weight:750;transition:opacity .2s,transform .2s}.preview-btn[data-v-963b06e4]:hover{opacity:.86;transform:scale(1.01)}@keyframes fadeIn-963b06e4{0%{--nfs-modal-backdrop-blur:0px;opacity:0}to{--nfs-modal-backdrop-blur:8px;opacity:1}}@keyframes fadeOut-963b06e4{0%{--nfs-modal-backdrop-blur:8px;opacity:1}to{--nfs-modal-backdrop-blur:0px;opacity:0}}@keyframes slideUp-963b06e4{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown-963b06e4{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50px)}}@media (width<=720px){.calendar-main[data-v-963b06e4]{gap:8px;padding:10px 8px 8px}.calendar-toolbar[data-v-963b06e4]{justify-content:center}.term-select[data-v-963b06e4]{width:calc(100vw - 112px)}.icon-btn[data-v-963b06e4]{flex-basis:36px;width:36px;height:36px}.preview-content[data-v-963b06e4]{width:94vw}.preview-buttons[data-v-963b06e4]{margin-top:14px}}@media (width<=420px){.term-select[data-v-963b06e4]{width:calc(100vw - 96px)}}@media (prefers-reduced-motion:reduce){.carousel-track[data-v-963b06e4],.term-select[data-v-963b06e4] .el-select__wrapper,.icon-btn[data-v-963b06e4],.preview-modal[data-v-963b06e4],.preview-modal--closing[data-v-963b06e4],.preview-content[data-v-963b06e4],.preview-modal--closing .preview-content[data-v-963b06e4]{transition:none;animation:none}}.calendar-page[data-v-963b06e4]{--calendar-accent:var(--nfs-brand,#4e819d);--calendar-accent-alt:var(--nfs-accent-lilac,#887abb);--calendar-surface:var(--nfs-surface-elevated,#fffffcf5);--calendar-border:var(--nfs-border,#394f4729);--calendar-shadow:var(--nfs-shadow-sm,0 8px 24px #394f4714);background:var(--nfs-page-background,#f6f4ee), var(--nfs-bg-page,#f6f4ee)}.calendar-main[data-v-963b06e4]{padding-inline:max(clamp(10px, 4vw, 44px), env(safe-area-inset-left)) max(clamp(10px, 4vw, 44px), env(safe-area-inset-right));gap:clamp(10px,2vw,18px)}.calendar-toolbar[data-v-963b06e4]{gap:7px;min-height:46px}.icon-btn[data-v-963b06e4]{border-color:var(--calendar-border);background:color-mix(in srgb, var(--calendar-surface) 92%, transparent);color:var(--calendar-accent-alt);box-shadow:var(--calendar-shadow);border-radius:999px;transition:transform .2s,border-color .2s,background-color .2s,color .2s}.icon-btn[data-v-963b06e4]:hover:not(:disabled),.icon-btn[data-v-963b06e4]:focus-visible:not(:disabled){border-color:var(--calendar-accent);background:color-mix(in srgb, var(--calendar-accent) 10%, var(--calendar-surface));color:var(--calendar-accent);outline:none;transform:translateY(-1px)}.term-select[data-v-963b06e4] .el-select__wrapper{border:1px solid var(--calendar-border);background:var(--calendar-surface);min-height:42px;box-shadow:var(--calendar-shadow);border-radius:999px}.term-select[data-v-963b06e4]:not(.is-disabled):hover .el-select__wrapper,.term-select[data-v-963b06e4] .el-select__wrapper.is-focused{border-color:var(--calendar-accent);background:color-mix(in srgb, var(--calendar-accent) 10%, var(--calendar-surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--calendar-accent) 11%, transparent), var(--calendar-shadow)}.image-fit[data-v-963b06e4]{padding:clamp(16px,3vw,32px)}.calendar-image[data-v-963b06e4]{border:1px solid color-mix(in srgb, var(--calendar-border) 70%, transparent);box-shadow:0 18px 38px color-mix(in srgb, var(--calendar-accent-alt) 15%, transparent);border-radius:10px;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s}.calendar-preview-trigger:hover .calendar-image[data-v-963b06e4],.calendar-preview-trigger:focus-visible .calendar-image[data-v-963b06e4]{box-shadow:0 22px 46px color-mix(in srgb, var(--calendar-accent-alt) 22%, transparent);outline:3px solid color-mix(in srgb, var(--calendar-accent) 22%, transparent);outline-offset:3px}.image-error[data-v-963b06e4]{border:1px dashed var(--calendar-border);background:color-mix(in srgb, var(--calendar-surface) 90%, transparent);border-radius:14px;margin:clamp(16px,4vw,40px)}.preview-modal[data-v-963b06e4]{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#05080dc7}.preview-image-wrap[data-v-963b06e4]{border:1px solid #fff3;border-radius:18px}.preview-btn[data-v-963b06e4]{--el-button-text-color:var(--nfs-on-action,#fff);--el-button-hover-text-color:var(--nfs-on-action,#fff);--el-button-active-text-color:var(--nfs-on-action,#fff);border:1px solid color-mix(in srgb, var(--calendar-accent) 72%, #fff);background:var(--calendar-accent);min-height:44px;color:var(--nfs-on-action,#fff);border-radius:999px}.preview-btn[data-v-963b06e4]:hover,.preview-btn[data-v-963b06e4]:focus-visible{opacity:1;background:color-mix(in srgb, var(--calendar-accent) 82%, #000);outline:none;transform:translateY(-1px)}@media (width<=520px){.image-fit[data-v-963b06e4]{padding:10px}.calendar-image[data-v-963b06e4]{border-radius:8px}}@media (width<=320px){.calendar-main[data-v-963b06e4]{padding-inline:6px}.term-select[data-v-963b06e4]{width:calc(100vw - 88px)}.icon-btn[data-v-963b06e4]{flex-basis:34px;width:34px}}@media (prefers-reduced-motion:reduce){.calendar-page[data-v-963b06e4] *,.calendar-page[data-v-963b06e4] :before,.calendar-page[data-v-963b06e4] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
