/*
==============================================================================
PORTAL MULTIMEDIA — PASO 28
Rediseño visual moderno
==============================================================================
*/

:root{
    --pm-blue:#2563eb;
    --pm-blue-2:#3b82f6;
    --pm-indigo:#4f46e5;
    --pm-violet:#7c3aed;
    --pm-cyan:#0891b2;
    --pm-green:#16a34a;
    --pm-amber:#d97706;
    --pm-red:#dc2626;

    --pm-ink:#0f172a;
    --pm-text:#334155;
    --pm-muted:#64748b;
    --pm-soft:#94a3b8;
    --pm-line:#e2e8f0;
    --pm-bg:#f6f8fc;
    --pm-card:#ffffff;
    --pm-card-soft:rgba(255,255,255,.78);

    --pm-radius-sm:12px;
    --pm-radius:18px;
    --pm-radius-lg:26px;

    --pm-shadow-sm:0 4px 14px rgba(15,23,42,.05);
    --pm-shadow:0 14px 36px rgba(15,23,42,.08);
    --pm-shadow-lg:0 24px 70px rgba(15,23,42,.12);

    --pm-container:1240px;
    --pm-speed:180ms ease;
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    min-height:100vh;
    color:var(--pm-ink);
    background:
        radial-gradient(circle at 10% 0%, rgba(59,130,246,.08), transparent 28rem),
        radial-gradient(circle at 90% 10%, rgba(124,58,237,.06), transparent 26rem),
        linear-gradient(180deg,#fbfdff 0%,var(--pm-bg) 100%);
    font-family:Arial,Helvetica,sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body,input,select,textarea,button{font:inherit}

img,video{max-width:100%}

img{height:auto}

a{color:inherit;text-decoration:none}

button,a{ -webkit-tap-highlight-color:transparent }

main{min-height:68vh}

h1,h2,h3,h4,p{margin-top:0}

h1,h2,h3,h4{
    color:var(--pm-ink);
    letter-spacing:-.03em;
    line-height:1.12;
}

h1{font-weight:850}
h2,h3{font-weight:800}
p{color:var(--pm-text);line-height:1.7}

::selection{background:#dbeafe;color:#1e3a8a}

:focus-visible{
    outline:3px solid rgba(37,99,235,.24);
    outline-offset:3px;
}

.contenedor{
    width:min(calc(100% - 40px),var(--pm-container));
    margin-inline:auto;
}

.seccion{padding:76px 0}
.seccion-sm{padding:46px 0 70px}

.seccion-cabecera{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}
.seccion-cabecera h2{font-size:clamp(24px,3vw,34px);margin-bottom:6px}
.seccion-cabecera p{margin:0;color:var(--pm-muted)}
.seccion-enlace{color:var(--pm-blue);font-size:14px;font-weight:800}
.seccion-enlace:hover{color:#1d4ed8}

.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* -------------------------------------------------------------------------- */
/* HEADER */
/* -------------------------------------------------------------------------- */

.pm-header{
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid rgba(226,232,240,.88);
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(18px);
    box-shadow:0 8px 30px rgba(15,23,42,.035);
}

.pm-header-inner{
    min-height:74px;
    display:flex;
    align-items:center;
    gap:22px;
}

.pm-brand{
    display:inline-flex;
    align-items:center;
    gap:11px;
    flex:0 0 auto;
    font-weight:900;
    letter-spacing:-.03em;
}

.pm-brand-mark{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(135deg,var(--pm-blue),var(--pm-violet));
    color:#fff;
    box-shadow:0 10px 24px rgba(37,99,235,.22);
    font-size:13px;
}

.pm-brand-text{font-size:18px;color:var(--pm-ink)}

.pm-nav{
    flex:1;
    display:flex;
    align-items:center;
    gap:4px;
}

.pm-nav a{
    padding:9px 11px;
    border-radius:10px;
    color:#475569;
    font-size:14px;
    font-weight:700;
    transition:background var(--pm-speed),color var(--pm-speed),transform var(--pm-speed);
}

.pm-nav a:hover,
.pm-nav a.activo{
    background:#eff6ff;
    color:var(--pm-blue);
}

.pm-nav a:hover{transform:translateY(-1px)}

.pm-header-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.pm-search{
    width:min(260px,25vw);
    display:flex;
    align-items:center;
    border:1px solid var(--pm-line);
    border-radius:13px;
    background:rgba(255,255,255,.9);
    overflow:hidden;
    transition:border-color var(--pm-speed),box-shadow var(--pm-speed);
}
.pm-search:focus-within{
    border-color:#93c5fd;
    box-shadow:0 0 0 4px rgba(37,99,235,.08);
}
.pm-search input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    padding:10px 12px;
    color:var(--pm-ink);
    font-size:13px;
}
.pm-search button{
    border:0;
    background:transparent;
    padding:10px 12px;
    color:var(--pm-muted);
    cursor:pointer;
}

.pm-user{position:relative}
.pm-user-button,
.pm-mobile-button{
    appearance:none;
    border:1px solid var(--pm-line);
    border-radius:12px;
    background:#fff;
    color:var(--pm-text);
    padding:9px 12px;
    font-weight:800;
    font-size:13px;
    cursor:pointer;
    transition:all var(--pm-speed);
}
.pm-user-button:hover,
.pm-mobile-button:hover{
    background:#eff6ff;
    color:var(--pm-blue);
    border-color:#bfdbfe;
}

.pm-user-menu{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    width:236px;
    padding:8px;
    border:1px solid var(--pm-line);
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:var(--pm-shadow-lg);
}
.pm-user-menu.abierto{display:block}

.pm-user-id{
    padding:10px 11px 12px;
    margin-bottom:6px;
    border-bottom:1px solid var(--pm-line);
}
.pm-user-id strong,
.pm-user-id small{display:block}
.pm-user-id strong{font-size:13px}
.pm-user-id small{font-size:11px;color:var(--pm-soft);margin-top:2px}

.pm-user-menu a{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 10px;
    border-radius:10px;
    color:#475569;
    font-size:13px;
    font-weight:700;
}
.pm-user-menu a:hover{background:#eff6ff;color:var(--pm-blue)}
.pm-user-menu .pm-logout{
    margin-top:5px;
    border-top:1px solid var(--pm-line);
    padding-top:11px;
    color:#b91c1c;
}

.pm-mobile-button{display:none;font-size:18px}

/* -------------------------------------------------------------------------- */
/* BOTONES */
/* -------------------------------------------------------------------------- */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:10px 18px;
    border:1px solid transparent;
    border-radius:12px;
    cursor:pointer;
    font-size:14px;
    font-weight:800;
    transition:transform var(--pm-speed),box-shadow var(--pm-speed),background var(--pm-speed),border-color var(--pm-speed),color var(--pm-speed);
}

.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

.btn-primario{
    color:#fff;
    background:linear-gradient(135deg,var(--pm-blue),var(--pm-indigo));
    border-color:rgba(37,99,235,.9);
    box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.btn-primario:hover{
    color:#fff;
    box-shadow:0 14px 30px rgba(37,99,235,.24);
}

.btn-secundario{
    color:var(--pm-ink);
    background:#fff;
    border-color:var(--pm-line);
}
.btn-secundario:hover{
    color:var(--pm-blue);
    background:#f8fbff;
    border-color:#bfdbfe;
}

/* -------------------------------------------------------------------------- */
/* HOME / HERO */
/* -------------------------------------------------------------------------- */

.hero-modern{
    position:relative;
    overflow:hidden;
    padding:74px 0 64px;
}

.hero-modern::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 80% 25%, rgba(37,99,235,.11), transparent 22rem),
        radial-gradient(circle at 70% 70%, rgba(124,58,237,.075), transparent 20rem);
    pointer-events:none;
}

.hero-modern-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:50px;
    align-items:center;
}

.hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    margin-bottom:18px;
    border:1px solid #dbeafe;
    border-radius:999px;
    background:rgba(239,246,255,.8);
    color:var(--pm-blue);
    font-size:13px;
    font-weight:850;
}
.hero-kicker::before{
    content:"";
    width:7px;height:7px;border-radius:50%;
    background:linear-gradient(135deg,var(--pm-blue),var(--pm-violet));
}

.hero-modern h1{
    max-width:760px;
    margin-bottom:22px;
    font-size:clamp(46px,6.2vw,76px);
    line-height:1.02;
}

.hero-modern h1 span{
    background:linear-gradient(135deg,var(--pm-blue),var(--pm-violet));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-modern p{
    max-width:720px;
    margin-bottom:28px;
    color:var(--pm-muted);
    font-size:clamp(17px,2vw,20px);
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-top:24px;
    color:var(--pm-muted);
    font-size:13px;
    font-weight:650;
}

.hero-visual{
    position:relative;
    padding:18px;
    border:1px solid rgba(255,255,255,.8);
    border-radius:30px;
    background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(241,245,249,.86));
    box-shadow:0 30px 80px rgba(37,99,235,.13);
}

.hero-visual::before{
    content:"";
    position:absolute;
    width:140px;height:140px;
    top:-30px;right:-25px;
    border-radius:50%;
    background:rgba(124,58,237,.11);
    filter:blur(6px);
    pointer-events:none;
}

.hero-panel{
    position:relative;
    z-index:1;
    display:grid;
    gap:12px;
}

.hero-panel-top{
    min-height:152px;
    padding:22px;
    border-radius:22px;
    color:#fff;
    background:
        linear-gradient(135deg,rgba(15,23,42,.96),rgba(37,99,235,.94));
    box-shadow:0 18px 40px rgba(15,23,42,.18);
}

.hero-panel-top small{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
    font-size:11px;
    font-weight:800;
}

.hero-panel-top h3{
    margin:28px 0 8px;
    color:#fff;
    font-size:23px;
}

.hero-panel-top p{
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:13px;
    line-height:1.5;
}

.hero-mini-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.hero-mini-card{
    min-height:116px;
    padding:16px;
    border:1px solid var(--pm-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--pm-shadow-sm);
}
.hero-mini-card span{
    display:inline-flex;
    margin-bottom:17px;
    padding:5px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:850;
}
.hero-mini-card strong{
    display:block;
    font-size:14px;
    line-height:1.35;
}
.hero-mini-card small{
    display:block;
    margin-top:5px;
    color:var(--pm-soft);
    font-size:11px;
}

.hero-stats{
    position:relative;
    z-index:2;
    margin-top:-8px;
    padding-bottom:30px;
}
.hero-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.hero-stat{
    padding:19px 20px;
    border:1px solid var(--pm-line);
    border-radius:17px;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(14px);
    box-shadow:var(--pm-shadow-sm);
}
.hero-stat small{
    display:block;
    color:var(--pm-muted);
    font-size:12px;
    font-weight:750;
}
.hero-stat strong{
    display:block;
    margin-top:5px;
    font-size:28px;
    letter-spacing:-.04em;
}

/* -------------------------------------------------------------------------- */
/* TARJETAS DE CONTENIDO */
/* -------------------------------------------------------------------------- */

.tarjeta{
    position:relative;
    overflow:hidden;
    border:1px solid var(--pm-line);
    border-radius:var(--pm-radius);
    background:var(--pm-card);
    box-shadow:var(--pm-shadow-sm);
    transition:transform var(--pm-speed),box-shadow var(--pm-speed),border-color var(--pm-speed);
}

.tarjeta-interactiva:hover,
a.tarjeta:hover{
    transform:translateY(-4px);
    border-color:#cfe0f5;
    box-shadow:var(--pm-shadow);
}

.tarjeta-imagen{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:linear-gradient(135deg,#eff6ff,#f8fafc);
}
.tarjeta-imagen img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 320ms ease;
}
.tarjeta:hover .tarjeta-imagen img{transform:scale(1.03)}
.tarjeta-cuerpo{padding:20px}
.tarjeta-titulo{margin-bottom:9px;font-size:18px;font-weight:850;line-height:1.35}
.tarjeta-descripcion{margin-bottom:14px;color:var(--pm-muted);font-size:14px;line-height:1.65}
.tarjeta-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:var(--pm-soft);font-size:12px}

.content-card-modern{
    display:flex;
    flex-direction:column;
    min-height:100%;
}
.content-card-modern .tarjeta-cuerpo{flex:1;display:flex;flex-direction:column}
.content-card-modern .tarjeta-meta{margin-top:auto}

/* -------------------------------------------------------------------------- */
/* BADGES */
/* -------------------------------------------------------------------------- */

.badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:850;
    letter-spacing:.02em;
}
.badge-podcast{background:#f3e8ff;color:#7e22ce}
.badge-short{background:#ecfeff;color:#0e7490}
.badge-publicacion{background:#eff6ff;color:#1d4ed8}

/* -------------------------------------------------------------------------- */
/* DASHBOARDS */
/* -------------------------------------------------------------------------- */

.app-shell{
    display:grid;
    grid-template-columns:255px minmax(0,1fr);
    gap:26px;
    align-items:start;
}

.app-sidebar{
    position:sticky;
    top:96px;
    padding:18px;
    border:1px solid var(--pm-line);
    border-radius:20px;
    background:rgba(255,255,255,.92);
    box-shadow:var(--pm-shadow);
}

.app-sidebar-title{
    margin:3px 7px 14px;
    color:var(--pm-soft);
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.app-menu{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.app-menu a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:12px;
    color:#475569;
    font-size:14px;
    font-weight:750;
    transition:all var(--pm-speed);
}
.app-menu a:hover,
.app-menu a.activo{
    color:var(--pm-blue);
    background:#eff6ff;
    transform:translateX(2px);
}

.dashboard-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}
.dashboard-head h1{
    margin-bottom:6px;
    font-size:clamp(34px,4.5vw,52px);
}
.dashboard-head p{margin:0;color:var(--pm-muted)}

.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.dashboard-metric{
    min-height:138px;
    padding:20px;
    border:1px solid var(--pm-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--pm-shadow-sm);
}

.dashboard-metric-icon{
    width:42px;height:42px;
    display:grid;place-items:center;
    margin-bottom:18px;
    border-radius:13px;
    background:#eff6ff;
    color:var(--pm-blue);
    font-size:19px;
}

.dashboard-metric small{
    display:block;
    color:var(--pm-muted);
    font-size:12px;
    font-weight:750;
}
.dashboard-metric strong{
    display:block;
    margin-top:4px;
    font-size:30px;
    letter-spacing:-.04em;
}

.dashboard-two{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    gap:20px;
    margin-top:22px;
}

.panel-modern{
    padding:22px;
    border:1px solid var(--pm-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--pm-shadow-sm);
}
.panel-modern h2{
    margin-bottom:6px;
    font-size:21px;
}
.panel-modern > p{
    margin-bottom:18px;
    color:var(--pm-muted);
    font-size:13px;
}

.quick-actions{
    display:grid;
    gap:10px;
}
.quick-action{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px 14px;
    border:1px solid var(--pm-line);
    border-radius:14px;
    background:#fbfdff;
    color:var(--pm-text);
    font-size:13px;
    font-weight:750;
}
.quick-action:hover{
    border-color:#bfdbfe;
    background:#eff6ff;
    color:var(--pm-blue);
}

/* -------------------------------------------------------------------------- */
/* FORMULARIOS */
/* -------------------------------------------------------------------------- */

.formulario{display:grid;gap:18px}
.form-grupo{margin-bottom:18px}
.form-grupo label{
    display:block;
    margin-bottom:7px;
    color:var(--pm-ink);
    font-size:13px;
    font-weight:800;
}
.form-control{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    outline:0;
    background:#fff;
    color:var(--pm-ink);
    font-size:14px;
    transition:border-color var(--pm-speed),box-shadow var(--pm-speed);
}
.form-control:focus{
    border-color:#60a5fa;
    box-shadow:0 0 0 4px rgba(37,99,235,.09);
}
textarea.form-control{min-height:120px;resize:vertical;line-height:1.6}
.form-control::placeholder{color:var(--pm-soft)}

/* -------------------------------------------------------------------------- */
/* MÉTRICAS, ALERTAS, VACÍOS */
/* -------------------------------------------------------------------------- */

.metricas-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.metrica{
    padding:20px;
    border:1px solid var(--pm-line);
    border-radius:17px;
    background:#fff;
    box-shadow:var(--pm-shadow-sm);
}
.metrica-etiqueta{margin-bottom:9px;color:var(--pm-muted);font-size:12px;font-weight:750}
.metrica-valor{margin:0;color:var(--pm-ink);font-size:30px;font-weight:850}

.alerta{
    margin-bottom:20px;
    padding:14px 16px;
    border:1px solid transparent;
    border-radius:13px;
    font-size:14px;
    line-height:1.6;
}
.alerta-exito{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.alerta-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.alerta-advertencia{border-color:#fde68a;background:#fffbeb;color:#92400e}

.estado-vacio{
    padding:52px 26px;
    border:1px dashed #cbd5e1;
    border-radius:20px;
    background:rgba(255,255,255,.76);
    text-align:center;
}
.estado-vacio p{max-width:560px;margin:0 auto 20px;color:var(--pm-muted)}

/* -------------------------------------------------------------------------- */
/* TABLAS */
/* -------------------------------------------------------------------------- */

.tabla-contenedor,
.tabla-estadisticas-contenedor,
.admin-tabla-contenedor,
.qa-tabla-contenedor,
.verificacion-tabla-contenedor{
    overflow-x:auto;
    border-radius:18px;
}

.tabla-dashboard,
.tabla-contenidos,
.tabla-estadisticas,
.admin-tabla,
.qa-tabla,
.verificacion-tabla{
    width:100%;
    border-collapse:collapse;
}

.tabla-dashboard th,
.tabla-dashboard td,
.tabla-contenidos th,
.tabla-contenidos td,
.tabla-estadisticas th,
.tabla-estadisticas td,
.admin-tabla th,
.admin-tabla td,
.qa-tabla th,
.qa-tabla td,
.verificacion-tabla th,
.verificacion-tabla td{
    padding:14px 15px;
    border-bottom:1px solid var(--pm-line);
    text-align:left;
    vertical-align:middle;
}

.tabla-dashboard th,
.tabla-contenidos th,
.tabla-estadisticas th,
.admin-tabla th,
.qa-tabla th,
.verificacion-tabla th{
    background:#f8fafc;
    color:var(--pm-muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.05em;
    white-space:nowrap;
}

.tabla-dashboard tbody tr:hover,
.tabla-contenidos tbody tr:hover,
.tabla-estadisticas tbody tr:hover,
.admin-tabla tbody tr:hover,
.qa-tabla tbody tr:hover,
.verificacion-tabla tbody tr:hover{
    background:#fbfdff;
}

/* -------------------------------------------------------------------------- */
/* PERFIL / SHORTS */
/* -------------------------------------------------------------------------- */

.perfil-foto,
.perfil-iniciales,
.usuario-avatar{
    box-shadow:0 12px 28px rgba(15,23,42,.1);
}

.short-card video{
    display:block;
    width:100%;
    background:#020617;
}

/* -------------------------------------------------------------------------- */
/* FOOTER */
/* -------------------------------------------------------------------------- */

.pm-footer{
    margin-top:64px;
    border-top:1px solid rgba(226,232,240,.9);
    background:#0b1220;
    color:#cbd5e1;
}

.pm-footer-grid{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(150px,.7fr));
    gap:32px;
    padding:46px 0;
}

.pm-footer h3,
.pm-footer strong{color:#fff}
.pm-footer p{max-width:540px;color:#94a3b8}
.pm-footer-links{display:grid;gap:8px}
.pm-footer a{color:#cbd5e1;transition:color var(--pm-speed)}
.pm-footer a:hover{color:#fff}
.pm-footer-bottom{
    border-top:1px solid rgba(148,163,184,.18);
    padding:18px 0;
    color:#94a3b8;
    font-size:13px;
}

/* -------------------------------------------------------------------------- */
/* RESPONSIVE */
/* -------------------------------------------------------------------------- */

@media (max-width:1120px){
    .pm-header-inner{flex-wrap:wrap;padding:10px 0}
    .pm-mobile-button{display:inline-flex;margin-left:auto}
    .pm-nav{
        order:10;
        display:none;
        flex-basis:100%;
        flex-direction:column;
        align-items:stretch;
        padding:8px;
        border:1px solid var(--pm-line);
        border-radius:16px;
        background:#fff;
    }
    .pm-nav.abierto{display:flex}
    .pm-header-actions{margin-left:auto}
    .pm-search{width:220px}
    .hero-modern-grid{grid-template-columns:1fr;gap:34px}
    .hero-visual{max-width:720px}
    .dashboard-grid,.hero-stats-grid,.metricas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dashboard-two{grid-template-columns:1fr}
}

@media (max-width:950px){
    .app-shell{grid-template-columns:1fr}
    .app-sidebar{position:static}
    .app-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:720px){
    .pm-search{display:none}
    .pm-brand-text{display:none}
    .seccion{padding:56px 0}
    .seccion-sm{padding:36px 0 54px}
    .hero-modern{padding:52px 0 44px}
    .hero-modern h1{font-size:clamp(38px,10vw,58px)}
    .pm-footer-grid{grid-template-columns:1fr}
}

@media (max-width:620px){
    .contenedor{width:min(calc(100% - 28px),var(--pm-container))}
    .grid-2,.grid-3,.grid-4,.dashboard-grid,.hero-stats-grid,.metricas-grid{grid-template-columns:1fr}
    .hero-mini-grid{grid-template-columns:1fr}
    .dashboard-head,.seccion-cabecera{align-items:flex-start;flex-direction:column}
    .app-menu{grid-template-columns:1fr}
    .btn{width:auto}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
        scroll-behavior:auto !important;
        transition-duration:.001ms !important;
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
    }
}


/* ==========================================================================
   PASO 28 — CORRECCIÓN TIPOGRÁFICA GLOBAL
   Fuerza una tipografía sans-serif clara incluso si alguna página conserva
   estilos internos antiguos.
   ========================================================================== */

html,
body,
button,
input,
select,
textarea,
a,
p,
span,
div,
label,
small,
strong,
table,
thead,
tbody,
tr,
th,
td,
nav,
header,
footer,
main,
section,
article,
aside,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Arial, Helvetica, sans-serif !important;
}

body {
    font-size: 16px;
    line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.01em !important;
    font-weight: 700 !important;
}

p,
a,
label,
input,
select,
textarea,
button,
td,
th {
    letter-spacing: 0 !important;
}

.pm-brand-text,
.pm-nav a,
.pm-user-button {
    font-weight: 700 !important;
}

.tarjeta-titulo,
.dashboard-head h1,
.hero-modern h1 {
    font-weight: 700 !important;
}
/* ==========================================================================
   PASO 28 — ESTADÍSTICAS / CARDS MODERNOS
   ========================================================================== */

.estadisticas-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.estadisticas-sidebar {
    position: sticky;
    top: 98px;
    padding: 18px;
}

.estadisticas-sidebar h3 {
    margin: 0 0 14px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.estadisticas-menu {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.estadisticas-menu a {
    padding: 11px 12px;
    border-radius: 10px;
    color: #475569;
    font-size: 14px;
    font-weight: 600 !important;
    transition:
        background 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.estadisticas-menu a.activo {
    color: #2563eb;
    background: #eff6ff;
}

.estadisticas-menu a:not(.activo):hover {
    color: #2563eb;
    background: #f8fbff;
    box-shadow: inset 3px 0 0 #bfdbfe;
    transform: translateX(2px);
}

.estadisticas-cabecera {
    margin-bottom: 28px;
}

.stats-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.stats-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.estadisticas-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.estadisticas-cabecera p {
    margin: 0;
    color: #64748b;
}

.stats-bloque {
    margin-top: 28px;
}

.stats-bloque:first-of-type {
    margin-top: 0;
}

.stats-bloque-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.stats-bloque-cabecera h2 {
    margin-bottom: 4px;
    font-size: 20px;
}

.stats-bloque-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.stats-total {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

.stats-primary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.stats-card {
    --stats-accent: #2563eb;
    --stats-soft: #eff6ff;

    position: relative;
    min-width: 0;
    min-height: 180px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #ffffff 72%,
            var(--stats-soft) 150%
        );
    box-shadow: 0 7px 22px rgba(15, 23, 42, .055);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.stats-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--stats-accent);
}

.stats-card:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}

.stats-card-vistas {
    --stats-accent: #2563eb;
    --stats-soft: #eff6ff;
}

.stats-card-reproducciones {
    --stats-accent: #7c3aed;
    --stats-soft: #f5f3ff;
}

.stats-card-publicados {
    --stats-accent: #16a34a;
    --stats-soft: #f0fdf4;
}

.stats-card-promedio {
    --stats-accent: #0891b2;
    --stats-soft: #ecfeff;
}

.stats-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.stats-card-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--stats-soft);
    color: var(--stats-accent);
}

.stats-card-label {
    min-width: 0;
    color: #475569;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.3;
}

.stats-card-value {
    display: block;
    margin: 22px 0 16px;
    color: #0f172a;
    font-size: 38px;
    font-weight: 700 !important;
    line-height: 1;
}

.stats-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #94a3b8;
    font-size: 11px;
}

.stats-chip {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--stats-soft);
    color: var(--stats-accent);
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Estado de contenidos */

.stats-bloque-estados {
    margin-top: 22px;
}

.stats-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.stats-status-card {
    --status-accent: #16a34a;
    --status-soft: #f0fdf4;

    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .045);
}

.stats-status-publicado {
    --status-accent: #16a34a;
    --status-soft: #f0fdf4;
}

.stats-status-borrador {
    --status-accent: #d97706;
    --status-soft: #fffbeb;
}

.stats-status-inactivo {
    --status-accent: #64748b;
    --status-soft: #f1f5f9;
}

.stats-status-top {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.stats-status-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--status-soft);
    color: var(--status-accent);
    font-size: 16px;
    font-weight: 700 !important;
}

.stats-status-label {
    color: #475569;
    font-size: 13px;
    font-weight: 700 !important;
}

.stats-status-top > strong {
    color: #0f172a;
    font-size: 25px;
    font-weight: 700 !important;
}

.stats-progress {
    height: 6px;
    margin-top: 15px;
    overflow: hidden;
    border-radius: 999px;
    background: #f1f5f9;
}

.stats-progress span {
    display: block;
    height: 100%;
    min-width: 0;
    border-radius: inherit;
    background: var(--status-accent);
}

.stats-status-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    color: #94a3b8;
    font-size: 11px;
}

.stats-status-foot strong {
    color: var(--status-accent);
    font-size: 11px;
    font-weight: 700 !important;
}

/* Secciones existentes de la página */

.estadisticas-seccion {
    margin-top: 32px;
}

.estadisticas-seccion-cabecera {
    margin-bottom: 16px;
}

.estadisticas-seccion-cabecera h2 {
    margin-bottom: 4px;
    font-size: 24px;
}

.estadisticas-seccion-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.grafica-visitas {
    display: grid;
    grid-template-columns: repeat(7, minmax(50px, 1fr));
    gap: 14px;
    min-height: 260px;
    align-items: end;
    padding: 28px 24px 20px;
}

.grafica-columna {
    min-width: 0;
    text-align: center;
}

.grafica-numero {
    margin-bottom: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 700 !important;
}

.grafica-barra-area {
    height: 170px;
    display: flex;
    align-items: end;
    justify-content: center;
}

.grafica-barra {
    width: min(46px, 72%);
    min-height: 4px;
    border-radius: 9px 9px 3px 3px;
    background: linear-gradient(180deg, #3b82f6, #2563eb);
    box-shadow: 0 7px 16px rgba(37, 99, 235, .12);
}

.grafica-fecha {
    margin-top: 9px;
    color: #64748b;
    font-size: 12px;
    white-space: nowrap;
}

.tipo-resumen-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tipo-resumen {
    padding: 22px;
}

.tipo-resumen h3 {
    margin: 12px 0 18px;
    font-size: 19px;
}

.tipo-resumen-datos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tipo-resumen-datos div {
    padding: 12px;
    border-radius: 12px;
    background: #f8fafc;
}

.tipo-resumen-datos strong {
    display: block;
    margin-bottom: 4px;
    color: #0f172a;
    font-size: 18px;
}

.tipo-resumen-datos span {
    color: #64748b;
    font-size: 11px;
}

.tabla-estadisticas-contenedor {
    overflow-x: auto;
}

.tabla-estadisticas {
    width: 100%;
    border-collapse: collapse;
}

.tabla-estadisticas th,
.tabla-estadisticas td {
    padding: 14px 15px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.tabla-estadisticas th {
    color: #64748b;
    background: #f8fafc;
    font-size: 12px;
    text-transform: uppercase;
    white-space: nowrap;
}

.tabla-estadisticas td {
    color: #334155;
    font-size: 14px;
}

.tabla-estadisticas tr:last-child td {
    border-bottom: 0;
}

.ranking {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eff6ff;
    color: #2563eb;
    font-weight: 700 !important;
}

@media (max-width: 1180px) {
    .stats-primary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .tipo-resumen-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 950px) {
    .estadisticas-layout {
        grid-template-columns: 1fr;
    }

    .estadisticas-sidebar {
        position: static;
    }

    .estadisticas-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .stats-status-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .stats-primary-grid,
    .estadisticas-menu {
        grid-template-columns: 1fr;
    }

    .stats-bloque-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .stats-card {
        min-height: 168px;
    }

    .grafica-visitas {
        overflow-x: auto;
        grid-template-columns: repeat(7, 68px);
        justify-content: start;
    }
}
/* ==========================================================================
   PASO 28 — DIRECTORIO MODERNO
   ========================================================================== */

.directorio-hero {
    padding: 48px 0 34px;
}

.directorio-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 42px;
    align-items: center;
    padding: 30px 32px;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(59, 130, 246, .09),
            transparent 17rem
        ),
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .97),
            rgba(248, 250, 252, .94)
        );
    box-shadow: 0 14px 36px rgba(15, 23, 42, .055);
}

