.rb-alert-open {
    overflow: hidden;
}

.rb-alert-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(16, 24, 40, .56);
    backdrop-filter: blur(3px);
}

.rb-alert-overlay[hidden] {
    display: none;
}

.rb-alert-dialog {
    width: min(100%, 420px);
    padding: 30px;
    border: 1px solid rgba(109, 128, 158, .24);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(16, 24, 40, .28);
    text-align: center;
    animation: rb-alert-enter 180ms ease-out;
}

.rb-alert-dialog.has-alternate-action {
    width: min(100%, 720px);
}

.rb-alert-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    place-items: center;
    border-radius: 50%;
    color: #e8590c;
    background: #fff1e8;
    font-size: 23px;
}

.rb-alert-dialog[data-type="success"] .rb-alert-icon { color: #087A49; background: #E0F5E9; }
.rb-alert-dialog[data-type="warning"] .rb-alert-icon { color: #9A5B00; background: #FFF1CF; }
.rb-alert-dialog[data-type="error"] .rb-alert-icon { color: #B4232D; background: #FDE8EA; }

.rb-alert-title {
    margin: 0;
    color: #101828;
    font-size: 21px;
    font-weight: 750;
    line-height: 1.3;
}

.rb-alert-message {
    margin: 10px 0 24px;
    color: #5C6D88;
    line-height: 1.55;
    white-space: pre-line;
}

.rb-alert-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.rb-alert-actions .btn {
    min-width: 112px;
}

.rb-alert-actions [data-alert-cancel] {
    order: 3;
    width: 100%;
    border-color: transparent;
}

.rb-alert-dialog.has-alternate-action .rb-alert-actions {
    flex-wrap: nowrap;
}

.rb-alert-dialog.has-alternate-action .rb-alert-actions [data-alert-cancel] {
    width: auto;
}

@media (max-width: 640px) {
    .rb-alert-dialog.has-alternate-action .rb-alert-actions {
        flex-wrap: wrap;
    }

    .rb-alert-dialog.has-alternate-action .rb-alert-actions .btn {
        width: 100%;
    }
}

.rb-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(16, 24, 40, .56);
    backdrop-filter: blur(3px);
    cursor: progress;
}

.rb-loading-overlay[hidden] {
    display: none;
}

.rb-loading-dialog {
    display: grid;
    width: min(100%, 320px);
    padding: 28px;
    gap: 8px;
    justify-items: center;
    border: 1px solid rgba(109, 128, 158, .24);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(16, 24, 40, .28);
    text-align: center;
    animation: rb-alert-enter 180ms ease-out;
}

.rb-loading-dialog .spinner-border {
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
    color: #e8590c;
}

.rb-loading-message {
    color: #101828;
    font-size: 17px;
    font-weight: 700;
}

.rb-loading-dialog small {
    color: #5C6D88;
}

.rb-loading-phase {
    min-height: 21px;
    line-height: 1.5;
}

@keyframes rb-alert-enter {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .rb-alert-dialog,
    .rb-loading-dialog { animation: none; }
    .rb-loading-dialog .spinner-border { animation: none; }
}

/* EventOs x GovEntry look for FenAlert: same red and orange accents, neutrals and radii as AppShell.css. */
.rb-alert-overlay,
.rb-loading-overlay { background: rgba(24, 24, 27, .45); backdrop-filter: blur(6px); }
.rb-alert-dialog,
.rb-loading-dialog { border-color: #e4e4e7; border-radius: 1.1rem; box-shadow: 0 24px 56px rgba(24, 24, 27, .22); font-family: Inter, "Segoe UI", system-ui, sans-serif; }
.rb-alert-icon { color: #b42318; background: #fff0e8; }
.rb-alert-dialog[data-type="success"] .rb-alert-icon { color: #067647; background: #ecfdf3; }
.rb-alert-dialog[data-type="warning"] .rb-alert-icon { color: #c2410c; background: #fff7ed; }
.rb-alert-dialog[data-type="error"] .rb-alert-icon { color: #b42318; background: #fef2f2; }
.rb-alert-title,
.rb-loading-message { color: #18181b; letter-spacing: -.02em; }
.rb-alert-title { font-size: 1.3rem; }
.rb-alert-message,
.rb-loading-dialog small { color: #52525b; }
.rb-alert-actions .btn { min-height: 2.75rem; border-radius: .6rem; font-weight: 600; }
.rb-alert-actions .btn-primary { border: 0; color: #fff; background: linear-gradient(135deg, #b42318, #dc4b16); box-shadow: 0 4px 12px rgba(180, 35, 24, .2); }
.rb-alert-actions .btn-primary:hover { background: linear-gradient(135deg, #991b1b, #c2410c); }
.rb-alert-actions .btn-outline-primary { border-color: #fed7aa; color: #b42318; background: #fff4ed; }
.rb-alert-actions .btn-outline-secondary { color: #52525b; }
.rb-alert-actions .btn-outline-secondary:hover { color: #18181b; background: #f4f4f5; }
.rb-alert-actions .btn:focus-visible { outline: 3px solid rgba(249, 115, 22, .25); outline-offset: 2px; box-shadow: none; }
.rb-loading-dialog .spinner-border { color: #b42318; }
