.calendar-controls{margin-bottom:2rem;background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-sm);transition:all .2s ease}.calendar-controls .control-group{margin-bottom:0;padding:1.5rem;display:flex;justify-content:center}.calendar-controls .year-selector-container{border-top:1px solid var(--border-color);padding:1.5rem;display:flex;justify-content:center;width:100%}.calendar-controls .year-selector-container .year-month-selector{margin-bottom:0;padding:0;background:none;border-radius:0;box-shadow:none}.calendar-filter-toggle{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border-radius:8px;padding:.5rem}.calendar-filter-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-family:inherit;font-size:.85rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease}.calendar-filter-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.calendar-filter-btn.active{background:var(--accent-color);color:var(--text-on-accent, #fff)}.calendar-filter-btn .material-symbols-outlined{font-size:18px}.calendar-display{background:var(--bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm)}.calendar-events-list{display:none;flex-direction:column;gap:.75rem}.calendar-event-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.event-date{font-weight:700;font-size:.9rem;color:var(--text-primary);min-width:100px}.event-content{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday{text-align:center;font-weight:600;font-size:.875rem;color:var(--text-secondary);padding:.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;min-height:150px;transition:all .2s ease;display:flex;flex-direction:column;position:relative}.calendar-day:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);box-shadow:var(--shadow-sm)}.day-number{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:.25rem;margin-top:auto}.event-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-color)}.calendar-day.placeholder{background:transparent;border:none;cursor:default;pointer-events:none}.calendar-day.placeholder:hover{transform:none;box-shadow:none}.calendar-day.today{border-color:var(--accent-color);border-width:2px;background:var(--bg-tertiary)}.calendar-day.today .day-number{color:var(--accent-color)}.calendar-day.weekend{background:var(--bg-tertiary)}.calendar-day.has-events{border-color:var(--accent-color)}.day-birthdays{display:flex;flex-direction:row;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.year-overview{margin-top:2rem}.year-overview-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.year-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.year-overview-grid.htmx-request:after{grid-column:1 / -1}.month-box-content-title{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-top:1rem;margin-bottom:.5rem}.month-box-content-title:first-of-type{margin-top:0}.month-box-content{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.month-box-empty{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.9rem;font-style:italic}.year-overview-grid .card .user-badge,.year-overview-grid .card .calendar-tour-badge,.year-overview-grid .card .calendar-event-badge{margin-top:0;max-width:fit-content}@media(max-width:1500px){.calendar-controls .control-group,.calendar-controls .year-selector-container{padding:1rem}.calendar-weekdays,.calendar-grid{display:none}.calendar-events-list{display:flex;gap:.75rem}.calendar-event-item{display:flex;align-items:center;gap:.75rem;padding:.875rem}.event-date{font-size:.9rem;min-width:110px}.year-overview-grid{grid-template-columns:1fr;gap:1rem}.year-overview-title{font-size:1.5rem}}@media(max-width:768px){.calendar-filter-toggle{flex-direction:column;width:100%}.calendar-filter-btn{width:100%;justify-content:center}}@media(max-width:480px){.calendar-events-list{gap:.625rem}.calendar-event-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.event-date{font-size:.85rem;min-width:auto}.year-overview-grid{gap:.875rem}.year-overview-title{font-size:1.35rem}}.calendar-tour-badge,.calendar-event-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:0;padding:0rem .75rem;min-height:38px;background:var(--bg-secondary);border-radius:50px;transition:all .2s ease;text-decoration:none;max-width:100%;width:fit-content}.calendar-tour-badge:hover,.calendar-event-badge:hover{background:var(--accent-color);box-shadow:var(--shadow-sm)}.calendar-tour-badge .material-symbols-outlined,.calendar-event-badge .material-symbols-outlined{font-size:18px;color:var(--accent-color);flex-shrink:0}.calendar-tour-badge:hover .material-symbols-outlined,.calendar-event-badge:hover .material-symbols-outlined{color:#fff}.calendar-tour-badge .badge-title,.calendar-event-badge .badge-title{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow-wrap:break-word;line-height:1.3}.calendar-tour-badge:hover .badge-title,.calendar-event-badge:hover .badge-title{color:#fff}.day-entries{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem;padding:.5rem .25rem .25rem}.user-badge{max-width:100%;margin-top:0}.user-badge-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;word-wrap:break-word}#headerUserBadge .user-badge{margin-top:1rem}