.directorio-kicker,
.directorio-seccion-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.directorio-kicker {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
}

.directorio-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.directorio-hero-copy h1 {
    margin-bottom: 8px;
    font-size: clamp(34px, 4.8vw, 48px);
}

.directorio-hero-copy p {
    max-width: 650px;
    margin: 0;
    color: #64748b;
    font-size: 16px;
}

.directorio-resumen {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 10px;
}

.directorio-resumen-item {
    min-width: 125px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 5px 16px rgba(15,23,42,.035);
}

.directorio-resumen-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.directorio-resumen-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.directorio-resumen-item strong,
.directorio-resumen-item small {
    display: block;
}

.directorio-resumen-item strong {
    color: #0f172a;
    font-size: 21px;
    font-weight: 700 !important;
    line-height: 1;
}

.directorio-resumen-item small {
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
}

/* Contenido */

.directorio-contenido {
    padding: 8px 0 74px;
}

.directorio-buscador-card {
    display: grid;
    grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 34px;
    padding: 18px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15,23,42,.045);
}

.directorio-buscador-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.directorio-buscador-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.directorio-buscador-copy strong,
.directorio-buscador-copy small {
    display: block;
}

.directorio-buscador-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.directorio-buscador-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.directorio-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.directorio-input-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

.directorio-input-wrap > svg {
    position: absolute;
    top: 50%;
    left: 13px;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.directorio-input-wrap .form-control {
    padding-left: 40px;
}

.directorio-cabecera-lista {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.directorio-seccion-kicker {
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.directorio-cabecera-lista h2 {
    margin-bottom: 5px;
    font-size: 26px;
}

.directorio-cabecera-lista p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.directorio-contador {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

/* Cards de autores */

.directorio-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.directorio-autor-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    padding: 22px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(15,23,42,.045);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.directorio-autor-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 96px;
    height: 4px;
    border-radius: 0 0 8px 0;
    background: linear-gradient(90deg, #2563eb, #7c3aed);
}

.directorio-autor-card:hover {
    transform: translateY(-3px);
    border-color: #cfe0f5;
    box-shadow: 0 15px 34px rgba(15,23,42,.08);
}

.directorio-autor-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.directorio-avatar {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 17px;
    object-fit: cover;
    box-shadow: 0 10px 24px rgba(15,23,42,.09);
}

.directorio-avatar-iniciales {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    font-size: 20px;
    font-weight: 700 !important;
}

.directorio-autor-identidad {
    min-width: 0;
}

.directorio-autor-tipo {
    margin-bottom: 4px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.directorio-autor-identidad h3 {
    margin: 0 0 3px;
    overflow: hidden;
    color: #0f172a;
    font-size: 19px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.directorio-autor-identidad p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.directorio-descripcion {
    min-height: 48px;
    margin-bottom: 18px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.directorio-descripcion-vacia {
    color: #94a3b8;
}

.directorio-formatos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 18px;
}

.directorio-formato {
    min-width: 0;
    padding: 11px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #f8fafc;
}

.directorio-formato {
    display: grid;
    grid-template-columns: 28px auto;
    grid-template-rows: auto auto;
    column-gap: 7px;
    align-items: center;
}

.directorio-formato-icon {
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.directorio-formato strong {
    color: #0f172a;
    font-size: 17px;
    font-weight: 700 !important;
    line-height: 1;
}

.directorio-formato small {
    margin-top: 2px;
    overflow: hidden;
    color: #64748b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.directorio-formato-podcast .directorio-formato-icon {
    background: #f5f3ff;
    color: #7c3aed;
}

.directorio-formato-short .directorio-formato-icon {
    background: #ecfeff;
    color: #0891b2;
}

.directorio-formato-publicacion .directorio-formato-icon {
    background: #eff6ff;
    color: #2563eb;
}

.directorio-autor-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #eef2f7;
}

.directorio-autor-metricas {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    min-width: 0;
}

.directorio-autor-metricas span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #64748b;
    font-size: 11px;
    white-space: nowrap;
}

.directorio-autor-metricas svg {
    color: #94a3b8;
}

.directorio-ver-perfil {
    flex: 0 0 auto;
    min-height: 39px;
    padding: 8px 13px;
    font-size: 12px;
}

.directorio-vacio-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 16px;
    background: #eff6ff;
    color: #2563eb;
}

/* Responsive */

@media (max-width: 1080px) {
    .directorio-hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .directorio-resumen {
        max-width: 560px;
    }

    .directorio-buscador-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

@media (max-width: 820px) {
    .directorio-grid {
        grid-template-columns: 1fr;
    }

    .directorio-form {
        flex-wrap: wrap;
    }

    .directorio-input-wrap {
        flex-basis: 100%;
    }
}

@media (max-width: 620px) {
    .directorio-hero {
        padding-top: 30px;
    }

    .directorio-hero-grid {
        padding: 24px 20px;
    }

    .directorio-resumen {
        grid-template-columns: 1fr;
    }

    .directorio-resumen-item {
        min-width: 0;
    }

    .directorio-cabecera-lista {
        align-items: flex-start;
        flex-direction: column;
    }

    .directorio-formatos {
        grid-template-columns: 1fr;
    }

    .directorio-autor-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .directorio-ver-perfil {
        width: 100%;
    }

    .directorio-form .btn {
        flex: 1;
    }
}
/* ==========================================================================
   PASO 28 — PODCASTS MODERNOS
   ========================================================================== */

.podcast-hero {
    padding: 46px 0 30px;
}

.podcast-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 42px;
    align-items: center;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 25px;
    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(124, 58, 237, .11),
            transparent 18rem
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(250,245,255,.88)
        );
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

.podcast-kicker,
.podcast-seccion-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #7c3aed;
    font-size: 12px;
    font-weight: 700 !important;
}

.podcast-kicker {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #e9d5ff;
    border-radius: 999px;
    background: #faf5ff;
}

.podcast-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #7c3aed;
}

.podcast-hero-copy h1 {
    margin-bottom: 10px;
    font-size: clamp(38px, 5vw, 54px);
}

.podcast-hero-copy p {
    max-width: 650px;
    margin-bottom: 22px;
    color: #64748b;
    font-size: 16px;
}

.podcast-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.podcast-hero-panel {
    position: relative;
    min-height: 220px;
    padding: 24px;
    overflow: hidden;
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            #1e1b4b,
            #4c1d95 62%,
            #7c3aed
        );
    box-shadow: 0 20px 44px rgba(76,29,149,.22);
}

.podcast-wave {
    height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.podcast-wave span {
    width: 8px;
    min-height: 12px;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        #ffffff,
        #c4b5fd
    );
    opacity: .88;
}

.podcast-hero-panel-info {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 18px;
    padding: 14px 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}

.podcast-hero-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(255,255,255,.12);
    color: #ffffff;
}

.podcast-hero-panel-info small,
.podcast-hero-panel-info strong {
    display: block;
}

.podcast-hero-panel-info small {
    margin-bottom: 3px;
    color: #ddd6fe;
    font-size: 11px;
}

.podcast-hero-panel-info strong {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.35;
}

.podcast-resumen {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 14px;
}

.podcast-resumen-card {
    padding: 16px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 5px 17px rgba(15,23,42,.04);
}

.podcast-resumen-card small,
.podcast-resumen-card strong,
.podcast-resumen-card span {
    display: block;
}

.podcast-resumen-card small {
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.podcast-resumen-card strong {
    margin: 4px 0 3px;
    color: #0f172a;
    font-size: 25px;
    font-weight: 700 !important;
}

.podcast-resumen-card span {
    color: #94a3b8;
    font-size: 10px;
}

/* contenido */

.podcast-contenido {
    padding: 12px 0 74px;
}

.podcast-filtros-card {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 34px;
    padding: 19px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15,23,42,.045);
}

.podcast-filtros-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.podcast-filtros-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #faf5ff;
    color: #7c3aed;
}

.podcast-filtros-copy strong,
.podcast-filtros-copy small {
    display: block;
}

.podcast-filtros-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.podcast-filtros-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.podcast-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(180px, .75fr)
        auto;
    gap: 10px;
    align-items: end;
}

.podcast-form-group {
    min-width: 0;
}

.podcast-form-group label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.podcast-input-wrap {
    position: relative;
}

.podcast-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.podcast-input-wrap .form-control {
    padding-left: 39px;
}

.podcast-form-actions {
    display: flex;
    gap: 8px;
}

.podcast-lista-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.podcast-seccion-kicker {
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.podcast-lista-cabecera h2 {
    margin-bottom: 5px;
    font-size: 26px;
}

.podcast-lista-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.podcast-contador {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

/* cards */

.podcast-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.podcast-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15,23,42,.05);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.podcast-card:hover {
    transform: translateY(-3px);
    border-color: #ddd6fe;
    box-shadow: 0 16px 34px rgba(15,23,42,.09);
}

.podcast-portada {
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #ede9fe;
}

.podcast-portada img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 300ms ease;
}

.podcast-card:hover .podcast-portada img {
    transform: scale(1.025);
}

.podcast-portada-vacia {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #7c3aed;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.8),
            transparent 8rem
        ),
        linear-gradient(
            135deg,
            #ede9fe,
            #f5f3ff
        );
}

.podcast-portada-overlay {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.podcast-badge,
.podcast-categoria {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    backdrop-filter: blur(10px);
}

.podcast-badge {
    color: #ffffff;
    background: rgba(76,29,149,.88);
}

.podcast-categoria {
    max-width: 52%;
    overflow: hidden;
    color: #334155;
    background: rgba(255,255,255,.9);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.podcast-card-body {
    padding: 20px;
}

.podcast-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.podcast-autor {
    margin-bottom: 5px;
    color: #7c3aed;
    font-size: 11px;
    font-weight: 700 !important;
}

.podcast-card-top h3 {
    margin-bottom: 0;
    font-size: 20px;
    line-height: 1.3;
}

.podcast-detalle-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
    color: #64748b;
    transition: all 180ms ease;
}

.podcast-detalle-icon:hover {
    color: #7c3aed;
    border-color: #ddd6fe;
    background: #faf5ff;
}

.podcast-descripcion {
    min-height: 46px;
    margin: 13px 0 17px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.podcast-descripcion-vacia {
    color: #94a3b8;
}

.podcast-player-wrap {
    padding: 13px;
    margin-bottom: 16px;
    border: 1px solid #ede9fe;
    border-radius: 15px;
    background: #faf8ff;
}

.podcast-player-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #7c3aed;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.podcast-player-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7c3aed;
    box-shadow: 0 0 0 4px rgba(124,58,237,.08);
}

.podcast-player {
    display: block;
    width: 100%;
    height: 42px;
}

.podcast-audio-no-disponible {
    padding: 10px 12px;
    border-radius: 10px;
    background: #fffbeb;
    color: #92400e;
    font-size: 12px;
}

.podcast-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 13px;
    color: #64748b;
    font-size: 11px;
}

.podcast-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.podcast-card-meta svg {
    color: #94a3b8;
}

.podcast-ver-detalles {
    width: 100%;
    margin-top: 17px;
}

.podcast-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #faf5ff;
    color: #7c3aed;
}

/* responsive */

@media (max-width: 1060px) {
    .podcast-hero-grid {
        grid-template-columns: 1fr;
    }

    .podcast-hero-panel {
        max-width: 720px;
    }

    .podcast-filtros-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

@media (max-width: 840px) {
    .podcast-grid {
        grid-template-columns: 1fr;
    }

    .podcast-form {
        grid-template-columns: 1fr 1fr;
    }

    .podcast-form-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .podcast-hero {
        padding-top: 30px;
    }

    .podcast-hero-grid {
        padding: 24px 20px;
    }

    .podcast-resumen {
        grid-template-columns: 1fr;
    }

    .podcast-form {
        grid-template-columns: 1fr;
    }

    .podcast-form-actions {
        grid-column: auto;
    }

    .podcast-lista-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .podcast-portada {
        height: 195px;
    }

    .podcast-form-actions .btn {
        flex: 1;
    }
}
/* ==========================================================================
   PASO 28 — SHORTS MODERNOS
   ========================================================================== */

.shorts-hero {
    padding: 46px 0 30px;
}

.shorts-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 42px;
    align-items: center;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 25px;
    background:
        radial-gradient(
            circle at 86% 12%,
            rgba(8, 145, 178, .10),
            transparent 18rem
        ),
        radial-gradient(
            circle at 75% 86%,
            rgba(124, 58, 237, .07),
            transparent 15rem
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(240,253,250,.86)
        );
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

.shorts-kicker,
.shorts-seccion-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #0891b2;
    font-size: 12px;
    font-weight: 700 !important;
}

.shorts-kicker {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #cffafe;
    border-radius: 999px;
    background: #ecfeff;
}

.shorts-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0891b2;
}

.shorts-hero-copy h1 {
    margin-bottom: 10px;
    font-size: clamp(38px, 5vw, 54px);
}

.shorts-hero-copy p {
    max-width: 650px;
    margin-bottom: 22px;
    color: #64748b;
    font-size: 16px;
}

.shorts-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.shorts-hero-preview {
    min-height: 245px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 22px 24px;
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            #083344,
            #0e7490 58%,
            #0891b2
        );
    box-shadow: 0 20px 44px rgba(8,145,178,.20);
}

.shorts-phone {
    width: 112px;
    height: 205px;
    padding: 7px;
    border: 2px solid rgba(255,255,255,.45);
    border-radius: 24px;
    background: rgba(15,23,42,.28);
    box-shadow: 0 15px 30px rgba(2,6,23,.20);
}

.shorts-phone-top {
    height: 14px;
    display: grid;
    place-items: center;
}

.shorts-phone-top span {
    width: 30px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
}

.shorts-phone-screen {
    position: relative;
    height: calc(100% - 14px);
    overflow: hidden;
    border-radius: 17px;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(255,255,255,.20),
            transparent 4.5rem
        ),
        linear-gradient(
            160deg,
            #164e63,
            #312e81
        );
}

.shorts-phone-play {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.92);
}

.shorts-phone-lines {
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 14px;
    display: grid;
    gap: 5px;
}

.shorts-phone-lines span {
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.34);
}

.shorts-phone-lines span:nth-child(2) {
    width: 76%;
}

.shorts-phone-lines span:nth-child(3) {
    width: 54%;
}

.shorts-preview-copy small,
.shorts-preview-copy strong,
.shorts-preview-copy span {
    display: block;
}

.shorts-preview-copy small {
    margin-bottom: 7px;
    color: #a5f3fc;
    font-size: 11px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.shorts-preview-copy strong {
    color: #ffffff;
    font-size: 20px;
    line-height: 1.35;
}

.shorts-preview-copy span {
    margin-top: 12px;
    color: #cffafe;
    font-size: 12px;
}

.shorts-resumen {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 14px;
}

.shorts-resumen-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 5px 17px rgba(15,23,42,.04);
}

.shorts-resumen-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #ecfeff;
    color: #0891b2;
}

.shorts-resumen-card small,
.shorts-resumen-card strong,
.shorts-resumen-card span {
    display: block;
}

.shorts-resumen-card small {
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.shorts-resumen-card strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.shorts-resumen-card span {
    color: #94a3b8;
    font-size: 10px;
}

/* Filtros */

.shorts-contenido {
    padding: 12px 0 76px;
}

.shorts-filtros-card {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 34px;
    padding: 19px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15,23,42,.045);
}

.shorts-filtros-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.shorts-filtros-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #ecfeff;
    color: #0891b2;
}

.shorts-filtros-copy strong,
.shorts-filtros-copy small {
    display: block;
}

.shorts-filtros-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.shorts-filtros-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.shorts-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(180px, .75fr)
        auto;
    gap: 10px;
    align-items: end;
}

.shorts-form-group {
    min-width: 0;
}

.shorts-form-group label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.shorts-input-wrap {
    position: relative;
}

.shorts-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.shorts-input-wrap .form-control {
    padding-left: 39px;
}

.shorts-form-actions {
    display: flex;
    gap: 8px;
}

.shorts-lista-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.shorts-seccion-kicker {
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.shorts-lista-cabecera h2 {
    margin-bottom: 5px;
    font-size: 26px;
}

.shorts-lista-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.shorts-contador {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

/* Cards */

.shorts-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(270px, 320px)
        );
    justify-content: center;
    gap: 22px;
}

.shorts-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 21px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15,23,42,.055);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.shorts-card:hover {
    transform: translateY(-4px);
    border-color: #bae6fd;
    box-shadow: 0 17px 36px rgba(15,23,42,.10);
}

.shorts-video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    background: #020617;
}

.shorts-video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #020617;
}

.shorts-video-vacio {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(8,145,178,.18),
            transparent 8rem
        ),
        linear-gradient(
            160deg,
            #020617,
            #0f172a
        );
}

.shorts-video-vacio span {
    color: #cbd5e1;
    font-size: 12px;
}

.shorts-video-top {
    position: absolute;
    top: 13px;
    left: 13px;
    right: 13px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    pointer-events: none;
}

.shorts-badge,
.shorts-categoria {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    backdrop-filter: blur(10px);
}

.shorts-badge {
    color: #ffffff;
    background: rgba(8,145,178,.88);
}

.shorts-categoria {
    max-width: 56%;
    overflow: hidden;
    color: #334155;
    background: rgba(255,255,255,.90);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shorts-video-stats {
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 48px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 7px;
    pointer-events: none;
}

.shorts-video-stats span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 8px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(2,6,23,.62);
    backdrop-filter: blur(8px);
    font-size: 10px;
    font-weight: 700 !important;
}

.shorts-card-body {
    padding: 18px;
}

.shorts-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.shorts-autor {
    margin-bottom: 5px;
    color: #0891b2;
    font-size: 11px;
    font-weight: 700 !important;
}

.shorts-card-head h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
}

.shorts-detalle-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    color: #64748b;
    transition: all 180ms ease;
}

.shorts-detalle-icon:hover {
    color: #0891b2;
    border-color: #bae6fd;
    background: #ecfeff;
}

.shorts-descripcion {
    min-height: 43px;
    margin: 12px 0 14px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
}

.shorts-descripcion-vacia {
    color: #94a3b8;
}

.shorts-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: #64748b;
    font-size: 11px;
}

.shorts-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.shorts-meta svg {
    color: #94a3b8;
}

.shorts-ver-detalles {
    width: 100%;
    margin-top: 15px;
}

.shorts-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #ecfeff;
    color: #0891b2;
}

/* Responsive */

@media (max-width: 1060px) {

    .shorts-hero-grid {
        grid-template-columns: 1fr;
    }

    .shorts-hero-preview {
        max-width: 720px;
    }

    .shorts-filtros-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

}

