.calendar-nav{display:flex;align-items:center;flex-grow:1;height:42.5px}#current-month-year{min-width:280px;font-weight:500;flex-grow:1;text-align:center}.sort-dropdown{display:flex;align-items:center}.sort-dropdown select{border-radius:1rem;border:unset;padding:.5rem 1rem;font-size:.875rem;background-color:var(--color-background);color:var(--color-text-light);cursor:pointer;height:100%;transition:all 0.15s ease}.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:var(--font-size-h3-sub);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:var(--color-hover-strong)}.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:var(--color-border);margin:0 .5rem}#calendar-filter-toggle{display:flex;gap:.75rem}#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-template-rows:repeat(3,minmax(128px,1fr));gap:1px;background-color:var(--color-border);border-radius:1rem;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:var(--color-card);padding:.5rem;overflow:hidden;display:flex;flex-direction:column}.calendar-day.is-past .day-number,.calendar-day.is-past .event-pill,.calendar-day.is-past .dot{opacity:.6}.calendar-day.today .day-number{font-weight:700;color:#fff;background-color:var(--color-primary);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.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:6px;padding-top:4px}.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}#calendar-modal-title{text-wrap-mode:wrap}.compact-view .calendar-body{grid-template-rows:repeat(3,minmax(70px,1fr))}.compact-view .calendar-day{padding:.35rem;text-align:center}.compact-view .day-number{font-size:.8rem;margin:0 auto}.compact-view .calendar-day.today .day-number{width:24px;height:24px;font-size:.8rem}.compact-view .calendar-day .events-container .event-pill{display:none}.compact-view .calendar-day .events-container .more-events{display:none}.compact-view~.calendar-highlights .upcoming-event-date{font-size:.75rem}.event-pill{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;font-size:11px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:box-shadow 0.2s ease,transform 0.2s ease}.event-pill:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgb(0 0 0 / .1)}.event-pill .dot{margin:0 3px}.event-pill .pill-mobility-icon{width:14px;flex-shrink:0;text-align:center;font-size:14px;line-height:1}.event-pill .event-pill-title{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dots-container{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-top:4px}.calendar-highlights{margin-top:1.5rem;padding-bottom:1.5rem}.upcoming-events-header{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-light,#888);margin-bottom:.75rem;padding-left:.5rem}.upcoming-events-list{display:grid;grid-template-columns:auto 1fr auto}.upcoming-event-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;gap:.5rem;padding:.2rem .5rem;cursor:pointer;transition:background-color 0.15s ease}.upcoming-event-row:hover{background-color:var(--color-hover)}.upcoming-event-row.highlight{animation:row-pulse 2s ease-out}@keyframes row-pulse{0%{background-color:#fff0}15%{background-color:hsl(210 100% 60% / .25)}100%{background-color:#fff0}}.upcoming-event-date{font-size:.8rem;color:var(--color-text-light,#888);white-space:nowrap;text-align:right}.upcoming-event-pill{display:flex;align-items:center;gap:.375rem;padding:4px 10px 4px 6px;border-radius:12px;font-size:var(--font-size-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;transition:box-shadow 0.2s ease,transform 0.2s ease}.upcoming-event-pill:last-child{grid-column:2 / -1}.upcoming-event-pill:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgb(0 0 0 / .1)}.upcoming-event-pill .dot{margin:0 4px}.upcoming-event-pill .upcoming-mobility-icon{width:16px;flex-shrink:0;text-align:center;font-size:16px;line-height:1}.upcoming-event-pill .event-pill-title{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.upcoming-event-time{font-size:.8rem;color:var(--color-text-light,#888);white-space:nowrap}.calendar-day.has-events-clickable{cursor:pointer}.calendar-day.has-events-clickable:not(.is-past):hover{background-color:var(--color-hover)}.more-events{font-size:.75rem;padding:4px 8px;color:var(--color-text-light);text-decoration:none;border-radius:12px;transition:background-color 0.2s ease;font-weight:500}.compact-header .action-bar{display:none}.compact-header .tag-filter-bar{flex-wrap:wrap;overflow-x:visible;padding:0 1rem 0 .75rem}.compact-header #calendar-filter-toggle{flex-wrap:wrap;align-items:center;width:100%;gap:.5rem}.compact-header #create-event-btn{margin-left:auto}