body.sanctuary-body .modal-backdrop.show {
    opacity: 0.76;
    background: rgba(7, 11, 18, 0.96);
    backdrop-filter: blur(10px);
}

body.sanctuary-body .modal-dialog {
    margin: 48px auto;
}

body.sanctuary-body .modal-content,
body.sanctuary-body .dropdown-menu,
body.sanctuary-body .popover {
    border: 1px solid var(--sanctuary-panel-border, var(--sanctuary-account-border, rgba(255, 255, 255, 0.08)));
    border-radius: 28px;
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--sanctuary-surface-card, var(--sanctuary-account-surface-card, rgba(31, 31, 31, 0.94))) 96%, transparent),
            color-mix(in srgb, var(--sanctuary-surface-shell, var(--sanctuary-account-surface-low, rgba(19, 19, 19, 0.88))) 98%, transparent)
        );
    box-shadow: var(--sanctuary-shadow, var(--sanctuary-account-shadow, 0 28px 64px rgba(0, 0, 0, 0.34)));
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
    backdrop-filter: blur(22px);
}

body.sanctuary-body .modal-header,
body.sanctuary-body .modal-footer {
    border: 0;
    background: transparent;
}

body.sanctuary-body .modal-header {
    padding: 24px 24px 10px;
}

body.sanctuary-body .modal-title,
body.sanctuary-body #globalModalConfirm-label {
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
    font-family: var(--sanctuary-font-display, "Manrope", "Open Sans", sans-serif);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.04em;
}