@media (max-width: 840px) {

    .shorts-form {
        grid-template-columns: 1fr 1fr;
    }

    .shorts-form-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 620px) {

    .shorts-hero {
        padding-top: 30px;
    }

    .shorts-hero-grid {
        padding: 24px 20px;
    }

    .shorts-hero-preview {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .shorts-resumen {
        grid-template-columns: 1fr;
    }

    .shorts-form {
        grid-template-columns: 1fr;
    }

    .shorts-form-actions {
        grid-column: auto;
    }

    .shorts-lista-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .shorts-grid {
        grid-template-columns:
            minmax(0, 320px);
    }

    .shorts-form-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — PUBLICACIONES MODERNAS
   ========================================================================== */

.publicaciones-hero {
    padding: 46px 0 30px;
}

.publicaciones-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(360px, .95fr);
    gap: 42px;
    align-items: center;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 25px;
    background:
        radial-gradient(
            circle at 84% 14%,
            rgba(37, 99, 235, .09),
            transparent 18rem
        ),
        radial-gradient(
            circle at 74% 90%,
            rgba(8, 145, 178, .06),
            transparent 15rem
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(239,246,255,.82)
        );
    box-shadow:
        0 16px 42px
        rgba(15,23,42,.06);
}

.publicaciones-kicker,
.publicaciones-seccion-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.publicaciones-kicker {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
}

.publicaciones-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.publicaciones-hero-copy h1 {
    margin-bottom: 10px;
    font-size:
        clamp(38px, 5vw, 54px);
}

.publicaciones-hero-copy p {
    max-width: 650px;
    margin-bottom: 22px;
    color: #64748b;
    font-size: 16px;
}

.publicaciones-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.publicaciones-hero-preview {
    min-height: 245px;
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);
    gap: 25px;
    align-items: center;
    padding: 24px 26px;
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            #172554,
            #1d4ed8 58%,
            #2563eb
        );
    box-shadow:
        0 20px 44px
        rgba(29,78,216,.20);
}

.publicaciones-paper {
    width: 150px;
    min-height: 190px;
    padding: 16px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow:
        0 18px 36px
        rgba(15,23,42,.24);
    transform: rotate(-2deg);
}

.publicaciones-paper-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.publicaciones-paper-top span:first-child {
    width: 38px;
    height: 8px;
    border-radius: 999px;
    background: #dbeafe;
}

.publicaciones-paper-top span:last-child {
    width: 19px;
    height: 19px;
    border-radius: 6px;
    background: #eff6ff;
}

.publicaciones-paper-title {
    width: 82%;
    height: 11px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: #1e3a8a;
}

.publicaciones-paper-line {
    height: 6px;
    margin-bottom: 7px;
    border-radius: 999px;
    background: #cbd5e1;
}

.publicaciones-paper-line.linea-1 {
    width: 100%;
}

.publicaciones-paper-line.linea-2 {
    width: 88%;
}

.publicaciones-paper-line.linea-3 {
    width: 70%;
}

.publicaciones-paper-image {
    height: 72px;
    display: grid;
    place-items: center;
    margin-top: 15px;
    border-radius: 9px;
    background:
        linear-gradient(
            135deg,
            #eff6ff,
            #dbeafe
        );
    color: #2563eb;
}

.publicaciones-preview-copy small,
.publicaciones-preview-copy strong,
.publicaciones-preview-copy span {
    display: block;
}

.publicaciones-preview-copy small {
    margin-bottom: 7px;
    color: #bfdbfe;
    font-size: 11px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.publicaciones-preview-copy strong {
    color: #ffffff;
    font-size: 20px;
    line-height: 1.35;
}

.publicaciones-preview-copy span {
    margin-top: 12px;
    color: #dbeafe;
    font-size: 12px;
}

.publicaciones-resumen {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 14px;
}

.publicaciones-resumen-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background:
        rgba(255,255,255,.92);
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.publicaciones-resumen-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
}

.publicaciones-resumen-card small,
.publicaciones-resumen-card strong,
.publicaciones-resumen-card span {
    display: block;
}

.publicaciones-resumen-card small {
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.publicaciones-resumen-card strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.publicaciones-resumen-card span {
    color: #94a3b8;
    font-size: 10px;
}

/* Filtros */

.publicaciones-contenido {
    padding: 12px 0 76px;
}

.publicaciones-filtros-card {
    display: grid;
    grid-template-columns:
        minmax(220px, .7fr)
        minmax(0, 1.3fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 34px;
    padding: 19px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.045);
}

.publicaciones-filtros-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.publicaciones-filtros-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.publicaciones-filtros-copy strong,
.publicaciones-filtros-copy small {
    display: block;
}

.publicaciones-filtros-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.publicaciones-filtros-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.publicaciones-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(180px, .75fr)
        auto;
    gap: 10px;
    align-items: end;
}

.publicaciones-form-group {
    min-width: 0;
}

.publicaciones-form-group label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.publicaciones-input-wrap {
    position: relative;
}

.publicaciones-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.publicaciones-input-wrap
.form-control {
    padding-left: 39px;
}

.publicaciones-form-actions {
    display: flex;
    gap: 8px;
}

.publicaciones-lista-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.publicaciones-seccion-kicker {
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.publicaciones-lista-cabecera h2 {
    margin-bottom: 5px;
    font-size: 26px;
}

.publicaciones-lista-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.publicaciones-contador {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

/* Tarjetas */

.publicaciones-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.publicacion-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.05);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.publicacion-card:hover {
    transform: translateY(-3px);
    border-color: #bfdbfe;
    box-shadow:
        0 16px 34px
        rgba(15,23,42,.09);
}

.publicacion-imagen {
    position: relative;
    height: 225px;
    overflow: hidden;
    background: #eff6ff;
}

.publicacion-imagen img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition:
        transform 300ms ease;
}

.publicacion-card:hover
.publicacion-imagen img {
    transform: scale(1.025);
}

.publicacion-imagen-vacia {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #2563eb;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.85),
            transparent 8rem
        ),
        linear-gradient(
            135deg,
            #dbeafe,
            #eff6ff
        );
}

.publicacion-imagen-top {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.publicacion-badge,
.publicacion-categoria {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    backdrop-filter: blur(10px);
}

.publicacion-badge {
    color: #ffffff;
    background:
        rgba(37,99,235,.88);
}

.publicacion-categoria {
    max-width: 55%;
    overflow: hidden;
    color: #334155;
    background:
        rgba(255,255,255,.90);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.publicacion-card-body {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: 20px;
}

.publicacion-autor-fila {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 700 !important;
}

.publicacion-autor-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eff6ff;
    color: #2563eb;
}

.publicacion-card-body h3 {
    margin-bottom: 10px;
    color: #0f172a;
    font-size: 21px;
    line-height: 1.3;
}

.publicacion-resumen-texto {
    min-height: 64px;
    margin-bottom: 16px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.65;
}

.publicacion-resumen-vacio {
    color: #94a3b8;
}

.publicacion-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: auto;
    color: #64748b;
    font-size: 11px;
}

.publicacion-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.publicacion-meta svg {
    color: #94a3b8;
}

.publicacion-card-footer {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #eef2f7;
}

.publicacion-leer {
    width: 100%;
}

.publicaciones-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #eff6ff;
    color: #2563eb;
}

/* Responsive */

@media (max-width: 1060px) {

    .publicaciones-hero-grid {
        grid-template-columns: 1fr;
    }

    .publicaciones-hero-preview {
        max-width: 720px;
    }

    .publicaciones-filtros-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

}

@media (max-width: 840px) {

    .publicaciones-grid {
        grid-template-columns: 1fr;
    }

    .publicaciones-form {
        grid-template-columns: 1fr 1fr;
    }

    .publicaciones-form-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 620px) {

    .publicaciones-hero {
        padding-top: 30px;
    }

    .publicaciones-hero-grid {
        padding: 24px 20px;
    }

    .publicaciones-hero-preview {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .publicaciones-resumen {
        grid-template-columns: 1fr;
    }

    .publicaciones-form {
        grid-template-columns: 1fr;
    }

    .publicaciones-form-actions {
        grid-column: auto;
    }

    .publicaciones-lista-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .publicacion-imagen {
        height: 200px;
    }

    .publicaciones-form-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — PERFIL PÚBLICO MODERNO
   ========================================================================== */

.perfil-publico-estado {
    padding: 56px 0 80px;
}

.perfil-no-encontrado {
    max-width: 720px;
    margin: 0 auto;
}

.perfil-estado-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #eff6ff;
    color: #2563eb;
}

.perfil-publico-hero {
    padding: 42px 0 18px;
}

.perfil-publico-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 25px;
    background: #ffffff;
    box-shadow:
        0 16px 42px
        rgba(15,23,42,.065);
}

.perfil-publico-banner {
    position: relative;
    height: 122px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 18% 40%,
            rgba(255,255,255,.18),
            transparent 9rem
        ),
        radial-gradient(
            circle at 80% 30%,
            rgba(124,58,237,.36),
            transparent 18rem
        ),
        linear-gradient(
            120deg,
            #1e3a8a,
            #2563eb 55%,
            #7c3aed
        );
}

.perfil-publico-banner-decoracion span {
    position: absolute;
    display: block;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}

.perfil-publico-banner-decoracion span:nth-child(1) {
    width: 210px;
    height: 210px;
    right: 7%;
    top: -120px;
}

.perfil-publico-banner-decoracion span:nth-child(2) {
    width: 130px;
    height: 130px;
    right: 22%;
    top: -55px;
}

.perfil-publico-banner-decoracion span:nth-child(3) {
    width: 100px;
    height: 100px;
    left: 9%;
    bottom: -68px;
}

.perfil-publico-main {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(330px, .85fr);
    gap: 30px;
    align-items: end;
    padding: 0 30px 30px;
}

.perfil-publico-identidad {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.perfil-publico-avatar {
    width: 132px;
    height: 132px;
    margin-top: -48px;
    border: 5px solid #ffffff;
    border-radius: 28px;
    object-fit: cover;
    box-shadow:
        0 16px 34px
        rgba(15,23,42,.14);
}

.perfil-publico-iniciales {
    display: grid;
    place-items: center;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    font-size: 38px;
    font-weight: 700 !important;
}

.perfil-publico-datos {
    padding-top: 20px;
}

.perfil-publico-kicker,
.perfil-contenido-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.perfil-publico-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.perfil-publico-datos h1 {
    margin: 7px 0 3px;
    color: #0f172a;
    font-size: clamp(31px, 4.5vw, 46px);
}

.perfil-publico-username {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 14px;
    font-weight: 600 !important;
}

.perfil-publico-biografia {
    max-width: 720px;
    margin-bottom: 13px;
    color: #475569;
    font-size: 14px;
    line-height: 1.65;
}

.perfil-publico-biografia-vacia {
    color: #94a3b8;
}

.perfil-publico-miembro {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #94a3b8;
    font-size: 11px;
}

.perfil-publico-resumen {
    display: grid;
    gap: 9px;
    padding-top: 18px;
}

.perfil-publico-resumen-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #f8fafc;
}

.perfil-resumen-principal {
    background:
        linear-gradient(
            135deg,
            #eff6ff,
            #f8fafc
        );
    border-color: #dbeafe;
}

.perfil-resumen-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #ffffff;
    color: #2563eb;
    box-shadow:
        0 5px 14px
        rgba(15,23,42,.05);
}

.perfil-publico-resumen-card small,
.perfil-publico-resumen-card strong,
.perfil-publico-resumen-card span {
    display: block;
}

.perfil-publico-resumen-card small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.perfil-publico-resumen-card strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 22px;
    font-weight: 700 !important;
    line-height: 1;
}

.perfil-publico-resumen-card span {
    color: #94a3b8;
    font-size: 10px;
}

/* Formatos */

.perfil-publico-formatos {
    padding: 4px 0 18px;
}

.perfil-formatos-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.perfil-formato-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.perfil-formato-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
}

.perfil-formato-card small,
.perfil-formato-card strong {
    display: block;
}

.perfil-formato-card small {
    margin-bottom: 3px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.perfil-formato-card strong {
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.perfil-formato-podcast .perfil-formato-icon {
    color: #7c3aed;
    background: #f5f3ff;
}

.perfil-formato-short .perfil-formato-icon {
    color: #0891b2;
    background: #ecfeff;
}

.perfil-formato-publicacion .perfil-formato-icon {
    color: #2563eb;
    background: #eff6ff;
}

/* Contenido del autor */

.perfil-publico-contenido {
    padding: 22px 0 78px;
}

.perfil-contenido-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.perfil-contenido-kicker {
    margin-bottom: 6px;
}

.perfil-contenido-cabecera h2 {
    margin-bottom: 5px;
    font-size: 27px;
}

.perfil-contenido-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.perfil-contenido-contador {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700 !important;
}

.perfil-filtros-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 25px;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 18px
        rgba(15,23,42,.04);
}

.perfil-filtros-label {
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.perfil-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.perfil-filtro {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
    transition: all 180ms ease;
}

.perfil-filtro:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
}

.perfil-filtro.activo {
    color: #ffffff;
    border-color: #2563eb;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #4f46e5
        );
    box-shadow:
        0 7px 16px
        rgba(37,99,235,.16);
}

.perfil-contenidos-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.perfil-contenido-card {
    --perfil-accent: #2563eb;
    --perfil-soft: #eff6ff;

    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 19px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.05);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.perfil-contenido-podcast {
    --perfil-accent: #7c3aed;
    --perfil-soft: #f5f3ff;
}

.perfil-contenido-short {
    --perfil-accent: #0891b2;
    --perfil-soft: #ecfeff;
}

.perfil-contenido-publicacion {
    --perfil-accent: #2563eb;
    --perfil-soft: #eff6ff;
}

.perfil-contenido-card:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow:
        0 15px 32px
        rgba(15,23,42,.085);
}

.perfil-contenido-imagen {
    position: relative;
    height: 185px;
    overflow: hidden;
    background: var(--perfil-soft);
}

.perfil-contenido-imagen img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 300ms ease;
}

.perfil-contenido-card:hover
.perfil-contenido-imagen img {
    transform: scale(1.025);
}

.perfil-contenido-imagen-vacia {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.82),
            transparent 7rem
        ),
        var(--perfil-soft);
    color: var(--perfil-accent);
}

.perfil-contenido-imagen-vacia span {
    font-size: 45px;
    font-weight: 700 !important;
}

