#calendar-dialog{width:min(73.75rem,calc(100vw - 2.5rem));padding:1.5rem 1.75rem;max-height:calc(100dvh - 6.875rem);overflow:auto;color:inherit}#calendar-dialog h2{margin:0.25rem 0 0;font-size:1.5625rem}.calendar-kicker{display:block;font-size:0.625rem;letter-spacing:.08em;color:#839276}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin:1.375rem 0 0.75rem}.calendar-toolbar>div{display:flex;align-items:center;gap:0.4375rem}.calendar-toolbar button{border:0.0625rem solid #d5ddca;border-radius:0.4375rem;padding:0.4375rem 0.625rem;font-size:0.75rem}.calendar-toolbar strong{font-size:1.125rem;margin:0 0.4375rem}.calendar-toolbar [aria-pressed=true]{background:#e5ecd9}.calendar-primary{display:inline-flex;align-items:center;justify-content:center;border:0.0625rem solid #bccba9!important;border-radius:0.4375rem;padding:0.5625rem 0.75rem!important;background:#eaf0e0!important;color:#4b6040!important;font-size:0.75rem;text-decoration:none}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 17.8125rem;gap:1.375rem}.calendar-main{min-width:0}.calendar-legend{display:flex;gap:0.9375rem;font-size:0.625rem;opacity:.7;margin:0.3125rem 0 0.75rem}#calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:0.0625rem solid #ccd5c0;border-left:0.0625rem solid #ccd5c0;border-radius:0.3125rem;overflow:hidden}.calendar-weekday{text-align:center;font-size:0.6875rem;padding:0.625rem 0;background:#f0f3e9;border-right:0.0625rem solid #ccd5c0;border-bottom:0.0625rem solid #ccd5c0}.calendar-weekday:first-child{color:#ac817d}.calendar-cell{min-height:6.125rem;padding:0.375rem 0.1875rem;min-width:0;border-right:0.0625rem solid #d9dfd0;border-bottom:0.0625rem solid #d9dfd0;background:#fffefa77}.calendar-cell.outside{background:#e9ede244}.calendar-cell.outside .calendar-day{opacity:.4}.calendar-cell.selected{box-shadow:inset 0 0 0 0.09375rem #93a87d;background:#f2f6eb}.calendar-day{width:1.625rem;height:1.5625rem;border-radius:50%;display:block;font-size:0.6875rem;padding:0!important;margin-bottom:0.25rem}.today .calendar-day{background:#798f62;color:white}.calendar-chip{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:0.5625rem;padding:0.25rem 0.3125rem!important;margin:0.1875rem 0;border-radius:0.25rem;line-height:1.4}.user-event{background:#e0e9d5;border-left:0.125rem solid #93a87d}.official-event{background:#eeede5;border:0.0625rem dashed #c7c7b8}.cancelled{text-decoration:line-through;opacity:.6}.calendar-more{font-size:0.5625rem;opacity:.65}.week-view .calendar-cell{min-height:15rem}.week-view .calendar-chip{white-space:normal}.calendar-important{margin-top:1.25rem;border-top:0.0625rem solid #ccd5c0;padding-top:0.875rem}.calendar-important summary{font-size:0.8125rem;cursor:pointer}.calendar-important small{font-size:0.625rem;opacity:.6;margin-left:0.5rem}.calendar-notice{display:block;text-align:left;width:100%;font-size:0.6875rem;line-height:1.6;padding:0.625rem 0.1875rem!important;border-bottom:0.0625rem dashed #d5ddcb}.calendar-sync{font-size:0.5625rem;line-height:1.7;opacity:.55}#calendar-detail{padding:1.125rem;border:0.0625rem solid #d7dfcc;border-radius:0.5625rem;background-color:#fafbf5;background-image:linear-gradient(#9cab8612 0.0625rem,transparent 0.0625rem);background-size:100% 1.625rem;min-width:0;align-self:start;min-height:18.75rem}#calendar-detail h3{font-size:1.1875rem;line-height:1.5;margin:0.625rem 0;overflow-wrap:anywhere}#calendar-detail h4{font-size:0.8125rem;margin:1.125rem 0 0.5rem}.calendar-muted,.calendar-event-date{font-size:0.6875rem;line-height:1.7;opacity:.65}.calendar-description{font-size:0.75rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-back{font-size:0.625rem;opacity:.65;padding:0 0 1rem!important}.calendar-agenda{display:block;text-align:left;width:100%;font-size:0.75rem;line-height:1.6;border-bottom:0.0625rem dashed #ced7c1;padding:0.8125rem 0!important;overflow-wrap:anywhere}.calendar-agenda small{display:block;font-size:0.625rem;opacity:.6;margin-top:0.3125rem}.calendar-people{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0.9375rem 0}.calendar-people>span{display:flex;align-items:center;gap:0.3125rem;font-size:0.625rem}.calendar-people img{width:1.6875rem;height:1.6875rem;object-fit:cover;border-radius:50%;border:0.0625rem solid #d0dac5}.calendar-actions{display:flex;flex-wrap:wrap;gap:0.4375rem;margin:0.875rem 0}.calendar-actions>button:not(.calendar-primary){font-size:0.625rem;opacity:.7}.calendar-chat-log{max-height:16.25rem;overflow:auto;padding:0.5rem;background-image:linear-gradient(#a1ac8c22 0.0625rem,transparent 0.0625rem);background-size:100% 1.5625rem;border:0.0625rem solid #d3ddc7;border-radius:0.375rem}.calendar-message{margin:0.5rem 0;max-width:92%;padding:0.375rem 0.5rem;background:#ffffff99;border:0.0625rem solid #dce2d5;border-radius:0.4375rem}.calendar-message.mine{margin-left:auto;background:#eaf0e1}.calendar-message small{font-size:0.5625rem;opacity:.65}.calendar-message p{font-size:0.75rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:0.25rem 0}#calendar-chat-form{display:grid;gap:0.375rem;margin-top:0.5rem}#calendar-chat-form textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:3.75rem;background:transparent;color:inherit;border:0.0625rem solid #bbcaa9;border-radius:0.375rem;padding:0.5rem;font:inherit;font-size:0.75rem}#calendar-chat-form button{justify-self:end;font-size:0.6875rem}#calendar-older{font-size:0.625rem;opacity:.7;padding-bottom:0.5rem}#calendar-event-editor{width:min(38.75rem,calc(100vw - 2.25rem));max-height:85dvh;overflow:auto;padding:1.5625rem}#calendar-event-form>label,.calendar-date-fields label{display:grid;gap:0.4375rem;font-size:0.75rem;margin:0.875rem 0}.calendar-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}#calendar-event-form input:not([type=checkbox]),#calendar-event-form textarea{width:100%;box-sizing:border-box;border:0.0625rem solid #c8d4ba;border-radius:0.375rem;background:transparent;color:inherit;padding:0.625rem;font:inherit;font-size:0.75rem}#calendar-event-form textarea{resize:vertical}#calendar-event-form fieldset{border:0.0625rem dashed #c8d4ba;border-radius:0.5rem;padding:0.75rem;margin:0.9375rem 0}#calendar-event-form legend{font-size:0.75rem}.calendar-all{display:flex;align-items:center;gap:0.4375rem;font-size:0.75rem;margin:0.625rem 0 0.9375rem}#calendar-friend-list{max-height:10.625rem;overflow:auto;margin-top:0.625rem}#calendar-friend-list label{display:flex;gap:0.5625rem;align-items:center;padding:0.5rem;font-size:0.75rem}#calendar-friend-list label[hidden]{display:none}#calendar-friend-list img{width:2rem;height:2rem;border-radius:50%;object-fit:cover}#calendar-event-error{font-size:0.75rem;color:#ae625b}#calendar-detail>small{display:block;font-size:0.5625rem;opacity:.6;margin:0.625rem 0}
[data-theme=dark] #calendar-detail{background-color:#28332c;border-color:#4a5a43}[data-theme=dark] .calendar-cell{background:#28332b}[data-theme=dark] .calendar-cell.outside{background:#242b26}[data-theme=dark] .calendar-cell.selected{background:#36432f}[data-theme=dark] .calendar-weekday{background:#34412e}[data-theme=dark] .calendar-cell,[data-theme=dark] .calendar-weekday,[data-theme=dark] #calendar-grid{border-color:#526049}[data-theme=dark] .user-event,[data-theme=dark] .calendar-message.mine{background:#405336}[data-theme=dark] .official-event,[data-theme=dark] .calendar-message{background:#354139}[data-theme=dark] .calendar-primary{background:#3d5132!important;color:#e3edd9!important;border-color:#657b53!important}[data-theme=dark] .calendar-toolbar [aria-pressed=true]{background:#405336}
@media(max-width:950px){.calendar-layout{grid-template-columns:minmax(0,1fr) 15.3125rem;gap:0.75rem}#calendar-dialog{padding:1.25rem}.calendar-cell{min-height:5.625rem}.calendar-chip{font-size:0.5rem;padding:0.1875rem!important}}@media(max-width:700px){.calendar-layout{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-toolbar strong{font-size:1rem}.calendar-cell{min-height:5.125rem}.calendar-important small{display:block;margin:0.3125rem 0}#calendar-dialog{padding:1.125rem 0.75rem}#calendar-detail{min-height:10.625rem}}
.calendar-layout:has(.calendar-day-summary){grid-template-columns:minmax(0,1fr) 12.8125rem}
#calendar-detail.calendar-day-summary{min-height:0;padding:0.75rem}
#calendar-detail.calendar-day-summary h3{font-size:1rem;margin:0.4375rem 0}
.calendar-day-summary .calendar-kicker{font-size:0.5625rem}
.calendar-day-summary .calendar-agenda{font-size:0.6875rem;padding:0.625rem 0!important}
.calendar-day-summary .calendar-agenda small{font-size:0.5625rem}
.calendar-cell{cursor:pointer}.calendar-cell:focus-visible{outline:0.125rem solid #8fa577;outline-offset:-0.125rem}.calendar-cell:focus-within{position:relative}
a.calendar-notice{box-sizing:border-box;color:inherit;text-decoration:none}a.calendar-notice:hover{text-decoration:underline}a.calendar-notice:focus-visible{outline:0.125rem solid #8fa577;outline-offset:0.125rem}
@media(max-width:700px){.calendar-layout:has(.calendar-day-summary){grid-template-columns:1fr}}

.event-chat-dialog h2{font-size:1.3125rem;margin:0.5rem 0 0.75rem}.event-chat-dialog .calendar-chat-log{height:calc(100% - 15rem);min-height:10rem;max-height:none}.event-chat-dialog form{display:flex;gap:0.5625rem;margin-top:0.75rem;align-items:end}.event-chat-dialog textarea{flex:1;resize:vertical;min-height:4.0625rem;background:transparent;color:inherit;border:0.0625rem solid #bbcaa9;border-radius:0.375rem;padding:0.625rem;font:inherit;font-size:0.8125rem}.event-chat-dialog form button{font-size:0.75rem;padding:0.625rem;white-space:nowrap}.event-chat-dialog .calendar-message{max-width:75%}

#calendar-detail.calendar-day-summary{position:sticky;top:2.625rem;max-height:calc(100dvh - 14.375rem);overflow:auto}@media(max-width:700px){#calendar-detail.calendar-day-summary{position:static;max-height:none}}

/* Keep the calendar and its fixed-size detail card in one scrolling row. */
.calendar-layout,.calendar-layout:has(.calendar-day-summary){grid-template-columns:minmax(0,1fr) 13.75rem;align-items:start;gap:1.125rem}
#calendar-detail,#calendar-detail.calendar-day-summary{position:static;top:auto;width:13.75rem;height:17.5rem;min-height:0;max-height:none;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:0.75rem}
@media(max-width:700px){.calendar-layout,.calendar-layout:has(.calendar-day-summary){grid-template-columns:minmax(0,1fr) 10.625rem;gap:0.75rem}#calendar-detail,#calendar-detail.calendar-day-summary{width:10.625rem;height:17.5rem}}

#calendar-detail,#calendar-detail.calendar-day-summary{height:auto;max-height:var(--calendar-grid-height,39.125rem);min-height:0;align-self:start}

#calendar-grid{display:block}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{min-height:6.125rem;position:relative;isolation:isolate}.calendar-week .calendar-cell,.week-view .calendar-week .calendar-cell{min-height:0;padding:0.375rem 0.1875rem}.week-view .calendar-week{min-height:15rem}.calendar-week .calendar-event-bar{z-index:1;align-self:stretch;min-width:0;width:auto;margin:0.0625rem 0.1875rem;padding:0.125rem 0.375rem!important;white-space:nowrap;line-height:1rem;font-size:0.625rem;text-align:left;box-sizing:border-box}.calendar-event-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0;border-left-style:dotted}.calendar-event-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;border-right-style:dotted}.calendar-week>.calendar-more{z-index:1;align-self:center;margin:0 0.1875rem;font-size:0.5625rem;text-align:left}.calendar-week .calendar-cell.selected{box-shadow:inset 0 0 0 0.09375rem #93a87d}@media(max-width:950px){.calendar-week{min-height:5.625rem}.calendar-week .calendar-event-bar{font-size:0.5625rem}}@media(max-width:700px){.calendar-week{min-height:5.125rem}}
