.calendar-page{min-height:100vh;padding:2rem 0}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem}.page-header p{font-size:1.1rem;color:var(--text-secondary);margin:0}.calendar-filters{display:grid;grid-template-columns:1fr 2fr;grid-gap:2rem;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color)}.filter-section h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.filter-group{margin-bottom:1rem}.toggle-switch{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{position:relative;width:50px;height:24px;background:var(--gray-medium);border-radius:12px;transition:background-color .3s ease}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .3s ease}.toggle-switch input[type=checkbox]:checked+.toggle-slider{background:var(--primary-color)}.toggle-switch input[type=checkbox]:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-label{font-weight:500;color:var(--text-primary)}.loading-text{color:var(--text-secondary);font-style:italic}.location-filters{display:flex;flex-direction:column;gap:1rem}.filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-small{padding:.5rem 1rem;font-size:.875rem}.location-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background-color .2s ease}.checkbox-label:hover{background:var(--gray-light)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;position:relative;transition:all .2s ease;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:12px;font-weight:700}.location-info{display:flex;flex-direction:column;gap:.25rem}.location-name{font-weight:500;color:var(--text-primary)}.location-capacity{font-size:.875rem;color:var(--text-secondary)}.calendar-container{margin-bottom:3rem}.calendar-legend{margin-bottom:2rem;padding:1.5rem;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color)}.calendar-legend h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.legend-items{display:flex;gap:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:12px;border-radius:3px}.legend-color.standard-event{background:var(--primary-color)}.legend-color.attending-event{background:var(--success-color)}.legend-color.today-marker{background:var(--primary-color-light);border:2px solid var(--primary-color)}.legend-item span{font-size:.9rem;color:var(--text-secondary)}.calendar-info{margin-top:2rem}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.info-card{background:var(--card-background);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.info-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{color:var(--text-secondary);border-bottom:1px solid var(--border-color);position:relative;padding:.5rem 0 .5rem 1.5rem}.info-card li:last-child{border-bottom:none}.info-card li:before{content:"•";color:var(--primary-color);font-weight:700;position:absolute;left:0}@media (max-width:768px){.calendar-page{padding:1rem 0}.page-header h1{font-size:2rem}.calendar-filters{gap:1.5rem;padding:1rem}.calendar-filters,.location-checkboxes{grid-template-columns:1fr}.legend-items{flex-direction:column;gap:1rem}.info-cards{grid-template-columns:1fr}.filter-actions{flex-direction:column}.btn-small{width:100%;text-align:center}}@media (max-width:480px){.calendar-filters{padding:.75rem}.checkbox-label{padding:.5rem}.info-card{padding:1rem}}