.perfil-contenido-imagen-top {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.perfil-contenido-badge,
.perfil-contenido-categoria {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    backdrop-filter: blur(9px);
}

.perfil-contenido-badge {
    color: #ffffff;
    background: color-mix(
        in srgb,
        var(--perfil-accent) 90%,
        #000000 10%
    );
}

.perfil-contenido-categoria {
    max-width: 55%;
    overflow: hidden;
    color: #334155;
    background: rgba(255,255,255,.90);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.perfil-contenido-body {
    display: flex;
    flex-direction: column;
    min-height: 250px;
    padding: 18px;
}

.perfil-contenido-body h3 {
    margin-bottom: 9px;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.35;
}

.perfil-contenido-descripcion {
    min-height: 60px;
    margin-bottom: 14px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
}

.perfil-contenido-descripcion-vacia {
    color: #94a3b8;
}

.perfil-contenido-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 11px;
    margin-top: auto;
    color: #64748b;
    font-size: 10px;
}

.perfil-contenido-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.perfil-contenido-meta svg {
    color: #94a3b8;
}

.perfil-contenido-accion {
    width: 100%;
    margin-top: 16px;
}

.perfil-contenido-vacio {
    margin-top: 10px;
}

/* Responsive */

@media (max-width: 1100px) {

    .perfil-publico-main {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .perfil-publico-resumen {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        padding-top: 0;
    }

    .perfil-contenidos-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {

    .perfil-publico-main {
        padding-inline: 22px;
    }

    .perfil-publico-identidad {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .perfil-publico-avatar {
        margin:
            -48px auto 0;
    }

    .perfil-publico-datos {
        padding-top: 0;
    }

    .perfil-publico-biografia {
        margin-inline: auto;
    }

    .perfil-publico-miembro {
        justify-content: center;
    }

    .perfil-publico-resumen {
        grid-template-columns: 1fr;
    }

    .perfil-formatos-grid {
        grid-template-columns: 1fr;
    }

    .perfil-contenido-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .perfil-filtros-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .perfil-contenidos-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 520px) {

    .perfil-publico-hero {
        padding-top: 28px;
    }

    .perfil-publico-banner {
        height: 100px;
    }

    .perfil-publico-main {
        padding:
            0 18px 22px;
    }

    .perfil-publico-avatar {
        width: 112px;
        height: 112px;
        border-radius: 24px;
    }

    .perfil-filtros {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .perfil-filtro {
        width: 100%;
    }

}
/* ==========================================================================
   PASO 28 — MI PERFIL MODERNO
   ========================================================================== */

.mi-perfil-seccion {
    padding: 38px 0 78px;
}

.mi-perfil-layout {
    display: grid;
    grid-template-columns:
        250px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.mi-perfil-sidebar {
    position: sticky;
    top: 98px;
    padding: 18px;
}

.mi-perfil-sidebar h3 {
    margin: 0 0 14px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.mi-perfil-menu {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mi-perfil-menu a {
    padding: 11px 12px;
    border-radius: 10px;
    color: #475569;
    font-size: 14px;
    font-weight: 600 !important;
    transition:
        background 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.mi-perfil-menu a.activo {
    color: #2563eb;
    background: #eff6ff;
}

.mi-perfil-menu a:not(.activo):hover {
    color: #2563eb;
    background: #f8fbff;
    box-shadow:
        inset 3px 0 0 #bfdbfe;
    transform: translateX(2px);
}

.mi-perfil-principal {
    min-width: 0;
}

.mi-perfil-cabecera {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.mi-perfil-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.mi-perfil-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.mi-perfil-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.mi-perfil-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

/* Resumen */

.mi-perfil-resumen {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(260px, .8fr);
    gap: 20px;
    margin-bottom: 22px;
    padding: 22px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background:
        radial-gradient(
            circle at 92% 14%,
            rgba(37,99,235,.07),
            transparent 15rem
        ),
        linear-gradient(
            135deg,
            #ffffff,
            #f8fafc
        );
    box-shadow:
        0 7px 24px
        rgba(15,23,42,.05);
}

.mi-perfil-resumen-identidad {
    display: flex;
    align-items: center;
    gap: 17px;
    min-width: 0;
}

.mi-perfil-avatar-wrap {
    position: relative;
    width: 106px;
    height: 106px;
    flex: 0 0 106px;
}

.mi-perfil-avatar,
.mi-perfil-preview {
    width: 106px;
    height: 106px;
    border-radius: 22px;
}

.mi-perfil-avatar {
    display: block;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    box-shadow:
        0 10px 24px
        rgba(15,23,42,.09);
}

.mi-perfil-iniciales {
    display: grid;
    place-items: center;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    font-size: 33px;
    font-weight: 700 !important;
    border: 0;
}

.mi-perfil-preview {
    display: none;
    overflow: hidden;
    border: 2px solid #bfdbfe;
    box-shadow:
        0 10px 24px
        rgba(37,99,235,.13);
}

.mi-perfil-preview.visible {
    display: block;
}

.mi-perfil-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.mi-perfil-resumen-datos {
    min-width: 0;
}

.mi-perfil-resumen-label {
    display: inline-block;
    margin-bottom: 5px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.mi-perfil-resumen-datos h2 {
    margin: 0 0 3px;
    overflow: hidden;
    color: #0f172a;
    font-size: 22px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mi-perfil-resumen-usuario {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 13px;
}

.mi-perfil-resumen-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.mi-perfil-resumen-chips span {
    padding: 5px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
}

.mi-perfil-resumen-ayuda {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 15px;
    background: rgba(239,246,255,.72);
}

.mi-perfil-resumen-ayuda-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #ffffff;
    color: #2563eb;
}

.mi-perfil-resumen-ayuda strong {
    display: block;
    margin-bottom: 4px;
    color: #1e3a8a;
    font-size: 12px;
}

.mi-perfil-resumen-ayuda p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.55;
}

/* Formulario */

.mi-perfil-formulario {
    padding: 0;
    overflow: hidden;
}

.mi-perfil-formulario form {
    margin: 0;
}

.mi-perfil-form-seccion {
    padding: 25px 27px;
    border-bottom: 1px solid #eef2f7;
}

.mi-perfil-form-seccion:last-of-type {
    border-bottom: 0;
}

.mi-perfil-form-titulo {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 21px;
}

.mi-perfil-form-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
}

.mi-perfil-form-titulo h2 {
    margin: 1px 0 3px;
    color: #0f172a;
    font-size: 18px;
}

.mi-perfil-form-titulo p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}

.mi-perfil-foto-control {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 18px;
    align-items: center;
}

.mi-perfil-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.mi-perfil-formulario .form-grupo {
    margin-bottom: 0;
}

.mi-perfil-formulario .form-grupo label {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 12px;
    font-weight: 700 !important;
}

.mi-perfil-ayuda-texto {
    display: block;
    margin-top: 6px;
    color: #94a3b8;
    font-size: 10px;
    line-height: 1.45;
}

.mi-perfil-eliminar-foto {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #fecaca;
    border-radius: 11px;
    background: #fff7f7;
    color: #b91c1c;
    font-size: 11px;
    font-weight: 600 !important;
    cursor: pointer;
}

.mi-perfil-eliminar-foto input {
    margin: 0;
}

.mi-perfil-input-prefijo {
    position: relative;
}

.mi-perfil-input-prefijo > span {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700 !important;
    pointer-events: none;
}

.mi-perfil-input-prefijo .form-control {
    padding-left: 32px;
}

.mi-perfil-textarea {
    min-height: 140px;
    resize: vertical;
    line-height: 1.6;
}

.mi-perfil-textarea-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 7px;
}

.mi-perfil-textarea-meta small {
    color: #94a3b8;
    font-size: 10px;
}

#contadorDescripcion {
    color: #64748b;
    font-weight: 700 !important;
}

.mi-perfil-lista-errores {
    margin: 10px 0 0 18px;
}

.mi-perfil-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 21px 27px 25px;
    background: #f8fafc;
}

/* Responsive */

@media (max-width: 1050px) {

    .mi-perfil-resumen {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 950px) {

    .mi-perfil-layout {
        grid-template-columns: 1fr;
    }

    .mi-perfil-sidebar {
        position: static;
    }

    .mi-perfil-menu {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 720px) {

    .mi-perfil-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .mi-perfil-grid,
    .mi-perfil-foto-control {
        grid-template-columns: 1fr;
    }

    .mi-perfil-eliminar-foto {
        justify-self: start;
    }

}

@media (max-width: 620px) {

    .mi-perfil-seccion {
        padding-top: 26px;
    }

    .mi-perfil-menu {
        grid-template-columns: 1fr;
    }

    .mi-perfil-resumen-identidad {
        align-items: flex-start;
        flex-direction: column;
    }

    .mi-perfil-form-seccion,
    .mi-perfil-acciones {
        padding-inline: 19px;
    }

    .mi-perfil-acciones .btn {
        width: 100%;
    }

}
/* ==========================================================================
   PASO 28 — ADMIN DASHBOARD MODERNO
   ========================================================================== */

.admin-modern-seccion {
    padding: 38px 0 80px;
}

.admin-modern-layout {
    display: grid;
    grid-template-columns:
        250px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.admin-modern-sidebar {
    position: sticky;
    top: 98px;
    padding: 18px;
}

.admin-modern-sidebar-titulo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eef2f7;
}

.admin-modern-sidebar-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.admin-modern-sidebar-titulo strong,
.admin-modern-sidebar-titulo small {
    display: block;
}

.admin-modern-sidebar-titulo strong {
    color: #334155;
    font-size: 13px;
}

.admin-modern-sidebar-titulo small {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 10px;
}

.admin-modern-menu {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-modern-menu a {
    padding: 11px 12px;
    border-radius: 10px;
    color: #475569;
    font-size: 14px;
    font-weight: 600 !important;
    transition:
        background 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.admin-modern-menu a.activo {
    color: #2563eb;
    background: #eff6ff;
}

.admin-modern-menu a:not(.activo):hover {
    color: #2563eb;
    background: #f8fbff;
    box-shadow:
        inset 3px 0 0 #bfdbfe;
    transform: translateX(2px);
}

.admin-modern-principal {
    min-width: 0;
}

.admin-modern-cabecera {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.admin-modern-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.admin-modern-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.admin-modern-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.admin-modern-cabecera p {
    max-width: 670px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.admin-modern-bloque {
    margin-top: 30px;
}

.admin-modern-bloque:first-of-type {
    margin-top: 0;
}

.admin-modern-bloque-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.admin-modern-bloque-cabecera h2 {
    margin-bottom: 4px;
    font-size: 21px;
}

.admin-modern-bloque-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.admin-modern-total {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

/* Métricas principales */

.admin-modern-metricas {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.admin-modern-metrica {
    --admin-accent: #2563eb;
    --admin-soft: #eff6ff;

    position: relative;
    min-width: 0;
    min-height: 178px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #ffffff 72%,
            var(--admin-soft) 155%
        );
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.05);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.admin-modern-metrica::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--admin-accent);
}

.admin-modern-metrica:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow:
        0 14px 30px
        rgba(15,23,42,.09);
}

.admin-metrica-usuarios {
    --admin-accent: #2563eb;
    --admin-soft: #eff6ff;
}

.admin-metrica-contenidos {
    --admin-accent: #16a34a;
    --admin-soft: #f0fdf4;
}

.admin-metrica-vistas {
    --admin-accent: #0891b2;
    --admin-soft: #ecfeff;
}

.admin-metrica-reproducciones {
    --admin-accent: #7c3aed;
    --admin-soft: #f5f3ff;
}

.admin-modern-metrica-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-modern-metrica-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--admin-soft);
    color: var(--admin-accent);
}

.admin-modern-metrica-label {
    color: #475569;
    font-size: 12px;
    font-weight: 700 !important;
    line-height: 1.3;
}

.admin-modern-metrica-valor {
    display: block;
    margin: 21px 0 15px;
    color: #0f172a;
    font-size: 38px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-modern-metrica-pie {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    color: #94a3b8;
    font-size: 10px;
}

.admin-modern-metrica-pie a {
    color: var(--admin-accent);
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-modern-chip {
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--admin-soft);
    color: var(--admin-accent);
    font-size: 9px;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Formatos */

.admin-modern-formatos {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-modern-formato {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.admin-modern-formato-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
}

.admin-modern-formato small,
.admin-modern-formato strong {
    display: block;
}

.admin-modern-formato small {
    margin-bottom: 3px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.admin-modern-formato strong {
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-formato-podcast
.admin-modern-formato-icon {
    color: #7c3aed;
    background: #f5f3ff;
}

.admin-formato-short
.admin-modern-formato-icon {
    color: #0891b2;
    background: #ecfeff;
}

.admin-formato-publicacion
.admin-modern-formato-icon {
    color: #2563eb;
    background: #eff6ff;
}

/* Accesos rápidos */

.admin-modern-accesos {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.admin-modern-acceso {
    --acceso-accent: #2563eb;
    --acceso-soft: #eff6ff;

    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background: #ffffff;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.045);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.admin-modern-acceso:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow:
        0 14px 28px
        rgba(15,23,42,.08);
}

.admin-acceso-usuarios {
    --acceso-accent: #2563eb;
    --acceso-soft: #eff6ff;
}

.admin-acceso-contenidos {
    --acceso-accent: #7c3aed;
    --acceso-soft: #f5f3ff;
}

.admin-acceso-categorias {
    --acceso-accent: #0891b2;
    --acceso-soft: #ecfeff;
}

.admin-modern-acceso-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--acceso-soft);
    color: var(--acceso-accent);
}

.admin-modern-acceso strong {
    display: block;
    margin-bottom: 5px;
    color: #0f172a;
    font-size: 15px;
}

.admin-modern-acceso p {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.55;
}

.admin-modern-acceso-link {
    color: var(--acceso-accent);
    font-size: 10px;
    font-weight: 700 !important;
}

/* Resumen de categorías */

.admin-modern-categorias-resumen {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-modern-categorias-resumen article {
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.admin-modern-categorias-resumen small,
.admin-modern-categorias-resumen strong,
.admin-modern-categorias-resumen span {
    display: block;
}

.admin-modern-categorias-resumen small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.admin-modern-categorias-resumen strong {
    margin: 7px 0 4px;
    color: #0f172a;
    font-size: 27px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-modern-categorias-resumen span {
    color: #94a3b8;
    font-size: 10px;
}

.admin-categoria-activa {
    border-top: 3px solid #16a34a !important;
}

.admin-categoria-inactiva {
    border-top: 3px solid #94a3b8 !important;
}

/* Tablas */

.admin-modern-tabla-contenedor {
    overflow-x: auto;
}

.admin-modern-tabla {
    width: 100%;
    border-collapse: collapse;
}

.admin-modern-tabla th,
.admin-modern-tabla td {
    padding: 14px 15px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.admin-modern-tabla th {
    color: #64748b;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-modern-tabla td {
    color: #334155;
    font-size: 12px;
}

.admin-modern-tabla tbody tr {
    transition: background 160ms ease;
}

.admin-modern-tabla tbody tr:hover {
    background: #fbfdff;
}

.admin-modern-tabla tr:last-child td {
    border-bottom: 0;
}

.admin-modern-tabla small {
    color: #94a3b8;
}

.admin-modern-usuario {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 175px;
}

.admin-modern-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    color: #ffffff;
    font-size: 12px;
    font-weight: 700 !important;
}

.admin-modern-rol {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-modern-estado {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-modern-estado.admin-estado-activo {
    color: #166534;
    background: #dcfce7;
}

.admin-modern-estado.admin-estado-borrador {
    color: #92400e;
    background: #fef3c7;
}

.admin-modern-estado.admin-estado-inactivo {
    color: #475569;
    background: #e2e8f0;
}

.admin-modern-titulo-contenido {
    display: block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-modern-vistas {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #475569;
    font-weight: 700 !important;
}

.admin-modern-vistas svg {
    color: #94a3b8;
}

/* Responsive */

@media (max-width: 1180px) {

    .admin-modern-metricas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 1050px) {

    .admin-modern-accesos {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 950px) {

    .admin-modern-layout {
        grid-template-columns: 1fr;
    }

    .admin-modern-sidebar {
        position: static;
    }

    .admin-modern-menu {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 720px) {

    .admin-modern-cabecera,
    .admin-modern-bloque-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-modern-formatos,
    .admin-modern-categorias-resumen {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {

    .admin-modern-seccion {
        padding-top: 26px;
    }

    .admin-modern-menu,
    .admin-modern-metricas {
        grid-template-columns: 1fr;
    }

    .admin-modern-metrica {
        min-height: 166px;
    }

}
/* ==========================================================================
   PASO 28 — ADMIN USUARIOS MODERNO
   ========================================================================== */

.admin-users-seccion {
    padding: 38px 0 80px;
}

.admin-users-principal {
    min-width: 0;
}

.admin-users-cabecera {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.admin-users-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.admin-users-cabecera p {
    max-width: 670px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.admin-users-bloque {
    margin-top: 30px;
}

.admin-users-bloque:first-of-type {
    margin-top: 0;
}

.admin-users-bloque-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.admin-users-bloque-cabecera h2 {
    margin-bottom: 4px;
    font-size: 21px;
}

.admin-users-bloque-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

/* Métricas */

.admin-users-metricas {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.admin-users-metrica {
    --users-accent: #2563eb;
    --users-soft: #eff6ff;

    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.admin-users-total {
    --users-accent: #2563eb;
    --users-soft: #eff6ff;
}

.admin-users-activos {
    --users-accent: #16a34a;
    --users-soft: #f0fdf4;
}

.admin-users-admins {
    --users-accent: #7c3aed;
    --users-soft: #f5f3ff;
}

.admin-users-vistas {
    --users-accent: #0891b2;
    --users-soft: #ecfeff;
}

.admin-users-metrica-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--users-soft);
    color: var(--users-accent);
}

.admin-users-metrica small,
.admin-users-metrica strong,
.admin-users-metrica span {
    display: block;
}

.admin-users-metrica small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-users-metrica strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-users-metrica span {
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.35;
}

/* Filtros */

.admin-users-filtros-card {
    display: grid;
    grid-template-columns:
        minmax(220px, .68fr)
        minmax(0, 1.32fr);
    gap: 24px;
    align-items: center;
    padding: 19px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.045);
}

.admin-users-filtros-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-users-filtros-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.admin-users-filtros-copy strong,
.admin-users-filtros-copy small {
    display: block;
}

.admin-users-filtros-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.admin-users-filtros-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.admin-users-filtros-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(135px, .62fr)
        minmax(135px, .62fr)
        auto;
    gap: 10px;
    align-items: end;
}

.admin-users-form-grupo {
    min-width: 0;
}

.admin-users-form-grupo label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.admin-users-input-wrap {
    position: relative;
}

.admin-users-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.admin-users-input-wrap .form-control {
    padding-left: 39px;
}

.admin-users-form-actions {
    display: flex;
    gap: 8px;
}

/* Contadores */

.admin-users-contadores {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.admin-users-contadores span {
    padding: 6px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

/* Tabla */

.admin-users-tabla-contenedor {
    overflow-x: auto;
}

.admin-users-tabla {
    width: 100%;
    border-collapse: collapse;
}

.admin-users-tabla th,
.admin-users-tabla td {
    padding: 14px 15px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.admin-users-tabla th {
    color: #64748b;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-users-tabla td {
    color: #334155;
    font-size: 12px;
}

.admin-users-tabla tbody tr {
    transition: background 160ms ease;
}

.admin-users-tabla tbody tr:hover {
    background: #fbfdff;
}

.admin-users-tabla tr:last-child td {
    border-bottom: 0;
}

.admin-users-info {
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.admin-users-avatar {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    color: #ffffff;
    font-size: 13px;
    font-weight: 700 !important;
    box-shadow:
        0 6px 16px
        rgba(37,99,235,.12);
}

.admin-users-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.admin-users-identidad {
    min-width: 0;
}

.admin-users-identidad strong {
    display: block;
    max-width: 185px;
    overflow: hidden;
    color: #0f172a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-users-username {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 3px;
    color: #64748b;
    font-size: 10px;
}

.admin-users-tu-cuenta {
    padding: 3px 6px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.admin-users-correo {
    display: block;
    max-width: 210px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-users-rol,
.admin-users-estado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.admin-users-rol.admin-rol-administrador {
    color: #6d28d9;
    background: #ede9fe;
}

.admin-users-rol.admin-rol-usuario {
    color: #1d4ed8;
    background: #dbeafe;
}

.admin-users-estado.admin-estado-activo {
    color: #166534;
    background: #dcfce7;
}

.admin-users-estado.admin-estado-pendiente {
    color: #92400e;
    background: #fef3c7;
}

.admin-users-estado.admin-estado-inactivo {
    color: #475569;
    background: #e2e8f0;
}

.admin-users-estado-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.admin-users-contenidos strong,
.admin-users-contenidos small {
    display: block;
}

.admin-users-contenidos strong {
    color: #0f172a;
    font-size: 14px;
}

.admin-users-contenidos small {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 9px;
}

.admin-users-vistas-celda {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #475569;
    font-weight: 700 !important;
}

.admin-users-vistas-celda svg {
    color: #94a3b8;
}

.admin-users-fecha {
    color: #64748b;
    white-space: nowrap;
}

/* Acciones */

.admin-users-acciones {
    min-width: 270px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-users-acciones form {
    margin: 0;
}

.admin-users-accion {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 33px;
    padding: 7px 9px;
    border: 1px solid #dbe3ee;
    border-radius: 9px;
    background: #ffffff;
    color: #334155;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700 !important;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        color 160ms ease;
}

.admin-users-accion:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #2563eb;
}

.admin-users-peligro {
    color: #b91c1c;
}

.admin-users-peligro:hover {
    color: #991b1b;
    border-color: #fecaca;
    background: #fef2f2;
}

.admin-users-activar {
    color: #166534;
}

.admin-users-activar:hover {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.admin-users-cuenta-actual {
    display: inline-flex;
    align-items: center;
    min-height: 33px;
    padding: 7px 9px;
    border-radius: 9px;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-users-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #eff6ff;
    color: #2563eb;
}

/* Responsive */

@media (max-width: 1180px) {

    .admin-users-metricas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-users-filtros-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

}

@media (max-width: 980px) {

    .admin-users-filtros-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-users-form-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 720px) {

    .admin-users-cabecera,
    .admin-users-bloque-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-users-contadores {
        justify-content: flex-start;
    }

}

@media (max-width: 620px) {

    .admin-users-seccion {
        padding-top: 26px;
    }

    .admin-users-metricas,
    .admin-users-filtros-form {
        grid-template-columns: 1fr;
    }

    .admin-users-form-actions {
        grid-column: auto;
    }

    .admin-users-form-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — ADMIN CONTENIDOS MODERNO
   ========================================================================== */

.admin-content-seccion {
    padding: 38px 0 80px;
}

.admin-content-principal {
    min-width: 0;
}

.admin-content-cabecera {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.admin-content-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.admin-content-cabecera p {
    max-width: 690px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.admin-content-bloque {
    margin-top: 30px;
}

.admin-content-bloque:first-of-type {
    margin-top: 0;
}

.admin-content-bloque-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.admin-content-bloque-cabecera h2 {
    margin-bottom: 4px;
    font-size: 21px;
}

.admin-content-bloque-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

/* Métricas */

.admin-content-metricas {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.admin-content-metrica {
    --content-accent: #2563eb;
    --content-soft: #eff6ff;

    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.admin-content-total {
    --content-accent: #2563eb;
    --content-soft: #eff6ff;
}

.admin-content-publicados {
    --content-accent: #16a34a;
    --content-soft: #f0fdf4;
}

.admin-content-vistas {
    --content-accent: #0891b2;
    --content-soft: #ecfeff;
}

.admin-content-reproducciones {
    --content-accent: #7c3aed;
    --content-soft: #f5f3ff;
}

.admin-content-metrica-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--content-soft);
    color: var(--content-accent);
}

.admin-content-metrica small,
.admin-content-metrica strong,
.admin-content-metrica span {
    display: block;
}

.admin-content-metrica small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-content-metrica strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-content-metrica span {
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.35;
}

.admin-content-estados {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.admin-content-estado-card {
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
}

.admin-content-estado-card span,
.admin-content-estado-card strong,
.admin-content-estado-card small {
    display: block;
}

.admin-content-estado-card span {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-content-estado-card strong {
    margin: 5px 0 3px;
    color: #0f172a;
    font-size: 22px;
}

.admin-content-estado-card small {
    font-size: 9px;
}

.admin-content-estado-card .estado-publicado {
    color: #15803d;
}

.admin-content-estado-card .estado-borrador {
    color: #b45309;
}

.admin-content-estado-card .estado-inactivo {
    color: #64748b;
}

/* Filtros */

.admin-content-filtros-card {
    display: grid;
    grid-template-columns:
        minmax(220px, .62fr)
        minmax(0, 1.38fr);
    gap: 24px;
    align-items: center;
    padding: 19px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.045);
}

.admin-content-filtros-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-content-filtros-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #f5f3ff;
    color: #7c3aed;
}

.admin-content-filtros-copy strong,
.admin-content-filtros-copy small {
    display: block;
}

.admin-content-filtros-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.admin-content-filtros-copy small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.admin-content-filtros-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(115px, .55fr)
        minmax(125px, .62fr)
        minmax(150px, .72fr)
        auto;
    gap: 9px;
    align-items: end;
}

.admin-content-form-grupo {
    min-width: 0;
}

.admin-content-form-grupo label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.admin-content-input-wrap {
    position: relative;
}

.admin-content-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.admin-content-input-wrap .form-control {
    padding-left: 39px;
}

.admin-content-form-actions {
    display: flex;
    gap: 8px;
}

/* Contadores */

.admin-content-contadores {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.admin-content-contadores span {
    padding: 6px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

/* Tabla */

.admin-content-tabla-contenedor {
    overflow-x: auto;
}

.admin-content-tabla {
    width: 100%;
    border-collapse: collapse;
}

.admin-content-tabla th,
.admin-content-tabla td {
    padding: 14px 15px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.admin-content-tabla th {
    color: #64748b;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-content-tabla td {
    color: #334155;
    font-size: 12px;
}

.admin-content-tabla tbody tr {
    transition: background 160ms ease;
}

.admin-content-tabla tbody tr:hover {
    background: #fbfdff;
}

.admin-content-tabla tr:last-child td {
    border-bottom: 0;
}

.admin-content-info {
    min-width: 245px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.admin-content-tipo-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
}

.admin-content-icon-podcast {
    color: #7c3aed;
    background: #f5f3ff;
}

.admin-content-icon-short {
    color: #0891b2;
    background: #ecfeff;
}

.admin-content-icon-publicacion {
    color: #2563eb;
    background: #eff6ff;
}

.admin-content-info strong {
    display: block;
    max-width: 220px;
    overflow: hidden;
    color: #0f172a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-content-info small {
    display: block;
    max-width: 190px;
    margin-top: 3px;
    overflow: hidden;
    color: #94a3b8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-content-autor {
    min-width: 165px;
}

.admin-content-autor strong,
.admin-content-autor small {
    display: block;
}

.admin-content-autor strong {
    color: #0f172a;
}

.admin-content-autor small {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 9px;
}

.admin-content-estado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.admin-content-estado.admin-estado-publicado {
    color: #166534;
    background: #dcfce7;
}

.admin-content-estado.admin-estado-borrador {
    color: #92400e;
    background: #fef3c7;
}

.admin-content-estado.admin-estado-inactivo {
    color: #475569;
    background: #e2e8f0;
}

.admin-content-estado-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.admin-content-metrica-celda {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #475569;
    font-weight: 700 !important;
}

.admin-content-metrica-celda svg {
    color: #94a3b8;
}

.admin-content-no-aplica {
    color: #cbd5e1;
}

.admin-content-fecha {
    color: #64748b;
    white-space: nowrap;
}

/* Acciones */

.admin-content-acciones {
    min-width: 330px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-content-acciones form {
    margin: 0;
}

.admin-content-accion {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 33px;
    padding: 7px 9px;
    border: 1px solid #dbe3ee;
    border-radius: 9px;
    background: #ffffff;
    color: #334155;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700 !important;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        color 160ms ease;
}

.admin-content-accion:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #2563eb;
}

.admin-content-publicar {
    color: #166534;
}

.admin-content-publicar:hover {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.admin-content-peligro {
    color: #b91c1c;
}

.admin-content-peligro:hover {
    color: #991b1b;
    border-color: #fecaca;
    background: #fef2f2;
}

.admin-content-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #f5f3ff;
    color: #7c3aed;
}

/* Responsive */

@media (max-width: 1220px) {

    .admin-content-metricas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-content-filtros-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

}

@media (max-width: 1050px) {

    .admin-content-filtros-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-content-form-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 720px) {

    .admin-content-cabecera,
    .admin-content-bloque-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-content-estados {
        grid-template-columns: 1fr;
    }

    .admin-content-contadores {
        justify-content: flex-start;
    }

}

@media (max-width: 620px) {

    .admin-content-seccion {
        padding-top: 26px;
    }

    .admin-content-metricas,
    .admin-content-filtros-form {
        grid-template-columns: 1fr;
    }

    .admin-content-form-actions {
        grid-column: auto;
    }

    .admin-content-form-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — ADMIN CATEGORÍAS MODERNO
   ========================================================================== */

.admin-category-seccion {
    padding: 38px 0 80px;
}

.admin-category-principal {
    min-width: 0;
}

.admin-category-cabecera {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.admin-category-cabecera h1 {
    margin-bottom: 6px;
    font-size: clamp(34px, 5vw, 46px);
}

.admin-category-cabecera p {
    max-width: 690px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.admin-category-bloque {
    margin-top: 30px;
}

.admin-category-bloque:first-of-type {
    margin-top: 0;
}

.admin-category-bloque-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.admin-category-bloque-cabecera h2 {
    margin-bottom: 4px;
    font-size: 21px;
}

.admin-category-bloque-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

/* Métricas */

.admin-category-metricas {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.admin-category-metrica {
    --category-accent: #2563eb;
    --category-soft: #eff6ff;

    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 17px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.admin-category-total {
    --category-accent: #2563eb;
    --category-soft: #eff6ff;
}

.admin-category-activas {
    --category-accent: #16a34a;
    --category-soft: #f0fdf4;
}

.admin-category-contenidos {
    --category-accent: #7c3aed;
    --category-soft: #f5f3ff;
}

.admin-category-vistas {
    --category-accent: #0891b2;
    --category-soft: #ecfeff;
}

.admin-category-metrica-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--category-soft);
    color: var(--category-accent);
}

.admin-category-metrica small,
.admin-category-metrica strong,
.admin-category-metrica span {
    display: block;
}

.admin-category-metrica small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-category-metrica strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1;
}

.admin-category-metrica span {
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.35;
}

.admin-category-estados {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.admin-category-estados article {
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
}

.admin-category-estados span,
.admin-category-estados strong,
.admin-category-estados small {
    display: block;
}

.admin-category-estados span {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-category-estados strong {
    margin: 5px 0 3px;
    color: #0f172a;
    font-size: 22px;
}

.admin-category-estados small {
    color: #94a3b8;
    font-size: 9px;
}

.admin-category-estados
.categoria-activa-texto {
    color: #15803d;
}

.admin-category-estados
.categoria-inactiva-texto {
    color: #64748b;
}

/* Gestión */

.admin-category-grid {
    display: grid;
    grid-template-columns:
        345px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.admin-category-formulario {
    position: sticky;
    top: 98px;
    padding: 22px;
}

.admin-category-formulario-cabecera {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.admin-category-formulario-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.admin-category-formulario-kicker {
    display: block;
    margin-bottom: 4px;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.admin-category-formulario h2 {
    margin: 0 0 3px;
    font-size: 19px;
}

.admin-category-formulario-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.5;
}

.admin-category-formulario .form-grupo {
    margin-bottom: 16px;
}

.admin-category-formulario .form-grupo label {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 12px;
    font-weight: 700 !important;
}

.admin-category-textarea {
    min-height: 128px;
    resize: vertical;
    line-height: 1.55;
}

.admin-category-ayuda {
    display: block;
    margin-top: 6px;
    color: #94a3b8;
    font-size: 9px;
}

.admin-category-form-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.admin-category-nota {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 13px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #f8fbff;
}

.admin-category-nota-icon {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #ffffff;
    color: #2563eb;
}

.admin-category-nota p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
    line-height: 1.55;
}

/* Listado */

.admin-category-listado {
    min-width: 0;
}

.admin-category-listado-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 13px;
}

.admin-category-listado-cabecera h2 {
    margin-bottom: 4px;
    font-size: 21px;
}

.admin-category-listado-cabecera p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}

.admin-category-contador {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.admin-category-buscador-card {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow:
        0 5px 16px
        rgba(15,23,42,.035);
}

.admin-category-buscador {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-category-input-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

.admin-category-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.admin-category-input-wrap
.form-control {
    padding-left: 39px;
}

/* Tabla */

.admin-category-tabla-contenedor {
    overflow-x: auto;
}

.admin-category-tabla {
    width: 100%;
    border-collapse: collapse;
}

.admin-category-tabla th,
.admin-category-tabla td {
    padding: 14px 14px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.admin-category-tabla th {
    color: #64748b;
    background: #f8fafc;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-category-tabla td {
    color: #334155;
    font-size: 11px;
}

.admin-category-tabla tbody tr {
    transition: background 160ms ease;
}

.admin-category-tabla tbody tr:hover {
    background: #fbfdff;
}

.admin-category-tabla tr:last-child td {
    border-bottom: 0;
}

.admin-category-info {
    min-width: 230px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.admin-category-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.admin-category-info strong {
    display: block;
    max-width: 190px;
    overflow: hidden;
    color: #0f172a;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-category-info small {
    display: -webkit-box;
    max-width: 250px;
    margin-top: 3px;
    overflow: hidden;
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.admin-category-estado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.admin-category-estado.admin-estado-activo {
    color: #166534;
    background: #dcfce7;
}

.admin-category-estado.admin-estado-inactivo {
    color: #475569;
    background: #e2e8f0;
}

.admin-category-estado-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.admin-category-numero {
    color: #0f172a;
    font-size: 12px;
}

.admin-category-vistas {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #475569;
    font-weight: 700 !important;
}

.admin-category-vistas svg {
    color: #94a3b8;
}

.admin-category-fecha {
    color: #64748b;
    white-space: nowrap;
}

/* Acciones */

.admin-category-acciones {
    min-width: 225px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-category-acciones form {
    margin: 0;
}

.admin-category-accion {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 7px 9px;
    border: 1px solid #dbe3ee;
    border-radius: 9px;
    background: #ffffff;
    color: #334155;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700 !important;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        color 160ms ease;
}

.admin-category-accion:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #2563eb;
}

.admin-category-activar {
    color: #166534;
}

.admin-category-activar:hover {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.admin-category-peligro {
    color: #b91c1c;
}

.admin-category-peligro:hover {
    color: #991b1b;
    border-color: #fecaca;
    background: #fef2f2;
}

.admin-category-vacio-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 17px;
    background: #eff6ff;
    color: #2563eb;
}

/* Responsive */

@media (max-width: 1220px) {

    .admin-category-metricas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-category-grid {
        grid-template-columns: 1fr;
    }

    .admin-category-formulario {
        position: static;
    }

}

@media (max-width: 760px) {

    .admin-category-cabecera,
    .admin-category-bloque-cabecera,
    .admin-category-listado-cabecera {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-category-estados {
        grid-template-columns: 1fr;
    }

    .admin-category-buscador {
        align-items: stretch;
        flex-direction: column;
    }

}

@media (max-width: 620px) {

    .admin-category-seccion {
        padding-top: 26px;
    }

    .admin-category-metricas {
        grid-template-columns: 1fr;
    }

    .admin-category-form-acciones .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — BUSCADOR MODERNO
   ========================================================================== */

.search-modern-hero {
    padding: 46px 0 22px;
}

.search-modern-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(260px, .8fr);
    gap: 34px;
    align-items: center;
    padding: 32px 34px 74px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 25px;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(37,99,235,.10),
            transparent 17rem
        ),
        radial-gradient(
            circle at 70% 88%,
            rgba(124,58,237,.07),
            transparent 14rem
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.99),
            rgba(248,250,252,.92)
        );
    box-shadow:
        0 16px 42px
        rgba(15,23,42,.06);
}

.search-modern-kicker,
.search-modern-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700 !important;
}

.search-modern-kicker {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
}

.search-modern-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.search-modern-copy h1 {
    margin-bottom: 10px;
    font-size: clamp(38px, 5vw, 54px);
}

.search-modern-copy p {
    max-width: 650px;
    margin: 0;
    color: #64748b;
    font-size: 16px;
}

.search-modern-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 145px;
    padding: 22px;
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            #172554,
            #1d4ed8 60%,
            #4f46e5
        );
    box-shadow:
        0 18px 38px
        rgba(37,99,235,.20);
}

.search-modern-lupa {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 23px;
    background: rgba(255,255,255,.10);
    color: #ffffff;
}

.search-modern-preview-lines {
    width: min(180px, 45%);
    display: grid;
    gap: 10px;
}

.search-modern-preview-lines span {
    height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.40);
}

.search-modern-preview-lines span:nth-child(2) {
    width: 80%;
}

.search-modern-preview-lines span:nth-child(3) {
    width: 58%;
}

.search-modern-form-card {
    position: relative;
    z-index: 2;
    max-width: 1030px;
    margin: -46px auto 0;
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: rgba(255,255,255,.97);
    box-shadow:
        0 16px 34px
        rgba(15,23,42,.09);
}

.search-modern-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(190px, .7fr)
        auto;
    gap: 10px;
    align-items: end;
}

.search-modern-form-grupo {
    min-width: 0;
}

.search-modern-form-grupo label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700 !important;
}

.search-modern-input-wrap {
    position: relative;
}

.search-modern-input-wrap > svg {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.search-modern-input-wrap .form-control {
    padding-left: 40px;
}

.search-modern-actions {
    display: flex;
    gap: 8px;
}

/* Contenido */

.search-modern-content {
    padding: 25px 0 78px;
}

.search-modern-empty {
    max-width: 760px;
    margin: 14px auto 0;
    padding: 42px 30px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #ffffff;
    text-align: center;
    box-shadow:
        0 7px 24px
        rgba(15,23,42,.045);
}

.search-modern-empty-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
    border-radius: 18px;
    background: #eff6ff;
    color: #2563eb;
}

.search-modern-empty h2 {
    margin-bottom: 8px;
    font-size: 24px;
}

.search-modern-empty p {
    max-width: 570px;
    margin: 0 auto 20px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.65;
}

.search-modern-sugerencias {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.search-modern-sugerencias a {
    padding: 8px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 10px;
    font-weight: 700 !important;
    transition: all 160ms ease;
}

.search-modern-sugerencias a:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #eff6ff;
}

/* Resultados */

.search-modern-results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.search-modern-section-kicker {
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.search-modern-results-head h2 {
    margin-bottom: 5px;
    font-size: 26px;
}

.search-modern-results-head p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.search-modern-counter {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.search-modern-metrics {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 23px;
}

.search-modern-metric {
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow:
        0 5px 16px
        rgba(15,23,42,.035);
}

.search-modern-metric small,
.search-modern-metric strong {
    display: block;
}

.search-modern-metric small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.search-modern-metric strong {
    margin-top: 4px;
    color: #0f172a;
    font-size: 23px;
    line-height: 1;
}

.search-modern-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.search-result-card {
    --search-accent: #2563eb;
    --search-soft: #eff6ff;

    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 19px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.05);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.search-result-podcast {
    --search-accent: #7c3aed;
    --search-soft: #f5f3ff;
}

.search-result-short {
    --search-accent: #0891b2;
    --search-soft: #ecfeff;
}

.search-result-publicacion {
    --search-accent: #2563eb;
    --search-soft: #eff6ff;
}

.search-result-card:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow:
        0 15px 32px
        rgba(15,23,42,.085);
}

.search-result-media {
    position: relative;
    height: 188px;
    overflow: hidden;
    background: var(--search-soft);
}

.search-result-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 300ms ease;
}

.search-result-card:hover
.search-result-media img {
    transform: scale(1.025);
}

.search-result-media-empty {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.82),
            transparent 7rem
        ),
        var(--search-soft);
    color: var(--search-accent);
}

.search-result-media-empty span {
    font-size: 46px;
    font-weight: 700 !important;
}

.search-result-media-top {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.search-result-type,
.search-result-category {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
    backdrop-filter: blur(9px);
}

.search-result-type {
    color: #ffffff;
    background: color-mix(
        in srgb,
        var(--search-accent) 90%,
        #000000 10%
    );
}

.search-result-category {
    max-width: 56%;
    overflow: hidden;
    color: #334155;
    background: rgba(255,255,255,.90);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-result-body {
    display: flex;
    flex-direction: column;
    min-height: 275px;
    padding: 18px;
}

.search-result-author {
    margin-bottom: 6px;
    color: var(--search-accent);
    font-size: 10px;
    font-weight: 700 !important;
}

.search-result-body h3 {
    margin-bottom: 9px;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.35;
}

.search-result-description {
    min-height: 60px;
    margin-bottom: 14px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
}

.search-result-description-empty {
    color: #94a3b8;
}

.search-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 11px;
    margin-top: auto;
    color: #64748b;
    font-size: 10px;
}

.search-result-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.search-result-meta svg {
    color: #94a3b8;
}

.search-result-action {
    width: 100%;
    margin-top: 16px;
}

/* Responsive */

@media (max-width: 1040px) {

    .search-modern-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 860px) {

    .search-modern-hero-grid {
        grid-template-columns: 1fr;
    }

    .search-modern-preview {
        max-width: 620px;
    }

    .search-modern-form {
        grid-template-columns: 1fr 1fr;
    }

    .search-modern-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 680px) {

    .search-modern-hero {
        padding-top: 30px;
    }

    .search-modern-hero-grid {
        padding:
            25px 20px 68px;
    }

    .search-modern-preview {
        display: none;
    }

    .search-modern-form-card {
        margin-top: -42px;
    }

    .search-modern-form,
    .search-modern-metrics,
    .search-modern-grid {
        grid-template-columns: 1fr;
    }

    .search-modern-actions {
        grid-column: auto;
    }

    .search-modern-results-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .search-modern-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — DETALLE MODERNO
   ========================================================================== */

.detalle-modern-estado {
    padding: 58px 0 82px;
}

.detalle-modern-no-encontrado {
    max-width: 760px;
    margin: 0 auto;
}

.detalle-modern-estado-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
    border-radius: 18px;
    background: #eff6ff;
    color: #2563eb;
}

.detalle-modern-hero {
    --detalle-accent: #2563eb;
    --detalle-soft: #eff6ff;
    --detalle-deep: #1e3a8a;

    padding: 36px 0 22px;
}

.detalle-modern-hero.detalle-tipo-podcast,
.detalle-podcast-card.detalle-tipo-podcast,
.detalle-relacionado-card.detalle-tipo-podcast {
    --detalle-accent: #7c3aed;
    --detalle-soft: #f5f3ff;
    --detalle-deep: #4c1d95;
}

.detalle-modern-hero.detalle-tipo-short,
.detalle-short-stage.detalle-tipo-short,
.detalle-relacionado-card.detalle-tipo-short {
    --detalle-accent: #0891b2;
    --detalle-soft: #ecfeff;
    --detalle-deep: #155e75;
}

.detalle-modern-hero.detalle-tipo-publicacion,
.detalle-publicacion-card.detalle-tipo-publicacion,
.detalle-relacionado-card.detalle-tipo-publicacion {
    --detalle-accent: #2563eb;
    --detalle-soft: #eff6ff;
    --detalle-deep: #1e3a8a;
}

.detalle-modern-regresar {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 14px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700 !important;
}

.detalle-modern-regresar:hover {
    color: var(--detalle-accent);
}

.detalle-modern-hero-card {
    display: grid;
    grid-template-columns:
        minmax(0, 1.32fr)
        minmax(285px, .68fr);
    gap: 28px;
    align-items: center;
    padding: 32px 34px;
    border: 1px solid #e2e8f0;
    border-radius: 25px;
    background:
        radial-gradient(
            circle at 88% 18%,
            var(--detalle-soft),
            transparent 19rem
        ),
        linear-gradient(
            135deg,
            #ffffff,
            #f8fafc
        );
    box-shadow:
        0 16px 42px
        rgba(15,23,42,.06);
}

.detalle-modern-etiquetas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.detalle-modern-tipo,
.detalle-modern-categoria {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700 !important;
}

.detalle-modern-tipo {
    color: var(--detalle-accent);
    border: 1px solid var(--detalle-soft);
    background: var(--detalle-soft);
}

.detalle-modern-categoria {
    color: #475569;
    border: 1px solid #e2e8f0;
    background: #ffffff;
}

.detalle-modern-hero-main h1 {
    max-width: 880px;
    margin-bottom: 12px;
    color: #0f172a;
    font-size: clamp(35px, 5vw, 54px);
    line-height: 1.08;
}

.detalle-modern-descripcion {
    max-width: 800px;
    margin-bottom: 19px;
    color: #64748b;
    font-size: 16px;
    line-height: 1.65;
}

.detalle-modern-autor-linea {
    display: flex;
    align-items: center;
    gap: 10px;
}

.detalle-modern-autor-mini {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
}

.detalle-modern-autor-mini img,
.detalle-modern-autor-inicial {
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 12px;
}

.detalle-modern-autor-mini img {
    object-fit: cover;
}

.detalle-modern-autor-inicial {
    display: grid;
    place-items: center;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--detalle-accent),
            var(--detalle-deep)
        );
    font-size: 14px;
    font-weight: 700 !important;
}

.detalle-modern-autor-linea small,
.detalle-modern-autor-linea a {
    display: block;
}

.detalle-modern-autor-linea small {
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 9px;
}

.detalle-modern-autor-linea a {
    color: #334155;
    font-size: 12px;
    font-weight: 700 !important;
}

.detalle-modern-autor-linea a:hover {
    color: var(--detalle-accent);
}

.detalle-modern-metricas {
    display: grid;
    gap: 9px;
}

.detalle-modern-metricas article {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: rgba(255,255,255,.90);
}

.detalle-modern-metrica-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--detalle-soft);
    color: var(--detalle-accent);
}

.detalle-modern-metricas small,
.detalle-modern-metricas strong {
    display: block;
}

.detalle-modern-metricas small {
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 9px;
    font-weight: 700 !important;
}

.detalle-modern-metricas strong {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}

.detalle-modern-metricas
.detalle-modern-fecha {
    font-size: 11px;
}

/* Contenido principal */

.detalle-modern-contenido {
    padding: 14px 0 38px;
}

.detalle-modern-section-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--detalle-accent, #2563eb);
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.detalle-modern-section-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

/* Podcast */

.detalle-podcast-card {
    --detalle-accent: #7c3aed;
    --detalle-soft: #f5f3ff;
    --detalle-deep: #4c1d95;

    max-width: 1020px;
    display: grid;
    grid-template-columns:
        minmax(280px, .82fr)
        minmax(0, 1.18fr);
    gap: 0;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 12px 32px
        rgba(15,23,42,.065);
}

.detalle-podcast-portada {
    min-height: 355px;
    overflow: hidden;
    background: #ede9fe;
}

.detalle-podcast-portada img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.detalle-podcast-portada-vacia {
    width: 100%;
    height: 100%;
    min-height: 355px;
    display: grid;
    place-items: center;
    color: #7c3aed;
    background:
        radial-gradient(
            circle at 42% 32%,
            rgba(255,255,255,.88),
            transparent 9rem
        ),
        linear-gradient(
            135deg,
            #ede9fe,
            #faf5ff
        );
}

.detalle-podcast-player-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.detalle-podcast-player-panel h2 {
    margin: 6px 0 7px;
    font-size: 25px;
}

.detalle-podcast-player-panel > p {
    margin: 0 0 22px;
    color: #64748b;
    font-size: 13px;
}

.detalle-podcast-player-box {
    padding: 15px;
    border: 1px solid #ede9fe;
    border-radius: 15px;
    background: #faf8ff;
}

.detalle-podcast-player-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    color: #7c3aed;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.detalle-podcast-player-label span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7c3aed;
    box-shadow:
        0 0 0 4px
        rgba(124,58,237,.08);
}

.detalle-podcast-player {
    width: 100%;
    display: block;
}

/* Short */

.detalle-short-stage {
    --detalle-accent: #0891b2;
    --detalle-soft: #ecfeff;
    --detalle-deep: #155e75;

    max-width: 900px;
    display: grid;
    grid-template-columns:
        minmax(280px, 430px)
        minmax(230px, 1fr);
    gap: 0;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #1e293b;
    border-radius: 23px;
    background:
        linear-gradient(
            145deg,
            #020617,
            #0f172a
        );
    box-shadow:
        0 18px 42px
        rgba(2,6,23,.16);
}

.detalle-short-player-wrap {
    min-height: 650px;
    display: grid;
    place-items: center;
    background: #020617;
}

.detalle-short-player {
    width: 100%;
    height: min(75vh, 720px);
    display: block;
    object-fit: contain;
    background: #020617;
}

.detalle-short-no-video {
    min-height: 650px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #ffffff;
}

.detalle-short-no-video span {
    color: #cbd5e1;
    font-size: 12px;
}

.detalle-short-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-left:
        1px solid
        rgba(255,255,255,.08);
    color: #ffffff;
}

.detalle-short-info
.detalle-modern-section-label {
    color: #67e8f9;
}

.detalle-short-info h2 {
    margin: 7px 0 8px;
    color: #ffffff;
    font-size: 24px;
}

.detalle-short-info > p {
    margin: 0 0 22px;
    color: #cbd5e1;
    font-size: 12px;
    line-height: 1.6;
}

.detalle-short-info-grid {
    display: grid;
    gap: 9px;
}

.detalle-short-info-grid > div {
    padding: 13px;
    border: 1px solid
        rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.05);
}

.detalle-short-info-grid small,
.detalle-short-info-grid strong {
    display: block;
}

.detalle-short-info-grid small {
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: 9px;
}

.detalle-short-info-grid strong {
    color: #ffffff;
    font-size: 17px;
}

/* Publicación */

.detalle-publicacion-card {
    --detalle-accent: #2563eb;
    --detalle-soft: #eff6ff;
    --detalle-deep: #1e3a8a;

    max-width: 940px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 12px 32px
        rgba(15,23,42,.065);
}

.detalle-publicacion-imagen {
    max-height: 460px;
    overflow: hidden;
    background: #e2e8f0;
}

.detalle-publicacion-imagen img {
    width: 100%;
    max-height: 460px;
    display: block;
    object-fit: cover;
}

.detalle-publicacion-texto {
    padding:
        clamp(28px, 5vw, 54px);
}

.detalle-publicacion-cabecera {
    margin-bottom: 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eef2f7;
}

.detalle-publicacion-cabecera p {
    margin: 5px 0 0;
    color: #94a3b8;
    font-size: 11px;
}

.detalle-publicacion-cuerpo {
    color: #334155;
    font-size: 16px;
    line-height: 1.9;
}

/* Autor */

.detalle-modern-autor-card {
    max-width: 940px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 28px auto 0;
    padding: 19px 21px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background: #ffffff;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
}

.detalle-modern-autor-perfil {
    display: flex;
    align-items: center;
    gap: 13px;
}

.detalle-modern-autor-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    overflow: hidden;
    border-radius: 15px;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    color: #ffffff;
}

.detalle-modern-autor-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.detalle-modern-autor-avatar span {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 17px;
    font-weight: 700 !important;
}

.detalle-modern-autor-perfil small,
.detalle-modern-autor-perfil h2,
.detalle-modern-autor-perfil p {
    display: block;
}

.detalle-modern-autor-perfil small {
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.detalle-modern-autor-perfil h2 {
    margin: 0 0 2px;
    font-size: 17px;
}

.detalle-modern-autor-perfil p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
}

/* Relacionados */

.detalle-modern-relacionados {
    padding: 28px 0 80px;
}

.detalle-modern-relacionados-head {
    margin-bottom: 17px;
}

.detalle-modern-relacionados-head h2 {
    margin: 6px 0 4px;
    font-size: 26px;
}

.detalle-modern-relacionados-head p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.detalle-relacionados-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.detalle-relacionado-card {
    --detalle-accent: #2563eb;
    --detalle-soft: #eff6ff;

    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 7px 22px
        rgba(15,23,42,.045);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.detalle-relacionado-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 15px 31px
        rgba(15,23,42,.08);
}

.detalle-relacionado-media {
    position: relative;
    height: 175px;
    overflow: hidden;
    background: var(--detalle-soft);
}

.detalle-relacionado-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.detalle-relacionado-media-vacia {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--detalle-accent);
    font-size: 44px;
    font-weight: 700 !important;
}

.detalle-relacionado-badge {
    position: absolute;
    left: 12px;
    top: 12px;
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    color: #ffffff;
    background: var(--detalle-accent);
    font-size: 9px;
    font-weight: 700 !important;
}

.detalle-relacionado-body {
    display: flex;
    flex-direction: column;
    min-height: 205px;
    padding: 16px;
}

.detalle-relacionado-categoria {
    margin-bottom: 5px;
    color: var(--detalle-accent);
    font-size: 9px;
    font-weight: 700 !important;
}

.detalle-relacionado-body h3 {
    margin-bottom: 12px;
    font-size: 17px;
    line-height: 1.35;
}

.detalle-relacionado-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: auto;
    color: #64748b;
    font-size: 9px;
}

.detalle-relacionado-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.detalle-relacionado-meta svg {
    color: #94a3b8;
}

.detalle-relacionado-action {
    width: 100%;
    margin-top: 14px;
}

/* Responsive */

@media (max-width: 950px) {

    .detalle-modern-hero-card {
        grid-template-columns: 1fr;
    }

    .detalle-modern-metricas {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .detalle-podcast-card {
        grid-template-columns: 1fr;
    }

    .detalle-podcast-portada {
        max-height: 420px;
    }

    .detalle-short-stage {
        grid-template-columns: 1fr;
        max-width: 520px;
    }

    .detalle-short-info {
        border-left: 0;
        border-top:
            1px solid
            rgba(255,255,255,.08);
    }

}

@media (max-width: 780px) {

    .detalle-relacionados-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 650px) {

    .detalle-modern-hero {
        padding-top: 28px;
    }

    .detalle-modern-hero-card {
        padding: 24px 20px;
    }

    .detalle-modern-metricas {
        grid-template-columns: 1fr;
    }

    .detalle-podcast-player-panel {
        padding: 24px 20px;
    }

    .detalle-short-player-wrap,
    .detalle-short-no-video {
        min-height: 520px;
    }

    .detalle-short-player {
        height: min(72vh, 640px);
    }

    .detalle-short-info {
        padding: 24px 20px;
    }

    .detalle-modern-autor-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .detalle-modern-autor-card .btn {
        width: 100%;
    }

}
/* ==========================================================================
   PASO 28 — MI PERFIL V2
   Rediseño visual profundo
   ========================================================================== */

.profile-v2-section {
    padding: 36px 0 78px;
}

.profile-v2-layout {
    display: grid;
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

/* Sidebar */

.profile-v2-sidebar {
    position: sticky;
    top: 92px;
    padding: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow:
        0 8px 24px
        rgba(15,23,42,.045);
}

.profile-v2-sidebar-block {
    min-width: 0;
}

.profile-v2-sidebar-label {
    display: block;
    padding: 5px 9px 9px;
    color: #94a3b8;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .08em !important;
}

.profile-v2-sidebar-divider {
    height: 1px;
    margin: 12px 8px;
    background: #eef2f7;
}

.profile-v2-nav {
    display: grid;
    gap: 4px;
}

.profile-v2-nav-item {
    position: relative;
    display: grid;
    grid-template-columns:
        34px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 43px;
    padding: 5px 9px 5px 6px;
    border-radius: 11px;
    color: #475569;
    font-size: 12px;
    font-weight: 600 !important;
    transition:
        background 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.profile-v2-nav-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #64748b;
    transition:
        background 160ms ease,
        color 160ms ease;
}

.profile-v2-nav-item:not(.activo):hover {
    color: #1d4ed8;
    background: #f8fbff;
    transform: translateX(2px);
}

.profile-v2-nav-item:not(.activo):hover
.profile-v2-nav-icon {
    color: #2563eb;
    background: #eff6ff;
}

.profile-v2-nav-item.activo {
    color: #1d4ed8;
    background:
        linear-gradient(
            90deg,
            #eff6ff,
            #f8fbff
        );
    box-shadow:
        inset 3px 0 0 #2563eb;
}

.profile-v2-nav-item.activo
.profile-v2-nav-icon {
    color: #2563eb;
    background: #ffffff;
    box-shadow:
        0 3px 9px
        rgba(37,99,235,.08);
}

.profile-v2-nav-external {
    color: #94a3b8;
}

/* Main */

.profile-v2-main {
    min-width: 0;
}

.profile-v2-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.profile-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.profile-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow:
        0 0 0 4px
        rgba(37,99,235,.08);
}

.profile-v2-header h1 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: clamp(31px, 4.2vw, 42px);
    line-height: 1.05;
}

.profile-v2-header p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.profile-v2-public-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 13px;
    border: 1px solid #dbe3ee;
    border-radius: 11px;
    background: #ffffff;
    color: #334155;
    box-shadow:
        0 4px 12px
        rgba(15,23,42,.035);
    font-size: 11px;
    font-weight: 700 !important;
    white-space: nowrap;
    transition:
        color 160ms ease,
        border-color 160ms ease,
        background 160ms ease,
        transform 160ms ease;
}

.profile-v2-public-button:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
    transform: translateY(-1px);
}

.profile-v2-error-list {
    margin: 9px 0 0 18px;
}

/* Form */

.profile-v2-form {
    display: grid;
    gap: 16px;
}

/* Identity */

.profile-v2-identity-card {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr) minmax(250px, .65fr);
    gap: 20px;
    align-items: center;
    padding: 20px 22px;
    border: 1px solid #dfe7f1;
    border-radius: 18px;
    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(37,99,235,.06),
            transparent 15rem
        ),
        linear-gradient(
            135deg,
            #ffffff,
            #f8fafc
        );
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
}

.profile-v2-avatar-column {
    display: grid;
    place-items: center;
}

.profile-v2-avatar-shell {
    position: relative;
    width: 88px;
    height: 88px;
}

.profile-v2-avatar-image,
.profile-v2-avatar-initials {
    width: 88px;
    height: 88px;
    border-radius: 22px;
}

.profile-v2-avatar-image {
    display: block;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow:
        0 10px 25px
        rgba(15,23,42,.11);
}

.profile-v2-avatar-initials {
    display: grid;
    place-items: center;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
    box-shadow:
        0 10px 25px
        rgba(79,70,229,.18);
    font-size: 28px;
    font-weight: 700 !important;
}

.profile-v2-avatar-status {
    position: absolute;
    right: -1px;
    bottom: 2px;
    width: 16px;
    height: 16px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #22c55e;
}

.profile-v2-identity-copy {
    min-width: 0;
}

.profile-v2-identity-label {
    display: block;
    margin-bottom: 4px;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.profile-v2-identity-copy h2 {
    margin: 0 0 2px;
    overflow: hidden;
    color: #0f172a;
    font-size: 21px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-v2-identity-username {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 12px;
}

.profile-v2-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.profile-v2-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
}

.profile-v2-badge-success {
    color: #166534;
    background: #f0fdf4;
}

.profile-v2-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.profile-v2-identity-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border: 1px solid #dbeafe;
    border-radius: 13px;
    background: rgba(239,246,255,.72);
}

.profile-v2-note-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #ffffff;
    color: #2563eb;
}

.profile-v2-identity-note strong {
    display: block;
    margin-bottom: 3px;
    color: #1e3a8a;
    font-size: 11px;
}

.profile-v2-identity-note p {
    margin: 0;
    color: #64748b;
    font-size: 9px;
    line-height: 1.55;
}

/* Cards */

.profile-v2-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 5px 18px
        rgba(15,23,42,.035);
}

.profile-v2-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
    border-bottom: 1px solid #eef2f7;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fcfdff
        );
}

.profile-v2-card-title {
    display: flex;
    align-items: center;
    gap: 11px;
}

.profile-v2-section-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.profile-v2-card-title h2 {
    margin: 0 0 2px;
    color: #0f172a;
    font-size: 16px;
}

.profile-v2-card-title p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
    line-height: 1.45;
}

/* Photo */

.profile-v2-photo-grid {
    display: grid;
    grid-template-columns:
        minmax(210px, .55fr)
        minmax(0, 1.45fr);
    gap: 22px;
    padding: 20px;
}

.profile-v2-photo-preview {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    background: #f8fafc;
}

.profile-v2-photo-preview-avatar {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    overflow: hidden;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );
}

.profile-v2-photo-preview-avatar img,
.profile-v2-photo-preview-avatar span {
    width: 100%;
    height: 100%;
}

.profile-v2-photo-preview-avatar img {
    display: block;
    object-fit: cover;
}

.profile-v2-photo-preview-avatar span {
    display: grid;
    place-items: center;
    color: #ffffff;
    font-size: 23px;
    font-weight: 700 !important;
}

.profile-v2-photo-preview strong,
.profile-v2-photo-preview small {
    display: block;
}

.profile-v2-photo-preview strong {
    margin-bottom: 3px;
    color: #0f172a;
    font-size: 11px;
}

.profile-v2-photo-preview small {
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.4;
}

.profile-v2-upload-area {
    min-width: 0;
}

.profile-v2-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.profile-v2-upload-label {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 82px;
    padding: 14px 16px;
    border: 1px dashed #bfdbfe;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #ffffff
        );
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        transform 160ms ease;
}

.profile-v2-upload-label:hover {
    border-color: #60a5fa;
    background: #f5f9ff;
    transform: translateY(-1px);
}

.profile-v2-upload-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
}

.profile-v2-upload-copy strong,
.profile-v2-upload-copy small {
    display: block;
}

.profile-v2-upload-copy strong {
    margin-bottom: 3px;
    color: #1e3a8a;
    font-size: 11px;
}

.profile-v2-upload-copy small {
    color: #64748b;
    font-size: 9px;
    line-height: 1.45;
}

.profile-v2-upload-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 8px;
}

.profile-v2-upload-meta span:first-child {
    max-width: 52%;
    overflow: hidden;
    color: #64748b;
    font-weight: 600 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-v2-remove-photo {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid #fee2e2;
    border-radius: 12px;
    background: #fffafa;
    cursor: pointer;
}

.profile-v2-remove-photo input {
    margin-top: 3px;
}

.profile-v2-remove-photo strong,
.profile-v2-remove-photo small {
    display: block;
}

.profile-v2-remove-photo strong {
    margin-bottom: 2px;
    color: #b91c1c;
    font-size: 10px;
}

.profile-v2-remove-photo small {
    color: #94a3b8;
    font-size: 8px;
}

/* Fields */

.profile-v2-fields-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 17px 16px;
    padding: 20px;
}

.profile-v2-card .form-grupo {
    margin: 0;
}

.profile-v2-card .form-grupo > label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 10px;
    font-weight: 700 !important;
}

.profile-v2-card .form-control {
    min-height: 42px;
    border-color: #d7e0ec;
    border-radius: 11px;
    background: #ffffff;
    font-size: 12px;
}

.profile-v2-card .form-control:focus {
    border-color: #93c5fd;
    box-shadow:
        0 0 0 3px
        rgba(37,99,235,.08);
}

.profile-v2-input-prefix {
    position: relative;
}

.profile-v2-input-prefix > span {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 12px;
    font-weight: 700 !important;
    pointer-events: none;
}

.profile-v2-input-prefix
.form-control {
    padding-left: 32px;
}

.profile-v2-field-help {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 8px;
    line-height: 1.4;
}

/* Public description */

.profile-v2-public-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.profile-v2-card >
.form-grupo {
    padding: 20px;
}

.profile-v2-textarea {
    min-height: 135px !important;
    resize: vertical;
    line-height: 1.65;
}

.profile-v2-description-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
}

.profile-v2-description-meta small {
    color: #94a3b8;
    font-size: 8px;
}

#contadorDescripcion {
    color: #64748b;
    font-weight: 700 !important;
}

/* Actions */

.profile-v2-actions {
    position: sticky;
    bottom: 12px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    background:
        rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    box-shadow:
        0 10px 30px
        rgba(15,23,42,.09);
}

.profile-v2-actions p {
    margin: 0;
    color: #94a3b8;
    font-size: 9px;
}

.profile-v2-actions > div {
    display: flex;
    gap: 8px;
}

.profile-v2-actions .btn {
    min-height: 38px;
    padding-inline: 13px;
    gap: 6px;
    font-size: 10px;
}

/* Responsive */

@media (max-width: 1050px) {

    .profile-v2-layout {
        grid-template-columns: 1fr;
    }

    .profile-v2-sidebar {
        position: static;
    }

    .profile-v2-sidebar {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .profile-v2-sidebar-divider {
        display: none;
    }

    .profile-v2-identity-card {
        grid-template-columns:
            auto minmax(0, 1fr);
    }

    .profile-v2-identity-note {
        grid-column: 1 / -1;
    }

}

@media (max-width: 760px) {

    .profile-v2-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-v2-photo-grid,
    .profile-v2-fields-grid {
        grid-template-columns: 1fr;
    }

    .profile-v2-sidebar {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {

    .profile-v2-section {
        padding-top: 25px;
    }

    .profile-v2-identity-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .profile-v2-avatar-column {
        justify-content: center;
    }

    .profile-v2-badges {
        justify-content: center;
    }

    .profile-v2-identity-note {
        text-align: left;
    }

    .profile-v2-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-v2-upload-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-v2-upload-meta span:first-child {
        max-width: 100%;
    }

    .profile-v2-actions {
        position: static;
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-v2-actions > div {
        width: 100%;
    }

    .profile-v2-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   CORRECCIÓN MI PERFIL V2 — IMÁGENES VACÍAS / ATRIBUTO HIDDEN
   ========================================================================== */

/*
 * Algunos estilos globales de imágenes pueden sobrescribir visualmente
 * el atributo HTML "hidden". Forzamos que las imágenes sin fotografía
 * permanezcan ocultas para evitar que aparezca el texto ALT y que el
 * avatar de iniciales se desplace o se superponga.
 */
.profile-v2-avatar-image[hidden],
.profile-v2-avatar-initials[hidden],
.profile-v2-photo-preview-avatar img[hidden],
.profile-v2-photo-preview-avatar span[hidden] {
    display: none !important;
}

/* Mantener los avatares dentro de su contenedor sin desbordamientos. */
.profile-v2-avatar-shell,
.profile-v2-photo-preview-avatar {
    position: relative;
    overflow: hidden;
}

.profile-v2-avatar-image,
.profile-v2-avatar-initials,
.profile-v2-photo-preview-avatar img,
.profile-v2-photo-preview-avatar span {
    position: absolute;
    inset: 0;
}

/* El indicador de cuenta activa debe permanecer visible sobre el avatar. */
.profile-v2-avatar-status {
    z-index: 3;
}
/* ==========================================================================
   PASO 28 — DASHBOARD USUARIO V2
   ========================================================================== */

.dashboard-v2-section {
    padding: 36px 0 80px;
}

.dashboard-v2-layout {
    display: grid;
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.dashboard-v2-main {
    min-width: 0;
}

/* Cabecera */

.dashboard-v2-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.dashboard-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    padding: 6px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
}

.dashboard-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.dashboard-v2-header h1 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: clamp(34px, 5vw, 48px);
    line-height: 1.05;
}

.dashboard-v2-header p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.dashboard-v2-new-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    padding: 10px 14px;
    border-radius: 11px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #4f46e5
        );
    box-shadow:
        0 9px 20px
        rgba(37,99,235,.18);
    font-size: 11px;
    font-weight: 700 !important;
    white-space: nowrap;
    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}

.dashboard-v2-new-content:hover {
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow:
        0 12px 25px
        rgba(37,99,235,.24);
}

/* Métricas */

.dashboard-v2-metrics {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-v2-metric {
    --dashboard-accent: #2563eb;
    --dashboard-soft: #eff6ff;

    position: relative;
    min-width: 0;
    min-height: 150px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background: #ffffff;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.dashboard-v2-metric::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--dashboard-accent);
    opacity: .9;
}

.dashboard-v2-metric:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow:
        0 12px 27px
        rgba(15,23,42,.07);
}

.dashboard-v2-metric-content {
    --dashboard-accent: #2563eb;
    --dashboard-soft: #eff6ff;
}

.dashboard-v2-metric-views {
    --dashboard-accent: #0891b2;
    --dashboard-soft: #ecfeff;
}

.dashboard-v2-metric-plays {
    --dashboard-accent: #7c3aed;
    --dashboard-soft: #f5f3ff;
}

.dashboard-v2-metric-published {
    --dashboard-accent: #16a34a;
    --dashboard-soft: #f0fdf4;
}

.dashboard-v2-metric-top {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #64748b;
    font-size: 10px;
    font-weight: 700 !important;
}

.dashboard-v2-metric-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--dashboard-soft);
    color: var(--dashboard-accent);
}

.dashboard-v2-metric > strong {
    display: block;
    margin: 18px 0 4px;
    color: #0f172a;
    font-size: 31px;
    font-weight: 700 !important;
    line-height: 1;
}

.dashboard-v2-metric > small {
    color: #94a3b8;
    font-size: 9px;
}

/* Fila de formatos */

.dashboard-v2-format-row {
    display: grid;
    grid-template-columns:
        minmax(170px, .9fr)
        repeat(3, minmax(120px, .65fr))
        minmax(100px, .48fr);
    gap: 10px;
    align-items: stretch;
    margin-top: 14px;
    padding: 11px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #ffffff;
    box-shadow:
        0 5px 16px
        rgba(15,23,42,.03);
}

.dashboard-v2-format-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5px 7px;
}

.dashboard-v2-format-copy span {
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em !important;
}

.dashboard-v2-format-copy strong {
    color: #334155;
    font-size: 11px;
}

.dashboard-v2-format-item {
    --format-accent: #2563eb;
    --format-soft: #eff6ff;

    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 9px 10px;
    border-radius: 11px;
    background: #f8fafc;
}

.dashboard-v2-format-podcast {
    --format-accent: #7c3aed;
    --format-soft: #f5f3ff;
}

.dashboard-v2-format-short {
    --format-accent: #0891b2;
    --format-soft: #ecfeff;
}

.dashboard-v2-format-publication {
    --format-accent: #2563eb;
    --format-soft: #eff6ff;
}

.dashboard-v2-format-icon {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--format-soft);
    color: var(--format-accent);
}

.dashboard-v2-format-item small,
.dashboard-v2-format-item strong {
    display: block;
}

.dashboard-v2-format-item small {
    margin-bottom: 2px;
    color: #64748b;
    font-size: 8px;
}

.dashboard-v2-format-item strong {
    color: #0f172a;
    font-size: 15px;
}

.dashboard-v2-format-status {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 11px;
    background: #fffbeb;
}

.dashboard-v2-format-status span {
    margin-bottom: 2px;
    color: #92400e;
    font-size: 8px;
    font-weight: 700 !important;
}

.dashboard-v2-format-status strong {
    color: #78350f;
    font-size: 15px;
}

/* Contenido */

.dashboard-v2-content-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(275px, .75fr);
    gap: 18px;
    align-items: stretch;
    margin-top: 20px;
}

.dashboard-v2-recent-card,
.dashboard-v2-summary-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
}

.dashboard-v2-card-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid #eef2f7;
}

.dashboard-v2-section-kicker {
    display: block;
    margin-bottom: 4px;
    color: #2563eb;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.dashboard-v2-card-header h2 {
    margin: 0 0 3px;
    color: #0f172a;
    font-size: 17px;
}

.dashboard-v2-card-header p {
    margin: 0;
    color: #94a3b8;
    font-size: 9px;
}

.dashboard-v2-text-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Tabla */

.dashboard-v2-table-wrap {
    overflow-x: auto;
    padding: 0 12px 12px;
}

.dashboard-v2-table {
    width: 100%;
    border-collapse: collapse;
}

.dashboard-v2-table th,
.dashboard-v2-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
    vertical-align: middle;
}

.dashboard-v2-table th {
    color: #94a3b8;
    background: #fbfcfe;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.dashboard-v2-table td {
    color: #334155;
    font-size: 10px;
}

.dashboard-v2-table tbody tr {
    transition: background 150ms ease;
}

.dashboard-v2-table tbody tr:hover {
    background: #fbfdff;
}

.dashboard-v2-table tbody tr:last-child td {
    border-bottom: 0;
}

.dashboard-v2-content-title {
    min-width: 175px;
    display: flex;
    align-items: center;
    gap: 9px;
}

.dashboard-v2-content-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
}

