/* =========================================================
   Life Planea tu Visita — Estilos v1.0.0
   Tema: azul oscuro institucional Life
   ========================================================= */

:root {
    --lpv-azul:       #1a3a5c;
    --lpv-azul-claro: #2563a8;
    --lpv-verde:      #2e7d32;
    --lpv-rojo:       #c62828;
    --lpv-naranja:    #e65100;
    --lpv-morado:     #6a1b9a;
    --lpv-cyan:       #00838f;
    --lpv-gris-bg:    #f4f6f9;
    --lpv-borde:      #dde3ec;
    --lpv-texto:      #1e2a38;
    --lpv-radio:      8px;
}

/* ── Contenedor general ─────────────────────────────────── */
.lpv-panel {
    font-family: 'Segoe UI', Arial, sans-serif;
    color: var(--lpv-texto);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 40px;
}

.lpv-admin-wrap { padding: 20px 0; }
.lpv-admin-titulo {
    font-size: 22px;
    color: var(--lpv-azul);
    margin-bottom: 20px;
    border-bottom: 3px solid var(--lpv-azul);
    padding-bottom: 10px;
}

/* ── Acceso denegado ────────────────────────────────────── */
.lpv-acceso-denegado {
    background: #fff3f3;
    border: 1px solid #ffcdd2;
    color: var(--lpv-rojo);
    padding: 16px 20px;
    border-radius: var(--lpv-radio);
    text-align: center;
}

/* ── Formulario público ─────────────────────────────────── */
.lpv-form-wrap {
    max-width: 700px;
    margin: 0 auto;
}

.lpv-errors {
    background: #fff3f3;
    border: 1px solid #ffcdd2;
    border-left: 4px solid var(--lpv-rojo);
    padding: 14px 18px;
    border-radius: var(--lpv-radio);
    margin-bottom: 20px;
    color: var(--lpv-rojo);
}
.lpv-errors ul { margin: 0; padding-left: 18px; }
.lpv-errors li { margin: 4px 0; font-size: 14px; }

.lpv-form { width: 100%; }

.lpv-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.lpv-field { display: flex; flex-direction: column; gap: 6px; }
.lpv-field-full { grid-column: 1 / -1; }

