/* General overlay & modal */
.vu-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:99998; }
.vu-modal{ position:fixed; left:50%; top:40%; transform:translate(-50%,-40%); background:#fff; z-index:99999; padding:20px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,0.2); max-width:520px; width:90%; }
.vu-modal h2{ margin-top:0; }
.vu-close{ position:absolute; right:8px; top:6px; border:0; background:transparent; font-size:20px; cursor:pointer; }
.vu-modal input{ width:100%; padding:8px; margin-bottom:8px; box-sizing:border-box; }

/* small buttons */
.button { padding:8px 12px; border-radius:6px; border:1px solid #ccc; background:#f7f7f7; cursor:pointer; }

/* reward/confetti popup minimal */
#vu-confetti .vu-modal{ text-align:center; }


/* Admin: Profile card */
.vu-profile-card{ display:flex; gap:18px; background:#fff; border:1px solid #e1e1e1; padding:16px; margin:16px 0; border-radius:8px; align-items:center; }
.vu-profile-left{ flex: 0 0 96px; }
.vu-profile-pic{ width:88px; height:88px; border-radius:8px; object-fit:cover; border:1px solid #ddd; }
.vu-profile-right{ flex:1 1 auto; }
.vu-profile-right h2{ margin:0 0 6px 0; font-size:20px; }
.vu-profile-right p{ margin:4px 0; color:#333; }

/* Popups (shared with front-end) */
.vu-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:99999; }
.vu-modal{ position:fixed; left:50%; top:40%; transform:translate(-50%,-40%); background:#fff; z-index:100000; padding:20px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,0.2); max-width:520px; width:90%; }
.vu-modal h2{ margin-top:0; font-size:18px; }
.vu-modal input[type="text"], .vu-modal input[type="email"]{ width:100%; padding:8px; margin-bottom:8px; box-sizing:border-box; }
.vu-close{ position:absolute; right:10px; top:8px; background:transparent; border:0; font-size:20px; cursor:pointer; }

/* Buttons */
.button { background:#f7f7f7; border:1px solid #ccc; padding:8px 12px; border-radius:6px; cursor:pointer; }
.button.button-primary{ background:#0073aa; color:#fff; border-color:#006799; }

@media (max-width:600px){
  .vu-modal{ top:46%; transform:translate(-50%,-46%); }
  .vu-profile-card{ flex-direction:column; align-items:flex-start; }
}
