.admin-dialog {
    --dialog-border: var(--bs-border-color, #dee2e6);
    color: var(--bs-body-color, #212529);
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--dialog-border);
    border-radius: 1rem;
    padding: 0;
    margin: auto;
    width: min(600px, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    box-shadow: 0 1.5rem 4rem #0003;
}
.admin-dialog::backdrop { background: rgb(15 23 42 / 45%); }
body:has(.admin-dialog[open]) { overflow: hidden; }
.admin-dialog-lg { width: min(1100px, calc(100vw - 2rem)); }
.admin-dialog-fullscreen {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
}
.admin-dialog-fullscreen .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    border-radius: 0;
}
.admin-dialog-fullscreen .modal-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.admin-confirm { width: min(460px, calc(100vw - 2rem)); padding: 1.5rem; font: 1rem/1.6 system-ui, sans-serif; }
.admin-confirm-heading { display: flex; align-items: center; gap: .75rem; }
.admin-confirm-heading h2 { margin: 0; font-size: 1.125rem; font-weight: 600; }
.admin-confirm-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #dc354515; color: #dc3545; font-weight: 700; font-size: 1.4rem; }
.admin-confirm-close { margin-left: auto; border: 0; background: transparent; color: #6c757d; font-size: 1.6rem; cursor: pointer; }
.admin-confirm p { margin: 1rem 0 1.5rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-confirm-actions { display: flex; justify-content: flex-end; gap: .75rem; }
.admin-confirm-actions button { padding: .5rem 1rem; font: inherit; border: 1px solid var(--dialog-border); border-radius: .5rem; cursor: pointer; }
.admin-confirm-cancel { background: var(--bs-body-bg, #fff); color: inherit; }
.admin-confirm-cancel:hover { background: var(--bs-tertiary-bg, #f8f9fa); }
.admin-confirm-accept { background: #dc3545; color: #fff; border-color: #dc3545 !important; }
.admin-confirm-accept:hover { background: #bb2d3b; }
.admin-confirm button:focus-visible { outline: 3px solid #0d6efd80; outline-offset: 3px; }
