.calendar-grid{width:100%;display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-day{min-height:120px;border-bottom:1px solid #2a5b344f;border-right:1px solid #2a5b344f;padding:1px;position:relative;overflow:hidden;box-sizing:border-box;background-color:#fbf9e1;transition:background-color .2s ease;display:flex;flex-direction:column;width:100%;height:120px}.calendar-day:nth-child(7n),border-right: none;}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day:hover{background-color:#fffef4}.calendar-day.other-month{background-color:var(--critical-highlight);color:var(--critical-green)}.calendar-day.other-month:hover{background-color:var(--critical-green)}.calendar-day.other-month .calendar-day-number{color:var(--critical-cream)}.calendar-day.past{opacity:.8}.calendar-day.today{}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header-day{padding:12px 16px;text-align:center;font-size:14px;letter-spacing:1px;color:var(--critical-cream);opacity:.8}.calendar-day-number{font-size:13px;font-weight:600;margin-bottom:6px;color:#1f2937;flex-shrink:0;display:flex;align-items:center;height:20px}.today-number{background-color:var(--critical-green);color:#fff;border-radius:50%;width:20px;height:20px;justify-content:center;font-weight:700;font-size:12px}.calendar-events-container{width:100%;overflow:hidden;flex:1;display:flex;flex-direction:column}.event-item{display:block;width:100%;min-height:40%;font-size:12px;padding:4px 2px;margin-bottom:2px;cursor:pointer;white-space:normal;overflow:hidden;box-sizing:border-box;line-height:1.3;word-wrap:break-word;hyphens:auto;transition:all .2s ease}.event-item-medium{font-size:11px;line-height:1.2;padding:3px 2px}.event-item-small{font-size:10px;line-height:1.2;padding:3px 1px}.event-item-tiny{font-size:9px;line-height:1.1;padding:2px 1px}.event-workshop{background-color:#fff;color:var(--critical-green);border:1px solid var(--critical-green);border-left:3px solid var(--critical-green)}.event-workshop:hover{background-color:#f9fafb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.event-seminar{background-color:#fff;color:var(--critical-green);border:1px solid #374151;border-left:3px solid #374151}.event-seminar:hover{background-color:#f9fafb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.event-event{background-color:#fff;color:#4b5563;border:1px solid #4b5563;border-left:3px solid #4b5563}.event-event:hover{background-color:#f9fafb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.event-default{background-color:#fff;color:#6b7280;border:1px solid #d1d5db;border-left:3px solid #6b7280}.event-default:hover{background-color:#f9fafb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cs-modal-overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:10000;padding:16px}.cs-modal-content{background-color:var(--critical-green);border:2px solid var(--critical-cream);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);width:600px;max-width:90vw;margin:auto;max-height:80vh;overflow-y:auto;position:relative;top:50%;transform:translateY(-50%)}.cs-modal-inner{padding:24px;background-color:var(--critical-green)}.event-date-tbc,.event-date,.event-time{font-size:14px;color:var(--critical-cream);margin-bottom:8px}.event-date-tbc{opacity:.8}.event-content{margin-top:16px;font-size:14px;color:var(--critical-cream)}.event-description{line-height:1.6;max-width:none}.event-hosts{margin-top:16px;font-size:14px;color:var(--critical-cream)}.hosts-title{font-weight:600;font-size:16px;color:var(--critical-cream);margin-bottom:12px}.hosts-list{}.host-item{display:grid;grid-template-columns:60px auto;grid-template-rows:60px;gap:12px;align-items:end;margin-bottom:16px}.host-image{width:60px;height:60px;object-fit:cover;margin:0}.host-initials{width:60px;height:60px;background-color:var(--critical-cream);display:flex;align-items:center;justify-content:center;color:var(--critical-green);font-weight:600;font-size:16px}.host-name{font-size:16px;font-weight:500;color:var(--critical-cream);line-height:1.4;padding:0 4px}.host-link{background-color:var(--critical-highlight);color:var(--critical-cream);text-decoration:none;font-weight:500;padding:.1rem .3rem;transition:opacity .2s}.host-link:hover{opacity:.8}.event-actions{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--critical-cream)}.btn-details{display:inline-flex;align-items:center;padding:.2rem .4rem;font-size:14px;font-weight:500;background-color:var(--critical-highlight);color:var(--critical-cream);text-decoration:none;transition:opacity .2s}.btn-details:hover{opacity:.8}.btn-register{display:inline-flex;align-items:center;padding:.2rem .4rem;font-size:14px;font-weight:700;background-color:var(--critical-cream);color:var(--critical-green);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:all .2s}.btn-register:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.registration-note{font-size:14px;color:var(--critical-cream);opacity:.7;font-style:italic}.btn-register.event-passed{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-register.event-passed:hover{transform:none;box-shadow:none}.event-passed-text{font-size:12px;color:var(--critical-cream);opacity:.5;font-style:italic}@media(max-width:640px){.calendar-navigation{margin-left:calc(-1 * var(--page-gutter));margin-right:calc(-1 * var(--page-gutter))}.calendar-container{margin-left:calc(-1 * var(--page-gutter));margin-right:calc(-1 * var(--page-gutter))}}@media(max-width:800px){.calendar-header-day{padding:0}.calendar-header-day>span{font-size:5px;display:none}}