#calendarModal.public-calendar-modal{padding:0!important;z-index:1070}
#calendarModal .modal-dialog{width:calc(100% - 32px);max-width:960px;margin:16px auto;min-height:calc(100% - 32px)}
#calendarModal .modal-content{height:min(840px,calc(100vh - 32px));height:min(840px,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e9ed;border-radius:24px;background:#fff;box-shadow:0 24px 80px #17202a38}
#calendarModal .modal-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid #e5e9ed;background:#fff}
#calendarModal .public-calendar-heading{display:flex;align-items:center;gap:12px;min-width:0}
#calendarModal .public-calendar-heading>div{min-width:0}
#calendarModal .public-calendar-heading-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#fff4cc;color:#303133}
#calendarModal .public-calendar-heading-icon svg{width:30px;height:30px}
#calendarModal .public-calendar-heading h2{margin:0;font-size:20px;line-height:1.3;font-weight:900;color:#202733}
#calendarModal .public-calendar-heading p{margin:3px 0 0;font-size:12px;color:#7a8594;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#calendarModal .btn-close{flex:0 0 22px;margin:0;padding:10px;border-radius:12px;opacity:.7}
#calendarModal .btn-close:focus-visible,#calendarModal [data-calendar-retry]:focus-visible{outline:3px solid #e6b627;outline-offset:3px}
#calendarModal .modal-body{flex:1 1 auto;min-height:0;position:relative;padding:0;overflow:hidden;background:#f5f7fa}
#calendarModal iframe{display:block;width:100%;height:100%;border:0;background:#f5f7fa}
#calendarModal .public-calendar-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#f5f7fa;color:#7a8594;padding:20px;text-align:center;font-size:13px}
#calendarModal [hidden]{display:none!important}
#calendarModal .public-calendar-loading p{margin:0}
#calendarModal .public-calendar-spinner{width:32px;height:32px;border:3px solid #ece4cc;border-top-color:#e9af1b;border-radius:50%;animation:udCalendarSpin .8s linear infinite}
#calendarModal [data-calendar-retry]{border:1px solid #edcd6e;background:#fff4cd;color:#896210;border-radius:10px;padding:10px 16px;font-weight:800}
@keyframes udCalendarSpin{to{transform:rotate(360deg)}}
html[data-theme="dark"] #calendarModal .modal-content,html[data-theme="dark"] #calendarModal .modal-header{background:#1d2630;border-color:#35404c}
html[data-theme="dark"] #calendarModal .public-calendar-heading h2{color:#f1f3f5}
html[data-theme="dark"] #calendarModal .public-calendar-heading p{color:#aab5c2}
html[data-theme="dark"] #calendarModal .public-calendar-heading-icon{background:#3a311b;color:#f1f3f5}
html[data-theme="dark"] #calendarModal .modal-body,html[data-theme="dark"] #calendarModal iframe,html[data-theme="dark"] #calendarModal .public-calendar-loading{background:#151d27;color:#b4bfcb}
html[data-theme="dark"] #calendarModal .btn-close{filter:invert(1) grayscale(1)}
@media(max-width:620px){#calendarModal .modal-dialog{width:calc(100% - 16px);margin:8px auto;min-height:calc(100% - 16px)}#calendarModal .modal-content{height:calc(100vh - 16px);height:calc(100dvh - 16px);border-radius:19px}#calendarModal .modal-header{padding:13px 14px;gap:10px}#calendarModal .public-calendar-heading{gap:9px}#calendarModal .public-calendar-heading h2{font-size:17px}#calendarModal .public-calendar-heading p{font-size:11px}#calendarModal .public-calendar-heading-icon{width:38px;height:38px;flex-basis:38px}#calendarModal .public-calendar-heading-icon svg{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){#calendarModal .public-calendar-spinner{animation:none}}