.dashboard-v2-content-icon-podcast {
    color: #7c3aed;
    background: #f5f3ff;
}

.dashboard-v2-content-icon-short {
    color: #0891b2;
    background: #ecfeff;
}

.dashboard-v2-content-icon-publicacion {
    color: #2563eb;
    background: #eff6ff;
}

.dashboard-v2-content-title strong,
.dashboard-v2-content-title small {
    display: block;
}

.dashboard-v2-content-title strong {
    max-width: 210px;
    overflow: hidden;
    color: #0f172a;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-v2-content-title small {
    margin-top: 2px;
    color: #c0cad7;
    font-size: 7px;
}

.dashboard-v2-state {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.dashboard-v2-state > span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.dashboard-v2-views {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #475569;
    font-weight: 700 !important;
}

.dashboard-v2-views svg {
    color: #94a3b8;
}

.dashboard-v2-date {
    color: #64748b;
    white-space: nowrap;
}

.dashboard-v2-row-action {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #ffffff;
    color: #64748b;
    transition: all 150ms ease;
}

.dashboard-v2-row-action:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #eff6ff;
}

/* Resumen lateral */

.dashboard-v2-summary-card {
    display: flex;
    flex-direction: column;
}

.dashboard-v2-most-viewed {
    margin: 14px 14px 0;
    padding: 15px;
    border: 1px solid #e0e7ff;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #eef2ff,
            #f8f7ff
        );
}

