.photo-preview-host{position:relative}
.photo-preview-host>img[data-preview-state=loading],.photo-preview-host>img[data-preview-state=error]{visibility:hidden;pointer-events:none}
.photo-preview-host>.photo-load-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:12px;background:linear-gradient(110deg,#edf2ec,#f8faf7,#edf2ec);color:#586a5b;font-size:12px;line-height:1.5;text-align:center;z-index:1}
.photo-load-spinner{width:23px;height:23px;border:2px solid #cddbcc;border-top-color:#477b56;border-radius:50%;animation:photo-loading-turn .9s linear infinite;flex-shrink:0}
.photo-load-state button{padding:5px 10px;min-height:32px;border:1px solid #b9cab7;border-radius:6px;background:#fff;font-size:11px;color:#174b3c}
.rental-thumb>.photo-load-state{padding:3px;font-size:9px;gap:3px}
.rental-thumb .photo-load-spinner{width:16px;height:16px}
.rental-thumb .photo-load-state button{min-height:26px;font-size:9px;padding:2px 4px}
.photo-preview-host>.badge,.photo-preview-host>.test-device-state{z-index:2}
@keyframes photo-loading-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.photo-load-spinner{animation:none}}
