/* ===== BONOS Y DESAFÍOS ADMIN ===== */
.promo-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.promo-card { background:white; border:1px solid rgba(15,25,35,.06); border-radius:20px; padding:14px; box-shadow:var(--sombra); margin-bottom:12px; }
.promo-card.off { opacity:.68; filter:grayscale(.18); }
.promo-type { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 10px; font-size:10px; font-weight:950; margin-bottom:8px; }
.promo-type.bono { background:var(--verde3); color:var(--verde2); }
.promo-type.desafio { background:var(--amarillo2); color:#92400E; }
.promo-form-card { background:linear-gradient(135deg,#ffffff 0%,#f8fbf9 100%); border:1px solid rgba(15,25,35,.06); border-radius:22px; padding:16px; box-shadow:var(--sombra); margin-bottom:16px; }
.promo-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:430px){ .promo-grid, .promo-row { grid-template-columns:1fr; } }


/* ===== BONOS VISIBLES PARA CLIENTE / REPARTIDOR ===== */
.promo-user-card { background:linear-gradient(135deg,#ffffff 0%,#f8fbf9 100%); border:1px solid rgba(15,25,35,.06); border-radius:20px; padding:14px; box-shadow:var(--sombra); margin-bottom:10px; }
.promo-user-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.promo-user-title { font-size:15px; font-weight:950; color:var(--texto); line-height:1.2; }
.promo-user-desc { font-size:12px; color:var(--texto2); font-weight:650; line-height:1.45; }
.promo-progress { height:10px; background:var(--gris2); border-radius:999px; overflow:hidden; margin-top:10px; }
.promo-progress-fill { height:100%; background:var(--verde); border-radius:999px; transition:width .25s ease; }
.promo-mini-note { font-size:11px; color:var(--texto3); font-weight:800; margin-top:7px; display:flex; justify-content:space-between; gap:8px; }
.promo-reward { background:var(--amarillo2); color:#92400E; border:1px solid #f4d77f; border-radius:14px; padding:9px 10px; font-size:12px; font-weight:900; margin-top:10px; }

