.calendar-nav{display:flex;align-items:center;flex-grow:1;height:42.5px}#current-month-year{min-width:175px;font-weight:500;text-align:center;flex-grow:1;padding-right:12px}#create-event-btn{border-radius:.5rem}.calendar-view-toggle{display:flex}.calendar-view-toggle .action-btn{border-radius:0}.calendar-view-toggle .action-btn:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}.calendar-view-toggle .action-btn:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}.tag-filter-bar{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center;overflow-x:auto;padding:1rem}.sort-dropdown{display:flex;align-items:center;gap:.5rem}.sort-dropdown label{font-size:.875rem;color:var(--color-text-light);white-space:nowrap}.sort-dropdown select{border-radius:.5rem;border:1px solid #e5e7eb;padding:.5rem 1rem;font-size:.875rem;background-color:#f9fafb}.datetime-inputs{display:flex;gap:.5rem}.action-bar{justify-content:space-between}.calendar-nav{display:flex;align-items:center}.calendar-nav h2{margin:0;padding:0;font-size:1.5rem;white-space:nowrap}.calendar-nav .calendar-nav-button{background:none;border:none;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;transition:background-color 0.2s ease}.calendar-nav .calendar-nav-button:hover{background-color:#f0f0f0}.calendar-nav .calendar-nav-button svg{width:1.5rem;height:1.5rem;stroke:var(--color-text-light)}.filter-separator{width:1px;min-width:1px;height:24px;background-color:#e5e7eb;margin:0 .5rem}.calendar-view-toggle,#calendar-filter-toggle{display:flex;gap:.75rem}.calendar-day-name.week-view{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-transform:none}.day-number-header{font-weight:500}.calendar-week-view .calendar-body{grid-auto-rows:1fr}#calendar-grid{display:grid;grid-template-rows:auto 1fr;min-height:250px}.calendar-header{font-size:var(--font-size-l);display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding:0 0 .5rem 0;color:var(--color-text-light)}.calendar-day-name{text-transform:capitalize}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(100px,auto);gap:1px;background-color:#e0e0e0;box-shadow:0 1px 3px rgb(0 0 0 / .35);border-radius:.5rem;overflow:hidden}.calendar-body>.calendar-day:nth-child(1){border-top-left-radius:.5rem}.calendar-body>.calendar-day:nth-child(7){border-top-right-radius:.5rem}.calendar-body>.calendar-day:nth-last-child(7){border-bottom-left-radius:.5rem}.calendar-body>.calendar-day:nth-last-child(1){border-bottom-right-radius:.5rem}.calendar-day{background-color:#fff;padding:.5rem;overflow:hidden;display:flex;flex-direction:column}.calendar-day.other-month{background-color:#f9fafb;color:#ccc}.calendar-day.is-past:not(.other-month) .day-number{color:#bbb}.calendar-day.today .day-number{font-weight:700;color:var(--color-primary);width:24px;display:flex}.day-number{height:24px;font-size:.875rem;font-weight:500;text-transform:capitalize}#calendar-empty-message{padding:0 1rem;text-align:center}.events-container{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.event-card{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid rgb(0 0 0 / .2);transition:box-shadow 0.2s ease,transform 0.2s ease}.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgb(0 0 0 / .1)}.event-card.is-past-event .event-title{text-decoration:line-through}.event-icon{align-self:start;font-size:1rem}.event-text-content{display:flex;flex-direction:column;overflow:hidden;line-height:1.2}.event-title{overflow:hidden;text-overflow:ellipsis}.event-subtitle{font-size:.7rem;opacity:.7}.event-title,.event-subtitle{hyphens:auto;text-wrap-mode:wrap}.frequency-controls{display:flex;gap:.5rem}#frequency-interval{width:60px}#frequency-unit{flex-grow:1}#end-occurrences{margin:0 .25rem;width:60px}#end-date{margin-left:.3rem}#mobile-list-controls{display:none;margin-bottom:1rem}#mobile-list-controls .minimal-link{display:inline-block;padding:.5rem 1rem;color:var(--color-primary);text-decoration:none;font-weight:500;transition:color 0.2s ease}#mobile-list-controls .minimal-link:hover{color:var(--color-primary-hover);text-decoration:underline}#calendar-modal-title{text-wrap-mode:wrap}@media (max-width:768px){.calendar-body{box-shadow:none}}@media (max-width:1150px){.calendar-header{display:none}#calendar-grid,.calendar-body{display:block;border:none;border-radius:.5rem;background-color:#fff0}#mobile-list-controls{display:block}.calendar-day{display:block;width:auto;border-bottom:1px solid #e5e7eb;padding:1rem;border-radius:0!important}.calendar-day:first-child{border-top:1px solid #e5e7eb}.calendar-day.other-month,.calendar-day.has-no-events,.calendar-day.is-past-event{display:none}.day-number{font-size:1.25rem;margin-bottom:.75rem}.calendar-day.today .day-number{border-radius:0;background-color:#fff0;padding:0;width:auto}}.more-events-link{font-size:.75rem;padding:4px 8px;color:var(--color-text-light);text-decoration:none;border-radius:4px;transition:background-color 0.2s ease;font-weight:500;margin-top:2px}.more-events-link:hover{background-color:#f0f0f0;color:var(--color-primary);text-decoration:none}