.dashboard-v2-most-viewed-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 13px;
}

.dashboard-v2-most-viewed-eye {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #4f46e5;
    font-size: 9px;
    font-weight: 700 !important;
}

.dashboard-v2-most-viewed > small {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.dashboard-v2-most-viewed h3 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.35;
}

.dashboard-v2-most-viewed > p {
    margin: 0;
    color: #64748b;
    font-size: 9px;
}

.dashboard-v2-most-viewed-extra {
    margin-top: 8px;
    color: #7c3aed;
    font-size: 8px;
    font-weight: 700 !important;
}

.dashboard-v2-most-viewed-button {
    width: 100%;
    margin-top: 13px;
    min-height: 34px;
    font-size: 9px;
}

.dashboard-v2-no-performance {
    margin: 14px 14px 0;
    padding: 22px 15px;
    border: 1px dashed #dbe3ee;
    border-radius: 14px;
    text-align: center;
}

.dashboard-v2-no-performance strong {
    display: block;
    margin: 8px 0 4px;
    color: #334155;
    font-size: 11px;
}

.dashboard-v2-no-performance p {
    margin: 0;
    color: #94a3b8;
    font-size: 9px;
}

.dashboard-v2-empty-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    margin: 0 auto;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.dashboard-v2-quick-links {
    display: grid;
    gap: 7px;
    margin-top: auto;
    padding: 14px;
}

.dashboard-v2-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 41px;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    color: #334155;
    font-size: 9px;
    font-weight: 700 !important;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        color 150ms ease;
}

.dashboard-v2-quick-links a:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
}

.dashboard-v2-quick-links a > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dashboard-v2-quick-links svg {
    color: #64748b;
}

/* Estado vacío */

.dashboard-v2-empty {
    padding: 42px 24px;
    text-align: center;
}

.dashboard-v2-empty h3 {
    margin: 10px 0 5px;
    font-size: 15px;
}

.dashboard-v2-empty p {
    max-width: 400px;
    margin: 0 auto 15px;
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.55;
}

/* Responsive */

@media (max-width: 1120px) {

    .dashboard-v2-metrics {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .dashboard-v2-format-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .dashboard-v2-format-copy {
        grid-column: 1 / -1;
    }

}

@media (max-width: 1050px) {

    .dashboard-v2-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-v2-content-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 720px) {

    .dashboard-v2-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-v2-new-content {
        align-self: stretch;
    }

}

@media (max-width: 620px) {

    .dashboard-v2-section {
        padding-top: 25px;
    }

    .dashboard-v2-metrics,
    .dashboard-v2-format-row {
        grid-template-columns: 1fr;
    }

    .dashboard-v2-format-copy {
        grid-column: auto;
    }

}
/* ==========================================================================
   PASO 28 — SUBIR CONTENIDO V2
   ========================================================================== */

.upload-v2-section {
    padding: 36px 0 82px;
}

.upload-v2-layout {
    display: grid;
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.upload-v2-main {
    min-width: 0;
}

.upload-v2-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.upload-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.upload-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow:
        0 0 0 4px
        rgba(37,99,235,.08);
}

.upload-v2-header h1 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: clamp(33px, 4.7vw, 45px);
    line-height: 1.05;
}

.upload-v2-header p {
    max-width: 680px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.upload-v2-secondary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #dbe3ee;
    border-radius: 11px;
    background: #ffffff;
    color: #334155;
    box-shadow:
        0 4px 12px
        rgba(15,23,42,.035);
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
    transition:
        color 160ms ease,
        border-color 160ms ease,
        background 160ms ease;
}

.upload-v2-secondary-link:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
}

.upload-v2-error-list {
    margin: 9px 0 0 18px;
}

/* Form */

.upload-v2-form {
    display: grid;
    gap: 16px;
}

.upload-v2-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 5px 18px
        rgba(15,23,42,.035);
}

.upload-v2-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 20px;
    border-bottom: 1px solid #eef2f7;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fcfdff
        );
}

.upload-v2-step {
    display: flex;
    align-items: center;
    gap: 11px;
}

.upload-v2-step-number {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 11px;
    font-weight: 700 !important;
}

.upload-v2-step h2 {
    margin: 0 0 2px;
    color: #0f172a;
    font-size: 16px;
}

.upload-v2-step p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
    line-height: 1.45;
}

.upload-v2-optional {
    padding: 5px 8px;
    border-radius: 999px;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

/* Type selector */

.upload-v2-types {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.upload-v2-type-option {
    --upload-accent: #2563eb;
    --upload-soft: #eff6ff;

    position: relative;
}

.upload-v2-type-podcast {
    --upload-accent: #7c3aed;
    --upload-soft: #f5f3ff;
}

.upload-v2-type-short {
    --upload-accent: #0891b2;
    --upload-soft: #ecfeff;
}

.upload-v2-type-publication {
    --upload-accent: #2563eb;
    --upload-soft: #eff6ff;
}

.upload-v2-type-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.upload-v2-type-option label {
    position: relative;
    min-height: 126px;
    display: grid;
    grid-template-columns:
        42px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: start;
    padding: 17px;
    border: 1px solid #dfe7f1;
    border-radius: 15px;
    background: #ffffff;
    cursor: pointer;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}

.upload-v2-type-option label:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow:
        0 9px 20px
        rgba(15,23,42,.055);
}

.upload-v2-type-option
input:checked + label {
    border-color: var(--upload-accent);
    background:
        linear-gradient(
            135deg,
            var(--upload-soft),
            #ffffff
        );
    box-shadow:
        0 9px 20px
        rgba(15,23,42,.055);
}

.upload-v2-type-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--upload-soft);
    color: var(--upload-accent);
}

.upload-v2-type-copy strong,
.upload-v2-type-copy small,
.upload-v2-type-copy em {
    display: block;
}

.upload-v2-type-copy strong {
    margin: 1px 0 4px;
    color: #0f172a;
    font-size: 12px;
}

.upload-v2-type-copy small {
    min-height: 32px;
    color: #64748b;
    font-size: 9px;
    line-height: 1.45;
}

.upload-v2-type-copy em {
    margin-top: 7px;
    color: var(--upload-accent);
    font-size: 8px;
    font-style: normal;
    font-weight: 700 !important;
}

.upload-v2-type-check {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ee;
    border-radius: 50%;
    background: #ffffff;
    color: transparent;
}

.upload-v2-type-option
input:checked + label
.upload-v2-type-check {
    color: #ffffff;
    border-color: var(--upload-accent);
    background: var(--upload-accent);
}

/* Main + help */

.upload-v2-content-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 275px;
    gap: 17px;
    align-items: start;
}

.upload-v2-content-main {
    display: grid;
    gap: 16px;
}

/* Fields */

.upload-v2-fields {
    display: grid;
    gap: 17px;
    padding: 20px;
}

.upload-v2-fields .form-grupo {
    margin: 0;
}

.upload-v2-fields .form-grupo > label,
.upload-v2-label-row label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 10px;
    font-weight: 700 !important;
}

.upload-v2-fields .form-control {
    min-height: 42px;
    border-color: #d7e0ec;
    border-radius: 11px;
    background: #ffffff;
    font-size: 12px;
}

.upload-v2-fields .form-control:focus {
    border-color: #93c5fd;
    box-shadow:
        0 0 0 3px
        rgba(37,99,235,.08);
}

.upload-v2-description {
    min-height: 112px !important;
    resize: vertical;
    line-height: 1.6;
}

.upload-v2-editor {
    min-height: 280px !important;
    resize: vertical;
    line-height: 1.75;
}

.upload-v2-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.upload-v2-label-row label {
    margin-bottom: 6px;
}

.upload-v2-character-count {
    margin-bottom: 6px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
}

.upload-v2-field-help {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 8px;
}

/* Conditional */

.campo-condicional {
    display: none;
}

.campo-condicional.visible {
    display: block;
}

/* Custom file upload */

.upload-v2-file-area {
    padding: 20px;
}

.upload-v2-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.upload-v2-dropzone {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 94px;
    padding: 15px 17px;
    border: 1px dashed #bfdbfe;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #ffffff
        );
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        transform 160ms ease;
}

.upload-v2-dropzone:hover {
    border-color: #60a5fa;
    background: #f5f9ff;
    transform: translateY(-1px);
}

.upload-v2-dropzone-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
}

.upload-v2-dropzone-copy strong,
.upload-v2-dropzone-copy small {
    display: block;
}

.upload-v2-dropzone-copy strong {
    margin-bottom: 3px;
    color: #1e3a8a;
    font-size: 11px;
}

.upload-v2-dropzone-copy small {
    color: #64748b;
    font-size: 9px;
    line-height: 1.45;
}

.upload-v2-file-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 8px;
}

.upload-v2-file-meta span:first-child {
    max-width: 56%;
    overflow: hidden;
    color: #64748b;
    font-weight: 600 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Thumbnail */

.upload-v2-thumbnail-grid {
    display: grid;
    grid-template-columns:
        minmax(180px, .5fr)
        minmax(0, 1.5fr);
    gap: 17px;
    align-items: stretch;
    padding: 20px;
}

.upload-v2-thumbnail-preview {
    width: 100%;
    min-height: 160px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #f8fafc,
            #f1f5f9
        );
}

