/* Fix Leaflet tiles broken by Tailwind's preflight CSS reset (img max-width: 100%) */
.leaflet-container img {
    max-width: none !important;
    max-height: none !important;
}
.leaflet-container .leaflet-tile-pane {
    z-index: 1;
}

/* TinyMCE in modals: dropdowns and dialogs must appear above modal overlay (z-index 9998) */
.tox-tinymce-aux,
.tox-dialog,
.tox-dialog__header,
.tox-menu,
.tox-collection__dialog {
    z-index: 99999 !important;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 3.5rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/* Admin list tables: sticky header inside scroll region */
.admin-table-scroll {
    max-height: min(70vh, 900px);
    overflow: auto;
}

.admin-table-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: rgb(249 250 251);
    box-shadow: inset 0 -1px 0 rgb(229 231 235);
}

@keyframes slideIn {
    from { opacity: 0; transform: translateY(0.5rem); }
    to { opacity: 1; transform: translateY(0); }
}
