.offerist-pjax-progress {
    position: fixed;
    z-index: 2147482500;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .16s ease;
}
.offerist-pjax-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #1fb79f, #3b82f6, #7c3aed);
    box-shadow: 0 0 12px rgba(59, 130, 246, .38);
    transition: width .22s ease;
}
.offerist-pjax-progress.is-active { opacity: 1; }
.offerist-pjax-progress.is-active span { width: 72%; }
.offerist-pjax-progress.is-finishing span { width: 100%; }

[data-offerist-pjax-content] {
    position: relative;
    min-height: 160px;
    transition: opacity .14s ease, transform .14s ease;
}
[data-offerist-pjax-content].is-pjax-loading {
    opacity: .58;
    transform: translateY(2px);
    pointer-events: none;
}
[data-offerist-pjax-content].is-pjax-loading::after {
    content: "";
    position: absolute;
    z-index: 40;
    inset: 0;
    border-radius: 14px;
    background:
        linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent),
        rgba(248,250,252,.18);
    background-size: 220% 100%, 100% 100%;
    animation: offerist-pjax-shimmer 1.05s linear infinite;
    pointer-events: none;
}
[data-offerist-pjax-content].is-pjax-entering {
    animation: offerist-pjax-enter .18s ease both;
}
body.offerist-pjax-busy { cursor: progress; }
body.offerist-pjax-busy .sidebar a,
body.offerist-pjax-busy .top-breadcrumbs a { cursor: progress; }

@keyframes offerist-pjax-shimmer {
    from { background-position: 180% 0, 0 0; }
    to { background-position: -40% 0, 0 0; }
}
@keyframes offerist-pjax-enter {
    from { opacity: .25; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .offerist-pjax-progress,
    .offerist-pjax-progress span,
    [data-offerist-pjax-content] { transition: none !important; animation: none !important; }
}


form.is-pjax-submitting {
    pointer-events: none;
    opacity: .72;
}
form.is-pjax-submitting [type="submit"] {
    cursor: wait !important;
}
@supports (view-transition-name: offerist-content) {
    [data-offerist-pjax-content] { view-transition-name: offerist-content; }
    /* Keep the persistent shell (sidebar/top bar) out of the browser root cross-fade. */
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation: none !important;
        mix-blend-mode: normal;
    }
    ::view-transition-old(offerist-content) { animation-duration: .12s; }
    ::view-transition-new(offerist-content) { animation-duration: .18s; }
}

.offerist-pjax-recovery {
    min-height: min(66vh, 620px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 48px 24px;
    text-align: center;
    color: #111827;
}
.offerist-pjax-recovery__icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(78, 234, 216, .24), rgba(23, 244, 158, .15));
    color: #0a8f7d;
    font-size: 38px;
    line-height: 1;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}
.offerist-pjax-recovery h2 {
    margin: 0 0 10px;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.15;
}
.offerist-pjax-recovery p {
    max-width: 620px;
    margin: 0;
    color: #667085;
    font-size: 16px;
    line-height: 1.55;
}
.offerist-pjax-recovery__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.offerist-pjax-recovery__button {
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #50e2d9, #18f4a0);
    color: #06111f;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(24, 244, 160, .20);
}
.offerist-pjax-recovery__button--secondary {
    border: 1px solid #dbe4ef;
    background: #fff;
    color: #344054;
    box-shadow: none;
}
.offerist-pjax-recovery__button:hover { transform: translateY(-1px); }
.offerist-pjax-recovery__status {
    display: block;
    min-height: 20px;
    margin-top: 15px;
    color: #98a2b3;
    font-size: 13px;
}
@media (max-width: 640px) {
    .offerist-pjax-recovery { min-height: 55vh; padding: 34px 16px; }
    .offerist-pjax-recovery__actions,
    .offerist-pjax-recovery__button { width: 100%; }
}