.lpv-field label {
    font-size: 14px;
    font-weight: 600;
    color: var(--lpv-azul);
}
.lpv-req { color: var(--lpv-rojo); }
.lpv-opcional { color: #888; font-weight: 400; font-size: 12px; }

.lpv-field input,
.lpv-field textarea,
.lpv-field select {
    border: 1.5px solid var(--lpv-borde);
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 15px;
    color: var(--lpv-texto);
    background: #fff;
    transition: border-color .2s;
    width: 100%;
    box-sizing: border-box;
}
.lpv-field input:focus,
.lpv-field textarea:focus,
.lpv-field select:focus {
    outline: none;
    border-color: var(--lpv-azul-claro);
    box-shadow: 0 0 0 3px rgba(37, 99, 168, .12);
}

/* Radio buttons personalizados */
.lpv-radio-group {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.lpv-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 10px 20px;
    border: 1.5px solid var(--lpv-borde);
    border-radius: 6px;
    font-size: 15px;
    transition: all .2s;
    background: #fff;
}
.lpv-radio-label:hover { border-color: var(--lpv-azul-claro); background: #f0f5ff; }
.lpv-radio-label input[type="radio"] { accent-color: var(--lpv-azul); width: 16px; height: 16px; }
.lpv-radio-label:has(input:checked) {
    border-color: var(--lpv-azul);
    background: #e8f0fb;
    color: var(--lpv-azul);
    font-weight: 600;
}

/* Footer formulario */
.lpv-form-footer {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.lpv-privacy-note {
    font-size: 12px;
    color: #888;
    margin: 0;
}

/* ── Botones ─────────────────────────────────────────────── */
.lpv-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s;
    line-height: 1;
}
.lpv-btn-primary {
    background: var(--lpv-azul);
    color: #fff;
    padding: 13px 28px;
    font-size: 16px;
}
.lpv-btn-primary:hover { background: var(--lpv-azul-claro); color: #fff; }
.lpv-btn-secondary {
    background: var(--lpv-azul);
    color: #fff;
}
.lpv-btn-secondary:hover { background: var(--lpv-azul-claro); }
.lpv-btn-ghost {
    background: transparent;
    color: var(--lpv-azul);
    border: 1.5px solid var(--lpv-borde);
}
.lpv-btn-ghost:hover { background: var(--lpv-gris-bg); }
.lpv-btn-xs {
    padding: 5px 10px;
    font-size: 13px;
    background: var(--lpv-gris-bg);
    color: var(--lpv-texto);
    border: 1px solid var(--lpv-borde);
    text-decoration: none;
}
.lpv-btn-xs:hover { background: var(--lpv-borde); }

/* ── Success box ─────────────────────────────────────────── */
.lpv-success-box {
    text-align: center;
    padding: 50px 30px;
    background: #f0faf0;
    border: 1px solid #a5d6a7;
    border-radius: var(--lpv-radio);
    max-width: 500px;
    margin: 0 auto;
}
.lpv-success-icon { font-size: 50px; margin-bottom: 12px; }
.lpv-success-box h3 { color: var(--lpv-verde); font-size: 22px; margin: 0 0 10px; }
.lpv-success-box p { color: #444; margin: 8px 0; }
.lpv-success-sub { font-size: 13px; color: #888; }

/* ── Filtros ─────────────────────────────────────────────── */
.lpv-filtros {
    background: #fff;
    border: 1px solid var(--lpv-borde);
    border-radius: var(--lpv-radio);
    padding: 20px 24px;
    margin-bottom: 20px;
}
.lpv-filtro-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.lpv-panel-titulo {
    font-size: 18px;
    color: var(--lpv-azul);
    margin: 0;
    font-weight: 700;
}
.lpv-total-badge {
    background: var(--lpv-azul);
    color: #fff;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}
.lpv-filtro-form { width: 100%; }
.lpv-filtro-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
.lpv-filtro-rango { align-items: flex-end; }
.lpv-filtro-field { display: flex; flex-direction: column; gap: 4px; }
.lpv-filtro-field label { font-size: 12px; font-weight: 600; color: #555; text-transform: uppercase; letter-spacing: .5px; }
.lpv-filtro-field select,
.lpv-filtro-field input[type="date"] {
    border: 1.5px solid var(--lpv-borde);
    border-radius: 6px;
    padding: 9px 14px;
    font-size: 14px;
    min-width: 200px;
}
.lpv-filtro-rango-label { font-size: 13px; color: #666; margin: 8px 0 0; }

/* ── Tabla ───────────────────────────────────────────────── */
.lpv-table-wrap {
    overflow-x: auto;
    border-radius: var(--lpv-radio);
    border: 1px solid var(--lpv-borde);
    background: #fff;
}
.lpv-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}
.lpv-table thead th {
    background: var(--lpv-azul);
    color: #fff;
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    white-space: nowrap;
}
.lpv-table tbody tr { border-bottom: 1px solid var(--lpv-borde); transition: background .15s; }
.lpv-table tbody tr:hover { background: #f7f9fc; }
.lpv-table tbody tr:last-child { border-bottom: none; }
.lpv-table td { padding: 11px 14px; vertical-align: middle; }
.lpv-table-small .lpv-table td { padding: 9px 12px; }

.lpv-row-asistio { background: #f0faf0 !important; }
.lpv-row-ausente { background: #fff8f8 !important; }
.lpv-td-center { text-align: center; }
.lpv-td-nombre { min-width: 140px; }
.lpv-td-fecha { min-width: 160px; font-size: 13px; }
.lpv-td-notas { min-width: 180px; }
.lpv-td-acciones { white-space: nowrap; }

/* Badges */
.lpv-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}
.lpv-badge-si { background: #e8f5e9; color: var(--lpv-verde); }
.lpv-badge-no { background: #ffebee; color: var(--lpv-rojo); }
.lpv-badge-pendiente { background: #f5f5f5; color: #999; }

/* Botones asistio */
.lpv-btn-asistio {
    background: none;
    border: 1.5px solid var(--lpv-borde);
    border-radius: 6px;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 16px;
    opacity: .5;
    transition: all .2s;
}
.lpv-btn-asistio:hover { opacity: 1; transform: scale(1.1); }
.lpv-btn-asistio.active { opacity: 1; border-color: var(--lpv-verde); background: #e8f5e9; }
.lpv-btn-asistio.active.lpv-btn-no { border-color: var(--lpv-rojo); background: #ffebee; }

/* Notas inline */
.lpv-notas-wrap { display: flex; align-items: center; gap: 6px; }
.lpv-notas-texto { font-size: 13px; color: #555; flex: 1; }
.lpv-notas-texto em { color: #bbb; }
.lpv-btn-editar-nota {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    opacity: .5;
    transition: opacity .2s;
    padding: 2px;
}
.lpv-btn-editar-nota:hover { opacity: 1; }

/* ── Estadísticas ────────────────────────────────────────── */
.lpv-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}
.lpv-stat-card {
    border-radius: var(--lpv-radio);
    padding: 22px 20px;
    color: #fff;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.lpv-stat-azul   { background: var(--lpv-azul); }
.lpv-stat-verde  { background: var(--lpv-verde); }
.lpv-stat-rojo   { background: var(--lpv-rojo); }
.lpv-stat-naranja{ background: var(--lpv-naranja); }
.lpv-stat-morado { background: var(--lpv-morado); }
.lpv-stat-cyan   { background: var(--lpv-cyan); }

.lpv-stat-icon   { font-size: 28px; margin-bottom: 8px; }
.lpv-stat-numero { font-size: 36px; font-weight: 800; line-height: 1; }
.lpv-stat-label  { font-size: 12px; margin-top: 6px; opacity: .85; font-weight: 500; }

/* ── Procedencias ────────────────────────────────────────── */
.lpv-section { margin-top: 28px; }
.lpv-section-titulo {
    font-size: 16px;
    font-weight: 700;
    color: var(--lpv-azul);
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--lpv-borde);
}
.lpv-procedencias { display: flex; flex-direction: column; gap: 10px; }
.lpv-procedencia-row {
    display: grid;
    grid-template-columns: 180px 1fr 40px;
    align-items: center;
    gap: 12px;
}
.lpv-proc-label { font-size: 14px; font-weight: 500; color: var(--lpv-texto); }
.lpv-proc-bar-wrap {
    background: var(--lpv-borde);
    border-radius: 20px;
    height: 10px;
    overflow: hidden;
}
.lpv-proc-bar {
    background: var(--lpv-azul-claro);
    height: 100%;
    border-radius: 20px;
    transition: width .5s ease;
}
.lpv-proc-count { font-weight: 700; color: var(--lpv-azul); font-size: 14px; }

/* Tasa pill en tabla */
.lpv-tasa-pill {
    display: inline-block;
    color: #fff;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}

/* ── Modales ─────────────────────────────────────────────── */
.lpv-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.lpv-modal-content {
    background: #fff;
    border-radius: var(--lpv-radio);
    width: 100%;
    max-width: 480px;
    box-shadow: 0 20px 60px rgba(0,0,0,.3);
    overflow: hidden;
}
.lpv-modal-header {
    background: var(--lpv-azul);
    color: #fff;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.lpv-modal-header h4 { margin: 0; font-size: 16px; }
.lpv-modal-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    opacity: .7;
    transition: opacity .2s;
}
.lpv-modal-close:hover { opacity: 1; }
.lpv-modal-body { padding: 20px; }
.lpv-modal-body textarea {
    border: 1.5px solid var(--lpv-borde);
    border-radius: 6px;
    padding: 10px;
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
}

/* ── Config page ─────────────────────────────────────────── */
.lpv-config-card {
    background: #fff;
    border: 1px solid var(--lpv-borde);
    border-radius: var(--lpv-radio);
    padding: 28px;
    max-width: 800px;
}
.lpv-config-field { margin-bottom: 28px; }
.lpv-config-desc { color: #666; font-size: 13px; margin: 6px 0; }
.lpv-code-pre {
    background: #1e2a38;
    color: #a8d8a8;
    padding: 16px;
    border-radius: 6px;
    font-size: 13px;
    overflow-x: auto;
    margin-top: 8px;
}

/* ── Empty state ─────────────────────────────────────────── */
.lpv-empty {
    text-align: center;
    padding: 40px;
    color: #999;
    background: #fff;
    border: 1px solid var(--lpv-borde);
    border-radius: var(--lpv-radio);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 680px) {
    .lpv-form-grid { grid-template-columns: 1fr; }
    .lpv-field-full { grid-column: 1; }
    .lpv-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .lpv-filtro-row { flex-direction: column; align-items: stretch; }
    .lpv-filtro-field select,
    .lpv-filtro-field input[type="date"] { min-width: unset; width: 100%; }
    .lpv-procedencia-row { grid-template-columns: 120px 1fr 30px; }
    .lpv-table { font-size: 12px; }
    .lpv-table td, .lpv-table th { padding: 8px 10px; }
}

/* ── Agenda de hoy ───────────────────────────────────────── */
.lpv-agenda-hoy {
    background: #1a3a5c;
    border-radius: var(--lpv-radio);
    padding: 24px;
    margin-bottom: 20px;
    color: #fff;
}
.lpv-agenda-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}
.lpv-agenda-titulo {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 4px;
    color: #fff;
    display: block;
}
.lpv-agenda-sub { font-size: 13px; opacity: .75; margin: 0; display: block; }
.lpv-agenda-stats {
    display: flex;
    gap: 16px;
}
.lpv-agenda-stat {
    text-align: center;
    background: rgba(255,255,255,.15);
    border-radius: 8px;
    padding: 10px 18px;
    min-width: 70px;
}
.lpv-agenda-stat-verde { background: rgba(46,125,50,.5); }
.lpv-agenda-stat-cyan  { background: rgba(0,131,143,.5); }
.lpv-agenda-num   { display: block; font-size: 28px; font-weight: 800; line-height: 1; }
.lpv-agenda-label { display: block; font-size: 11px; opacity: .85; margin-top: 4px; }

/* Tarjetas de visitantes de hoy */
.lpv-agenda-tarjetas {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.3) transparent;
}
.lpv-agenda-tarjetas::-webkit-scrollbar { height: 5px; }
.lpv-agenda-tarjetas::-webkit-scrollbar-thumb { background: rgba(255,255,255,.3); border-radius: 10px; }
.lpv-tarjeta {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background .2s;
    flex-shrink: 0;
    min-width: 200px;
    max-width: 240px;
}
.lpv-tarjeta-asistio { background: rgba(46,125,50,.35); border-color: rgba(46,125,50,.5); }
.lpv-tarjeta-ausente  { background: rgba(198,40,40,.3);  border-color: rgba(198,40,40,.4); }
.lpv-tarjeta-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}
.lpv-tarjeta-info {
    flex: 1;
    min-width: 0;
}
.lpv-tarjeta-info strong {
    display: block;
    font-size: 14px;
    color: #fff;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}
.lpv-tarjeta-acomp {
    font-size: 11px;
    opacity: .75;
    color: #fff;
}
.lpv-tarjeta-estado { flex-shrink: 0; }

/* ── Barra de acciones ───────────────────────────────────── */
.lpv-acciones-barra {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.lpv-btn-excel {
    background: #217346;
    color: #fff;
    font-size: 14px;
    padding: 10px 18px;
}
.lpv-btn-excel:hover { background: #1a5c38; color: #fff; }
.lpv-btn-print {
    background: #455a64;
    color: #fff;
    font-size: 14px;
    padding: 10px 18px;
}
.lpv-btn-print:hover { background: #263238; color: #fff; }

/* ── Estilos de impresión ────────────────────────────────── */
@media print {
    /* Ocultar todo lo que no es la tabla */
    .lpv-agenda-hoy,
    .lpv-acciones-barra,
    .lpv-filtros,
    .lpv-modal,
    header, footer, nav,
    .elementor-section:not(.lpv-print-area),
    #wpadminbar,
    .lpv-btn-asistio,
    .lpv-btn-editar-nota,
    .lpv-td-acciones { display: none !important; }

    /* Tabla limpia para imprimir */
    body { background: #fff !important; color: #000 !important; }
    .lpv-panel { max-width: 100% !important; padding: 0 !important; }
    .lpv-table-wrap { border: 1px solid #ccc !important; }
    .lpv-table thead th { background: #1a3a5c !important; color: #fff !important; -webkit-print-color-adjust: exact; }
    .lpv-table td, .lpv-table th { padding: 7px 10px !important; font-size: 11px !important; }
    .lpv-badge { border: 1px solid #ccc !important; background: none !important; color: #000 !important; }
    .lpv-row-asistio { background: #f0fff0 !important; -webkit-print-color-adjust: exact; }
    .lpv-row-ausente  { background: #fff0f0 !important; -webkit-print-color-adjust: exact; }

    /* Título impreso */
    .lpv-panel-titulo::before {
        content: "Lista de visitas — Impreso: ";
    }
}

/* ── Layout 2 columnas analítica ─────────────────────────── */
.lpv-analitica-cols {
    display: grid;
    grid-template-columns: 75% 25%;
    gap: 20px;
    align-items: start;
}
.lpv-analitica-col-fechas,
.lpv-analitica-col-proc {
    margin: 0;
}
.lpv-section-titulo-span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #1a3a5c;
    margin-bottom: 14px;
}

/* Scroll vertical en procedencias */
.lpv-procedencias-scroll {
    height: 450px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #1a3a5c #f0f4f8;
    padding-right: 4px;
}
.lpv-procedencias-scroll::-webkit-scrollbar { width: 5px; }
.lpv-procedencias-scroll::-webkit-scrollbar-thumb { background: #1a3a5c; border-radius: 10px; }
.lpv-procedencias-scroll::-webkit-scrollbar-track { background: #f0f4f8; }

/* Tabla de fechas más compacta en 2 columnas */
.lpv-table-analitica-fechas th,
.lpv-table-analitica-fechas td {
    padding: 8px 10px;
    font-size: 12px;
}
.lpv-table-analitica-fechas .lpv-badge {
    font-size: 11px;
    padding: 2px 7px;
}
.lpv-table-analitica-fechas .lpv-tasa-pill {
    font-size: 11px;
    padding: 3px 8px;
}

/* Responsive: una columna en mobile */
@media (max-width: 700px) {
    .lpv-analitica-cols {
        grid-template-columns: 1fr;
    }
}

/* ── Filtros + botones en misma fila ─────────────────────── */
.lpv-filtros-con-acciones {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.lpv-filtros-con-acciones .lpv-filtro-form {
    flex: 1;
    min-width: 280px;
}
.lpv-acciones-inline {
    flex-shrink: 0;
    margin-bottom: 0;
}

/* ── Botones lista v2 — alineados a la derecha ───────────── */
.lpv-filtro-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.lpv-acciones-derecha {
    margin-left: auto;
    margin-bottom: 0;
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Imprimir: fondo oscuro navy */
.lpv-btn-print-v2 {
    background: #1a3a5c;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s;
}
.lpv-btn-print-v2:hover { background: #0f2540; }

/* Copiar tabla: outline/borde con fondo claro */
.lpv-btn-excel-v2 {
    background: #fff;
    color: #1a3a5c;
    border: 2px solid #1a3a5c;
    border-radius: 6px;
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s, color .2s;
}
.lpv-btn-excel-v2:hover { background: #1a3a5c; color: #fff; }

/* ── Botones lista — alta especificidad anti-Elementor ───── */
.lpv-filtro-header {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.lpv-acciones-derecha {
    margin-left: auto !important;
    display: flex !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

/* Imprimir — fondo navy */
.lpv-filtros .lpv-filtro-header button.lpv-lista-btn-imprimir,
button.lpv-lista-btn-imprimir {
    all: unset !important;
    box-sizing: border-box !important;
    background: #1a3a5c !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: background .2s !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.lpv-filtros .lpv-filtro-header button.lpv-lista-btn-imprimir:hover,
button.lpv-lista-btn-imprimir:hover {
    background: #0f2540 !important;
}

/* Copiar tabla — outline */
.lpv-filtros .lpv-filtro-header button.lpv-lista-btn-copiar,
button.lpv-lista-btn-copiar {
    all: unset !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #1a3a5c !important;
    border: 2px solid #1a3a5c !important;
    border-radius: 6px !important;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: background .2s, color .2s !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.lpv-filtros .lpv-filtro-header button.lpv-lista-btn-copiar:hover,
button.lpv-lista-btn-copiar:hover {
    background: #1a3a5c !important;
    color: #fff !important;
}

/* ── Botones analítica anti-Elementor ────────────────────── */
.lpv-filtros-con-acciones,
.lpv-filtros.lpv-filtros-con-acciones {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}
.lpv-analitica-acciones {
    display: flex !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
.lpv-panel button.lpv-analitica-btn-imprimir {
    all: unset !important;
    box-sizing: border-box !important;
    background: #1a3a5c !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.lpv-panel button.lpv-analitica-btn-imprimir:hover { background: #0f2540 !important; }

.lpv-panel button.lpv-analitica-btn-copiar {
    all: unset !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #1a3a5c !important;
    border: 2px solid #1a3a5c !important;
    border-radius: 6px !important;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.lpv-panel button.lpv-analitica-btn-copiar:hover {
    background: #1a3a5c !important;
    color: #fff !important;
}

/* ── Badge nuevos registros — dashboard ─────────────────── */
.life-badge-nuevo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #e53e3e !important;
    color: #fff !important;
    border-radius: 50px !important;
    min-width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 0 6px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    margin-left: 4px !important;
    box-shadow: 0 1px 4px rgba(229,62,62,.4) !important;
    font-family: Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
