
/* Modal & confetti + checking */
.vm-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:9999}
.vm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.vm-dialog{position:relative;background:#fff;border:1px solid var(--vm-border);border-radius:16px;padding:18px;max-width:520px;width:92%;box-shadow:0 10px 40px rgba(0,0,0,.2);animation:pop .2s ease}
.vm-dialog h3{margin:0 0 8px}
.vm-actions{text-align:right;margin-top:12px}
.vm-confetti{position:fixed;inset:0;pointer-events:none;z-index:9998}
@keyframes pop{from{transform:scale(.96);opacity:.6}to{transform:scale(1);opacity:1}}

.vm-check{position:fixed;inset:0;display:grid;place-items:center;z-index:9999}
.vm-check .back{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.vm-check .box{position:relative;background:#fff;border:1px solid var(--vm-border);border-radius:16px;padding:18px 22px;max-width:420px;width:92%;box-shadow:0 10px 40px rgba(0,0,0,.2);text-align:center}
.vm-check .sp{width:38px;height:38px;border:4px solid #ddd;border-top-color:var(--vm-primary);border-radius:50%;margin:6px auto 10px;animation:rot .9s linear infinite}
.vm-check .t{font-weight:600;margin-bottom:4px}
@keyframes rot{to{transform:rotate(360deg)}}
