calendar-page{min-width:0;display:block}.calendar-page{min-width:0;max-width:1560px;margin-inline:auto;position:relative}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:16px;display:flex}.calendar-toolbar h2{font:var(--md-sys-typescale-headline-small-weight) var(--md-sys-typescale-headline-small-size) / var(--md-sys-typescale-headline-small-line-height) var(--app-font);margin:0}.calendar-month-actions{align-items:center;gap:4px;min-width:0;display:flex}.calendar-date-field{flex:0 0 176px;width:176px}.calendar-native-date{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.calendar-content--month{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:start;gap:24px;display:grid}.calendar-grid{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface);min-width:0;overflow:hidden}.calendar-weekday-row,.calendar-days,.calendar-bars{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday-row{text-align:center;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-low);font:var(--md-sys-typescale-body-large-weight) var(--md-sys-typescale-body-large-size) / var(--md-sys-typescale-body-large-line-height) var(--app-font);padding-block:12px}.calendar-week{border-block-start:1px solid var(--md-sys-color-outline-variant);height:144px;position:relative}.calendar-days{height:100%}.calendar-cell{border-inline-end:1px solid var(--md-sys-color-outline-variant);min-width:0;position:relative}.calendar-cell:last-child{border-inline-end:0}.calendar-cell>button{width:100%;height:100%;color:var(--md-sys-color-on-surface);cursor:pointer;text-align:start;background:0 0;border:0;flex-direction:column;align-items:center;padding:4px;display:flex}.calendar-cell>button:hover,.calendar-cell.is-selected{background:var(--md-sys-color-surface)}.calendar-day-number{aspect-ratio:1;border-radius:var(--md-sys-shape-corner-full);width:40px;height:40px;font:var(--md-sys-typescale-body-large-weight) var(--md-sys-typescale-body-large-size) / var(--md-sys-typescale-body-large-line-height) var(--app-font);flex:none;place-items:center;display:grid;position:relative}.calendar-cell.is-other-month .calendar-day-number{color:var(--md-sys-color-on-surface-variant)}.calendar-day-number:after{content:"";border-radius:inherit;opacity:0;background:currentColor;position:absolute;inset:0}.calendar-cell>button:hover .calendar-day-number:after{opacity:.08}.calendar-cell>button:active .calendar-day-number:after{opacity:.12}.calendar-cell [aria-current=date] .calendar-day-number{color:var(--md-sys-color-primary);outline:1px solid var(--md-sys-color-primary);outline-offset:-1px}.calendar-cell.is-selected .calendar-day-number{color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary);outline:0}.calendar-more{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-label-small-size);margin-block-start:auto;overflow:hidden}.calendar-bars{pointer-events:none;grid-template-rows:repeat(3,20px);gap:3px 4px;position:absolute;inset:52px 3px auto}.calendar-bar{border-radius:var(--md-sys-shape-corner-extra-small);text-align:start;pointer-events:none;min-width:0;font:var(--md-sys-typescale-label-small-weight) var(--md-sys-typescale-label-small-size) / var(--md-sys-typescale-label-small-line-height) var(--app-font);border:0;align-items:center;gap:4px;padding-inline:6px;display:flex}.calendar-bar span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-bar--birthdays{color:var(--md-sys-color-on-tertiary-container);background:var(--md-sys-color-tertiary-container)}.calendar-bar--activities{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container)}.calendar-bar--lives{color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container)}.calendar-bar.continues-before{border-inline-start:3px double;border-start-start-radius:0;border-end-start-radius:0}.calendar-bar.continues-after{border-inline-end:3px double;border-start-end-radius:0;border-end-end-radius:0}.calendar-day-agenda{min-width:0;top:calc(var(--top-bar-height,64px) + 16px);position:sticky}.calendar-day-agenda>header{padding-block:6px 16px}.calendar-day-agenda h3{font:var(--md-sys-typescale-title-medium-weight) var(--md-sys-typescale-title-medium-size) / var(--md-sys-typescale-title-medium-line-height) var(--app-font);margin:0 0 4px}.calendar-day-agenda header>span{color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-label-small-size)}.calendar-list{--md-list-container-color:var(--md-sys-color-surface);width:100%;min-width:0}.calendar-list md-list-item{min-width:0}.calendar-list [slot=headline]{overflow-wrap:anywhere}.calendar-list-supporting{overflow-wrap:anywhere;flex-direction:column;gap:4px;display:flex}.calendar-list [slot=headline] a,.calendar-voice-roles a{color:var(--md-sys-color-primary)}.calendar-avatar{background:var(--md-sys-color-surface-container);place-items:center;width:56px;height:56px;display:grid;position:relative;overflow:hidden}.calendar-avatar--birthdays{border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);width:40px;height:40px;color:var(--md-sys-color-on-primary-container)}.calendar-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.calendar-avatar img:not([hidden])~svg{visibility:hidden}.calendar-source-link{color:var(--md-sys-color-primary);font:var(--md-sys-typescale-label-large-weight) var(--md-sys-typescale-label-large-size) / var(--md-sys-typescale-label-large-line-height) var(--app-font);align-items:center;gap:4px;padding:8px 16px;display:flex}.calendar-notice{color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size)}.calendar-loading{background:var(--md-sys-color-surface);place-items:center;min-height:250px;display:grid;position:absolute;inset:140px 0 auto}@media (max-width:960px){.calendar-content--month{grid-template-columns:minmax(0,1fr);gap:20px}.calendar-day-agenda{position:static}}@media (max-width:640px){.calendar-toolbar{gap:8px}.calendar-toolbar h2{font-size:var(--md-sys-typescale-title-large-size)}.calendar-month-actions{flex-wrap:wrap;justify-content:space-between;gap:0;width:100%}.calendar-month-actions .button{padding-inline:12px}.calendar-date-field{flex-basis:100%;width:100%;margin-block-start:8px}.calendar-week{height:140px}.calendar-cell>button{padding:3px}.calendar-day-number{width:40px;padding-inline:0}.calendar-bars{gap:3px 2px;inset-block-start:48px;inset-inline:1px}.calendar-bar{font-size:var(--md-sys-typescale-label-small-size);gap:1px;padding-inline:3px}.calendar-bar svg{display:none}.calendar-more{font-size:var(--md-sys-typescale-label-small-size)}}.calendar-mobile-agenda{max-width:960px;margin-inline:auto;position:static}.calendar-date-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding-block-end:20px;display:grid}.calendar-date-strip button{min-width:0;min-height:72px;color:var(--md-sys-color-on-surface);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:4px 0;display:flex}.calendar-date-strip strong{aspect-ratio:1;border-radius:var(--md-sys-shape-corner-full);width:40px;height:40px;font:var(--md-sys-typescale-body-large-weight) var(--md-sys-typescale-body-large-size) / var(--md-sys-typescale-body-large-line-height) var(--app-font);place-items:center;display:grid}.calendar-date-strip small{font:var(--md-sys-typescale-body-large-weight) var(--md-sys-typescale-body-large-size) / var(--md-sys-typescale-body-large-line-height) var(--app-font)}.calendar-date-strip button[aria-current=date] strong{outline:1px solid var(--md-sys-color-primary);outline-offset:-1px;color:var(--md-sys-color-primary)}.calendar-date-strip button[aria-pressed=true] strong{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);outline:0}.calendar-date-strip button:hover strong{box-shadow:inset 0 0 0 40px color-mix(in srgb, currentColor 8%, transparent)}.calendar-content--month .calendar-date-strip{display:none}
