/* Full-screen blocking overlay shown while an approve/reject postback is in flight. Kept as its
   own external stylesheet rather than a JS-injected <style> tag, matching the more restrictive
   CSP pattern used elsewhere in this app family (see the sibling Merchant Portal CSG project). */
#ui-blocker-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 18, 24, 0.55);
}

#ui-blocker-overlay.show {
    display: flex;
}

.ui-blocker-box {
    background: #fff;
    border-radius: .5rem;
    padding: 1.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25);
}

.ui-blocker-spinner {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: .25rem solid #d7dbe0;
    border-top-color: #206bc4;
    animation: ui-blocker-spin .7s linear infinite;
}

.ui-blocker-text {
    font-size: .95rem;
    color: #1a2233;
}

@keyframes ui-blocker-spin {
    to { transform: rotate(360deg); }
}
