.calendar_page__THwJK{display:flex;flex-direction:column;gap:24px;padding:0;position:relative;min-height:60vh}.calendar_header__uhMtZ{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.calendar_title__TAGXI{font-size:24px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin:0}.calendar_subtitle__nKPUY{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.calendar_btnPrimary__1ko3K{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.calendar_btnPrimary__1ko3K:hover{opacity:.88}.calendar_btnPrimary__1ko3K:disabled{opacity:.5;cursor:not-allowed}.calendar_btnSecondary__f_XDz{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 18px;font-size:14px;cursor:pointer;transition:opacity .15s}.calendar_btnSecondary__f_XDz:hover{opacity:.8}.calendar_btnDanger__PK3hR{background:#fff5f5;color:#e53e3e;border:1px solid #feb2b2;border-radius:var(--radius-md);padding:10px 18px;font-size:14px;cursor:pointer;margin-right:auto;transition:background .15s}.calendar_btnDanger__PK3hR:hover{background:#fee2e2}.calendar_metricsBar__Zj25K{display:flex;gap:16px;flex-wrap:wrap}.calendar_metricCard__ZIGnu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px;animation:calendar_fadeIn__GIfy_ .3s ease}.calendar_metricValue__2Jj7V{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1}.calendar_metricLabel___68yK{font-size:11px;color:var(--color-text-secondary);text-align:center}.calendar_calendarWrapper__sOL7P{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.calendar_calendarNav__plgAk{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:20px}.calendar_calendarTitle__WAbsi{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0;min-width:200px;text-align:center}.calendar_navBtn__zRZH8{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 16px;font-size:20px;cursor:pointer;color:var(--color-text-primary);transition:background .15s;line-height:1}.calendar_navBtn__zRZH8:hover{background:var(--color-border)}.calendar_calendarGrid__Z2JFY{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendar_dayHeader__H3uNE{text-align:center;font-size:12px;font-weight:600;color:var(--color-text-secondary);padding:8px 4px;text-transform:uppercase;letter-spacing:.04em}.calendar_dayCell__FwLPL{min-height:90px;border-radius:var(--radius-md);padding:6px;display:flex;flex-direction:column;gap:4px;background:transparent}.calendar_dayCellActive__N790f{background:var(--color-surface-2);cursor:pointer;transition:background .15s}.calendar_dayCellActive__N790f:hover{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface-2))}.calendar_dayCellToday__cNvHx{outline:2px solid var(--color-accent);outline-offset:-2px}.calendar_dayNumber__UUSRQ{font-size:13px;font-weight:600;color:var(--color-text-secondary);align-self:flex-end}.calendar_dayCellToday__cNvHx .calendar_dayNumber__UUSRQ{color:var(--color-accent)}.calendar_dayEntries__s2cuv{display:flex;flex-direction:column;gap:3px;flex:1 1}.calendar_entryChip__QgBkT{border-left:3px solid #4299e1;background:var(--color-surface);border-radius:3px;padding:3px 6px;cursor:pointer;transition:opacity .15s;overflow:hidden}.calendar_entryChip__QgBkT:hover{opacity:.8}.calendar_entryTitle__PcTVZ{display:block;font-size:11px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar_entryBadge__kcR2f{font-size:10px;font-weight:600}.calendar_aiBadge__BYdVT{display:inline-block;background:#7c3aed;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:10px;margin-left:4px}.calendar_modalOverlay__785V_{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:calendar_fadeIn__GIfy_ .2s ease}.calendar_modal__hU8a4{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:16px;animation:calendar_slideUp___yMS7 .2s ease;max-height:90vh;overflow-y:auto}.calendar_modalHeader__HkVy_{display:flex;align-items:center;justify-content:space-between}.calendar_modalTitle__uP68E{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.calendar_closeBtn__craug{background:none;border:none;font-size:18px;cursor:pointer;color:var(--color-text-secondary);padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s}.calendar_closeBtn__craug:hover{background:var(--color-surface-2)}.calendar_formField__kSoEg{display:flex;flex-direction:column;gap:6px}.calendar_formRow__UxpoW{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}.calendar_label__ZgWg4{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.calendar_input__XrjPB,.calendar_select__Ffe1L,.calendar_textarea__xprfy{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;font-size:14px;color:var(--color-text-primary);width:100%;box-sizing:border-box;transition:border-color .15s;font-family:inherit}.calendar_input__XrjPB:focus,.calendar_select__Ffe1L:focus,.calendar_textarea__xprfy:focus{outline:none;border-color:var(--color-accent)}.calendar_textarea__xprfy{resize:vertical}.calendar_errorMsg__tkXlt{color:#e53e3e;font-size:13px;background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius-sm);padding:8px 12px;margin:0}.calendar_modalActions__ARtg0{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:4px}.calendar_loadingOverlay__vD6W1{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-surface-rgb,255,255,255),.6);border-radius:var(--radius-lg)}.calendar_spinner__8BGYj{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:calendar_spin__D6QG8 .7s linear infinite}@keyframes calendar_fadeIn__GIfy_{0%{opacity:0}to{opacity:1}}@keyframes calendar_slideUp___yMS7{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes calendar_spin__D6QG8{to{transform:rotate(1turn)}}