/* MudBlazor opens every dialog with `animation: mud-open-dialog-center .1s ... both`, whose last
   keyframe is `transform: scale(1)`. Fill-mode `both` keeps that transform on .mud-dialog for
   the life of the dialog, and a transformed element is the containing block for every
   position:fixed descendant - so a fixed pop-up or full-screen overlay rendered INSIDE a dialog
   (VisitorPhoto's hover preview and click-to-zoom in the banned entry dialog, 2026-09-01) is
   positioned against the dialog and clipped by its overflow-y:auto instead of covering the
   viewport. Ending the animation without a retained fill restores the natural state, which is
   visually identical to the last keyframe and carries no transform.

   Why a plain stylesheet: the dialogs are rendered by MudDialogProvider, a top-level sibling in
   AdminShell (and two pages), so no component's scoped CSS has them as descendants. */
.mud-dialog {
    animation-fill-mode: none;
}

/* Kiosk dialog bodies. MudDialog.ContentStyle is obsolete in MudBlazor 9, and its replacement
   ContentClass needs a real class - which cannot be scoped CSS, for the same reason as above:
   MudDialogProvider renders the dialog outside the declaring component's subtree. */
.kiosk-dialog-content {
    display: flex;
    flex-direction: column;
}

/* The language list scrolls; the destination picker manages its own inner scroller instead. */
.kiosk-dialog-content-scroll {
    gap: 20px;
    padding: 20px 24px;
    overflow-y: auto;
}

.kiosk-dialog-content-tight {
    gap: 10px;
    padding: 12px 16px;
    overflow: hidden;
}
