/* Shared by full-page editors. Offsets follow the actual header heights. */
.admin-shell .content [data-card-sticky] {
    position: sticky;
    top: var(--card-sticky-top, 64px);
    z-index: var(--card-sticky-layer, 15);
    flex-shrink: 0;
    background: var(--admin-surface);
    box-shadow: 0 5px 10px color-mix(in srgb, var(--admin-text) 7%, transparent);
}
.admin-shell .content [data-card-sticky="actions"] {
    padding-block: 8px;
    background: var(--admin-bg);
    flex-wrap: wrap;
    row-gap: 8px;
}
.admin-shell .content [data-card-sticky="actions"] > div:has(button) {
    flex-wrap: wrap;
    row-gap: 8px;
}
[data-card-sticky-scope] :where(input, select, textarea, [id]) {
    scroll-margin-top: calc(var(--card-sticky-total, 200px) + 16px);
}
[data-card-sticky-scope] .leaflet-container { isolation: isolate; z-index: 0; }
/* Dialog titles and actions stay above a separately scrolling form body. */
.admin-shell .content [data-card-editor-dialog] {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 32px);
    overflow: hidden;
}
[data-card-editor-dialog] > [data-card-dialog-title] { order: -2; flex-shrink: 0; }
[data-card-editor-dialog] > [data-card-dialog-actions] {
    order: -1;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 8px;
}
[data-card-editor-dialog] > [data-card-dialog-body] { min-height: 0; overflow-y: auto; }
[data-card-editor-dialog] :where(input, select, textarea, [id]) { scroll-margin-top: 8px; }
@media print {
    .admin-shell .content [data-card-sticky] { position: static; box-shadow: none; }
}