.upload-v2-thumbnail-preview.visible {
    display: block;
}

.upload-v2-thumbnail-preview:not(.visible) {
    display: none;
}

.upload-v2-thumbnail-preview img {
    width: 100%;
    height: 100%;
    min-height: 160px;
    display: block;
    object-fit: cover;
}

.upload-v2-thumbnail-upload {
    min-width: 0;
}

.upload-v2-dropzone-image {
    height: 100%;
}

/* Context help */

.upload-v2-help {
    position: sticky;
    top: 92px;
    padding: 17px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fafc
        );
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
}

.upload-v2-help-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.upload-v2-help-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.upload-v2-help-head small {
    display: block;
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.upload-v2-help-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 15px;
}

.upload-v2-help > p {
    margin: 0 0 14px;
    color: #64748b;
    font-size: 10px;
    line-height: 1.55;
}

.upload-v2-help-list {
    display: grid;
    gap: 9px;
}

.upload-v2-help-list > div {
    display: grid;
    grid-template-columns:
        25px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 9px;
    border-radius: 10px;
    background: #ffffff;
}

.upload-v2-help-list > div > span {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #f0fdf4;
    color: #16a34a;
}

.upload-v2-help-list p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 8px;
    line-height: 1.5;
}

.upload-v2-help-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.upload-v2-help-status span {
    color: #94a3b8;
    font-size: 8px;
}

.upload-v2-help-status strong {
    padding: 5px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 8px;
}

/* Actions */

.upload-v2-actions {
    position: sticky;
    bottom: 12px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
    box-shadow:
        0 10px 30px
        rgba(15,23,42,.09);
}

.upload-v2-actions-copy {
    display: flex;
    align-items: center;
    gap: 9px;
}

.upload-v2-actions-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eff6ff;
    color: #2563eb;
}

.upload-v2-actions-copy p {
    margin: 0;
    color: #94a3b8;
    font-size: 9px;
}

.upload-v2-actions-buttons {
    display: flex;
    gap: 8px;
}

.upload-v2-actions-buttons .btn {
    min-height: 38px;
    gap: 6px;
    font-size: 10px;
}

.upload-v2-draft-button {
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.upload-v2-draft-button:hover {
    border-color: #fcd34d;
    background: #fef3c7;
    color: #78350f;
}

/* Responsive */

@media (max-width: 1120px) {

    .upload-v2-content-grid {
        grid-template-columns: 1fr;
    }

    .upload-v2-help {
        position: static;
    }

}

@media (max-width: 1050px) {

    .upload-v2-layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {

    .upload-v2-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .upload-v2-types {
        grid-template-columns: 1fr;
    }

    .upload-v2-thumbnail-grid {
        grid-template-columns: 1fr;
    }

    .upload-v2-thumbnail-preview {
        max-height: 260px;
    }

}

@media (max-width: 620px) {

    .upload-v2-section {
        padding-top: 25px;
    }

    .upload-v2-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .upload-v2-file-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .upload-v2-file-meta span:first-child {
        max-width: 100%;
    }

    .upload-v2-actions {
        position: static;
        align-items: flex-start;
        flex-direction: column;
    }

    .upload-v2-actions-buttons {
        width: 100%;
        flex-direction: column;
    }

    .upload-v2-actions-buttons .btn {
        width: 100%;
    }

}
/* ==========================================================================
   PASO 28 — MIS CONTENIDOS V2
   ========================================================================== */

.my-content-v2-section {
    padding: 36px 0 82px;
}

.my-content-v2-layout {
    display: grid;
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.my-content-v2-main {
    min-width: 0;
}

/* Cabecera */

.my-content-v2-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.my-content-v2-kicker,
.my-content-v2-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.my-content-v2-kicker {
    margin-bottom: 8px;
}

.my-content-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow:
        0 0 0 4px
        rgba(37,99,235,.08);
}

.my-content-v2-header h1 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: clamp(34px, 5vw, 46px);
    line-height: 1.05;
}

.my-content-v2-header p {
    max-width: 680px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.my-content-v2-new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    padding: 10px 14px;
    border-radius: 11px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #4f46e5
        );
    box-shadow:
        0 9px 20px
        rgba(37,99,235,.18);
    font-size: 11px;
    font-weight: 700 !important;
    white-space: nowrap;
    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}

.my-content-v2-new:hover {
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow:
        0 12px 25px
        rgba(37,99,235,.24);
}

/* Métricas */

.my-content-v2-metrics {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 16px;
}

.my-content-v2-metric {
    --my-accent: #2563eb;
    --my-soft: #eff6ff;

    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #ffffff;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.035);
}

.my-content-v2-metric-total {
    --my-accent: #2563eb;
    --my-soft: #eff6ff;
}

.my-content-v2-metric-published {
    --my-accent: #16a34a;
    --my-soft: #f0fdf4;
}

.my-content-v2-metric-drafts {
    --my-accent: #d97706;
    --my-soft: #fffbeb;
}

.my-content-v2-metric-views {
    --my-accent: #0891b2;
    --my-soft: #ecfeff;
}

.my-content-v2-metric-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--my-soft);
    color: var(--my-accent);
}

.my-content-v2-metric small,
.my-content-v2-metric strong,
.my-content-v2-metric span {
    display: block;
}

.my-content-v2-metric small {
    color: #64748b;
    font-size: 9px;
    font-weight: 700 !important;
}

.my-content-v2-metric strong {
    margin: 2px 0;
    color: #0f172a;
    font-size: 22px;
    line-height: 1;
}

.my-content-v2-metric span {
    color: #94a3b8;
    font-size: 8px;
    line-height: 1.35;
}

/* Filtros */

.my-content-v2-filters {
    display: grid;
    grid-template-columns:
        minmax(205px, .62fr)
        minmax(0, 1.38fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 25px;
    padding: 16px 17px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.035);
}

.my-content-v2-filter-copy {
    display: flex;
    align-items: center;
    gap: 10px;
}

.my-content-v2-filter-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.my-content-v2-filter-copy strong,
.my-content-v2-filter-copy small {
    display: block;
}

.my-content-v2-filter-copy strong {
    color: #0f172a;
    font-size: 12px;
}

.my-content-v2-filter-copy small {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 8px;
    line-height: 1.45;
}

.my-content-v2-filter-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(115px, .58fr)
        minmax(120px, .60fr)
        auto;
    gap: 9px;
    align-items: end;
}

.my-content-v2-filter-group {
    min-width: 0;
}

.my-content-v2-filter-group label {
    display: block;
    margin-bottom: 5px;
    color: #475569;
    font-size: 9px;
    font-weight: 700 !important;
}

.my-content-v2-filter-group
.form-control {
    min-height: 40px;
    border-color: #d7e0ec;
    border-radius: 10px;
    font-size: 10px;
}

.my-content-v2-search-wrap {
    position: relative;
}

.my-content-v2-search-wrap > svg {
    position: absolute;
    left: 12px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.my-content-v2-search-wrap
.form-control {
    padding-left: 36px;
}

.my-content-v2-filter-actions {
    display: flex;
    gap: 7px;
}

.my-content-v2-filter-actions .btn {
    min-height: 40px;
    padding-inline: 12px;
    font-size: 9px;
}

/* Listado */

.my-content-v2-list {
    margin-top: 2px;
}

.my-content-v2-list-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.my-content-v2-section-kicker {
    margin-bottom: 5px;
    font-size: 8px;
}

.my-content-v2-list-header h2 {
    margin: 0 0 3px;
    color: #0f172a;
    font-size: 22px;
}

.my-content-v2-list-header p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
}

.my-content-v2-list-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.my-content-v2-list-summary span {
    padding: 5px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 8px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.my-content-v2-list-summary
.my-content-v2-inactive-chip {
    color: #475569;
    background: #f8fafc;
}

.my-content-v2-table-card {
    padding: 0;
    overflow: hidden;
}

.my-content-v2-table-wrap {
    overflow-x: auto;
}

.my-content-v2-table {
    width: 100%;
    border-collapse: collapse;
}

.my-content-v2-table th,
.my-content-v2-table td {
    padding: 13px 12px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
    vertical-align: middle;
}

.my-content-v2-table th {
    color: #94a3b8;
    background: #f8fafc;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .03em !important;
    white-space: nowrap;
}

.my-content-v2-table td {
    color: #334155;
    font-size: 10px;
}

.my-content-v2-table tbody tr {
    transition: background 150ms ease;
}

.my-content-v2-table tbody tr:hover {
    background: #fbfdff;
}

.my-content-v2-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Título */

.my-content-v2-title-cell {
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.my-content-v2-type-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
}

.my-content-v2-icon-podcast {
    color: #7c3aed;
    background: #f5f3ff;
}

.my-content-v2-icon-short {
    color: #0891b2;
    background: #ecfeff;
}

.my-content-v2-icon-publicacion {
    color: #2563eb;
    background: #eff6ff;
}

.my-content-v2-title-cell strong,
.my-content-v2-title-cell small {
    display: block;
}

.my-content-v2-title-cell strong {
    max-width: 205px;
    overflow: hidden;
    margin-bottom: 3px;
    color: #0f172a;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.my-content-v2-title-cell small {
    color: #94a3b8;
    font-size: 8px;
}

/* Estado */

.my-content-v2-state {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.my-content-v2-state > span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.my-content-v2-state.estado-publicado {
    color: #166534;
    background: #dcfce7;
}

.my-content-v2-state.estado-borrador {
    color: #92400e;
    background: #fef3c7;
}

.my-content-v2-state.estado-inactivo {
    color: #475569;
    background: #e2e8f0;
}

/* Números */

.my-content-v2-number {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #475569;
    font-weight: 700 !important;
}

.my-content-v2-number svg {
    color: #94a3b8;
}

.my-content-v2-na {
    color: #cbd5e1;
}

.my-content-v2-date {
    display: inline-block;
    color: #64748b;
    white-space: nowrap;
}

/* Acciones */

.my-content-v2-actions {
    min-width: 300px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.my-content-v2-inline-form {
    margin: 0;
}

.my-content-v2-action {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 31px;
    padding: 6px 8px;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-family: inherit;
    font-size: 8px;
    font-weight: 700 !important;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition:
        color 150ms ease,
        border-color 150ms ease,
        background 150ms ease;
}

.my-content-v2-action:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #eff6ff;
}

.my-content-v2-action-publish {
    color: #166534;
}

.my-content-v2-action-publish:hover {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.my-content-v2-action-draft {
    color: #92400e;
}

.my-content-v2-action-draft:hover {
    color: #78350f;
    border-color: #fde68a;
    background: #fffbeb;
}

.my-content-v2-action-delete {
    color: #b91c1c;
}

.my-content-v2-action-delete:hover {
    color: #991b1b;
    border-color: #fecaca;
    background: #fef2f2;
}

/* Vacío */

.my-content-v2-empty {
    padding: 44px 28px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    text-align: center;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.035);
}

.my-content-v2-empty-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    border-radius: 15px;
    background: #eff6ff;
    color: #2563eb;
}

.my-content-v2-empty h3 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: 16px;
}

.my-content-v2-empty p {
    max-width: 440px;
    margin: 0 auto 14px;
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.55;
}

/* Responsive */

@media (max-width: 1180px) {

    .my-content-v2-metrics {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .my-content-v2-filters {
        grid-template-columns: 1fr;
        gap: 12px;
    }

}

@media (max-width: 1050px) {

    .my-content-v2-layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 850px) {

    .my-content-v2-filter-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .my-content-v2-filter-actions {
        grid-column: 1 / -1;
    }

}

@media (max-width: 720px) {

    .my-content-v2-header,
    .my-content-v2-list-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-content-v2-list-summary {
        justify-content: flex-start;
    }

    .my-content-v2-new {
        align-self: stretch;
    }

}

@media (max-width: 620px) {

    .my-content-v2-section {
        padding-top: 25px;
    }

    .my-content-v2-metrics,
    .my-content-v2-filter-form {
        grid-template-columns: 1fr;
    }

    .my-content-v2-filter-actions {
        grid-column: auto;
    }

    .my-content-v2-filter-actions .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — ESTADÍSTICAS V2 / SIDEBAR UNIFICADO
   ========================================================================== */

.estadisticas-layout {
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
}

/*
 * Estadísticas usa ahora el mismo componente lateral que Dashboard,
 * Subir contenido, Mis contenidos y Mi perfil.
 */
.estadisticas-layout > .profile-v2-sidebar {
    align-self: start;
}

/*
 * El sidebar V2 cambia a formato horizontal a 1050 px.
 * Por eso Estadísticas también debe pasar a una sola columna
 * en ese mismo punto de quiebre.
 */
@media (max-width: 1050px) {

    .estadisticas-layout {
        grid-template-columns: 1fr;
    }

}

/*
 * Neutralizar reglas responsive antiguas del sidebar de estadísticas.
 */
@media (max-width: 950px) {

    .estadisticas-layout
    .profile-v2-sidebar {
        position: static;
    }

}
/* ==========================================================================
   PASO 28 — MENÚ ADMINISTRACIÓN V2 UNIFICADO
   ========================================================================== */

.admin-modern-layout {
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
}

.admin-v2-sidebar {
    align-self: start;
}

/*
 * El sidebar administrativo usa exactamente el mismo componente visual
 * de navegación empleado en Dashboard, Mi perfil, Subir contenido,
 * Mis contenidos y Estadísticas.
 */

@media (max-width: 1050px) {

    .admin-modern-layout {
        grid-template-columns: 1fr;
    }

    .admin-v2-sidebar {
        position: static;
    }

}
/* ==========================================================================
   PASO 28 — EDITAR CONTENIDO V2
   ========================================================================== */

.edit-v2-section {
    padding: 36px 0 82px;
}

.edit-v2-layout {
    display: grid;
    grid-template-columns:
        235px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.edit-v2-main {
    min-width: 0;
}

/* Header */

.edit-v2-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.edit-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.edit-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow:
        0 0 0 4px
        rgba(37,99,235,.08);
}

.edit-v2-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.edit-v2-title-row h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(34px, 5vw, 45px);
    line-height: 1.05;
}

.edit-v2-header > div > p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 13px;
}

.edit-v2-type-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700 !important;
}

.edit-v2-type-podcast {
    color: #7c3aed;
    background: #f5f3ff;
}

.edit-v2-type-short {
    color: #0891b2;
    background: #ecfeff;
}

.edit-v2-type-publication {
    color: #2563eb;
    background: #eff6ff;
}

.edit-v2-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #dbe3ee;
    border-radius: 11px;
    background: #ffffff;
    color: #475569;
    font-size: 10px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.edit-v2-back:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
}

.edit-v2-error-list {
    margin: 9px 0 0 18px;
}

/* Layout */

.edit-v2-form {
    display: grid;
    gap: 16px;
}

.edit-v2-content-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 275px;
    gap: 17px;
    align-items: start;
}

.edit-v2-content-main {
    display: grid;
    gap: 16px;
}

.edit-v2-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 5px 18px
        rgba(15,23,42,.035);
}

.edit-v2-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 20px;
    border-bottom: 1px solid #eef2f7;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fcfdff
        );
}

.edit-v2-card-title {
    display: flex;
    align-items: center;
    gap: 11px;
}

.edit-v2-section-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.edit-v2-card-title h2 {
    margin: 0 0 2px;
    color: #0f172a;
    font-size: 16px;
}

.edit-v2-card-title p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
    line-height: 1.45;
}

.edit-v2-optional {
    padding: 5px 8px;
    border-radius: 999px;
    color: #94a3b8;
    background: #f8fafc;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

/* Fields */

.edit-v2-fields {
    display: grid;
    gap: 17px;
    padding: 20px;
}

.edit-v2-fields .form-grupo {
    margin: 0;
}

.edit-v2-fields .form-grupo > label,
.edit-v2-label-row label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 10px;
    font-weight: 700 !important;
}

.edit-v2-fields .form-control {
    min-height: 42px;
    border-color: #d7e0ec;
    border-radius: 11px;
    background: #ffffff;
    font-size: 12px;
}

.edit-v2-fields .form-control:focus {
    border-color: #93c5fd;
    box-shadow:
        0 0 0 3px
        rgba(37,99,235,.08);
}

.edit-v2-description {
    min-height: 112px !important;
    resize: vertical;
    line-height: 1.6;
}

.edit-v2-editor {
    min-height: 310px !important;
    resize: vertical;
    line-height: 1.75;
}

.edit-v2-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.edit-v2-counter {
    margin-bottom: 6px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
}

.edit-v2-help-text {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 8px;
}

/* Media */

.edit-v2-media-grid {
    display: grid;
    grid-template-columns:
        minmax(190px, .65fr)
        minmax(0, 1.35fr);
    gap: 16px;
    padding: 20px;
}

.edit-v2-current-file {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    background: #f8fafc;
}

.edit-v2-current-file-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #ffffff;
    color: #64748b;
}

.edit-v2-current-file small,
.edit-v2-current-file strong {
    display: block;
}

.edit-v2-current-file small {
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: 8px;
}

.edit-v2-current-file strong {
    max-width: 190px;
    overflow: hidden;
    color: #334155;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.edit-v2-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.edit-v2-dropzone {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 84px;
    padding: 14px 15px;
    border: 1px dashed #bfdbfe;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #ffffff
        );
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        transform 160ms ease;
}

.edit-v2-dropzone:hover {
    border-color: #60a5fa;
    background: #f5f9ff;
    transform: translateY(-1px);
}

.edit-v2-dropzone-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
}

.edit-v2-dropzone strong,
.edit-v2-dropzone small {
    display: block;
}

.edit-v2-dropzone strong {
    margin-bottom: 3px;
    color: #1e3a8a;
    font-size: 10px;
}

.edit-v2-dropzone small {
    color: #64748b;
    font-size: 8px;
    line-height: 1.45;
}

.edit-v2-file-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 8px;
}

.edit-v2-file-meta span:first-child {
    max-width: 58%;
    overflow: hidden;
    color: #64748b;
    font-weight: 600 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Thumbnail */

.edit-v2-thumbnail-grid {
    display: grid;
    grid-template-columns:
        minmax(220px, .72fr)
        minmax(0, 1.28fr);
    gap: 18px;
    padding: 20px;
}

.edit-v2-thumbnail-current > span,
.edit-v2-preview > span {
    display: block;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 9px;
    font-weight: 700 !important;
}

.edit-v2-thumbnail-frame {
    height: 165px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}

.edit-v2-thumbnail-frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.edit-v2-thumbnail-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    color: #94a3b8;
}

.edit-v2-thumbnail-placeholder small {
    font-size: 8px;
}

.edit-v2-remove-thumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    padding: 9px 10px;
    border: 1px solid #fee2e2;
    border-radius: 10px;
    background: #fffafa;
    color: #b91c1c;
    font-size: 8px;
    font-weight: 700 !important;
    cursor: pointer;
}

.edit-v2-preview {
    display: none;
    margin-top: 12px;
}

.edit-v2-preview.visible {
    display: block;
}

.edit-v2-preview img {
    width: 100%;
    max-height: 230px;
    display: block;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

/* Status */

.edit-v2-status-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 20px;
}

.edit-v2-status-option {
    --status-accent: #2563eb;
    --status-soft: #eff6ff;

    position: relative;
    display: grid;
    grid-template-columns:
        18px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 13px;
    border: 1px solid #dfe7f1;
    border-radius: 13px;
    background: #ffffff;
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background 160ms ease;
}

.edit-v2-status-published {
    --status-accent: #16a34a;
    --status-soft: #f0fdf4;
}

.edit-v2-status-draft {
    --status-accent: #d97706;
    --status-soft: #fffbeb;
}

.edit-v2-status-inactive {
    --status-accent: #64748b;
    --status-soft: #f1f5f9;
}

.edit-v2-status-option > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.edit-v2-status-dot {
    width: 17px;
    height: 17px;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    background: #ffffff;
}

.edit-v2-status-option
input:checked ~ .edit-v2-status-dot {
    border: 5px solid var(--status-accent);
}

.edit-v2-status-option:has(input:checked) {
    border-color: var(--status-accent);
    background: var(--status-soft);
}

.edit-v2-status-option strong,
.edit-v2-status-option small {
    display: block;
}

.edit-v2-status-option strong {
    margin-bottom: 3px;
    color: #0f172a;
    font-size: 10px;
}

.edit-v2-status-option small {
    color: #64748b;
    font-size: 8px;
    line-height: 1.45;
}

/* Side */

.edit-v2-side {
    position: sticky;
    top: 92px;
    padding: 17px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fafc
        );
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.04);
}

.edit-v2-side-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 11px;
}

.edit-v2-side-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
}

.edit-v2-side-head small {
    display: block;
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.edit-v2-side-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 15px;
}

.edit-v2-side > p {
    margin: 0 0 13px;
    color: #64748b;
    font-size: 9px;
    line-height: 1.55;
}

.edit-v2-side-metrics {
    display: grid;
    gap: 8px;
}

.edit-v2-side-metrics article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 11px;
    border-radius: 10px;
    background: #ffffff;
}

.edit-v2-side-metrics span {
    color: #64748b;
    font-size: 8px;
}

.edit-v2-side-metrics strong {
    color: #0f172a;
    font-size: 13px;
}

.edit-v2-side-metrics
.edit-v2-side-date {
    font-size: 9px;
}

.edit-v2-side-notes {
    display: grid;
    gap: 8px;
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.edit-v2-side-notes > div {
    display: grid;
    grid-template-columns:
        22px minmax(0, 1fr);
    gap: 7px;
    align-items: start;
}

.edit-v2-side-notes > div > span {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: #f0fdf4;
    color: #16a34a;
    font-size: 9px;
    font-weight: 700 !important;
}

.edit-v2-side-notes p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 8px;
    line-height: 1.5;
}

.edit-v2-side-view {
    width: 100%;
    margin-top: 13px;
    min-height: 35px;
    font-size: 9px;
}

/* Actions */

.edit-v2-actions {
    position: sticky;
    bottom: 12px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
    box-shadow:
        0 10px 30px
        rgba(15,23,42,.09);
}

.edit-v2-actions-copy {
    display: flex;
    align-items: center;
    gap: 9px;
}

.edit-v2-actions-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eff6ff;
    color: #2563eb;
}

.edit-v2-actions-copy p {
    margin: 0;
    color: #94a3b8;
    font-size: 9px;
}

.edit-v2-actions-buttons {
    display: flex;
    gap: 8px;
}

.edit-v2-actions-buttons .btn {
    min-height: 38px;
    gap: 6px;
    font-size: 10px;
}

/* Empty */

.edit-v2-empty {
    padding: 45px 28px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    text-align: center;
    box-shadow:
        0 6px 20px
        rgba(15,23,42,.035);
}

.edit-v2-empty-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    border-radius: 15px;
    background: #eff6ff;
    color: #2563eb;
}

.edit-v2-empty h1 {
    margin: 0 0 6px;
    font-size: 22px;
}

.edit-v2-empty p {
    max-width: 430px;
    margin: 0 auto 14px;
    color: #64748b;
    font-size: 10px;
}

/* Responsive */

@media (max-width: 1120px) {

    .edit-v2-content-grid {
        grid-template-columns: 1fr;
    }

    .edit-v2-side {
        position: static;
    }

}

@media (max-width: 1050px) {

    .edit-v2-layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {

    .edit-v2-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .edit-v2-media-grid,
    .edit-v2-thumbnail-grid,
    .edit-v2-status-grid {
        grid-template-columns: 1fr;
    }

    .edit-v2-back {
        align-self: stretch;
    }

}

@media (max-width: 620px) {

    .edit-v2-section {
        padding-top: 25px;
    }

    .edit-v2-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .edit-v2-file-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .edit-v2-file-meta span:first-child {
        max-width: 100%;
    }

    .edit-v2-actions {
        position: static;
        align-items: flex-start;
        flex-direction: column;
    }

    .edit-v2-actions-buttons {
        width: 100%;
    }

    .edit-v2-actions-buttons .btn {
        flex: 1;
    }

}
/* ==========================================================================
   PASO 28 — LOGIN Y REGISTRO V2
   ========================================================================== */

.auth-v2-section {
    padding: 42px 0 82px;
}

.auth-v2-shell {
    max-width: 1040px;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(390px, .88fr);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #dfe7f1;
    border-radius: 24px;
    background: #ffffff;
    box-shadow:
        0 22px 55px
        rgba(15,23,42,.085);
}

.auth-v2-register-shell {
    max-width: 1120px;
    grid-template-columns:
        minmax(330px, .80fr)
        minmax(0, 1.20fr);
}


/* Panel informativo */

.auth-v2-brand {
    position: relative;
    min-height: 610px;
    display: flex;
    flex-direction: column;
    padding: 34px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 15% 17%,
            rgba(255,255,255,.13),
            transparent 12rem
        ),
        radial-gradient(
            circle at 88% 78%,
            rgba(124,58,237,.30),
            transparent 16rem
        ),
        linear-gradient(
            145deg,
            #172554,
            #1d4ed8 58%,
            #4338ca
        );
}

