.mbe-room {
  --fc-border-color: color-mix(in srgb, currentColor 22%, transparent);
  --fc-page-bg-color: Canvas;
  --fc-list-event-hover-bg-color: color-mix(in srgb, currentColor 10%, Canvas);
  --fc-today-bg-color: rgb(137 157 99 / 14%);
  --fc-event-bg-color: #436528;
  --fc-event-border-color: #436528;
  --fc-event-text-color: #fff;
  --fc-button-bg-color: #436528;
  --fc-button-border-color: #436528;
  --fc-button-hover-bg-color: #334d20;
  --fc-button-hover-border-color: #334d20;
  --fc-button-active-bg-color: #334d20;
  --fc-button-active-border-color: #334d20;
  min-width: 0;
}

.mbe-controls { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-end: .8rem; }
.mbe-actions {
  position: relative;
  z-index: 6;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .45rem;
  margin-block-end: .65rem;
}
.mbe-actions summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding-inline: .6rem;
  border: 1px solid var(--fc-border-color);
  border-radius: 6px;
  background: Canvas;
  color: CanvasText;
  list-style: none;
  cursor: pointer;
}
.mbe-actions summary::-webkit-details-marker { display: none; }
.mbe-actions summary:hover, .mbe-actions details[open] > summary {
  background: var(--fc-list-event-hover-bg-color);
}
.mbe-actions summary svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mbe-panel {
  position: absolute;
  inset-inline-end: 0;
  box-sizing: border-box;
  width: max-content;
  max-width: 100%;
  display: grid;
  gap: .55rem;
  margin-block-start: .3rem;
  padding: .65rem;
  border: 1px solid var(--fc-border-color);
  border-radius: 6px;
  background: Canvas;
  color: CanvasText;
  box-shadow: 0 .4rem 1rem rgb(0 0 0 / 15%);
}
.mbe-panel label { display: grid; gap: .25rem; min-width: 0; }
.mbe-panel input { box-sizing: border-box; width: 100%; min-width: 0; }
.mbe-print-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.mbe-print table { width: 100%; border-collapse: collapse; }
.mbe-print th, .mbe-print td { padding: .45rem; text-align: start; border-bottom: 1px solid GrayText; overflow-wrap: anywhere; }
@media print {
  body:has(.mbe-print) :is(header, footer, .site-header, .site-footer, #wpadminbar, .mbe-print-actions, #moove_gdpr_cookie_info_bar, #moove_gdpr_save_popup_settings_button) { display: none !important; }
  body:has(.mbe-print) .wp-site-blocks { padding-block: 0 !important; }
  .mbe-print, .mbe-print * { background: white !important; color: black !important; }
  .mbe-print tr { break-inside: avoid; }
}
.mbe-room button:not(.fc-button) {
  border: 1px solid currentColor;
  border-radius: 5px;
  padding: .35em .65em;
  min-height: 36px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.mbe-room button[aria-pressed="true"], .mbe-room button[type="submit"] {
  background: #436528;
  color: #fff;
}
.mbe-room [data-add] { margin-inline-start: auto; }
.mbe-room [data-status]:empty, .mbe-room [data-error]:empty { display: none; }
.mbe-room .fc [data-navlink] { text-decoration: underline; text-underline-offset: .2em; }
.mbe-room .fc .fc-toolbar-title { font-size: 1.2rem; }
.mbe-room .fc .fc-toolbar { gap: .5rem; flex-wrap: wrap; }
.mbe-room .fc .fc-event { cursor: pointer; }
.mbe-room .fc .fc-daygrid-dot-event .fc-event-title { text-overflow: ellipsis; }
.mbe-room :focus-visible { outline: 2px solid #5788bd; outline-offset: 2px; }
.mbe-room dialog {
  box-sizing: border-box;
  width: min(28rem, calc(100% - 2rem));
  max-height: calc(100% - 2rem);
  border: 1px solid currentColor;
  border-radius: 8px;
  padding: 1.2rem;
  background: Canvas;
  color: CanvasText;
}
.mbe-room dialog::backdrop { background: rgb(0 0 0 / 55%); }
.mbe-room dialog h2 { margin: 0; font-size: 1.25rem; overflow-wrap: anywhere; }
.mbe-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .7rem; }
.mbe-room dialog button[data-close] {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.mbe-room dialog button[data-close] span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  font-size: 1.125rem;
  line-height: 1;
}
.mbe-room dialog button[data-close]:focus-visible {
  outline: none;
}
.mbe-room dialog button[data-close]:focus-visible span {
  outline: 2px solid #5788bd;
  outline-offset: 1px;
}
.mbe-room dialog label { display: block; margin-bottom: .7rem; }
.mbe-room dialog input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  margin-block-start: .25rem;
  padding: .35rem .55rem;
  border: 1px solid GrayText;
  border-radius: 4px;
  background: Field;
  color: FieldText;
}
.mbe-room dialog input:focus {
  outline: 2px solid #5788bd;
  outline-offset: 0;
  box-shadow: none;
}
.mbe-dialog-actions { display: flex; justify-content: flex-end; }
.mbe-room dialog [data-cancel]:not([hidden]) { margin-block-start: .75rem; }
@media (max-width: 640px) {
  .mbe-room .fc .fc-daygrid-event .fc-event-time { display: none; }
  .mbe-room .fc .fc-timegrid-event .fc-event-title { overflow-wrap: anywhere; }
  .mbe-room .fc .fc-col-header-cell-cushion { padding-inline: 0; font-size: .72rem; }
}
