/* Native top-layer dialog, explicitly centered independently of theme dialog defaults. */
dialog.bem-calendar-day-dialog {
    position: fixed !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: min(680px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    max-height: min(85vh, calc(100dvh - 32px));
    overflow: auto;
    border: 1px solid #dce5df;
    border-radius: 16px;
    padding: 24px;
    color: #233c35;
    background: #fff;
    box-sizing: border-box;
    font: 14px/1.55 system-ui, sans-serif;
    box-shadow: 0 20px 70px #182c2740;
}
.bem-calendar-day-dialog::backdrop { background: #182c2799; }
.bem-calendar-modal-open { overflow: hidden; }
.bem-calendar-day-header { display: flex; gap: 20px; align-items: start; justify-content: space-between; margin-bottom: 20px; }
.bem-calendar-day-dialog h2 { font-size: 22px; line-height: 1.3; margin: 0; }
.bem-calendar-day-dialog button { cursor: pointer; padding: 8px 14px; flex-shrink: 0; }
.bem-calendar-day-content { overflow-wrap: anywhere; }
.bem-calendar-day-content .bem-calendar-classic-day-core { display: block; }
.bem-calendar-day-content .bem-calendar-event,
.bem-calendar-day-content .bem-calendar-holiday-label {
    display: block; white-space: normal; overflow: visible; text-overflow: clip;
    height: auto; max-height: none; padding: 10px 12px; margin: 8px 0; font-size: 14px;
}
.bem-calendar-day-dialog a { color: #326f60; }
.bem-calendar-request { margin-bottom: 24px; min-width: 0; }
.bem-calendar-request .bem-calendar { max-width: 100%; container-type: inline-size; }
.bem-calendar-request .bem-calendar-three-months { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bem-calendar-request .bem-calendar-classic-month-block { min-width: 0; border-radius: 8px; overflow: hidden; }
.bem-calendar-request .bem-calendar-classic-day { min-height: 76px; min-width: 0; cursor: pointer; }
.bem-calendar-request .bem-calendar-event { white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
.bem-range-selected { background: #dfeee3 !important; }
.bem-range-preview { background: #e0ebf5 !important; box-shadow: inset 0 -3px #6389aa; }
.bem-range-start, .bem-range-end { box-shadow: inset 0 0 0 2px #426d65; }
.bem-calendar [data-date]:focus-visible { outline: 3px solid #b88630; outline-offset: -3px; }
.bem-calendar-request [role=status] { font-size: 13px; }
@container (max-width: 850px) {
    .bem-calendar-request .bem-calendar-three-months { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
    .bem-calendar-request .bem-calendar-three-months { grid-template-columns: 1fr; }
    .bem-calendar-day-header { flex-direction: column; gap: 12px; }
}