.auth-v2-brand::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border: 1px solid
        rgba(255,255,255,.14);
    border-radius: 50%;
    box-shadow:
        0 0 0 45px
        rgba(255,255,255,.03),
        0 0 0 90px
        rgba(255,255,255,.025);
    pointer-events: none;
}

.auth-v2-brand-register {
    min-height: 690px;
}

.auth-v2-brand-logo {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    color: #ffffff;
}

.auth-v2-brand-logo:hover {
    color: #ffffff;
}

.auth-v2-brand-logo > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid
        rgba(255,255,255,.18);
    border-radius: 12px;
    background:
        rgba(255,255,255,.12);
    box-shadow:
        0 7px 18px
        rgba(15,23,42,.12);
    font-size: 12px;
    font-weight: 700 !important;
}

.auth-v2-brand-logo strong {
    font-size: 14px;
    font-weight: 700 !important;
}

.auth-v2-brand-copy {
    position: relative;
    z-index: 2;
    margin-top: 74px;
}

.auth-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    color: #bfdbfe;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .08em !important;
}

.auth-v2-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #93c5fd;
}

.auth-v2-brand-copy h1 {
    max-width: 520px;
    margin: 0 0 15px;
    color: #ffffff;
    font-size: clamp(34px, 4.5vw, 49px);
    line-height: 1.08;
}

.auth-v2-brand-copy p {
    max-width: 480px;
    margin: 0;
    color: #dbeafe;
    font-size: 12px;
    line-height: 1.7;
}

.auth-v2-benefits,
.auth-v2-register-steps {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
    margin-top: 34px;
}

.auth-v2-benefits > div,
.auth-v2-register-steps > div {
    display: grid;
    grid-template-columns:
        37px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    max-width: 440px;
    padding: 10px;
    border: 1px solid
        rgba(255,255,255,.10);
    border-radius: 12px;
    background:
        rgba(255,255,255,.055);
}

.auth-v2-benefits > div > span,
.auth-v2-register-steps > div > span {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background:
        rgba(255,255,255,.10);
    color: #ffffff;
}

.auth-v2-register-steps > div > span {
    border: 1px solid
        rgba(255,255,255,.12);
    font-size: 10px;
    font-weight: 700 !important;
}

.auth-v2-benefits p,
.auth-v2-register-steps p {
    margin: 0;
}

.auth-v2-benefits strong,
.auth-v2-benefits small,
.auth-v2-register-steps strong,
.auth-v2-register-steps small {
    display: block;
}

.auth-v2-benefits strong,
.auth-v2-register-steps strong {
    margin-bottom: 2px;
    color: #ffffff;
    font-size: 10px;
}

.auth-v2-benefits small,
.auth-v2-register-steps small {
    color: #bfdbfe;
    font-size: 8px;
    line-height: 1.4;
}

.auth-v2-brand-footer {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 28px;
    color: #bfdbfe;
    font-size: 8px;
}

.auth-v2-brand-footer > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #86efac;
}


/* Tarjeta de autenticación */

.auth-v2-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding:
        clamp(32px, 5vw, 52px);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(37,99,235,.045),
            transparent 14rem
        ),
        #ffffff;
}

.auth-v2-register-card {
    justify-content: flex-start;
    padding:
        clamp(30px, 4vw, 45px);
}

.auth-v2-card-header {
    margin-bottom: 23px;
}

.auth-v2-card-icon {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    margin-bottom: 13px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
}

.auth-v2-card-kicker {
    display: block;
    margin-bottom: 4px;
    color: #2563eb;
    font-size: 9px;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em !important;
}

.auth-v2-card-header h2 {
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 28px;
    line-height: 1.1;
}

.auth-v2-card-header p {
    margin: 0;
    color: #64748b;
    font-size: 10px;
    line-height: 1.55;
}

.auth-v2-alerta {
    margin-bottom: 16px;
    font-size: 9px;
}

.auth-v2-error-list {
    margin: 7px 0 0 16px;
}


/* Formulario */

.auth-v2-form {
    display: grid;
    gap: 15px;
}

.auth-v2-fields-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.auth-v2-field {
    min-width: 0;
}

.auth-v2-field > label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 9px;
    font-weight: 700 !important;
}

.auth-v2-input {
    position: relative;
}

.auth-v2-input
.form-control {
    width: 100%;
    min-height: 44px;
    padding-left: 39px;
    padding-right: 12px;
    border-color: #d7e0ec;
    border-radius: 11px;
    background: #ffffff;
    font-size: 11px;
}

.auth-v2-input
.form-control:focus {
    border-color: #93c5fd;
    box-shadow:
        0 0 0 3px
        rgba(37,99,235,.08);
}

.auth-v2-input-icon,
.auth-v2-input-prefix {
    position: absolute;
    left: 13px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.auth-v2-input-prefix {
    font-size: 12px;
    font-weight: 700 !important;
}

.auth-v2-prefix-input {
    padding-left: 34px !important;
}

.auth-v2-password-input {
    padding-right: 43px !important;
}

.auth-v2-password-toggle {
    position: absolute;
    right: 7px;
    top: 50%;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    transition:
        color 150ms ease,
        background 150ms ease;
}

.auth-v2-password-toggle:hover {
    color: #2563eb;
    background: #eff6ff;
}

.auth-v2-field-help {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 8px;
    line-height: 1.4;
}

.auth-v2-field-help.coincide {
    color: #16a34a;
}

.auth-v2-field-help.no-coincide {
    color: #dc2626;
}

.auth-v2-account-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid #dbeafe;
    border-radius: 11px;
    background: #f8fbff;
}

.auth-v2-account-note > span {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
}

.auth-v2-account-note p {
    margin: 1px 0 0;
    color: #64748b;
    font-size: 8px;
    line-height: 1.5;
}

.auth-v2-account-note strong {
    color: #334155;
}

.auth-v2-submit {
    width: 100%;
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 2px;
    font-size: 10px;
}

.auth-v2-form-divider {
    display: grid;
    grid-template-columns:
        1fr auto 1fr;
    gap: 9px;
    align-items: center;
    margin-top: 3px;
}

.auth-v2-form-divider span {
    height: 1px;
    background: #e2e8f0;
}

.auth-v2-form-divider small {
    color: #94a3b8;
    font-size: 8px;
}

.auth-v2-register-link {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #ffffff;
    color: #334155;
    font-size: 9px;
    font-weight: 700 !important;
    transition:
        color 150ms ease,
        border-color 150ms ease,
        background 150ms ease;
}

.auth-v2-register-link:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #f8fbff;
}

.auth-v2-public-link {
    display: block;
    text-align: center;
    color: #64748b;
    font-size: 8px;
    font-weight: 600 !important;
}

.auth-v2-public-link:hover {
    color: #2563eb;
}


/* Responsive */

@media (max-width: 900px) {

    .auth-v2-shell,
    .auth-v2-register-shell {
        max-width: 650px;
        grid-template-columns: 1fr;
    }

    .auth-v2-brand,
    .auth-v2-brand-register {
        min-height: auto;
    }

    .auth-v2-brand-copy {
        margin-top: 40px;
    }

    .auth-v2-brand-copy h1 {
        font-size: 34px;
    }

    .auth-v2-benefits,
    .auth-v2-register-steps {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .auth-v2-benefits > div,
    .auth-v2-register-steps > div {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .auth-v2-brand-footer {
        margin-top: 28px;
    }

}

@media (max-width: 620px) {

    .auth-v2-section {
        padding: 25px 0 55px;
    }

    .auth-v2-shell {
        border-radius: 18px;
    }

    .auth-v2-brand {
        padding: 25px 20px;
    }

    .auth-v2-brand-copy {
        margin-top: 32px;
    }

    .auth-v2-brand-copy h1 {
        font-size: 29px;
    }

    .auth-v2-benefits,
    .auth-v2-register-steps,
    .auth-v2-fields-grid {
        grid-template-columns: 1fr;
    }

    .auth-v2-card,
    .auth-v2-register-card {
        padding: 27px 20px;
    }

}


/* ============================================================
   AUTORIZACIÓN DE USUARIOS PARA PUBLICAR
   ============================================================ */

.dashboard-autorizacion-pendiente {
    margin: 0 0 22px;
    padding: 16px 18px;
    border: 1px solid #fde68a;
    border-radius: 14px;
    background: #fffbeb;
    color: #78350f;
}

.dashboard-autorizacion-pendiente strong {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
}

.dashboard-autorizacion-pendiente p {
    margin: 0;
    color: #92400e;
    font-size: 12px;
    line-height: 1.6;
}

.dashboard-v2-pending-help {
    display: inline-block;
    max-width: 420px;
    padding: 9px 12px;
    border-radius: 10px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
}

.admin-users-pending-counter {
    color: #92400e !important;
    background: #fef3c7 !important;
}

/* ==========================================================================
   IDENTIDAD ÁGORA · ACTUALIZACIÓN HOSTINGER 2026-09-03
   ========================================================================== */

:root{
    --agora-navy:#071426;
    --agora-slate:#647f9e;
    --agora-orange:#f15a24;
    --agora-orange-soft:#fff3ed;
}

/* Footer de marca */
.pm-footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}
.pm-footer-logo{
    width:56px;
    height:56px;
    padding:5px;
    object-fit:cover;
    object-position:center 21%;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:#fff;
}
.pm-footer-brand h3{margin:0 0 4px;font-size:17px}
.pm-footer-brand span{color:#94a3b8;font-size:12px;font-weight:700}

/* -------------------------------------------------------------------------- */
/* SOBRE ÁGORA */
/* -------------------------------------------------------------------------- */

.agora-hero{
    position:relative;
    overflow:hidden;
    padding:64px 0 54px;
    background:
        radial-gradient(circle at 80% 12%,rgba(100,127,158,.18),transparent 25rem),
        radial-gradient(circle at 12% 88%,rgba(241,90,36,.08),transparent 20rem),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.agora-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:48px;
    align-items:center;
}
.agora-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    color:var(--agora-orange);
    font-size:12px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.agora-kicker::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--agora-orange);
}
.agora-hero h1{
    max-width:720px;
    margin-bottom:8px;
    color:var(--agora-navy);
    font-size:clamp(40px,5.8vw,70px);
}
.agora-hero-subtitulo{
    margin-bottom:20px;
    color:var(--agora-slate);
    font-size:clamp(20px,2.6vw,30px);
    font-weight:800;
    letter-spacing:-.025em;
}
.agora-hero-lead{
    max-width:720px;
    margin-bottom:24px;
    color:#475569;
    font-size:17px;
}
.agora-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.agora-logo-card{
    display:grid;
    place-items:center;
    min-height:360px;
    padding:28px;
    border:1px solid #dbe3ee;
    border-radius:28px;
    background:#fff;
    box-shadow:0 24px 60px rgba(7,20,38,.16);
}
.agora-logo-card img{
    width:min(100%,360px);
    max-height:280px;
    object-fit:contain;
    display:block;
}
.agora-seccion{padding:70px 0}
.agora-seccion-suave{
    border-block:1px solid #e7edf4;
    background:linear-gradient(180deg,#f8fafc,#f4f7fb);
}
.agora-bloque-principal{
    display:grid;
    grid-template-columns:70px minmax(0,1fr);
    gap:28px;
    max-width:980px;
}
.agora-numero{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:34px;
    border:1px solid #d8e0e9;
    border-radius:999px;
    background:#fff;
    color:var(--agora-slate);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
}
.agora-bloque-principal h2,
.agora-card-texto h2,
.agora-orbita-card h2,
.agora-cierre h2{
    margin-bottom:16px;
    font-size:clamp(28px,4vw,42px);
}
.agora-bloque-principal p,
.agora-card-texto p,
.agora-orbita-card p,
.agora-texto-amplio p,
.agora-cierre p{
    font-size:16px;
    line-height:1.82;
}
.agora-dos-columnas{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    align-items:stretch;
}
.agora-card-texto,
.agora-orbita-card{
    padding:30px;
    border:1px solid #e2e8f0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 34px rgba(15,23,42,.055);
}
.agora-card-texto .agora-numero,
.agora-orbita-card .agora-numero{margin-bottom:22px}
.agora-transformacion{
    display:grid;
    place-items:center;
    align-content:center;
    min-height:100%;
    padding:32px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 10%,rgba(100,127,158,.38),transparent 16rem),
        linear-gradient(145deg,#071426,#102842);
    box-shadow:0 18px 48px rgba(7,20,38,.16);
}
.agora-transformacion-card{
    width:min(100%,460px);
    padding:20px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.075);
}
.agora-transformacion-card small,
.agora-transformacion-card strong{display:block}
.agora-transformacion-card small{margin-bottom:6px;color:#aec0d3;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.agora-transformacion-card strong{color:#fff;font-size:18px;line-height:1.45}
.agora-transformacion-flecha{padding:14px;color:var(--agora-orange);font-size:28px;font-weight:900}
.agora-transformacion-digital{border-color:rgba(241,90,36,.34);background:rgba(241,90,36,.08)}
.agora-formatos-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:34px;
}
.agora-formatos-grid article{
    padding:22px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.agora-formatos-grid article > span{display:block;margin-bottom:12px;font-size:28px}
.agora-formatos-grid strong,
.agora-formatos-grid small{display:block}
.agora-formatos-grid strong{margin-bottom:6px;color:var(--agora-navy);font-size:15px}
.agora-formatos-grid small{color:#64748b;font-size:12px;line-height:1.55}
.agora-texto-amplio{max-width:980px;margin-top:30px}
.agora-orbita-card{overflow:hidden}
.agora-orbita{
    position:relative;
    min-height:270px;
    margin-top:24px;
    border:1px dashed #cbd5e1;
    border-radius:50%;
    background:radial-gradient(circle,rgba(100,127,158,.12),transparent 56%);
}
.agora-orbita-centro{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    width:118px;
    height:118px;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(145deg,var(--agora-navy),#173854);
    box-shadow:0 14px 34px rgba(7,20,38,.2);
    font-size:13px;
    font-weight:850;
}
.agora-orbita > span{
    position:absolute;
    padding:7px 10px;
    border:1px solid #dce4ed;
    border-radius:999px;
    background:#fff;
    color:#475569;
    font-size:10px;
    font-weight:800;
    box-shadow:0 7px 18px rgba(15,23,42,.06);
}
.agora-orbita > span:nth-of-type(1){left:8%;top:14%}
.agora-orbita > span:nth-of-type(2){right:8%;top:18%}
.agora-orbita > span:nth-of-type(3){left:9%;bottom:15%}
.agora-orbita > span:nth-of-type(4){right:10%;bottom:13%}
.agora-cierre{
    max-width:1000px;
    margin:auto;
    padding:38px;
    border:1px solid #dce5ef;
    border-radius:28px;
    background:
        radial-gradient(circle at 92% 14%,rgba(241,90,36,.08),transparent 17rem),
        #fff;
    box-shadow:0 18px 48px rgba(15,23,42,.065);
}
.agora-cierre-frase{
    margin-top:24px;
    padding:18px 20px;
    border-left:4px solid var(--agora-orange);
    border-radius:0 14px 14px 0;
    background:var(--agora-orange-soft);
    color:var(--agora-navy);
    font-size:15px;
    font-weight:800;
    line-height:1.6;
}

/* Ajuste de anclas con header sticky: evita que el título quede oculto. */
#conoce-programa,
.podcast-programa{
    scroll-margin-top:112px;
}

/* -------------------------------------------------------------------------- */
/* SONIDOS INFINITOS */
/* -------------------------------------------------------------------------- */

.podcast-programa-hero-grid{
    background:
        radial-gradient(circle at 82% 16%,rgba(241,90,36,.10),transparent 19rem),
        radial-gradient(circle at 16% 82%,rgba(100,127,158,.09),transparent 18rem),
        linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,250,252,.92));
}
.podcast-programa-subtitulo{
    margin:-2px 0 15px !important;
    color:var(--agora-orange) !important;
    font-size:20px !important;
    font-weight:850;
    letter-spacing:-.02em;
}
.podcast-marca-card{
    position:relative;
    overflow:hidden;
    padding:20px;
    border:1px solid #e2e8f0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 20px 48px rgba(15,23,42,.11);
    min-height:360px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.podcast-marca-logo{
    width:min(100%,360px);
    max-height:280px;
    margin-inline:auto;
    object-fit:contain;
    display:block;
    border-radius:16px;
    background:#fff;
}
.podcast-marca-etiqueta{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding:13px 15px;
    border:1px solid #e7edf4;
    border-radius:15px;
    background:#f8fafc;
}

/* -------------------------------------------------------------------------- */
/* COMITÉ EDITORIAL */
/* -------------------------------------------------------------------------- */

.comite-hero{
    padding:62px 0 42px;
    background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%);
    border-bottom:1px solid #e7edf4;
}
.comite-hero-contenido{max-width:820px}
.comite-hero h1{
    margin:4px 0 16px;
    color:var(--agora-navy);
    font-size:clamp(38px,5vw,62px);
}
.comite-hero p{max-width:760px;color:#475569;font-size:17px;line-height:1.75}
.comite-seccion{padding:64px 0 78px}
.comite-grupo + .comite-grupo{margin-top:72px}
.comite-encabezado-seccion{max-width:760px;margin-bottom:28px}
.comite-encabezado-seccion h2{
    margin:0 0 9px;
    color:var(--agora-navy);
    font-size:clamp(28px,3.5vw,40px);
}
.comite-encabezado-seccion p{margin:0;color:#64748b;line-height:1.7}
.comite-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.comite-grid-integrantes{grid-template-columns:repeat(4,minmax(0,1fr))}
.comite-card{
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid #dfe7f0;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 38px rgba(15,23,42,.08);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.comite-card:hover{
    transform:translateY(-4px);
    border-color:#cbd7e5;
    box-shadow:0 20px 48px rgba(15,23,42,.11);
}
.comite-card-destacada{border-top:4px solid var(--agora-orange)}
.comite-foto{
    aspect-ratio:4/3;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(145deg,#eef3f8,#f8fafc);
}
.comite-foto img{width:100%;height:100%;object-fit:cover;display:block}
.comite-foto-pendiente img{object-fit:contain;padding:28px;opacity:.72}
.comite-card-contenido{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:22px;
}
.comite-cargo{
    display:inline-block;
    margin-bottom:10px;
    color:var(--agora-orange);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.comite-card h2{margin:0 0 11px;color:var(--agora-navy);font-size:20px;line-height:1.3}
.comite-card p{margin:0;color:#64748b;font-size:14px;line-height:1.7}
.comite-resumen{margin-bottom:18px!important}
.comite-semblanza{
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid #e7edf4;
}
.comite-semblanza summary{
    color:#3157d5;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    list-style:none;
}
.comite-semblanza summary::-webkit-details-marker{display:none}
.comite-semblanza summary::after{content:" +";color:var(--agora-orange)}
.comite-semblanza[open] summary::after{content:" −"}
.comite-semblanza p{margin-top:13px}
.comite-pendiente{
    margin-top:auto;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

.short-url-preview{
    margin-top:10px;
    padding:11px 13px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#f8fafc;
    color:#64748b;
    font-size:13px;
}
.short-url-preview.valido{
    border-color:#86efac;
    background:#f0fdf4;
    color:#166534;
}
.shorts-video-externo,
.detalle-short-externo{
    position:relative;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#071426,#173854);
}
.shorts-video-externo img,
.detalle-short-externo img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.72;
}
.shorts-video-externo iframe,
.detalle-short-externo iframe{
    width:100%;
    height:100%;
    border:0;
}
.shorts-external-play{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:12px 17px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:999px;
    background:rgba(7,20,38,.88);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.shorts-external-play:hover{background:#f15a24}
@media (max-width:1100px){.comite-grid-integrantes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.comite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
    .comite-hero{padding:42px 0 30px}
    .comite-seccion{padding:42px 0 58px}
    .comite-grid{grid-template-columns:1fr}
    .comite-grupo + .comite-grupo{margin-top:54px}
}
.podcast-marca-etiqueta > span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--agora-orange-soft);
    font-size:18px;
}
.podcast-marca-etiqueta small,
.podcast-marca-etiqueta strong{display:block}
.podcast-marca-etiqueta small{margin-bottom:2px;color:#94a3b8;font-size:10px}
.podcast-marca-etiqueta strong{color:var(--agora-navy);font-size:13px}
.podcast-programa{
    padding:28px 0 62px;
}
.podcast-programa-cabecera{
    max-width:800px;
    margin-bottom:24px;
}
.podcast-programa-cabecera h2{
    margin:6px 0 8px;
    font-size:clamp(26px,4vw,38px);
}
.podcast-programa-cabecera p{margin:0;color:#64748b}
.podcast-programa-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.podcast-programa-card,
.podcast-objetivo-card,
.podcast-locutores-card{
    padding:24px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fff;
    box-shadow:0 9px 26px rgba(15,23,42,.05);
}
.podcast-programa-card-principal{grid-column:span 1}
.podcast-programa-numero{
    display:inline-flex;
    margin-bottom:16px;
    padding:6px 9px;
    border-radius:999px;
    background:#f1f5f9;
    color:var(--agora-slate);
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.podcast-programa-card h3,
.podcast-objetivo-card h3,
.podcast-locutores-card h3{
    margin-bottom:12px;
    font-size:20px;
}
.podcast-programa-card p,
.podcast-objetivo-card p{
    margin-bottom:12px;
    color:#64748b;
    font-size:13px;
    line-height:1.72;
}
.podcast-programa-card p:last-child,
.podcast-objetivo-card p:last-child{margin-bottom:0}
.podcast-programa-destacados{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:18px;
    margin-top:18px;
}
.podcast-objetivo-card{
    border-color:#dbe4ee;
    background:
        radial-gradient(circle at 90% 12%,rgba(241,90,36,.08),transparent 14rem),
        #fff;
}
.podcast-locutores-card{
    color:#fff;
    border-color:transparent;
    background:linear-gradient(145deg,var(--agora-navy),#173854);
    box-shadow:0 18px 42px rgba(7,20,38,.16);
}
.podcast-locutores-card h3{color:#fff}
.podcast-locutores-card .podcast-seccion-kicker{color:#ff9a73}
.podcast-locutor{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
}
.podcast-locutor:last-child{border-bottom:0}
.podcast-locutor > span{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:11px;
    font-weight:900;
}
.podcast-locutor strong,
.podcast-locutor small{display:block}
.podcast-locutor strong{color:#fff;font-size:12px;line-height:1.4}
.podcast-locutor small{margin-top:2px;color:#aec0d3;font-size:10px}

@media (max-width:1060px){
    .agora-hero-grid{grid-template-columns:1fr}
    .agora-logo-card{min-height:0;max-width:720px}
    .podcast-programa-grid{grid-template-columns:1fr 1fr}
    .podcast-programa-card-principal{grid-column:1/-1}
}

@media (max-width:820px){
    .agora-dos-columnas{grid-template-columns:1fr}
    .agora-formatos-grid{grid-template-columns:1fr 1fr}
    .podcast-programa-grid{grid-template-columns:1fr}
    .podcast-programa-card-principal{grid-column:auto}
    .podcast-programa-destacados{grid-template-columns:1fr}
}

@media (max-width:600px){
    .agora-hero{padding:42px 0 34px}
    .agora-seccion{padding:48px 0}
    .agora-bloque-principal{grid-template-columns:1fr;gap:12px}
    .agora-formatos-grid{grid-template-columns:1fr}
    .agora-card-texto,.agora-orbita-card,.agora-cierre{padding:22px}
    .agora-logo-card{padding:16px;border-radius:20px}
    .agora-orbita{min-height:245px}
    .agora-orbita-centro{width:96px;height:96px;font-size:11px}
    .podcast-marca-card{padding:13px}
    .podcast-programa{padding-top:16px}
}
