.alert-dismissible, .alert.closable {
    padding-inline-end: calc(var(--px-form-element-spacing-horizontal) + 2.5rem) !important
}

.alert-dismissible .btn-close, .alert-dismissible [data-alert-dismiss], .alert.closable .btn-close, .alert.closable [data-alert-dismiss] {
    --px-background-color: transparent;
    --px-border-color: transparent;
    --px-color: inherit;
    --px-box-shadow: none;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: .75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--px-border-radius);
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
    line-height: 1 !important;
    opacity: .7;
    cursor: pointer;
    transform: translateY(-50%)
}

.alert-dismissible .btn-close::before, .alert-dismissible [data-alert-dismiss]::before, .alert.closable .btn-close::before, .alert.closable [data-alert-dismiss]::before {
    content: "";
    display: block;
    width: 2.35rem;
    height: 2.35rem;
    background: var(--px-icon-close) center/1.35rem auto no-repeat
}

.alert-dismissible .btn-close:is(:hover,:focus), .alert-dismissible [data-alert-dismiss]:is(:hover,:focus), .alert.closable .btn-close:is(:hover,:focus), .alert.closable [data-alert-dismiss]:is(:hover,:focus) {
    --px-background-color: color-mix(in srgb, currentColor 8%, transparent);
    background-color: var(--px-background-color);
    color: inherit;
    opacity: 1;
    text-decoration: none
}

.alert-dismissible .btn-close:focus-visible, .alert-dismissible [data-alert-dismiss]:focus-visible, .alert.closable .btn-close:focus-visible, .alert.closable [data-alert-dismiss]:focus-visible {
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-primary-focus)
}

.admin-alerts-stack {
    position: relative;
    display: grid;
    isolation: isolate;
    margin-block-end: 1.35rem
}

.admin-alerts-stack.has-depth {
    padding-block-end: 1.44rem
}

.admin-alerts-stack-card {
    position: relative;
    grid-area: 1 / 1;
    min-height: 3.4rem;
    margin: 0 !important;
    cursor: pointer;
    transform-origin: center top;
    transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease
}

.admin-alerts-stack-card:nth-child(1) {
    z-index: 30;
    opacity: 1;
    transform: translateY(0) scale(1)
}

.admin-alerts-stack-card:nth-child(2) {
    z-index: 20;
    opacity: .84;
    transform: translateY(.72rem) scale(.965)
}

.admin-alerts-stack-card:nth-child(3) {
    z-index: 10;
    opacity: .68;
    transform: translateY(1.44rem) scale(.93)
}

.admin-alerts-stack-card:nth-child(n+4) {
    z-index: 0;
    opacity: 0;
    transform: translateY(1.44rem) scale(.93)
}

.admin-alerts-stack-card:not(:first-child) {
    pointer-events: none;
    user-select: none
}

.admin-alerts-stack-card:first-child:is(:hover,:focus-within) {
    transform: translateY(0) scale(1)
}

.admin-alerts-stack-card.is-stack-rotating {
    transform: translateY(.55rem) scale(.96);
    opacity: .35
}

.admin-alerts-stack-card:not(:first-child) .btn-close, .admin-alerts-stack-card:not(:first-child) [data-alert-dismiss] {
    visibility: hidden
}

.admin-alerts-stack.is-single {
    padding-block-end: 0
}

.admin-alerts-stack.is-single .admin-alerts-stack-card {
    cursor: default
}
.alert {
    position: relative;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    padding: 1rem 1.25rem;
    margin: 0 0 1rem 0;
    border: 1px solid transparent;
    border-radius: var(--px-border-radius, .375rem);
    font-size: 1rem;
    line-height: var(--px-line-height, 1.5)
}


.alert-link {
    font-weight: 700;
    color: currentColor !important;
    text-decoration: underline;
}
.alert-primary {
    color: #052c65 !important;
    background-color: #cfe2ff !important;
    border-color: #cfe2ff !important
}