body.sanctuary-body .modal-body {
    padding: 8px 24px 24px;
    color: var(--sanctuary-text-muted, var(--sanctuary-account-text-muted, #ababab));
}

body.sanctuary-body .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 24px 24px;
}

body.sanctuary-body .modal-footer .btn,
body.sanctuary-body .dropdown-item {
    border-radius: 999px;
}

body.sanctuary-body .modal-footer .btn {
    min-height: 44px;
    padding: 11px 18px;
    border: 0;
    font-family: var(--sanctuary-font-display, "Manrope", "Open Sans", sans-serif);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.sanctuary-body .modal-footer .btn:hover,
body.sanctuary-body .dropdown-item:hover {
    transform: translateY(-1px);
}

body.sanctuary-body .modal-footer .btn-primary {
    background: linear-gradient(135deg, #b79eff, var(--sanctuary-secondary, var(--sanctuary-account-secondary, #a88cfb)));
    color: var(--sanctuary-secondary-text, var(--sanctuary-account-secondary-text, #260069));
    box-shadow: 0 16px 34px rgba(168, 140, 251, 0.18);
}

body.sanctuary-body .modal-footer .btn-light,
body.sanctuary-body .modal-footer .btn-default {
    background: var(--sanctuary-surface-chip, var(--sanctuary-account-surface-chip, rgba(38, 38, 38, 0.92)));
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
}

body.sanctuary-body .btn-close {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border-radius: 999px;
    background-color: var(--sanctuary-surface-chip, var(--sanctuary-account-surface-chip, rgba(38, 38, 38, 0.92)));
    background-image: none;
    opacity: 1;
    box-shadow: none;
}

body.sanctuary-body .btn-close::before,
body.sanctuary-body .btn-close::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
}

body.sanctuary-body .btn-close::before {
    transform: rotate(45deg);
}

body.sanctuary-body .btn-close::after {
    transform: rotate(-45deg);
}

body.sanctuary-body .btn-close:hover {
    background-color: color-mix(in srgb, var(--sanctuary-surface-chip, var(--sanctuary-account-surface-chip, rgba(38, 38, 38, 0.92))) 82%, white);
}

body.sanctuary-body .btn-close:focus {
    box-shadow: 0 0 0 3px var(--sanctuary-focus-ring, rgba(164, 201, 255, 0.18));
}

body.sanctuary-body .dropdown-menu {
    min-width: 220px;
    padding: 10px;
}

body.sanctuary-body .dropdown-divider {
    margin: 8px 0;
    border-color: var(--sanctuary-panel-border, var(--sanctuary-account-border, rgba(255, 255, 255, 0.08)));
}

body.sanctuary-body .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
    font-weight: 600;
}

body.sanctuary-body .dropdown-item:hover,
body.sanctuary-body .dropdown-item:focus {
    background: var(--sanctuary-surface-chip, var(--sanctuary-account-surface-chip, rgba(38, 38, 38, 0.92)));
    color: var(--sanctuary-primary, var(--sanctuary-account-primary, #a4c9ff));
}

body.sanctuary-body .popover-header {
    border: 0;
    border-radius: 28px 28px 0 0;
    background: transparent;
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
    font-family: var(--sanctuary-font-display, "Manrope", "Open Sans", sans-serif);
    font-weight: 800;
}

body.sanctuary-body .popover-body {
    color: var(--sanctuary-text-muted, var(--sanctuary-account-text-muted, #ababab));
}

body.sanctuary-body .tooltip {
    --bs-tooltip-bg: transparent;
    --bs-tooltip-color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
}

body.sanctuary-body .tooltip .tooltip-inner {
    padding: 10px 12px;
    border: 1px solid var(--sanctuary-panel-border, var(--sanctuary-account-border, rgba(255, 255, 255, 0.08)));
    border-radius: 14px;
    background: var(--sanctuary-surface-card, var(--sanctuary-account-surface-card, rgba(31, 31, 31, 0.94)));
    box-shadow: var(--sanctuary-shadow-soft, var(--sanctuary-account-shadow-soft, 0 18px 42px rgba(0, 0, 0, 0.22)));
    color: inherit;
    font-weight: 600;
}

body.sanctuary-body .tooltip .tooltip-arrow::before {
    border-top-color: var(--sanctuary-surface-card, var(--sanctuary-account-surface-card, rgba(31, 31, 31, 0.94)));
}

body.sanctuary-body .humhub-ui-loader,
body.sanctuary-body #humhub-ui-loader-default {
    padding: 24px;
    border-radius: 24px;
    background: transparent;
}

body.sanctuary-body .spinner-border {
    width: 2.5rem;
    height: 2.5rem;
    border-width: 0.18rem;
    color: var(--sanctuary-primary, var(--sanctuary-account-primary, #a4c9ff));
}

body.sanctuary-body .humhub-ui-loader .visually-hidden strong,
body.sanctuary-body #humhub-ui-loader-default .visually-hidden strong {
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
}

body.sanctuary-body #status-bar {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1080;
}

body.sanctuary-body .status-bar-body {
    min-width: 260px;
    max-width: min(460px, calc(100vw - 32px));
    padding: 14px 16px;
    border: 1px solid var(--sanctuary-panel-border, var(--sanctuary-account-border, rgba(255, 255, 255, 0.08)));
    border-radius: 22px;
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--sanctuary-surface-card, var(--sanctuary-account-surface-card, rgba(31, 31, 31, 0.94))) 96%, transparent),
            color-mix(in srgb, var(--sanctuary-surface-shell, var(--sanctuary-account-surface-low, rgba(19, 19, 19, 0.88))) 98%, transparent)
        );
    box-shadow: var(--sanctuary-shadow-soft, var(--sanctuary-account-shadow-soft, 0 18px 42px rgba(0, 0, 0, 0.22)));
    backdrop-filter: blur(18px);
}

body.sanctuary-body .status-bar-content {
    color: var(--sanctuary-text, var(--sanctuary-account-text, #e5e5e5));
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 767px) {
    body.sanctuary-body .modal-dialog {
        margin: 16px;
    }

    body.sanctuary-body #status-bar {
        right: 12px;
        left: 12px;
        bottom: 12px;
    }

    body.sanctuary-body .status-bar-body {
        max-width: none;
        min-width: 0;
    }
}
