/* Public calendar page layout. Calendar widget styling lives in its shadow-root stylesheet. */
.public-calendar-workspace{min-width:0;padding:24px;border:1px solid #dfe6ee;border-radius:12px;background:#fff}
.public-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.public-calendar-heading h1{margin:0 0 8px;font-size:26px;line-height:1.2;color:#20324a}
.public-calendar-heading h2{margin:0;font-size:18px}
.public-calendar-heading p,.public-calendar-help{margin:0;color:#68778b;font-size:13px;line-height:1.5}
.public-calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}
.public-calendar-filters{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0;border-block:1px solid #e8edf3;margin-bottom:12px}
.public-calendar-filters fieldset{border:0;padding:0;margin:0;min-width:0}
.public-calendar-filters legend,.public-calendar-filter-controls>label{font-size:12px;color:#68778b}
.public-calendar-filters legend{margin-bottom:8px}
.public-calendar-choices{display:flex;gap:10px 16px;flex-wrap:wrap}
.public-calendar-choice{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}
.public-calendar-choice input{width:16px;height:16px;margin:0;accent-color:#245de8}
.public-calendar-choice i{width:8px;height:8px;border-radius:50%;flex:none}
.public-calendar-filter-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.public-calendar-filter-controls>label{display:grid;gap:6px;min-width:150px;max-width:260px}
.public-calendar-help{padding:16px 0 0}
.public-calendar-selected-day{margin-top:16px;border-top:1px solid #dfe6ee;padding-top:20px}
.public-calendar-day-event{display:grid;gap:5px;width:100%;padding:14px 0;border:0;border-bottom:1px solid #e8edf3;background:#fff;text-align:left;color:#20324a;cursor:pointer}
.public-calendar-day-event span{font-size:12px;color:#68778b}
.public-detail-actions{display:grid;gap:10px;margin-top:16px}
.public-calendar-workspace [hidden]{display:none}
@media(max-width:900px){.public-calendar-heading{align-items:flex-start;flex-direction:column}.public-calendar-filter-controls{width:100%}}
@media(max-width:640px){.public-calendar-workspace{padding:14px;border-radius:8px}.public-calendar-heading h1{font-size:22px}.public-calendar-heading{gap:12px}.public-calendar-actions{width:100%}.public-calendar-actions .btn{flex:1;font-size:12px}.public-calendar-filter-controls>label{flex:1;max-width:none}.public-calendar-filter-controls>.btn{flex:1}.public-calendar-filters{gap:12px}.public-calendar-choices{gap:12px}.public-calendar-choice{min-height:32px}}
