/* QR MASCOTAS — Sistema visual profesional global v1
 * Capa visual: no cambia lógica, AJAX, formularios ni datos.
 */
:root{
 --qrm-primary:#123b5d;--qrm-primary-2:#1b6280;--qrm-accent:#d4a84f;--qrm-bg:#f5f7fa;--qrm-card:#fff;
 --qrm-text:#18212b;--qrm-muted:#6b7785;--qrm-border:#e5eaf0;--qrm-radius:16px;
 --qrm-shadow:0 8px 28px rgba(16,38,58,.08);--qrm-shadow-hover:0 14px 34px rgba(16,38,58,.13)
}
.mcg-shell{max-width:1120px!important;color:var(--qrm-text);line-height:1.5}
.mcg-shell,.mcg-shell *{box-sizing:border-box}
.mcg-dashboard-shell{background:linear-gradient(180deg,#f8fafc 0,#f5f7fa 100%);padding:10px 4px 32px;border-radius:22px}
.mcg-hero{border:0!important;border-radius:20px!important;padding:30px 32px!important;background:linear-gradient(135deg,var(--qrm-primary),var(--qrm-primary-2))!important;box-shadow:0 14px 34px rgba(18,59,93,.18)!important;margin-bottom:22px!important}
.mcg-hero-titulo{font-size:30px!important;letter-spacing:-.4px}.mcg-hero-sub{font-size:14px!important}
.mcg-hero-eyebrow{letter-spacing:1.5px!important}
.mcg-stats-row,.mcg-admin-stats{gap:16px!important}
.mcg-stat-chip,.mcg-admin-stat{border:1px solid var(--qrm-border)!important;border-radius:16px!important;box-shadow:var(--qrm-shadow)!important;padding:18px!important;transition:.2s ease}
.mcg-stat-chip:hover,.mcg-admin-stat:hover{transform:translateY(-2px);box-shadow:var(--qrm-shadow-hover)!important}
.mcg-stat-num,.mcg-admin-stat strong{font-family:inherit!important;font-weight:800!important;color:var(--qrm-primary)!important}
.mcg-mascotasqr-grid{gap:18px!important}.mcg-mascotasqr-grid-2col{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mcg-card-anim,.mcg-mascota-card,.mcg-card,.mcg-admin-card{border-radius:18px!important}
.mcg-card-anim>*,.mcg-mascota-card,.mcg-card{box-shadow:var(--qrm-shadow)!important;border:1px solid var(--qrm-border)!important;background:#fff!important}
.mcg-admin-wrap{max-width:1280px!important}.mcg-admin-header{border-radius:18px!important;background:linear-gradient(135deg,var(--qrm-primary),var(--qrm-primary-2))!important;box-shadow:0 12px 30px rgba(18,59,93,.16)!important}
.mcg-admin-card{box-shadow:var(--qrm-shadow)!important;border-color:var(--qrm-border)!important;padding:26px!important}
.mcg-admin-card h2{font-family:inherit!important;font-weight:750!important}
.mcg-btn,.mcg-shell button,.mcg-shell input[type=submit],.mcg-shell input[type=button],.mcg-shell .button{border-radius:10px!important;border:1px solid transparent!important;font-weight:700!important;min-height:42px;padding:10px 16px!important;transition:transform .15s,box-shadow .15s,background .15s!important;cursor:pointer}
.mcg-btn:hover,.mcg-shell button:hover,.mcg-shell input[type=submit]:hover,.mcg-shell input[type=button]:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(18,59,93,.14)}
.mcg-btn-secundario{background:#fff!important;color:var(--qrm-primary)!important;border-color:#d9e1e9!important}
.mcg-shell input[type=text],.mcg-shell input[type=email],.mcg-shell input[type=tel],.mcg-shell input[type=password],.mcg-shell input[type=number],.mcg-shell input[type=date],.mcg-shell input[type=time],.mcg-shell input[type=search],.mcg-shell select,.mcg-shell textarea{width:100%;border:1px solid #d9e1e9!important;background:#fff!important;border-radius:10px!important;min-height:44px;padding:10px 12px!important;color:var(--qrm-text)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.02)!important;outline:none!important}
.mcg-shell textarea{min-height:110px}.mcg-shell input:focus,.mcg-shell select:focus,.mcg-shell textarea:focus{border-color:#5b91ad!important;box-shadow:0 0 0 3px rgba(91,145,173,.14)!important}
.mcg-shell label{font-weight:650;color:#344454}
.mcg-buscar-wrap{background:#fff;border:1px solid var(--qrm-border);border-radius:14px;padding:12px;box-shadow:var(--qrm-shadow);display:flex;gap:10px;align-items:center;margin-bottom:18px!important}.mcg-buscar-input{flex:1!important}
.mcg-vacio{background:#fff!important;border:1px dashed #ccd7e2!important;box-shadow:var(--qrm-shadow);border-radius:18px!important}
.mcg-flash,.mcg-aviso,.mcg-exito{border-radius:12px!important;box-shadow:0 3px 12px rgba(0,0,0,.04)}
.mcg-botones-fila{gap:10px!important}.mcg-cta-registro{border-radius:16px!important;box-shadow:var(--qrm-shadow)!important}
.mcg-paginacion{background:#fff;border:1px solid var(--qrm-border);border-radius:14px;padding:12px;box-shadow:var(--qrm-shadow)}
.mcg-pag-num{border-radius:8px!important}
/* WordPress admin tables/forms used by the plugin */
.mcg-admin-wrap .widefat,.mcg-admin-wrap table{border:1px solid var(--qrm-border)!important;border-radius:14px!important;overflow:hidden;background:#fff!important;box-shadow:var(--qrm-shadow)!important}
.mcg-admin-wrap .widefat th{background:#f7f9fb!important;font-weight:700!important;color:#344454!important}.mcg-admin-wrap .widefat td,.mcg-admin-wrap .widefat th{padding:12px 14px!important;border-bottom-color:#edf1f5!important}
.mcg-admin-wrap .form-table input[type=text],.mcg-admin-wrap .form-table input[type=email],.mcg-admin-wrap .form-table input[type=number],.mcg-admin-wrap .form-table select,.mcg-admin-wrap .form-table textarea{border-radius:9px!important;border-color:#d9e1e9!important;min-height:40px}
.mcg-admin-wrap .button,.mcg-admin-wrap button,.mcg-admin-wrap input[type=submit]{border-radius:9px!important;font-weight:650!important}
@media(max-width:760px){
 .mcg-shell{width:100%!important;padding-left:10px!important;padding-right:10px!important}.mcg-dashboard-shell{padding:4px 0 24px}
 .mcg-hero{padding:24px 20px!important;border-radius:16px!important}.mcg-hero-titulo{font-size:24px!important}
 .mcg-mascotasqr-grid-2col{grid-template-columns:1fr!important}.mcg-stats-row{display:grid!important;grid-template-columns:1fr!important}
 .mcg-botones-fila{display:grid!important;grid-template-columns:1fr!important}.mcg-buscar-wrap{display:grid!important}.mcg-buscar-btn{width:100%}
 .mcg-admin-wrap{margin-right:8px!important}.mcg-admin-header{padding:22px!important}.mcg-admin-card{padding:18px!important}
}
@media(min-width:761px){.mcg-shell:not(.mcg-shell-angosto) .mcg-mascotasqr-seccion{padding-top:4px}}


/* ==========================================================
   DASHBOARD CLIENTE — refinamiento visual v2
   Solo presentación: no modifica lógica, datos ni acciones.
   ========================================================== */

.mcg-dashboard-shell{
    max-width:1180px!important;
    padding:18px 14px 44px!important;
    background:
        radial-gradient(circle at 8% 0%,rgba(27,98,128,.045),transparent 30%),
        linear-gradient(180deg,#f8fafc 0%,#f3f6f9 100%)!important;
}

/* Navegación superior tipo aplicación */
.mcg-nav-bar-tiles{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
    gap:9px!important;
    padding:8px!important;
    margin:0 auto 16px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid #e3e9ef!important;
    border-radius:16px!important;
    box-shadow:0 6px 20px rgba(16,38,58,.06)!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile{
    min-height:68px;
    padding:9px 8px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#506171!important;
    text-decoration:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile:hover{
    background:#f3f7fa!important;
    border-color:#dbe5ec!important;
    color:#123b5d!important;
    transform:translateY(-1px)!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-activo{
    background:#edf5f8!important;
    border-color:#cfe0e8!important;
    color:#123b5d!important;
    box-shadow:inset 0 0 0 1px rgba(18,59,93,.025)!important;
}
.mcg-nav-tile-icono{
    width:30px!important;
    height:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:currentColor!important;
}
.mcg-nav-tile-icono svg{
    width:22px!important;
    height:22px!important;
}
.mcg-nav-tile-titulo{
    font-size:10.5px!important;
    line-height:1.15!important;
    font-weight:750!important;
    text-align:center!important;
}

/* Hero más limpio, con jerarquía y menos aspecto de banner */
.mcg-dashboard-shell .mcg-hero{
    min-height:184px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:34px 64px!important;
    margin-bottom:20px!important;
    border-radius:22px!important;
    background:
        radial-gradient(circle at 88% 18%,rgba(212,168,79,.18),transparent 28%),
        radial-gradient(circle at 12% 90%,rgba(255,255,255,.08),transparent 30%),
        linear-gradient(135deg,#102f4b 0%,#1b6280 100%)!important;
}
.mcg-dashboard-shell .mcg-hero-eyebrow{
    margin-bottom:8px!important;
    font-size:10.5px!important;
    letter-spacing:2px!important;
    color:#e8c979!important;
}
.mcg-dashboard-shell .mcg-hero-titulo{
    margin-bottom:9px!important;
    font-size:32px!important;
    line-height:1.12!important;
    letter-spacing:-.7px!important;
}
.mcg-dashboard-shell .mcg-hero-sub{
    max-width:650px!important;
    font-size:14px!important;
    line-height:1.6!important;
}

/* Inicio flotante más discreto */
.mcg-dashboard-shell .mcg-hero-home{
    top:16px!important;
    left:16px!important;
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.25)!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:blur(8px);
}
.mcg-dashboard-shell .mcg-hero-home:hover{
    transform:none!important;
    background:rgba(255,255,255,.2)!important;
    border-color:rgba(255,255,255,.4)!important;
}
.mcg-dashboard-shell .mcg-hero-home-icono{
    width:100%!important;
    height:100%!important;
    background:transparent!important;
    border:0!important;
    font-size:19px!important;
}

/* Alertas: más "producto SaaS", menos caja improvisada */
.mcg-dashboard-shell .mcg-flash,
.mcg-dashboard-shell .mcg-aviso-perfil{
    max-width:100%;
    border-radius:13px!important;
    padding:13px 16px!important;
    box-shadow:0 4px 14px rgba(16,38,58,.045)!important;
}
.mcg-dashboard-shell .mcg-aviso-perfil{
    background:#f4f8fb!important;
    border-color:#d8e6ee!important;
    color:#33485a!important;
}
.mcg-dashboard-shell .mcg-aviso-perfil-link{
    color:#145b7d!important;
}

/* Accesos secundarios como grupo de acciones */
.mcg-dashboard-shell .mcg-botones-fila{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px!important;
    margin:18px 0 22px!important;
    padding:14px!important;
    background:#fff;
    border:1px solid #e4eaf0;
    border-radius:16px;
    box-shadow:0 6px 20px rgba(16,38,58,.055);
}
.mcg-dashboard-shell .mcg-botones-fila .mcg-btn{
    min-height:46px!important;
    justify-content:center!important;
}

/* Resumen */
.mcg-dashboard-shell .mcg-stats-row{
    margin:4px 0 18px!important;
}
.mcg-dashboard-shell .mcg-stat-chip{
    min-height:88px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-radius:16px!important;
    background:linear-gradient(180deg,#fff,#fbfcfd)!important;
}
.mcg-dashboard-shell .mcg-stat-num{
    font-size:28px!important;
}
.mcg-dashboard-shell .mcg-stat-label{
    font-size:10px!important;
    letter-spacing:1px!important;
    font-weight:700!important;
}

/* Buscador */
.mcg-dashboard-shell .mcg-buscar-wrap{
    padding:9px!important;
    border-radius:15px!important;
    background:#fff!important;
    margin:0 0 18px!important;
}
.mcg-dashboard-shell .mcg-buscar-input{
    min-height:46px!important;
    border:0!important;
    box-shadow:none!important;
    background:#f6f8fa!important;
    border-radius:10px!important;
}
.mcg-dashboard-shell .mcg-buscar-btn{
    min-height:46px!important;
    padding-inline:20px!important;
}
.mcg-dashboard-shell .mcg-buscar-limpiar{
    padding:0 8px;
    font-size:12px;
    font-weight:700;
    color:#5f7080;
    text-decoration:none;
}

/* Tarjetas de mascota: elevarlas visualmente sin alterar la cédula */
.mcg-dashboard-shell .mcg-card-anim{
    height:100%;
}
.mcg-dashboard-shell .mcg-card-outer{
    height:100%;
    padding:14px;
    background:#fff;
    border:1px solid #e1e8ee;
    border-radius:20px;
    box-shadow:0 8px 26px rgba(16,38,58,.065);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mcg-dashboard-shell .mcg-card-outer:hover{
    transform:translateY(-3px);
    border-color:#cedce5;
    box-shadow:0 15px 34px rgba(16,38,58,.105);
}
.mcg-dashboard-shell .mcg-badge-estado{
    margin:0 0 10px!important;
    font-size:10px!important;
    letter-spacing:.55px!important;
    text-transform:uppercase;
}
.mcg-dashboard-shell .mcg-cedula{
    border-radius:14px!important;
    box-shadow:0 6px 18px rgba(16,38,58,.12)!important;
}
.mcg-dashboard-shell .mcg-cedula-extra{
    background:#f7f9fb!important;
    border-color:#e4eaf0!important;
    border-radius:11px!important;
    font-size:11.5px!important;
    color:#536473!important;
}
.mcg-dashboard-shell .mcg-cedula-extra-privada{
    background:#f8fafc!important;
}

/* Acciones: aspecto de toolbar */
.mcg-dashboard-shell .mcg-sep-acciones{
    border-top:1px solid #e7edf2!important;
    margin:15px 0 12px!important;
}
.mcg-dashboard-shell .mcg-acciones-integrada{
    gap:8px!important;
}
.mcg-dashboard-shell .mcg-acciones-integrada .mcg-btn{
    min-height:40px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    box-shadow:none!important;
}
.mcg-dashboard-shell .mcg-acciones-integrada .mcg-btn-secundario{
    background:#f7f9fb!important;
    border-color:#dfe7ed!important;
    color:#29465d!important;
}
.mcg-dashboard-shell .mcg-acciones-integrada .mcg-btn-secundario:hover{
    background:#eef4f7!important;
}

/* Desplegables inferiores */
.mcg-dashboard-shell .mcg-vacunas-publico-integrado > summary,
.mcg-dashboard-shell .mcg-escaneos-integrado > summary{
    min-height:40px!important;
    margin-top:9px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
}
.mcg-dashboard-shell .mcg-vacunas-publico-integrado .mcg-vacunas-publico-contenido,
.mcg-dashboard-shell .mcg-escaneos-lista{
    background:#f7f9fb!important;
    border:1px solid #e6ecf1;
    border-radius:11px!important;
}

/* Paginación más compacta */
.mcg-dashboard-shell .mcg-paginacion{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:6px;
    padding:10px!important;
    border-radius:13px!important;
}
.mcg-dashboard-shell .mcg-pag-info{
    font-size:11.5px;
    color:#657584;
    font-weight:650;
}
.mcg-dashboard-shell .mcg-pag-num{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* Empty state */
.mcg-dashboard-shell .mcg-vacio{
    padding:46px 24px!important;
    border-radius:20px!important;
    background:#fff!important;
}
.mcg-dashboard-shell .mcg-vacio-icono{
    width:64px;
    height:64px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#eef5f8;
    font-size:28px;
}

/* Accesibilidad y responsive */
@media (max-width:760px){
    .mcg-dashboard-shell{
        padding:10px 8px 30px!important;
    }
    .mcg-nav-bar-tiles{
        grid-template-columns:repeat(3,1fr);
    }
    .mcg-dashboard-shell .mcg-hero{
        min-height:170px;
        padding:32px 28px!important;
    }
    .mcg-dashboard-shell .mcg-hero-titulo{
        font-size:26px!important;
    }
}
@media (max-width:520px){
    .mcg-nav-bar-tiles{
        grid-template-columns:repeat(2,1fr);
    }
    .mcg-dashboard-shell .mcg-hero{
        min-height:155px;
        padding:30px 18px!important;
        border-radius:18px!important;
    }
    .mcg-dashboard-shell .mcg-hero-titulo{
        font-size:23px!important;
    }
    .mcg-dashboard-shell .mcg-hero-sub{
        font-size:12.5px!important;
    }
    .mcg-dashboard-shell .mcg-botones-fila{
        grid-template-columns:1fr;
    }
    .mcg-dashboard-shell .mcg-card-outer{
        padding:10px;
        border-radius:16px;
    }
}
@media (prefers-reduced-motion:reduce){
    .mcg-dashboard-shell .mcg-card-outer,
    .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile{
        transition:none!important;
    }
}


/* ============================================================
   ACTIVAR QR FÍSICO — flujo de escaneo más visible y cómodo
   ============================================================ */
.mcg-crear-detalle:has(.mcg-activar-summary){
    padding:12px!important;
    border:1px solid #dce6eb!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 12px 32px rgba(24,48,64,.08)!important;
}
.mcg-crear-detalle .mcg-activar-summary{
    width:100%;
    box-sizing:border-box;
    display:flex!important;
    align-items:center;
    gap:12px;
    padding:16px 18px!important;
    border-radius:15px!important;
    text-align:left;
}
.mcg-activar-summary-icon{
    width:44px;height:44px;flex:0 0 44px;
    display:flex;align-items:center;justify-content:center;
    border-radius:13px;background:#eef7f5;font-size:22px;
}
.mcg-activar-summary strong{display:block;font-size:16px;line-height:1.2}
.mcg-activar-summary small{display:block;margin-top:4px;font-size:12px;font-weight:500;opacity:.78}
.mcg-activar-guia{
    display:flex;align-items:center;gap:12px;
    margin:18px 2px 10px;
    padding:13px 14px;
    border:1px solid #dfe8ed;
    border-radius:14px;
    background:#f8fbfc;
}
.mcg-activar-guia-icon{
    width:42px;height:42px;flex:0 0 42px;
    display:flex;align-items:center;justify-content:center;
    border-radius:12px;background:#e7f2f0;font-size:21px;
}
.mcg-activar-guia strong{display:block;font-size:13px;color:#20333d}
.mcg-activar-guia span{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#667781}
.mcg-btn-escanear-activar{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:10px 0 16px!important;
    font-size:15px!important;
    font-weight:800!important;
    border-radius:14px!important;
}
.mcg-documento-id-destacado{
    padding:16px!important;
    border:2px solid #e3ecef!important;
    border-radius:16px!important;
    background:#fbfdfd!important;
}
.mcg-documento-id-destacado label{
    display:flex!important;align-items:center;gap:8px;
    font-size:14px!important;
}
.mcg-campo-numero{
    width:24px;height:24px;flex:0 0 24px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;background:#203b46;color:#fff;
    font-size:12px;font-weight:800;
}
.mcg-documento-id-ayuda{
    display:flex;align-items:center;gap:8px;
    margin:10px 0 8px;
    font-size:12px;color:#5f7079;
}
.mcg-documento-id-badge{
    flex:0 0 auto;padding:5px 8px;border-radius:6px;
    background:#e9f1f4;color:#29424d;font-size:10px;font-weight:900;letter-spacing:.06em;
}
#mcg-documento-id-activar{
    min-height:50px!important;
    font-size:18px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    border-width:2px!important;
}
@media (max-width:520px){
    .mcg-crear-detalle:has(.mcg-activar-summary){margin-left:0!important;margin-right:0!important}
    .mcg-crear-detalle .mcg-activar-summary{padding:14px!important}
    .mcg-activar-guia{align-items:flex-start}
    .mcg-activar-guia-icon{width:38px;height:38px;flex-basis:38px}
    .mcg-documento-id-ayuda{align-items:flex-start;flex-wrap:wrap}
    .mcg-btn-escanear-activar{min-height:56px!important}
}

/* =========================================================
   PERFIL CLIENTE — PRESENTACIÓN PROFESIONAL
   Capa visual únicamente: no modifica lógica ni formularios.
   ========================================================= */
.mcg-perfil-shell{max-width:980px;margin:0 auto;padding:28px 18px 48px}
.mcg-perfil-hero{position:relative;display:flex;align-items:center;gap:20px;padding:28px 30px;border-radius:24px;margin-bottom:20px;overflow:hidden}
.mcg-perfil-hero:after{content:"";position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.mcg-perfil-avatar{position:relative;z-index:1;flex:0 0 72px;width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:25px;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.mcg-perfil-hero-texto{position:relative;z-index:1;min-width:0}
.mcg-perfil-hero .mcg-hero-titulo{margin:2px 0 5px;font-size:clamp(25px,4vw,34px);letter-spacing:-.02em}
.mcg-perfil-hero .mcg-hero-sub{max-width:650px;margin:0;line-height:1.55;opacity:.9}
.mcg-perfil-progreso-wrap{margin:0 0 18px;padding:17px 20px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 7px 24px rgba(15,23,42,.055)}
.mcg-perfil-progreso-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;font-weight:700;color:#334155}
.mcg-perfil-progreso-pct{font-size:13px;font-weight:800;padding:4px 9px;border-radius:999px;background:#eef6ff;color:#2563eb}
.mcg-perfil-progreso-wrap .mcg-progreso{height:9px;border-radius:99px;background:#edf2f7;overflow:hidden}
.mcg-perfil-progreso-wrap .mcg-progreso-barra{height:100%;border-radius:inherit;transition:width .35s ease}
.mcg-perfil-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:25px;box-shadow:0 10px 32px rgba(15,23,42,.065)}
.mcg-perfil-card:before{content:"Información personal";display:block;margin:0 0 18px;font-size:18px;font-weight:800;letter-spacing:-.01em;color:#172033}
.mcg-perfil-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mcg-perfil-campo{min-width:0}
.mcg-perfil-campo-ancho{grid-column:1/-1}
.mcg-perfil-campo label{display:block;margin:0 0 7px;font-size:13px;font-weight:750;color:#334155}
.mcg-perfil-input-wrap{display:flex;align-items:center;min-height:52px;border:1px solid #dbe3ed;border-radius:14px;background:#fbfcfe;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.mcg-perfil-input-wrap:focus-within{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(59,130,246,.10)}
.mcg-perfil-icono{width:46px;flex:0 0 46px;text-align:center;font-size:17px;opacity:.72}
.mcg-perfil-input-wrap input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:14px 14px 14px 0;font-size:15px;color:#172033}
.mcg-perfil-input-wrap-deshabilitado{background:#f5f7fa;border-style:dashed}
.mcg-perfil-input-wrap-deshabilitado input{color:#64748b;cursor:not-allowed}
.mcg-perfil-nota{display:block;margin:7px 2px 0;font-size:12px;line-height:1.45;color:#64748b}
.mcg-perfil-acciones{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:19px;border-top:1px solid #edf1f5}
.mcg-perfil-acciones .mcg-btn-ancho{width:auto;min-width:190px;margin-left:auto}
.mcg-perfil-estado{font-size:13px;color:#64748b}
.mcg-perfil-zona-peligro{margin-top:22px;padding:22px 24px;border:1px solid #fecaca;border-radius:20px;background:#fffafa;box-shadow:0 6px 20px rgba(127,29,29,.035)}
.mcg-perfil-baja-titulo{margin:0 0 8px;font-size:16px;color:#991b1b}
.mcg-perfil-baja-descripcion,.mcg-perfil-baja-aviso{margin:0 0 16px;color:#64748b;font-size:13px;line-height:1.65}
.mcg-perfil-baja-form{margin:0}
.mcg-perfil-zona-peligro .mcg-btn-peligro{border-radius:12px}
@media (max-width:700px){
 .mcg-perfil-shell{padding:14px 12px 34px}
 .mcg-perfil-hero{padding:22px 18px;border-radius:19px;gap:14px;align-items:flex-start}
 .mcg-perfil-avatar{flex-basis:56px;width:56px;height:56px;border-radius:17px;font-size:20px}
 .mcg-perfil-hero .mcg-hero-sub{font-size:13px;line-height:1.45}
 .mcg-perfil-progreso-wrap{padding:15px 16px;border-radius:16px}
 .mcg-perfil-card{padding:19px 15px;border-radius:18px}
 .mcg-perfil-grid{grid-template-columns:1fr;gap:15px}
 .mcg-perfil-campo-ancho{grid-column:auto}
 .mcg-perfil-acciones{display:flex;flex-direction:column;align-items:stretch}
 .mcg-perfil-acciones .mcg-btn-ancho{width:100%;min-width:0;margin-left:0}
 .mcg-perfil-estado{min-height:0}
 .mcg-perfil-zona-peligro{padding:18px 16px;border-radius:17px}
}

/* =========================================================
   VERIFICACIÓN QR — experiencia pública profesional
   Normal vs. mascota reportada como desaparecida
   ========================================================= */
.mcg-verificacion-wrap .mcg-verificacion-valida {
  position: relative;
  background: #f7f9fb;
  border: 0;
  border-radius: 22px;
  padding: 14px;
}

.mcg-verificacion-wrap .mcg-verificacion-normal::before,
.mcg-verificacion-wrap .mcg-verificacion-desaparecida::before {
  content: none;
}

.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-verificacion-cabecera {
  border-color: #dfe7e2;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22, 26, 34, .06);
}

.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-verificacion-icono-valido {
  width: 52px;
  height: 52px;
  box-shadow: 0 0 0 7px rgba(47,143,91,.07);
}

.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-verificacion-cabecera h2 {
  font-size: 20px;
  color: #17231d;
}

.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-verificacion-subtexto::before {
  content: '✓ ';
  color: #2f8f5b;
  font-weight: 800;
}

/* Estado desaparecida: la alerta domina visualmente sin parecer una pantalla de error */
.mcg-verificacion-wrap .mcg-verificacion-desaparecida {
  background: #fff8f7;
  border: 1px solid #f0c9c5;
  box-shadow: 0 16px 40px rgba(112, 35, 28, .10);
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida::before {
  content: '';
  display: block;
  height: 5px;
  position: absolute;
  top: 0; left: 0; right: 0;
  background: linear-gradient(90deg, #b42318, #e05b4f);
  border-radius: 22px 22px 0 0;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-verificacion-cabecera {
  background: #fff;
  border-color: #efc5c0;
  box-shadow: 0 8px 24px rgba(112, 35, 28, .07);
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-verificacion-icono-valido {
  background: #fff0ee;
  color: #b42318;
  box-shadow: 0 0 0 7px rgba(180,35,24,.08);
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-verificacion-cabecera h2 {
  color: #8f1d16;
  font-size: 20px;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-verificacion-subtexto {
  color: #7a3a35;
  font-weight: 600;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-verificacion-subtexto::before {
  content: '● ';
  color: #c7352b;
}

/* La ficha de la mascota se convierte en el elemento central */
.mcg-verificacion-wrap .mcg-verificacion-valida .mcg-card-outer {
  background: #fff;
  border: 1px solid #e4e9ee;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 8px 26px rgba(22,26,34,.06);
  margin-top: 16px;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-card-outer {
  border-color: #efcbc7;
}

/* Contacto: en desaparecida, llamar/WhatsApp deben ser muy fáciles de encontrar */
.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-acciones-verificacion-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
  margin-bottom: 14px;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-btn-llamar,
.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-btn-whatsapp {
  min-height: 48px;
  border-radius: 12px;
  font-weight: 800;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-acciones-verificacion-ubicacion {
  background: #fff;
  border: 1px solid #efcfcb;
  border-radius: 14px;
  padding: 10px;
}

.mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-btn-enviar-ubicacion {
  width: 100%;
  justify-content: center;
  min-height: 44px;
  border-radius: 11px;
}

/* Normal: menos ruido, contacto secundario y sensación de verificación */
.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-acciones-verificacion-ubicacion {
  background: #fff;
  border: 1px solid #e3e9e5;
  border-radius: 14px;
  padding: 10px;
}

.mcg-verificacion-wrap .mcg-verificacion-normal .mcg-btn-enviar-ubicacion {
  width: 100%;
  justify-content: center;
  min-height: 44px;
  border-radius: 11px;
}

@media (max-width: 520px) {
  .mcg-verificacion-wrap .mcg-verificacion-valida { padding: 10px; border-radius: 18px; }
  .mcg-verificacion-wrap .mcg-verificacion-desaparecida .mcg-acciones-verificacion-top { grid-template-columns: 1fr; }
  .mcg-verificacion-wrap .mcg-verificacion-cabecera { padding: 14px 12px; }
  .mcg-verificacion-wrap .mcg-verificacion-cabecera h2 { font-size: 18px; }
}

/* ============================================================
   MASCOTA QR — REFINAMIENTO VISUAL GLOBAL v2
   Capa de acabado: producto SaaS / plataforma premium.
   No modifica estructura, datos, AJAX ni reglas de negocio.
   ============================================================ */
:root{
  --qrm-bg:#f4f7fa;
  --qrm-surface:#ffffff;
  --qrm-surface-soft:#f8fafc;
  --qrm-primary:#123b5d;
  --qrm-primary-2:#1b6683;
  --qrm-accent:#d4a84f;
  --qrm-text:#18232e;
  --qrm-muted:#6b7886;
  --qrm-border:#e1e8ee;
  --qrm-border-strong:#cfdbe4;
  --qrm-success:#20845a;
  --qrm-danger:#c53d3d;
  --qrm-warning:#a66b12;
  --qrm-radius:18px;
  --qrm-radius-sm:12px;
  --qrm-shadow:0 8px 30px rgba(18,59,93,.07);
  --qrm-shadow-hover:0 16px 38px rgba(18,59,93,.12);
  --qrm-focus:0 0 0 4px rgba(27,102,131,.12);
}

/* Base front-end */
.mcg-shell{
  width:min(1120px,calc(100% - 32px))!important;
  margin:24px auto 48px!important;
  color:var(--qrm-text)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
}
.mcg-shell a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.mcg-shell h1,.mcg-shell h2,.mcg-shell h3,.mcg-shell h4{letter-spacing:-.025em}
.mcg-shell p.description,.mcg-shell .description{color:var(--qrm-muted)}

/* Contenedores y tarjetas */
.mcg-card,.mcg-card-outer,.mcg-card-anim,.mcg-mascota-card,.mcg-hc-card,
.mcg-cita-card,.mcg-wallet-card,.mcg-form-card,.mcg-panel,
.mcg-dashboard-section,.mcg-seccion,.mcg-box{
  border-color:var(--qrm-border)!important;
  border-radius:var(--qrm-radius)!important;
  box-shadow:var(--qrm-shadow)!important;
}
.mcg-card,.mcg-card-outer,.mcg-mascota-card,.mcg-hc-card,.mcg-cita-card,
.mcg-wallet-card,.mcg-form-card,.mcg-panel,.mcg-box{background:var(--qrm-surface)!important}

/* Botones: una sola familia visual */
.mcg-shell .mcg-btn,
.mcg-shell button.mcg-btn,
.mcg-shell input[type="submit"].mcg-btn,
.mcg-shell input[type="button"].mcg-btn{
  min-height:44px!important;
  padding:10px 16px!important;
  border:1px solid var(--qrm-primary)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--qrm-primary),var(--qrm-primary-2))!important;
  color:#fff!important;
  font:700 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;
  letter-spacing:.01em!important;
  box-shadow:0 5px 14px rgba(18,59,93,.13)!important;
}
.mcg-shell .mcg-btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(18,59,93,.17)!important;color:#fff!important}
.mcg-shell .mcg-btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(18,59,93,.12)!important}
.mcg-shell .mcg-btn-secundario{
  background:#fff!important;
  color:var(--qrm-primary)!important;
  border-color:var(--qrm-border-strong)!important;
  box-shadow:0 3px 10px rgba(18,59,93,.05)!important;
}
.mcg-shell .mcg-btn-secundario:hover{background:#f7fafc!important;color:var(--qrm-primary)!important;border-color:#b8ccd9!important}
.mcg-shell .mcg-btn-whatsapp{background:#168b5b!important;border-color:#168b5b!important}
.mcg-shell .mcg-btn-llamar{background:#2472a5!important;border-color:#2472a5!important}
.mcg-shell .mcg-btn-alerta-activa{background:#b52d2d!important;border-color:#b52d2d!important}
.mcg-shell .mcg-btn:focus-visible,.mcg-shell a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--qrm-focus)!important}

/* Formularios */
.mcg-shell input[type="text"],.mcg-shell input[type="email"],.mcg-shell input[type="tel"],
.mcg-shell input[type="number"],.mcg-shell input[type="password"],.mcg-shell input[type="date"],
.mcg-shell input[type="time"],.mcg-shell input[type="url"],.mcg-shell select,.mcg-shell textarea{
  width:100%;
  min-height:44px;
  padding:10px 12px!important;
  border:1px solid var(--qrm-border-strong)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--qrm-text)!important;
  box-shadow:inset 0 1px 2px rgba(18,59,93,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.mcg-shell textarea{min-height:110px;resize:vertical}
.mcg-shell input:hover,.mcg-shell select:hover,.mcg-shell textarea:hover{border-color:#b9cad5!important}
.mcg-shell input:focus,.mcg-shell select:focus,.mcg-shell textarea:focus{border-color:var(--qrm-primary-2)!important;box-shadow:var(--qrm-focus)!important;background:#fff!important}
.mcg-shell label{font-size:12px;font-weight:750;color:#344756;margin-bottom:6px}
.mcg-shell fieldset{border:1px solid var(--qrm-border)!important;border-radius:16px!important;background:#fbfcfd!important}

/* Tabs y navegación */
.mcg-shell .mcg-auth-tabs,.mcg-shell .mcg-tabs,.mcg-shell .mcg-nav-tabs{
  background:#eef3f6!important;
  border:1px solid var(--qrm-border)!important;
  border-radius:14px!important;
  padding:4px!important;
}
.mcg-shell .mcg-auth-tab-label,.mcg-shell .mcg-tab,.mcg-shell .mcg-nav-tab{
  border-radius:10px!important;
  font-weight:750!important;
  color:#61717f!important;
}
.mcg-shell .mcg-auth-tab-radio:checked + .mcg-auth-tabs .mcg-auth-tab-label,
.mcg-shell .mcg-auth-tab-label:hover,.mcg-shell .mcg-tab.active,.mcg-shell .mcg-nav-tab.active{
  color:var(--qrm-primary)!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(18,59,93,.08)!important;
}

/* Tablas */
.mcg-shell table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff;border:1px solid var(--qrm-border);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(18,59,93,.045)}
.mcg-shell table th{background:#f6f8fa!important;color:#4a5c6b!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.7px;font-weight:800!important;padding:12px 14px!important;border-bottom:1px solid var(--qrm-border)!important}
.mcg-shell table td{padding:13px 14px!important;border-bottom:1px solid #edf1f4!important;color:#263744;font-size:13px}
.mcg-shell table tr:last-child td{border-bottom:0!important}
.mcg-shell table tbody tr:hover td{background:#fbfdfe!important}

/* Badges / estados */
.mcg-shell .mcg-badge,.mcg-shell .mcg-estado,.mcg-shell .status-badge{
  display:inline-flex;align-items:center;gap:5px;
  min-height:25px;padding:4px 9px!important;
  border-radius:999px!important;
  border:1px solid rgba(18,59,93,.09)!important;
  background:#edf4f7!important;color:var(--qrm-primary)!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.2px;
}
.mcg-shell .mcg-badge-pagado,.mcg-shell .mcg-estado-activo{background:#eaf7f0!important;color:var(--qrm-success)!important;border-color:#cdebdc!important}
.mcg-shell .mcg-estado-error,.mcg-shell .mcg-badge-error{background:#fff0f0!important;color:var(--qrm-danger)!important;border-color:#f1d0d0!important}

/* Mensajes */
.mcg-shell .mcg-flash,.mcg-shell .mcg-aviso,.mcg-shell .mcg-exito{border-radius:13px!important;box-shadow:0 4px 14px rgba(18,59,93,.045)!important}

/* Modales */
.mcg-shell .mcg-modal,.mcg-shell [role="dialog"] .mcg-modal-content,.mcg-shell .mcg-transferencia-modal,
.mcg-shell .mcg-contacto2-modal{
  border:1px solid var(--qrm-border)!important;border-radius:20px!important;background:#fff!important;
  box-shadow:0 28px 80px rgba(10,31,48,.22)!important;
}

/* Login / registro */
.mcg-shell .mcg-auth-card{border:1px solid var(--qrm-border)!important;border-radius:22px!important;box-shadow:0 20px 60px rgba(18,59,93,.13)!important}
.mcg-shell .mcg-auth-brand{padding-top:24px!important}
.mcg-shell .mcg-auth-logo{filter:drop-shadow(0 6px 12px rgba(18,59,93,.10))}

/* Citas */
.mcg-shell .mcg-citas-wrap,.mcg-shell .mcg-agenda-wrap,.mcg-shell .mcg-monitor-citas{
  background:#f7f9fb!important;border:1px solid var(--qrm-border)!important;border-radius:20px!important;padding:18px!important
}
.mcg-shell .mcg-cita-card:hover{transform:translateY(-2px);box-shadow:var(--qrm-shadow-hover)!important}

/* Verificación pública: sensación de página de estado oficial */
.mcg-shell .mcg-verificacion-wrap{background:linear-gradient(180deg,#f7fafc,#f1f5f7)!important;border:1px solid var(--qrm-border)!important;border-radius:22px!important;padding:18px!important}
.mcg-shell .mcg-verificacion-cabecera{border-radius:16px!important}

/* Dashboard cliente */
.mcg-dashboard-shell{background:linear-gradient(180deg,#f8fafc 0,#f3f6f8 100%)!important;border:1px solid #e4ebf0!important}
.mcg-dashboard-shell .mcg-hero{box-shadow:0 18px 40px rgba(18,59,93,.18)!important}
.mcg-dashboard-shell .mcg-stat-chip{background:rgba(255,255,255,.96)!important}
.mcg-dashboard-shell .mcg-mascota-card{overflow:hidden}
.mcg-dashboard-shell .mcg-mascota-card:hover{transform:translateY(-2px);box-shadow:var(--qrm-shadow-hover)!important}

/* Elementos desplegables */
.mcg-shell details{border:1px solid var(--qrm-border)!important;border-radius:14px!important;background:#fff!important;overflow:hidden}
.mcg-shell details>summary{cursor:pointer}
.mcg-shell details[open]{box-shadow:0 6px 20px rgba(18,59,93,.06)!important}

/* Administración WordPress */
body.wp-admin .mcg-admin-wrap,
body.wp-admin .mcg-admin-page{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body.wp-admin .mcg-admin-wrap .mcg-admin-card,
body.wp-admin .mcg-admin-wrap .mcg-admin-paquete-card,
body.wp-admin .mcg-admin-wrap .mcg-card{
  border-color:var(--qrm-border)!important;border-radius:18px!important;box-shadow:var(--qrm-shadow)!important;background:#fff!important
}
body.wp-admin .mcg-admin-wrap .mcg-admin-card:hover{box-shadow:var(--qrm-shadow-hover)!important}
body.wp-admin .mcg-admin-wrap .button,
body.wp-admin .mcg-admin-wrap input[type="submit"],
body.wp-admin .mcg-admin-wrap input[type="button"]{
  min-height:38px;border-radius:10px;border-color:#cfdbe4;box-shadow:0 2px 7px rgba(18,59,93,.05);font-weight:650
}
body.wp-admin .mcg-admin-wrap .button-primary,
body.wp-admin .mcg-admin-wrap input[type="submit"].button-primary{
  background:linear-gradient(135deg,#123b5d,#1b6683)!important;border-color:#123b5d!important;color:#fff!important;text-shadow:none!important;box-shadow:0 6px 14px rgba(18,59,93,.14)!important
}
body.wp-admin .mcg-admin-wrap .button-primary:hover{transform:translateY(-1px)}
body.wp-admin .mcg-admin-wrap .form-table input[type="text"],
body.wp-admin .mcg-admin-wrap .form-table input[type="number"],
body.wp-admin .mcg-admin-wrap .form-table input[type="email"],
body.wp-admin .mcg-admin-wrap .form-table input[type="url"],
body.wp-admin .mcg-admin-wrap .form-table select,
body.wp-admin .mcg-admin-wrap .form-table textarea{
  border:1px solid #cfdbe4!important;border-radius:10px!important;min-height:40px;box-shadow:inset 0 1px 2px rgba(18,59,93,.025)
}
body.wp-admin .mcg-admin-wrap .form-table input:focus,
body.wp-admin .mcg-admin-wrap .form-table select:focus,
body.wp-admin .mcg-admin-wrap .form-table textarea:focus{border-color:#1b6683!important;box-shadow:0 0 0 3px rgba(27,102,131,.11)!important}
body.wp-admin .mcg-admin-wrap .widefat,
body.wp-admin .mcg-admin-wrap table{border:1px solid var(--qrm-border);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(18,59,93,.045)}
body.wp-admin .mcg-admin-wrap .widefat thead th,
body.wp-admin .mcg-admin-wrap table thead th{background:#f5f8fa;color:#4d6070;font-size:11px;font-weight:800;border-bottom:1px solid var(--qrm-border)}
body.wp-admin .mcg-admin-wrap .widefat tbody tr:hover td{background:#fbfdfe}

/* WooCommerce integrado: solo dentro de componentes del plugin */
.mcg-shell .woocommerce .button,.mcg-shell .woocommerce a.button,.mcg-shell .woocommerce button.button,
.mcg-shell .woocommerce input.button{border-radius:11px!important;font-weight:750!important;box-shadow:0 4px 12px rgba(18,59,93,.09)!important}
.mcg-shell .woocommerce form .form-row input.input-text,
.mcg-shell .woocommerce form .form-row textarea,
.mcg-shell .woocommerce form .form-row select{border-radius:10px!important;border:1px solid var(--qrm-border-strong)!important;min-height:44px}

/* Responsive */
@media (max-width:760px){
  .mcg-shell{width:min(100% - 20px,1120px)!important;margin:12px auto 32px!important}
  .mcg-dashboard-shell{padding:8px!important;border-radius:16px!important}
  .mcg-shell .mcg-stats-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
  .mcg-shell .mcg-stat-chip{min-height:82px;padding:14px 10px!important}
  .mcg-shell .mcg-hero{padding:24px 18px!important;border-radius:17px!important}
  .mcg-shell .mcg-hero-titulo{font-size:26px!important}
  .mcg-shell .mcg-form-grid{grid-template-columns:1fr!important}
  .mcg-shell .mcg-botones-fila{grid-template-columns:1fr!important}
  .mcg-shell table{display:block;overflow-x:auto;white-space:nowrap}
}
@media (max-width:480px){
  .mcg-shell{width:calc(100% - 14px)!important}
  .mcg-shell .mcg-stats-row{grid-template-columns:1fr 1fr}
  .mcg-shell .mcg-btn{width:100%}
  .mcg-shell .mcg-hero-titulo{font-size:23px!important}
  .mcg-shell .mcg-card,.mcg-shell .mcg-card-outer,.mcg-shell .mcg-mascota-card{border-radius:15px!important}
}


/* ==========================================================
   PLAN DE AFILIADO — acabado premium v3
   Alcance: solo .mcg-afiliados-page. No altera lógica ni datos.
   ========================================================== */
.mcg-afiliados-page{
  --af-primary:#123b5d;
  --af-primary-2:#1d6b87;
  --af-accent:#d5a94d;
  --af-ink:#172533;
  --af-muted:#687887;
  --af-line:#e3e9ee;
  --af-soft:#f5f8fa;
  max-width:1160px!important;
  margin:0 auto 44px!important;
  padding:0 4px!important;
}
.mcg-afiliados-page .mcg-afiliados-back{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 12px 2px;
  padding:8px 12px;border:1px solid #dce5eb;border-radius:999px;
  background:#fff;color:#486173;text-decoration:none;font-size:12.5px;font-weight:750;
  box-shadow:0 3px 10px rgba(18,59,93,.045);transition:.18s ease;
}
.mcg-afiliados-page .mcg-afiliados-back:hover{color:var(--af-primary);border-color:#bfd1dc;transform:translateX(-2px);box-shadow:0 6px 16px rgba(18,59,93,.08)}
.mcg-afiliados-page .mcg-afiliados-hero{
  position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;
  overflow:hidden;margin:0 0 24px!important;padding:26px 28px!important;border:1px solid rgba(255,255,255,.08)!important;
  border-radius:22px!important;background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(135deg,#102f4b 0%,#123b5d 54%,#1d6b87 100%)!important;
  box-shadow:0 18px 42px rgba(18,59,93,.20)!important;color:#fff;
}
.mcg-afiliados-page .mcg-afiliados-hero:after{content:"";position:absolute;width:180px;height:180px;right:-70px;bottom:-100px;border-radius:50%;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.02);pointer-events:none}
.mcg-afiliados-page .mcg-afiliados-hero-icon{
  position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;
  border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 26px rgba(0,0,0,.12);font-size:32px;
}
.mcg-afiliados-page .mcg-afiliados-hero-copy{position:relative;z-index:1;min-width:0}
.mcg-afiliados-page .mcg-hero-eyebrow{margin:0 0 5px!important;color:#e7c56e!important;font-size:11px!important;letter-spacing:1.8px!important}
.mcg-afiliados-page .mcg-hero-titulo{margin:0!important;color:#fff!important;font-size:clamp(28px,4vw,38px)!important;line-height:1.08!important;letter-spacing:-.8px!important}
.mcg-afiliados-page .mcg-hero-sub{max-width:690px;margin:8px 0 0!important;color:rgba(255,255,255,.78)!important;font-size:14px!important;line-height:1.55!important}
.mcg-afiliados-page .mcg-afiliados-hero-tag{position:relative;z-index:1;min-width:118px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);text-align:left}
.mcg-afiliados-page .mcg-afiliados-hero-tag span{display:block;color:#d9e6ed;font-size:9px;font-weight:800;letter-spacing:1.3px}
.mcg-afiliados-page .mcg-afiliados-hero-tag strong{display:block;margin-top:4px;color:#fff;font-size:14px}

.mcg-afiliados-page .mcg-paquetes-seccion{margin-top:0!important;padding:0!important}
.mcg-afiliados-page .mcg-paquetes-titulo{display:flex;align-items:center;gap:9px;margin:0 0 5px!important;color:var(--af-ink)!important;font-size:20px!important;font-weight:800!important;letter-spacing:-.25px}
.mcg-afiliados-page .mcg-paquetes-titulo:before{content:"";width:5px;height:23px;border-radius:99px;background:linear-gradient(180deg,var(--af-accent),#b98222);box-shadow:0 3px 9px rgba(213,169,77,.25)}
.mcg-afiliados-page .mcg-paquetes-seccion>p.description{margin:0 0 20px!important;max-width:760px;color:var(--af-muted)!important;font-size:13.5px!important;line-height:1.6}
.mcg-afiliados-page .mcg-plan-cliente-mascota{
  position:relative;margin:0 0 20px!important;padding:22px!important;border:1px solid var(--af-line)!important;border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;box-shadow:0 8px 26px rgba(18,59,93,.065)!important;overflow:hidden;
}
.mcg-afiliados-page .mcg-plan-cliente-mascota:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--af-accent),var(--af-primary-2));}
.mcg-afiliados-page .mcg-plan-cliente-mascota-nombre{margin:0 0 15px!important;padding:0 0 15px!important;border-bottom:1px solid #edf1f4!important;font-size:18px!important;gap:12px!important}
.mcg-afiliados-page .mcg-plan-cliente-mascota-nombre .mcg-mascota-icono{width:46px!important;height:46px!important;border-radius:14px!important;background:linear-gradient(145deg,#f9f3df,#fff)!important;border:1px solid #ead7a1!important;box-shadow:0 5px 12px rgba(213,169,77,.12)}
.mcg-afiliados-page .mcg-afiliados-mascota-nombre-texto{font-weight:800!important;color:var(--af-ink)!important}
.mcg-afiliados-page .mcg-flash,.mcg-afiliados-page .mcg-aviso{margin:0 0 14px!important;border-radius:12px!important;padding:11px 13px!important;font-size:12.5px!important;line-height:1.5!important;box-shadow:none!important}
.mcg-afiliados-page .mcg-paquetes-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px!important;margin-top:15px!important}
.mcg-afiliados-page .mcg-paquete-card{
  position:relative;display:flex;flex-direction:column;min-height:205px!important;padding:19px!important;border:1px solid var(--af-line)!important;
  border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(18,59,93,.055)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.mcg-afiliados-page .mcg-paquete-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(18,59,93,.10)!important;border-color:#cad9e2!important}
.mcg-afiliados-page .mcg-paquete-card-activo{border-color:#a9cdbd!important;background:linear-gradient(180deg,#fbfffd,#fff)!important;box-shadow:0 8px 22px rgba(22,119,74,.08)!important}
.mcg-afiliados-page .mcg-paquete-badge{position:absolute;top:13px;right:13px;padding:5px 8px;border-radius:999px;background:#e8f7ef;color:#16764a;font-size:10px;font-weight:800}
.mcg-afiliados-page .mcg-paquete-nombre{margin:0 0 8px!important;padding-right:75px;font-size:16px!important;font-weight:800!important;color:var(--af-ink)!important}
.mcg-afiliados-page .mcg-paquete-desc{margin:0 0 13px!important;color:var(--af-muted)!important;font-size:12.5px!important;line-height:1.5!important}
.mcg-afiliados-page .mcg-paquete-limite{display:flex!important;align-items:baseline!important;gap:6px!important;margin:auto 0 10px!important;padding:10px 0 0!important;border-top:1px solid #edf1f4!important}
.mcg-afiliados-page .mcg-paquete-limite-num{font-size:25px!important;line-height:1!important;font-weight:850!important;color:var(--af-primary)!important}
.mcg-afiliados-page .mcg-paquete-limite-txt{font-size:11px!important;color:#7a8894!important;font-weight:650}
.mcg-afiliados-page .mcg-paquete-precio{margin:0 0 11px!important;font-size:18px!important;font-weight:850!important;color:var(--af-primary)!important}
.mcg-afiliados-page .mcg-paquete-card .mcg-btn-ancho{width:100%!important;margin-top:auto!important;background:linear-gradient(135deg,var(--af-primary),var(--af-primary-2))!important;color:#fff!important;border:0!important;box-shadow:0 6px 14px rgba(18,59,93,.14)!important}
.mcg-afiliados-page .mcg-paquete-card .mcg-btn-ancho:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(18,59,93,.19)!important}
.mcg-afiliados-page .mcg-link-cancelar-plan{display:inline-flex!important;align-items:center;gap:6px;margin:0 0 5px!important;padding:0!important;border:0!important;background:transparent!important;color:#a64b4b!important;font-size:11.5px!important;font-weight:700!important;box-shadow:none!important;min-height:0!important}
.mcg-afiliados-page .mcg-link-cancelar-plan:hover{text-decoration:underline;color:#8d3030!important;transform:none!important;box-shadow:none!important}

@media(max-width:760px){
  .mcg-afiliados-page{padding:0!important;margin-bottom:30px!important}
  .mcg-afiliados-page .mcg-afiliados-hero{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px!important;border-radius:18px!important}
  .mcg-afiliados-page .mcg-afiliados-hero-icon{width:58px;height:58px;flex-basis:58px;border-radius:16px;font-size:26px}
  .mcg-afiliados-page .mcg-afiliados-hero-tag{grid-column:2;justify-self:start;margin-top:-5px;min-width:0;padding:8px 11px}
  .mcg-afiliados-page .mcg-hero-titulo{font-size:27px!important}
  .mcg-afiliados-page .mcg-hero-sub{font-size:13px!important}
  .mcg-afiliados-page .mcg-paquetes-grid{grid-template-columns:1fr!important}
  .mcg-afiliados-page .mcg-plan-cliente-mascota{padding:18px!important}
}
@media(max-width:460px){
  .mcg-afiliados-page .mcg-afiliados-hero{grid-template-columns:1fr;gap:12px}
  .mcg-afiliados-page .mcg-afiliados-hero-tag{grid-column:auto}
  .mcg-afiliados-page .mcg-hero-titulo{font-size:24px!important}
  .mcg-afiliados-page .mcg-paquetes-titulo{font-size:18px!important}
}

/* ==========================================================
   CORRECCIÓN NAVEGACIÓN — evitar menú pegado/cubriendo pantalla
   El menú del dashboard vuelve al flujo normal del documento.
   ========================================================== */
.mcg-dashboard-shell .mcg-nav-bar,
.mcg-dashboard-shell .mcg-nav-bar-tiles{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  z-index:10!important;
  inset:auto!important;
  overflow:visible!important;
  transform:none!important;
}
.mcg-dashboard-shell .mcg-nav-bar-tiles{
  display:grid!important;
  margin:0 auto 16px!important;
}
.mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile{
  position:relative!important;
  width:auto!important;
  height:auto!important;
  min-height:68px!important;
}
@media(max-width:760px){
  .mcg-dashboard-shell .mcg-nav-bar,
  .mcg-dashboard-shell .mcg-nav-bar-tiles{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* CORRECCIÓN DEFINITIVA — navegación del frontend nunca queda pegada al viewport.
 * Evita que la barra de navegación tape el contenido al hacer scroll.
 */
.mcg-shell .mcg-nav-bar,
.mcg-shell .mcg-nav-bar-tiles,
.mcg-afiliados-page .mcg-nav-bar,
.mcg-afiliados-page .mcg-nav-bar-tiles {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transform: none !important;
  z-index: auto !important;
}



/* ==========================================================
   NAVEGACIÓN MÓVIL COMPACTA — v4.24.40
   En pantallas pequeñas la navegación pasa a una banda horizontal
   desplazable para no ocupar media pantalla ni empujar el contenido.
   ========================================================== */
@media (max-width:760px){
  .mcg-shell .mcg-nav-bar-tiles,
  .mcg-afiliados-page .mcg-nav-bar-tiles,
  .mcg-dashboard-shell .mcg-nav-bar-tiles{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:8px!important;
    margin:0 0 12px!important;
    width:100%!important;
    min-height:0!important;
    max-height:94px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .mcg-shell .mcg-nav-bar-tiles::-webkit-scrollbar,
  .mcg-afiliados-page .mcg-nav-bar-tiles::-webkit-scrollbar,
  .mcg-dashboard-shell .mcg-nav-bar-tiles::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  .mcg-shell .mcg-nav-bar-tiles .mcg-nav-tile,
  .mcg-afiliados-page .mcg-nav-bar-tiles .mcg-nav-tile,
  .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile{
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    min-height:74px!important;
    height:74px!important;
    padding:7px 5px!important;
    border-radius:12px!important;
    gap:4px!important;
  }
  .mcg-shell .mcg-nav-bar-tiles .mcg-nav-tile-icono,
  .mcg-afiliados-page .mcg-nav-bar-tiles .mcg-nav-tile-icono,
  .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile-icono{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }
  .mcg-shell .mcg-nav-bar-tiles .mcg-nav-tile-icono svg,
  .mcg-afiliados-page .mcg-nav-bar-tiles .mcg-nav-tile-icono svg,
  .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile-icono svg{
    width:20px!important;
    height:20px!important;
  }
  .mcg-shell .mcg-nav-bar-tiles .mcg-nav-tile-titulo,
  .mcg-afiliados-page .mcg-nav-bar-tiles .mcg-nav-tile-titulo,
  .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile-titulo{
    font-size:11px!important;
    line-height:1.12!important;
    max-width:76px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
}
@media (max-width:420px){
  .mcg-shell .mcg-nav-bar-tiles,
  .mcg-afiliados-page .mcg-nav-bar-tiles,
  .mcg-dashboard-shell .mcg-nav-bar-tiles{
    max-height:88px!important;
    padding:7px!important;
    gap:7px!important;
  }
  .mcg-shell .mcg-nav-bar-tiles .mcg-nav-tile,
  .mcg-afiliados-page .mcg-nav-bar-tiles .mcg-nav-tile,
  .mcg-dashboard-shell .mcg-nav-bar-tiles .mcg-nav-tile{
    flex-basis:76px!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:72px!important;
    min-height:72px!important;
  }
}

/* ==========================================================
   MASCOTAQR — SISTEMA VISUAL GLOBAL v4.24.43
   Referencia: navegación compacta de Control Panel.
   Aplicación transversal a pantallas públicas del plugin.
   Solo presentación: no modifica lógica, datos ni AJAX.
   ========================================================== */

:root{
  --mcg-ui-primary:#123b5d;
  --mcg-ui-primary-2:#1f6b87;
  --mcg-ui-accent:#d3a64c;
  --mcg-ui-bg:#f5f7f9;
  --mcg-ui-card:#ffffff;
  --mcg-ui-border:#e2e8ed;
  --mcg-ui-text:#1d2d3a;
  --mcg-ui-muted:#71808d;
  --mcg-ui-radius:18px;
  --mcg-ui-shadow:0 8px 24px rgba(18,59,93,.07);
}

/* Contenedor común: el plugin se siente como una sola aplicación. */
.mcg-shell{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:8px 12px 34px!important;
  color:var(--mcg-ui-text)!important;
}
.mcg-shell-angosto{max-width:760px!important}
.mcg-dashboard-shell{max-width:1120px!important}

/* ----------------------------------------------------------
   Navegación global — patrón de la segunda captura
   ---------------------------------------------------------- */
.mcg-nav-bar-tiles{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 18px!important;
  padding:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  scrollbar-width:none!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--mcg-ui-border)!important;
  border-radius:18px!important;
  box-shadow:0 6px 20px rgba(18,59,93,.06)!important;
}
.mcg-nav-bar-tiles::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.mcg-nav-bar-tiles .mcg-nav-tile{
  position:relative!important;
  flex:0 0 112px!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:88px!important;
  min-height:88px!important;
  max-height:88px!important;
  margin:0!important;
  padding:9px 7px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#425665!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(18,59,93,.035)!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile:hover{
  background:#f7fafc!important;
  border-color:#dce6ec!important;
  color:var(--mcg-ui-primary)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(18,59,93,.08)!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-activo{
  background:#eef6f9!important;
  border-color:#cfe1e9!important;
  color:var(--mcg-ui-primary)!important;
  box-shadow:inset 0 0 0 1px rgba(18,59,93,.025),0 5px 14px rgba(18,59,93,.05)!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-salir{
  color:#9b4d4d!important;
  background:#fffafa!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-icono{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#fffdf8,#f8f1df)!important;
  border:1px solid #e7d49e!important;
  color:#a77d2f!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-icono svg{
  width:23px!important;
  height:23px!important;
  display:block!important;
}
.mcg-nav-bar-tiles .mcg-nav-tile-titulo{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  font-family:var(--mcg-font-display,'Lora',Georgia,serif)!important;
  font-size:12px!important;
  line-height:1.12!important;
  font-weight:700!important;
  text-align:center!important;
  white-space:normal!important;
}

/* El nav clásico también adopta el mismo contenedor visual cuando alguna
   pantalla lo utiliza sin la variante tile. */
.mcg-nav-bar:not(.mcg-nav-bar-tiles){
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#fff!important;
  border:1px solid var(--mcg-ui-border)!important;
  border-radius:18px!important;
  box-shadow:var(--mcg-ui-shadow)!important;
  scrollbar-width:none!important;
}
.mcg-nav-bar:not(.mcg-nav-bar-tiles)::-webkit-scrollbar{display:none!important}
.mcg-nav-bar:not(.mcg-nav-bar-tiles) .mcg-nav-btn{
  flex:0 0 auto!important;
  min-height:42px!important;
  padding:9px 13px!important;
  border-radius:11px!important;
  white-space:nowrap!important;
}

/* ----------------------------------------------------------
   Cabeceras y superficies
   ---------------------------------------------------------- */
.mcg-hero{
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(18,59,93,.13)!important;
  margin-bottom:20px!important;
}
.mcg-card,
.mcg-card-anim,
.mcg-mascota-card,
.mcg-admin-card,
.mcg-seccion-card,
.mcg-panel-card,
.mcg-plan-card{
  border:1px solid var(--mcg-ui-border)!important;
  border-radius:var(--mcg-ui-radius)!important;
  background:var(--mcg-ui-card)!important;
  box-shadow:var(--mcg-ui-shadow)!important;
}

/* Tarjetas de métricas y bloques de resumen. */
.mcg-stats-row,
.mcg-stat-row,
.mcg-admin-stats{
  gap:14px!important;
  margin-bottom:18px!important;
}
.mcg-stat-chip,
.mcg-stat-card,
.mcg-admin-stat{
  border:1px solid var(--mcg-ui-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(18,59,93,.055)!important;
}

/* Formularios consistentes en todo el frontend. */
.mcg-shell input[type=text],
.mcg-shell input[type=email],
.mcg-shell input[type=tel],
.mcg-shell input[type=password],
.mcg-shell input[type=number],
.mcg-shell input[type=date],
.mcg-shell input[type=time],
.mcg-shell input[type=search],
.mcg-shell select,
.mcg-shell textarea{
  border-color:#d9e2e8!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(18,59,93,.025)!important;
}
.mcg-shell input:focus,
.mcg-shell select:focus,
.mcg-shell textarea:focus{
  border-color:#6c9ab0!important;
  box-shadow:0 0 0 3px rgba(108,154,176,.14)!important;
}

/* Botones: una sola familia visual. */
.mcg-shell .mcg-btn,
.mcg-shell button,
.mcg-shell input[type=submit],
.mcg-shell input[type=button],
.mcg-shell .button{
  border-radius:11px!important;
  font-weight:750!important;
}

/* Avisos, estados y vacíos. */
.mcg-shell .mcg-flash,
.mcg-shell .mcg-aviso,
.mcg-shell .mcg-exito,
.mcg-shell .mcg-vacio{
  border-radius:13px!important;
}

/* Tablas públicas: limpias y legibles. */
.mcg-shell table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border:1px solid var(--mcg-ui-border)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(18,59,93,.05)!important;
}
.mcg-shell table th{
  background:#f7f9fb!important;
  color:#405362!important;
  font-weight:750!important;
}
.mcg-shell table th,
.mcg-shell table td{
  padding:11px 13px!important;
  border-bottom:1px solid #edf1f4!important;
}

/* ----------------------------------------------------------
   Responsive global — móvil igual al patrón de la segunda foto.
   ---------------------------------------------------------- */
@media(max-width:760px){
  .mcg-shell{
    width:100%!important;
    padding:6px 10px 28px!important;
  }
  .mcg-nav-bar-tiles{
    gap:7px!important;
    padding:7px!important;
    margin-bottom:14px!important;
    border-radius:16px!important;
  }
  .mcg-nav-bar-tiles .mcg-nav-tile{
    flex-basis:104px!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
    border-radius:13px!important;
  }
  .mcg-nav-bar-tiles .mcg-nav-tile-icono{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  .mcg-nav-bar-tiles .mcg-nav-tile-icono svg{width:21px!important;height:21px!important}
  .mcg-nav-bar-tiles .mcg-nav-tile-titulo{font-size:11.5px!important}
  .mcg-hero{border-radius:17px!important;padding:24px 20px!important}
  .mcg-stats-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mcg-stat-chip{min-width:0!important}
}
@media(max-width:420px){
  .mcg-shell{padding-left:8px!important;padding-right:8px!important}
  .mcg-nav-bar-tiles .mcg-nav-tile{
    flex-basis:96px!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:82px!important;
    min-height:82px!important;
    max-height:82px!important;
  }
  .mcg-nav-bar-tiles .mcg-nav-tile-icono{width:36px!important;height:36px!important;flex-basis:36px!important}
  .mcg-nav-bar-tiles .mcg-nav-tile-titulo{font-size:11px!important}
}

/* PWA: aviso claro cuando se muestra un perfil QR público desde caché offline. */
.mcg-pwa-offline-qr{margin:0 0 16px;padding:12px 15px;border:1px solid #e4c66a;border-radius:14px;background:#fff8df;color:#6d5717;font-size:13px;line-height:1.45;font-weight:700;box-shadow:0 8px 24px rgba(18,59,93,.07)}
.mcg-pwa-offline-qr[hidden]{display:none!important}
