.rs-loading-region { position: relative; }
[data-load-failed] > :not(.rs-loading-error) { display: none !important; }
.rs-loading-stage { position: absolute !important; inset: 0 0 auto !important; width: 100% !important; margin: 0 !important; opacity: 0 !important; pointer-events: none !important; max-height: none !important; overflow: visible !important; mask-image: none !important; }
[data-image-pending] { opacity: 0 !important; pointer-events: none !important; }
[data-results-pending] > :not(.rs-loading-stage, .rs-delayed-loading, .rs-loading-error) { opacity: .65; transition: opacity 160ms ease; }
.rs-delayed-loading { position: absolute; inset: 0 0 auto; min-height: 120px; display: grid; place-items: center; pointer-events: none; opacity: 1; transition: opacity 100ms ease-out; z-index: 2; }
.rs-delayed-loading[data-leaving] { opacity: 0; }
[data-results-pending="more"] > .rs-delayed-loading { inset: auto 0 0; min-height: 48px; }
.rs-loading-inline { position: static; display: inline-grid; min-height: 20px; }
.rs-loading-error { position: relative; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 24px; background: var(--card); border-radius: 16px; color: var(--muted-foreground); grid-column: 1 / -1; }
.rs-image-unavailable { display: inline-grid !important; place-items: center; background: #f4f5f7; color: #98a2b3; overflow: hidden; }
.rs-image-unavailable svg { width: 22px; height: 22px; }
.rs-work-photo > .rs-image-unavailable, .rs-stock-group-icon > .rs-image-unavailable, .rs-order-photo-card > .rs-image-unavailable,
.rs-material-photo-link > .rs-image-unavailable, .rs-history-item-photo > .rs-image-unavailable { width: 100%; height: 100%; }
.rs-pending-labels { display: grid; }
.rs-pending-idle, .rs-pending-busy { grid-area: 1 / 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.rs-pending-button[data-pending="false"] .rs-pending-busy, .rs-pending-button[data-pending="true"] .rs-pending-idle { visibility: hidden; }
.rs-pending-dots { display: inline-grid; place-items: center; width: 30px; height: 20px; }
.rs-pending-button .rs-loading-dots { color: inherit; }
.rs-pending-button[data-pending="true"] { cursor: wait; opacity: .8; }
@media (prefers-reduced-motion: reduce) { .rs-delayed-loading, [data-results-pending] > * { transition: none; } }
