/* Native versions of the supplied StatusBadge and Alert designs, in the site's dark palette. */
.status-badge[hidden], .rr-alert[hidden] { display: none !important; }
.status-badge { --status-ink: #a3a7b1; --status-rgb: 148, 153, 165; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; min-height: 31px; max-width: 100%; padding: 5px 11px; border: 1px solid rgba(var(--status-rgb), .2); border-radius: 10px; background: rgba(var(--status-rgb), .1); color: var(--status-ink); font-size: .71rem; line-height: 1.3; font-weight: 650; white-space: nowrap; vertical-align: middle; }
.status-badge > svg { width: 15px; height: 15px; flex: 0 0 auto; }
.status-badge--pending { --status-ink: #eaa65d; --status-rgb: 234, 166, 93; }
.status-badge--failed { --status-ink: #e69a89; --status-rgb: 213, 116, 99; }
.status-badge--success { --status-ink: #72ce89; --status-rgb: 87, 188, 108; }
.status-badge--in-progress { --status-ink: #6bb9ff; --status-rgb: 0, 138, 245; }
.status-badge--in-review { --status-ink: #f0c467; --status-rgb: 240, 177, 61; }
.status-badge--expired { --status-ink: #a5a9b5; --status-rgb: 139, 145, 161; }
.status-badge--submitted { --status-ink: #b79af5; --status-rgb: 145, 107, 235; }
.status-badge--compact { min-height: 23px; gap: 5px; padding: 3px 7px; border-radius: 7px; font-size: .59rem; }
.status-badge--compact > svg { width: 12px; height: 12px; }
.status-badge--in-progress > svg { animation: status-turn 9s linear infinite; }

.rr-alert { --alert-rgb: 75, 153, 244; --alert-icon: #86baff; --alert-ink: #c3d4ef; display: grid; grid-template-columns: 19px minmax(0, 1fr) auto; align-items: start; column-gap: 12px; padding: 15px 16px; border: 1px solid rgba(var(--alert-rgb), .25); border-radius: 11px; background: rgba(var(--alert-rgb), .075); color: var(--alert-ink); font: inherit; font-size: .74rem; line-height: 1.65; text-align: left; }
.rr-alert--info { --alert-rgb: 75, 153, 244; --alert-icon: #86baff; --alert-ink: #c3d4ef; }
.rr-alert--success { --alert-rgb: 77, 186, 120; --alert-icon: #81d39b; --alert-ink: #bedcc8; }
.rr-alert--warning { --alert-rgb: 230, 164, 75; --alert-icon: #f0bd77; --alert-ink: #dfc7a5; }
.rr-alert--danger { --alert-rgb: 226, 109, 115; --alert-icon: #f09b9f; --alert-ink: #e3bdc3; }
.rr-alert__icon { display: flex; width: 19px; height: 19px; margin-top: 1px; color: var(--alert-icon); }
.rr-alert__icon svg { width: 100%; height: 100%; stroke-width: 1.8; }
.rr-alert__body { min-width: 0; overflow-wrap: anywhere; }
.rr-alert__title { margin-bottom: 3px; color: #edf1fa; font-size: .76rem; line-height: 1.55; font-weight: 650; letter-spacing: -.01em; }
.rr-alert__text { color: var(--alert-ink); }
.rr-alert__action { display: inline-flex; min-height: 28px; align-items: center; margin-top: 7px; padding: 0; border: 0; border-bottom: 1px solid rgba(var(--alert-rgb), .4); border-radius: 0; background: none; color: var(--alert-icon); font: inherit; font-size: .71rem; font-weight: 600; cursor: pointer; }
.rr-alert__action:hover { filter: brightness(1.18); }
.rr-alert__close { display: grid; place-items: center; width: 26px; height: 26px; margin: -4px -6px 0 0; padding: 5px; border: 0; border-radius: 6px; background: none; color: var(--alert-ink); cursor: pointer; }
.rr-alert__close svg { width: 14px; height: 14px; stroke-width: 1.8; }
.rr-alert__close:hover { background: rgba(var(--alert-rgb), .13); }
.rr-alert button:focus-visible { outline: 2px solid var(--alert-icon); outline-offset: 3px; }
.rr-alert button:disabled { opacity: .5; cursor: wait; }
.rr-alert.rr-toast { position: fixed; z-index: 1200; top: 100px; right: 24px; width: min(380px, calc(100vw - 32px)); max-height: calc(100dvh - 120px); overflow: auto; margin: 0; border-left: 3px solid var(--alert-icon); border-radius: 13px; background: linear-gradient(110deg, rgba(var(--alert-rgb), .09), transparent), #0b0e14; box-shadow: 0 18px 60px #0007, 0 2px 12px #0004; animation: rr-toast-in 260ms cubic-bezier(.2,.8,.2,1) both; }
.rr-alert.rr-toast--out { pointer-events: none; animation: rr-toast-out 180ms ease-in both; }
.rr-toast .installer-help { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; margin: 8px 0 0; font-size: .7rem; line-height: 1.6; }
.rr-toast .installer-help a, .rr-toast .installer-copy { display: inline; width: auto; min-width: 0; white-space: nowrap; }
.entry-download.is-installed:disabled, .profile-download.is-installed:disabled { opacity: 1; cursor: default; color: #81d39b; border-color: #4dba783d; background: #4dba7810; }
@keyframes rr-toast-in { from { opacity: 0; transform: translateX(28px) scale(.97); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes rr-toast-out { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(24px); } }
@media (max-width: 520px) { .rr-alert.rr-toast { top: 94px; right: 16px; } }
@media (prefers-reduced-motion: reduce) { .rr-alert.rr-toast { animation: none; } }
.submission-state { margin: -8px 0 18px; }
.entry-topline { gap: 9px; flex-wrap: wrap; }
.entry-topline > .status-badge { margin-left: auto; }
.entry-topline > .entry-version { margin-left: auto; }
.profile-upload-meta { flex-wrap: wrap; row-gap: 7px; }
.profile-upload-meta .status-badge { max-width: none; }
.library-loading .status-badge, .profile-list-loading .status-badge { margin: 0 auto; }

@keyframes status-turn { to { transform: rotate(360deg); } }
@media (max-width: 420px) { .rr-alert { padding: 13px; column-gap: 10px; grid-template-columns: 18px minmax(0, 1fr) auto; } }
@media (prefers-reduced-motion: reduce) { .status-badge--in-progress > svg { animation: none; } }