.alert-secondary {
    color: #2b2f32 !important;
    background-color: #e2e3e5 !important;
    border-color: #e2e3e5 !important
}

.alert-success, .alert.success {
    color: #0a3622 !important;
    background-color: #d1e7dd !important;
    border-color: #d1e7dd !important
}

.alert-error, .alert-danger  {
    color: #58151c !important;
    background-color: #f8d7da !important;
    border-color: #f8d7da !important
}

.alert-warning, .alert.warning  {
    color: #664d03 !important;
    background-color: #fff3cd !important;
    border-color: #fff3cd !important
}

.alert-info, .alert-notice, .alert.info, .alert.notice {
    color: #055160 !important;
    background-color: #cff4fc !important;
    border-color: #cff4fc !important
}

.alert-light {
    color: #495057 !important;
    background-color: #fcfcfd !important;
    border-color: #fcfcfd !important
}

.alert-dark {
    color: #495057 !important;
    background-color: #ced4da !important;
    border-color: #ced4da !important
}

[data-theme="dark"] .alert-primary {
    color: #6ea8fe !important;
    background-color: #031633 !important;
    border-color: #084298 !important
}

[data-theme="dark"] .alert-secondary {
    color: #a7acb1 !important;
    background-color: #161719 !important;
    border-color: #41464b !important
}

[data-theme="dark"] .alert-success, [data-theme="dark"] .alert.success  {
    color: #75b798 !important;
    background-color: #051b11 !important;
    border-color: #0f5132 !important
}

[data-theme="dark"] .alert-error, [data-theme="dark"] .alert-danger, [data-theme="dark"] .alert.error, [data-theme="dark"] .alert.danger   {
    color: #ea868f !important;
    background-color: #2c0b0e !important;
    border-color: #842029 !important
}

[data-theme="dark"] .alert-warning, [data-theme="dark"] .alert.warning  {
    color: #ffda6a !important;
    background-color: #332701 !important;
    border-color: #997404 !important
}

[data-theme="dark"] .alert-info,  [data-theme="dark"] .alert-notice, [data-theme="dark"] .alert.info, [data-theme="dark"] .alert.notice {
    color: #6edff6 !important;
    background-color: #032830 !important;
    border-color: #087990 !important
}

[data-theme="dark"] .alert-light {
    color: #f8f9fa !important;
    background-color: #343a40 !important;
    border-color: #495057 !important
}

[data-theme="dark"] .alert-dark {
    color: #dee2e6 !important;
    background-color: #1a1d20 !important;
    border-color: #343a40 !important
}

/* Dark mode alert palette - saturated notification colors */
[data-theme="dark"] .alert {
    color: #f8fafc !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.22)
}

[data-theme="dark"] .alert-primary,
[data-theme="dark"] .alert-info,
[data-theme="dark"] .alert-notice,
[data-theme="dark"] .alert.info,
[data-theme="dark"] .alert.notice {
    color: #f8fbff !important;
    background-color: #06376f !important;
    border-color: #06376f !important
}

[data-theme="dark"] .alert-success,
[data-theme="dark"] .alert.success {
    color: #f2fff9 !important;
    background-color: #006848 !important;
    border-color: #006848 !important
}

[data-theme="dark"] .alert-error,
[data-theme="dark"] .alert-danger,
[data-theme="dark"] .alert.error,
[data-theme="dark"] .alert.danger {
    color: #fff5f0 !important;
    background-color: #731500 !important;
    border-color: #731500 !important
}

[data-theme="dark"] .alert-warning,
[data-theme="dark"] .alert.warning {
    color: #fff8e5 !important;
    background-color: #704300 !important;
    border-color: #704300 !important
}

[data-theme="dark"] .alert-secondary,
[data-theme="dark"] .alert-light,
[data-theme="dark"] .alert-dark {
    color: #f3f4f6 !important;
    background-color: #1f2933 !important;
    border-color: #1f2933 !important
}

[data-theme="dark"] .alert-link {
    color: inherit !important;
    text-decoration-color: rgba(255,255,255,.55)
}
