.coda-events-calendar{margin:20px 0}.coda-events-calendar__filters{margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:4px;border:1px solid #e5e5e5;margin-top:10px}.coda-events-calendar__filters-title{font-weight:700;margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.coda-events-calendar__filters-list{display:flex;flex-wrap:wrap;gap:12px}.coda-events-calendar__filter-item{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 10px;background:#fff;border:1px solid #ddd;border-radius:3px;transition:all .2s}.coda-events-calendar__filter-item:hover{background:#f5f5f5;border-color:#bbb}.coda-events-calendar__filter-item input[type=checkbox]{margin:0;cursor:pointer}.coda-filter-color{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.coda-filter-name{font-size:14px;user-select:none}.coda-events-calendar__header{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.coda-events-calendar__title{font-weight:700;margin:0;flex:1;text-align:center}.coda-events-calendar__nav{display:inline-block;padding:5px 15px;text-decoration:none;font-size:24px;line-height:1;color:#333;border:1px solid #ddd;border-radius:3px;background:#fff;transition:background .2s;cursor:pointer;display:flex;height:40px;width:40px}.coda-events-calendar__nav:hover{background:#f5f5f5;color:#000}.coda-events-calendar__nav.loading{opacity:.5;cursor:not-allowed;pointer-events:none}.coda-events-calendar__nav.loading:hover{background:#fff}.coda-events-calendar__loading{text-align:center;padding:20px;color:#666}.coda-events-calendar__table{width:100%;border-collapse:collapse;table-layout:fixed}.coda-events-calendar__table th,.coda-events-calendar__table td{border:1px solid #e5e5e5;vertical-align:top;padding:8px;width:14.28%}.coda-events-calendar__table td{min-height:110px;height:110px}.coda-events-calendar__table th{background:#fafafa;text-transform:uppercase;font-weight:800;letter-spacing:2px;font-size:13px;text-align:right}.coda-events-calendar__table p{font-size:15px}.coda-day__num{font-weight:800;margin-bottom:6px;font-size:14px;text-align:right}.coda-day__events{list-style:none;margin:0;padding:0}.coda-day__event{margin:0 0 6px !important;display:flex;align-items:center;gap:6px;background:#f7f7f7;border-radius:4px;padding:7px 10px}.coda-day__event a{margin-bottom:0 !important;line-height:1.3;font-size:13px !important;padding-bottom:0 !important}.coda-day__event span{color:#333;font-size:13px;font-weight:700;line-height:1.3}.coda-day__event-color{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.coda-day__time{opacity:.7;font-size:.9em}.is-empty{background:#fcfcfc}@media screen and (max-width:768px){.coda-events-calendar__header{flex-wrap:wrap;gap:10px}.coda-events-calendar__nav{padding:8px 12px;font-size:20px}.coda-events-calendar__title{width:100%;order:-1;margin-bottom:10px}.coda-events-calendar__table{display:none}.coda-events-calendar__mobile-list{display:block}.coda-events-calendar__mobile-day{margin-bottom:20px;padding:12px;background:#f9f9f9;border-left:3px solid #ddd;border-radius:4px}.coda-events-calendar__mobile-day-header{font-weight:700;font-size:16px;margin-bottom:10px;color:#333;padding-bottom:8px;border-bottom:1px solid #e5e5e5}.coda-events-calendar__mobile-events{list-style:none;margin:0;padding:0}.coda-events-calendar__mobile-event{margin:8px 0;padding:10px;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;align-items:center;gap:8px}.coda-events-calendar__mobile-event .coda-day__event-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.coda-events-calendar__mobile-event a{text-decoration:none;color:#333;display:block;font-weight:500}.coda-events-calendar__mobile-event a:hover{color:#0073aa}.coda-events-calendar__mobile-time{opacity:.7;font-size:.9em;margin-left:8px;font-weight:400}.coda-events-calendar__mobile-no-events{text-align:center;padding:40px 20px;color:#666;font-size:16px;background:#f9f9f9;border-radius:4px;margin:20px 0}}@media screen and (min-width:769px){.coda-events-calendar__mobile-list{display:none}}