/* ============================================================
   DedicaQR — Sprint 11
   Estilos para PWA + Push notifications admin
   Aditivo sobre style.css existente.
   ============================================================ */

/* ---------- Admin: stats row para dashboards ---------- */
.adm-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem;
}
.adm-stat-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.adm-stat-label {
    font-size: .8rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .35rem;
}
.adm-stat-value {
    font-size: 1.6rem;
    font-weight: 700;
    color: #C9184A;
    line-height: 1.1;
}

/* ---------- Audience blocks (form de campañas) ---------- */
.aud-block {
    display: none;
    padding: .75rem 1rem;
    background: #f8f9fa;
    border-left: 3px solid #C9184A;
    border-radius: 0 6px 6px 0;
    margin-top: .5rem;
}

/* ---------- User notifications page ---------- */
.card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.card > h2 {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    color: #C9184A;
}

/* ---------- Badge variants (asegurar el set completo) ---------- */
.badge {
    display: inline-block;
    padding: .25em .6em;
    font-size: .8em;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 12px;
    white-space: nowrap;
}
.badge-info     { background: #cff4fc; color: #055160; }
.badge-success  { background: #d1e7dd; color: #0a3622; }
.badge-warning  { background: #fff3cd; color: #664d03; }
.badge-danger   { background: #f8d7da; color: #58151c; }
.badge-muted    { background: #e9ecef; color: #495057; }

/* ---------- Detail grid en /admin/push/{id} ---------- */
.adm-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.adm-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1.25rem;
}
.adm-card > h2 {
    margin: 0 0 .75rem;
    font-size: 1rem;
    color: #C9184A;
    padding-bottom: .5rem;
    border-bottom: 1px solid #f1f3f5;
}
.adm-dl {
    margin: 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .35rem .75rem;
    font-size: .9rem;
}
.adm-dl dt { color: #6c757d; font-weight: 600; }
.adm-dl dd { margin: 0; word-break: break-word; }

/* ---------- Numeric columns ---------- */
.adm-table td.num,
.adm-table th.num { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- iOS install modal animation ---------- */
@keyframes slideUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}
