.cp-recovery-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.cp-recovery-modal[hidden]{display:none!important}
.cp-recovery-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}
.cp-recovery-dialog{position:relative;width:min(460px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(15,23,42,.28);text-align:center}
.cp-recovery-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 16px;display:grid;place-items:center;background:#fff1f1;color:#ff5b57;font-size:24px}
.cp-recovery-dialog h3{margin:0 0 8px;color:#17233c}
.cp-recovery-dialog p{margin:0 0 20px;color:#64748b}
.cp-recovery-meta{display:flex;justify-content:space-between;margin-bottom:8px;color:#475569}
.cp-recovery-progress{height:9px;border-radius:99px;background:#e9eef6;overflow:hidden}
.cp-recovery-progress>div{height:100%;width:25%;background:#ff5b57;border-radius:inherit;transition:width .25s ease}
.cp-recovery-dialog small{display:block;margin:12px 0 22px;color:#64748b}
.cp-recovery-actions{display:grid;gap:10px}

#captureLocationBtn.location-required {
    position: relative;
    border: 2px solid #f59e0b !important;
    box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.18);
}

#captureLocationBtn.location-attention {
    animation: cashpeLocationAttention 0.8s ease-in-out 4;
}

#captureLocationBtn.location-required:focus {
    outline: 4px solid rgba(245, 158, 11, 0.25);
    outline-offset: 3px;
}

#captureLocationBtn.location-verified {
    box-shadow: none;
}

@keyframes cashpeLocationAttention {
    0%,
    100% {
        transform: scale(1);
        box-shadow:
            0 0 0 5px rgba(245, 158, 11, 0.18);
    }

    50% {
        transform: scale(1.035);
        box-shadow:
            0 0 0 10px rgba(245, 158, 11, 0.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    #captureLocationBtn.location-attention {
        animation: none;
    }
}
