.Calendar-module___c_njG__container{background:var(--gray-100);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--gray-200);padding:1.5rem}.Calendar-module___c_njG__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.Calendar-module___c_njG__monthInfo h2{font-size:1.5rem;font-weight:700}.Calendar-module___c_njG__nav{align-items:center;gap:.5rem;display:flex}.Calendar-module___c_njG__btnPrimary{background:var(--primary);color:#fff;border-radius:8px;padding:.6rem 1.2rem;font-weight:600;transition:background .2s}.Calendar-module___c_njG__btnPrimary:hover{background:var(--primary-hover)}.Calendar-module___c_njG__btnSecondary{background:var(--gray-200);color:var(--foreground);border-radius:8px;padding:.6rem 1.2rem;font-weight:600;transition:background .2s}.Calendar-module___c_njG__btnSecondary:hover{background:var(--gray-300)}.Calendar-module___c_njG__btnNav{background:var(--gray-200);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:background .2s;display:flex}.Calendar-module___c_njG__btnNav:hover{background:var(--gray-300)}.Calendar-module___c_njG__calendarGrid{background:var(--gray-300);border:1px solid var(--gray-300);border-radius:8px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.Calendar-module___c_njG__dayHeader{background:var(--gray-200);text-align:center;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.9rem;font-weight:600}.Calendar-module___c_njG__day,.Calendar-module___c_njG__dayEmpty{background:var(--background);min-height:120px;padding:.5rem;transition:background .2s;position:relative}.Calendar-module___c_njG__day:hover{background:var(--gray-100)}.Calendar-module___c_njG__dayNumber{color:var(--gray-700);font-size:.9rem;font-weight:600}.Calendar-module___c_njG__today .Calendar-module___c_njG__dayNumber{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.Calendar-module___c_njG__eventList{flex-direction:column;gap:4px;margin-top:.5rem;display:flex}.Calendar-module___c_njG__eventItem{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:500;transition:opacity .2s;overflow:hidden}.Calendar-module___c_njG__eventItem:hover{opacity:.8}.Calendar-module___c_njG__addDayBtn{background:var(--gray-200);opacity:0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:1rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.Calendar-module___c_njG__day:hover .Calendar-module___c_njG__addDayBtn{opacity:1}.Calendar-module___c_njG__modalOverlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.Calendar-module___c_njG__modal{background:var(--background);border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 20px 25px -5px #0000001a}.Calendar-module___c_njG__modal h3{margin-bottom:1.5rem;font-size:1.25rem}.Calendar-module___c_njG__formGroup{margin-bottom:1rem}.Calendar-module___c_njG__formGroup label{margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.Calendar-module___c_njG__formGroup input{border:1px solid var(--gray-300);background:var(--background);width:100%;color:var(--foreground);border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem}.Calendar-module___c_njG__colorPicker{gap:.5rem;margin-top:.5rem;display:flex}.Calendar-module___c_njG__colorOption{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px}.Calendar-module___c_njG__selectedColor{border-color:var(--foreground);transform:scale(1.1)}.Calendar-module___c_njG__modalActions{justify-content:flex-end;gap:.75rem;margin-top:2rem;display:flex}@media (max-width:768px){.Calendar-module___c_njG__day{min-height:80px}.Calendar-module___c_njG__eventItem{padding:2px 4px;font-size:.7rem}.Calendar-module___c_njG__monthInfo h2{font-size:1.2rem}}
